Lax314295.MSOTransductionOfRegular
Regular functions are MSO transductions
concepts/Lax314295/MSOTransductionOfRegular.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 regular function is defined by a string-to-string mso transduction (Theorem C.4.8 of Transducers, Engelfriet–Hoogeboom, the implication from regular to transduction). A regular function is computed by a two-way transducer (Theorem C.2.9); the transduction's elements are the pairs of a configuration of its run and an index into the output produced there, and all its formulas — which configurations are reached, which letter is produced, which of two configurations comes first — are regular properties of the input with marked positions, hence mso-definable by Büchi's theorem.
Lean source view on GitHub
| 1 | import Lax916827.RegularFunctions |
| 2 | import Lax314295.MSOTransductions |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Regular functions are MSO transductions |
| 7 | type: theorem |
| 8 | --- |
| 9 | Every regular function is defined by a string-to-string mso transduction |
| 10 | (Theorem C.4.8 of *Transducers*, Engelfriet–Hoogeboom, the implication from |
| 11 | regular to transduction). A regular function is computed by a two-way |
| 12 | transducer (Theorem C.2.9); the transduction's elements are the pairs of a |
| 13 | configuration of its run and an index into the output produced there, and all |
| 14 | its formulas — which configurations are reached, which letter is produced, which |
| 15 | of two configurations comes first — are regular properties of the input with |
| 16 | marked positions, hence mso-definable by Büchi's theorem. |
| 17 | |
| 18 | # Formalization notes |
| 19 | |
| 20 | Both alphabets are assumed finite, as in the book. |
| 21 | -/ |
| 22 | |
| 23 | namespace Lax314295.MSOTransductionOfRegular |
| 24 | |
| 25 | open Lax916827.RegularFunctions Lax314295.MSOTransductions |
| 26 | |
| 27 | /-- A regular function is defined by an mso transduction. -/ |
| 28 | axiom isMSOTransduction_of_isRegularFun {A B : Type} [Finite A] [Finite B] |
| 29 | {f : List A → List B} (hf : IsRegularFun f) : IsMSOTransduction f |
| 30 | |
| 31 | end Lax314295.MSOTransductionOfRegular |
| 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