skip to main content
10.1145/1836089.1836090acmotherconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
invited-talk

On theorem proving for program checking: historical perspective and recent developments

Published: 26 July 2010 Publication History

Abstract

This article is a survey of recent results, related works and new challenges in automated theorem proving for program checking. The aim is to give some historical perspective, albeit necessarily incomplete, and highlight some of the turning points that made crucial advances possible.

References

[1]
E. Althaus, E. Kruglov, and C. Weidenbach. Superposition modulo linear arithmetic SUP(LA). In S. Ghilardi and R. Sebastiani, editors, Proceedings of the Seventh Symposium on Frontiers of Combining Systems (FroCoS), volume 5749 of Lecture Notes in Artificial Intelligence, pages 84--99. Springer-Verlag, 2009.
[2]
A. Armando. Building SMT-based software model checkers: an experience report. In S. Ghilardi and R. Sebastiani, editors, Proceedings of the Seventh Symposium on Frontiers of Combining Systems (FroCoS), volume 5749 of Lecture Notes in Artificial Intelligence, pages 1--17. Springer-Verlag, 2009.
[3]
A. Armando, S. Ranise, and M. Rusinowitch. A rewriting approach to satisfiability procedures. Information and Computation, 183 (2): 140--164, 2003.
[4]
A. Armando, M. Benerecetti, and J. Mantovani. Model checking linear programs with arrays. In B. Cook, S. Stoller, and W. Visser, editors, Proceedings of the Third Workshop on Software Model Checking (SoftMC), Conference on Automated Verification (CAV) 2005, volume 144(3) of phElectronic Notes in Theoretical Computer Science, pages 79--94. Elsevier, 2006.
[5]
A. Armando, M. P. Bonacina, S. Ranise, and S. Schulz. New results on rewrite-based satisfiability procedures. ACM Transactions on Computational Logic, 10 (1): 129--179, 2009.
[6]
L. Bachmair and N. Dershowitz. Equational inference, canonical proofs, and proof orderings. Journal of the ACM, 41 (2): 236--276, 1994.
[7]
L. Bachmair and H. Ganzinger. Rewrite-based equational theorem proving with selection and simplification. Journal of Logic and Computation, 4 (3): 217--247, 1994.
[8]
L. Bachmair, N. Dershowitz, and D. A. Plaisted. Completion without failure. In H. Aït-Kaci and M. Nivat, editors, Resolution of Equations in Algebraic Structures, volume II: Rewriting Techniques, pages 1--30. Academic Press, 1989.
[9]
L. Bachmair, A. Tiwari, and L. Vigneron. Abstract congruence closure. Journal of Automated Reasoning, 31 (2): 129--168, 2003.
[10]
T. Ball. The SMT "Big Bang": applications of Z3 in Microsoft. Talk at the Dagstuhl Seminar 09411 Interaction versus automation: the two faces of deduction, 2009.
[11]
T. Ball and S. K. Rajamani. The SLAM project: Debugging system software via static analysis. In J. C. Mitchell, editor, Proceedings of the Twenty-Ninth ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), pages 1--3. ACM Press, 2002.
[12]
T. Ball, R. Majumdar, T. D. Millstein, and S. K. Rajamani. Automatic predicate abstraction of C programs. In M. L. Soffa, editor, Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation (PLDI), pages 203--213. ACM Press, 2001.
[13]
M. Barnett, K. R. M. Leino, and W. Schulte. The Spec# programming system: An overview. In G. Barthe, L. Burdy, M. Huisman, J.-L. Lanet, and T. Muntean, editors, Proceedings of the Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS 2004), volume 3362 of phLecture Notes in Computer Science, pages 49--69. Springer-Verlag, 2005.
[14]
C. Barrett, R. Nieuwenhuis, A. Oliveras, and C. Tinelli. Splitting on demand in SAT modulo theories. In M. Hermann and A. Voronkov, editors, Proceedings of the Thirteenth International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR), volume 4246 of phLecture Notes in Computer Science, pages 512--526. Springer-Verlag, 2006.
[15]
C. W. Barrett and S. Berezin. CVC Lite: A new implementation of the Cooperating Validity Checker. In R. Alur and D. A. Peled, editors, phProceedings of the Sixteenth Conference on Automated Verification (CAV), volume 3114 of Lecture Notes in Computer Science, pages 515--518. Springer-Verlag, 2004.
[16]
C. W. Barrett, D. L. Dill, and A. Stump. Checking satisfiability of first-order formulas by incremental translation to SAT. In K. G. Larsen and E. Brinksma, editors, Proceedings of the Fourteenth Conference on Automated Verification (CAV), volume 2404 of Lecture Notes in Computer Science, pages 236--249. Springer-Verlag, 2002.
[17]
C. W. Barrett, D. L. Dill, and A. Stump. A generalization of Shostak's method for combining decision procedures. In A. Armando, editor, Proceedings of the Fourth Workshop on Frontiers of Combining Systems (FroCoS), volume 2309 of Lecture Notes in Computer Science. Springer-Verlag, 2002.
[18]
N. Bjørner and L. de Moura. SMT solvers in program analysis and verification. Tutorial at the Fourth International Joint Conference on Automated Reasoning (IJCAR), 2008.
[19]
M. P. Bonacina. Distributed Automated Deduction. PhD thesis, Dept. of Computer Science, State University of New York at Stony Brook, 1992.
[20]
M. P. Bonacina and N. Dershowitz. Abstract canonical inference. ACM Transactions on Computational Logic, 8 (1): 180--208, 2007.
[21]
M. P. Bonacina and M. Echenim. On variable-inactivity and polynomial T-satisfiability procedures. Journal of Logic and Computation, 18 (1): 77--96, 2008.
[22]
M. P. Bonacina and M. Echenim. Theory decision by decomposition. Journal of Symbolic Computation, 45 (2): 229--260, 2010.
[23]
M. P. Bonacina and M. Echenim. Rewrite-based satisfiability procedures for recursive data structures. In B. Cook and R. Sebastiani, editors, Proceedings of the Fourth Workshop on Pragmatics of Decision Procedures in Automated Reasoning (PDPAR), Federated Logic Conference 2006, volume 174(8) of Electronic Notes in Theoretical Computer Science, pages 55--70. Elsevier, 2007.
[24]
M. P. Bonacina and J. Hsiang. Towards a foundation of completion procedures as semidecision procedures. Theoretical Computer Science, 146: 199--242, 1995.
[25]
M. P. Bonacina, S. Ghilardi, E. Nicolini, S. Ranise, and D. Zucchelli. Decidability and undecidability results for Nelson-Oppen and rewrite-based decision procedures. In U. Furbach and N. Shankar, editors, Proceedings of the Third International Joint Conference on Automated Reasoning (IJCAR), volume 4130 of phLecture Notes in Artificial Intelligence, pages 513--527. Springer-Verlag, 2006.
[26]
M. P. Bonacina, C. A. Lynch, and L. de Moura. On deciding satisfiability by DPLL(Γ+T) and unsound theorem proving. In R. Schmidt, editor, Proceedings of the Twenty-Second Conference on Automated Deduction (CADE), volume 5663 of Lecture Notes in Artificial Intelligence, pages 35--50. Springer-Verlag, 2009. Full version: http://profs.sci.univr.it/~bonacina/dpllSPsi.html.
[27]
M. Bozzano, R. Bruttomesso, A. Cimatti, T. Junttila, P. van Rossum, S. Schulz, and R. Sebastiani. MathSAT: Tight integration of SAT and mathematical decision procedures. Journal of Automated Reasoning, 35(1--3):265--293, 2005.
[28]
M. Bozzano, R. Bruttomesso, A. Cimatti, T. Junttila, S. Ranise, P. van Rossum, and R. Sebastiani. Efficient theory combination via Boolean search. Information and Computation, 204(10):1493--1525, 2006.
[29]
A. R. Bradley and Z. Manna. The Calculus of Computation. Springer-Verlag, 2007.
[30]
R. Bruttomesso. RTL Verification: From SAT to SMT(BV). PhD thesis, Università degli Studi di Trento, 2008.
[31]
R. Bruttomesso. RTL Verification: From SAT to SMT(BV). PhD thesis, Università degli Studi di Trento, 2008.
[32]
P. Chew. An improved algorithm for computing with equations. In Proceedings of the Twenty-First Annual IEEE Symposium on Foundations of Computer Science (FOCS), pages 108--117. IEEE Computer Society Press, 1980.
[33]
E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-guided abstraction refinement. In E. A. Emerson and A. P. Sistla, editors, Proceedings of the Twelfth Conference on Automated Verification (CAV), volume 1855 of Lecture Notes in Computer Science, pages 154--169. Springer-Verlag, 2000.
[34]
P. Cousot. Abstract interpretation: achievements and perspectives. In Proceedings of the SSGRR 2000 Computer & eBusiness Int. Conf. Scuola Superiore G. Reiss Romoli, L'Aquila, Italy, 2000. http://www.ssgrr.it/en/ssgrr2000/proceedings.htm.
[35]
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixed points. In Proceedings of the Fourth ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), pages 238--252. ACM Press, 1977.
[36]
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixed points. In phProceedings of the Fourth ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), pages 238--252. ACM Press, 1977.
[37]
D. Cyrluk, O. Möller, and H. Rueß. An efficient decision procedure for a theory of fixed-sized bitvectors. In O. Grumberg, editor, Proceedings of the Ninth Conference on Automated Verification (CAV), volume 1254 of Lecture Notes in Computer Science, pages 60--71. Springer-Verlag, 1997.
[38]
M. Davis and H. Putnam. A computing procedure for quantification theory. Journal of the ACM, 7: 201--215, 1960.
[39]
L. de Moura and N. Bjørner. Engineering DPLL(T) + saturation. In A. Armando, P. Baumgartner, and G. Dowek, editors, Proceedings of the Fourth International Joint Conference on Automated Reasoning (IJCAR), volume 5195 of Lecture Notes in Artificial Intelligence, pages 475--490. Springer-Verlag, 2008.
[40]
L. de Moura and N. Bjørner. Efficient E-matching for SMT-solvers. In F. Pfenning, editor, Proceedings of the Twenty-First Conference on Automated Deduction (CADE), volume 4603 of Lecture Notes in Artificial Intelligence, pages 183--198. Springer-Verlag, 2007.
[41]
L. de Moura and N. Bjørner. Generalized, efficient array decision procedures. In A. Biere and C. Pixley, editors, Proceedings of the Ninth Conference on Formal Methods in Computer-Aided Design (FMCAD), pages 45--52. IEEE Computer Society Press, 2009.
[42]
L. de Moura and N. Bjørner. Model-based theory combination. In S. Krstić and A. Oliveras, editors, Proceedings of the Fifth Workshop on Satisfiability Modulo Theories (SMT), Conference on Automated Verification (CAV) 2007, volume 198(2) of Electronic Notes in Theoretical Computer Science, pages 37--49. Elsevier, 2008.
[43]
L. de Moura and N. Bjørner. Relevancy propagation. Technical Report MSR-TR-2007-140, Microsoft Research, 2007.
[44]
L. de Moura and N. Bjørner. Z3: an efficient SMT solver. In C. R. Ramakrishnan and J. Rehof, editors, Proceedings of the Fourteenth Conference on Tools and Algorithms for Construction and Analysis Science, pages 337--340. Springer-Verlag, 2008.
[45]
L. de Moura, H. Rueß, and M. Sorea. Lazy theorem proving for bounded model checking over infinite domains. In A. Voronkov, editor, Proceedings of the Eighteenth Conference on Automated Deduction (CADE), volume 2392 of Lecture Notes in Artificial Intelligence, pages 438--455. Springer-Verlag, 2002.
[46]
L. de Moura, S. Owre, H. Rueß, J. Rushby, and N. Shankar. The ICS decision procedures for embedded deduction. In D. Basin and M. Rusinowitch, editors, Proceedings of the Second International Joint Conference on Automated Reasoning (IJCAR), volume 3097 of Lecture Notes in Artificial Intelligence, pages 218--222. Springer-Verlag, 2004.
[47]
N. Dershowitz and C. Kirchner. Abstract canonical presentations. Theoretical Computer Science, 357:53--69, 2006.
[48]
D. L. Detlefs, G. Nelson, and J. B. Saxe. Simplify: a theorem prover for program checking. Journal of the ACM, 52(3):365--473, 2005.
[49]
P. J. Downey, R. Sethi, and R. E. Tarjan. Variations on the common subexpression problem. Journal of the ACM, 27(4):758--771, 1980.
[50]
B. Dutertre and L. de Moura. A fast linear arithmetic solver for DPLL(T). In T. Ball and R. B. Jones, editors, Proceedings of the Eighteenth Conference on Automated Verification (CAV), volume 4144 of Lecture Notes in Computer Science, pages 81--94. Springer-Verlag, 2006.
[51]
C. Flanagan, K. R. M. Leino, M. Lillibridge, G. Nelson, J. B. Saxe, and R. Stata. Extended static checking for Java. In L. J. Hendren, editor, Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI), pages 234--245. ACM Press, 2002.
[52]
R. W. Floyd. Assigning meanings to programs. In Symposia in Applied Mathematics, volume 19, pages 19--32. American Mathematical Society, 1967.
[53]
P. Fontaine. Combinations of theories for decidable fragments of first-order logic. In S. Ghilardi and R. Sebastiani, editors, Proceedings of the Seventh Symposium on Frontiers of Combining Systems (FroCoS), volume 5749 of Lecture Notes in Artificial Intelligence, pages 263--278. Springer-Verlag, 2009.
[54]
J. Gallier, P. Narendran, D. A. Plaisted, S. Raatz, and W. Snyder. Finding canonical rewriting systems equivalent to a finite set of ground equations in polynomial time. Journal of the ACM, 40(1): 1--16, 1993.
[55]
H. Ganzinger, H. Rueß, and N. Shankar. Modularity and refinement in inference systems. Technical Report CSL-SRI-04-02, SRI International, 2004.
[56]
Y. Ge, C. Barrett, and C. Tinelli. Solving quantified verification conditions using satisfiability modulo theories. In F. Pfenning, editor, Proceedings of the Twenty-First Conference on Automated Deduction (CADE), volume 4603 of Lecture Notes in Artificial Intelligence, pages 167--182. Springer-Verlag, 2007.
[57]
S. Ghilardi. Model-theoretic methods in combined constraints satisfiability. Journal of Automated Reasoning, 33:221--249, 2004.
[58]
S. Graf and H. Säidi. Construction of abstract state graphs with PVS. In O. Grumberg, editor, Proceedings of the Ninth Conference on Automated Verification (CAV), volume 1254 of Lecture Notes in Computer Science, pages 72--83. Springer-Verlag, 1997.
[59]
A. Gupta. Software verification: rôles and challenges for automatic decision procedures. In A. Armando, P. Baumgartner, and G. Dowek, editors, Proceedings of the Fourth International Joint Conference on Automated Reasoning (IJCAR), volume 5195 of Lecture Notes in Artificial Intelligence, page 1. Springer-Verlag, 2008.
[60]
T. A. Henzinger, R. Jhala, R. Majumdar, and G. Sutre. Lazy abstraction. In J. C. Mitchell, editor, Proceedings of the Twenty-Ninth ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), pages 58--70. ACM Press, 2002.
[61]
T. A. Henzinger, R. Jhala, R. Majumdar, and K. L. McMillan. Abstractions from proofs. In X. Leroy, editor, Proceedings of the Thirty-First ACMSIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), pages 232--244. ACM Press, 2004.
[62]
C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576--580, 1969.
[63]
C. A. R. Hoare. The verifying compiler: a grand challenge for computing research. Journal of the ACM, 50(1):63--69, 2003.
[64]
J. Hsiang and M. Rusinowitch. On word problems in equational theories. In T. Ottman, editor, Proceedings of the Fourteenth International Colloquium on Automata Languages and Programming (ICALP), volume 267 of Lecture Notes in Computer Science, pages 54--71. Springer-Verlag, 1987.
[65]
J. Hsiang and M. Rusinowitch. Proving refutational completeness of theorem proving strategies: the transfinite semantic tree method. Journal of the ACM, 38(3):559--587, 1991.
[66]
H. Jain. Verification using satisfiability checking, predicate abstraction and Craig interpolation. PhD thesis, School of Computer Science, Carnegie Mellon University, 2008.
[67]
D. Kapur, R.Majumdar, and C. G. Zarba. Interpolation for data structures. In P. Devambu, editor, Proceedings of the Fourteenth ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE). ACM Press, 2006.
[68]
M. Karr. Affine relationships among variables of a program. Acta Informatica, 6:133--151, 1976.
[69]
D. E. Knuth and P. B. Bendix. Simple word problems in universal algebras. In J. Leech, editor, Proceedings of the Conference on Computational Problems in Abstract Algebras, pages 263--298. Pergamon Press, 1970.
[70]
K. Korovin and A. Voronkov. Integrating linear arithmetic into superposition calculus. In J. Duparc and T. A. Henzinger, editors, Proceedings of the Sixteenth EACSL Annual Conference on Computer Science Logic (CSL), volume 4646 of Lecture Notes in Computer Science, pages 223--237. Springer-Verlag, 2007.
[71]
E. Kounalis and M. Rusinowitch. On word problems in Horn theories. Journal of Symbolic Computation, 11(1--2):113--128, 1991.
[72]
L. Kovacs and A. Voronkov. Interpolation and symbol elimination. In R. Schmidt, editor, Proceedings of the Twenty-Second Conference on Automated Deduction (CADE), volume 5663 of Lecture Notes in Computer Science, pages 199--213. Springer-Verlag, 2009.
[73]
L. Kovacs and A. Voronkov. Finding loop invariants for programs over arrays using a theorem prover. In M. Chechik and M. Wirsing, editors, Proceedings of the Twelfth Conference on Fundamental Approaches to Software Engineering (FASE), volume 5503 of Lecture Notes in Computer Science, pages 470--485. Springer-Verlag, 2009.
[74]
S. Krstić and A. Goel. Architecting solvers for SAT modulo theories: Nelson-Oppen with DPLL. In F. Wolter, editor, Proceedings of the Sixth Symposium on Frontiers of Combining Systems (FroCoS), volume 4720 of Lecture Notes in Artificial Intelligence, pages 1--27. Springer-Verlag, 2007.
[75]
S. Lahiri and S. Qaader. Back to the future: Revisiting precise program verification using SMT solvers. In G. C. Necula and P.Wadler, editors, Proceedings of the Thirty-Fifth ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL), pages 171--182. ACM Press, 2008.
[76]
S. Lahiri and S. Qaader. Verification. Tutorial at the Twenty-Second Conference on Automated Deduction, 2009.
[77]
D. S. Lankford. Canonical inference. Memo ATP-32, Automatic Theorem Proving Project, University of Texas at Austin, 1975.
[78]
J.-L. Lassez and M. J. Maher. On Fourier's algorithm for linear arithmetic constraints. Journal of Automated Reasoning, 9(3):373--379, 1992.
[79]
K. R. M. Leino. Efficient weakest preconditions. Information Processing Letters, 93(6):281--288, 2005.
[80]
K. R. M. Leino and W. Schulte. A verifying compiler for a multithreaded object-oriented language. To appear in the Marktoberdorf Summer School 2006 lecture notes, 2006.
[81]
J. McCarthy. Towards a mathematical science of computation. In International Federation for Information Processing, pages 21--28. 1962.
[82]
J. McCarthy. A basis for a mathematical theory of computation. In Computer Programming and Formal Systems. 1963.
[83]
W. W. McCune. Otter 3.3 reference manual. Technical Report ANL/MCS-TM-263, MCS Division, Argonne National Laboratory, 2003.
[84]
K. L. McMillan. An interpolating theorem prover. Theoretical Computer Science, 345(1):101--121, 2005.
[85]
K. L. McMillan. Quantified invariant generation using an interpolating saturation prover. In C. R. Ramakrishnan and J. Rehof, editors, Proceedings of the Fourteenth Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS), volume 4963 of Lecture Notes in Computer Science, pages 413--427. Springer-Verlag, 2008.
[86]
B. Meyer. The grand challenge of trusted components. In Proceedings of the Twenty-Fifth International Conference on Software Engineering. IEEE Computer Society Press, 2003.
[87]
M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In D. Blaauw and L. Lavagno, editors, Proceedings of the Thirty-Ninth Design Automation Conference (DAC), pages 530--535, 2001.
[88]
G. Nelson and D. C. Oppen. Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, 1(2):245--257, 1979.
[89]
G. Nelson and D. C. Oppen. Fast decision procedures based on congruence closure. Journal of the ACM, 27(2):356--364, 1980.
[90]
E. Nicolini, C. Ringeissen, and M. Rusinowitch. Data structures with arithmetic constraints: a non-disjoint combination. In S. Ghilardi and R. Sebastiani, editors, Proceedings of the Seventh Symposium on Frontiers of Combining Systems (FroCoS), volume 5749 of Lecture Notes in Artificial Intelligence, pages 319--334. Springer-Verlag, 2009.
[91]
R. Nieuwenhuis and A. Oliveras. Fast congruence closure and extensions. Information and Computation, 205(4):557--580, 2007.
[92]
R. Nieuwenhuis and A. Rubio. Paramodulation-based theorem proving. In A. Robinson and A. Voronkov, editors, Handbook of Automated Reasoning, volume 1, pages 371--443. Elsevier, 2001.
[93]
R. Nieuwenhuis, A. Oliveras, and C. Tinelli. Solving SAT and SAT modulo theories: from an abstract Davis-Putnam-Logemann-Loveland procedure to DPLL(T). Journal of the ACM, 53(6):937--977, 2006.
[94]
D. C. Oppen. Reasoning about recursively defined data structures. Journal of the ACM, 27(3), 1980.
[95]
D. C. Oppen. Complexity, convexity and combinations of theories. Theoretical Computer Science, 12:291--302, 1980.
[96]
D. A. Plaisted. Abstraction using generalization functions. In J. H. Siekmann, editor, Proceedings of the Eighth Conference on Automated Deduction (CADE), volume 230 of Lecture Notes in Computer Science, pages 365--376. Springer-Verlag, 1986.
[97]
D. A. Plaisted and Y. Zhu. The Efficiency of Theorem Proving Strategies. Friedr. Vieweg & Sohns, 1997. Second edition: GWVVieweg, 1999.
[98]
S. K. Rajamani. Static and dynamic analysis: better together. In Z. Shao, editor, Proceedings of the Seventh Asian Symposium on Programming Langanguages and Systems (APLAS), volume 4807 of Lecture Notes in Computer Science, page 302. Springer-Verlag, 2007.
[99]
A. Riazanov and A. Voronkov. The design and implementation of VAMPIRE. Journal of AI Communications, 15(2/3):91--110, 2002.
[100]
G. Robinson and L. Wos. Paramodulation and theorem-proving in first-order theories with equality. In D. Michie and R. Meltzer, editors, Machine Intelligence, volume IV, pages 135--150. Edinburgh University Press, 1969.
[101]
J. A. Robinson. A machine oriented logic based on the resolution principle. Journal of the ACM, 12(1):23--41, 1965.
[102]
H. Rueß and N. Shankar. Deconstructing Shostak. In J. Halpern, editor, Proceedings of the Sixteenth Annual IEEE Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press, 2001.
[103]
M. Rusinowitch. Theorem-proving with resolution and superposition. Journal of Symbolic Computation, 11:21--50, 1991.
[104]
M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. ACM Transactions on Programming Languages and Systems, 24(3):217--298, 2002.
[105]
S. Schulz. E -- A brainiac theorem prover. Journal of AI Communications, 15(2--3):111--126, 2002.
[106]
R. Sebastiani. Lazy satisfiability modulo theories. Journal of Satisfiability, Boolean Modeling and Computation, 3:141--224, 2007.
[107]
R. E. Shostak. An algorithm for reasoning about equality. Communications of the ACM, 21(7):583--585, 1978.
[108]
R. E. Shostak. Deciding combinations of theories. Journal of the ACM, 31(1):1--12, 1984.
[109]
W. Snyder. A fast algorithm for generating reduced ground rewriting systems from a set of ground equations. Journal of Symbolic Computation, 1992.
[110]
A. Stump, C. W. Barrett, D. L. Dill, and J. Levitt. A decision procedure for an extensional theory of arrays. In J. Halpern, editor, Proceedings of the Sixteenth Annual IEEE Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press, 2001.
[111]
C. Tinelli and M. Harandi. A new correctness proof of the Nelson-Oppen combination procedure. In F. Baader and K. Schulz, editors, Proceedings of the First Workshop on Frontiers of Combining Systems (FroCoS), volume 3 of Applied Logic Series. Kluwer, 1996.
[112]
A. Tiwari and S. Gulwani. Logical interpretation: static program analysis using theorem proving. In F. Pfenning, editor, Proceedings of the Twenty-First Conference on Automated Deduction (CADE), volume 4603 of Lecture Notes in Artificial Intelligence, pages 147--166. Springer-Verlag, 2007.
[113]
G. S. Tseitin. On the complexity of derivation in propositional calculus. In A. O. Slisenko, editor, Studies in constructive mathematics and mathematical logic, volume 2, pages 115--125. Consultants Bureau, 1970. Reprinted in J. Siekmann and G. Wrightson (eds.), Automation of Reasoning, Vol. 2, 466--483, Springer, 1983.
[114]
C. Weidenbach, D. Dimova, A. Fietzke, R. Kumar, M. Suda, and P. Wischnewski. SPASS version 3.5. In R. Schmidt, editor, Proceedings of the Twenty-Second Conference on Automated Deduction (CADE), volume 5663 of Lecture Notes in Artificial Intelligence, pages 140--145. Springer-Verlag, 2009.
[115]
T. Wies, R. Piskac, and V. Kuncak. Combining theories with shared set operations. In S. Ghilardi and R. Sebastiani, editors, Proceedings of the Seventh Symposium on Frontiers of Combining Systems (Fro-CoS), volume 5749 of Lecture Notes in Artificial Intelligence, pages 366--382. Springer-Verlag, 2009.
[116]
L. Wos, G. Robinson, D. Carson, and L. Shalla. The concept of demodulation in theorem proving. Journal of the ACM, 14(4):698--709, 1967.
[117]
G. Yorsh and M. Musuvathi. A combination method for generating interpolants. In R. Nieuwenhuis, editor, Proceedings of the Twentieth Conference on Automated Deduction (CADE), volume 3632 of Lecture Notes in Artificial Intelligence, pages 353--368. Springer-Verlag, 2005.
[118]
H. Zhang and M. Stickel. Implementing the Davis-Putnam method. Journal of Automated Reasoning, 24(1--2):277--296, 2000.
[119]
L. Zhang and S. Malik. The quest for efficient boolean satisfiability solvers. In A. Voronkov, editor, Proceedings of the Eighteenth Conference on Automated Deduction (CADE), volume 2392 of Lecture Notes in Artificial Intelligence, pages 295--313. Springer-Verlag, 2002.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PPDP '10: Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
July 2010
266 pages
ISBN:9781450301329
DOI:10.1145/1836089
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 July 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. combination of theories
  2. rewrite-based theorem proving
  3. satisfiability modulo theories
  4. speculative inferences

Qualifiers

  • Invited-talk

Conference

PPDP '10

Acceptance Rates

PPDP '10 Paper Acceptance Rate 21 of 57 submissions, 37%;
Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Theory Combination: Beyond Equality SharingDescription Logic, Theory Combination, and All That10.1007/978-3-030-22102-7_3(57-89)Online publication date: 1-Jun-2019
  • (2018)Parallel Theorem ProvingHandbook of Parallel Constraint Reasoning10.1007/978-3-319-63516-3_6(179-235)Online publication date: 6-Apr-2018
  • (2016)Semantically-Guided Goal-Sensitive ReasoningJournal of Automated Reasoning10.1007/s10817-015-9334-456:2(113-141)Online publication date: 1-Feb-2016
  • (2015)Verification condition generation for hybrid systemsProceedings of the 2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign10.1109/MEMCOD.2015.7340491(238-247)Online publication date: 1-Sep-2015
  • (2015)On Interpolation in Automated Theorem ProvingJournal of Automated Reasoning10.1007/s10817-014-9314-054:1(69-97)Online publication date: 1-Jan-2015
  • (2015)On First-Order Model-Based ReasoningLogic, Rewriting, and Concurrency10.1007/978-3-319-23165-5_8(181-204)Online publication date: 27-Aug-2015
  • (2014)ConceVEACM Transactions on Modeling and Computer Simulation10.1145/256789724:2(1-17)Online publication date: 1-Feb-2014
  • (2011)On interpolation in decision proceduresProceedings of the 20th international conference on Automated reasoning with analytic tableaux and related methods10.5555/2029664.2029665(1-16)Online publication date: 4-Jul-2011
  • (2011)SMT-based optimization for synchronous programsProceedings of the 14th International Workshop on Software and Compilers for Embedded Systems10.1145/1988932.1988935(11-20)Online publication date: 27-Jun-2011
  • (2011)On Deciding Satisfiability by Theorem Proving with Speculative InferencesJournal of Automated Reasoning10.1007/s10817-010-9213-y47:2(161-189)Online publication date: 1-Aug-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media