Upload
danghuong
View
216
Download
0
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]
Aϕ
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]
Aϕ
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]
Aϕ
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]
Aϕ
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]
Aϕ
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