116
Nested Antichains for WS1S (originally presented at TACAS’15) Tom ´ s Fiedor 1,2 Luk ´ s Hol´ ık 2 Ondˇ rej Leng ´ al 2 Tom ´ s Vojnar 2 1 Red Hat, Czech Republic 2 Brno University of Technology, Czech Republic Automata, Logic, and (non-fun) Games’16

Nested Antichains for WS1S - ims.nus.edu.sg · WS1S weak monadic second-order logic of one successor I monadic second-order )quantification over sets I weak )sets are finite I of

Embed Size (px)

Citation preview

Nested Antichains for WS1S(originally presented at TACAS’15)

Tomas Fiedor1,2 Lukas Holık2 Ondrej Lengal2 Tomas Vojnar2

1Red Hat, Czech Republic2Brno University of Technology, Czech Republic

Automata, Logic, and (non-fun) Games’16

WS1S

weak monadic second-order logic of one successorI monadic second-order⇒ quantification over setsI weak⇒ sets are finiteI of one successor⇒ reasoning about linear structures

corresponds to finite automata (FAs) [Buchi’59]

decidable — but NONELEMENTARY [Meyer’72]I constructive proof→ translate ϕ to FA Aϕ

|Aϕ| ≈ 22···2

k

k : number of quantifier alternations

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 2 / 26

WS1S

weak monadic second-order logic of one successorI monadic second-order⇒ quantification over setsI weak⇒ sets are finiteI of one successor⇒ reasoning about linear structures

corresponds to finite automata (FAs) [Buchi’59]

decidable — but NONELEMENTARY [Meyer’72]I constructive proof→ translate ϕ to FA Aϕ

|Aϕ| ≈ 22···2

k

k : number of quantifier alternations

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 2 / 26

WS1S

weak monadic second-order logic of one successorI monadic second-order⇒ quantification over setsI weak⇒ sets are finiteI of one successor⇒ reasoning about linear structures

corresponds to finite automata (FAs) [Buchi’59]

decidable — but NONELEMENTARY [Meyer’72]I constructive proof→ translate ϕ to FA Aϕ

|Aϕ| ≈ 22···2

k

k : number of quantifier alternations

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 2 / 26

Applications of WS1S

expressive→ allows to define rich invariants

MONA tool [ElgaardKlaarlundMøller’98]I implementation of translation to DFAsI heuristics: BDDs, caching, DAGification, CPU cache localityI in many cases efficient (in practice)

used in tools for shape analysisI Pointer Assertion Logic Engine (PALE) [MøllerSchwartzbach’01]I STRucture ANd Data (STRAND) [MadhusudanQiu’11]

many other applicationsI program, protocol, HW verification; linguistics; . . .

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 3 / 26

Applications of WS1S

sometimes the complexity strikes backI in general: unavoidable

I in practice: not necessary→ more/better heuristics needed!

this talk:I decision procedure based on NFAs (MONA uses DFAs)

I construction of symbolic representation of Aϕ

I testing Aϕ for language non-emptiness

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 4 / 26

WS1SSyntax

term t ::= X ⊆ Y | Sing(X ) | X = {0} | X = σ(Y )

formula ϕ ::= t | ϕ ∧ ϕ | ¬ϕ | ∃X .ϕ (ϕ ∨ ϕ | ∀X .ϕ)

Interpretation: over finite subsets of NI models of formulae = assignments of sets to variables

Example (sugarized)

ϕ(X ,Y ) ≡ Sing(X ) ∧ 0 ∈ Y ∧∀Z .(Z ⊆ Y ∧ Sing(Z )

)︸ ︷︷ ︸≡∀z∈Y

=⇒(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): {X 7→ {0},Y 7→ ∅}

{X 7→ {1},Y 7→ {0}}{X 7→ {2},Y 7→ {0,1}}

...

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 5 / 26

WS1SSyntax

term t ::= X ⊆ Y | Sing(X ) | X = {0} | X = σ(Y )

formula ϕ ::= t | ϕ ∧ ϕ | ¬ϕ | ∃X .ϕ (ϕ ∨ ϕ | ∀X .ϕ)

Interpretation: over finite subsets of NI models of formulae = assignments of sets to variables

Example (sugarized)

ϕ(X ,Y ) ≡ Sing(X ) ∧ 0 ∈ Y ∧∀Z .(Z ⊆ Y ∧ Sing(Z )

)︸ ︷︷ ︸≡∀z∈Y

=⇒(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): {X 7→ {0},Y 7→ ∅}

{X 7→ {1},Y 7→ {0}}{X 7→ {2},Y 7→ {0,1}}

...

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 5 / 26

WS1SSyntax

term t ::= X ⊆ Y | Sing(X ) | X = {0} | X = σ(Y )

formula ϕ ::= t | ϕ ∧ ϕ | ¬ϕ | ∃X .ϕ (ϕ ∨ ϕ | ∀X .ϕ)

Interpretation: over finite subsets of NI models of formulae = assignments of sets to variables

Example (sugarized)

ϕ(X ,Y ) ≡ Sing(X ) ∧ 0 ∈ Y ∧∀Z .(Z ⊆ Y ∧ Sing(Z )

)︸ ︷︷ ︸≡∀z∈Y

=⇒(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)

Models of ϕ(X ,Y ): {X 7→ {0},Y 7→ ∅}{X 7→ {1},Y 7→ {0}}{X 7→ {2},Y 7→ {0,1}}

...

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 5 / 26

WS1SSyntax

term t ::= X ⊆ Y | Sing(X ) | X = {0} | X = σ(Y )

formula ϕ ::= t | ϕ ∧ ϕ | ¬ϕ | ∃X .ϕ (ϕ ∨ ϕ | ∀X .ϕ)

Interpretation: over finite subsets of NI models of formulae = assignments of sets to variables

Example (sugarized)

ϕ(X ,Y ) ≡ Sing(X ) ∧ 0 ∈ Y ∧∀Z .(Z ⊆ Y ∧ Sing(Z )

)︸ ︷︷ ︸≡∀z∈Y

=⇒(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ):

{X 7→ {0},Y 7→ ∅}{X 7→ {1},Y 7→ {0}}{X 7→ {2},Y 7→ {0,1}}

...

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 5 / 26

WS1SSyntax

term t ::= X ⊆ Y | Sing(X ) | X = {0} | X = σ(Y )

formula ϕ ::= t | ϕ ∧ ϕ | ¬ϕ | ∃X .ϕ (ϕ ∨ ϕ | ∀X .ϕ)

Interpretation: over finite subsets of NI models of formulae = assignments of sets to variables

Example (sugarized)

ϕ(X ,Y ) ≡ Sing(X ) ∧ 0 ∈ Y ∧∀Z .(Z ⊆ Y ∧ Sing(Z )

)︸ ︷︷ ︸≡∀z∈Y

=⇒(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): {X 7→ {0},Y 7→ ∅}

{X 7→ {1},Y 7→ {0}}{X 7→ {2},Y 7→ {0,1}}

...

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 5 / 26

WS1SSyntax

term t ::= X ⊆ Y | Sing(X ) | X = {0} | X = σ(Y )

formula ϕ ::= t | ϕ ∧ ϕ | ¬ϕ | ∃X .ϕ (ϕ ∨ ϕ | ∀X .ϕ)

Interpretation: over finite subsets of NI models of formulae = assignments of sets to variables

Example (sugarized)

ϕ(X ,Y ) ≡ Sing(X ) ∧ 0 ∈ Y ∧∀Z .(Z ⊆ Y ∧ Sing(Z )

)︸ ︷︷ ︸≡∀z∈Y

=⇒(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): {X 7→ {0},Y 7→ ∅}

{X 7→ {1},Y 7→ {0}}

{X 7→ {2},Y 7→ {0,1}}...

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 5 / 26

WS1SSyntax

term t ::= X ⊆ Y | Sing(X ) | X = {0} | X = σ(Y )

formula ϕ ::= t | ϕ ∧ ϕ | ¬ϕ | ∃X .ϕ (ϕ ∨ ϕ | ∀X .ϕ)

Interpretation: over finite subsets of NI models of formulae = assignments of sets to variables

Example (sugarized)

ϕ(X ,Y ) ≡ Sing(X ) ∧ 0 ∈ Y ∧∀Z .(Z ⊆ Y ∧ Sing(Z )

)︸ ︷︷ ︸≡∀z∈Y

=⇒(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): {X 7→ {0},Y 7→ ∅}

{X 7→ {1},Y 7→ {0}}{X 7→ {2},Y 7→ {0,1}}

...

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 5 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positionsI models are of the form (w , ρ)

• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): (b, {X 7→ {0},Y 7→ ∅}) , (ab, {X 7→ {1},Y 7→ {0}}) ,

(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positions

I models are of the form (w , ρ)• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): (b, {X 7→ {0},Y 7→ ∅}) , (ab, {X 7→ {1},Y 7→ {0}}) ,

(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positionsI models are of the form (w , ρ)

• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): (b, {X 7→ {0},Y 7→ ∅}) , (ab, {X 7→ {1},Y 7→ {0}}) ,

(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positionsI models are of the form (w , ρ)

• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)

Models of ϕ(X ,Y ): (b, {X 7→ {0},Y 7→ ∅}) , (ab, {X 7→ {1},Y 7→ {0}}) ,(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positionsI models are of the form (w , ρ)

• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ):

(b, {X 7→ {0},Y 7→ ∅}) , (ab, {X 7→ {1},Y 7→ {0}}) ,(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positionsI models are of the form (w , ρ)

• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): (b, {X 7→ {0},Y 7→ ∅})

, (ab, {X 7→ {1},Y 7→ {0}}) ,(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positionsI models are of the form (w , ρ)

• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): (b, {X 7→ {0},Y 7→ ∅}) , (ab, {X 7→ {1},Y 7→ {0}})

,(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positionsI models are of the form (w , ρ)

• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): (b, {X 7→ {0},Y 7→ ∅}) , (ab, {X 7→ {1},Y 7→ {0}}) ,

(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

Related LogicsWSkS:

I extension: σ1(..), . . . , σk (..)I interpretation over infinite k -ary treeI reducible to WS2S

MSO(Str)I MSO on finite strings

• predicates a1(..), . . . , am(..) for symbols at positionsI models are of the form (w , ρ)

• w — a finite string of length n• ρ — assignment of variables to subsets of {0, . . . , n − 1}

Example (Σ = {a,b})ϕ(X ,Y ) ≡ Sing(X ) ∧ b(X ) ∧ 0 ∈ Y ∧ a(Y ) ∧

∀Z .(Z ⊆ Y ∧ Sing(Z )

)=⇒

(σ(Z ) ⊆ Y ⊕ σ(Z ) ⊆ X

)Models of ϕ(X ,Y ): (b, {X 7→ {0},Y 7→ ∅}) , (ab, {X 7→ {1},Y 7→ {0}}) ,

(aab, {X 7→ {2},Y 7→ {0,1}}), . . .

I can be translated to WS1S: symbol ai → variable Xai

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 6 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →

Index: 012345Membership: xXxxXX

Encoding: 010011,

0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

] 4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →Index: 012345

Membership: xXxxXX

Encoding: 010011,

0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

] 4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →Index: 012345Membership: xXxxXX

Encoding: 010011,

0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

] 4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →Index: 012345Membership: xXxxXX

Encoding: 010011

,0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

] 4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →Index: 012345Membership: xXxxXX

Encoding: 010011,

0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

] 4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →Index: 012345Membership: xXxxXX

Encoding: 010011,

0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

] 4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →Index: 012345Membership: xXxxXX

Encoding: 010011,

0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

]

4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →Index: 012345Membership: xXxxXX

Encoding: 010011,

0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

] 4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision ProcedureFinite subsets of N can be encoded as finite binary strings:

I {1,4,5} →Index: 012345Membership: xXxxXX

Encoding: 010011,

0123456xXxxXXx0100110

, or01234567xXxxXXxx01001100

. . .

Models of ϕ 7→ words over ΣnI each variable of ϕ→ one trackI e.g. X1:

X2:

[01

]∈ Σ2

Example

{X1 7→ ∅,X2 7→ {0,3}}enc99K X1:

X2:

0[01

] 1[00

] 2[00

] 3[01

] 4[00

]· · ·

Automaton Aϕ

M |= ϕ ⇐⇒ enc(M) ∈ L(Aϕ)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 7 / 26

WS1S — Decision Procedure

Construction of Aϕ is inductiveterm t : atomic automaton At

Example (X = σ(Y ))

0 1 2

X:Y:

[00

]X:Y:

[01

]X:Y:

[10

] X:Y:

[00

]

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 8 / 26

WS1S — Decision Procedure

logical connectives: automata operations

Example

¬(X ⊆ Y ) ∧ ∃Z .Sing(Z )∨ ∃W .W = σ(Z )

A1

project W

A2 ∪ A4

A2

project Z

A6 ∩ A7

A3

complementA6

A7

A4

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 9 / 26

WS1S — Decision Procedure

logical connectives: automata operations

Example

¬(X ⊆ Y ) ∧ ∃Z .Sing(Z )∨ ∃W .W = σ(Z )

A1

project W

A2 ∪ A4

A2

project Z

A6 ∩ A7

A3

complementA6

A7

A4

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 9 / 26

WS1S — Decision Procedure

logical connectives: automata operations

Example

¬(X ⊆ Y ) ∧ ∃Z .Sing(Z )∨ ∃W .W = σ(Z )

A1

project W

A2 ∪ A4

A2

project Z

A6 ∩ A7

A3

complementA6

A7

A4

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 9 / 26

WS1S — Decision Procedure

logical connectives: automata operations

Example

¬(X ⊆ Y ) ∧ ∃Z .Sing(Z )∨ ∃W .W = σ(Z )

A1

project W

A2 ∪ A4

A2

project Z

A6 ∩ A7

A3

complementA6

A7

A4

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 9 / 26

WS1S — Decision Procedure

logical connectives: automata operations

Example

¬(X ⊆ Y ) ∧ ∃Z .Sing(Z )∨ ∃W .W = σ(Z )

A1

project W

A2 ∪ A4

A2

project Z

A6 ∩ A7

A3

complementA6

A7

A4

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 9 / 26

WS1S — Decision Procedure

logical connectives: automata operations

Example

¬(X ⊆ Y ) ∧ ∃Z .Sing(Z )∨ ∃W .W = σ(Z )

A1

project W

A2 ∪ A4

A2

project Z

A6 ∩ A7

A3

complementA6

A7

A4

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 9 / 26

WS1S — Decision Procedure

logical connectives: automata operations

Example

¬(X ⊆ Y ) ∧ ∃Z .Sing(Z )∨ ∃W .W = σ(Z )

A1

project W

A2 ∪ A4

A2

project Z

A6 ∩ A7

A3

complementA6

A7

A4

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 9 / 26

WS1S — Decision Procedure

Projectionremove a track from all symbols in transitions

BUT!! afterwards, not all encodings of a model would be acceptedI an issue when combined with negation

→ need to saturate final states

Example

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

AX=σ(Y )

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

→ Projection

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Adjust statesto accept encodings:

1, 01, 001, . . .

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 10 / 26

WS1S — Decision Procedure

Projectionremove a track from all symbols in transitions

BUT!! afterwards, not all encodings of a model would be acceptedI an issue when combined with negation

→ need to saturate final states

Example

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

AX=σ(Y )

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

→ Projection

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Adjust statesto accept encodings:

1, 01, 001, . . .

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 10 / 26

WS1S — Decision Procedure

Projectionremove a track from all symbols in transitions

BUT!! afterwards, not all encodings of a model would be acceptedI an issue when combined with negation

→ need to saturate final states

Example

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

AX=σ(Y )

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

→ Projection

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Adjust statesto accept encodings:

1, 01, 001, . . .

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 10 / 26

WS1S — Decision Procedure

Projectionremove a track from all symbols in transitionsBUT!! afterwards, not all encodings of a model would be accepted

I an issue when combined with negation

→ need to saturate final states

Example

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

AX=σ(Y )

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

→ Projection

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Adjust statesto accept encodings:

1, 01, 001, . . .

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 10 / 26

WS1S — Decision Procedure

Projectionremove a track from all symbols in transitionsBUT!! afterwards, not all encodings of a model would be accepted

I an issue when combined with negation

→ need to saturate final states

Example

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

AX=σ(Y )

1 2 3

X:Y:

[01

]X:Y:

[00

]X:Y:

[10

] X:Y:

[00

]

→ Projection

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Adjust statesto accept encodings:

1, 01, 001, . . .

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 10 / 26

MONA

MONA:uses DFAs→ after every projection determinizes

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 11 / 26

Deciding WS1Swith NFAs

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 12 / 26

Deciding WS1S with NFAs

FormulaeI in PNFI matrix in NNFI ground

Example

ϕ = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)︸ ︷︷ ︸NNF

Decision problem:I validity

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 13 / 26

Deciding WS1S with NFAsConstruction of Aϕ:

based on number of alternations m

ϕ = ¬∃Xm ¬. . .¬∃X2 ¬∃X1 : ϕ0(X)︸ ︷︷ ︸ϕ1

. ..︸ ︷︷ ︸

ϕm

ϕ0 — composition of atomic automata: A = (Q0,∆0, I0,F0)

ϕi+1 — obtained from ϕi by projection and complementationI projection — remove track from Σ and saturate final statesI complementation — determinise and swap final states

Hierarchical family of automata

Aϕm = (22···2

Q0︸ ︷︷ ︸m

,∆m, Im,Fm)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 14 / 26

Deciding WS1S with NFAsConstruction of Aϕ:

based on number of alternations m

ϕ = ¬∃Xm ¬. . .¬∃X2 ¬∃X1 : ϕ0(X)︸ ︷︷ ︸ϕ1

. ..︸ ︷︷ ︸

ϕm

ϕ0 — composition of atomic automata: A = (Q0,∆0, I0,F0)

ϕi+1 — obtained from ϕi by projection and complementationI projection — remove track from Σ and saturate final statesI complementation — determinise and swap final states

Hierarchical family of automata

Aϕm = (22···2

Q0︸ ︷︷ ︸m

,∆m, Im,Fm)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 14 / 26

Deciding WS1S with NFAsConstruction of Aϕ:

based on number of alternations m

ϕ = ¬∃Xm ¬. . .¬∃X2 ¬∃X1 : ϕ0(X)︸ ︷︷ ︸ϕ1

. ..︸ ︷︷ ︸

ϕm

ϕ0 — composition of atomic automata: A = (Q0,∆0, I0,F0)

ϕi+1 — obtained from ϕi by projection and complementation

I projection — remove track from Σ and saturate final statesI complementation — determinise and swap final states

Hierarchical family of automata

Aϕm = (22···2

Q0︸ ︷︷ ︸m

,∆m, Im,Fm)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 14 / 26

Deciding WS1S with NFAsConstruction of Aϕ:

based on number of alternations m

ϕ = ¬∃Xm ¬. . .¬∃X2 ¬∃X1 : ϕ0(X)︸ ︷︷ ︸ϕ1

. ..︸ ︷︷ ︸

ϕm

ϕ0 — composition of atomic automata: A = (Q0,∆0, I0,F0)

ϕi+1 — obtained from ϕi by projection and complementationI projection — remove track from Σ and saturate final states

I complementation — determinise and swap final states

Hierarchical family of automata

Aϕm = (22···2

Q0︸ ︷︷ ︸m

,∆m, Im,Fm)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 14 / 26

Deciding WS1S with NFAsConstruction of Aϕ:

based on number of alternations m

ϕ = ¬∃Xm ¬. . .¬∃X2 ¬∃X1 : ϕ0(X)︸ ︷︷ ︸ϕ1

. ..︸ ︷︷ ︸

ϕm

ϕ0 — composition of atomic automata: A = (Q0,∆0, I0,F0)

ϕi+1 — obtained from ϕi by projection and complementationI projection — remove track from Σ and saturate final statesI complementation — determinise and swap final states

Hierarchical family of automata

Aϕm = (22···2

Q0︸ ︷︷ ︸m

,∆m, Im,Fm)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 14 / 26

Deciding WS1S with NFAsConstruction of Aϕ:

based on number of alternations m

ϕ = ¬∃Xm ¬. . .¬∃X2 ¬∃X1 : ϕ0(X)︸ ︷︷ ︸ϕ1

. ..︸ ︷︷ ︸

ϕm

ϕ0 — composition of atomic automata: A = (Q0,∆0, I0,F0)

ϕi+1 — obtained from ϕi by projection and complementationI projection — remove track from Σ and saturate final statesI complementation — determinise and swap final states

Hierarchical family of automata

Aϕm = (22···2

Q0︸ ︷︷ ︸m

,∆m, Im,Fm)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 14 / 26

Deciding WS1S with NFAs

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Why?I each variable→ one trackI no variables→ no tracksI if a final state is reachable, saturation after the last projection

(∃Xm) must have made some initial state final too

Example (ϕ ≡ ∃X . X = σ(Y ))

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

1 2 3

→ Projection

1 2 3⊥

A∃Y .ϕ

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 15 / 26

Deciding WS1S with NFAs

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Why?I each variable→ one trackI no variables→ no tracksI if a final state is reachable, saturation after the last projection

(∃Xm) must have made some initial state final too

Example (ϕ ≡ ∃X . X = σ(Y ))

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Projection

1 2 3⊥

A∃Y .ϕ

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 15 / 26

Deciding WS1S with NFAs

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Why?I each variable→ one trackI no variables→ no tracksI if a final state is reachable, saturation after the last projection

(∃Xm) must have made some initial state final too

Example (ϕ ≡ ∃X . X = σ(Y ))

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Projection

1 2 3⊥

A∃Y .ϕ

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 15 / 26

Deciding WS1S with NFAs

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Why?I each variable→ one trackI no variables→ no tracksI if a final state is reachable, saturation after the last projection

(∃Xm) must have made some initial state final too

Example (ϕ ≡ ∃X . X = σ(Y ))

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Projection

1 2 3⊥

A∃Y .ϕ

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 15 / 26

Deciding WS1S with NFAs

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Why?I each variable→ one trackI no variables→ no tracksI if a final state is reachable, saturation after the last projection

(∃Xm) must have made some initial state final too

Example (ϕ ≡ ∃X . X = σ(Y ))

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

1 2 3Y: [1]

Y: [0]

Y: [0]

Y: [0]

→ Projection

1 2 3⊥

A∃Y .ϕ

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 15 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!

I construct initial states ImI construct final states FmI check whether they intersect

Initial states ImI0 — givenI1 = {I0}I2 = {I1} = {{I0}}

...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!I construct initial states Im

I construct final states FmI check whether they intersect

Initial states ImI0 — givenI1 = {I0}I2 = {I1} = {{I0}}

...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!I construct initial states ImI construct final states Fm

I check whether they intersect

Initial states ImI0 — givenI1 = {I0}I2 = {I1} = {{I0}}

...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!I construct initial states ImI construct final states FmI check whether they intersect

Initial states ImI0 — givenI1 = {I0}I2 = {I1} = {{I0}}

...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!I construct initial states ImI construct final states FmI check whether they intersect

Initial states Im

I0 — givenI1 = {I0}I2 = {I1} = {{I0}}

...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!I construct initial states ImI construct final states FmI check whether they intersect

Initial states ImI0 — given

I1 = {I0}I2 = {I1} = {{I0}}

...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!I construct initial states ImI construct final states FmI check whether they intersect

Initial states ImI0 — givenI1 = {I0}

I2 = {I1} = {{I0}}...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!I construct initial states ImI construct final states FmI check whether they intersect

Initial states ImI0 — givenI1 = {I0}I2 = {I1} = {{I0}}

...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Constructing the whole automaton for ϕm is unnecessary!I construct initial states ImI construct final states FmI check whether they intersect

Initial states ImI0 — givenI1 = {I0}I2 = {I1} = {{I0}}

...

Im = {Im−1} = {{. . . {︸ ︷︷ ︸m

I0} . . .}}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 16 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Final states FmI more trickyI the source of NONELEMENTARYlivi¿?Ex%dity of our procedure

Final states Fm

F0 ⊆ Q0 — givenF1 ⊆ 2Q0 — take F0, project X1, saturate, complement

F2 ⊆ 22Q0 — take F1, project X2, saturate, complement...

Fm ⊆ 22···2

Q0︸ ︷︷ ︸m

— take Fm−1, project Xm, saturate, complement

not really efficient

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 17 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Final states FmI more trickyI the source of NONELEMENTARYlivi¿?Ex%dity of our procedure

Final states Fm

F0 ⊆ Q0 — givenF1 ⊆ 2Q0 — take F0, project X1, saturate, complement

F2 ⊆ 22Q0 — take F1, project X2, saturate, complement...

Fm ⊆ 22···2

Q0︸ ︷︷ ︸m

— take Fm−1, project Xm, saturate, complement

not really efficient

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 17 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Final states FmI more trickyI the source of NONELEMENTARYlivi¿?Ex%dity of our procedure

Final states Fm

F0 ⊆ Q0 — given

F1 ⊆ 2Q0 — take F0, project X1, saturate, complement

F2 ⊆ 22Q0 — take F1, project X2, saturate, complement...

Fm ⊆ 22···2

Q0︸ ︷︷ ︸m

— take Fm−1, project Xm, saturate, complement

not really efficient

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 17 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Final states FmI more trickyI the source of NONELEMENTARYlivi¿?Ex%dity of our procedure

Final states Fm

F0 ⊆ Q0 — givenF1 ⊆ 2Q0 — take F0, project X1, saturate, complement

F2 ⊆ 22Q0 — take F1, project X2, saturate, complement...

Fm ⊆ 22···2

Q0︸ ︷︷ ︸m

— take Fm−1, project Xm, saturate, complement

not really efficient

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 17 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Final states FmI more trickyI the source of NONELEMENTARYlivi¿?Ex%dity of our procedure

Final states Fm

F0 ⊆ Q0 — givenF1 ⊆ 2Q0 — take F0, project X1, saturate, complement

F2 ⊆ 22Q0 — take F1, project X2, saturate, complement

...

Fm ⊆ 22···2

Q0︸ ︷︷ ︸m

— take Fm−1, project Xm, saturate, complement

not really efficient

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 17 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Final states FmI more trickyI the source of NONELEMENTARYlivi¿?Ex%dity of our procedure

Final states Fm

F0 ⊆ Q0 — givenF1 ⊆ 2Q0 — take F0, project X1, saturate, complement

F2 ⊆ 22Q0 — take F1, project X2, saturate, complement...

Fm ⊆ 22···2

Q0︸ ︷︷ ︸m

— take Fm−1, project Xm, saturate, complement

not really efficient

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 17 / 26

Deciding WS1S with NFAsFor ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Final states FmI more trickyI the source of NONELEMENTARYlivi¿?Ex%dity of our procedure

Final states Fm

F0 ⊆ Q0 — givenF1 ⊆ 2Q0 — take F0, project X1, saturate, complement

F2 ⊆ 22Q0 — take F1, project X2, saturate, complement...

Fm ⊆ 22···2

Q0︸ ︷︷ ︸m

— take Fm−1, project Xm, saturate, complement

not really efficientT. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 17 / 26

Deciding WS1S with NFAsϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Our contribution:

symbolic representation of FiI projection, saturation, and complementationI testing intersection non-emptinessI subsumption-based pruning

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 18 / 26

Deciding WS1S with NFAsϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Our contribution:symbolic representation of Fi

I projection, saturation, and complementationI testing intersection non-emptinessI subsumption-based pruning

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 18 / 26

Deciding WS1S with NFAsϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Our contribution:symbolic representation of Fi

I projection, saturation, and complementation

I testing intersection non-emptinessI subsumption-based pruning

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 18 / 26

Deciding WS1S with NFAsϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Our contribution:symbolic representation of Fi

I projection, saturation, and complementationI testing intersection non-emptiness

I subsumption-based pruning

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 18 / 26

Deciding WS1S with NFAsϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

For ground formulae

|= ϕm iff Im ∩ Fm 6= ∅

Our contribution:symbolic representation of Fi

I projection, saturation, and complementationI testing intersection non-emptinessI subsumption-based pruning

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 18 / 26

Deciding WS1S with NFAs

Example (¬∃X .ϕ)Aϕ0

I Q0 = {0,1,2,3}I F0 = {3}

0 1 2 3

X:Y:

[01

]X:Y:

[11

]X:Y:

[10

]

After quantification:I F∃

0 = {2,3}I N∃

0 = Q0 \ F∃0 = {0,1} (non-final states)

After negation (determinisation + complement):I F1 = {∅, {0}, {1}, {0,1}}

= ↓ {{0, 1}} (symbolic representation)

I N1 = {{2}, {3}, {2,0}, {3,0}, . . . {2,3,0}, {2,3,1}, . . . {0,1,2,3}}

= ↑ {{2}, {3}} (symbolic representation)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 19 / 26

Deciding WS1S with NFAs

Example (¬∃X .ϕ)Aϕ0

I Q0 = {0,1,2,3}I F0 = {3}

0 1 2 3

X:Y:

[01

]X:Y:

[11

]X:Y:

[10

]

After quantification:I F∃

0 = {2,3}I N∃

0 = Q0 \ F∃0 = {0,1} (non-final states)

After negation (determinisation + complement):I F1 = {∅, {0}, {1}, {0,1}}

= ↓ {{0, 1}} (symbolic representation)

I N1 = {{2}, {3}, {2,0}, {3,0}, . . . {2,3,0}, {2,3,1}, . . . {0,1,2,3}}

= ↑ {{2}, {3}} (symbolic representation)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 19 / 26

Deciding WS1S with NFAs

Example (¬∃X .ϕ)Aϕ0

I Q0 = {0,1,2,3}I F0 = {3}

0 1 2 3

X:Y:

[01

]X:Y:

[11

]X:Y:

[10

]

After quantification:I F∃

0 = {2,3}I N∃

0 = Q0 \ F∃0 = {0,1} (non-final states)

After negation (determinisation + complement):I F1 = {∅, {0}, {1}, {0,1}}

= ↓ {{0, 1}} (symbolic representation)

I N1 = {{2}, {3}, {2,0}, {3,0}, . . . {2,3,0}, {2,3,1}, . . . {0,1,2,3}}

= ↑ {{2}, {3}} (symbolic representation)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 19 / 26

Deciding WS1S with NFAs

Example (¬∃X .ϕ)Aϕ0

I Q0 = {0,1,2,3}I F0 = {3}

0 1 2 3

X:Y:

[01

]X:Y:

[11

]X:Y:

[10

]

After quantification:I F∃

0 = {2,3}I N∃

0 = Q0 \ F∃0 = {0,1} (non-final states)

After negation (determinisation + complement):I F1 = {∅, {0}, {1}, {0,1}}

= ↓ {{0, 1}} (symbolic representation)

I N1 = {{2}, {3}, {2,0}, {3,0}, . . . {2,3,0}, {2,3,1}, . . . {0,1,2,3}}

= ↑ {{2}, {3}} (symbolic representation)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 19 / 26

Deciding WS1S with NFAs

Example (¬∃X .ϕ)Aϕ0

I Q0 = {0,1,2,3}I F0 = {3}

0 1 2 3

X:Y:

[01

]X:Y:

[11

]X:Y:

[10

]

After quantification:I F∃

0 = {2,3}I N∃

0 = Q0 \ F∃0 = {0,1} (non-final states)

After negation (determinisation + complement):I F1 = {∅, {0}, {1}, {0,1}}

= ↓ {{0, 1}} (symbolic representation)I N1 = {{2}, {3}, {2,0}, {3,0}, . . . {2,3,0}, {2,3,1}, . . . {0,1,2,3}}

= ↑ {{2}, {3}} (symbolic representation)

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 19 / 26

Deciding WS1S with NFAsComputing Fm

ϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

1 Start with F0

2 Saturate final states after projection:

F∃0 = µZ . F0 ∪ pre0(Z )

3 Determinise + complement final states:

N1 =↑{F∃0 }

4 Saturate final states after projection:

N∃1 = νZ . N1 ∩ cpre0(Z )

I cpre0(Z ): states that can over 0 go only into Z

5 Determinise + complement final states:

F2 =↓{N∃1}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 20 / 26

Deciding WS1S with NFAsComputing Fm

ϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

1 Start with F0

2 Saturate final states after projection:

F∃0 = µZ . F0 ∪ pre0(Z )

3 Determinise + complement final states:

N1 =↑{F∃0 }

4 Saturate final states after projection:

N∃1 = νZ . N1 ∩ cpre0(Z )

I cpre0(Z ): states that can over 0 go only into Z

5 Determinise + complement final states:

F2 =↓{N∃1}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 20 / 26

Deciding WS1S with NFAsComputing Fm

ϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

1 Start with F0

2 Saturate final states after projection:

F∃0 = µZ . F0 ∪ pre0(Z )

3 Determinise + complement final states:

N1 =↑{F∃0 }

4 Saturate final states after projection:

N∃1 = νZ . N1 ∩ cpre0(Z )

I cpre0(Z ): states that can over 0 go only into Z

5 Determinise + complement final states:

F2 =↓{N∃1}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 20 / 26

Deciding WS1S with NFAsComputing Fm

ϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

1 Start with F0

2 Saturate final states after projection:

F∃0 = µZ . F0 ∪ pre0(Z )

3 Determinise + complement final states:

N1 =↑{F∃0 }

4 Saturate final states after projection:

N∃1 = νZ . N1 ∩ cpre0(Z )

I cpre0(Z ): states that can over 0 go only into Z

5 Determinise + complement final states:

F2 =↓{N∃1}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 20 / 26

Deciding WS1S with NFAsComputing Fm

ϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

1 Start with F0

2 Saturate final states after projection:

F∃0 = µZ . F0 ∪ pre0(Z )

3 Determinise + complement final states:

N1 =↑{F∃0 }

4 Saturate final states after projection:

N∃1 = νZ . N1 ∩ cpre0(Z )

I cpre0(Z ): states that can over 0 go only into Z

5 Determinise + complement final states:

F2 =↓{N∃1}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 20 / 26

Deciding WS1S with NFAsComputing Fm

ϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

1 Start with F0

2 Saturate final states after projection:

F∃0 = µZ . F0 ∪ pre0(Z )

3 Determinise + complement final states:

N1 =↑{F∃0 }

4 Saturate final states after projection:

N∃1 = νZ . N1 ∩ cpre0(Z )

I cpre0(Z ): states that can over 0 go only into Z

5 Determinise + complement final states:

F2 =↓{N∃1}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 20 / 26

Deciding WS1S with NFAs

Computing Fm

ϕm = ¬∃Xm ¬ . . .¬∃X2 ¬∃X1 : ϕ0(X)

Keep alternating as follows:

Fi+1 = ↓{νZ . Ni ∩ cpre0(Z )}

Ni+1 = ↑{µZ . Fi ∪ pre0(Z )}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 21 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

CPRE

pre

∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

CPRE

pre

∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

CPRE

∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

CPRE∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

CPRE∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

U

CPRE∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

UU U

CPRE∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsComputing cpre0/pre0

Lemmacpre0(↑{Q}) =↑

∐{pre0(Q)}

UU U

CPRE∐breaks the predecessors into new generators that cover the Q

Lemma (dual)pre0(↓{Q}) =↓{cpre0(Q)}

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 22 / 26

Deciding WS1S with NFAsInner structure of Fm

F0

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 23 / 26

Deciding WS1S with NFAsInner structure of Fm

F0...E

UU

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 23 / 26

Deciding WS1S with NFAsInner structure of Fm

F0

N1

E

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 23 / 26

Deciding WS1S with NFAsInner structure of Fm

F0

N1...

E

EUU

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 23 / 26

Deciding WS1S with NFAsInner structure of Fm

F0

N1

F2

E

E

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 23 / 26

Deciding WS1S with NFAsInner structure of Fm

F0

N1

F2... E

E

E

UU

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 23 / 26

Deciding WS1S with NFAsState Space Reduction

Symbolic representation of Fi using generators

I which are composed of generatorsI which are themselves composed of generators

Generators can be minimizedI subsumption-basedI similar idea to Antichains (NFA universality/language inclusion)I computed on the nested structure

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 24 / 26

Deciding WS1S with NFAsState Space Reduction

Symbolic representation of Fi using generatorsI which are composed of generators

I which are themselves composed of generators

Generators can be minimizedI subsumption-basedI similar idea to Antichains (NFA universality/language inclusion)I computed on the nested structure

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 24 / 26

Deciding WS1S with NFAsState Space Reduction

Symbolic representation of Fi using generatorsI which are composed of generatorsI which are themselves composed of generators

Generators can be minimizedI subsumption-basedI similar idea to Antichains (NFA universality/language inclusion)I computed on the nested structure

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 24 / 26

Deciding WS1S with NFAsState Space Reduction

Symbolic representation of Fi using generatorsI which are composed of generatorsI which are themselves composed of generators

Generators can be minimized

I subsumption-basedI similar idea to Antichains (NFA universality/language inclusion)I computed on the nested structure

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 24 / 26

Deciding WS1S with NFAsState Space Reduction

Symbolic representation of Fi using generatorsI which are composed of generatorsI which are themselves composed of generators

Generators can be minimizedI subsumption-basedI similar idea to Antichains (NFA universality/language inclusion)I computed on the nested structure

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 24 / 26

Experimental results

implemented in dWiNAcompared with MONA:

I on generated and real formulaeI in generic and ∃PNF form

MONA dWiNATime [s] Space [states] Time [s] Space [states]

real (STRAND) normal ∃PNF normal ∃PNF Prefix Prefixlist-reverse-after-loop 0.01 0.01 179 1 326 0.01 100list-reverse-in-loop 0.02 0.47 1 311 70 278 0.02 260bubblesort-else 0.01 0.45 1 285 12 071 0.01 14bubblesort-if-else 0.02 2.17 4 260 116 760 0.23 234bubblesort-if-if 0.12 5.29 8 390 233 372 1.14 28generated3 alternations - 0.57 - 60 924 0.01 504 alternations - 1.79 - 145 765 0.02 585 alternations - 4.98 - 349 314 0.02 706 alternations - TO - TO 0.47 90

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 25 / 26

Future Work

WSkS

Yet Another ApproachTM

I combination of automata and logic approachesI partial unwinding of ϕI lazy evaluation = early termination & continuations

preprocessingI anti-prenexingI smarter conversion to ∃PNF

many opportunities for various heuristics

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 26 / 26

Future Work

WSkS

Yet Another ApproachTM

I combination of automata and logic approachesI partial unwinding of ϕI lazy evaluation = early termination & continuations

preprocessingI anti-prenexingI smarter conversion to ∃PNF

many opportunities for various heuristics

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 26 / 26

Future Work

WSkS

Yet Another ApproachTM

I combination of automata and logic approachesI partial unwinding of ϕI lazy evaluation = early termination & continuations

preprocessingI anti-prenexingI smarter conversion to ∃PNF

many opportunities for various heuristics

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 26 / 26

Future Work

WSkS

Yet Another ApproachTM

I combination of automata and logic approachesI partial unwinding of ϕI lazy evaluation = early termination & continuations

preprocessingI anti-prenexingI smarter conversion to ∃PNF

many opportunities for various heuristics

T. Fiedor, L. Holık, O. Lengal, T. Vojnar Nested Antichains for WS1S Automata, Logic, Games’16 26 / 26