Upload
phuong
View
22
Download
0
Embed Size (px)
DESCRIPTION
Decision Procedures in First Order Logic. Propositional Encodings. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A. A system of conjoined linear inequalities. Fourier-Motzkin Elimination. m constraints. n variables. - PowerPoint PPT Presentation
Citation preview
Daniel Kroening and Ofer Strichman 1
Decision Procedures in First Order Logic
Propositional Encodings
Decision Procedures An algorithmic point of view 2
Fourier-Motzkin Elimination
nnmnm
n
b
b
b
x
x
x
aa
aa
aaa
:
:
:
:
......
::
::
:
....
2
1
2
1
1
2221
11211
bIA A system of conjoined linear inequalities
m constraints
n variables
Decision Procedures An algorithmic point of view 3
1. When eliminating xn, partition the constraints according to the coefficient ai,n:
¨ ai,n > 0: upper bound
¨ ai,n < 0: lower bound nX
j =1ai;j ¢xj · bi
) xn ·bi
ai;n¡
n¡ 1X
j =1
ai;j
ai;n¢xj
) ai;n ¢xn · bi ¡n¡ 1X
j =1ai;j ¢xj
Decision Procedures An algorithmic point of view 4
n Example:
(1) x1 – x2 ≤ 0
(2) x1 – x3 ≤ 0
(3) -x1 + x2 + 2x3 ≤ 0
(4) -x3 ≤ -1
Assume we eliminate 1.
Lower bound
Lower bound
Upper bound
Category?
Decision Procedures An algorithmic point of view 5
2. For each pair of a lower bound al,n<0 andupper bound au,n>0, we have
3. For each such pair, add a constraint
4. In other words, apply the proof rule:
Decision Procedures An algorithmic point of view 6
n Example:(1) x1 – x2 ≤ 0
(2) x1 – x3 ≤ 0
(3) -x1 + x2 + 2x3 ≤ 0
(4) -x3 ≤ -1
(5) 2x3 ≤ 0 (from 1 and 3)
(6) x2 + x3 ≤ 0 (from 2 and 3)
Eliminate x1.
Decision Procedures An algorithmic point of view 7
n Example:
(1) x1 – x2 ≤ 0
(2) x1 – x3 ≤ 0
(3) -x1 + x2 + 2x3 ≤ 0
(4) -x3 ≤ -1
(5) 2x3 ≤ 0 (from 1 and 3)
(6) x2 + x3 ≤ 0 (from 2 and 3)
(7) 0 ≤ -1 (from 4 and 5)
Contradiction (the system is unsatisfiable)!
Eliminate x3.
Decision Procedures An algorithmic point of view 8
Complexity of Fourier-Motzkin
In verification we typically solve a large number of small linear inequality systems.
The bottleneck: case splitting
Q: Is there an alternative to case-splitting ?
Decision Procedures An algorithmic point of view 9
Boolean Fourier-Motzkin (BFM)
x1 – x2 < 0 x1 – x3 < 0 (-x1 + 2x3 + x2 < 0 -x3 < -1)
(x1 – x2 0) x1 – x3 < 0 (-x1 + 2x3 + x2 0 1 x3 )
1. Normalize formula: ¨ Transform to NNF¨ Eliminate negations by reversing inequality signs
(1/2)
Decision Procedures An algorithmic point of view 10
: x1 - x2 < 0 x1 - x3 < 0 (-x1 + 2x3 + x2 < 0 -x3 < -1)
2. B
Boolean Fourier-Motzkin (BFM)
3. Derive Btrans: Perform FM on the conjunction of all predicates:
e1 e2 ( e3 e4 )
x1 – 2 < 0-x1 + 2x3 + x2 < 0
2x3 < 0
e1
e3
e5
e1 e3 e5
(2/2)
4. Solve ’ = B Æ (Btrans)
Decision Procedures An algorithmic point of view 11
BFM: example
e1 x1 – x2 < 0
e2 x1 – x3 < 0
e3 -x1 + 2x3 + x2 < 0
e4 -x3 < -1
e1 e2 (e3 e4)
e5 2x3 < 0
e6 x2 + x3 < 0
e1 e3 e5
e2 e3 e6
False 0 < -1 e4 e5 False
’ = Bsk Æ Btrans is satisfiable
Btrans
Computing Btrans
Computing Bsk
Decision Procedures An algorithmic point of view 12
n A proof rule
n A proof step (r,p,a)¨ r: Rule¨ p: Proposition¨ a: Antecedents
Decision Procedures An algorithmic point of view 13
Some proof rules
Decision Procedures An algorithmic point of view 14
Let’s prove
Decision Procedures An algorithmic point of view 15
Proof-graph of P
A
A
B
:
,:
Decision Procedures An algorithmic point of view 16
n Definition (Proof-step Constraint): if A1…Ak are the antecedents of step then
n Example:
():= (=5) Æ (:¸ 0) ! (:5 ¸ 0)
Boolean encoding
Decision Procedures An algorithmic point of view 18
n A proof P =(s1,…, sn) is a set of Proof Steps, in which the Antecedence relation is acyclic.
n The Proof Constraint c(P) induced by P is the conjunction of the constraints induced by its steps:
Decision Procedures An algorithmic point of view 19
n Propositional skeleton:
Decision Procedures An algorithmic point of view 20
n A proof P is said to prove validity of if :sk Æ c(P) is unsatisfiable.
n Normally proofs refer to the Boolean skeleton (the roots are sub-formulas).
n We will consider proofs starting from literals, and, hence, no Boolean structure.
Decision Procedures An algorithmic point of view 22
n Prove validity of x 5 Ç x ¸ 0 by using atoms only
Example
Decision Procedures An algorithmic point of view 23
Example (cont’d)
:sk Æ (’)
Decision Procedures An algorithmic point of view 24
Complete proofs
n Definition (Complete proofs): A proof P is called complete with respect to if
Decision Procedures An algorithmic point of view 25
n Proposition (sufficient condition for completeness #1): Let be an unsatisfiable formula, and let A denote the set of full assignments that satisfy sk.
A proof P is complete with respect to if 8 2 A,
TL(): Theory Literals corresponding to
Decision Procedures An algorithmic point of view 26
n Proposition (sufficient condition for completeness #2): Let be an unsatisfiable formula, and let A denote the set of minimal assignments that satisfy sk.
A proof P is complete with respect to if 8 2 A,
TL(): Theory Literals corresponding to
For a partial assignment s.t. ² , is minimal if 8v. nv 2
Decision Procedures An algorithmic point of view 27
n Proposition (sufficient condition for completeness #3): Let be an unsatisfiable formula, and let A denote the set of minimal assignments that satisfy sk.
A proof P is complete with respect to if 8 2 A, for some unsatisfiable core TLuc() µ TL()
TL(): Theory Literals corresponding to
Decision Procedures An algorithmic point of view 28
Goal: find complete proofs
n We will see a ‘complete’ proof mechanism, based on projection.
n First, let us define projection in terms of proof steps.
Decision Procedures An algorithmic point of view 29
Decision Procedures An algorithmic point of view 30
Example - projection
n Indeed, ¨ x1 var(x4 > x4)
¨ ’ = (x2 > x3) Æ (x4 > x4) is equisatisfiable to
Decision Procedures An algorithmic point of view 31
Decision Procedures An algorithmic point of view 32
Example – strong projection
12
n Indeed
are unsatisfiable and do not contain x1.
Decision Procedures An algorithmic point of view 33
Decision Procedures An algorithmic point of view 34
Decision Procedures An algorithmic point of view 35
Decision Procedures An algorithmic point of view 36
Decision Procedures An algorithmic point of view 38
Examples
n Disjunctive Linear arithmetic:Boolean Fourier-Motzkin
n Equality Logic:¨ For each pair of predicates
of the form xi=xj and xj=xk in , apply:
¨ To each pair of contradicting predicates of the form xi = xj and xi xj, apply
xi = xj xj = xk
xi = xk(T ransitivity of Equality)
xi = xj xi 6= xj
f alse(Contradiction)
Decision Procedures An algorithmic point of view 39
Optimizations
n Conjunction Matrices
n Early detection
n Cross-theory learning
Decision Procedures An algorithmic point of view 40
Cross-theory learning
n T1:
n T2:
n From T1 we learn z1= z2,which we propagate to T2
n In T2 we get a contradiction on: z1 > 2, z2=1, z1 = z2
n This results in a conflict clause:
n Which represents cross-theory learning
(: e(z1 > 2) _ : e(z2 = 1) _ : e(z1 = z2))
x1 = x2; z1 = f (x1); z2 = f (x2)
z1 > 2;z2 = 1