MSO transductions define regular functions
Lax314295.RegularOfMSOTransduction · concepts/Lax314295/RegularOfMSOTransduction.lean · lax-314295
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
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.
Concept map
In the paper
- page 127 of the paper of lax-157538, Transducers
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.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments