Skip to main content

Farkas-Based Tree Interpolation

  • Conference paper
  • First Online:
Static Analysis (SAS 2020)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12389))

Included in the following conference series:

Abstract

Linear arithmetic over reals (LRA) underlies a wide range of SMT-based modeling approaches, and, strengthened with Craig interpolation using Farkas’ lemma, is a central tool for efficient over-approximation. Recent advances in LRA interpolation have resulted in a range of promising interpolation algorithms with so far poorly understood properties. In this work we study the Farkas-based algorithms with respect to tree interpolation, a practically important approach where a set of interpolants is constructed following a given tree structure. We classify the algorithms based on whether they guarantee the tree interpolation property, and present how to lift a recently introduced approach producing conjunctive LRA interpolants to tree interpolation in the quantifier-free LRA fragment of first-order logic. Our experiments show that the standard interpolation and the approach using conjunctive interpolants are complementary in tree interpolation, and suggest that their combination would be very powerful in practice.

This work was supported by Swiss National Science Foundation grant 200021_185031 and by Czech Science Foundation grant 20-07487S.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The Farkas interpolation algorithm \( Itp ^{F}\) guarantees TI (see, e.g., [7]). We show this for a stronger notion of tree interpolants.

  2. 2.

    For example in [7] this is called the tree interpolation property.

  3. 3.

    This property appears in the literature under names generalized simultaneous abstraction [17] and symmetric interpolation [21].

  4. 4.

    Farkas interpolation algorithm can be seen as the special case \( Itp ^{(1)}\), but dual Farkas interpolation algorithm is not a special case of the flexible interpolation algorithm.

References

  1. Alt, L., Hyvärinen, A.E.J., Sharygina, N.: LRA interpolants from no man’s land. HVC 2017. LNCS, vol. 10629, pp. 195–210. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70389-3_13

    Chapter  Google Scholar 

  2. Asadi, S., Blicha, M., Hyvärinen, A., Fedyukovich, G., Sharygina, N.: Incremental verification by SMT-based summary repair. In: Proceedings FMCAD 2020. IEEE digital library (2020)

    Google Scholar 

  3. Barrett, C., Sebastiani, R., Seshia, S., Tinelli, C.: Satisfiability modulo theories, Frontiers in Artificial Intelligence and Applications, (1 edn.) vol. 185, pp. 825–885. IOS Press(2009)

    Google Scholar 

  4. Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-49059-0_14

    Chapter  Google Scholar 

  5. Blanc, R., Gupta, A., Kovács, L., Kragl, B.: Tree interpolation in vampire. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR 2013. LNCS, vol. 8312, pp. 173–181. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45221-5_13

    Chapter  Google Scholar 

  6. Blicha, M., Hyvärinen, A.E.J., Kofroň, J., Sharygina, N.: Decomposing Farkas interpolants. In: Vojnar, T., Zhang, L. (eds.) TACAS 2019. LNCS, vol. 11427, pp. 3–20. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17462-0_1

    Chapter  Google Scholar 

  7. Christ, J., Hoenicke, J.: Proof tree preserving tree interpolation. J. Autom. Reasoning 57(1), 67–95 (2016)

    Article  MathSciNet  Google Scholar 

  8. Cimatti, A., Griggio, A., Sebastiani, R.: Efficient generation of Craig interpolants in satisfiability modulo theories. ACM Trans. Comput. Log. 12(1), 7:1–7:54 (2010)

    Article  MathSciNet  Google Scholar 

  9. Craig, W.: Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. In: Journal of Symbolic Logic, pp. 269–285 (1957)

    Google Scholar 

  10. Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)

    Article  MathSciNet  Google Scholar 

  11. D’Silva, V., Kroening, D., Purandare, M., Weissenbacher, G.: Interpolant strength. In: Barthe, G., Hermenegildo, M. (eds.) VMCAI 2010. LNCS, vol. 5944, pp. 129–145. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11319-2_12

    Chapter  Google Scholar 

  12. Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_11

    Chapter  Google Scholar 

  13. Farzan, A., Kincaid, Z.: Strategy synthesis for linear arithmetic games. PACMPL 2(POPL), 1–61 (2018)

    Google Scholar 

  14. Fedyukovich, G., Bodík, R.: Accelerating syntax-guided invariant synthesis. In: Beyer, D., Huisman, M. (eds.) TACAS 2018. LNCS, vol. 10805, pp. 251–269. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89960-2_14

    Chapter  Google Scholar 

  15. Fedyukovich, G., Sery, O., Sharygina, N.: eVolCheck: incremental upgrade checker for C. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013. LNCS, vol. 7795, pp. 292–307. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36742-7_21

    Chapter  MATH  Google Scholar 

  16. Gupta, A., Popeea, C., Rybalchenko, A.: Solving recursion-free horn clauses over LI+UIF. In: Yang, H. (ed.) APLAS 2011. LNCS, vol. 7078, pp. 188–203. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-25318-8_16

    Chapter  MATH  Google Scholar 

  17. 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). https://doi.org/10.1007/978-3-319-02444-8_19

    Chapter  MATH  Google Scholar 

  18. Heizmann, M., Hoenicke, J., Podelski, A.: Nested interpolants. In: Proceedings POPL 2010, pp. 471–482. ACM (2010)

    Google Scholar 

  19. Hojjat, H., Rümmer, P.: The ELDARICA Horn Solver. In: FMCAD, pp. 158–164. IEEE (2018)

    Google Scholar 

  20. Hyvärinen, A.E.J., Marescotti, M., Alt, L., Sharygina, N.: OpenSMT2: an SMT solver for multi-core and cloud computing. In: Creignou, N., Le Berre, D. (eds.) SAT 2016. LNCS, vol. 9710, pp. 547–553. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-40970-2_35

    Chapter  MATH  Google Scholar 

  21. 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). https://doi.org/10.1007/11513988_6

    Chapter  Google Scholar 

  22. Komuravelli, A., Gurfinkel, A., Chaki, S., Clarke, E.M.: Automatic abstraction in SMT-based unbounded software model checking. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 846–862. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39799-8_59

    Chapter  Google Scholar 

  23. McMillan, K.L.: An interpolating theorem prover. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 16–30. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24730-2_2

    Chapter  Google Scholar 

  24. McMillan, K.L., Rybalchenko, A.: Solving constrained Horn clauses using interpolation. Technical Report MSR-TR-2013-6 (2013)

    Google Scholar 

  25. Pudlák, P.: Lower bounds for resolution and cutting plane proofs and monotone computations. J. Symbolic Logic 62(3), 981–998 (1997)

    Article  MathSciNet  Google Scholar 

  26. Rollini, S.F., Sery, O., Sharygina, N.: Leveraging interpolant strength in model checking. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 193–209. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31424-7_18

    Chapter  Google Scholar 

  27. Rümmer, P., Hojjat, H., Kuncak, V.: Disjunctive interpolants for horn-clause verification. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 347–363. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39799-8_24

    Chapter  Google Scholar 

  28. 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). https://doi.org/10.1007/978-3-540-69738-1_25

    Chapter  Google Scholar 

  29. Sery, O., Fedyukovich, G., Sharygina, N.: Incremental upgrade checking by means of interpolation-based function summaries. In: Proceedings FMCAD 2012, pp. 114–121. IEEE (2012)

    Google Scholar 

  30. Sharma, R., Nori, A.V., Aiken, A.: Interpolants as classifiers. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 71–87. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-31424-7_11

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Martin Blicha , Antti Hyvärinen , Grigory Fedyukovich or Natasha Sharygina .

Editor information

Editors and Affiliations

A Appendix A

A Appendix A

In this appendix we give auxiliary material for more formal treatment of the connection between propositional and theory interpolation. The propositional resolution rule state that an assignment satisfying the clauses \(cl^+ \vee p\) and \(cl^- \vee \overline{p}\) also satisfies \(cl^+ \vee cl^-\).

Our propositional interpolation works on a refutation of a formula \(A \wedge B\). We denote atoms of A and B as \( Atoms (A, B)\). Note that each \( At \in Atoms (A, B)\) may appear only in A, only in B, or in both conjuncts; Similarly to the notation in [11], we assign a color among \(\{a,b,ab\}\) independently to each \( At \), depending on whether \( At \) occurs only in A, only in B, or in both, respectively.

Table 2 describes the Pudlák interpolation algorithm, where the notation \(p\text {:}\varepsilon \) indicates that a literal p has color \(\varepsilon \).

Table 2. Pudlák’s interpolation algorithm

Lemma 2 (source clause, base case)

The strong tree-interpolation property holds for Pudlák’s interpolation algorithm \( Itp ^{P}{}\) for source clauses.

Proof

Let cl be a source clause. There are three cases: \(cl \in X\), \(cl \in Y\), or \(cl \in Z\). We consider the three interpolation instances \((X \,| \, Y\wedge Z)\), \((Y \,| \, X\wedge Z)\), and \((X\wedge Y \,| \, Z)\), and check whether TI holds, i.e., whether

$$\begin{aligned} Itp ^{P}{(X \,| \, Y \wedge Z)} \wedge Itp ^{P}{(Y \,| \, X\wedge Z)} \implies Itp ^{P}{(X\wedge Y \,| \, Z)}. \end{aligned}$$
(3)

The relevant part in the algorithm is shown in Table 2 (left).

  • \(cl \in X\): When \(cl \in X\), using Pudlák’s interpolation algorithm and substituting the interpolants in Eq. (3), we have \(( {\bot } \wedge {\top } ) \implies {\bot } \), which is valid.

  • \(cl \in Y\): The case \(cl \in Y\) is symmetric to the case when \(cl \in X\), and thus valid.

  • \(cl \in Z\): When \(cl \in Z\), we have again by substiting in Eq. (3) \(( {\top } \wedge {\top } ) \implies {\top } \), which is valid.

   \(\Box \)

Lemma 3 (inner node)

Let p be a variable. In refutation \(\mathbb {P}\), if partial interpolants for nodes \(cl^+ \vee p \) and \(cl^- \vee \hat{p}\) satisfy the strong tree-interpolation property, then the partial interpolant for \(cl^+ \vee cl^-\) satisfy the strong tree-interpolation property.

Proof

We show that for all resolvents in refutation \(\mathbb {P}\), the implication \((I_X \wedge I_Y) \implies I_{ XY }\) holds, where \(I_X = (X \,| \, Y\wedge Z), I_Y = (Y \,| \, X\wedge Z)\), and \(I_{ XY } = ( XY \,| \, Z).\)

we consider a node \(cl^+ \vee cl^-\) representing resolution over a variable p with parent nodes \(p \vee cl^+\) and \(\bar{p} \vee cl^-\). From the inductive hypotheses, we have partial interpolants \(I^+_X\), \(I^+_Y\), and \(I^+_{XY}\) for the node \(p \vee cl^+\) so that \((I^+_X \wedge I^+_Y) \implies I^+_{XY}\) and partial interpolants \(I^-_X\), \(I^-_Y\), and \(I^-_{XY}\) for the node \(\bar{p} \vee cl^-\) so that \((I^-_X \wedge I^-_Y) \implies I^-_{XY}\).

We consider different cases of coloring of p. Depending on presence of p in the three partitions, i.e., X, Y, and Z, and also depending on interpolation instances \((X \,| \, Y \wedge Z)\), \((Y \,| \, X \wedge Z)\), and \((X\wedge Y \,| \, Z)\), p is colored a, b, or ab (Table 3).

Table 3. Coloring of variable p for each partial interpolant.

In case of \(p \in X\), based on Pudlák’s algorithm 2, \(I_X \equiv I^+_X \vee I^-_X , \quad I_Y \equiv I^+_Y \wedge I^-_Y , \quad I_{XY} \equiv I^+_{XY} \vee I^-_{XY}\).

Using the inductive hypothesis, we have \(((I^+_X \vee I^-_X) \wedge I^+_Y \wedge I^-_Y) \implies (I^+_{XY} \vee I^-_{XY})\), which is the required claim \((I_X \wedge I_Y) \implies I_{XY}\). The case \(p \in Y\) is symmetric.

In case of \(p \in Z\), we have \(I_X \equiv I^+_X \wedge I^-_X , \quad I_Y \equiv I^+_Y \wedge I^-_Y , \quad I_{XY} \equiv I^+_{XY} \wedge I^-_{XY}\). Using the inductive hypothesis, we have \((I^+_X \wedge I^-_X \wedge I^+_Y \wedge I^-_Y) \implies (I^+_{XY} \wedge I^-_{XY})\), which is the required claim \((I_X \wedge I_Y) \implies I_{XY}\).

In case of \(p \in X \cap Y \cap Z\), using sel(pPQ) as a shortcut for \((p \vee P) \wedge (\bar{p} \vee Q)\), we get: \(I_X = sel(p, I^+_X, I^-_X) , \quad I_Y = sel(p, I^+_Y, I^-_Y) , \quad I_{XY} = sel(p, I^+_{XY}, I^-_{XY}). \) Using the inductive hypothesis and considering both possible values of p, we have \((sel(p, I^+_X, I^-_X) \wedge sel(p, I^+_Y, I^-_Y)) \implies sel(p, I^+_{XY}, I^-_{XY})\), which is the desired claim \((I_X \wedge I_Y) \implies I_{XY}\). The other cases where \(p \in X \cap Y\) or \(p \in X \cap Z\) or \(p \in Y \cap Z\) are subsumed by this case as \((P \wedge Q) \implies sel(p, P, Q) \implies (P \vee Q)\).   \(\Box \)

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Asadi, S., Blicha, M., Hyvärinen, A., Fedyukovich, G., Sharygina, N. (2020). Farkas-Based Tree Interpolation. In: Pichardie, D., Sighireanu, M. (eds) Static Analysis. SAS 2020. Lecture Notes in Computer Science(), vol 12389. Springer, Cham. https://doi.org/10.1007/978-3-030-65474-0_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-65474-0_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-65473-3

  • Online ISBN: 978-3-030-65474-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics