Lax194892.ForOfPebble
Pebble transducers are computed by for-transducers
concepts/Lax194892/ForOfPebble.lean · lax-194892
No public endorsements yet.
Loading review…
Sign in with ORCIDConcept map
Evidence
Each proof establishes this claim relative to its assumptions.
In the paper
- page 168 of the paper of lax-157538, Transducers
Theorem
Every function computed by a pebble transducer is computed by a for-transducer (Theorem D.2.4 of Transducers, the implication from pebble to for-transducer). The run is organised as a tree of configurations; the children of a configuration are produced by a for-transducer (Lemma D.2.5), and iterating this over the height of the stack, with the output letters read off the leaves, gives a polyregular function, hence a for-transducer.
Lean source view on GitHub
| 1 | import Lax194892.PebbleTransducers |
| 2 | import Lax194892.ForTransducers |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Pebble transducers are computed by for-transducers |
| 7 | type: theorem |
| 8 | --- |
| 9 | Every function computed by a pebble transducer is computed by a |
| 10 | for-transducer (Theorem D.2.4 of *Transducers*, the implication from pebble to |
| 11 | for-transducer). The run is organised as a tree of configurations; the |
| 12 | children of a configuration are produced by a for-transducer (Lemma D.2.5), and |
| 13 | iterating this over the height of the stack, with the output letters read off |
| 14 | the leaves, gives a polyregular function, hence a for-transducer. |
| 15 | |
| 16 | # Formalization notes |
| 17 | |
| 18 | Both alphabets are assumed finite, as in the book. The formal proof goes through |
| 19 | polyregularity by an induction on the number of pebbles rather than through |
| 20 | Lemma D.2.5. |
| 21 | -/ |
| 22 | |
| 23 | namespace Lax194892.ForOfPebble |
| 24 | |
| 25 | open Lax194892.PebbleTransducers Lax194892.ForTransducers |
| 26 | |
| 27 | /-- A function computed by a pebble transducer is computed by a for-transducer. -/ |
| 28 | axiom isForTransducer_of_isPebbleTransducer {A B : Type} [Finite A] [Finite B] |
| 29 | {f : List A → List B} (hf : IsPebbleTransducer f) : IsForTransducer f |
| 30 | |
| 31 | end Lax194892.ForOfPebble |
| 32 |
Formalization notes
Both alphabets are assumed finite, as in the book. The formal proof goes through polyregularity by an induction on the number of pebbles rather than through Lemma D.2.5.
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