Lax916827.TwoWayOfRegular
Every regular function is computed by a two-way transducer
concepts/Lax916827/TwoWayOfRegular.lean · lax-916827
No public endorsements yet.
Loading review…
Sign in with ORCIDConcept map
In the paper
- page 97 of the paper of lax-157538, Transducers
Theorem
Every regular function is computed by a two-way transducer (Corollary C.2.8 of Transducers). Two-way transducers are closed under composition (Theorem C.2.5) and contain the rational functions (Corollary C.2.7), and map reverse and map duplicate are computed by explicit two-way transducers that sweep each block backwards, respectively twice.
Lean source view on GitHub
| 1 | import Lax916827.RegularFunctions |
| 2 | import Lax916827.TwoWayTransducers |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Every regular function is computed by a two-way transducer |
| 7 | type: theorem |
| 8 | --- |
| 9 | Every regular function is computed by a two-way transducer (Corollary C.2.8 of |
| 10 | *Transducers*). Two-way transducers are closed under composition (Theorem |
| 11 | C.2.5) and contain the rational functions (Corollary C.2.7), and map reverse |
| 12 | and map duplicate are computed by explicit two-way transducers that sweep each |
| 13 | block backwards, respectively twice. |
| 14 | |
| 15 | # Formalization notes |
| 16 | |
| 17 | Both alphabets are assumed finite; the induction on the composition tree uses |
| 18 | the finiteness of the intermediate alphabets built into the closure. |
| 19 | -/ |
| 20 | |
| 21 | namespace Lax916827.TwoWayOfRegular |
| 22 | |
| 23 | open Lax916827.RegularFunctions Lax916827.TwoWayTransducers |
| 24 | |
| 25 | /-- A regular function is computed by a two-way transducer. -/ |
| 26 | axiom isTwoWay_of_isRegularFun {A B : Type} [Finite A] [Finite B] {f : List A → List B} |
| 27 | (hf : IsRegularFun f) : IsTwoWay f |
| 28 | |
| 29 | end Lax916827.TwoWayOfRegular |
| 30 |
Formalization notes
Both alphabets are assumed finite; the induction on the composition tree uses the finiteness of the intermediate alphabets built into the closure.
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