• Top
    • Documentation
      • Xdoc
      • ACL2-doc
      • Recursion-and-induction
      • Loop$-primer
      • Operational-semantics
      • Pointers
      • Doc
      • Documentation-copyright
      • Course-materials
      • Publications
        • Pub-books
          • Pub-papers
          • Pub-summary
          • Pub-related-web-sites
        • Args
        • ACL2-doc-summary
        • Finding-documentation
        • Broken-link
        • Doc-terminal-test-2
        • Doc-terminal-test-1
      • Books
      • Boolean-reasoning
      • Projects
      • Debugging
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Publications

    Pub-books

    Books Published

    Books about ACL2 and Its Applications

    • How to use ACL2:
      Computer-Aided Reasoning: An Approach, Matt Kaufmann, Panagiotis Manolios, and J Strother Moore, Kluwer Academic Publishers, June, 2000. (ISBN 0-7923-7744-3)
    • What can be done with ACL2:
      Computer-Aided Reasoning: ACL2 Case Studies, Matt Kaufmann, Panagiotis Manolios, and J Strother Moore (eds.), Kluwer Academic Publishers, June, 2000. (ISBN 0-7923-7849-0)

    Using the techniques described in these two books, users of the ACL2 system have modeled and proved properties of hardware designs, microprocessors, microcode programs, and software. In addition, many theorems in mathematics and meta-mathematics have been proved with ACL2.

    Details:

    • Computer-Aided Reasoning: An Approach: description, excerpts, errata, solutions to exercises.
    • Computer-Aided Reasoning: ACL2 Case Studies: description, list of contributors, excerpts, errata, full scripts for case studies, solutions to exercises.
    • ACL2 Home Page: tours of the system, documentation, technical papers, source code, installation guide, mailing lists.
    • Ordering Information
    • 1999 ACL2 Wizard's Workshop: this was the meeting that produced the two books above; it was the first in a planned series of workshops for the ACL2 community.

    Book about logic in computing using ACL2

    Essential Logic for Computer Science, Rex Page and Ruben Gamboa. ISBN 978-0262039185. MIT Press, 2019.

    This book is an introduction to the use of predicate logic and ACL2 for testing and verifying software and digital circuits. It has been used as a textbook in an honors introductory course in computing, and with supplementary materials in a course in discrete mathematics.

    Book about a predecessor of ACL2

    A Computational Logic, R. S. Boyer and J S. Moore. Academic Press, New York, 1979. xiv+397. The original Pub source for the book is here. The translation to TeX and pdf was kindly done by Gary Klimowicz. The above book is out of print. The copyright has reverted to the authors.

    Boyer and Moore hereby place it in the public domain.

    Book about customized reasoning tools

    Scalable Techniques for Formal Verification, Sandip Ray. ISBN 978-4419-5997-3. Springer, 2010.

    This book explains how to develop customized reasoning tools on top of ACL2. The customized reasoning tools extend ACL2 by significantly automating formal proofs on their target domains, but without requiring any modification to the theorem prover source code.

    Book about high-assurance microprocessors

    Design and Verification of Microprocessor Systems for High-Assurance Applications, David S. Hardin, ed. Springer, 2010. Quoting from the abstract:

    This book examines several leading-edge design and verification technologies that have been successfully applied to microprocessor systems for high-assurance applications at various levels -- from arithmetic circuits to microcode to instruction sets to operating systems to applications. We focus on recent hardware, software, and system designs that have actually been built and deployed, and feature systems that have been certified at high Evaluation Assurance Levels, namely the Rockwell Collins AAMP7G microprocessor (EAL7) and the Green Hills INTEGRITY-178B separation kernel (EAL6+). The contributing authors to this book have endeavored to bring forth truly new material on significant, modern design and verification efforts; many of the results described herein were obtained only within the past year.

    Several chapters in this book describe ACL2 proof developments.

    • ACL2 and Its Applications to Digital System Verification, Kaufmann and Moore, pp 1-22
    • A Mechanically Verified Commercial SRT Divider, David M. Russinoff, pp 23-64
    • Use of Formal Verification at Centaur Technology, Warren A. Hunt, Jr., Sol Swords, Jared Davis, and Anna Slobodova, pp 65-88
    • Formal Verification of Partition Management for the AAMP7G Microprocessor, Matthew M. Wilding, David A. Greve, Raymond J. Richards, and David S. Hardin, pp 175-192
    • Modeling and Security Analysis of a Commercial Real-Time Operating System Kernel, Raymond J. Richards, pp 301-322

    Book about formal floating-point hardware verification

    Formal Verification of Floating-Point Hardware Design: A Mathematical Approach, David M. Russinoff. Springer, 2019. In the author's words:

    This is the first book to focus on the problem of ensuring the correctness of floating-point hardware designs through mathematical methods. It advances a verification methodology based on a unified theory of register-transfer logic and floating-point arithmetic that has been developed and applied to the formal verification of commercial floating-point units over the course of more than two decades, during which the author was employed by several major microprocessor design companies. The entire theory and all applications reported have been formalized and mechanically verified with ACL2.