Localizing Quantifiers for DQBF Aile Ge-Ernst C. Scholl, R. Wimmer - - PowerPoint PPT Presentation

localizing quantifiers for dqbf
SMART_READER_LITE
LIVE PREVIEW

Localizing Quantifiers for DQBF Aile Ge-Ernst C. Scholl, R. Wimmer - - PowerPoint PPT Presentation

Localizing Quantifiers for DQBF Aile Ge-Ernst C. Scholl, R. Wimmer Albert-Ludwigs-University Freiburg Concept Engineering Freiburg Formal Methods in Computer Aided Design San Jos e, CA, USA, Oct 25, 2019 Motivation Prenex QBF vs. DQBF


slide-1
SLIDE 1

Localizing Quantifiers for DQBF

Aile Ge-Ernst

  • C. Scholl, R. Wimmer

Albert-Ludwigs-University Freiburg Concept Engineering Freiburg

Formal Methods in Computer Aided Design San Jos´ e, CA, USA, Oct 25, 2019

slide-2
SLIDE 2

Motivation

slide-3
SLIDE 3

Prenex QBF vs. DQBF

Quantified Boolean Formulas (QBF) in prenex form: ψ := Q1v1Q2v2 ... Qnvn : ϕ ◮ Q1v1Q2v2 ... Qnvn: quantifier prefix ◮ Qi: quantifier ∀ or ∃ ◮ v1, v2, ... , vn: Boolean variables ◮ ϕ: matrix, which is a quantifier-free Boolean formula ◮ linearly ordered dependencies: Each existential variable depends on all universal variables to the left of it.

1 / 27

slide-4
SLIDE 4

Prenex QBF vs. DQBF

Quantified Boolean Formulas (QBF) in prenex form: ψ := Q1v1Q2v2 ... Qnvn : ϕ ◮ Q1v1Q2v2 ... Qnvn: quantifier prefix ◮ Qi: quantifier ∀ or ∃ ◮ v1, v2, ... , vn: Boolean variables ◮ ϕ: matrix, which is a quantifier-free Boolean formula ◮ linearly ordered dependencies: Each existential variable depends on all universal variables to the left of it.

Example: ∀x1∃y1∀x2∃y2 : ϕ

◮ y1 depends on x1 ◮ y2 depends on x1 and x2

∀x1 ∃y1 ∀x2 ∃y2

1 / 27

slide-5
SLIDE 5

QBF vs. DQBF

Dependency Quantified Boolean Formulas (DQBF) in prenex form: Ψ := ∀x1∀x2 ... ∀xn∃y1(Dy1)∃y2(Dy2) ... ∃ym(Dym) : ϕ ◮ Dyj: dependency sets of ∃-variables yj ◮ Dependencies are stated explicitly. ◮ Variable order in the prefix irrelevant.

2 / 27

slide-6
SLIDE 6

QBF vs. DQBF

Dependency Quantified Boolean Formulas (DQBF) in prenex form: Ψ := ∀x1∀x2 ... ∀xn∃y1(Dy1)∃y2(Dy2) ... ∃ym(Dym) : ϕ ◮ Dyj: dependency sets of ∃-variables yj ◮ Dependencies are stated explicitly. ◮ Variable order in the prefix irrelevant.

Example: ∀x1∀x2∃y1(x1)∃y2(x2) : ϕ

◮ y1 depends only on x1 ◮ y2 depends only on x2

x1 x2 y1 x1 y2 x2

2 / 27

slide-7
SLIDE 7

QBF vs. DQBF

◮ DQBFs encodings are more compact than their QBF counterpart. ◮ DQBFs can succinctly express problems involving decisions under partial information.

Example:

◮ y1 depends only on x1 and x3 ◮ y2 depends only on x2 and x3

⇒ ∀x1∀x2∀x3∃y1(x1, x3)∃y2(x2, x3) : ϕ

BB1 BB2 X1 X2 Y1 Y2 Specification Implementation ≡ 1? Miter X3

3 / 27

slide-8
SLIDE 8

QBF vs. DQBF

◮ However, until now only prenex DQBFs have been investigated (except for a seminal theoretical work1). ◮ Our contribution:

◮ Definition of non-closed non-prenex DQBF. ◮ Use rules to simplify non-closed non-prenex DQBF. ◮ Experiments to verify effectiveness.

1Valeriy Balabanov, Hui-Ju Katherine Chiang, and Jie-Hong R. Jiang. “Henkin

quantifiers and Boolean formulae: A certification perspective of DQBF”. In: Theoretical Computer Science 523 (2014), pp. 86–100. doi: 10.1016/j.tcs.2013.12.020.

4 / 27

slide-9
SLIDE 9

Outline

Semantics of QBF and DQBF Non-Closed Non-Prenex DQBF Quantifier Localization for DQBF Experiments

slide-10
SLIDE 10

Semantics of QBF and DQBF

slide-11
SLIDE 11

Semantics of Closed Prenex (D)QBF

QBF: ∀x1∃y1∀x2∃y2 : ϕ is satisfied iff there are functions sy1 and sy2 such that replacing y1 with sy1(x1) and y2 with sy2(x1, x2) yields a tautology. DQBF: ∀x1∀x2∃y1(x1)∃y2(x2) : ϕ is satisfied iff there are functions sy1 and sy2 such that replacing y1 with sy1(x1) and y2 with sy2(x2) yields a tautology. ⇒ sy1 and sy2 are called Skolem function.

6 / 27

slide-12
SLIDE 12

Semantics of Closed Prenex (D)QBF

QBF: ∀x1∃y1∀x2∃y2 : ϕ is satisfied iff there are functions sy1 and sy2 such that replacing y1 with sy1(x1) and y2 with sy2(x1, x2) yields a tautology. DQBF: ∀x1∀x2∃y1(x1)∃y2(x2) : ϕ is satisfied iff there are functions sy1 and sy2 such that replacing y1 with sy1(x1) and y2 with sy2(x2) yields a tautology. ⇒ sy1 and sy2 are called Skolem function.

Example: ∀x1∀x2∃y1(x1)∃y2(x2) : (x1 ≡ y1) ∧ (x2 ≡ y2)

◮ satisfiable with sy1(x1) = x1 and sy2(x2) = ¯ x2 ◮ ⇒ (x1 ≡ x1) ∧ (x2 ≡ ¯ x2) is a tautology

6 / 27

slide-13
SLIDE 13

Non-Closed Non-Prenex QBF

Quantifier Localization for QBF: ∀x1∃y1∀x2∃y2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧ (y1 ∨ ¯ x2 ∨ ¯ y2)

  • 7 / 27
slide-14
SLIDE 14

Non-Closed Non-Prenex QBF

Quantifier Localization for QBF: ∀x1∃y1∀x2∃y2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧ (y1 ∨ ¯ x2 ∨ ¯ y2)

  • ∀x1∃y1∀x2 :
  • (x1 ∨ ¯

y1 ∨ x2) ∧

  • ∃y2 : (y1 ∨ ¯

x2 ∨ ¯ y2)

7 / 27

slide-15
SLIDE 15

Non-Closed Non-Prenex QBF

Quantifier Localization for QBF: ∀x1∃y1∀x2∃y2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧ (y1 ∨ ¯ x2 ∨ ¯ y2)

  • ∃y : (ψ1 ∧ ψ2) ≈ (ψ1 ∧ (∃y : ψ2)),

if y / ∈ Vψ1

∀x1∃y1∀x2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧

  • ∃y2 : (y1 ∨ ¯

x2 ∨ ¯ y2)

7 / 27

slide-16
SLIDE 16

Non-Closed Non-Prenex QBF

Quantifier Localization for QBF: ∀x1∃y1∀x2∃y2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧ (y1 ∨ ¯ x2 ∨ ¯ y2)

  • ∃y : (ψ1 ∧ ψ2) ≈ (ψ1 ∧ (∃y : ψ2)),

if y / ∈ Vψ1

∀x1∃y1∀x2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧

  • ∃y2 : (y1 ∨ ¯

x2 ∨ ¯ y2) ∀x1∃y1 : ∀x2 : (x1 ∨ ¯ y1 ∨ x2)

  • ∀x2∃y2 : (y1 ∨ ¯

x2 ∨ ¯ y2)

7 / 27

slide-17
SLIDE 17

Non-Closed Non-Prenex QBF

Quantifier Localization for QBF: ∀x1∃y1∀x2∃y2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧ (y1 ∨ ¯ x2 ∨ ¯ y2)

  • ∃y : (ψ1 ∧ ψ2) ≈ (ψ1 ∧ (∃y : ψ2)),

if y / ∈ Vψ1

∀x1∃y1∀x2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧

  • ∃y2 : (y1 ∨ ¯

x2 ∨ ¯ y2)

∀x : (ψ1 ∧ ψ2) ≈ ((∀x : ψ1) ∧ (∀x : ψ2))

∀x1∃y1 : ∀x2 : (x1 ∨ ¯ y1 ∨ x2)

  • ∀x2∃y2 : (y1 ∨ ¯

x2 ∨ ¯ y2)

7 / 27

slide-18
SLIDE 18

Non-Closed Non-Prenex QBF

Quantifier Localization for QBF: ∀x1∃y1∀x2∃y2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧ (y1 ∨ ¯ x2 ∨ ¯ y2)

  • ∃y : (ψ1 ∧ ψ2) ≈ (ψ1 ∧ (∃y : ψ2)),

if y / ∈ Vψ1

∀x1∃y1∀x2 :

  • (x1 ∨ ¯

y1 ∨ x2) ∧

  • ∃y2 : (y1 ∨ ¯

x2 ∨ ¯ y2)

∀x : (ψ1 ∧ ψ2) ≈ ((∀x : ψ1) ∧ (∀x : ψ2))

∀x1∃y1 : ∀x2 : (x1 ∨ ¯ y1 ∨ x2)

  • ∀x2∃y2 : (y1 ∨ ¯

x2 ∨ ¯ y2) ◮ Obtain an equisatisfiable non-prenex QBF. ◮ Gain: Reduced cost for quantifier elimination. ◮ See e. g. optimized (pre-)image computation in Symbolic Model Checking with early quantification.

7 / 27

slide-19
SLIDE 19

Non-Closed Non-Prenex QBF

Quantifier Localization for QBF: Quantifier localization rules like ∃y : (ψ1 ∧ ψ2) ≈ (ψ1 ∧ (∃y : ψ2)), if y / ∈ Vψ1 can be easily proved by an alternative characterization of the semantics. Alternative characterization using symbolic quantifier elimination: ◮ (∃y : ψ) ≡ (ψ[0/y] ∨ ψ[1/y]) ◮ (∀x : ψ) ≡ (ψ[0/x] ∧ ψ[1/x]) ⇒ Possibly doubling the size of the formula for each quantification.

8 / 27

slide-20
SLIDE 20

Non-Close Non-Prenex DQBF?

Quantifier Localization for DQBF? But what about DQBF? ◮ An alternative characterization of the semantics based on symbolic quantifier elimination does not work. ◮ How to define the semantics of non-closed non-prenex DQBFs like

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • which are not just a Boolean combination of closed prenex DQBFs?

9 / 27

slide-21
SLIDE 21

Non-Closed Non-Prenex DQBF

slide-22
SLIDE 22

Non-Closed Non-Prenex DQBF

Semantics of Non-Closed Non-Prenex DQBF Basic Idea: Define semantics based on Skolem functions like for prenex DQBFs. ◮ The Skolem function of an ∃-variable ∃y(Dy) may depend on universal variable x

◮ if x is in y’s dependency set Dy and ◮ if ② is in the scope of ∀①.

◮ The only admissable Skolem functions for free variables are constants 0 or 1. ◮ A DQBF is satisfiable, if

◮ replacing ∃- and free variables by their Skolem functions and ◮ omitting all quantifiers

yields a tautological formula.

10 / 27

slide-23
SLIDE 23

Non-Closed Non-Prenex DQBF

Semantics of Non-Closed Non-Prenex DQBF:

Example:

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • 11 / 27
slide-24
SLIDE 24

Non-Closed Non-Prenex DQBF

Semantics of Non-Closed Non-Prenex DQBF:

Example:

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound

11 / 27

slide-25
SLIDE 25

Non-Closed Non-Prenex DQBF

Semantics of Non-Closed Non-Prenex DQBF:

Example:

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound free free

11 / 27

slide-26
SLIDE 26

Non-Closed Non-Prenex DQBF

Semantics of Non-Closed Non-Prenex DQBF:

Example:

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound free free

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound free free sy1(x1)

×

sy2(x2)

×

11 / 27

slide-27
SLIDE 27

Non-Closed Non-Prenex DQBF

Semantics of Non-Closed Non-Prenex DQBF:

Example:

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound free free

  • ∀x1∃y1(x1, x2) :
  • (x1 ⊕ y1) ∧ ¬x2
  • ∀x2∃y2(x1, x2) :
  • (x2 ⊕ y2) ∧ ¬x1
  • bound

bound free free sy1(x1)

×

sy2(x2)

×

⇒ The formula satisfiable with sy1(x1) = ¯ x1, sx2 = 0, sy2(x2) = ¯ x2, sx1 = 0.

11 / 27

slide-28
SLIDE 28

Quantifier Localization for DQBF

slide-29
SLIDE 29

Taking Advantage of Quantifier Localization

◮ The proofs of quantifier localization rules for DQBF are more involved, for details see paper. ◮ Here we only give an illustration.

12 / 27

slide-30
SLIDE 30

Taking Advantage of Quantifier Localization

◮ The proofs of quantifier localization rules for DQBF are more involved, for details see paper. ◮ Here we only give an illustration. Overview: ◮ Use quantifier localization rules to push quantifiers as deep into the formula as possible. ◮ If successful, this enables symbolic quantifier elimination. ◮ Then push remaining quantifiers back and solve the resulting simplified prenex DQBF.

12 / 27

slide-31
SLIDE 31

Taking Advantage of Quantifier Localization

  • 1. Step: Combine subcircuits into macrogates

◮ Increase the degree of freedom to apply localization rules. ◮ Summarize all consecutive disjunctions/conjunctions into one multi-input disjunction/conjunction.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 x1 x2 y1 x1 x2 y2 x1 y2

∀x1∀x2∃y1(x1)∃y2(x2)

13 / 27

slide-32
SLIDE 32

Taking Advantage of Quantifier Localization

  • 1. Step: Combine subcircuits into macrogates

◮ Increase the degree of freedom to apply localization rules. ◮ Summarize all consecutive disjunctions/conjunctions into one multi-input disjunction/conjunction.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 x1 x2 y1 x1 x2 y2 x1 y2

∀x1∀x2∃y1(x1)∃y2(x2)

13 / 27

slide-33
SLIDE 33

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

◮ Localization rules sometimes similar to QBF localization rules. ◮ More complicated to prove, have to pay attention to dependencies!

14 / 27

slide-34
SLIDE 34

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 1: disjunction + ∃

◮ ∃y(Dy) : (ψ1 ∨ ψ2) ≈

  • ∃y(Dy) : ψ1
  • ∃y(Dy) : ψ2
  • ◮ ∃y(Dy) : (ψ1 ∨ ψ2) ≡
  • ψ1 ∨ (∃y(Dy) : ψ2)
  • , if y /

∈ Vψ1

15 / 27

slide-35
SLIDE 35

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 1: disjunction + ∃

◮ ∃y(Dy) : (ψ1 ∨ ψ2) ≈

  • ∃y(Dy) : ψ1
  • ∃y(Dy) : ψ2
  • ◮ ∃y(Dy) : (ψ1 ∨ ψ2) ≡
  • ψ1 ∨ (∃y(Dy) : ψ2)
  • , if y /

∈ Vψ1

Example: ∃y(Dy) : (ψ1 ∨ ψ2) ≡

  • ψ1 ∨ (∃y(Dy) : ψ2)
  • , if y /

∈ Vψ1

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 x1 x2 y1 x1 x2 y2 x1 y2

∀x1∀x2∃y1(x1)∃y2(x2)

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 x1 x2 y1 x1 x2 y2 x1 y2

∀x1∀x2 ∃y1(x1) ∃y1(x1) ∃y2(x2)

15 / 27

slide-36
SLIDE 36

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 2: disjunction + ∀

◮ ∀x : (ψ1 ∨ ψ2) ≡

  • ψ1 ∨ (∀x : ψ2)
  • , if x /

∈ Vψ1, x / ∈ Dy for all ∃-variables y ∈ Vψ1

16 / 27

slide-37
SLIDE 37

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 2: disjunction + ∀

◮ ∀x : (ψ1 ∨ ψ2) ≡

  • ψ1 ∨ (∀x : ψ2)
  • , if x /

∈ Vψ1, x / ∈ Dy for all ∃-variables y ∈ Vψ1 ◮ Proof that condition “x / ∈ Dy for all ∃-variables y ∈ Vψ1” is needed: ∀x1∀x2 : ((∃y(x2) : (x1 ≡ y)) ∨ (x1 ≡ x2)) is satisfiable, but: ∀x1 : ((∃y(x2) : (x1 ≡ y)) ∨ (∀x2 : (x1 ≡ x2))) is unsatisfiable.

16 / 27

slide-38
SLIDE 38

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 2: disjunction + ∀

◮ ∀x : (ψ1 ∨ ψ2) ≡

  • ψ1 ∨ (∀x : ψ2)
  • , if x /

∈ Vψ1, x / ∈ Dy for all ∃-variables y ∈ Vψ1 ◮ Proof that condition “x / ∈ Dy for all ∃-variables y ∈ Vψ1” is needed: ∀x1∀x2 : ((∃y(x2) : (x1 ≡ y)) ∨ (x1 ≡ x2)) is satisfiable, but: ∀x1 : ((∃y(x2) : (x1 ≡ y)) ∨ (∀x2 : (x1 ≡ x2))) is unsatisfiable.

Example: ∀x : (ψ1 ∨ ψ2) ≡

  • ψ1 ∨ (∀x : ψ2)

, if ...

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 x1 x2 y1 x1 x2 y2 x1 y2

∀x1∀x2 ∃y1(x1) ∃y1(x1) ∃y2(x2) → ∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 y1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y1(x1) ∃y1(x1) ∃y2(x2) white

16 / 27

slide-39
SLIDE 39

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 2: disjunction + ∀

◮ ∀x : (ψ1 ∨ ψ2) ≡

  • ψ1 ∨ (∀x : ψ2)
  • , if x /

∈ Vψ1, x / ∈ Dy for all ∃-variables y ∈ Vψ1 ◮ Proof that condition “x / ∈ Dy for all ∃-variables y ∈ Vψ1” is needed: ∀x1∀x2 : ((∃y(x2) : (x1 ≡ y)) ∨ (x1 ≡ x2)) is satisfiable, but: ∀x1 : ((∃y(x2) : (x1 ≡ y)) ∨ (∀x2 : (x1 ≡ x2))) is unsatisfiable.

Example: ∀x : (ψ1 ∨ ψ2) ≡

  • ψ1 ∨ (∀x : ψ2)

, if ...

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 y1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y1(x1) ∃y1(x1) ∃y2(x2) white

17 / 27

slide-40
SLIDE 40

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 3: conjunction + ∃

◮ ∃y(Dy) : (ψ1 ∧ ψ2) ≡

  • ψ1 ∧ (∃y(Dy) : ψ2)
  • , if y /

∈ Vψ1

18 / 27

slide-41
SLIDE 41

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 3: conjunction + ∃

◮ ∃y(Dy) : (ψ1 ∧ ψ2) ≡

  • ψ1 ∧ (∃y(Dy) : ψ2)
  • , if y /

∈ Vψ1

Example: ∃y(Dy) : (ψ1 ∧ ψ2) ≡

  • ψ1 ∧ (∃y(Dy) : ψ2)
  • , if y /

∈ Vψ1

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 y1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y1(x1) ∃y1(x1) ∃y2(x2) white

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 y1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y2(x2) ∃y1(x1) ∃y1(x1) white

18 / 27

slide-42
SLIDE 42

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 4: conjunction + ∀

◮ ∀x : (ψ1 ∧ ψ2) ≈

  • ∀x : ψ1
  • ∀x : ψ2
  • ◮ ∀x : (ψ1 ∧ ψ2) ≈
  • ψ−x

1

∧ (∀x : ψ2)

  • if x /

∈ Vψ1 (ψ−x

1

means to delete x from all dependency sets from ψ1)

19 / 27

slide-43
SLIDE 43

Taking Advantage of Quantifier Localization

  • 2. Step: Quantifier Localization

Case 4: conjunction + ∀

◮ ∀x : (ψ1 ∧ ψ2) ≈

  • ∀x : ψ1
  • ∀x : ψ2
  • ◮ ∀x : (ψ1 ∧ ψ2) ≈
  • ψ−x

1

∧ (∀x : ψ2)

  • if x /

∈ Vψ1 (ψ−x

1

means to delete x from all dependency sets from ψ1)

Example: (rule here not applicable ...)

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 y1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y2(x2) ∃y1(x1) ∃y1(x1) white

19 / 27

slide-44
SLIDE 44

Taking Advantage of Quantifier Localization

Additional: Swap the order of variables ◮ ∃y1(Dy1) ∃y2(Dy2) : ψ ≡ ∃y2(Dy2) ∃y1(Dy1) : ψ ◮ ∀x1 ∀x2 : ψ ≡ ∀x2 ∀x1 : ψ ◮ ∀x ∃y(Dy) : ψ ≡ ∃y(Dy) ∀x : ψ, if x / ∈ Dy

20 / 27

slide-45
SLIDE 45

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 1: existential quantifier ◮ ψ := ψ1 ⋄ (∃y(Dy) : ψ2) ≈ ψ′ := ψ1 ⋄ (ψ2[0/

y] ∨ ψ2[1/ y]),

◮ if ψ2 does not contain quantifiers and ◮ ψ2 only includes free variables, ∀-variables from Dy or ∃-variables y ′ with Dy′ ⊆ Dy

◮ Drag variable back if elimination is not possible.

21 / 27

slide-46
SLIDE 46

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 1: existential quantifier ◮ ψ := ψ1 ⋄ (∃y(Dy) : ψ2) ≈ ψ′ := ψ1 ⋄ (ψ2[0/

y] ∨ ψ2[1/ y]),

◮ if ψ2 does not contain quantifiers and ◮ ψ2 only includes free variables, ∀-variables from Dy or ∃-variables y ′ with Dy′ ⊆ Dy

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

y1 x1 y1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y2(x2) ∃y1(x1) ∃y1(x1) white

21 / 27

slide-47
SLIDE 47

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 1: existential quantifier ◮ ψ := ψ1 ⋄ (∃y(Dy) : ψ2) ≈ ψ′ := ψ1 ⋄ (ψ2[0/

y] ∨ ψ2[1/ y]),

◮ if ψ2 does not contain quantifiers and ◮ ψ2 only includes free variables, ∀-variables from Dy or ∃-variables y ′ with Dy′ ⊆ Dy

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∧ ∨ ∨

1 x1 1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y2(x2) ∃y1(x1) ∃y1(x1) white

21 / 27

slide-48
SLIDE 48

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 1: existential quantifier ◮ ψ := ψ1 ⋄ (∃y(Dy) : ψ2) ≈ ψ′ := ψ1 ⋄ (ψ2[0/

y] ∨ ψ2[1/ y]),

◮ if ψ2 does not contain quantifiers and ◮ ψ2 only includes free variables, ∀-variables from Dy or ∃-variables y ′ with Dy′ ⊆ Dy

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∨ ∨

1 x1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y2(x2) ∃y1(x1) white

21 / 27

slide-49
SLIDE 49

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 1: existential quantifier ◮ ψ := ψ1 ⋄ (∃y(Dy) : ψ2) ≈ ψ′ := ψ1 ⋄ (ψ2[0/

y] ∨ ψ2[1/ y]),

◮ if ψ2 does not contain quantifiers and ◮ ψ2 only includes free variables, ∀-variables from Dy or ∃-variables y ′ with Dy′ ⊆ Dy

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∨ ∨

1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y2(x2) ∃y1(x1) white

21 / 27

slide-50
SLIDE 50

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 1: existential quantifier ◮ ψ := ψ1 ⋄ (∃y(Dy) : ψ2) ≈ ψ′ := ψ1 ⋄ (ψ2[0/

y] ∨ ψ2[1/ y]),

◮ if ψ2 does not contain quantifiers and ◮ ψ2 only includes free variables, ∀-variables from Dy or ∃-variables y ′ with Dy′ ⊆ Dy

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∨ ∨

1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2 ∃y2(x2) ∃y1(x1) white

21 / 27

slide-51
SLIDE 51

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 1: existential quantifier ◮ ψ := ψ1 ⋄ (∃y(Dy) : ψ2) ≈ ψ′ := ψ1 ⋄ (ψ2[0/

y] ∨ ψ2[1/ y]),

◮ if ψ2 does not contain quantifiers and ◮ ψ2 only includes free variables, ∀-variables from Dy or ∃-variables y ′ with Dy′ ⊆ Dy

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∨ ∨

1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2∃y2(x2) ∃y1(x1) white

21 / 27

slide-52
SLIDE 52

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 2: universal quantifier ◮ ∀x : ψ ≡ ψ[0/

x] ∧ ψ[1/ x], if ψ does not contain quantifiers.

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∨ ∨

1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2∃y2(x2) ∃y1(x1) white

22 / 27

slide-53
SLIDE 53

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 2: universal quantifier ◮ ∀x : ψ ≡ ψ[0/

x] ∧ ψ[1/ x], if ψ does not contain quantifiers.

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∨ ∨

1 x1 x1 x2 x2 y2 x1 y2

∀x1 ∀x2∃y2(x2) ∃y1(x1) white

22 / 27

slide-54
SLIDE 54

Taking Advantage of Quantifier Localization

  • 3. Step: Quantifier Elimination

Case 2: universal quantifier ◮ ∀x : ψ ≡ ψ[0/

x] ∧ ψ[1/ x], if ψ does not contain quantifiers.

◮ Drag variable back if elimination is not possible.

Example:

∨ ∨ ∨ ∧ ∧ ∧ ∨ ∨

1 x1 x1 x2 x2 y2 x1 y2

∀x1∀x2∃y2(x2) ∃y1(x1) white

22 / 27

slide-55
SLIDE 55

Experiments

slide-56
SLIDE 56

Experiments

◮ 4811 Benchmarks ◮ Intensive preprocessing using HQSpre ... ◮ Focused on those 974 instances that reach our algorithm (neither solved nor failed in HQSpre) ◮ local elimination of variables on 840 instances ◮ 66918 local eliminations in total ◮ HQS solved 531, HQSnp solved 689 ⇒ increase of 29.8%

23 / 27

slide-57
SLIDE 57

Experiments

◮ 4811 Benchmarks ◮ Intensive preprocessing using HQSpre ... ◮ Focused on those 974 instances that reach our algorithm (neither solved nor failed in HQSpre) ◮ local elimination of variables on 840 instances ◮ 66918 local eliminations in total ◮ HQS solved 531, HQSnp solved 689 ⇒ increase of 29.8% ◮ QBFEVAL’18: 334 benchmarks ◮ 68 reach our algorithm ◮ HQS solved 22, HQSnp solved 30 ⇒ increase of 36.4%

23 / 27

slide-58
SLIDE 58

Experiments

HQS vs. HQSnp - Solved Instances (out of 974)

531 689

100 200 300 400 500 600 700 800 500 1,000 1,500 Number of solved instances Runtime in seconds

HQS HQSnp

24 / 27

slide-59
SLIDE 59

Experiments

HQS vs. HQSnp - Computation Time

10−2 10−1 100 101 102 103 10−2 10−1 100 101 102 103 HQS time in seconds HQSnp time in seconds

25 / 27

slide-60
SLIDE 60

Conclusion

slide-61
SLIDE 61

Conclusion

◮ Defined syntax and semantics for non-closed non-prenex DQBFs. ◮ Stated rules for transformation from prenex to non-prenex DQBFs. ◮ Stated rules to perform local elimination on subcircuits. ⇒ Significantly increased the number of solved instances.

26 / 27

slide-62
SLIDE 62

Future Work

◮ Introduce estimates on costs and benefits.

◮ E. g. estimation on the size of the subcircuits resulting from symbolic quantifier elimination. ◮ Optimize the choice of order of pushing.

◮ Find limits for the growth of circuit sizes.

27 / 27