Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
Kaufmann, M., Manolios, P., Moore, J.S.: Computer Aided Reasoning: An Approach. Kluwer Academic Publishers, Dordrecht (2000)
Nelson, G., Oppen, D.C.: Fast Decision Procedures Based on Congruence Closure. Journal of the ACM 27(2), 356–364 (1980)
Tseitin, G.: On the complexity of derivation in propositional calculus. Seminars in Mathematics 8 (1968)
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)
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)
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)
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)
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)
Berezin, S.: Model Checking and Theorem Proving: A Unified Framework. PhD thesis, Carnegie Mellon University (2002)
Moore, J.: Introduction to the OBDD Algorithm for the ATP Community. Journal of Automated Reasoning 12(1), 33–45 (1994)
Manolios, P.: Mechanical Verification of Reactive Systems. PhD thesis, The University of Texas at Austin (2001)
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)
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)
The SAT-extended ACL2 Theorem Prover (2006), www.cs.utexas.edu/users/reeber/sat-extended-acl2.html
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Reeber, E., Hunt, W.A. (2006). A SAT-Based Decision Procedure for the Subclass of Unrollable List Formulas in ACL2 (SULFA). In: Furbach, U., Shankar, N. (eds) Automated Reasoning. IJCAR 2006. Lecture Notes in Computer Science(), vol 4130. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11814771_38
Download citation
DOI: https://doi.org/10.1007/11814771_38
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37187-8
Online ISBN: 978-3-540-37188-5
eBook Packages: Computer ScienceComputer Science (R0)