Draft — mutable and not usable as a dependency; its citation marks the draft state.

Lax194892.PebbleOfFor

For-transducers are computed by pebble transducers

concepts/Lax194892/PebbleOfFor.lean · lax-194892

proven

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Concept map

    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Evidence

    Each proof establishes this claim relative to its assumptions.

    In the paper

    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

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

    Formalization notes

    Both alphabets are assumed finite, as in the book.

    Used by

    none

    From Mathlib

    none

    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

    Loading discussion…