13.07.2015 Views

paper pdf - Lab for Automated Reasoning and Analysis - LARA

paper pdf - Lab for Automated Reasoning and Analysis - LARA

paper pdf - Lab for Automated Reasoning and Analysis - LARA

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

[45] J. Tiuryn. Subtype inequalities. In Proc. 7th IEEE LICS, SelEl: Selector <strong>and</strong> Test Elimination1992.C 1 ∨ (∃ȳ ∗ .C 2 ∧ Is f ∗(y ∗ )) →[46] R. Treinen. Feature trees over arbitrary structures. InC 1 ∨ (∃ȳ ∗ ∃¯z ∗ .C 2 ∧ y ∗ = f ∗ (¯z ∗ ))P. Blackburn <strong>and</strong> M. de Rijke, editors, Specifying SyntacticC 1 ∨ (∃ȳ ∗ .C 2 ∧ u ∗ =f ∗ (〈u ∗ i 〉 i) ∧ v ∗ =fj ∗ (u ∗ )) →Structures, chapter 7, pages 185–211. CSLI PublicationsC 1 ∨ (∃ȳ ∗ .C 2 ∧ u ∗ =f ∗ (〈u ∗ i 〉 i) ∧ v ∗ =u ∗ j)<strong>and</strong> FoLLI, 1997.[47] V. Trifonov <strong>and</strong> S. Smith. Subtyping constrained types. In ShpInt: Shape IntroductionProc. 3rd International Static <strong>Analysis</strong> Symposium, volumeC 1 ∨ (∃ū ∗ . C 2) → C 1 ∨ (∃ū ∗ , u s . sh(u)=u s ∧ C 2)1145 of LNCS, 1996.u occurs in C 2[48] I. Walukiewicz. Monadic second-order logic on tree-likeu s fresh shape variablestructures. Theoretical Computer Science,C 2 contains no sh(u) = u s′275(1–2):311–346, Mar. 2002.[49] M. W<strong>and</strong>, P. M. O’Keefe, <strong>and</strong> J. Palsberg. StrongCongCl: Congruence Closurenormalization with non-structural subtyping. MathematicalC 1 ∨ (∃ȳ ∗ ∃u ∗Structures in Computer Science, 5(3):419–430, 1995.1∃u ∗ 2. u ∗ 1=u ∗ 2 ∧ C 2) →C 1 ∨ (∃ȳ ∗ ∃u ∗ 1. C 2(u ∗ 2 ↦→ u ∗ 1))C[u ∗ 1=f ∗ (¯z ∗ ) ∧ u ∗ 2=f ∗ (¯z ∗ )] → C[u ∗ 1=f ∗ (¯z ∗ ) ∧ u ∗ 2=u ∗ 1]Appendix: Trans<strong>for</strong>ming Quantifier Free FormulasC[u ∗ =f ∗ (¯z ∗ ) ∧ u ∗ =g ∗ (¯x ∗ )] → C[false], f ∗ ≢ g ∗to Structural Base FormulasC[u ∗ =f ∗ (ū ∗ ) ∧ u ∗ =f ∗ (¯v ∗ )] →C[u ∗ =f ∗ (ū ∗ ) ∧ u ∗ =f ∗ (¯v ∗ ) ∧ ∧ iu ∗ i =vi ∗ ]Rules are applied modulo associativity <strong>and</strong> commutativity of ∧, ∨C[u ∗ ≠u ∗ ] → C[false]<strong>and</strong> symmetry of equality =. Ē denotes a sequence of expressionsC[u ∗ =u ∗ ] → C[true]〈E i〉 i. The result of substituting term t <strong>for</strong> variable x in <strong>for</strong>mulaC[P ∧ false] → C[false]C is denoted C(x ↦→ t).C[P ∨ false] → C[P]DNF: Disjunctive Normal FormC[P ∧ true] → C[P]C[P ∨ true] → C[true]C[¬(P ∧ Q)] → C[¬P ∨ ¬Q]C[¬(P ∨ Q)] → C[¬P ∧ ¬Q]OccChk: Occur CheckC[¬¬P] → C[P]C 1 ∨ β → C 1 whereC[P ∧ (Q ∨ R)] → C[(P ∧ Q) ∨ (P ∧ R)]β ≡ ∃ū.C 2 <strong>for</strong> C 2 conjunction of literalsu +WDNF: Disjunction of Well-Defined Conjunctionsβu <strong>for</strong> some variable uHomExp: Homomorphism Property <strong>and</strong> ExpansionF → DomCl(F) where F in DNFDomCl(∨ iC i) = ∨ iDomCl(C i)C[sh(u)=u s 1 ∧ sh(u)=u s 2] →DomCl(∧ iL i) = ∧ iDomCl(L i)C[sh(u)=u s 1 ∧ sh(u)=u s 2 ∧ u s 1 = u s 2]DomCl(R(¯t)) = R(¯t) ∧ DefCl(¯t)C 1 ∨ (∃ȳ ∗ .C 2 ∧ v=f(ū) ∧ sh(v)=v s ) →DomCl(¬R(¯t)) = ¬R(¯t) ∧ DefCl(¯t)DefCl(¯t) = V C 1 ∨ (∃ȳ ∗ ∃ū s .C 2 ∧ v=f(ū) ∧ sh(v)=v s{D f (¯s) |∧ v s =f s (ū s ) ∧ ∧ ish(u i) = u s i)f a partial function symbol of arity nC 1 ∨ (∃ȳ ∗ .C 2 ∧ v s =f s (ū s ) ∧ sh(v)=v s ) →D f the relation specifying the domain of fC 1 ∨ (∃ȳ ∗ ∃ū.C 2 ∧ v s =f s (ū s ) ∧ sh(v)=v sf(¯s) a subterm occuring in ¯t }∧ v=f(ū) ∧ ∧ ish(u i) = u s i)NEQEl: Term Disequality EliminationUNF: Unnested FormC[u 1≠u 2 ∧ sh(u 1)=u s 1 ∧ sh(u 2)=u s 2] →C 1 ∨ (∃ȳ.C 2[f(¯x)]) → C 1 ∨ (∃ȳ∃z.z=f(¯x) ∧ C 2[z]) whereC[(u s 1 ≠ u s 2 ∨ (u s 1 ≠ u s 2 ∧ |u 1 ≠ u 2| u sC 2[f(¯x)] a conjunction of literals1≥ 1)) ∧sh(u 1)=u s 1 ∧ sh(u 2)=u s 2]occurence C 2[ ] not in a literal of <strong>for</strong>m w = f(¯x)C 1 ∨ (∃ȳ.C 2) → C 1 ∨ (∃ȳ∃u.u=x ∧ C 2(x ↦→ u)) where CCD: Cardinality Constraint Decompositionu a fresh variablex a free variable s.t. C 2 contains no u ′ =x <strong>for</strong> u ′ C 1[|φ(〈f(〈u ij〉 j)〉 i)| u s=k] →boundC W 1[ {∧ j|φ(〈u ij〉 i)| u sj=k j | Σ jk j = k } ∧ C 2]ELNG: Negative Literal EliminationC 1[|φ(〈f(〈u ij〉 j)〉 i)| u s≥k] →C[¬Is f (y)] → C[Is PRI (y) ∨ W C W 1[ {∧ j|φ(〈u ij〉 i)| u sj≥k j | Σ jk j = k } ∧ C 2]{Is g(y) | g ∈ Σ \ {f} }]C[¬Is PRI (y)] → C[ W where C 2 contains{Is g(y) | g ∈ Σ }]C[¬Is f s(y s )] → C[Is c s(y s ) ∨ W u s = f(〈u s j〉 j) ∧ V{Is g s(y s i,j sh(uij)=us j) | g ∈ Σ \ {f} }]C[¬Is c s(y s )] → C[ W {Is g s(y s ShDis: Shape Distinction) | g ∈ Σ }]C[¬|φ| u s=k] → C[|φ| u s≥k+1 ∨ W k−1i=0 |φ|us=i]C[¬|φ| u s≥k] → C[ W C 1 ∨ (∃ū ∗ .C 2) → C 1 ∨ (∃ū ∗ .(u s i = u s j ∨ u s i ≠ u s j) ∧ C 2)k−1i=0 |φ|us=i]12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!