For-transducers are computed by pebble transducers
Lax194892.PebbleOfFor · concepts/Lax194892/PebbleOfFor.lean · lax-194892
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
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.
Concept map
Evidence
Each proof establishes this claim relative to its assumptions.
In the paper
- page 168 of the paper of lax-157538, Transducers
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.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments