1 / 39

SMELS: Sat Modulo Equality with Lazy Superposition

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.

jordane
Download Presentation

SMELS: Sat Modulo Equality with Lazy Superposition

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SMELS: Sat Modulo Equality with Lazy Superposition Christopher Lynch – Clarkson Duc-Khanh Tran - MPI

  2. Interest Verification problems often reduce to formulas containing • mostly ground equations and • quantified equations representing properties or theories

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

  4. 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))

  5. Contents of Talk • DPLL(cc) • Superposition • SMELS: DPLL(cc) with Lazy Superposition • Completeness • Implementation plans

  6. 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)

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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) = ;

  22. 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}

  23. 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

  24. 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) = ;

  25. 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) = ;

  26. 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

  27. 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

  28. Example 2 • Repeat example, suppose that original set did not contain a!=e • Then everything is the same up until the last DPLL step

  29. 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}

  30. 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

  31. 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)

  32. 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

  33. 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

  34. Completeness • Suppose S is saturated by SMELS • Let M be model of g(S) • Then M is v(S) model of g(S)

  35. Completeness Proof • Modifed version of BG model generation • May have implications for selection rules and goal-directed Superposition • Justifications are key

  36. 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

  37. 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

  38. Conclusions • SMELS = DPLL(cc(Sup)) • DPLL sends partial model to cc • cc passes reduced implications to Sup • Sup handles nonground part using powerful orderings

  39. Future Work • Implement using compilation of Justification Superposition using Schematic Saturation • Combine with other theories like Linear Arithmetic

More Related