A SAT-Based Decision Procedure for the Subclass of Unrollable List Formulas in ACL2 (SULFA)

  • Erik Reeber
  • Warren A. HuntJr.
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4130)


We define the Subclass of Unrollable List Formulas in ACL2 (SULFA). SULFA is a subclass of ACL2 formulas based on list structures that is sufficiently expressive to include invariants of finite state machines (FSMs). We have extended the ACL2 theorem prover to include a new proof mechanism, which can recognize SULFA formulas and automatically verify them with a SAT-based decision procedure. When this decision procedure is successful, a theorem is added to the ACL2 system database as a lemma for use in future proof attempts. When unsuccessful, a counter-example to the SULFA property is presented.

We are using SULFA and its SAT-based decision procedure as part of a larger system to verify components of the TRIPS processor. Our verification system translates Verilog designs automatically into ACL2 models. These models are written such that their invariants are SULFA properties, which can be verified by our SAT-based decision procedure, traditional theorem proving, or a mixture of the two.


Model Check Decision Procedure Conjunctive Normal Form Recursive Call Liveness Property 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Russinoff, D.: A Mechanically Checked Proof of IEEE Compliance of a Register-Transfer-Level Specification of the AMD K7 Floating Point Multiplication, Division and Square Root Instructions. London Mathematical Society Journal of Computation and Mathematics 1, 148–200 (1998)MATHMathSciNetGoogle Scholar
  2. 2.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: Proceedings of the 38th Design Automation Conference (DAC 2001), pp. 530–535. ACM, New York (2001)CrossRefGoogle Scholar
  3. 3.
    Kaufmann, M., Manolios, P., Moore, J.S.: Computer Aided Reasoning: An Approach. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
  4. 4.
    Nelson, G., Oppen, D.C.: Fast Decision Procedures Based on Congruence Closure. Journal of the ACM 27(2), 356–364 (1980)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Tseitin, G.: On the complexity of derivation in propositional calculus. Seminars in Mathematics 8 (1968)Google Scholar
  6. 6.
    Sankaralingam, K., Nagarajan, R., Liu, H., Kim, C., Huh, J., Burger, D., Keckler, S., Moore, C.: exploiting ilp, tlp, and dlp with the polymorphous trips architecture. In: International Symposium on Computer Architecture, pp. 422–433 (2003)Google Scholar
  7. 7.
    Sethumadhavan, S., Desikan, R., Burger, D., Moore, C.R., Keckler, S.W.: Scalable Hardware Memory Disambiguation for High ILP Processors. In: Proceedings of the 36th Annual International Symposium on Microarchitecture (MICRO 36), pp. 399–410. ACM/IEEE (2003)Google Scholar
  8. 8.
    Hunt, J.W.A., Reeber, E.: Formalization of the DE2 Language. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 20–34. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Owre, S., Rajan, S., Rushby, J.M., Shankar, N., Srivas, M.K.: PVS: Combining Specification, Proof Checking, and Model Checking. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 411–414. Springer, Heidelberg (1996)Google Scholar
  10. 10.
    Jones, R.B., O’Leary, J.W., Seger, C.J.H., Aagaard, M., Melham, T.F.: Practical Formal Verification in Microprocessor Design. IEEE Design & Test of Computers 18(4), 16–25 (2001)CrossRefGoogle Scholar
  11. 11.
    Berezin, S.: Model Checking and Theorem Proving: A Unified Framework. PhD thesis, Carnegie Mellon University (2002)Google Scholar
  12. 12.
    Moore, J.: Introduction to the OBDD Algorithm for the ATP Community. Journal of Automated Reasoning 12(1), 33–45 (1994)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Manolios, P.: Mechanical Verification of Reactive Systems. PhD thesis, The University of Texas at Austin (2001)Google Scholar
  14. 14.
    Manolios, P., Srinivasan, S.K.: Automatic Verification of Safety and Liveness for XScale-Like Processor Models Using WEB Refinements. In: DATE, pp. 168–175 (2004)Google Scholar
  15. 15.
    Lahiri, S.K., Bryant, R.E.: Deductive Verification of Advanced Out-of-Order Microprocessors. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 341–353. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    The SAT-extended ACL2 Theorem Prover (2006), www.cs.utexas.edu/users/reeber/sat-extended-acl2.html

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Erik Reeber
    • 1
  • Warren A. HuntJr.
    • 1
  1. 1.Department of Computer SciencesThe University of TexasAustinUSA

Personalised recommendations