|
ABSTRACT
Program analysis and verification require decision procedures to reason on theories of data structures. Many problems can be reduced to the satisfiability of sets of ground literals in theory T. If a sound and complete inference system for first-order logic is guaranteed to terminate on T-satisfiability problems, any theorem-proving strategy with that system and a fair search plan is a T-satisfiability procedure. We prove termination of a rewrite-based first-order engine on the theories of records, integer offsets, integer offsets modulo and lists. We give a modularity theorem stating sufficient conditions for termination on a combination of theories, given termination on each. The above theories, as well as others, satisfy these conditions. We introduce several sets of benchmarks on these theories and their combinations, including both parametric synthetic benchmarks to test scalability, and real-world problems to test performances on huge sets of literals. We compare the rewrite-based theorem prover E with the validity checkers CVC and CVC Lite. Contrary to the folklore that a general-purpose prover cannot compete with reasoners with built-in theories, the experiments are overall favorable to the theorem prover, showing that not only the rewriting approach is elegant and conceptually simple, but has important practical implications.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Arkoudas, K., Zee, K., Kuncak, V., and Rinard, M. 2004. Verifying a file system implementation. In Proceedings of the 6th International Conference on Formal Engineering Methods. J. Davies, W. Schulte, and M. Barnett, Eds. Lecture Notes in Computer Science, vol. 3308. Springer-Verlag, Berlin, Germany, 373--390.
|
| |
2
|
Armando, A., Bonacina, M. P., Ranise, S., Rusinowitch, M., and Sehgal, A. K. 2002. High-performance deduction for verification: A case study in the theory of arrays. In Notes 2nd VERIFY Workshop, FLoC. Tech. rep. 07/2002 DIKU, University of Copenhagen, Copenhagen, Denmark, 103--112.
|
| |
3
|
Armando, A., Bonacina, M. P., Ranise, S., and Schulz, S. 2005a. Big proof engines as little proof engines: New results on rewrite-based satisfiability procedures. In Notes 3rd PDPAR Workshop, CAV-17. 33--41.
|
| |
4
|
Armando, A., Bonacina, M. P., Ranise, S., and Schulz, S. 2005b. On a rewriting approach to satisfiability procedures: extension, combination of theories and an experimental appraisal. In Proceedings of the 5th International Workshop on Frontiers of Combining Systems. B. Gramlich, Ed. Lecture Notes in Artificial Intelligence, vol. 3717. Springer-Verlag, Berlin, Germany, 65--80.
|
| |
5
|
|
| |
6
|
Baader, F. and Ghilardi, S. 2005. Connecting many-sorted structures and theories through adjoint functions. In Proceedings of the 5th International Workshop on Frontiers of Combining Systems. B. Gramlich, Ed. Lecture Notes in Artificial Intelligence, vol. 3717. Springer-Verlag, Berlin, Germany, 31--47.
|
| |
7
|
|
| |
8
|
Barrett, C. W. and Berezin, S. 2004. CVC lite: A new implementation of the cooperating validity checker. In Proceedings of the 16th International Conference on Computer-Aided Verification. R. Alur and D. A. Peled, Eds. Lecture Notes in Computer Science, vol. 3114. Springer-Verlag, Berlin, Germany, 515--518.
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
Bonacina, M. P. 1999. A taxonomy of theorem-proving strategies. In Artificial Intelligence Today—Recent Trends and Developments, M. J. Wooldridge and M. Veloso, Eds. Lecture Notes in Artificial Intelligence, vol. 1600. Springer-Verlag, Berlin, Germany, 43--84.
|
 |
13
|
|
| |
14
|
|
| |
15
|
|
| |
16
|
Bonacina, M. P., Ghilardi, S., Nicolini, E., Ranise, S., and Zucchelli, D. 2006. Decidability and undecidability results for Nelson-Oppen and rewrite-based decision procedures. In Proceedings of the IJCAR-3, U. Furbach and N. Shankar, Eds. Lecture Notes in Artificial Intelligence, vol. 4130. Springer-Verlag, Berlin, Germany, 513--527.
|
| |
17
|
|
| |
18
|
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., Ranise, S., Sebastiani, R., and van Rossum, P. 2005a. Efficient satisfiability modulo theories via delayed theory combination. In Proceedings of the 17th International Conference in Computer-Aided Verification, K. Etessami and S. Rajamani, Eds. Lecture Notes in Computer Science, vol. 3576. Springer-Verlag, Berlin, Germany, 335--349.
|
| |
19
|
Marco Bozzano , Roberto Bruttomesso , Alessandro Cimatti , Tommi Junttila , Peter Rossum , Stephan Schulz , Roberto Sebastiani, MathSAT: Tight Integration of SAT and Mathematical Decision Procedures, Journal of Automated Reasoning, v.35 n.1-3, p.265-293, October 2005
[doi> 10.1007/s10817-005-9004-z]
|
| |
20
|
|
 |
21
|
|
| |
22
|
Caferra, R., Leitsch, A., and Peltier, N. 2004. Automated Model Building. Kluwer Academic Publishers.
|
| |
23
|
|
| |
24
|
Conchon, S. and Krstić, S. 2003. Strategies for combining decision procedures. In Proceedings of the International Conference on Tools and Algorithms for Constitution and Analysis of Systems, H. Garavel and J. Hatcliff, Eds. Lecture Notes in Computer Science, vol. 2619. Springer-Verlag, Berlin, Germany, 537--553.
|
| |
25
|
|
| |
26
|
Cyrluk, D., Möller, O., and Ruess, H. 1996. An efficient decision procedure for a theory of fixed-sized bitvectors with composition and extraction. Tech. Rep. UIB96-08, Fakultät für Informatik, Universität Ulm, Ulm, Germany.
|
| |
27
|
de Moura, L., Owre, S., Ruess, H., Rushby, J., and Shankar, N. 2004. The ICS decision procedures for embedded deduction. In Proceedings of the 2nd International Joint Conference on Automated Reasoning, D. Basin and M. Rusinowitch, Eds. Lecture Notes in Artificial Intelligence, vol. 3097. Springer-Verlag, Berlin, Germany, 218--222.
|
| |
28
|
|
| |
29
|
Déharbe, D. and Ranise, S. 2003. Light-weight theorem proving for debugging and verifying units of code. In Proceedings SEFM03. IEEE Computer Society Press, Los Alamitos, CA.
|
| |
30
|
|
| |
31
|
Dershowitz, N. and Plaisted, D. A. 2001. Rewriting. In Handbook of Automated Reasoning, A. Robinson and A. Voronkov, Eds. Vol. 1. Elsevier, Amsterdam, The Netherlands, 535--610.
|
 |
32
|
|
 |
33
|
|
 |
34
|
|
| |
35
|
Dutertre, B. and de Moura, L. 2006. A fast linear-arithmetic solver for DPLL(T). In Proceedings of the International Conference on Computer-Aided Verification, T. Ball and R. B. Jones, Eds. Lecture Notes in Computer Science, vol. 4144. Springer-Verlag, Berlin, Germany, 81--94.
|
| |
36
|
|
| |
37
|
Flanagan, C., Joshi, R., Ou, X., and Saxe, J. B. 2003. Theorem proving using lazy proof explication. In Proceedings of the International Conference on Computer-Aided Verification, J. Warren, W. A. Hunt, Jr., and F. Somenzi, Eds. Lecture Notes in Computer Science, vol. 2725. Springer-Verlag, Berlin, Germany, 355--367.
|
 |
38
|
|
| |
39
|
|
| |
40
|
Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A., and Tinelli, C. 2004a. DPLL(T): Fast decision procedures. In Proceedings of the 16th International Conference on Computer-Aided Verification (CAV'04), R. Alur and D. A. Peled, Eds. Lecture Notes in Computer Science, vol. 3114. Springer-Verlag, Berlin, Germany, 175--188.
|
| |
41
|
Ganzinger, H., Ruess, H., and Shankar, N. 2004b. Modularity and refinement in inference systems. Tech. Rep. CSL-SRI-04-02, SRI International, Menlo Park, CA.
|
| |
42
|
|
| |
43
|
|
| |
44
|
Ghilardi, S., Nicolini, E., and Zucchelli, D. 2005. A comprehensive framework for combined decision procedures. In Proceedings of the 5th International Worshop on Frontiers of Combining Systems. B. Gramlich, Ed. Lecture Notes in Artificial Intelligence, vol. 3717. Springer-Verlag, Berlin, Germany, 1--30.
|
| |
45
|
Horn, A. 1951. On sentences which are true of direct unions of algebras. J. Symbol. Logic 16, 14--21.
|
 |
46
|
|
| |
47
|
Kaufmann, M., Manolios, P., and Moore, J. S. Eds. 2000. Computer Aided Reasoning: ACL2 Case Studies. Kluwer.
|
| |
48
|
Kirchner, H., Ranise, S., Ringeissen, C., and Tran, D. K. 2005. On superposition-based satisfiability procedures and their combination. In Proceedings of 2nd ICTAC, D. Hung and M. Wirsing, Eds. Lecture Notes in Computer Science, vol. 3722. Springer-Verlag, Berlin, Germany, 594--608.
|
| |
49
|
Knuth, D. E., and Bendix, P. B. 1970. Simple word problems in universal algebras. In Computational Problems in Abstract Algebra, J. Leech, Ed. Pergamon Press, Oxford, UK, 263--297.
|
| |
50
|
Krstić, S. and Conchon, S. 2003. Canonization for disjoint unions of theories. In Proc. CADE-19, F. Baader, Ed. Lecture Notes in Computer Science, vol. 2741. Springer-Verlag, Berlin, Germany.
|
| |
51
|
Lahiri, S. K. and Musuvathi, M. 2005a. An efficient decision procedure for UTVPI constraints. In Proceedings of the 5th FroCoS, B. Gramlich, Ed. Lecture Notes in Artificial Intelligence, vol. 3717. Springer-Verlag, Berlin, Germany, 168--183.
|
| |
52
|
Lahiri, S. K. and Musuvathi, M. 2005b. An efficient Nelson-Oppen decision procedure for difference constraints over rationals. In Notes 3rd PDPAR Workshop, CAV-17. 2--9.
|
| |
53
|
Lahiri, S. K. and Seshia, S. A. 2004. The UCLID decision procedure. In Proceedings of CAV-16, R. Alur and D. A. Peled, Eds. Lecture Notes in Computer Science, vol. 3114. Springer-Verlag, Berlin, Germany, 475--478.
|
| |
54
|
Lankford, D. S. 1975. Canonical inference. Memo ATP-32, Automatic Theorem Proving Project, University of Texas, Austin, TX.
|
| |
55
|
|
| |
56
|
|
| |
57
|
Manna, Z. and Zarba, C. G. 2003. Combining decision procedures. In Formal Methods at the Crossroads: From Panacea to Foundational Support. Lecture Notes in Computer Science, vol. 2757. Springer-Verlag, Berlin, Germany, 381--422.
|
| |
58
|
McCune, W. W. 2003. Otter 3.3 reference manual. Tech. Rep. ANL/MCS-TM-263, MCS Division, Argonne National Laboratory, Argonne, IL, U.S.A.
|
| |
59
|
Meir, O. and Strichman, O. 2005. Yet another decision procedure for equality logic. In Proceedings of the CAV-17, K. Etessami and S. Rajamani, Eds. Lecture Notes in Computer Science, vol. 3576. Springer-Verlag, Berlin, Germany, 307--320.
|
 |
60
|
Matthew W. Moskewicz , Conor F. Madigan , Ying Zhao , Lintao Zhang , Sharad Malik, Chaff: engineering an efficient SAT solver, Proceedings of the 38th conference on Design automation, p.530-535, June 2001, Las Vegas, Nevada, United States
[doi> 10.1145/378239.379017]
|
| |
61
|
|
 |
62
|
|
 |
63
|
|
| |
64
|
|
| |
65
|
Nieuwenhuis, R. and Rubio, A. 2001. Paramodulation-based theorem proving. In Handbook of Automated Reasoning, A. Robinson and A. Voronkov, Eds. Vol. 1. Elsevier, Amsterdam, The Netherlands, 371--443.
|
 |
66
|
|
| |
67
|
|
| |
68
|
|
| |
69
|
|
| |
70
|
Ranise, S. and Déharbe, D. 2003. Light-weight theorem proving for debugging and verifying pointer manipulating programs. In Proceedings of FTP-2003, I. Dahn and L. Vigneron, Eds. Number DSCI--II710/03 in Technical Reports. Universidad Politécnica de Valencia, 119--132.
|
| |
71
|
Ranise, S., Ringeissen, C., and Tran, D. K. 2004. Nelson-Oppen, Shostak and the extended canonizer: A family picture with a newborn. In Proceedings of the 1st ICTAC, K. Araki and Z. Liu, Eds. Lecture Notes in Computer Science. Springer-Verlag, Berlin, Germany.
|
| |
72
|
Ranise, S., Ringeissen, C., and Zarba, C. G. 2005. Combining data structures with nonstably infinite theories using many-sorted logic. In Proceedings of the 5th International Workshop on Frontiers of Combining Systems. B. Gramlich, Ed. Lecture Notes in Artificial Intelligence, vol. 3717. Springer-Verlag, Berlin, Germany, 48--64.
|
| |
73
|
Riazanov, A. and Voronkov, A. 2002. The design and implementation of VAMPIRE. J. AI Commun. 15, 2/3, 91--110.
|
| |
74
|
Ruess, H. 2004. Personal communication on ICS 2.0 (e-mail message to Alessandro Armando).
|
| |
75
|
|
| |
76
|
Ruess, H. and Shankar, N. 2004. Solving linear arithmetic constraints. Tech. Rep. CSL-SRI-04-01, SRI International, Menlo Park, CA.
|
| |
77
|
Schulz, S. 2002. E—A brainiac theorem prover. J. AI Commun. 15, 2--3, 111--126.
|
| |
78
|
Schulz, S. 2004. System description: E 0.81. In Proceedings of the 2nd International Joint Conference on Automated Reasoning. D. Basin and M. Rusinowitch, Eds. Lecture Notes in Artificial Intelligence, vol. 3097. Springer-Verlag, Berlin, Germany, 2223--2228.
|
| |
79
|
Schulz, S. and Bonacina, M. P. 2005. On handling distinct objects in the superposition calculus. In Notes 5th IWIL Workshop, LPAR-11. 66--77.
|
 |
80
|
|
| |
81
|
Shankar, N. 2002. Little engines of proof. Invited talk, 3rd FLoC, Copenhagen, Denmark; and course notes of Fall 2003, http://www.csl.sri.com/users/shankar/LEP.html.
|
 |
82
|
|
 |
83
|
|
| |
84
|
Stickel, M. E. 2002. Herbrand Award speech. 3rd FLoC, Copenhagen, Denmark.
|
| |
85
|
Stump, A. 2005. Personal communication on CVC 1.0a (e-mail message to Alessandro Armando).
|
| |
86
|
|
| |
87
|
|
| |
88
|
|
| |
89
|
Tinelli, C. and Harandi, M. 1996. A new correctness proof of the Nelson-Oppen combination procedure. In Proceedings of the 1st FroCoS, F. Baader and K. Schulz, Eds. Applied Logic Series, vol. 3. Kluwer Academic Publishers.
|
| |
90
|
van Dalen, D. 1989. Logic and Structure. Springer-Verlag, Berlin, Germany. Second edition.
|
| |
91
|
|
CITED BY
|
|
Miquel Bofill , Robert Nieuwenhuis , Albert Oliveras , Enric Rodríguez-Carbonell , Albert Rubio, A write-based solver for SAT modulo the theory of arrays, Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design, p.1-8, November 17-20, 2008, Portland, Oregon
|
INDEX TERMS
Primary Classification:
I.
Computing Methodologies
I.2
ARTIFICIAL INTELLIGENCE
I.2.3
Deduction and Theorem Proving
Subjects:
Inference engines
General Terms:
Performance,
Theory,
Verification
Keywords:
Automated reasoning,
combination of theories,
decision procedures,
inference,
rewriting,
satisfiability modulo a theory,
scalability,
superposition,
termination
|