Proof Search Debugging Tools in ACL 2

Any mechanized theorem prover with interesting automatic search features should provide the user some feedback on the search process so that failed proof attempts can be debugged. Proof search automation is a central theme of the ACL2 system: once the prover is started the user can do nothing to guide it. The prover’s behavior is determined largely by previously proved theorems in its data base and user advice supplied with the goal conjecture. This design allows ACL2 to be configured to prove a class of problems in a given domain “automatically,” which supports the industrial “replay” of big proofs about slightly modified designs. But it means that proofs often fail and the user is left wondering why. ACL2 provides a wide variety of search debugging tools to allow the user to answer the questions “what is happening?” and “what went wrong?” We discuss those tools.

[1]  Hanbing Liu,et al.  Java Program Verification via a JVM Deep Embedding in ACL2 , 2004, TPHOLs.

[2]  Panagiotis Manolios,et al.  ACL2s: "The ACL2 Sedan" , 2007, ICSE Companion.

[3]  Panagiotis Manolios,et al.  Computer-aided reasoning : ACL2 case studies , 2000 .

[4]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[5]  Bishop Brock,et al.  Rewriting with Equivalence Relations in ACL2 , 2008, Journal of Automated Reasoning.