Abstract
Formal system development needs expressive specification languages, but also calls for highly automated tools. These two goals are not easy to reconcile, especially if one also aims at high assurances for correctness. In this paper, we describe a combination of Isabelle/HOL with a proof-producing SMT (Satisfiability Modulo Theories) solver that contains a SAT engine and a decision procedure for quantifier-free first-order logic with equality. As a result, a user benefits from the expressiveness of Isabelle/HOL when modeling a system, but obtains much better automation for those fragments of the proofs that fall within the scope of the (automatic) SMT solver. Soundness is not compromised because all proofs are submitted to the trusted kernel of Isabelle for certification. This architecture is straightforward to extend for other interactive proof assistants and proof-producing reasoners.
Chapter PDF
Similar content being viewed by others
Keywords
- Decision Procedure
- Conjunctive Normal Form
- Clock Synchronization
- Propositional Formula
- Satisfiability Modulo Theory
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Baaz, M., Egly, U., Leitsch, A.: Normal form transformations. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 5, vol. I, pp. 273–333. Elsevier Science B.V, Amsterdam (2001)
Barrett, C., Berezin, S.: CVC Lite: A new implementation of the cooperating validity checker. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)
Barsotti, D., Prensa-Nieto, L., Tiu, A.: Verification of clock synchronization algorithms: Experiments on a combination of deductive tools. In: Proc. of the Fifth Workshop on Automated Verification of Critical Systems (AVOCS), ENTCS (to appear) (2005)
Bezem, M., Hendriks, D., de Nivelle, H.: Automated proof construction in type theory using resolution. J. Autom. Reasoning 29(3-4), 253–275 (2002)
Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Schulz, S., Sebastiani, R.: The MathSAT 3 System. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 315–321. Springer, Heidelberg (2005)
Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Comm. of the ACM 5(7), 394–397 (1962)
Déharbe, D., Ranise, S.: Light-weight theorem proving for debugging and verifying units of code. In: Software Engineering and Formal Methods (SEFM), pp. 220–228. IEEE Comp. Soc, Los Alamitos (2003)
Downey, P.J., Sethi, R., Tarjan, R.E.: Variations on the common subexpressions problem. Journal of the ACM 27(4), 758–771 (1980)
Eén, N., Sörensson, N.: An extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)
Filliâtre, J.-C., Owre, S., Rueß, H., Shankar, N.: ICS: Integrated canonizer and solver. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 246–249. Springer, Heidelberg (2001)
Fontaine, P.: Techniques for verification of concurrent systems with invariants. PhD thesis, Institut Montefiore, Université de Liége, Belgium (September 2004)
Fontaine, P., Gribomont, E.P.: Using BDDs with combinations of theories. In: Baaz, M., Voronkov, A. (eds.) LPAR 2002. LNCS (LNAI), vol. 2514, pp. 190–201. Springer, Heidelberg (2002)
Hurd, J.: Integrating Gandalf and HOL. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 311–322. Springer, Heidelberg (1999)
Mahboubi, A.: Programming and certifying the CAD algorithm inside the coq system. In: Coquand, T., Lombardi, H., Roy, M.-F. (eds.) Mathematics, Algorithms, Proofs, Schloss Dagstuhl, Germany. Dagstuhl Seminar Proceedings, vol. 05021 (2005)
Meier, A.: TRAMP: Transformation of machine-found proofs into ND-proofs at the assertion level. In: McAllester, D. (ed.) CADE 2000. LNCS, vol. 1831, pp. 460–464. Springer, Heidelberg (2000)
Meng, J., Quigley, C., Paulson, L.C.: Automation for interactive proof: First prototype. Information and Computation (to appear)
Mitchell, D.G.: A SAT solver primer. EATCS Bulletin 85, 112–133 (2005)
Necula, G., Lee, P.: Efficient representation and validation of logical proofs. In: Logics in Computer Science (LICS 1998), pp. 93–104. IEEE Computer Society Press, Los Alamitos (1998)
Necula, G.C.: Compiling with Proofs. PhD thesis, Carnegie Mellon University, Available as Technical Report CMU-CS-98-154 (October 1998)
Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. Journal of the ACM 27(2), 356–364 (1980)
Nguyen, Q.H., Kirchner, C., Kirchner, H.: External rewriting for skeptical proof assistants. J. Autom. Reason. 29(3-4), 309–336 (2002)
Nieuwenhuis, R., Oliveras, A.: Union-find and congruence closure algorithms that produce proofs. In: Tinelli, C., Ranise, S. (eds.) PDPAR (2004)
Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
Ranise, S., Tinelli, C.: The SMT-LIB standard: Version 1.1 (March 2005)
Siekmann, J.H., et al.: Proof development with ΩMEGA. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 144–149. Springer, Heidelberg (2002)
Tiu, A.: Formalization of a generalized protocol for clock synchronization in Isabelle/HOL. Archive of Formal Proofs (2005), http://afp.sourceforge.net
Tseitin, G.S.: On the complexity of derivation in propositional calculus. In: Slisenko, A.O. (ed.) Studies in Constructive Mathematics and Mathematical Logic, vol. II, pp. 115–125 (1970)
Weber, T.: Using a SAT solver as a fast decision procedure for propositional logic in an LCF-style theorem prover. In: Hurd, J., Smith, E., Darbari, A. (eds.) TPHOLs 2005. Emerging Trends, pp. 180–189. Oxford Univ. Comp. Lab., Prog. Res. Group (2005)
Zhang, L., Malik, S.: The quest for efficient Boolean satisfiability solvers. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 295–313. Springer, Heidelberg (2002)
Zhang, L., Malik, S.: Validating SAT solvers using an independent resolution-based checker. In: Design, Automation and Test in Europe (DATE 2003), pp. 10880–10885. IEEE Comp. Soc., Los Alamitos (2003)
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
Fontaine, P., Marion, JY., Merz, S., Nieto, L.P., Tiu, A. (2006). Expressiveness + Automation + Soundness: Towards Combining SMT Solvers and Interactive Proof Assistants. In: Hermanns, H., Palsberg, J. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2006. Lecture Notes in Computer Science, vol 3920. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11691372_11
Download citation
DOI: https://doi.org/10.1007/11691372_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-33056-1
Online ISBN: 978-3-540-33057-8
eBook Packages: Computer ScienceComputer Science (R0)