Skip to main content
Log in

Proof Synthesis and Reflection for Linear Arithmetic

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

Abstract

This article presents detailed implementations of quantifier elimination for both integer and real linear arithmetic for theorem provers. The underlying algorithms are those by Cooper (for Z) and by Ferrante and Rackoff (for ℝ). Both algorithms are realized in two entirely different ways: once in tactic style, i.e. by a proof-producing functional program, and once by reflection, i.e. by computations inside the logic rather than in the meta-language. Both formalizations are generic because they make only minimal assumptions w.r.t. the underlying logical system and theorem prover. An implementation in Isabelle/HOL shows that the reflective approach is between one and two orders of magnitude faster.

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.

Similar content being viewed by others

References

  1. Barendregt, H., Barendsen, E.: Autarkic computations in formal proofs. J. Autom. Reason. 28(3), 321–336 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  2. Berghofer, S., Nipkow, T.: Executing higher order logic. In: In Types for Proofs and Programs (TYPES 2000). Lect. Notes in Comp. Sci., vol. 2277, pp. 24–40. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  3. Berman, L.: Precise bounds for Presburger arithmetic and the reals with addition: preliminary report. In: FOCS, pp. 95–99. IEEE, Piscataway (1977)

    Google Scholar 

  4. Berman, L.: The complexitiy of logical theories. Theor. Comput. Sci. 11, 71–77 (1980)

    Article  MATH  Google Scholar 

  5. Bertot, Y., Castéran, P.: Coq’Art: the calculus of inductive constructions. Volume XXV of Text in Theor. Comp. Science: An EATCS Series. Springer, Heidelberg (2004)

    Google Scholar 

  6. Boigelot, B., Jodogne, S., Wolper, P.: An effective decision procedure for linear arithmetic over the integers and reals. ACM Trans. Comput. Log. 6(3), 614–633 (2005)

    Article  MathSciNet  Google Scholar 

  7. Boyer, R.S., Moore, J.S.: Metafunctions: proving them correct and using them efficiently as new proof procedures. In: The Correctness Problem in Computer Science, pp. 103–84. Academic, New York (1981)

    Google Scholar 

  8. Chaieb, A.: Isabelle trifft Presburger Arithmetik. Master’s thesis, TU München (2003)

  9. Chaieb, A.: Verifying mixed real-integer quantifier elimination. In: Furbach, U., Shankar, N. (eds.) Automated Reasoning, Third International Joint Conference, IJCAR 2006, Seattle, WA, USA, August 17-20, 2006, Proceedings. Lect. Notes in Comp. Sci., vol. 4130, pp. 528–540. Springer, Heidelberg (2006).

    Google Scholar 

  10. Chaieb, A., Nipkow, T.: Verifying and reflecting quantifier elimination for Presburger arithmetic. In: Stutcliffe, G., Voronkov, A. (eds.) Logic for Programming, Artificial Intelligence, and Reasoning. Lect. Notes in Comp. Sci., vol. 3835. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  11. Chandra, A.K., Kozen, D.C., Stockmeyer, L.J.; Alternation. J. Assoc. Comput. Mach. 28(1), 114–133 (1981)

    MathSciNet  MATH  Google Scholar 

  12. Collins, G.E.: Quantifier elimination for real closed fields by cylindrical algebraic decomposition. In: Barkhage, H. (ed.) Automata Theory and Formal Languages. LNCS, vol. 33, pp. 134–183. Springer, Heidelberg (1975)

    Google Scholar 

  13. Cooper, D.C.: Theorem proving in arithmetic without multiplication. In: Meltzer, B., Michie, D. (eds.) Machine Intelligence, vol. 7, pp. 91–100. Edinburgh University Press, Edinburgh (1972)

    Google Scholar 

  14. Crégut, P.: Une procédure de décision réflexive pour un fragment de l’arithmétique de Presburger. In: Informal Proceedings of the 15th Journées Francophones Des Langages Applicatifs (2004)

  15. Crow, J., Owre, S., Rushby, J., Shankar, N., Stringer-Calvert, D.: Evaluating, testing, and animating PVS specifications. Technical report, Computer Science Laboratory, SRI International, Menlo Park, CA, (March 2001)

  16. Davis, M.: A computer program for Presburger’s algorithm. In: Summaries of Talks Presented at the Summer Inst. for Symbolic Logic, Cornell University, pp. 215–233. Inst. for Defense Analyses, Princeton, NJ (1957)

  17. Dines, L.: Systems of linear inequalities. Ann. Math. 20, 191–199 (1919)

    Article  MathSciNet  Google Scholar 

  18. Enderton, H.: A Mathematical Introduction to Logic. Academic, London (1972)

    MATH  Google Scholar 

  19. Ferrante, J., Rackoff, C.: A decision procedure for the first order theory of real addition with order. SIAM J. Comput. 4(1), 69–76 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  20. Fischer, M., Rabin, M.: Super-exponential complexity of Presburger arithmetic. In: SIAMAMS: Complexity of Computation: Proceedings of a Symposium in Applied Mathematics of the American Mathematical Society and the Society for Industrial and Applied Mathematics. American Mathematical Society and the Society for Industrial and Applied Mathematics, Providence (1974)

    Google Scholar 

  21. Fourier, J.: Solution d’une question particulière du calcul des inégalités. Nouveau Bulletin des Sciences par la Société Philomatique de Paris, pp. 99–100 (1823)

  22. Fürer, M.: The complexity of Presburger arithmetic with bounded quantifier alternation depth. Theor. Comput. Sci. 18, 105–111 (1982)

    Article  MATH  Google Scholar 

  23. Gordon, M.C.J., Milner, R., Wadsworth, C.P.: Edinburgh LCF: A Mechanised Logic of Computation. Lect. Notes in Comp. Sci., vol. 78. Springer, Heidelberg (1979)

    Google Scholar 

  24. Gordon, M.J.C., Melham, T.F. (eds.): Introduction to HOL: A Theorem-proving Environment for Higher Order Logic. Cambridge University Press, Cambridge (1993)

    MATH  Google Scholar 

  25. Grädel, E.: Subclasses of Presburger arithmetic and the polynomial-time hierarchy. Theor. Comput. Sci. 56, 289–301 (1988)

    Article  MATH  Google Scholar 

  26. Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. In: Int. Conf. Functional Programming, pp. 235–246. ACM, New York (2002)

    Google Scholar 

  27. Harrison, J.: HOL light tutorial (for version 2.20). University of Cambridge, Cambridge (September 2006)

    Google Scholar 

  28. Harrison, J.: Metatheory and reflection in theorem proving: a survey and critique. Technical Report CRC-053, SRI Cambridge, Millers Yard, Cambridge, UK. http://www.cl.cam.ac.uk/users/jrh/papers/reflect.dvi.gz (1995)

  29. Harrison, J.: Theorem proving with the real numbers. PhD Thesis, University of Cambridge, Computer Laboratory (1996)

  30. Klaedtke, F.: On the automata size for Presburger arithmetic. In: Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science (LICS 2004), pp. 110–119. IEEE Computer Society, Silver Spring (2004)

    Chapter  Google Scholar 

  31. Klapper, R., Stump, A.: Validated proof-producing decision procedures. In: Tinelli, C., Ranise, S. (eds.) 2nd Int. Workshop Pragmatics of Decision Procedures in Automated Reasoning, Cork, 5 July 2004

  32. Loos, R., Weispfenning, V.: Applying linear quantifier elimination. Comput. J. 36(5), 450–462 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  33. Mahboubi, A.: Contributions à la certification des calculs sur ℝ : théorie, preuves,programmation. PhD Thesis, Université de Nice Sophia-Antipolis (2006)

  34. McLaughlin, S.: An interpretation of isabelle/hol in hol light. In: Furbach, U., Shankar, N. (eds.) Automated Reasoning, Third International Joint Conference, IJCAR 2006, Seattle, WA, USA, August 17–20, 2006, Proceedings Lect. Notes in Comp. Sci., vol. 4130, pp. 192–204. Springer, Heidelberg (2006)

    Google Scholar 

  35. McLaughlin, S., Harrison, J.: A proof-producing decision procedure for real arithmetic. In: Nieuwenhuis, R. (ed.) CADE-20: 20th International Conference on Automated Deduction, Proceedings Lect. Notes in Comp. Sci., vol. 3632, pp. 295–314. Springer, Heidelberg (2005)

    Google Scholar 

  36. Motzkin, T.S.: Beiträge zur Theorie der linearen Ungleichungen. PhD Thesis, Universität Zürich (1936)

  37. Nelson, G.: Techniques for program verification. Technical Report CSL-81-10, Palo Alto Research Center (1981)

  38. Nipkow, T.: Functional unification of higher-order patterns. In: 8th IEEE Symp. Logic in Computer Science, pp. 64–74. IEEE Computer Society, Silver Spring (1993)

    Google Scholar 

  39. Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/HOL — A Proof Assistant for Higher-Order Logic. Lect. Notes in Comp. Sci., vol. 2283. Springer, Heidelberg. http://www.in.tum.de/~nipkow/LNCS2283/ (2002)

    MATH  Google Scholar 

  40. Norrish, M.: Complete integer decision procedures as derived rules in HOL. In Basin, D.A., Wolff, B. (eds.) Theorem Proving in Higher Order Logics, TPHOLs 2003. Lect. Notes in Comp. Sci., vol. 2758, pp. 71–86. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  41. Obua, S., Skalberg, S.: Importing hol into isabelle/hol. In: Furbach, U., Shankar, N. (eds.) Automated Reasoning, Third International Joint Conference, IJCAR 2006, Seattle, WA, USA, August 17–20, 2006, Proceedings Lect. Notes in Comp. Sci., vol. 4130, pp. 298–302. Springer, Heidelberg (2006)

    Google Scholar 

  42. Oppen, D.C.: Elementary bounds for presburger arithmetic. In: STOC ’73: Proceedings of the Fifth Annual ACM Symposium on Theory of Computing, pp. 34–37. ACM, New York (1973)

    Chapter  Google Scholar 

  43. Paulson, L.C.: Logic and Computation. Cambridge University Press, Cambridge (1987)

    MATH  Google Scholar 

  44. Presburger, M.: Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition als einzige Operation hervortritt. In: Comptes Rendus du I Congrès de Mathématiciens des Pays Slaves, pp. 92–101 (1929)

  45. Pugh, W.: The omega test: a fast and practical integer programming algorithm for dependence analysis. In: Proceedings of the 1991 ACM/IEEE Conference on Supercomputing, pp. 4–13. ACM, New York (1991)

    Chapter  Google Scholar 

  46. Reddy, C.R., Loveland, D.W.: Presburger arithmetic with bounded quantifier alternation. In: STOC ’78: Proceedings of the Tenth Annual ACM Symposium on Theory of Computing, pp. 320–325. ACM, New York (1978)

    Chapter  Google Scholar 

  47. Scarpellini, B.: Complexity of subclasses of Presburger arithmetic. Trans. AMS 284, 203–218 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  48. Skolem, T.: Über einige Satzfunktionen in der Arithmetik. In: Skrifter utgitt av Det Norske Videnskaps-Akademi i Oslo, I. Matematisk naturvidenskapelig klasse, vol. 7, pp. 1–28. Oslo (1931)

  49. Tarski, A.: A Decision Method for Elementary Algebra and Geometry, 2nd edn. University of California Press, Berkeley (1951)

    MATH  Google Scholar 

  50. Weispfenning, V.: The complexity of linear problems in fields. J. Symb. Comput. 5(1–2), 3–27 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  51. Weispfenning, V.: The complexity of almost linear diophantine problems. J. Symb. Comput. 10(5), 395–404 (1990)

    Article  MathSciNet  MATH  Google Scholar 

  52. Weispfenning, V.: Complexity and uniformity of elimination in Presburger arithmetic. In: ISSAC, pp. 48–53 (1997)

  53. Weispfenning, V.: Mixed real-integer linear quantifier elimination. In: ISSAC ’99: Proceedings of the 1999 International Symposium on Symbolic and Algebraic Computation, pp. 129–136. ACM, New York (1999)

    Chapter  Google Scholar 

  54. Wolper, P., Boigelot, B.: An automata-theoretic approach to presburger arithmetic constraints (extended abstract). In: SAS ’95: Proc. of the Second Int. Symp. on Static Analysis, pp. 21–32. Springer, London (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amine Chaieb.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chaieb, A., Nipkow, T. Proof Synthesis and Reflection for Linear Arithmetic. J Autom Reasoning 41, 33–59 (2008). https://doi.org/10.1007/s10817-008-9101-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-008-9101-x

Keywords

Navigation