Computer-Aided Reasoning: ACL2 Case Studies illustrates how the computer-aided reasoning system ACL2 can be used in productive and innovative ways to design, build, and maintain hardware and software... More > systems. Included here are technical papers written by twenty-one contributors that report on self-contained and fully reproducible case studies, some of which are sanitized industrial projects. The papers deal with a wide variety of areas, including floating-point arithmetic, microprocessor simulation, model checking, symbolic trajectory evaluation, compilation, proof checking, real analysis, and several others. The case studies also contain exercises whose solutions are on the Web. In addition, the complete proof scripts necessary to formalize the models and prove all the properties discussed are on the Web.< Less
Computer-Aided Reasoning: An Approach is a textbook introduction to computer-aided reasoning. It can be used in graduate and undergraduate courses on software engineering or formal methods. It is... More > also suitable in conjunction with other books in courses on hardware design, discrete mathematics, and theory. It is also appropriate as a reference for business and industry. In this book we present:
* A practical functional programming language closely related to Common Lisp;
* A formal logic in which defined functions correspond to axioms;
* The computer-aided reasoning system ACL2, which includes mechanical support for the proof process.
ACL2 is part of the Boyer-Moore family of theorem provers, for which its authors have received the 2005 ACM Software System Award. ACL2 has been successfully applied to projects of commercial interest, including hardware and software verification. Approximately 140 exercises are distributed throughout the book.< Less