+ All Categories
Home > Documents > Nested Antichains for WS1S - ims.nus.edu.sg · WS1S weak monadic second-order logic of one...

Nested Antichains for WS1S - ims.nus.edu.sg · WS1S weak monadic second-order logic of one...

Date post: 01-Mar-2019
Category:
Upload: danghuong
View: 216 times
Download: 0 times
Share this document with a friend
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
Transcript

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


Recommended