Lax53.MSOTreeAutomataEquivalence
Thatcher–Wright–Doner theorem for finite ranked trees
concepts/Lax53/MSOTreeAutomataEquivalence.lean · lax-53
No public endorsements yet.
Loading review…
Sign in with ORCIDConcept map
Evidence
This concept declares 3 statements. Each proof establishes one of them relative to its assumptions.
1st statement automaton_definable_by_mso proven
2nd statement mso_definable_is_recognizable proven
3rd statement recognizable_iff_msoDefinable proven
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.
Lean source view on GitHub
| 1 | import Lax52.MSOSyntax |
| 2 | import Lax53.RankedTree |
| 3 | import Lax53.TreeStructure |
| 4 | import Lax53.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 Lax53.MSOTreeAutomataEquivalence |
| 25 | |
| 26 | open Lax53.RankedTree |
| 27 | open Lax53.TreeStructure |
| 28 | open Lax53.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 : Lax52.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 : Lax52.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 : Lax52.MSOSyntax.Sentence (treeSignature A), L = sentenceLanguage phi |
| 47 | |
| 48 | end Lax53.MSOTreeAutomataEquivalence |
| 49 |
Used by
none
From Mathlib
none
Community review
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above; your ORCID profile must share a public name.
0 comments