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.
Similar content being viewed by others
References
Barendregt, H., Barendsen, E.: Autarkic computations in formal proofs. J. Autom. Reason. 28(3), 321–336 (2002)
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)
Berman, L.: Precise bounds for Presburger arithmetic and the reals with addition: preliminary report. In: FOCS, pp. 95–99. IEEE, Piscataway (1977)
Berman, L.: The complexitiy of logical theories. Theor. Comput. Sci. 11, 71–77 (1980)
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)
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)
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)
Chaieb, A.: Isabelle trifft Presburger Arithmetik. Master’s thesis, TU München (2003)
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).
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)
Chandra, A.K., Kozen, D.C., Stockmeyer, L.J.; Alternation. J. Assoc. Comput. Mach. 28(1), 114–133 (1981)
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)
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)
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)
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)
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)
Dines, L.: Systems of linear inequalities. Ann. Math. 20, 191–199 (1919)
Enderton, H.: A Mathematical Introduction to Logic. Academic, London (1972)
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)
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)
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)
Fürer, M.: The complexity of Presburger arithmetic with bounded quantifier alternation depth. Theor. Comput. Sci. 18, 105–111 (1982)
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)
Gordon, M.J.C., Melham, T.F. (eds.): Introduction to HOL: A Theorem-proving Environment for Higher Order Logic. Cambridge University Press, Cambridge (1993)
Grädel, E.: Subclasses of Presburger arithmetic and the polynomial-time hierarchy. Theor. Comput. Sci. 56, 289–301 (1988)
Grégoire, B., Leroy, X.: A compiled implementation of strong reduction. In: Int. Conf. Functional Programming, pp. 235–246. ACM, New York (2002)
Harrison, J.: HOL light tutorial (for version 2.20). University of Cambridge, Cambridge (September 2006)
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)
Harrison, J.: Theorem proving with the real numbers. PhD Thesis, University of Cambridge, Computer Laboratory (1996)
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)
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
Loos, R., Weispfenning, V.: Applying linear quantifier elimination. Comput. J. 36(5), 450–462 (1993)
Mahboubi, A.: Contributions à la certification des calculs sur ℝ : théorie, preuves,programmation. PhD Thesis, Université de Nice Sophia-Antipolis (2006)
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)
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)
Motzkin, T.S.: Beiträge zur Theorie der linearen Ungleichungen. PhD Thesis, Universität Zürich (1936)
Nelson, G.: Techniques for program verification. Technical Report CSL-81-10, Palo Alto Research Center (1981)
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)
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)
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)
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)
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)
Paulson, L.C.: Logic and Computation. Cambridge University Press, Cambridge (1987)
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)
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)
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)
Scarpellini, B.: Complexity of subclasses of Presburger arithmetic. Trans. AMS 284, 203–218 (1984)
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)
Tarski, A.: A Decision Method for Elementary Algebra and Geometry, 2nd edn. University of California Press, Berkeley (1951)
Weispfenning, V.: The complexity of linear problems in fields. J. Symb. Comput. 5(1–2), 3–27 (1988)
Weispfenning, V.: The complexity of almost linear diophantine problems. J. Symb. Comput. 10(5), 395–404 (1990)
Weispfenning, V.: Complexity and uniformity of elimination in Presburger arithmetic. In: ISSAC, pp. 48–53 (1997)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-008-9101-x