Lax314295.RegularOfMSOTransduction
MSO transductions define regular functions
concepts/Lax314295/RegularOfMSOTransduction.lean · lax-314295
No public endorsements yet.
Loading review…
Sign in with ORCIDConcept map
In the paper
- page 127 of the paper of lax-157538, Transducers
Theorem
Every function defined by a string-to-string mso transduction is regular (Theorem C.4.8 of Transducers, Engelfriet–Hoogeboom, the implication from transduction to regular). The transduction is normalised to one universe and one letter formula per copy and one order formula per pair of copies (Lemma C.4.9); the questions the formulas ask are precomputed by a letter-to-letter rational function (Lemma C.4.10); and a two-way transducer walks through the output order, moving to the successor of the current element by running the automaton of the precomputed language on the infix between them.
Lean source view on GitHub
| 1 | import Lax916827.RegularFunctions |
| 2 | import Lax314295.MSOTransductions |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: MSO transductions define regular functions |
| 7 | type: theorem |
| 8 | --- |
| 9 | Every function defined by a string-to-string mso transduction is regular |
| 10 | (Theorem C.4.8 of *Transducers*, Engelfriet–Hoogeboom, the implication from |
| 11 | transduction to regular). The transduction is normalised to one universe and |
| 12 | one letter formula per copy and one order formula per pair of copies (Lemma |
| 13 | C.4.9); the questions the formulas ask are precomputed by a letter-to-letter |
| 14 | rational function (Lemma C.4.10); and a two-way transducer walks through the |
| 15 | output order, moving to the successor of the current element by running the |
| 16 | automaton of the precomputed language on the infix between them. |
| 17 | |
| 18 | # Formalization notes |
| 19 | |
| 20 | Both alphabets are assumed finite, as in the book. |
| 21 | -/ |
| 22 | |
| 23 | namespace Lax314295.RegularOfMSOTransduction |
| 24 | |
| 25 | open Lax916827.RegularFunctions Lax314295.MSOTransductions |
| 26 | |
| 27 | /-- A function defined by an mso transduction is regular. -/ |
| 28 | axiom isRegularFun_of_isMSOTransduction {A B : Type} [Finite A] [Finite B] |
| 29 | {f : List A → List B} (hf : IsMSOTransduction f) : IsRegularFun f |
| 30 | |
| 31 | end Lax314295.RegularOfMSOTransduction |
| 32 |
Formalization notes
Both alphabets are assumed finite, as in the book.
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