Nested Antichains for WS1S (originally presented at TACAS’15) Tom ´ aˇ s Fiedor 1,2 Luk ´ aˇ s Hol´ ık 2 Ondˇ rej Leng ´ al 2 Tom ´ aˇ s Vojnar 2 1 Red Hat, Czech Republic 2 Brno University of Technology, Czech Republic Automata, Logic, and (non-fun) Games’16
116
Embed
Nested Antichains for WS1S - ims.nus.edu.sg · WS1S weak monadic second-order logic of one successor I monadic second-order )quantification over sets I weak )sets are finite I of
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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 )
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