instantiation based methods and equality
play

Instantiation-based Methods and Equality Instantiation-based methods - PowerPoint PPT Presentation

ormal ethods roup iProver-Eq: An Instantiation-based Theorem Prover with Equality Konstantin Korovin and Christoph Sticksel (joint work with Renate Schmidt) The University of Manchester 17th July 2010 1 Konstantin Korovin and


  1. φ ormal µ ethods γ roup iProver-Eq: An Instantiation-based Theorem Prover with Equality Konstantin Korovin and Christoph Sticksel (joint work with Renate Schmidt) The University of Manchester 17th July 2010 1 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  2. Instantiation-based Methods and Equality • Instantiation-based methods – Decision procedure for Bernays-Sch¨ onfinkel fragment (verification, planning/scheduling, knowledge representation) – Performs well in plain first-order logic – Complementary to “traditional” first-order calculi • Equational reasoning – Essential part in theory reasoning – Natural concept in many applications – Not well explored in instantiation-based setting • Here: Instantiation-based calculus Inst-Gen-Eq – Ganzinger and Korovin [2004] – Complete for first-order clause logic modulo equality 2 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  3. What is iProver-Eq? • iProver is the implementation of the Inst-Gen calculus where equality is handled only axiomatically • iProver-Eq is the extension of iProver with superposition-based equational reasoning • Distinctive feature: modular combination of first-order reasoning and ground satisfiability checking • Proof procedure consists of – Ground reasoning on the abstraction of the clause set by an SMT solver – Equational reasoning on first-order literals in a candidate model – Instantiation of clauses with substitutions from superposition proofs 3 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  4. iProver-Eq System Overview First-order Ground Superposition SMT solver generate Conflicting Clause Instances Literals Ground select Model add find First-order Ground abstract Clauses Clauses Satisfiability Unsatisfiability proved proved 4 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  5. Inst-Gen-Eq by Example: Finding inconsistencies First-order clauses Ground abstraction f ( x , y ) ≃ f ( y , x ) f ( ⊥ , ⊥ ) ≃ f ( ⊥ , ⊥ ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( ⊥ , ⊥ ) �≃ g ( ⊥ ) ∨ ⊥ ≃ ⊥ f ( a , b ) ≃ g ( c ) f ( a , b ) ≃ g ( c ) a �≃ b a �≃ b Unit superposition proof: Selected literals inconsistent f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � 5 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  6. Inst-Gen-Eq by Example: Finding inconsistencies First-order clauses Ground abstraction f ( x , y ) ≃ f ( y , x ) f ( ⊥ , ⊥ ) ≃ f ( ⊥ , ⊥ ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( ⊥ , ⊥ ) �≃ g ( ⊥ ) ∨ ⊥ ≃ ⊥ f ( a , b ) ≃ g ( c ) f ( a , b ) ≃ g ( c ) a �≃ b a �≃ b Unit superposition proof: Selected literals inconsistent f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � 5 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  7. Inst-Gen-Eq by Example: Finding inconsistencies First-order clauses Ground abstraction f ( x , y ) ≃ f ( y , x ) f ( ⊥ , ⊥ ) ≃ f ( ⊥ , ⊥ ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( ⊥ , ⊥ ) �≃ g ( ⊥ ) ∨ ⊥ ≃ ⊥ f ( a , b ) ≃ g ( c ) f ( a , b ) ≃ g ( c ) a �≃ b a �≃ b Unit superposition proof: Selected literals inconsistent f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � 5 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  8. Inst-Gen-Eq by Example: Finding inconsistencies First-order clauses Ground abstraction f ( x , y ) ≃ f ( y , x ) f ( ⊥ , ⊥ ) ≃ f ( ⊥ , ⊥ ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( ⊥ , ⊥ ) �≃ g ( ⊥ ) ∨ ⊥ ≃ ⊥ f ( a , b ) ≃ g ( c ) f ( a , b ) ≃ g ( c ) a �≃ b a �≃ b Unit superposition proof: Selected literals inconsistent f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � 5 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  9. Inst-Gen-Eq by Example: Generating instances Unit superposition proof: Substitution extraction f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � First-order clauses First-order instances f ( x , y ) ≃ f ( y , x ) f ( b , a ) ≃ f ( a , b ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( b , a ) �≃ g ( c ) ∨ b ≃ c f ( a , b ) ≃ g ( c ) a �≃ b 6 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  10. Inst-Gen-Eq by Example: Generating instances Unit superposition proof: Substitution extraction f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � First-order clauses First-order instances f ( x , y ) ≃ f ( y , x ) f ( b , a ) ≃ f ( a , b ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( b , a ) �≃ g ( c ) ∨ b ≃ c f ( a , b ) ≃ g ( c ) a �≃ b 6 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  11. Inst-Gen-Eq by Example: Generating instances Unit superposition proof: Substitution extraction f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � First-order clauses First-order instances f ( x , y ) ≃ f ( y , x ) f ( b , a ) ≃ f ( a , b ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( b , a ) �≃ g ( c ) ∨ b ≃ c f ( a , b ) ≃ g ( c ) a �≃ b 6 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  12. Inst-Gen-Eq by Example: Generating instances Unit superposition proof: Substitution extraction f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � First-order clauses First-order instances f ( x , y ) ≃ f ( y , x ) f ( b , a ) ≃ f ( a , b ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( b , a ) �≃ g ( c ) ∨ b ≃ c f ( a , b ) ≃ g ( c ) a �≃ b 6 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  13. Inst-Gen-Eq by Example: Generating instances Unit superposition proof: Substitution extraction f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � First-order clauses First-order instances f ( x , y ) ≃ f ( y , x ) f ( b , a ) ≃ f ( a , b ) f ( u , v ) �≃ g ( z ) ∨ u ≃ z f ( b , a ) �≃ g ( c ) ∨ b ≃ c f ( a , b ) ≃ g ( c ) a �≃ b 6 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  14. Answer computation and completeness Unit superposition proof f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � • Instances from all proofs from selected literals required • Shorter proofs do not subsume longer proofs • Literal variants may occur in the same proof 7 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  15. Answer computation and completeness Unit superposition proof f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � • Instances from all proofs from selected literals required • Shorter proofs do not subsume longer proofs • Literal variants may occur in the same proof 7 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  16. Answer computation and completeness Unit superposition proof f ( x , y ) ≃ f ( y , x ) f ( u , v ) �≃ g ( z ) [ u / x , v / y ] f ( a , b ) ≃ g ( c ) f ( v , u ) �≃ g ( z ) [ a / v , b / u ] g ( c ) �≃ g ( z ) [ c / z ] � • Instances from all proofs from selected literals required • Shorter proofs do not subsume longer proofs • Literal variants may occur in the same proof 7 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

  17. Labelled Unit Superposition • Find inconsistent first-order literals • Compute instantiating substitutions in labels Superposition T : l ≃ r T ′ : L [ l ′ ] ( σ ) σ is mgu of l and l ′ ( T ⊓ T ′ ) σ : L [ r ] σ Variant merging T : L T ′ : L ′ ( θ ) L = L ′ θ T ⊔ T ′ θ : L Equality resolution T : ( l �≃ r ) ( σ ) σ is mgu of l and r T σ : � • Uniform treatment of literal variants • Preserve proof structure for redundancy elimination 8 Konstantin Korovin and Christoph Sticksel iProver-Eq: An Instantiation-based ATP with Equality

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend