ACL2
ACL2 is an interactive theorem prover that pairs a Lisp-based language for formal models with a reasoning engine to prove properties of those models.
What ACL2 is
ACL2 is an interactive theorem prover that pairs a Lisp-based language for formal models with a reasoning engine to prove properties of those models. It has been used to formally verify systems in academic and industrial settings. Its open-source Community Books provide lemma libraries, macros, interfaces, proof automation, debugging tools, and hardware-verification libraries. Documentation is available online, as local manuals, through an Emacs browser, and at the terminal using the :doc command. Installation instructions cover Linux, macOS, FreeBSD, and Windows. ACL2 requires a Common Lisp implementation; some Community Books are guaranteed to work only with CCL or SBCL, while books based on satlink and gl require a SAT solver, typically Glucose. The manual identifies version 8.7 as the current release and notes it lacks fixes and improvements made since March 2026. GitHub development snapshots are minimally tested, and prebuilt binaries are generally unavailable. Building all Community Books can take hours and is usually unnecessary. ACL2 is free and self-hosted.
Good
- Free and self-hosted.
- Community Books include proof and debugging tools.
- Documentation is available in several formats.
- Supports Linux, macOS, FreeBSD, and Windows.
Watch out
- Requires a Common Lisp implementation.
- Some Community Books require CCL or SBCL.
- Some books require a SAT solver.
- Development snapshots are minimally tested.
Who it suits
It suits people working with formal models and deductive theorem proving, including in academic or industrial verification. Users should be prepared to install a Common Lisp implementation and consult the documentation for library requirements.
Verdict
ACL2 provides a theorem-proving environment with extensive open-source libraries and documentation. Its Lisp prerequisite and the differing requirements of some Community Books are worth checking before installation.
The facts
Each one read from ACL2's own pages, with the date it was checked.
What it does
- Build time
- The documentation says building all Community Books can take hours and is usually unnecessary.checked 30 Sep 2026
- Community
- The ACL2 community page describes its user community as active and welcoming to new users, with GitHub Issues available for reporting problems.checked 30 Sep 2026
- Community Books
- The Community Books include lemma libraries, macros, interfacing tools, proof automation and debugging tools, and specialty libraries such as hardware-verification libraries.checked 30 Sep 2026
- Community libraries
- The ACL2 Community Books are open-source libraries that include lemma libraries, macros, interfacing tools, proof-automation and debugging tools, and hardware-verification libraries.checked 29 Sep 2026
- Community support
- The acl2, acl2-help, and acl2-books mailing lists serve general discussion, user help, and discussion of developments in ACL2 and its Community Books.checked 29 Sep 2026
- Development snapshot
- The page says development snapshots from GitHub are minimally tested and pre-built binary distributions are generally unavailable.checked 30 Sep 2026
- Development version
- The installation instructions describe GitHub development snapshots as minimally tested and say prebuilt binaries are generally unavailable for them.checked 29 Sep 2026
- Documentation
- Documentation is available online, as downloadable local manuals, through an Emacs browser, and at the ACL2 terminal with the :doc command.checked 29 Sep 2026
- External dependency
- Some Community Books based on satlink and gl require an installed SAT solver, typically Glucose.checked 30 Sep 2026
- Installation
- Unix-like installation instructions cover Linux, macOS with Intel or ARM processors, and FreeBSD; Windows has separate installation instructions.checked 29 Sep 2026
- Integrations
- The Community Books include interfacing tools for file I/O, operating-system access, raw Common Lisp libraries, and connections to other programs.checked 29 Sep 2026
- Lisp dependency
- Installing ACL2 requires a Common Lisp implementation, and some Community Books are guaranteed to work only with CCL or SBCL.checked 30 Sep 2026
- Open source libraries
- ACL2 installations include the open-source ACL2 Community Books libraries.checked 30 Sep 2026
- Operating systems
- The Unix-like installation instructions cover Linux, macOS, and FreeBSD; separate instructions are available for Windows.checked 30 Sep 2026
- Prerequisite
- Installation instructions say users need a Common Lisp implementation, and note that some Community Books depend on Quicklisp and are only guaranteed to work with CCL or SBCL.checked 29 Sep 2026
- Provenance
- The manual identifies ACL2 version 8.7 as copyright 2026 Regents of the University of Texas and authored by Matt Kaufmann and J Strother Moore.checked 29 Sep 2026
- Purpose
- ACL2 combines a Lisp-based programming language for formal models with a reasoning engine that can prove properties about those models.checked 30 Sep 2026
- Release
- The installation page identifies version 8.7 as the latest stable release and says it does not include improvements or fixes made since March 2026.checked 30 Sep 2026
- Support
- ACL2 users can get help through the acl2-help mailing list, which the site recommends to new users.checked 30 Sep 2026
- Use cases
- The manual says ACL2 has been used to formally verify systems in academia and industry.checked 29 Sep 2026


