Sharper and Simpler Nonlinear Interpolants for Program Verification

  • Takamasa OkudonoEmail author
  • Yuki Nishida
  • Kensuke Kojima
  • Kohei Suenaga
  • Kengo Kido
  • Ichiro Hasuo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10695)


Interpolation of jointly infeasible predicates plays important roles in various program verification techniques such as invariant synthesis and CEGAR. Intrigued by the recent result by Dai et al. that combines real algebraic geometry and SDP optimization in synthesis of polynomial interpolants, the current paper contributes its enhancement that yields sharper and simpler interpolants. The enhancement is made possible by: theoretical observations in real algebraic geometry; and our continued fraction-based algorithm that rounds off (potentially erroneous) numerical solutions of SDP solvers. Experiment results support our tool’s effectiandveness; we also demonstrate the benefit of sharp and simple interpolants in program verification examples.


Program verification Interpolation Nonlinear interpolant Polynomial Real algebraic geometry SDP optimization Numerical optimization 



Thanks are due to Eugenia Sironi, Gidon Ernst and the anonymous referees for their useful comments. T.O., K. Kido and I.H. are supported by JST ERATO HASUO Metamathematics for Systems Design Project (No. JPMJER1603), and JSPS Grants-in-Aid No. 15KT0012 & 15K11984. K. Kojima is supported by JST CREST. K.S. is supported by JST PRESTO No. JPMJPR15E5 and JSPS Grants-in-Aid No. 15KT0012. K. Kido is supported by JSPS Grant-in-Aid for JSPS Research Fellows No. 15J05580.


  1. 1.
    Anai, H., Parrilo, P.A.: Convex quantifier elimination for semidefinite programming. In: Proceedings of the International Workshop on Computer Algebra in Scientific Computing, CASC (2003)Google Scholar
  2. 2.
    Besson, F.: Fast reflexive arithmetic tactics the linear case and beyond. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 48–62. Springer, Heidelberg (2007). CrossRefGoogle Scholar
  3. 3.
    Bochnak, J., Coste, M., Roy, M.F.: Real Algebraic Geometry. Springer, New York (1999)zbMATHGoogle Scholar
  4. 4.
    Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50(5), 752–794 (2003). MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Colón, M., Sankaranarayanan, S., Sipma, H.: Linear invariant generation using non-linear constraint solving. In: Hunt Jr., Somenzi [14], pp. 420–432Google Scholar
  6. 6.
    Dai, L.: The tool \(\mathtt{{aiSat}}\). Accessed 17 Jan 2017
  7. 7.
    Dai, L., Gan, T., Xia, B., Zhan, N.: Barrier certificates revisited. J. Symb. Comput. 80, 62–86 (2017). MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Dai, L., Xia, B., Zhan, N.: Generating non-linear interpolants by semidefinite programming. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 364–380. Springer, Heidelberg (2013). CrossRefGoogle Scholar
  9. 9.
    Gan, T., Dai, L., Xia, B., Zhan, N., Kapur, D., Chen, M.: Interpolant synthesis for quadratic polynomial inequalities and combination with EUF. In: Olivetti, N., Tiwari, A. (eds.) IJCAR 2016. LNCS (LNAI), vol. 9706, pp. 195–212. Springer, Cham (2016). Google Scholar
  10. 10.
    Gao, S., Zufferey, D.: Interpolants in nonlinear theories over the reals. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 625–641. Springer, Heidelberg (2016). CrossRefGoogle Scholar
  11. 11.
    Gurfinkel, A., Rollini, S.F., Sharygina, N.: Interpolation properties and SAT-based model checking. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 255–271. Springer, Cham (2013). CrossRefGoogle Scholar
  12. 12.
    Harrison, J.: Verifying nonlinear real formulas via sums of squares. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 102–118. Springer, Heidelberg (2007). CrossRefGoogle Scholar
  13. 13.
    Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: Jones, N.D., Leroy, X. (eds.) Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2004, Venice, Italy, January 14–16, 2004. pp. 232–244. ACM (2004).
  14. 14.
    Hunt Jr., W.A., Somenzi, F. (eds.): CAV 2003. LNCS, vol. 2725. Springer, Heidelberg (2003). Google Scholar
  15. 15.
    Jhala, R., McMillan, K.L.: Interpolant-based transition relation approximation. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 39–51. Springer, Heidelberg (2005). CrossRefGoogle Scholar
  16. 16.
    Jhala, R., McMillan, K.L.: A practical and complete approach to predicate refinement. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 459–473. Springer, Heidelberg (2006). CrossRefGoogle Scholar
  17. 17.
    Kaltofen, E., Li, B., Yang, Z., Zhi, L.: Exact certification of global optimality of approximate factorizations via rationalizing sums-of-squares with floating point scalars. In: Sendra, J.R., González-Vega, L. (eds.) Symbolic and Algebraic Computation, International Symposium, ISSAC 2008, Linz/Hagenberg, Austria, July 20–23, 2008, Proceedings, pp. 155–164. ACM (2008).
  18. 18.
    Kupferschmid, S., Becker, B.: Craig interpolation in the presence of non-linear constraints. In: Fahrenberg, U., Tripakis, S. (eds.) FORMATS 2011. LNCS, vol. 6919, pp. 240–255. Springer, Heidelberg (2011). CrossRefGoogle Scholar
  19. 19.
    Lang, S.: Introduction to Diophantine Approximations. Springer Books on Elementary mathematics. Springer, New York (1995). CrossRefzbMATHGoogle Scholar
  20. 20.
    Lin, W., Wu, M., Yang, Z., Zeng, Z.: Proving total correctness and generating preconditions for loop programs via symbolic-numeric computation methods. Front. Comput. Sci. 8(2), 192–202 (2014). MathSciNetCrossRefGoogle Scholar
  21. 21.
    McMillan, K.L.: Interpolation and sat-based model checking. In: Hunt Jr., Somenzi [14], pp. 1–13Google Scholar
  22. 22.
    McMillan, K.L.: Applications of craig interpolants in model checking. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 1–12. Springer, Heidelberg (2005). CrossRefGoogle Scholar
  23. 23.
    McMillan, K.L.: Lazy abstraction with interpolants. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 123–136. Springer, Heidelberg (2006). CrossRefGoogle Scholar
  24. 24.
    Okudono, T., Nishida, Y., Kojima, K., Suenaga, K., Kido, K., Hasuo, I.: Sharper and simpler nonlinear interpolants for program verification. CoRR abs/1709.00314 (2017)Google Scholar
  25. 25.
    Parrilo, P.: Structured semidefinite programs and semialgebraic geometry methods in robustness and optimization. Ph.D. thesis, California Inst. of Tech. (2000)Google Scholar
  26. 26.
    Parrilo, P.A.: Semidefinite programming relaxations for semialgebraic problems. Math. Program. 96(2), 293–320 (2003). MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Peyrl, H., Parrilo, P.A.: Computing sum of squares decompositions with rational coefficients. Theor. Comput. Sci. 409(2), 269–281 (2008). MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Platzer, A., Quesel, J.-D., Rümmer, P.: Real world verification. In: Schmidt, R.A. (ed.) CADE 2009. LNCS (LNAI), vol. 5663, pp. 485–501. Springer, Heidelberg (2009). CrossRefGoogle Scholar
  29. 29.
    Putinar, M.: Positive polynomials on compact semi-algebraic sets. Indiana Univ. Math. Journ. 42(3), 969–984 (1993)CrossRefzbMATHGoogle Scholar
  30. 30.
    Roux, P., Voronin, Y.-L., Sankaranarayanan, S.: Validating numerical semidefinite programming solvers for polynomial invariants. In: Rival, X. (ed.) SAS 2016. LNCS, vol. 9837, pp. 424–446. Springer, Heidelberg (2016). CrossRefGoogle Scholar
  31. 31.
    Rump, S.: Verification of positive definiteness. BIT Numer. Math. 46(2), 433–452 (2006). MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Rybalchenko, A., Sofronie-Stokkermans, V.: Constraint solving for interpolation. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 346–362. Springer, Heidelberg (2007). CrossRefGoogle Scholar
  33. 33.
    Sharma, R., Gupta, S., Hariharan, B., Aiken, A., Liang, P., Nori, A.V.: A data driven approach for algebraic loop invariants. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 574–592. Springer, Heidelberg (2013). CrossRefGoogle Scholar
  34. 34.
    Stengle, G.: A Nullstellensatz and a Positivstellensatz in semialgebraic geometry. Math. Ann. 207(2), 87–97 (1974). MathSciNetCrossRefzbMATHGoogle Scholar
  35. 35.
    Terauchi, T.: Explaining the effectiveness of small refinement heuristics in program verification with CEGAR. In: Blazy, S., Jensen, T. (eds.) SAS 2015. LNCS, vol. 9291, pp. 128–144. Springer, Heidelberg (2015). CrossRefGoogle Scholar
  36. 36.
    Toh, K.C., Todd, M., Tütüncü, R.H.: Sdpt3 - a matlab software package for semidefinite programming. Optim. Methods Softw. 11, 545–581 (1999)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Takamasa Okudono
    • 1
  • Yuki Nishida
    • 2
  • Kensuke Kojima
    • 2
  • Kohei Suenaga
    • 2
    • 3
  • Kengo Kido
    • 1
    • 4
  • Ichiro Hasuo
    • 5
  1. 1.University of TokyoTokyoJapan
  2. 2.Kyoto UniversityKyotoJapan
  3. 3.JST PRESTOKyotoJapan
  4. 4.JSPS Research FellowTokyoJapan
  5. 5.National Institute of InformaticsTokyoJapan

Personalised recommendations