congruence closure with free variables work in progress
play

Congruence Closure with Free Variables (Work in Progress) Haniel - PowerPoint PPT Presentation

Congruence Closure with Free Variables (Work in Progress) Haniel Barbosa , Pascal Fontaine INRIA Nancy VeriDis Universit e de Lorraine UFRN 20150803 Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 1


  1. Congruence Closure with Free Variables (Work in Progress) Haniel Barbosa , Pascal Fontaine INRIA Nancy – VeriDis Universit´ e de Lorraine UFRN 2015–08–03 Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 1 / 11

  2. Outline • SMT solving • Congruence Closure with Free Variables • Extensions and next tasks Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 2 / 11

  3. SMT solving First-order logic modulo theories: � f ( c ) ≈ a ∨ c ≈ d, f ( a ) ≈ b, f ( b ) �≈ f ( a ) , � ϕ = ∀ x 1 , x 2 . f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 3 / 11

  4. SMT solving First-order logic modulo theories: � f ( c ) ≈ a ∨ c ≈ d, f ( a ) ≈ b, f ( b ) �≈ f ( a ) , � ϕ = ∀ x 1 , x 2 . f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b Through SAT solving one may obtain that L ∪ Q | = ϕ , for L = { f ( c ) ≈ a, f ( a ) ≈ b, f ( b ) �≈ f ( a ) } Q = {∀ x 1 , x 2 . ( f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b ) } Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 3 / 11

  5. SMT solving First-order logic modulo theories: � f ( c ) ≈ a ∨ c ≈ d, f ( a ) ≈ b, f ( b ) �≈ f ( a ) , � ϕ = ∀ x 1 , x 2 . f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b Through SAT solving one may obtain that L ∪ Q | = ϕ , for L = { f ( c ) ≈ a, f ( a ) ≈ b, f ( b ) �≈ f ( a ) } Q = {∀ x 1 , x 2 . ( f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b ) } Through ground reasoning, L is shown satisfiable. What about Q ? Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 3 / 11

  6. fi fl SMT solving How to handle quantified formulas in the SMT context? FOL with equality is semi-decidable, but considering theories frequently leads to undecidability. Reasoning through incomplete techniques relying on decidable fragments — instantiation . Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 4 / 11

  7. SMT solving How to handle quantified formulas in the SMT context? FOL with equality is semi-decidable, but considering theories frequently leads to undecidability. Reasoning through incomplete techniques relying on decidable fragments — instantiation . SMT formula SMT solver Quanti fi er-free SMT solver Con fl ict clause Theory SAT solver reasoner Boolean Model Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 4 / 11

  8. SMT solving How to handle quantified formulas in the SMT context? FOL with equality is semi-decidable, but considering theories frequently leads to undecidability. Reasoning through incomplete techniques relying on decidable fragments — instantiation . SMT formula SMT solver Quanti fi er-free SMT solver Instance Con fl ict clause Instantiation Theory SAT solver module reasoner Model Boolean Model Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 4 / 11

  9. SMT solving How to handle quantified formulas in the SMT context? FOL with equality is semi-decidable, but considering theories frequently leads to undecidability. Reasoning through incomplete techniques relying on decidable fragments — instantiation . SMT formula SMT solver Quanti fi er-free SMT solver Instance Con fl ict clause Instantiation Theory SAT solver module reasoner Model Boolean Model UNSAT (proof/core) Model With too many instances available, their selection becomes crucial. Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 4 / 11

  10. Ground conflicting instances generation Context (ground model) Given a formula ϕ and a theory T , SMT solver derives, if any, groundly T -satisfiable sets of literals L and Q s.t. L ∪ Q | = ϕ . L is a set of ground literals. Q is a set of quantified formulas. Ground conflicting instances [Reynolds et al., 2014] Derive, for some ∀ x .ψ ∈ Q , ground substitutions σ s.t. L | = ¬ ψσ . As instances ∀ x .ψ → ψσ refute L ∪ Q , their addition to ϕ require the derivation of a new ground model, if any. Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 5 / 11

  11. Congruence Closure with Free Variables Finding ground conflicting instances is equivalent to solving a non-simultaneous E -unification problem (NP-complete). [Tiwari et al., 2000] It has also been shown to be amenable to the use of congruence closure procedures. Algorithm CCFV : extends congruence closure decision procedure, being able to perform unification on free variables. Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 6 / 11

  12. CCFV Finding substitutions It computes, if any , a sequence of substitutions σ 0 , . . . , σ k such that, for ¬ ψ = l 1 ∧ · · · ∧ l k , σ 0 = ∅ ; σ i − 1 ⊆ σ i and L | = l i σ i which guarantees that L | = ¬ ψσ k . Unification Adapts the recursive descent E-unification algorithm in [Baader et al., 2001] . Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 7 / 11

  13. Example � f ( c ) ≈ a ∨ c ≈ d, f ( a ) ≈ b, f ( b ) �≈ f ( a ) , � = ϕ ∀ x 1 , x 2 . f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b L = { f ( c ) ≈ a, f ( a ) ≈ b, f ( b ) �≈ f ( a ) } Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 8 / 11

  14. Example � f ( c ) ≈ a ∨ c ≈ d, f ( a ) ≈ b, f ( b ) �≈ f ( a ) , � = ϕ ∀ x 1 , x 2 . f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b L = { f ( c ) ≈ a, f ( a ) ≈ b, f ( b ) �≈ f ( a ) } ¬ ψ = ( f ( x 1 ) ≈ a ∧ f ( x 2 ) �≈ b ) Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 8 / 11

  15. Example � f ( c ) ≈ a ∨ c ≈ d, f ( a ) ≈ b, f ( b ) �≈ f ( a ) , � = ϕ ∀ x 1 , x 2 . f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b L = { f ( c ) ≈ a, f ( a ) ≈ b, f ( b ) �≈ f ( a ) } ¬ ψ = ( f ( x 1 ) ≈ a ∧ f ( x 2 ) �≈ b ) 1 Evaluates f ( x 1 ) ≈ a : since f ( c ) ∈ [ a ] , unifies � f ( x 1 ) , f ( c ) � . leads to the substitution σ 1 = { x 1 �→ c } , such that L | = ( f ( x 1 ) ≈ a ) σ 1 . Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 8 / 11

  16. Example � f ( c ) ≈ a ∨ c ≈ d, f ( a ) ≈ b, f ( b ) �≈ f ( a ) , � = ϕ ∀ x 1 , x 2 . f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b L = { f ( c ) ≈ a, f ( a ) ≈ b, f ( b ) �≈ f ( a ) } ¬ ψ = ( f ( x 1 ) ≈ a ∧ f ( x 2 ) �≈ b ) 1 Evaluates f ( x 1 ) ≈ a : since f ( c ) ∈ [ a ] , unifies � f ( x 1 ) , f ( c ) � . leads to the substitution σ 1 = { x 1 �→ c } , such that L | = ( f ( x 1 ) ≈ a ) σ 1 . 2 Evaluates f ( x 2 ) �≈ b : since f ( a ) ∈ [ b ] , if the pair � f ( x 2 ) , f ( b ) � is unifiable then the resulting σ is conflicting. leads to the substitution σ 2 = { x 1 �→ c, x 2 �→ b } such that L | = ( f ( x 2 ) �≈ b ) σ 2 . Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 8 / 11

  17. Example � f ( c ) ≈ a ∨ c ≈ d, f ( a ) ≈ b, f ( b ) �≈ f ( a ) , � = ϕ ∀ x 1 , x 2 . f ( x 1 ) �≈ a ∨ f ( x 2 ) ≈ b L = { f ( c ) ≈ a, f ( a ) ≈ b, f ( b ) �≈ f ( a ) } ¬ ψ = ( f ( x 1 ) ≈ a ∧ f ( x 2 ) �≈ b ) 1 Evaluates f ( x 1 ) ≈ a : since f ( c ) ∈ [ a ] , unifies � f ( x 1 ) , f ( c ) � . leads to the substitution σ 1 = { x 1 �→ c } , such that L | = ( f ( x 1 ) ≈ a ) σ 1 . 2 Evaluates f ( x 2 ) �≈ b : since f ( a ) ∈ [ b ] , if the pair � f ( x 2 ) , f ( b ) � is unifiable then the resulting σ is conflicting. leads to the substitution σ 2 = { x 1 �→ c, x 2 �→ b } such that L | = ( f ( x 2 ) �≈ b ) σ 2 . CCFV returns σ = { x 1 �→ c, x 2 �→ b } , which is a ground conflicting substitution, since L ∧ ψσ is groundly unsatisfiable. Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 8 / 11

  18. Algorithm proc CCFV ( L , ψ ) C ← { s ≈ t | s ≈ t ∈ L} ; D ← { s �≈ t | s �≈ t ∈ L} ; ∆ x ← ∅ // Init foreach l ∈ ¬ ψ do if not ( Handle ( C , D , ∆ x , l )) then ∆ x ← ∆ x ∪ {{ x �→ sel ( x ) | x ∈ x }} // No σ s.t. L | = ¬ ψσ if ∅ ∈ ∆ x then return ∅ // Backtracking Reset ( C , D , ¬ ψ ) // L | = ¬ ψσ return { x �→ sel ( x ) | x ∈ x } proc Handle ( C , D , ∆ x , l ) match l : u ≈ v : if C ∪ D | = u �≈ v then return ⊥ // Checks consistency C ← C ∪ { u ≈ v } // Updates C ∪ D u �≈ v : ... // L | = lσ , for every σ ∈ Λ Λ ← ( Unify δ l ) \ C ∆ x if Λ � = ∅ then let σ ∈ Λ in C ← C ∪ � x ∈ dom ( σ ) { x ≈ xσ } return ⊤ return ⊥ Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 9 / 11

  19. Extensions CCFV only works in very restricted scenarios. Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 10 / 11

  20. Extensions CCFV only works in very restricted scenarios. Basis for broader procedures. E-matching MBQI Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 10 / 11

  21. Extensions CCFV only works in very restricted scenarios. Basis for broader procedures. E-matching MBQI Simultaneous (Bounded) Rigid E-Unification [Backeman et al., 2015] Haniel Barbosa (INRIA) Congruence Closure with Free Variables QUANTIFY 2015 10 / 11

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