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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The Farkas interpolation algorithm \( Itp ^{F}\) guarantees TI (see, e.g., [7]). We show this for a stronger notion of tree interpolants.
- 2.
For example in [7] this is called the tree interpolation property.
- 3.
- 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
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
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)
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)
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
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
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
Christ, J., Hoenicke, J.: Proof tree preserving tree interpolation. J. Autom. Reasoning 57(1), 67–95 (2016)
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)
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)
Detlefs, D., Nelson, G., Saxe, J.B.: Simplify: a theorem prover for program checking. J. ACM 52(3), 365–473 (2005)
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
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
Farzan, A., Kincaid, Z.: Strategy synthesis for linear arithmetic games. PACMPL 2(POPL), 1–61 (2018)
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
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
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
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
Heizmann, M., Hoenicke, J., Podelski, A.: Nested interpolants. In: Proceedings POPL 2010, pp. 471–482. ACM (2010)
Hojjat, H., Rümmer, P.: The ELDARICA Horn Solver. In: FMCAD, pp. 158–164. IEEE (2018)
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
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
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
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
McMillan, K.L., Rybalchenko, A.: Solving constrained Horn clauses using interpolation. Technical Report MSR-TR-2013-6 (2013)
Pudlák, P.: Lower bounds for resolution and cutting plane proofs and monotone computations. J. Symbolic Logic 62(3), 981–998 (1997)
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
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
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
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)
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
Author information
Authors and Affiliations
Corresponding authors
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 \).
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
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).
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(p, P, Q) 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
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)