Decision Procedures and Verifjcation
NAIL094 Petr Kučera
Charles University
2019/20 (6th lecture)
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 1 / 42
Decision Procedures and Verifjcation NAIL094 Petr Kuera Charles - - PowerPoint PPT Presentation
Decision Procedures and Verifjcation NAIL094 Petr Kuera Charles University 2019/20 (6th lecture) Petr Kuera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 1 / 42 Satisfjability Modulo Theories (SMT)
Charles University
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 1 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 3 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 4 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 4 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 4 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 4 / 42
Image source: http://smtlib.cs.uiowa.edu/logics.shtml Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 5 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 6 / 42
Derived predicates >, ≥
usually written as a[i]
updated array denoted as a{i ← v}
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 7 / 42
Derived predicates >, ≥
usually written as a[i]
updated array denoted as a{i ← v}
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 7 / 42
Derived predicates >, ≥
usually written as a[i]
updated array denoted as a{i ← v}
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 7 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 8 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 8 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 8 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 8 / 42
A domain Interpretation of the symbols in
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
A domain Interpretation of the symbols in
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
A domain Interpretation of the symbols in
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
A domain Interpretation of the symbols in
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
A domain Interpretation of the symbols in Σ
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
A domain Interpretation of the symbols in Σ
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
A domain Interpretation of the symbols in Σ
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
A domain Interpretation of the symbols in Σ
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
A domain Interpretation of the symbols in Σ
defjnes semantic of functions, predicates, constants
An assignment of a domain element to each of the free (unquantifjed) variables
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 9 / 42
all variables are quantifjed
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 10 / 42
all variables are quantifjed
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 10 / 42
all variables are quantifjed
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 10 / 42
all variables are quantifjed
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 10 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 11 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 11 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 11 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 11 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 11 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 11 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 12 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 12 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 13 / 42
takes a conjunction ψ of Σ-literals as the input, decides if ψ is T-satisfjable, possibly returns a model (satisfying interpretation)
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 14 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 15 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 15 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 16 / 42
x1 ≠ x2 x2 = x3 x3 = x4 x4 = x1
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 16 / 42
x1 ≠ x2 x2 = x3 x3 = x4 x4 = x1
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 16 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 17 / 42
↓
↓
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 18 / 42
↓
↓
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 18 / 42
↓
↓
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 19 / 42
↓
↓
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 19 / 42
↓
↓
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 20 / 42
↓
↓
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 20 / 42
↓
↓
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 21 / 42
↓
↓
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 21 / 42
1 x1 = x2 ∧ x1 = x2 ∧ x1 ≠ x2 ∧ x1 ≠ x3 ∧ x1 ≠ x4 2 x1 = x2 ∧ x1 = x4 ∧ x1 ≠ x2 ∧ x1 ≠ x3 ∧ x1 ≠ x4 3 x1 = x3 ∧ x1 = x2 ∧ x1 ≠ x2 ∧ x1 ≠ x3 ∧ x1 ≠ x4 4 x1 = x3 ∧ x1 = x4 ∧ x1 ≠ x2 ∧ x1 ≠ x3 ∧ x1 ≠ x4
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 22 / 42
1 x1 = x2 ∧ x1 = x2 ∧ x1 ≠ x2 ∧ x1 ≠ x3 ∧ x1 ≠ x4 2 x1 = x2 ∧ x1 = x4 ∧ x1 ≠ x2 ∧ x1 ≠ x3 ∧ x1 ≠ x4 3 x1 = x3 ∧ x1 = x2 ∧ x1 ≠ x2 ∧ x1 ≠ x3 ∧ x1 ≠ x4 4 x1 = x3 ∧ x1 = x4 ∧ x1 ≠ x2 ∧ x1 ≠ x3 ∧ x1 ≠ x4
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 22 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 23 / 42
Combination of and a SAT solver SAT solver fjnds a partial assignment satisfying the boolean structure of the formula checks if the conjunction of the corresponding
partial assignment is
Avoids explicit case splitting
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 24 / 42
Combination of DPT and a SAT solver SAT solver fjnds a partial assignment satisfying the boolean structure of the formula checks if the conjunction of the corresponding
partial assignment is
Avoids explicit case splitting
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 24 / 42
Combination of DPT and a SAT solver SAT solver fjnds a partial assignment satisfying the boolean structure of the formula checks if the conjunction of the corresponding
partial assignment is
Avoids explicit case splitting
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 24 / 42
Combination of DPT and a SAT solver SAT solver fjnds a partial assignment satisfying the boolean structure of the formula DPT checks if the conjunction of the corresponding Σ-literals in the partial assignment is T-satisfjable.
Avoids explicit case splitting
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 24 / 42
Combination of DPT and a SAT solver SAT solver fjnds a partial assignment satisfying the boolean structure of the formula DPT checks if the conjunction of the corresponding Σ-literals in the partial assignment is T-satisfjable.
Avoids explicit case splitting
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 24 / 42
Combination of DPT and a SAT solver SAT solver fjnds a partial assignment satisfying the boolean structure of the formula DPT checks if the conjunction of the corresponding Σ-literals in the partial assignment is T-satisfjable.
Avoids explicit case splitting
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 24 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 25 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 25 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 25 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 25 / 42
SAT solver will be iteratively called with
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 26 / 42
SAT solver will be iteratively called with
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 26 / 42
SAT solver will be iteratively called with B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 26 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 27 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 27 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 27 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 28 / 42
x ≠ z x = y y = z
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 28 / 42
x ≠ z x = y y = z
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 28 / 42
x ≠ z x = y y = z
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 28 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 29 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 29 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 29 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 30 / 42
x = z x = y y = z
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 30 / 42
x = z x = y y = z
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 30 / 42
x = z x = y y = z
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 30 / 42
If B is unsatisfjable, then ϕ is T-unsatisfjable If B is satisfjable, satisfying assignment α is passed to DPT as a conjunction ̂ Th(α)
If ̂ Th(α) is T-satisfjable, then ϕ is T-satisfjable If ̂ Th(α) is not T-satisfjable, DPT returns blocking clauses t
also called lemma, e.g. t = ¬̂ Th(α)
e(t) is added to B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 31 / 42
If B is unsatisfjable, then ϕ is T-unsatisfjable If B is satisfjable, satisfying assignment α is passed to DPT as a conjunction ̂ Th(α)
If ̂ Th(α) is T-satisfjable, then ϕ is T-satisfjable If ̂ Th(α) is not T-satisfjable, DPT returns blocking clauses t
also called lemma, e.g. t = ¬̂ Th(α)
e(t) is added to B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 31 / 42
If B is unsatisfjable, then ϕ is T-unsatisfjable If B is satisfjable, satisfying assignment α is passed to DPT as a conjunction ̂ Th(α)
If ̂ Th(α) is T-satisfjable, then ϕ is T-satisfjable If ̂ Th(α) is not T-satisfjable, DPT returns blocking clauses t
also called lemma, e.g. t = ¬̂ Th(α)
e(t) is added to B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 31 / 42
If B is unsatisfjable, then ϕ is T-unsatisfjable If B is satisfjable, satisfying assignment α is passed to DPT as a conjunction ̂ Th(α)
If ̂ Th(α) is T-satisfjable, then ϕ is T-satisfjable If ̂ Th(α) is not T-satisfjable, DPT returns blocking clauses t
also called lemma, e.g. t = ¬̂ Th(α)
e(t) is added to B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 31 / 42
If B is unsatisfjable, then ϕ is T-unsatisfjable If B is satisfjable, satisfying assignment α is passed to DPT as a conjunction ̂ Th(α)
If ̂ Th(α) is T-satisfjable, then ϕ is T-satisfjable If ̂ Th(α) is not T-satisfjable, DPT returns blocking clauses t
also called lemma, e.g. t = ¬̂ Th(α)
e(t) is added to B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 31 / 42
If B is unsatisfjable, then ϕ is T-unsatisfjable If B is satisfjable, satisfying assignment α is passed to DPT as a conjunction ̂ Th(α)
If ̂ Th(α) is T-satisfjable, then ϕ is T-satisfjable If ̂ Th(α) is not T-satisfjable, DPT returns blocking clauses t
also called lemma, e.g. t = ¬̂ Th(α)
e(t) is added to B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 31 / 42
If B is unsatisfjable, then ϕ is T-unsatisfjable If B is satisfjable, satisfying assignment α is passed to DPT as a conjunction ̂ Th(α)
If ̂ Th(α) is T-satisfjable, then ϕ is T-satisfjable If ̂ Th(α) is not T-satisfjable, DPT returns blocking clauses t
also called lemma, e.g. t = ¬̂ Th(α)
e(t) is added to B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 31 / 42
If B is unsatisfjable, then ϕ is T-unsatisfjable If B is satisfjable, satisfying assignment α is passed to DPT as a conjunction ̂ Th(α)
If ̂ Th(α) is T-satisfjable, then ϕ is T-satisfjable If ̂ Th(α) is not T-satisfjable, DPT returns blocking clauses t
also called lemma, e.g. t = ¬̂ Th(α)
e(t) is added to B
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 31 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 32 / 42
1 The formula t is T-valid 2 The atoms in t are restricted to those appearing in ϕ 3 The encoding of t contradicts α, i.e. e(t) is blocking
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 33 / 42
1 The formula t is T-valid 2 The atoms in t are restricted to those appearing in ϕ 3 The encoding of t contradicts α, i.e. e(t) is blocking
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 33 / 42
1 The formula t is T-valid 2 The atoms in t are restricted to those appearing in ϕ 3 The encoding of t contradicts α, i.e. e(t) is blocking
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 33 / 42
1 The formula t is T-valid 2 The atoms in t are restricted to those appearing in ϕ 3 The encoding of t contradicts α, i.e. e(t) is blocking
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 33 / 42
1 The formula t is T-valid 2 The atoms in t are restricted to those appearing in ϕ 3 The encoding of t contradicts α, i.e. e(t) is blocking
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 33 / 42
1 The formula t is T-valid 2 The atoms in t are restricted to those appearing in ϕ 3 The encoding of t contradicts α, i.e. e(t) is blocking
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 33 / 42
1 The formula t is T-valid 2 The atoms in t are restricted to those appearing in ϕ 3 The encoding of t contradicts α, i.e. e(t) is blocking
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 33 / 42
1 The formula t is T-valid 2 The atoms in t are restricted to those appearing in ϕ 3 The encoding of t contradicts α, i.e. e(t) is blocking
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 33 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 34 / 42
1 theory-level confmicts are detected earlier and stronger lemmas are
returned to the SAT solver,
2 theory can deduce a value for some literals ⇒ theory propagation.
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 35 / 42
1 theory-level confmicts are detected earlier and stronger lemmas are
returned to the SAT solver,
2 theory can deduce a value for some literals ⇒ theory propagation.
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 35 / 42
1 theory-level confmicts are detected earlier and stronger lemmas are
returned to the SAT solver,
2 theory can deduce a value for some literals ⇒ theory propagation.
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 35 / 42
1 theory-level confmicts are detected earlier and stronger lemmas are
returned to the SAT solver,
2 theory can deduce a value for some literals ⇒ theory propagation.
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 35 / 42
1 theory-level confmicts are detected earlier and stronger lemmas are
returned to the SAT solver,
2 theory can deduce a value for some literals ⇒ theory propagation.
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 35 / 42
1 theory-level confmicts are detected earlier and stronger lemmas are
returned to the SAT solver,
2 theory can deduce a value for some literals ⇒ theory propagation.
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 35 / 42
1 theory-level confmicts are detected earlier and stronger lemmas are
returned to the SAT solver,
2 theory can deduce a value for some literals ⇒ theory propagation.
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 35 / 42
AddClauses(cnf(e(ϕ))) α is a new partial assignment, updated during search while true do repeat while UnitPropagation() = CONFLICT do bl ← ConfmictAnalysis() if bl < 0 then return UNSAT Backtrack(bl) (t,r) ← Deduction(̂ Th(α)) AddClauses(e(t)) until t ≡ true if α is a full assignment then return SAT Decide()
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 36 / 42
Decide Backtrack Unit Propagation Confmict Analysis Deduction Add Clauses
confmict α ̂ Th(α) t e(t) Theory propagation / confmict Nothing to propagate, no confmict α α all assigned bl < 0 bl ≥ 0
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 37 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 38 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 38 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 38 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 38 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 38 / 42
l′∈̂ Th(α)
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 39 / 42
l′∈̂ Th(α)
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 39 / 42
l′∈̂ Th(α)
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 39 / 42
If any of them is used in ConfmictAnalysis(), DPT is asked for an explanation Clause explaining why the literal was implied The explanation clauses are added lazily on demand, not immediately when a literal is implied
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 40 / 42
If any of them is used in ConfmictAnalysis(), DPT is asked for an explanation Clause explaining why the literal was implied The explanation clauses are added lazily on demand, not immediately when a literal is implied
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 40 / 42
If any of them is used in ConfmictAnalysis(), DPT is asked for an explanation Clause explaining why the literal was implied The explanation clauses are added lazily on demand, not immediately when a literal is implied
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 40 / 42
If any of them is used in ConfmictAnalysis(), DPT is asked for an explanation Clause explaining why the literal was implied The explanation clauses are added lazily on demand, not immediately when a literal is implied
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 40 / 42
If any of them is used in ConfmictAnalysis(), DPT is asked for an explanation Clause explaining why the literal was implied The explanation clauses are added lazily on demand, not immediately when a literal is implied
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 40 / 42
If any of them is used in ConfmictAnalysis(), DPT is asked for an explanation Clause explaining why the literal was implied The explanation clauses are added lazily on demand, not immediately when a literal is implied
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 40 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 41 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 41 / 42
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 41 / 42
can generate strong explanations for confmict can derive values of yet unassigned literals (theory propagation) is incremental
Petr Kučera (Charles University) Decision Procedures and Verifjcation 2019/20 (6th lecture) 42 / 42