Verified AIG Algorithms in ACL2
Jared Davis (Centaur Technology), Sol Swords (Centaur Technology)

TL;DR
This paper introduces verified AIG representations within ACL2, enabling formal reasoning about AIG algorithms and integrating SAT solvers for improved hardware verification in a theorem prover.
Contribution
It develops two verified AIG representations in ACL2, along with conversion and reasoning tools, bridging AIG algorithms with formal verification and SAT solving.
Findings
Verified AIG representations in ACL2 implemented.
Conversion and reasoning strategies for AIG algorithms developed.
Practical integration of SAT solvers for ACL2 theorem proving.
Abstract
And-Inverter Graphs (AIGs) are a popular way to represent Boolean functions (like circuits). AIG simplification algorithms can dramatically reduce an AIG, and play an important role in modern hardware verification tools like equivalence checkers. In practice, these tricky algorithms are implemented with optimized C or C++ routines with no guarantee of correctness. Meanwhile, many interactive theorem provers can now employ SAT or SMT solvers to automatically solve finite goals, but no theorem prover makes use of these advanced, AIG-based approaches. We have developed two ways to represent AIGs within the ACL2 theorem prover. One representation, Hons-AIGs, is especially convenient to use and reason about. The other, Aignet, is the opposite; it is styled after modern AIG packages and allows for efficient algorithms. We have implemented functions for converting between these…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Logic, programming, and type systems · Software Testing and Debugging Techniques
