Autarkies for DQCNF Oliver Kullmann 1 Ankit Shukla 2 1 Swansea - - PowerPoint PPT Presentation

autarkies for dqcnf
SMART_READER_LITE
LIVE PREVIEW

Autarkies for DQCNF Oliver Kullmann 1 Ankit Shukla 2 1 Swansea - - PowerPoint PPT Presentation

Autarkies for DQCNF Oliver Kullmann 1 Ankit Shukla 2 1 Swansea University 2 JKU, Linz FMCAD 2019, San Jose, California, USA 1 DQCNF: Dependency Quantified Boolean CNF Formula Quantifier Prefix Matrix F = F 0 x, y a ( x ) b ( y )


slide-1
SLIDE 1

Autarkies for DQCNF

Oliver Kullmann 1 Ankit Shukla 2

1Swansea University 2JKU, Linz

FMCAD 2019, San Jose, California, USA

1

slide-2
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
SLIDE 34

Solve DQCNF piece by piece

DQCNF formula

F3 := true

Solve the DQCNF

Pick a, b a = ¬x, b = ¬y

7

slide-35
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
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
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
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
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
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
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
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
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
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
SLIDE 45

The basic lemmas

Lemma (satisfiability-equivalence)

For an autarky ϕ of F, ϕ ∗ F is satisfiability-equivalent to F.

12

slide-46
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
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
SLIDE 48

The basic lemmas

A DQCNF F is called lean if it has no non-trivial autarkies.

13

slide-49
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
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
SLIDE 51

Finding autarkies

Challenge

Finding an autarky for DQCNF is as hard as finding a satisfying assignment.

14

slide-52
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
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
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
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
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
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
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
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
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
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
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

  • 2.

environment 1.dqdimacs tentrup17 ltl2dba theta E1+A1-satisfiable 732

  • 3.

bloem ex1.dqdimacs A1: non-trivial autarky 52 18 4. bloem ex2.dqdimacs A1: non-trivial autarky 139 99

19

slide-63
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
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
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