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

Lax194892.ForOfPolyregular

Polyregular functions are computed by for-transducers

concepts/Lax194892/ForOfPolyregular.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 polyregular function is computed by a for-transducer (Theorem D.1.1 of Transducers, the implication from polyregular to for-transducer): marked squaring is two nested loops, a regular function is computed by a two-way transducer whose run a for-transducer replays, and for-transducers are closed under composition (Lemma D.1.4).

    Lean source view on GitHub

    1import Lax194892.PolyregularFunctions
    2import Lax194892.ForTransducers
    3
    4/-!
    5---
    6title: Polyregular functions are computed by for-transducers
    7type: theorem
    8---
    9Every polyregular function is computed by a for-transducer (Theorem D.1.1 of
    10*Transducers*, the implication from polyregular to for-transducer): marked
    11squaring is two nested loops, a regular function is computed by a two-way
    12transducer whose run a for-transducer replays, and for-transducers are closed
    13under composition (Lemma D.1.4).
    14
    15# Formalization notes
    16
    17Both alphabets are assumed finite, as in the book.
    18-/
    19
    20namespace Lax194892.ForOfPolyregular
    21
    22open Lax194892.PolyregularFunctions Lax194892.ForTransducers
    23
    24/-- A polyregular function is computed by a for-transducer. -/
    25axiom isForTransducer_of_isPolyregular {A B : Type} [Finite A] [Finite B]
    26 {f : List A → List B} (hf : IsPolyregular f) : IsForTransducer f
    27
    28end Lax194892.ForOfPolyregular
    29
    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…