1 Quantified Formulas knowledgement: QBF slides borrowed from S. Malik
Jan 13, 2016
1
Quantified Formulas
Acknowledgement: QBF slides borrowed from S. Malik
2
Why do we need quantifiers ?
As always: more modeling power Examples of quantifiers usage:
“Everyone in the room has a friend” “There is a person in the room that all of his cars are red” “There is not more than one person in the room that earns
more than $1M”
3
Quantifiers in Math…
For any integer x there is a smaller integer y
8x2Z 9y2Z. y < x X Reverse claim: There exists an integer y such that any
integer x is greater than y
8x2Z 9y2Z. y < x £
(Bertrand’s postulate) For any natural number greater than 1 there is a prime number p such that n < p < 2n
8n2 N. 9p2 N. n >1 ! (isprime(p) Æ n < p < 2n)
4
Actually…
Satisfiability of (x1,,xn) = does there exist an interpretation of x1,,xn that satisfies
Validity of (x1,,xn) = does it hold that all interpretation of x1,,xn satisfy
Conclusion: what we did so far (satisfiability, validity) is non-alternating quantification.
5
Example: Quantified Propositional Logic
Better known as Quantified Boolean Formulas (QBF)
formula: var | : formula | formula Ç formula | ( formula ) | T | F|8 var. (formula) | 9 var. (formula)
8 x. (x Ç 9 y. (y ! x))
8 x. (9 y. ((x Ç :y) Æ (:x Çy)) Æ 9 y. ((:y Ç :x) Æ (x Ç y)))
Binding scope of y
X
X
6
Prenex Normal-Form (PNF)
Formulas in PNF look like this:
’: Q[n]V[n]. .Q[1]V[1]. Quantifier-free formula
where Q[i] 2 {8,9} and V[i] is a variable.
Every quantified formula can be transformed to PNF while preserving validity. How ?
prefix
7
Prenex Normal Form (PNF)
1. Eliminate ! and $ (transform to Ç Æ :)
2. Push negations inside using:: 8 x. $ 9 x. : : 9 x. $ 8 x. :
3. If there are name conflicts across scopes, solve with renaming.
4. Move quantifiers out by using recursively rules such as:1. Q1 x. 1(x) Æ Q2 y.
2(y) $ Q1 x. Q2 y. (1(x) Æ 2(y)) Qi2{8,9}
2. Q1 x. 1(x) Ç Q2 y. 2(y) $ Q1 x. Q2 y. (1(x) Ç 2(y))Qi2{8,9}
3. 1 Æ 9 x. 2(x) $ 9 x. (1 Æ 2(x)) where x does not appear in 1
4. 1 Æ 8 x. 2(x) $ 8 x. (1 Æ 2(x)) where x does not appear in 1
5. 8 x. 1(x) Æ 8 x.
2(x) $ 8 x. (
1(x) Æ
2(x))
6. 9 x. 1(x) Ç 9 x.
2(x) $ 9 x. (
1(x) Ç
2(x))
8
Prenex Normal Form (PNF): example
:9 x. : (9 y. ((y ! x) Æ (: x Ç y)) Æ :8 y. ((y Æ x) Ç (: x Æ : y)))
1,2. Eliminate !, push negations inside:
8 x. (9 y. ((:y Ç x) Æ (: x Ç y)) Æ 9y. ((:y Ç : x) Æ (x Ç y)))
3. Renaming:
8 x. (9y1. ((:y1 Ç x) Æ (: x Ç y1)) Æ 9y2. ((:y2 Ç : x) Æ (x Ç y2)))
4. Move quantifiers to front:
8 x. 9y1. 9y2. (x Ç :y1) Æ (: x Ç y1) Æ (:y2 Ç : x) Æ (x Ç y2)
9
Why eliminating 9x. ÆiLi is enough
A procedure for eliminating an existential quantifier applied to a conjunction of literals is enough, because: Given a formula , write it in DNF. Use the fact that
Eliminate universal quantifiers using the fact
8x. $ :9x. :
10
Quantifier Elimination
Examples first, generalization later. Example #1: Quantified Boolean Formulas (QBF) Example #2: Quantified Linear Arithmetic (QLA)
11
Example #1: QBF
Examples of Quantified Boolean Formula
: ue.(uÇ :e)(:uÇ e)
: e4e5u1u2u3e1e2e3. f(e1,e2,e3,e4,e5,u1,u2,u3)
QBF Problem: is valid? P-Space Complete, theoretically harder than NP-Complete
problems such as SAT.
12
Motivations
QBF has practical applications: AI Planning Sequential circuit verification …
13
a Ç b Ç g Ç h’Ç fa Ç b Ç g Ç h’
Solving QBF with projection: 9
Eliminate 9x. by projecting x on variables in higher quantification levels (their scope includes x’s scope).
In Propositional Logic projection can be done with Resolution.
Resolution example:
a Ç b Ç c’ Ç f g Ç h’ Ç c Ç f
14
Solving QBF with projection: 8
)'')(')('( 13211113121 euueueuueuu
))'')(')('(( 13211113121 euueueuueuu
))'()'()'(( 121111121 eueueueuu
Transform 8 to 9 via: (8x. $ (:9x. : CNF is easier than general formulas:
))'()'()'(( 13211113121 euueueuueuu Suffix is DNF
))'()'()'( 121111121 eueueueuu Back to CNF
Shortcut for CNF formulas: simply erase universally quantified variables!
))).('()'()'(( 13321111121 euuueueueuu Replace with true
15
)'( 2121 uuuu
)')('')(')('( 311323111133121 eeeuueeueueueuu
)')()('')('')('( 312113232111233121 eeeeeuueeueueeueuu
Resolution Based QBF Algorithm
)')(')('( 121111121 eueueueuu
false
)'')(')('( 13211113121 euueueuueuu
16
Example #2: Quantified Linear Arithmetic
formula = predicate | formula Ç formula | :formula | (formula) | 8 var. formula | 9 var. formula
predicate = i ai xi · c
8x.9y.9z. (y+1 · x Æ z+1 · y Æ 2x+1 · z)
17
Solving QLA with projection
Eliminate 9x. by projecting x. In Linear Arithmetic over R projection can be done
with Fourier-Motzkin elimination.
Fourier-Motzkin method to eliminate a variable xn:- for each pair of constraints: i=1..n-1ai’xi < xn < i=1..n-1aixi
add a constraint i=1..n-1ai’xi < i=1..n-1aixi
- in the end remove all constraints involving xn.
18
x + 1 · 3z + 3
2y · 2z + 4
Solving QLA with projection
Fourier Motzkin: example.
Eliminate y:
x + 1 · z + 2 Æ
x + 1 · y Æ y · 3z + 3 Æ
19
Quantifier elimination - example
8x.9y.9z. (y+1 · x Æ z+1 · y Æ 2x+1 · z)
8x.9y. (y+1 · x Æ 2x+1 · y-1 )
8x. (2x+2 · x-1) // transform to 9
:9x. : (2x+2 · x-1)
:9x. x > -3
:true
false
20
Quantifier elimination by projection: summary
Given a PNF formula f = Q[n]V[n]Q[1]V[1]
For i = 1 .. n {
if Q[i] = 9 then = project(,V[i])
else = :project(:,V[i])
}
Return
21
More about QBF
Example of using QBF (the diameter problem) A search-based procedure for QBF.
22
The State Space Diameter Problem
S0
S2S1
S3
S5 S4 diameter = 3
Start from the initial states, the minimum number of steps needed to visit every reachable state
S0
initial state: S0S2S1
step 1: S1, S2
S4
S3step 2: S3, S4
S5
step 3: S5
23
Why is the Diameter Problem important?
Bounded model checking (BMC): search for a ‘bad’ state up to k steps from an initial step.
BMC can be formulated as SAT. Increasing k makes is harder. Q: how deep should we go ? A: as deep as the diameter The diameter can be found by solving a QBF problem
25
Circuit Constructed for the Diameter Problem
CombinationalLogic
I1
O1
1s0s CombinationalLogic
In
On
ns1ns CombinationalLogic
In+1
On+1
1ns
CombinationalLogic
I1’
O1’
'1s'0s CombinationalLogic
In’
On’
'ns'1ns
The idea: prove that for every state reachable in k+1 steps, there exists inputs that drive the model to this state earlier.
26
Some Terminology for the Formulations
CombinationalLogic
I1
O1
1s0s CombinationalLogic
In
On
ns1ns CombinationalLogic
In+1
On+1
1ns
CombinationalLogic
I1’
O1’
'1s'0s CombinationalLogic
In’
On’
'ns'1nsVariables: V1
Circuit consistency condition: C(V1)
27
Some Terminology for the Formulations
CombinationalLogic
I1
O1
1s0s CombinationalLogic
In
On
ns1ns CombinationalLogic
In+1
On+1
1ns
CombinationalLogic
I1’
O1’
'1s'0s CombinationalLogic
In’
On’
'ns'1ns
Variables: V2
Circuit consistency condition: C(V2)
28
QBF Formulation
CombinationalLogic
I1
O1
1s0s CombinationalLogic
In
On
ns1ns CombinationalLogic
In+1
On+1
1ns
CombinationalLogic
I1’
O1’
'1s'0s CombinationalLogic
In’
On’
'ns'1ns
C(V1)
C(V2)
)1()()()(.),\( '10212
1
11121 i
SSVCVCVIVIII nni
n
iin
Other V1variables
V1 inputs V2 variables
29
Another way to project Boolean variables
Shannon expansion:9x. = |x=0 Ç |x=1
8x. = |x=0 Æ |x=1 // can be derived from 8x. = :9x.:
The same applies for all finite-range variables. Applying to CNF $ resolution But: does not need to be in CNF, and there is no
need to transform the formula to DNF.
30
Projection for non-CNF formulas: example
9y 8z 9x. (y Ç (x Æ z))
9y 8z. (y Ç (x Æ z))|x=0 Ç (y Ç (x Æ z))|x=1
9y 8z. ((y) Ç (y Ç z))
9y :9z. (:y Æ :z)
9y. : ((:y Æ :z)|z=0 Ç (:y Æ :z)|z=1)
9y. : (:y)
True
31
Search Based QBF Algorithms
Work by gradually assigning variables A partial assignment
[KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)
32
Search Based QBF Algorithms
Work by gradually assigning variables A partial assignment
Undetermined Continue search
[KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)
33
Search Based QBF Algorithms
Work by gradually assigning variables A partial assignment
Undetermined Conflict
Backtrack Record the reason
[KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)
34
Search Based QBF Algorithms
Work by gradually assigning variables A partial assignment
Undetermined Conflict Satisfied
Backtrack Determine the covered satisfying space
[KGS98] M. Cadoli, A. Giovanardi, M. Schaerf. An Algorithm to Evaluate Quantified Boolean Formulae. In Proc. of 16th National Conference on Artificial Intelligence (AAAI-98)
35
Search Based QBF Algorithms
Work by gradually assigning variables A partial assignment
Undetermined Conflict Satisfied
The majority of QBF solvers are search based, the DPLL algorithm is an example of this
36
Basic DPLL Flow for QBF
eu (e Ç u)(:e Ç :u)
Unknown
True (1)
False(0)
37
Basic DPLL Flow for QBF
e = 0
Unknown
True (1)
False(0)
eu (e Ç u)(:e Ç :u)
38
Basic DPLL Flow for QBF
e = 0
u = 1
Unknown
True (1)
False(0)
Satisfying Node
eu (e Ç u)(:e Ç :u) Universal quantification
Existential quantification
39
Basic DPLL Flow for QBF
e = 0
u = 1
Unknown
True (1)
False(0)
Backtrack
eu (e Ç u)(:e Ç :u)
40
Basic DPLL Flow for QBF
e = 0
u = 1 u = 0
Unknown
True (1)
False(0)
eu (e Ç u)(:e Ç :u)
41
Basic DPLL Flow for QBF
e = 0
u = 1 u = 0
Unknown
True (1)
False(0)
eu (e Ç u)(:e Ç :u)
42
Basic DPLL Flow for QBF
e = 1
Unknown
True (1)
False(0)
eu (e Ç u)(:e Ç :u)
e = 0
u = 1 u = 0
43
Basic DPLL Flow for QBF
e = 1
u = 1
Unknown
True (1)
False(0)
eu (e Ç u)(:e Ç :u)
e = 0
u = 1 u = 0
44
Basic DPLL Flow for QBF
e = 1
u = 1
Unknown
True (1)
False(0)
Conflicting Node
eu (e Ç u)(:e Ç :u)
e = 0
u = 1 u = 0
45
Basic DPLL Flow for QBF
e = 1
u = 1
Unknown
True (1)
False(0)
eu (e Ç u)(:e Ç :u)
e = 0
u = 1 u = 0
46
Basic DPLL Flow for QBF
e = 1
u = 1
e = 0
u = 1 u = 0
False
Unknown
True (1)
False(0)
eu (e Ç u)(:e Ç :u)
47
Basic DPLL Flow for QBF
ue (u Ç e)(:u Ç :e)
Unknown
True (1)
False(0)
48
Basic DPLL Flow for QBF
Unknown
True (1)
False(0)
u = 1
ue (u Ç e)(:u Ç :e)
49
Basic DPLL Flow for QBF
Unknown
True (1)
False(0)
u = 1
e = 1
ue (u Ç e)(:u Ç :e)
50
Basic DPLL Flow for QBF
Unknown
True (1)
False(0)
u = 1
e = 1 e = 0
ue (u Ç e)(:u Ç :e)
51
Basic DPLL Flow for QBF
Unknown
True (1)
False(0)
u = 1
e = 1 e = 0
ue (u Ç e)(:u Ç :e)
52
Basic DPLL Flow for QBF
Unknown
True (1)
False(0)
u = 1
e = 1 e = 0
u = 0
e = 1
ue (u Ç e)(:u Ç :e)
53
Basic DPLL Flow for QBF
Unknown
True (1)
False(0)
u = 1
e = 1 e = 0
u = 0
e = 1
Trueue (u Ç e)(:u Ç :e)
54
Naïve DPLL Based Approach
Works on a CNF database Learning and non-chronological backtracking is
much harder – requires a change! Modern QBF solvers do not work with CNF, rather
with a combination of CNF with Cubes. This lets them apply learning efficiently.