Thatcher–Wright–Doner theorem for finite ranked trees
Lax842588.MSOTreeAutomataEquivalence · concepts/Lax842588/MSOTreeAutomataEquivalence.lean · lax-842588
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Over a finite ranked alphabet, a language of finite ranked trees is recognizable by a bottom-up tree automaton with finitely many states if and only if it is definable by a monadic second-order sentence in the relational tree structure with unary label predicates and indexed child relations. This is the ranked-tree automata–MSO characterization proved by Thatcher and Wright (1968) and, independently, by Doner (1970).
The two directions are stated explicitly here as well: every automaton has an equivalent MSO sentence, and every MSO sentence defines a recognizable language.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax146103.MSOSyntax |
| 2 | import Lax842588.RankedTree |
| 3 | import Lax842588.TreeStructure |
| 4 | import Lax842588.TreeAutomaton |
| 5 | |
| 6 | /-! |
| 7 | --- |
| 8 | title: Thatcher–Wright–Doner theorem for finite ranked trees |
| 9 | type: theorem |
| 10 | --- |
| 11 | |
| 12 | Over a finite ranked alphabet, a language of finite ranked trees is recognizable |
| 13 | by a bottom-up tree automaton with finitely many states if and only if it is |
| 14 | definable by a monadic second-order sentence in the relational tree structure |
| 15 | with unary label predicates and indexed child relations. This is the ranked-tree |
| 16 | automata--MSO characterization proved by Thatcher and Wright (1968) and, |
| 17 | independently, by Doner (1970). |
| 18 | |
| 19 | The two directions are stated explicitly here as well: every automaton has |
| 20 | an equivalent MSO sentence, and every MSO sentence defines a recognizable |
| 21 | language. |
| 22 | -/ |
| 23 | |
| 24 | namespace Lax842588.MSOTreeAutomataEquivalence |
| 25 | |
| 26 | open Lax842588.RankedTree |
| 27 | open Lax842588.TreeStructure |
| 28 | open Lax842588.TreeAutomaton |
| 29 | |
| 30 | universe u v |
| 31 | |
| 32 | /-- Every tree automaton with finitely many states has an equivalent MSO sentence. -/ |
| 33 | axiom automaton_definable_by_mso {A : RankedAlphabet.{u}} {Q : Type v} |
| 34 | [Fintype Q] (M : Automaton A Q) : |
| 35 | ∃ phi : Lax146103.MSOSyntax.Sentence (treeSignature A), M.language = sentenceLanguage phi |
| 36 | |
| 37 | /-- Every MSO sentence defines a recognizable ranked-tree language. -/ |
| 38 | axiom mso_definable_is_recognizable {A : RankedAlphabet.{u}} |
| 39 | (phi : Lax146103.MSOSyntax.Sentence (treeSignature A)) : |
| 40 | Recognizable (sentenceLanguage phi) |
| 41 | |
| 42 | /-- Recognizability and MSO definability characterize the same languages. -/ |
| 43 | axiom recognizable_iff_msoDefinable {A : RankedAlphabet.{u}} |
| 44 | (L : TreeLanguage A) : |
| 45 | Recognizable L ↔ |
| 46 | ∃ phi : Lax146103.MSOSyntax.Sentence (treeSignature A), L = sentenceLanguage phi |
| 47 | |
| 48 | end Lax842588.MSOTreeAutomataEquivalence |
| 49 |
Used by
none
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments