Characterization of Logics on Infinite Linear Orderings
Thomas Colcombet ACTS 9-13 February 2015 Chennai
Characterization of Logics on Infinite Linear Orderings Thomas - - PowerPoint PPT Presentation
Characterization of Logics on Infinite Linear Orderings Thomas Colcombet ACTS 9-13 February 2015 Chennai Linear orderings Words Logics Monadic Second-Order Logic Monadic Second-Order Logic Monadic second-order logic (MSO) - quantify over
Thomas Colcombet ACTS 9-13 February 2015 Chennai
Monadic second-order logic (MSO)
Monadic second-order logic (MSO)
For instance over the di-graph signature, « t is reachable from s »: every set containing s and closed under edge relation also contains t.
Monadic second-order logic (MSO)
For instance over the di-graph signature, « t is reachable from s »: every set containing s and closed under edge relation also contains t. Words signature: binary order + predicates for each letter.
Monadic second-order logic (MSO)
For instance over the di-graph signature, « t is reachable from s »: every set containing s and closed under edge relation also contains t. Words signature: binary order + predicates for each letter. In FO, « is dense »: for all x<y there is some z such that x<z<y
Monadic second-order logic (MSO)
For instance over the di-graph signature, « t is reachable from s »: every set containing s and closed under edge relation also contains t. Words signature: binary order + predicates for each letter. In FO, « is dense »: for all x<y there is some z such that x<z<y In MSO, « is scattered »: no (induced) sub-ordering is dense
Monadic second-order logic (MSO)
For instance over the di-graph signature, « t is reachable from s »: every set containing s and closed under edge relation also contains t. Words signature: binary order + predicates for each letter. In FO, « is dense »: for all x<y there is some z such that x<z<y In MSO, « is finite »: the first and last positions exist and are reachable one from the other by successor steps In MSO, « is scattered »: no (induced) sub-ordering is dense
Monadic second-order logic (MSO)
For instance over the di-graph signature, « t is reachable from s »: every set containing s and closed under edge relation also contains t. Words signature: binary order + predicates for each letter. In FO, « is dense »: for all x<y there is some z such that x<z<y In MSO, « is finite »: the first and last positions exist and are reachable one from the other by successor steps In MSO, « is complete »: all subsets have a supremum In MSO, « is scattered »: no (induced) sub-ordering is dense
Elgot - Büchi60 MSO=reg (finite words) decidable
Elgot - Büchi60 MSO=reg (finite words) decidable [Büchi62]: ω-words decidable (Q,<): [Rabin69] (Q,<): [Shelah75] (R,<): [Shelah75] (undecidable) MSO=recognizable [Carton,C.,Puppis]
Elgot - Büchi60 MSO=reg (finite words) decidable [Büchi62]: ω-words decidable (Q,<): [Rabin69] (Q,<): [Shelah75] (R,<): [Shelah75] (undecidable) MSO=recognizable [Carton,C.,Puppis]
[Schützenberger65] [McNaughton&Papert71] FO-definable = aperiodic Many logics…
Elgot - Büchi60 MSO=reg (finite words) decidable [Büchi62]: ω-words decidable (Q,<): [Rabin69] (Q,<): [Shelah75] (R,<): [Shelah75] (undecidable) MSO=recognizable [Carton,C.,Puppis]
[Schützenberger65] [McNaughton&Papert71] FO-definable = aperiodic Many logics…
Linear ordering: α=(L,<) with < total (here L is always countable)
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet)
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) finite
a b c b a a
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) domain ω (N,<) finite
a b c b a a
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) domain ω (N,<) finite
a b c b a a
domain ω* (-N,<)
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) domain ω (N,<) well ordered domain (ordinal)
ω ω ω times
finite
a b c b a a
domain ω* (-N,<)
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) domain ω (N,<) well ordered domain (ordinal)
ω ω ω times
finite
a b c b a a
domain ω* (-N,<) scattered (no dense sub-ordering)
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) domain ω (N,<) well ordered domain (ordinal)
ω ω ω times
finite
a b c b a a
perfect shuffle {a,b}
b a a b a b
domain (Q,<) every letter appears densely (unique up to isomorphism) domain ω* (-N,<) scattered (no dense sub-ordering)
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) domain ω (N,<) well ordered domain (ordinal)
ω ω ω times
finite
a b c b a a
complete perfect shuffle {a,b}
b a a b a b
domain (Q,<) every letter appears densely (unique up to isomorphism) domain ω* (-N,<) scattered (no dense sub-ordering)
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) domain ω (N,<) well ordered domain (ordinal)
ω ω ω times
finite
a b c b a a
incomplete complete perfect shuffle {a,b}
b a a b a b
domain (Q,<) every letter appears densely (unique up to isomorphism) domain ω* (-N,<) scattered (no dense sub-ordering)
Linear ordering: α=(L,<) with < total (here L is always countable) (Countable) word: map u : α→A (A alphabet) domain ω (N,<) well ordered domain (ordinal)
ω ω ω times
finite
a b c b a a
incomplete complete perfect shuffle {a,b}
b a a b a b
domain (Q,<) every letter appears densely (unique up to isomorphism) domain ω* (-N,<) scattered (no dense sub-ordering) gap = natural Dedekind cut
singleton sets cuts finite sets finite sets and cuts well ordered sets scattered sets first-order logic (FO) first-order logic with cuts (FO[cut]) weak monadic second-order logic (WMSO) MSO[finite,cut] MSO[ordinal] MSO[scattered] Range of set quantifiers Name of the logic « is dense », « has length k » « is well ordered », « is complete », « is finite » « is finite », « has even length » « there is an even number of gaps » « is scattered » … all sets MSO « there are two sets ‘dense in each other’ »
FO FO[cut] WMSO MSO[finite,cut] MSO[ordinal] MSO[scattered] MSO
FO FO[cut] WMSO MSO[finite,cut] MSO[ordinal] MSO[scattered] MSO
=
FO FO[cut] WMSO MSO[finite,cut] MSO[ordinal] MSO[scattered] MSO
=
FO FO[cut] WMSO MSO[finite,cut] MSO[ordinal] MSO[scattered] MSO
A linear ordering α
i
a map from α to words
ui
A linear ordering α
i
generalized concatenation
Y
i∈α
ui
a map from α to words
ui
A linear ordering α
i
generalized concatenation
Y
i∈α
ui
a map from α to words
ui
A linear ordering α
i
Said differently, this is a flattening operation : Y : (A) → A
A ○-monoid (M,𝛒) is a set M equipped with a product 𝛒 : M° → M that satisfies generalized associativity:
π Y
i∈α
ui ! = π Y
i∈α
π(ui) !
A ○-monoid (M,𝛒) is a set M equipped with a product 𝛒 : M° → M that satisfies generalized associativity:
π Y
i∈α
ui ! = π Y
i∈α
π(ui) !
π(a) = a
A ○-monoid (M,𝛒) is a set M equipped with a product 𝛒 : M° → M that satisfies generalized associativity:
π Y
i∈α
ui ! = π Y
i∈α
π(ui) !
Example:
⇣ A, Y⌘
is the free ○-monoid generated by A. π(a) = a
A ○-monoid (M,𝛒) is a set M equipped with a product 𝛒 : M° → M that satisfies generalized associativity:
π Y
i∈α
ui ! = π Y
i∈α
π(ui) !
Example: M={1,f,0} with:
π(u) = 1 if u consists only of 1’s f if u has one but finitely many f’s, and no 0
Example:
⇣ A, Y⌘
is the free ○-monoid generated by A. π(a) = a
A ○-monoid (M,𝛒) is a set M equipped with a product 𝛒 : M° → M that satisfies generalized associativity:
π Y
i∈α
ui ! = π Y
i∈α
π(ui) !
Example: M={1,f,0} with:
π(u) = 1 if u consists only of 1’s f if u has one but finitely many f’s, and no 0
A morphism of ○-monoid h is such that h
Y
i∈α
ui ! = π Y
i∈α
h(ui) !
Example:
⇣ A, Y⌘
is the free ○-monoid generated by A. π(a) = a
A ○-monoid (M,𝛒) is a set M equipped with a product 𝛒 : M° → M that satisfies generalized associativity:
π Y
i∈α
ui ! = π Y
i∈α
π(ui) !
Example: M={1,f,0} with:
π(u) = 1 if u consists only of 1’s f if u has one but finitely many f’s, and no 0
A morphism of ○-monoid h is such that h
Y
i∈α
ui ! = π Y
i∈α
h(ui) !
Example:
⇣ A, Y⌘
is the free ○-monoid generated by A. Given a finite monoid M, a ○-morphism h from A° to M, and F⊆M, M,h,F recognizes {u ∈ A : h(u) ∈ F} π(a) = a
A ○-monoid (M,𝛒) is a set M equipped with a product 𝛒 : M° → M that satisfies generalized associativity:
π Y
i∈α
ui ! = π Y
i∈α
π(ui) !
Example: M={1,f,0} with:
π(u) = 1 if u consists only of 1’s f if u has one but finitely many f’s, and no 0
A morphism of ○-monoid h is such that h
Y
i∈α
ui ! = π Y
i∈α
h(ui) !
Example:
⇣ A, Y⌘
is the free ○-monoid generated by A. Given a finite monoid M, a ○-morphism h from A° to M, and F⊆M, M,h,F recognizes {u ∈ A : h(u) ∈ F} Example: with F={1,f}
h(u) = 1 if u has no a’s f if u has finitely many a’s
M,h,F recognize « finitely many a’s » π(a) = a
Schützenberger-Elgot-Büchi: A language of finite words is definable in monadic second-order logic if and only if it is recognizable by a finite monoid. Furthermore, there is a minimal such monoid: the syntactic monoid.
Theorem [Shelah75 & CCP11]: A language of countable words is definable if and only if it is recognizable by a finite ○-monoid. Furthermore there is a syntactic ○-monoid. Furthermore, finite ○-monoids can be effectively handled. Schützenberger-Elgot-Büchi: A language of finite words is definable in monadic second-order logic if and only if it is recognizable by a finite monoid. Furthermore, there is a minimal such monoid: the syntactic monoid.
Unit: M
1 = π(ε)
Unit: M
1 = π(ε)
Binary product: M×M→M
a · b = π(ab)
Unit: M
1 = π(ε)
Binary product: M×M→M
a · b = π(ab)
ω-iteration: M→M
aω = π(aaa . . . | {z }
ω
)
Unit: M
1 = π(ε)
Binary product: M×M→M
a · b = π(ab)
ω-iteration: M→M
aω = π(aaa . . . | {z }
ω
)
ω*-iteration
aω = π(. . . aaa | {z }
ω∗
)
Unit: M
1 = π(ε)
Binary product: M×M→M
a · b = π(ab)
ω-iteration: M→M
aω = π(aaa . . . | {z }
ω
)
ω*-iteration
aω = π(. . . aaa | {z }
ω∗
)
shuffle η: P(M)→M
{a, b}η = π(perfectshuffle(a, b))
Unit: M
1 = π(ε)
Binary product: M×M→M
a · b = π(ab)
ω-iteration: M→M
aω = π(aaa . . . | {z }
ω
)
ω*-iteration
aω = π(. . . aaa | {z }
ω∗
)
shuffle η: P(M)→M
{a, b}η = π(perfectshuffle(a, b))
b a a b a b
domain (Q,<) every letter appears densely (unique up to isomorphism)
Unit: M
1 = π(ε)
Binary product: M×M→M
a · b = π(ab)
ω-iteration: M→M
aω = π(aaa . . . | {z }
ω
)
ω*-iteration
aω = π(. . . aaa | {z }
ω∗
)
shuffle η: P(M)→M
{a, b}η = π(perfectshuffle(a, b))
b a a b a b
domain (Q,<) every letter appears densely (unique up to isomorphism) Theorem[CCP11]: There are equalities (A) such that: every operations induced by a product satisfy equalities (A), and given 1,∙,ω,ω*,η over some finite M satisfying these equalities, there is a product π inducting them.
Unit: M
1 = π(ε)
Binary product: M×M→M
a · b = π(ab)
ω-iteration: M→M
aω = π(aaa . . . | {z }
ω
)
ω*-iteration
aω = π(. . . aaa | {z }
ω∗
)
shuffle η: P(M)→M
{a, b}η = π(perfectshuffle(a, b))
b a a b a b
domain (Q,<) every letter appears densely (unique up to isomorphism) Theorem[CCP11]: There are equalities (A) such that: every operations induced by a product satisfy equalities (A), and given 1,∙,ω,ω*,η over some finite M satisfying these equalities, there is a product π inducting them.
a · (b · c) = (a · b) · c (an)ω = aω (a · b)ω = a · (b · a)ω {a}η = {a}η · a · {a}η . . .
« finitely many a’s » 1 f 1 f 1 f f f 1 f 1 1 f 1 ω ω* {1} {f,*},{0,*} 1 η h(a)=f f(b)=1 F={1,f}
« finitely many a’s » « a’s are left-closed » 1 f 1 f 1 f f f 1 f 1 1 f 1 ω ω* {1} {f,*},{0,*} 1 η h(a)=f f(b)=1 F={1,f} 1 a b m 0 1 a b m 1 a b m 0 a a b m b m 0 m m 0 1 a b m 0 ω 1 a b 0 0 1 a b m 0 ω* 1 a b 0 0 a = « …aaa… » b = « …bbb… » m = « …aaa…bbb… » 0 = « *b*a* »
Theorem[Schützenberger65,McNauthon&Papert71]: A language of finite words is definable in FO if and only if it is aperiodic.
Theorem[Schützenberger65,McNauthon&Papert71]: A language of finite words is definable in FO if and only if it is aperiodic. Theorem [Bès&Carton13]: A language of countable scattered words is definable in FO if and only if every idempotent is gap insensitive. eω · eω∗ = e e · e = e
« looks as » when sufficiently long. Theorem[Schützenberger65,McNauthon&Papert71]: A language of finite words is definable in FO if and only if it is aperiodic. Theorem [Bès&Carton13]: A language of countable scattered words is definable in FO if and only if every idempotent is gap insensitive. eω · eω∗ = e e · e = e
« looks as » when sufficiently long. Remark: « All idempotents are gap insensitive » implies aperiodicity. Theorem[Schützenberger65,McNauthon&Papert71]: A language of finite words is definable in FO if and only if it is aperiodic. Theorem [Bès&Carton13]: A language of countable scattered words is definable in FO if and only if every idempotent is gap insensitive. eω · eω∗ = e e · e = e
« looks as » when sufficiently long. Remark: « All idempotents are gap insensitive » implies aperiodicity. Theorem[Schützenberger65,McNauthon&Papert71]: A language of finite words is definable in FO if and only if it is aperiodic.
an = (an)ω · (an)ω∗ = a · (an)ω · (an)ω∗ = an+1
an
Proof: Take n such that is idempotent. Theorem [Bès&Carton13]: A language of countable scattered words is definable in FO if and only if every idempotent is gap insensitive. eω · eω∗ = e e · e = e
« looks as » when sufficiently long. Remark: « All idempotents are gap insensitive » implies aperiodicity. Theorem[Schützenberger65,McNauthon&Papert71]: A language of finite words is definable in FO if and only if it is aperiodic. Remark: The equation remains true but is not sufficient in general.
an = (an)ω · (an)ω∗ = a · (an)ω · (an)ω∗ = an+1
an
Proof: Take n such that is idempotent. Theorem [Bès&Carton13]: A language of countable scattered words is definable in FO if and only if every idempotent is gap insensitive. eω · eω∗ = e e · e = e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property.
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property. e e e e e e e
eω · eω∗ e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property. e e e e e e e Whatever X we choose
eω · eω∗ e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property. e e e e e e e Whatever X we choose a f (IH) b
eω · eω∗ e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property. e e e e e e e Whatever X we choose a f (IH) b = a · f · b
eω · eω∗ e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property. e e e e e e e Whatever X we choose a f (IH) b = a · f · b
eω · eω∗ e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property. e e e e e e e Whatever X we choose IH a f (IH) b = a · f · b
eω · eω∗ e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property. e e e e e e e Whatever X we choose IH a f (IH) b = a · f · b =a · f ω · f ω∗ · b =a · f · b
eω · eω∗ e
[Bès&Carton]: A language of scattered words is definable in WMSO if and only if all ordinal idempotents and every ordinal* idempotents are gap insensitive. eω = e eω∗ = e IH: Assume « φ(X) » recognized by a monoid satisfying the property. e e e e e e e Whatever X we choose IH a f (IH) b = a · f · b =a · f ω · f ω∗ · b =a · f · b
eω · eω∗ e
Lemma[C.&Sreejith A.V.]: Every formula of MSO[ordinal] has a syntactic ○- monoid such that every scattered idempotent is a shuffle idempotent. e = {e}η e = eω = eω∗
Lemma[C.&Sreejith A.V.]: Every formula of MSO[ordinal] has a syntactic ○- monoid such that every scattered idempotent is a shuffle idempotent. e = {e}η e = eω = eω∗
Lemma[C.&Sreejith A.V.]: Every formula of MSO[ordinal] has a syntactic ○- monoid such that every shuffle idempotent is shuffle simple. For all K such that e = Kη, and a such that e · a · e = e, (K ∪ {a})η = e.
FO FO[cut] WMSO MSO[finite,cut] MSO[ordinal] MSO[scattered] MSO every idempotent is gap insensitive aperiodic every ordinal and
is gap insensitive every scattered idempotent is a shuffle idempotent every shuffle idempotent is shuffle simple
=
FO FO[cut] WMSO MSO[finite,cut] MSO[ordinal] MSO[scattered] MSO every idempotent is gap insensitive aperiodic every ordinal and
is gap insensitive every scattered idempotent is a shuffle idempotent every shuffle idempotent is shuffle simple
=
FO FO[cut] WMSO MSO[finite,cut] MSO[ordinal] MSO[scattered] MSO every idempotent is gap insensitive aperiodic every ordinal and
is gap insensitive every scattered idempotent is a shuffle idempotent every shuffle idempotent is shuffle simple These equations can be used to perform separation.
=
FO FO[cut] WMSO MSO[finite,cut] MSO[ordinal] MSO[scattered] MSO every idempotent is gap insensitive aperiodic every ordinal and
is gap insensitive every scattered idempotent is a shuffle idempotent every shuffle idempotent is shuffle simple These equations can be used to perform separation. Example: the syntactic ○-monoid of « is scattered » contains a scattered idempotent which is not a shuffle idempotent.
Every idempotent is gap insensitive Aperiodicity Every ordinal or ordinal* idempotent is gap insensitive Every scattered idempotent is a shuffle idempotent Every shuffle idempotent is shuffle simple FO FO[cut] WMSO MSO[finite,cut] =MSO[ordinal] MSO[scattered]
[C.&Sreejith A.V.]: The following properties characterize the logics: (and these logics can be separated)
To be continued…