smels sat modulo equality with lazy superposition l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SMELS: Sat Modulo Equality with Lazy Superposition PowerPoint Presentation
Download Presentation
SMELS: Sat Modulo Equality with Lazy Superposition

Loading in 2 Seconds...

play fullscreen
1 / 39

SMELS: Sat Modulo Equality with Lazy Superposition - PowerPoint PPT Presentation


  • 109 Views
  • Uploaded on

SMELS: Sat Modulo Equality with Lazy Superposition. Christopher Lynch – Clarkson Duc-Khanh Tran - MPI. Interest. Verification problems often reduce to formulas containing mostly ground equations and quantified equations representing properties or theories. Goal.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SMELS: Sat Modulo Equality with Lazy Superposition' - jordane


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
smels sat modulo equality with lazy superposition

SMELS: Sat Modulo Equality with Lazy Superposition

Christopher Lynch – Clarkson

Duc-Khanh Tran - MPI

interest
Interest

Verification problems often reduce to formulas containing

  • mostly ground equations and
  • quantified equations representing properties or theories
slide3
Goal

Efficient inference system for deciding satisfiability of sets of equational clauses, mostly ground

assumptions
Assumptions
  • DPLL(cc) most efficient way of solving ground equational clauses
  • Superposition most efficient way of solving nonground equational clauses
  • Develop complete implementable combination of the two methods
    • DPLL(cc(Sup))
contents of talk
Contents of Talk
  • DPLL(cc)
  • Superposition
  • SMELS: DPLL(cc) with Lazy Superposition
  • Completeness
  • Implementation plans
dpll cc
DPLL(cc)
  • DPLL: Given set of clauses S, tries to build model of S by adding literals one by one
  • DPLL(cc): Given set of equational clauses, tries to build model by adding literals one by one, and checking consistency in background theory (Cong. Closure)
responsibility of cc
Responsibility of cc
  • Receives set M of (dis)equations
  • Notifies DPLL procedure if M inconsistent
    • Returns J µ M, justification of inconsistency
  • Clause : J (or alternative) can be added as lemma
using cc for implication
Using cc for implication
  • Given M find L where M ² L
    • And find small J µ M where J ² L
  • DPLL adds : J Ç L (or alternative) as lemma
example
Example
  • f(a)=b Ç d!=e
  • a=c Ç i!=j
  • d=e Ç g!=h
  • i=j

DPLL generates {i=j, a=c, g=h, d=e, f(a)=b}

g=h is justification for f(c)=b (not only one)

Then g!=h Ç f(c)=b added as lemma

definition of justification
Definition of Justification
  • Let S be set of clauses, M (partial) model
  • Model is set of (dis)equations
  • Let L 2 M
  • j is a function where
    • j(L) µ M and
    • S [ j(L) ² L
summary so far
Summary so far
  • DPLL sends partial model M to cc
  • cc determines consistency of M
  • If M ² L, there 9 just. j(L)
  • It is sound to add : j(L) Ç L
  • Note: We can always have j(L) = {L}
    • Self-justification
superposition
Superposition

¡Ç u[s’] = v ¢Ç s=t

--------------------------------

(¡Ç¢Ç u[t] = v)¾

  • ¾ = mgu(s,s’) and s’ not variable
  • s !· t, u[s’] !· v, s=t max, u[s’] = v max

Also for u[s’] != v

orderings are crucial
Orderings are crucial
  • Without orderings, no hope of termination
  • Example:
    • : gt(x,0) Ç gt(s(x),0)
    • gt(c,0)
  • With orderings it immediately halts
smels
SMELS
  • Let S be set of clauses, g(S): ground clauses in S, v(S): nonground clauses in S
  • DPLL receives g(S) and passes M to cc
  • cc passes reduced implied (dis)equations T to Sup
  • Sup performs inferences between T and v(S), justified ground clauses sent to DPLL
superposition in dpll cc sup
Superposition in DPLL(cc(Sup)
  • There are two kinds of Superposition
    • Superposition among nonground clauses
    • Superposition among nonground clause and implied (dis)equation from cc (Justified Sup)
  • No Superposition between ground clauses
nonground superposition
Nonground Superposition
  • We modify Superposition so that inferences involve maximal literals of nonground part of clause (as opposed to max of entire clause)
  • Equational Factoring and Equation Resolution also involve maximal nonground literal
example of nonground sup
Example of Nonground Sup
  • Premises
    • f(g(a))=b Ç g(x)=x Çf(g(x))=x
    • f(f(a))=c Ç g(a)=c Çg(y)=y
  • Conclusion
    • f(g(a))=b Ç f(f(a))=c Ç g(a)=c Ç g(x)=x Çf(x)=x
justified superposition
Justified Superposition
  • Between nonground clause and literal L from cc, After Superposition, we add negation of justification
  • Equivalently, a Superposition inference between nonground clause and : j(L) Ç L
examples of justified sup
Examples of Justified Sup
  • Suppose j(f(a)=b) = {d=e, f(b)=e}
  • Let g(f(c))=c Ç f(x)=x Çf(x)=g(x)2 v(S)
  • Then Justified Superposition gives d!=e Ç f(b)!=e Ç g(f(c))=c Ç f(a)=a Çb=g(a)
  • This is ground, so passed back to DPLL
example of dpll cc sup
Example of DPLL(cc(Sup))
  • p(a,b) = p1
  • p(c,d) = p2
  • p(e,f) = p3
  • p1 = p2 Ç p1 = p3
  • a != c
  • a != e
  • p(x1,y1) != p(x2,y2) Ç x1= x2
slide21
DPLL
  • Input: g(S) = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p2 Ç p1=p3, a != c, a != e}
  • Output: M = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p2, a!=c, a!=e}
  • j(p1=p2) = {p1=p2}
  • For all other L 2 M, j(L) = ;
slide22
cc
  • Input: M = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p2, a!=c, a!=e}
  • Output: T = {p(a,b)=p2, p(c,d)=p2, p(e,f)= p3, p1=p2, a!=c, a!=e}
  • j(p(a,b)=p2) = {p1=p2}
slide23
Sup
  • Input: T = {p(a,b)=p2, p(c,d)=p2, p(e,f)= p3, p1=p2, a!=c, a!=e}
  • v(S) = {p(x1,y1) != p(x2,y2) Ç x1= x2}
  • Justified Superposition gives {p1!=p2 Çp2!=p(x2,y2) Ç a=x2, p2!=p(x2,y2) Ç c=x2, p3!=p(x2,y2) Ç e=x2}
  • Also: p1!=p2 Ç a=c
slide24
DPLL
  • Input: g(S) = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p2 Ç p1=p3, a != c, a != e, p1!=p2 Ç a=c}
  • Output: M = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p3, a!=c, a!=e}
  • j(p1=p3) = ;
slide25
cc
  • Input: M = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p3, a!=c, a!=e}
  • Output: T = {p(a,b)=p3, p(c,d)=p2, p(e,f)= p3, p1=p3, a!=c, a!=e}
  • j(p(a,b)=p3) = ;
slide26
Sup
  • Input: T = {p(a,b)=p3, p(c,d)=p2, p(e,f)= p3, p1=p3, a!=c, a!=e}
  • v(S) = {p(x1,y1) != p(x2,y2) Ç x1= x2}
  • Justified Superposition gives a=e
slide27
DPLL
  • Input: g(S) = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p2 Ç p1=p3, a != c, a != e, p1!=p2 Ç a=c, a=e}
  • Output: UNSAT
example 2
Example 2
  • Repeat example, suppose that original set did not contain a!=e
  • Then everything is the same up until the last DPLL step
slide29
DPLL
  • Input: g(S) = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p2 Ç p1=p3, a != c, p1!=p2 Ç a=c, a=e}
  • Output: M = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p3, a!=c, a=e}
slide30
cc
  • Input: M = {p(a,b)=p1, p(c,d)=p2, p(e,f)= p3, p1=p3, a!=c, a=e}
  • Output: T = {p(e,b)=p3, p(c,d)=p2, p(e,f)= p3, p1=p3, c!=e, a=e}
  • All justifications empty
slide31
Sup
  • Input: T = {p(e,b)=p3, p(c,d)=p2, p(e,f)= p3, p1=p3, c!=e, a=e}
  • v(S) = {p(x1,y1) != p(x2,y2) Ç x1= x2}
  • Justified Superposition gives nothing new
  • Therefore T is a model modulo v(S)
schematic saturation
Schematic Saturation
  • Example theory v(S) is decidable
  • We could use Schematic Saturation to prove the decidability
  • We could also use Schematic Saturation to compile nonground theory and efficiently perform Justified Superposition
instantiation
Instantiation
  • Resolution + self-justification =Instantiation
  • j(p(a)) = {p(a)}
  • Nonground clause q(x) Ç ~p(x)
  • Justified Resolution gives q(a) Ç ~p(a)
  • As far as we know, first combination of instantiation with ordered resolution
completeness
Completeness
  • Suppose S is saturated by SMELS
  • Let M be model of g(S)
  • Then M is v(S) model of g(S)
completeness proof
Completeness Proof
  • Modifed version of BG model generation
  • May have implications for selection rules and goal-directed Superposition
  • Justifications are key
completeness implies
Completeness implies
  • S is SAT implies
    • Ground model M (modulo v(S)) is generated in finite time, or
    • M (modulo v(S)) is generated in infinite time
  • S is UNSAT implies
    • Unsatisfiable ground g(S) is found
comparisons
Comparisons
  • BE: Uses Eager Superposition (works for some theories)
  • SPASS+T: FOL theorem prover is driver, which calls SMT, not complete
  • InstGen: Instantiates clauses but no orderings
  • Simplify: Instantiates terms but is not complete
conclusions
Conclusions
  • SMELS = DPLL(cc(Sup))
  • DPLL sends partial model to cc
  • cc passes reduced implications to Sup
  • Sup handles nonground part using powerful orderings
future work
Future Work
  • Implement using compilation of Justification Superposition using Schematic Saturation
  • Combine with other theories like Linear Arithmetic