Journal of Automated Reasoning

, Volume 56, Issue 3, pp 367–386 | Cite as

A Heuristic Prover for Real Inequalities

  • Jeremy Avigad
  • Robert Y. Lewis
  • Cody Roux


We describe a general method for verifying inequalities between real-valued expressions, especially the kinds of straightforward inferences that arise in interactive theorem proving. In contrast to approaches that aim to be complete with respect to a particular language or class of formulas, our method establishes claims that require heterogeneous forms of reasoning, relying on a Nelson-Oppen-style architecture in which special-purpose modules collaborate and share information. The framework is thus modular and extensible. A prototype implementation shows that the method works well on a variety of examples, and complements techniques that are used by contemporary interactive provers.


Real-valued inequalities Interactive theorem proving Automated theorem proving 



We are grateful to Leonardo de Moura and the anonymous referees for helpful corrections, information, and suggestions.


  1. 1.
    Akbarpour, B., Paulson, L.: MetiTarski: an automatic prover for the elementary functions. In: Autexier, S., et al. (eds.) AISC/MKM/Calculemus 2008, pp. 217–231. Springer, Berlin (2008)Google Scholar
  2. 2.
    Avigad, J., Donnelly, K., Gray, D., Raff, P.: A formally verified proof of the prime number theorem. ACM Trans. Comput. Logic 9(1), 2 (2007)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Avigad, J., Friedman, H.: Combining decision procedures for the reals. Log. Methods Comput. Sci. 2(4), 4:4, 42 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Avigad, J., Hölzl, J., Serafin, L.: A formally verified proof of the Central Limit Theorem. (In preparation)Google Scholar
  5. 5.
    Avigad, J., Lewis, R.Y., Roux, C.: A heuristic prover for real inequalities. In: Klein, Gerwin, Gamboa, Ruben (eds.) Interactive Theorem Proving, pp. 61–76. Springer, Heidelberg (2014)Google Scholar
  6. 6.
    Avis, D.: Living with lrs. In: Akiyama, J., Kano, M., Urabe, M. (eds.) Discrete and Computational Geometry (Tokyo, 1998), pp. 47–56. Springer, Berlin (2000)Google Scholar
  7. 7.
    Barrett, C., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisability modulo theories. In: Biere, A., et al. (eds.) Handbook of Satisability, pp. 825–885. IOS Press, Amsterdam (2008)Google Scholar
  8. 8.
    Basu, S., Pollack, R., Roy, M.: Algorithms in Real Algebraic Geometry. Springer, Berlin (2003)CrossRefzbMATHGoogle Scholar
  9. 9.
    Billingsley, P.: Probability and Measure, 3rd edn. Wiley, New York (1995)zbMATHGoogle Scholar
  10. 10.
    Blanchette, J., Böhme, S., Paulson, L.: Extending Sledgehammer with SMT solvers. Automated Deduction-CADE-23. Springer, Berlin (2011)CrossRefzbMATHGoogle Scholar
  11. 11.
    Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, Cambridge (2004)CrossRefzbMATHGoogle Scholar
  12. 12.
    Chaieb, A., Nipkow, T.: Proof synthesis and reflection for linear arithmetic. J. Autom. Reason. 41(1), 33–59 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Contejean, E.: A certified AC matching algorithm. In: van Oostrom, (ed.) Rewriting Techniques and Applications, pp. 70–84. Springer, Berlin (2004)CrossRefGoogle Scholar
  14. 14.
    de Moura, L., Bjørner, N.: Efficient E-Matching for SMT Solvers. CADE. Springer, Berlin (2007)CrossRefzbMATHGoogle Scholar
  15. 15.
    de Moura, L., Bjørner, N.: Z3: An Efficient SMT Solver. In: TACAS, pp. 337–340. (2008)Google Scholar
  16. 16.
    Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: Ball, T., Jones, R. (eds.) CAV 2006, pp. 81–94. Springer, Berlin (2006)Google Scholar
  17. 17.
    Fukuda, K., Prodon, A.: Double Description Method Revisited. Combinatorics and Computer Science. Springer, Berlin (1996)CrossRefGoogle Scholar
  18. 18.
    Garling, D.J.H.: Inequalities: A Journey into Linear Analysis. Cambridge University Press, Cambridge (2007)CrossRefzbMATHGoogle Scholar
  19. 19.
    Gao, S., Avigad, J., Clarke, E.M.: Delta-complete decision procedures for satisfiability over the reals. In: Gramlich, B. et al. (eds.) IJCAR, pp. 286–300. Springer, Heidelberg (2012)Google Scholar
  20. 20.
    Hardy, G .H., Littlewood, J .E., Pólya, G.: Inequalities. Cambridge University Press, Cambridge (1988). (Reprint of the 1952 edition)zbMATHGoogle Scholar
  21. 21.
    Harrison, J.: HOL light: a tutorial introduction. In: Srivas, M., Camilleri, A. (eds.) FMCAD, pp. 265–269. Springer, Berlin (1996)Google Scholar
  22. 22.
    Harrison, J.: Verifying nonlinear real formulas via sums of squares. In: Schneider, K., Brandt, J. (eds.) TPHOLs, pp. 102–118. Springer, Berlin (2007)Google Scholar
  23. 23.
    Hunt, W .A., Krug, R .B., Moore, J.: Linear and nonlinear arithmetic in ACL2. In: Geist, D., Tronci, E. (eds.) Correct Hardware Design and Verification Methods, pp. 319–333. Springer, Berlin (2003)CrossRefGoogle Scholar
  24. 24.
    Jones, C.N., Kerrigan, E.C., Maciejowski, J.M.: Equality set projection: a new algorithm for the projection of polytopes in halfspace representation. Technical report, Department of Engineering, University of Cambridge (2004)Google Scholar
  25. 25.
    Kaufmann, M., Manolios, P., Strother Moore, J.: Computer-Aided Reasoning: An Approach. Kluwer, Berlin (2000)Google Scholar
  26. 26.
    Lewis, R.Y.: Polya: a heuristic procedure for reasoning with real inequalities. M.S. Thesis, Department of Philosophy, Carnegie Mellon University (2014)Google Scholar
  27. 27.
    McLaughlin, S., Harrison, J.: A proof producing decision procedure for real arithmetic. In: Nieuwenhuis, R. (ed.) Automated Deduction—CADE-20, pp. 295–314. Springer, Berlin (2005)CrossRefGoogle Scholar
  28. 28.
    Meng, J., Paulson, L.: Lightweight relevance filtering for machine-generated resolution problems. J. Appl. Log. 7(1), 41–57 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Moore, R., Kearfott, R., Cloud, M.: Introduction to Interval Analysis. Society for Industrial and Applied Mathematics (SIAM), Philadelphia (2009)CrossRefzbMATHGoogle Scholar
  30. 30.
    Moses, J.: Algebraic simplification: a guide for the perplexed. Commun. ACM 14, 527–537 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Moskal, M., Łopusański, J., Kiniry, J.: E-matching for fun and profit. In: Proceedings of the 5th International Workshop on SMT (2008)Google Scholar
  32. 32.
    Nelson, G., Oppen, D.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1, 245–257 (1979)CrossRefzbMATHGoogle Scholar
  33. 33.
    Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/HOL. A Proof Assistant for Higher-Order Logic. Springer, Berlin (2002)zbMATHGoogle Scholar
  34. 34.
    Platzer, A., KeYmaera, JQuesel: A Hybrid theorem prover for hybrid systems. In: Armando, Baumgartner, Dowek, (eds.) IJCAR 2008, pp. 171–178. Springer, Heidelberg (2008)Google Scholar
  35. 35.
    Platzer, A., Quesel, J., Rummer, P.: Real world verification. In: Schmidt, (ed.) CADE 2009, pp. 485–501. Sprinter, Heidelberg (2009)Google Scholar
  36. 36.
    Polya, G.: How to Solve It. Princeton University Press, Princeton, NJ (1945)zbMATHGoogle Scholar
  37. 37.
    Prevosto, V., Waldmann, U.: SPASS+T. In: Sutcliffe, G. et al. (ed.). ESCoR: Empirically Successful Computerized Reasoning 2006. CEUR Workshop Proceedings, pp. 18–33 (2006)Google Scholar
  38. 38.
    Pugh, W.: The omega test: a fast and practical integer programming algorithm for dependence analysis. Commun. ACM 8, 4–13 (1992)Google Scholar
  39. 39.
    Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1986)zbMATHGoogle Scholar
  40. 40.
    Ziegler, G.: Lectures on Polytopes. Springer, Berlin (1995)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2016

Authors and Affiliations

  1. 1.Carnegie Mellon UniversityPittsburghUSA
  2. 2.Draper LaboratoriesCambridgeUSA

Personalised recommendations