SLIDE 1 Autarkies for DQCNF
Oliver Kullmann 1 Ankit Shukla 2
1Swansea University 2JKU, Linz
FMCAD 2019, San Jose, California, USA
1
SLIDE 2
DQCNF: Dependency Quantified Boolean CNF
Formula F = Quantifier Prefix ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : Matrix F0 Matrix F0 = Propositional formula in CNF (a∨b∨x)∧(a∨b∨x)∧(a∨b∨y)∧(a∨b∨y)∧ (c∨x∨y)∧(c∨x∨y∨a)∧(c∨x∨y)∧(c∨x∨y)∧ (d∨e∨x)∧(d∨e∨x∨c)∧(d∨e∨y)∧(d∨e∨y) Dependency set Da = {x}, Db = {y}, Dc = {x, y}, Dd = {x}, De = {y}
2
SLIDE 3
Solve DQCNF: SAT or UNSAT?
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
3
SLIDE 4
Solve DQCNF: SAT or UNSAT?
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
DQCNF Satisfiability
F is satisfiable, if there exists a total assignment: map each existential variable v to a boolean function over the dependency-set of v, f = {fax, fby, fcx,y, fdx, fey} such that the matrix after substitution and simplification becomes satisfiable.
3
SLIDE 5
Solve DQCNF: SAT or UNSAT?
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
DQCNF Satisfiability
F is satisfiable, if there exists a total assignment: map each existential variable v to a boolean function over the dependency-set of v, f = {fax, fby, fcx,y, fdx, fey} such that the matrix after substitution and simplification becomes satisfiable.
3
SLIDE 6
Solve DQCNF: SAT or UNSAT?
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c }, {d, e, y}, {d, e, y}
DQCNF Satisfiability
F is satisfiable, if there exists a total assignment: map each existential variable v to a boolean function over the dependency-set of v, f = {fax, fby, fcx,y, fdx, fey} such that the matrix after substitution and simplification becomes satisfiable.
3
SLIDE 7 Rules of the game
Given a DQCNF formula F:
1 Pick existential variables, assign it a boolean function of
universal variables and substitute it in the matrix.
4
SLIDE 8 Rules of the game
Given a DQCNF formula F:
1 Pick existential variables, assign it a boolean function of
universal variables and substitute it in the matrix.
2 The corresponding clauses becomes tautology.
4
SLIDE 9 Rules of the game
Given a DQCNF formula F:
1 Pick existential variables, assign it a boolean function of
universal variables and substitute it in the matrix.
2 The corresponding clauses becomes tautology.
- Ques. What are allowed values?
4
SLIDE 10 Rules of the game
Given a DQCNF formula F:
1 Pick existential variables, assign it a boolean function of
universal variables and substitute it in the matrix.
2 The corresponding clauses becomes tautology.
- Ques. What are allowed values?
- Ans. Any boolean function based on the dependency set.
4
SLIDE 11 Rules of the game
Given a DQCNF formula F:
1 Pick existential variables, assign it a boolean function of
universal variables and substitute it in the matrix.
2 The corresponding clauses becomes tautology.
- Ques. What are allowed values?
- Ans. Any boolean function based on the dependency set.
Values of boolean functions
∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) a → 0, 1, x, ¬x b → 0, 1, y, ¬y c → 0, 1, x, ¬x, y, ¬y, x ∨ y, x ∧ y, ...
4
SLIDE 12
Solve DQCNF: piece by piece
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
Solve the DQCNF
Choices a, b, c, d, e
5
SLIDE 13
Solve DQCNF: piece by piece
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
Solve the DQCNF
Choices a, b, c, d, e
5
SLIDE 14
Solve DQCNF: piece by piece
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
Solve the DQCNF
Pick d, e
5
SLIDE 15
Solve DQCNF: piece by piece
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
Solve the DQCNF
Pick d, e d → ¬x, e → ¬y
5
SLIDE 16
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {x, y, x}, {x, y, x, c}, {x, y, y}, {x, y, y}
Solve the DQCNF
Pick d, e d → ¬x, e → ¬y
5
SLIDE 17
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y},
✘✘✘✘ ✘
{x, e, x},✘✘✘✘✘
✘
{x, y, x, c},✘✘✘✘
✘
{x, y, y},✘✘✘✘
✘
{x, y, y}
Solve the DQCNF
Pick d, e d → ¬x, e → ¬y
5
SLIDE 18
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}
Solve the DQCNF
Pick d, e d → ¬x, e → ¬y
5
SLIDE 19
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}
Solve the DQCNF
6
SLIDE 20
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}
Solve the DQCNF
6
SLIDE 21
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y} Rule 2. Corresponding clauses becomes tautology!
Solve the DQCNF
6
SLIDE 22
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}
Solve the DQCNF
6
SLIDE 23
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}
Solve the DQCNF
Pick c
6
SLIDE 24
Solve DQCNF: piece by piece
DQCNF formula
F1 := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}
Solve the DQCNF
Pick c c = x ↔ y [(x ∨ ¬y) ∧ (¬x ∨ y)]
6
SLIDE 25
Solve DQCNF: piece by piece
DQCNF formula
F2 := ∀x, y ∃a(x) ∃b(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {x ↔ y, x, y}, {x ↔ y, x, y, a}, {x ↔ y, x, y}, {x ↔ y, x, y}
Solve the DQCNF
Pick c c = x ↔ y [(x ∨ ¬y) ∧ (¬x ∨ y)]
6
SLIDE 26
Solve DQCNF: piece by piece
DQCNF formula
F2 := ∀x, y ∃a(x) ∃b(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y},
✭✭✭✭✭✭ ✭
{x ↔ y, x, y},✭✭✭✭✭✭✭
✭
{x ↔ y, x, y, a},✭✭✭✭✭✭
✭
{x ↔ y, x, y},✭✭✭✭✭✭
✭
{x ↔ y, x, y}
Solve the DQCNF
Pick c c = x ↔ y [(x ∨ ¬y) ∧ (¬x ∨ y)]
6
SLIDE 27
Solve DQCNF: piece by piece
DQCNF formula
F2 := ∀x, y ∃a(x) ∃b(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}
Solve the DQCNF
Pick c c = x ↔ y [(x ∨ ¬y) ∧ (¬x ∨ y)]
6
SLIDE 28
Solve DQCNF piece by piece
DQCNF formula
F2 := ∀x, y ∃a(x) ∃b(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}
Solve the DQCNF
7
SLIDE 29
Solve DQCNF piece by piece
DQCNF formula
F2 := ∀x, y ∃a(x) ∃b(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}
Solve the DQCNF
7
SLIDE 30
Solve DQCNF piece by piece
DQCNF formula
F2 := ∀x, y ∃a(x) ∃b(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}
Solve the DQCNF
Pick a, b
7
SLIDE 31
Solve DQCNF piece by piece
DQCNF formula
F2 := ∀x, y ∃a(x) ∃b(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}
Solve the DQCNF
Pick a, b a = ¬x, b = ¬y
7
SLIDE 32
Solve DQCNF piece by piece
DQCNF formula
F3 := {x, y, x}, {x, y, x}, {x, y, y}, {x, y, y}
Solve the DQCNF
Pick a, b a = ¬x, b = ¬y
7
SLIDE 33
Solve DQCNF piece by piece
DQCNF formula
F3 := ✘✘✘✘
✘
{x, y, x},✘✘✘✘
✘
{x, y, x},✘✘✘✘
✘
{x, y, y},✘✘✘✘
✘
{x, y, y}
Solve the DQCNF
Pick a, b a = ¬x, b = ¬y
7
SLIDE 34
Solve DQCNF piece by piece
DQCNF formula
F3 := true
Solve the DQCNF
Pick a, b a = ¬x, b = ¬y
7
SLIDE 35
DQCNF F is SAT
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
8
SLIDE 36
DQCNF F is SAT
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
Total satisfying assignment
a → ¬x, b → ¬y, c → (x ↔ y), d → ¬x, e → ¬y
8
SLIDE 37
Autarkies for DQCNF
Autarkies for SAT [B¨ uning and Kullmann(2009)]
A partial assignment ϕ : var(F) → {0, 1} is an autarky iff for every clause C ∈ F either ϕ does not “touch” C, i.e., var(ϕ) ∩ var(C) = ∅, or ϕ satisfies C i.e. ϕ ∗ C is true.
9
SLIDE 38
Autarkies for DQCNF
Autarkies for SAT [B¨ uning and Kullmann(2009)]
A partial assignment ϕ : var(F) → {0, 1} is an autarky iff for every clause C ∈ F either ϕ does not “touch” C, i.e., var(ϕ) ∩ var(C) = ∅, or ϕ satisfies C i.e. ϕ ∗ C is true.
Example
For F =
{a}, {a, b} ;
9
SLIDE 39
Autarkies for DQCNF
Autarkies for SAT [B¨ uning and Kullmann(2009)]
A partial assignment ϕ : var(F) → {0, 1} is an autarky iff for every clause C ∈ F either ϕ does not “touch” C, i.e., var(ϕ) ∩ var(C) = ∅, or ϕ satisfies C i.e. ϕ ∗ C is true.
Example
For F =
{a}, {a, b} ; the partial assignment b → 1 is an autarky.
9
SLIDE 40
Autarkies for DQCNF
Autarkies for SAT [B¨ uning and Kullmann(2009)]
A partial assignment ϕ : var(F) → {0, 1} is an autarky iff for every clause C ∈ F either ϕ does not “touch” C, i.e., var(ϕ) ∩ var(C) = ∅, or ϕ satisfies C i.e. ϕ ∗ C is true.
Example
For F =
{a}, {a, b} ; the partial assignment b → 1 is an autarky.
Autarkies for DQCNF
ϕ assign existential variables v of F with boolean functions of variables of the dependency-set. Making a clause “true” now means making it a tautology.
9
SLIDE 41
DQCNF Autarky
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
10
SLIDE 42
DQCNF Autarky
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y} Partial assignment, d → ¬x, e → ¬y is an autarky.
10
SLIDE 43 Extreme cases
1 The empty partial assignment is an autarky for every F
(trivial autarky).
2 A satisfying assignment for F is also an autarky for F.
11
SLIDE 44 Extreme cases
1 The empty partial assignment is an autarky for every F
(trivial autarky).
2 A satisfying assignment for F is also an autarky for F. 3 Elimination of pure literals is a special case of an “autarky
reduction”.
Pure literal
∀x, y∃a(x)b(x, y) : {x, y, a}, {x, a, b}, {y, b} Assign b → 1.
11
SLIDE 45
The basic lemmas
Lemma (satisfiability-equivalence)
For an autarky ϕ of F, ϕ ∗ F is satisfiability-equivalent to F.
12
SLIDE 46
The basic lemmas
Lemma (satisfiability-equivalence)
For an autarky ϕ of F, ϕ ∗ F is satisfiability-equivalent to F.
Proof.
If there is a satisfying assignment of F it satisfies also ϕ ∗ F, since just clauses have been removed. If φ is a total satisfying assignment for ϕ ∗ F, then ϕ ∪ φ is a (partial) satisfying assignment for F.
12
SLIDE 47
The basic lemmas
Lemma (satisfiability-equivalence)
For an autarky ϕ of F, ϕ ∗ F is satisfiability-equivalent to F.
Lemma (confluence)
Autarky reduction is confluent.
Lemma (composition)
The composition of two autarkies is again an autarky.
12
SLIDE 48
The basic lemmas
A DQCNF F is called lean if it has no non-trivial autarkies.
13
SLIDE 49
The basic lemmas
A DQCNF F is called lean if it has no non-trivial autarkies. Lean kernel (unique) is obtained by repeatedly applying autarky-reduction on F as long as possible.
13
SLIDE 50
The basic lemmas
A DQCNF F is called lean if it has no non-trivial autarkies. Lean kernel (unique) is obtained by repeatedly applying autarky-reduction on F as long as possible.
Lemma (autarky decomposition)
A DQCNF F can always be decomposed into the largest (unique) autark sub-DQCNF (satisfiable part by autarky) and the largest lean sub-DQCNF (lean kernel). Every chain of autarky reductions starting with F can be extended to it’s lean kernel (where it necessarily ends).
13
SLIDE 51
Finding autarkies
Challenge
Finding an autarky for DQCNF is as hard as finding a satisfying assignment.
14
SLIDE 52 Finding autarkies
Challenge
Finding an autarky for DQCNF is as hard as finding a satisfying assignment.
Our solution: Autarky Systems
1 Restricting the range of autarkies to a more feasible domain. ◮ Restrict the structure of the boolean function. ◮ Restrict the number of existential variable used. 2 Maintain the good general properties of arbitrary autarkies.
14
SLIDE 53
A- and E-systems: A1 Autarky system
A1 allow the boolean functions to depend on 1 universal variable.
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}{d, e, y}, {d, e, y}
Example
Exactly one A1-autarky a → ¬x, b → ¬y F is E1-lean. Deciding whether a DQCNF has a non-trivial A1-autarky is NP-complete.
15
SLIDE 54
A- and E-systems: E1 Autarky system
E1 only uses one existential variable.
DQCNF formula
F := ∀x, y ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}
Example
Exactly one E1-autarky c → (x ∨ ¬y) ∧ (¬x ∨ y) F A1-lean. Deciding the existence of E1-autarky can be done in polynomial time.
16
SLIDE 55
A- and E-systems: E1 Autarky system: E1 + A1
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
17
SLIDE 56
A- and E-systems: E1 Autarky system: E1 + A1
DQCNF formula
F := ∀x, y ∃a(x) ∃b(y) ∃c(x, y) ∃d(x) ∃e(y) : {a, b, x}, {a, b, x}, {a, b, y}, {a, b, y}, {c, x, y}, {c, x, y, a}, {c, x, y}, {c, x, y}, {d, e, x}, {d, e, x, c}, {d, e, y}, {d, e, y}
Total satisfying assignment
a → ¬x, b → ¬y, c → (x ↔ y), d → ¬x, e → ¬y Exactly has 4 autarkies. Deciding the existence of E1+A1-autarky can be done is NP-complete.
17
SLIDE 57 Translation (t) to SAT: Finding A1 via compilation
1 Selected (boolean) functions: explicitly list the possible boolean
functions as values of the existential variables. S(c) = t(c, 0), t(c, 1), t(c, x), t(c, ¬x), t(c, y), t(c, ¬y)
18
SLIDE 58 Translation (t) to SAT: Finding A1 via compilation
1 Selected (boolean) functions: explicitly list the possible boolean
functions as values of the existential variables. S(c) = t(c, 0), t(c, 1), t(c, x), t(c, ¬x), t(c, y), t(c, ¬y)
2 Admissible partial assignment: compile for each clause C ∈ F the
minimal possibilities for C to become a tautology. M({c, x, y, a}) = p(c, 1), p(a, 1),
18
SLIDE 59 Translation (t) to SAT: Finding A1 via compilation
1 Selected (boolean) functions: explicitly list the possible boolean
functions as values of the existential variables. S(c) = t(c, 0), t(c, 1), t(c, x), t(c, ¬x), t(c, y), t(c, ¬y)
2 Admissible partial assignment: compile for each clause C ∈ F the
minimal possibilities for C to become a tautology. M({c, x, y, a}) = p(c, 1), p(a, 1), p(c, x), p(c, y), p(a, x),
18
SLIDE 60 Translation (t) to SAT: Finding A1 via compilation
1 Selected (boolean) functions: explicitly list the possible boolean
functions as values of the existential variables. S(c) = t(c, 0), t(c, 1), t(c, x), t(c, ¬x), t(c, y), t(c, ¬y)
2 Admissible partial assignment: compile for each clause C ∈ F the
minimal possibilities for C to become a tautology. M({c, x, y, a}) = p(c, 1), p(a, 1), p(c, x), p(c, y), p(a, x), p(c, x, a, ¬x), p(c, ¬x, a, x)
18
SLIDE 61 Translation (t) to SAT: Finding A1 via compilation
1 Selected (boolean) functions: explicitly list the possible boolean
functions as values of the existential variables. S(c) = t(c, 0), t(c, 1), t(c, x), t(c, ¬x), t(c, y), t(c, ¬y)
2 Admissible partial assignment: compile for each clause C ∈ F the
minimal possibilities for C to become a tautology. M({c, x, y, a}) = p(c, 1), p(a, 1), p(c, x), p(c, y), p(a, x), p(c, x, a, ¬x), p(c, ¬x, a, x)
3 Selector-variable: if C is touched (selected), at least one of the
minimal possibilities for C is fulfilled. ALO(M({c, x, y}))
18
SLIDE 62 Numbers: Computing normalforms in DQBF track
334 instances in the DQBF track of QBFEVAL’18 in 9000s. (finding an autarky is quick, proving UNSAT: time consuming.) 330 instances are E1+A1-lean (have no non-trivial E1- or A1-autarky).
No. Instances Autarky type Reduction c(F) c(F’) 1. bloem eq1.dqdimacs A1-satisfiable 16
environment 1.dqdimacs tentrup17 ltl2dba theta E1+A1-satisfiable 732
bloem ex1.dqdimacs A1: non-trivial autarky 52 18 4. bloem ex2.dqdimacs A1: non-trivial autarky 139 99
19
SLIDE 63 Autarkies use and applications
“Preprocessing can be extremely beneficial.” - Armin Biere [Biere(2011)]
1 Preprocessing: reduce the input formula by simplification
procedures before the formula is passed to the actual solving algorithm.
2 Inprocessing: use the formula simplification procedures during the
search process of the solver. Preprocessor DQBF Formula F DQBF solver Formula F′ SAT?
20
SLIDE 64
Conclusion
Autarky theory for DQBF. Two basic autarky systems A1, E1 and their combination E1 + A1. A SAT translation. Future Work: Determining the (unique) normalforms for A1, E1, E1+A1 for all over 12,000 instances in QBFLIB. Consider more stronger autarky systems A2, E2.
Thanks!
21
SLIDE 65
Bibliography
Armin Biere. Preprocessing and inprocessing techniques in SAT. In Haifa Verification Conference, volume 1, 2011. Hans Kleine B¨ uning and Oliver Kullmann. Minimal unsatisfiability and autarkies. Handbook of Satisfiability, 185:339–401, 2009.
22