Prime Compilation of Non-Clausal Formulae
Alessandro Previti1, Alexey Ignatiev2, Antonio Morgado2, Joao Marques-Silva2
1HIIT, Department of Computer Science, University of Helsinki 2IST/INESC-ID, Portugal
CL Day 2016
1 / 23
Prime Compilation of Non-Clausal Formulae Alessandro Previti 1 , - - PowerPoint PPT Presentation
Prime Compilation of Non-Clausal Formulae Alessandro Previti 1 , Alexey Ignatiev 2 , Antonio Morgado 2 , Joao Marques-Silva 2 1 HIIT, Department of Computer Science, University of Helsinki 2 IST/INESC-ID, Portugal CL Day 2016 1 / 23 Motivation
1HIIT, Department of Computer Science, University of Helsinki 2IST/INESC-ID, Portugal
1 / 23
[DM2002,CD1997] 2 / 23
[DM2002,CD1997]
[Q1952,Q1959,M1956] 2 / 23
[DM2002,CD1997]
[Q1952,Q1959,M1956]
[dK1992] 2 / 23
[DM2002,CD1997]
[Q1952,Q1959,M1956]
[dK1992]
[BM2007]
[B2009]
2 / 23
3 / 23
4 / 23
5 / 23
n In is not an
7 / 23
n In is not an
7 / 23
n In is not an
e Ie is not an
7 / 23
8 / 23
8 / 23
8 / 23
8 / 23
8 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
9 / 23
C1
C2
C3
1 foreach l ∈ In and var(l) ∈ Var(F) do 2
n = In \ {l} 3
n ∧ ¬F unsat then 4
n 5
6
7 return In 8 end 9 / 23
[Q1952,Q1959,T1967]
[C1996]
[P1999,J2014]
[S1970]
[R1994]
[SD2001] 10 / 23
[Q1952,Q1959,T1967]
[C1996]
[P1999,J2014]
[S1970]
[R1994]
[SD2001]
10 / 23
11 / 23
11 / 23
12 / 23
′
′
′
e(F) does not necessarily corresponds to a prime
′
e(F)
13 / 23
14 / 23
14 / 23
[SD’01] 14 / 23
15 / 23
15 / 23
16 / 23
16 / 23
16 / 23
16 / 23
16 / 23
16 / 23
16 / 23
17 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end 18 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end 19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end
19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end 19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end
19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end
19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end (xa x¬a) (xb x¬b) (xc x¬c ) (xd x¬d ) AH = 10 00 10 10
AF = 1 D 1 1 (a) (b) (c) (d)
19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end
19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end
19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end
1 foreach l ∈ Ie and var(l) ∈ Var(F) do 2
e = Ie \ {l} 3
e ∧ F unsat then 4
e 5
6
7 return Ie 8 end 19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end 19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end 19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end 19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end
19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end 19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end
19 / 23
1 H ← {(¬xv ∨ ¬x¬v) | v ∈ var(F)} 2 while true do 3
4
5
6
7
8
9
10
11
12
13
14
15
16 end 19 / 23
20 / 23
10−2 10−1 100 101 102 103 104 primer-b (PIe computation) 10−2 10−1 100 101 102 103 104 ZRes-tison
3600 sec. timeout 3600 sec. timeout
21 / 23
[IPM15]
[MPM15] 22 / 23
23 / 23