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

1 / 39
About This Presentation
Title:

SMELS: Sat Modulo Equality with Lazy Superposition

Description:

DPLL(cc) most efficient way of solving ground equational clauses ... Between nonground clause and literal L from cc, After Superposition, we add ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 40
Provided by: ResearchM53
Category:

less

Transcript and Presenter's Notes

Title: SMELS: Sat Modulo Equality with Lazy Superposition


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
  • ac Ç i!j
  • de Ç g!h
  • ij
  • DPLL generates ij, ac, gh, de, f(a)b
  • gh 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
  • Ç us v Ç st
  • --------------------------------
  • ( Ç Ç ut v)Âľ
  • Âľ mgu(s,s) and s not variable
  • s ! t, us ! v, st max, us v max
  • Also for us ! 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) de, 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 Ç bg(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,
    p1p2 Ç p1p3, a ! c, a ! e
  • Output M p(a,b)p1, p(c,d)p2, p(e,f) p3,
    p1p2, a!c, a!e
  • j(p1p2) p1p2
  • For all other L 2 M, j(L)

22
cc
  • Input M p(a,b)p1, p(c,d)p2, p(e,f) p3,
    p1p2, a!c, a!e
  • Output T p(a,b)p2, p(c,d)p2, p(e,f) p3,
    p1p2, a!c, a!e
  • j(p(a,b)p2) p1p2

23
Sup
  • Input T p(a,b)p2, p(c,d)p2, p(e,f) p3,
    p1p2, a!c, a!e
  • v(S) p(x1,y1) ! p(x2,y2) Ç x1 x2
  • Justified Superposition gives p1!p2 Ç
    p2!p(x2,y2) Ç ax2, p2!p(x2,y2) Ç cx2,
    p3!p(x2,y2) Ç ex2
  • Also p1!p2 Ç ac

24
DPLL
  • Input g(S) p(a,b)p1, p(c,d)p2, p(e,f) p3,
    p1p2 Ç p1p3, a ! c, a ! e, p1!p2 Ç ac
  • Output M p(a,b)p1, p(c,d)p2, p(e,f) p3,
    p1p3, a!c, a!e
  • j(p1p3)

25
cc
  • Input M p(a,b)p1, p(c,d)p2, p(e,f) p3,
    p1p3, a!c, a!e
  • Output T p(a,b)p3, p(c,d)p2, p(e,f) p3,
    p1p3, 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,
    p1p3, a!c, a!e
  • v(S) p(x1,y1) ! p(x2,y2) Ç x1 x2
  • Justified Superposition gives ae

27
DPLL
  • Input g(S) p(a,b)p1, p(c,d)p2, p(e,f) p3,
    p1p2 Ç p1p3, a ! c, a ! e, p1!p2 Ç ac, ae
  • 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,
    p1p2 Ç p1p3, a ! c, p1!p2 Ç ac, ae
  • Output M p(a,b)p1, p(c,d)p2, p(e,f) p3,
    p1p3, a!c, ae

30
cc
  • Input M p(a,b)p1, p(c,d)p2, p(e,f) p3,
    p1p3, a!c, ae
  • Output T p(e,b)p3, p(c,d)p2, p(e,f) p3,
    p1p3, c!e, ae
  • All justifications empty

31
Sup
  • Input T p(e,b)p3, p(c,d)p2, p(e,f) p3,
    p1p3, c!e, ae
  • 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)
  • SPASST 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
Write a Comment
User Comments (0)
About PowerShow.com