Certified Reasoning with Infinity

  • Asankhaya SharmaEmail author
  • Shengyi Wang
  • Andreea Costea
  • Aquinas Hobor
  • Wei-Ngan Chin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9109)


We demonstrate how infinities improve the expressivity, power, readability, conciseness, and compositionality of a program logic. We prove that adding infinities to Presburger arithmetic enables these improvements without sacrificing decidability. We develop Omega++, a Coq-certified decision procedure for Presburger arithmetic with infinity and benchmark its performance. Both the program and proof of Omega++ are parameterized over user-selected semantics for the indeterminate terms (such as 0 * ∞).


Program Logic Decision Procedure Proof Assistant Separation Logic Linked List 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    The Coq Proof Assistant,
  2. 2.
    IEEE Standard for Floating-Point Arithmetic. IEEE Std 754-2008, pp. 1–70 (August 2008)Google Scholar
  3. 3.
    Bergmann, M.: An introduction to many-valued and fuzzy logic: semantics, algebras, and derivation systems. Cambridge University Press (2008)Google Scholar
  4. 4.
    Chaieb, A., Nipkow, T.: Verifying and reflecting quantifier elimination for presburger arithmetic. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, pp. 367–380. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Chin, W.-N., David, C., Nguyen, H.H., Qin, S.: Automated verification of shape, size and bag properties via user-defined predicates in separation logic. Sci. Comput. Program. 77(9), 1006–1036 (2012)CrossRefzbMATHGoogle Scholar
  6. 6.
    Ishtiaq, S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. In: ACM POPL (January 2001)Google Scholar
  7. 7.
    Kapur, D., Zhang, Z., Horbach, M., Zhao, H., Lu, Q., Nguyen, T.: Geometric Quantifier Elimination Heuristics for Automatically Generating Octagonal and Max-plus Invariants. In: Bonacina, M.P., Stickel, M.E. (eds.) McCune Festschrift 2013. LNCS (LNAI), vol. 7788, pp. 189–228. Springer, Heidelberg (2013)Google Scholar
  8. 8.
    Kapur, D.: Automatically generating loop invariants using quantifier elimination. In: Deduction and Applications (2005)Google Scholar
  9. 9.
    Kelly, P., Maslov, V., Pugh, W.: The Omega Library Version 1.1.0 Interface Guide (1996)Google Scholar
  10. 10.
    Kolmogorov, N.A.: “Infinity”. Encyclopaedia of Mathematics: An Updated and Annotated Translation of the Soviet “Mathematical Encyclopaedia,” vol. 3. Reidel (1995)Google Scholar
  11. 11.
    Kuncak, V., Nguyen, H.H., Rinard, M.: An algorithm for deciding BAPA: Boolean algebra with Presburger arithmetic. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS (LNAI), vol. 3632, pp. 260–277. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Kuncak, V., Rinard, M.: Towards efficient satisfiability checking for boolean algebra with Presburger arithmetic. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 215–230. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Lasaruk, A., Sturm, T.: Effective quantifier elimination for Presburger arithmetic with infinity. In: Gerdt, V.P., Mayr, E.W., Vorozhtsov, E.V. (eds.) CASC 2009. LNCS, vol. 5743, pp. 195–212. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Le, T.C., Gherghina, C., Hobor, A., Chin, W.-N.: A Resource-Based Logic for Termination and Non-Termination Proofs. In: Merz, S., Pang, J. (eds.) ICFEM 2014. LNCS, vol. 8829, pp. 267–283. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  15. 15.
    Loos, R., Weispfenning, V.: Applying linear quantifier elimination. Comput. J. 36(5), 450–462 (1993)CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Mai, H., Pek, E., Xue, H., King, S.T., Madhusudan, P.: Verifying security invariants in expressos. In: ASPLOS (2013)Google Scholar
  17. 17.
    Marcus, M., Pnueli, A.: Using ghost variables to prove refinement. In: AMST (1996)Google Scholar
  18. 18.
    McPeak, S., Necula, G.C.: Data structure specifications via local equality axioms. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 476–490. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    McShane, E.J.: Unified integration, vol. 107. Academic Press (1983)Google Scholar
  20. 20.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  21. 21.
    Pek, E., Qiu, X., Madhusudan, P.: Natural proofs for data structure manipulation in c using separation logic. In: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, p. 46. ACM (2014)Google Scholar
  22. 22.
    Piskac, R., Kuncak, V.: Decision procedures for multisets with cardinality constraints. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 218–232. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  23. 23.
    Piskac, R., Kuncak, V.: Linear arithmetic with stars. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 268–280. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  24. 24.
    Presburger, M.: Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchen die Addition als einzige Operation hervortritt (1929)Google Scholar
  25. 25.
    Reynolds, J.: Separation Logic: A Logic for Shared Mutable Data Structures. In: LICS (2002)Google Scholar
  26. 26.
    Reynolds, J.C.: The craft of programming. Prentice Hall International series in computer science. Prentice Hall (1981)Google Scholar
  27. 27.
    Weispfenning, V.: Quantifier elimination for real algebra - the quadratic case and beyond. Appl. Algebra Eng. Commun. Comput. 8(2), 85–101 (1997)CrossRefzbMATHMathSciNetGoogle Scholar
  28. 28.
    Weispfenning, V.: Mixed real-integer linear quantifier elimination. In: Proceedings of the 1999 International Symposium on Symbolic and Algebraic Computation, ISSAC 1999, Vancouver, B.C., Canada, July 29-31, pp. 129–136 (1999)Google Scholar
  29. 29.
    Omega++ with HIP/SLEEK. Source and binaries available at, (October 2014.)

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Asankhaya Sharma
    • 1
    Email author
  • Shengyi Wang
    • 1
  • Andreea Costea
    • 1
  • Aquinas Hobor
    • 1
  • Wei-Ngan Chin
    • 1
  1. 1.School of Computing, Yale-NUS CollegeNational University of SingaporeSingaporeSingapore

Personalised recommendations