Skip to main content
Log in

Combining Induction and Saturation-Based Theorem Proving

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

A method is devised to integrate reasoning by mathematical induction into saturation-based proof procedures based on resolution or superposition. The obtained calculi are capable of handling formulas in which some of the quantified variables range over inductively defined domains (which, as is well-known, cannot be expressed in first-order logic). The procedure is defined as a set of inference rules that generate inductive invariants incrementally and prove their validity. Although the considered logic itself is incomplete, it is shown that the invariant generation rules are complete, in the sense that if an invariant (of some specific form) is deducible from the considered clauses, then it is eventually generated.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. Provided usual ordering restrictions are used, blocking any inference involving the first literal of the first clause since it is not maximal.

  2. Usual structural transformations (see, e.g., [28, 29]) can be used to avoid an exponential blow-up – the symbols \(\mathbf{T}_{\alpha }\) can be used for this purpose, together with the axioms in Sect. 3.2, which ensures that equivalence is preserved in \(\mathtt{I}\)-normal interpretations.

  3. Because the inference trees are usually finite, it is sufficient to check that no clause is one of its own ancestors.

  4. The order of the premises is arbitrary.

  5. In practice, the inference tree does not have to be computed explicitly: we only have to be able to compute the candidate invariant \(\mathfrak {I}^{\delta }({\mathcal {C}},{\mathcal {X}},p)\) defined in Sect. 3.5. This can be done by generating renamings on demand.

  6. The reader can check that the implication does not hold if \({\mathtt {s}}\) is not an inductive sort.

  7. Formula \(\exists x\, (x \prec t \wedge \lnot \alpha (x))\) may be encoded as a finite disjunction of cnf formulas \(\lnot \alpha (t_1) \vee \cdots \vee \lnot \alpha (t_n)\), with \(t_1,\dots ,t_n \triangleleft t\).

  8. As we shall see, this assertion is derived by a form of case splitting, performed by the Domain Decomposition rule defined in Sect. 3.5, Page 24.

  9. This corresponds to an application of Tseitin’s extension rule with the formula \(\alpha \). Note that in the definition of \({\varGamma }_{\mathbf{T}_{}}\), \(\llbracket \alpha (\mathbf {x}) \vee \lnot \mathbf{T}_{\alpha }(\mathbf {x})\;\big |\; \top \rrbracket \) denotes a set of c-clauses, as explained in Sect. 2.3.1.

  10. Note that we do not have \(H_1,\dots ,H_n \models _{fol} C\sigma \) in general, because our definition of logical entailment does not assume that free variables are implicitly universally quantified. Instead we have \(\forall ^* H_1,\dots ,\forall ^* H_n \models _{fol} \forall ^* C\sigma \).

  11. We recall that \({\mathcal R}\) denotes the set of rules associated with the selectors, see Page 7 for details.

  12. The two parts are not necessarily disjoint.

  13. Formally, \(A^{\delta }({\mathcal {C}},{\mathcal {X}},p)\), \(\mathfrak {I}^{\delta }({\mathcal {C}},{\mathcal {X}},p)\) and \(\mathfrak {X}^{\delta }({\mathcal {C}},{\mathcal {X}},p)\) are thus also parameterized by the variable \(z\), however this dependency is left implicit for the sake of readability.

  14. In practice, the condition will be checked simply by testing the rule applied to derive \({\mathcal {C}}\).

  15. For the sake of readability the predicate N describing natural numbers in the original formulation is omitted.

  16. Note that we also generate the clause \(\lnot p(x) \vee p(x)\), which is a tautology. Intuitively, the invariant \(p(x) \wedge q(x,y)\), is proven by induction on y, under the condition p(x).

  17. See Sect. 3.2 for the definition of \({\varGamma }\) and Definition 10 on Page 10 for the definition of \(S_{\top }\).

  18. Note that u is not necessarily a constant (\(\triangleleft \)-minimal constants of the same sort as \(t|_p\) do not always exist). We may, however, assume w.l.o.g. that the signature contains a constant of every sort, but this constant is not necessarily a constructor.

References

  1. Aravantinos, V., Echenim, M., Peltier, N.: A resolution calculus for first-order schemata. Fundamenta Informaticae 125(2), 101–133 (2013)

    Article  MathSciNet  Google Scholar 

  2. Bachmair, L., Ganzinger, H.: Rewrite-based equational theorem proving with selection and simplification. J. Logic Comput. 3(4), 217–247 (1994)

    Article  MathSciNet  Google Scholar 

  3. Bachmair, L., Ganzinger, H.: Resolution theorem proving. In: Robinson and Voronkov [31], pp. 19–99

    Chapter  Google Scholar 

  4. Bachmair, L., Ganzinger, H., Waldmann, U.: Refutational theorem proving for hierarchic first-order theories. Appl. Algebra Eng. Commun. Comput. 5(3), 193–212 (1994)

    Article  MathSciNet  Google Scholar 

  5. Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanović, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: Gopalakrishnan, G., Qadeer, S. (Eds.) Proceedings of the 23rd International Conference on Computer Aided Verification (CAV’11) (2011)

  6. Baumgartner, P., Bax, J., Waldmann, U.: Finite quantification in hierarchic theorem proving. In: Demri, S., Kapur, D., Weidenbach, C. (Eds.) IJCAR, Lecture Notes in Computer Science, vol. 8562, pp. 152–167. Springer, Berlin (2014)

    Chapter  Google Scholar 

  7. Bouhoula, A., Kounalis, E., Rusinowitch, M.: SPIKE, an automatic theorem prover. In: Proceedings of the LPAR’92, vol. 624, pp. 460–462. Springer, Berlin (1992)

  8. Bouhoula, A., Rusinowitch, M.: Implicit induction in conditional theories. J. Autom. Reason. 14, 14–189 (1995)

    Article  MathSciNet  Google Scholar 

  9. Boyer, R.S., Moore, J.S.: A theorem prover for a computational logic. In: Stickel, M.E. (ed.) CADE, volume 449 of LNCS, pp. 1–15. Springer, Berlin (1990)

    Google Scholar 

  10. Brotherston, J.: Cyclic proofs for first-order logic with inductive definitions. In: Beckert, B. (Ed.) Automated Reasoning with Analytic Tableaux and Related Methods: Proceedings of TABLEAUX 2005, volume 3702 of LNAI, pp. 78–92. Springer, Berlin (2005)

    Google Scholar 

  11. Brotherston, J., Gorogiannis, N., Petersen, R.L.: A generic cyclic theorem prover. In: Jhala, R., Igarashi, A. (Eds.) Programming Languages and Systems—10th Asian Symposium, APLAS 2012, Kyoto, Japan, December 11–13, 2012. Proceedings, volume 7705 of Lecture Notes in Computer Science, pp. 350–367. Springer, Berlin (2012)

  12. Bundy, A.: The automation of proof by mathematical induction. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, pp. 845–911. Elsevier/MIT Press, Amsterdam (2001)

    Chapter  Google Scholar 

  13. Claessen, K., Johansson, M., Rosén, D., Smallbone, N.: Automating inductive proofs using theory exploration. In: Bonacina, M.P. (Ed.) Automated Deduction—CADE-24—24th International Conference on Automated Deduction, Lake Placid, NY, USA, June 9–14, 2013. Proceedings, volume 7898 of Lecture Notes in Computer Science, pp. 392–406. Springer, Berlin (2013)

    Chapter  Google Scholar 

  14. Comon, H.: Inductionless induction. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, Chapter 14, pp. 913–962. North-Holland, Amsterdam (2001)

    Chapter  Google Scholar 

  15. Comon, H., Lescanne, P.: Equational problems and disunification. J. Symb. Comput. 7, 371–475 (1989)

    Article  MathSciNet  Google Scholar 

  16. Cruanes, S.: Extending Superposition with Integer Arithmetic, Structural Induction, and Beyond. Theses, École polytechnique (2015)

  17. Cruanes, S.: Superposition with structural induction. In: Dixon, C., Finger, M. (Eds.) Frontiers of Combining Systems—11th International Symposium, FroCoS 2017, Brasília, Brazil, September 27–29, 2017, Proceedings, volume 10483 of Lecture Notes in Computer Science, pp. 172–188. Springer, Berlin (2017)

    Chapter  Google Scholar 

  18. Eberhard, S., Hetzl, S.: Inductive theorem proving based on tree grammars. Ann. Pure Appl. Logic 166(6), 665–700 (2015)

    Article  MathSciNet  Google Scholar 

  19. Falke, S., Kapur, D.: Rewriting induction + linear arithmetic = decision procedure. In: Gramlich, B., Miller, D., Sattler, U. (eds.) Automated Reasoning, volume 7364 of LNCS, pp. 241–255. Springer, Berlin (2012)

    Google Scholar 

  20. Horbach, M., Weidenbach, C.: Deciding the inductive validity of for all there exists \(^{\text{* }}\) queries. In: Grädel, E., Kahle, R. (eds.) CSL, volume 5771 of LNCS, pp. 332–347. Springer, Berlin (2009)

    MATH  Google Scholar 

  21. Horbach, M., Weidenbach, C.: Superposition for fixed domains. ACM Trans. Comput. Logic 11(4), 1–35 (2010)

    Article  MathSciNet  Google Scholar 

  22. Johansson, M., Dixon, L., Bundy, A.: Conjecture synthesis for inductive theories. J. Autom. Reason. 47(3), 251–289 (2011)

    Article  MathSciNet  Google Scholar 

  23. Kersani, A., Peltier, N.: Combining superposition and induction: a practical realization. In: Proceedings of the FROCOS’13 (Frontiers of Combining Systems, volume 8152 of LNCS, pp. 7–22. Springer, Berlin (2013)

    Chapter  Google Scholar 

  24. Kersani, A., Peltier, N.: Completeness and Decidability Results for First-order Clauses with Indices. In: Proceedings of CADE’13 (24th International Conference on Automated Deduction), volume 7898 of LNCS, pp. 58–75. Springer, Berlin (2013)

    Chapter  Google Scholar 

  25. Leitsch, A.: The Resolution Calculus. Texts in Theoretical Computer Science. Springer, Berlin (1997)

    Google Scholar 

  26. McCune, W.: Prover9 and Mace4. http://www.cs.unm.edu/~mccune/prover9/ (2005–2010)

  27. Nieuwenhuis, R., Rubio, A.: Paramodulation-based theorem proving. In: Robinson and Voronkov [31], pp. 371–443

    Chapter  Google Scholar 

  28. Nonnengart, A., Weidenbach, C.: Computing small clause normal form. In: Robinson, A., Voronkov, A. (Eds.) Handbook of Automated Reasoning, volume I, Chapter 6, pp. 335–367. Elsevier, Amsterdam (2001)

    Chapter  Google Scholar 

  29. Plaisted, D., Greenbaum, S.: A structure-preserving clause form translation. J. Symb. Comput. 2, 293–304 (1986)

    Article  MathSciNet  Google Scholar 

  30. Reynolds, A., Kuncak, V.: Verification, Model Checking, and Abstract Interpretation: 16th International Conference, VMCAI 2015, Mumbai, India, January 12–14, 2015. Proceedings, Chapter Induction for SMT Solvers, pp. 80–98. Springer, Berlin (2015)

    Google Scholar 

  31. Schulz, S.: System Description: E 1.8. In: McMillan, K., Middeldorp, A., Voronkov, A. (Eds.) Proceedings of the 19th LPAR, Stellenbosch, volume 8312 of LNCS. Springer, Berlin (2013)

  32. Stratulat, S.: A general framework to build contextual cover set induction provers. J. Symb. Comput. 32(4), 403–445 (2001)

    Article  MathSciNet  Google Scholar 

  33. Voronkov, A.: The anatomy of vampire: implementing bottom-up procedures with code trees. J. Autom. Reason. 15(2), 237–265 (1995)

    Article  MathSciNet  Google Scholar 

  34. Voronkov, A.: Computer Aided Verification: 26th International Conference, CAV 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, July 18–22, 2014. Proceedings, Chapter AVATAR: The Architecture for First-Order Theorem Provers, pp. 696–710. Springer, Cham (2014)

  35. Weidenbach, C., Afshordel, B., Brahm, U., Cohrs, C., Engel, T., Keen, E., Theobalt, C., Topic, D.: System description: SPASS version 1.0.0. In: Proceedings of the 16th Conference on Automated Deduction (CADE-16), pp. 378–382. Springer LNCS 1632 (2001)

    Chapter  Google Scholar 

  36. Wirth, C.: Descente infinie + deduction. Logic J. IGPL 12(1), 1–96 (2004)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to N. Peltier.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Echenim, M., Peltier, N. Combining Induction and Saturation-Based Theorem Proving. J Autom Reasoning 64, 253–294 (2020). https://doi.org/10.1007/s10817-019-09519-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-019-09519-x

Keywords

Mathematics Subject Classification

Navigation