Lax194892.PebbleOfFor
For-transducers are computed by pebble transducers
concepts/Lax194892/PebbleOfFor.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 for-transducer is computed by a pebble transducer (Theorem D.2.4 of Transducers, the implication from for-transducer to pebble). In prenex form the loop variables are pushed as pebbles, in the order of the loops; the loop-free body is evaluated by a one-way pass with the pebbles in place, since it can only compare positions, read letters and read Boolean variables, which the state carries.
Lean source view on GitHub
| 1 | import Lax194892.PebbleTransducers |
| 2 | import Lax194892.ForTransducers |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: For-transducers are computed by pebble transducers |
| 7 | type: theorem |
| 8 | --- |
| 9 | Every function computed by a for-transducer is computed by a pebble |
| 10 | transducer (Theorem D.2.4 of *Transducers*, the implication from for-transducer |
| 11 | to pebble). In prenex form the loop variables are pushed as pebbles, in the |
| 12 | order of the loops; the loop-free body is evaluated by a one-way pass with the |
| 13 | pebbles in place, since it can only compare positions, read letters and read |
| 14 | Boolean variables, which the state carries. |
| 15 | |
| 16 | # Formalization notes |
| 17 | |
| 18 | Both alphabets are assumed finite, as in the book. |
| 19 | -/ |
| 20 | |
| 21 | namespace Lax194892.PebbleOfFor |
| 22 | |
| 23 | open Lax194892.PebbleTransducers Lax194892.ForTransducers |
| 24 | |
| 25 | /-- A function computed by a for-transducer is computed by a pebble transducer. -/ |
| 26 | axiom isPebbleTransducer_of_isForTransducer {A B : Type} [Finite A] [Finite B] |
| 27 | {f : List A → List B} (hf : IsForTransducer f) : IsPebbleTransducer f |
| 28 | |
| 29 | end Lax194892.PebbleOfFor |
| 30 |
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