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

Lax916827.TwoWayOfRegular

Every regular function is computed by a two-way transducer

concepts/Lax916827/TwoWayOfRegular.lean · lax-916827

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 regular function is computed by a two-way transducer (Corollary C.2.8 of Transducers). Two-way transducers are closed under composition (Theorem C.2.5) and contain the rational functions (Corollary C.2.7), and map reverse and map duplicate are computed by explicit two-way transducers that sweep each block backwards, respectively twice.

    Lean source view on GitHub

    1import Lax916827.RegularFunctions
    2import Lax916827.TwoWayTransducers
    3
    4/-!
    5---
    6title: Every regular function is computed by a two-way transducer
    7type: theorem
    8---
    9Every regular function is computed by a two-way transducer (Corollary C.2.8 of
    10*Transducers*). Two-way transducers are closed under composition (Theorem
    11C.2.5) and contain the rational functions (Corollary C.2.7), and map reverse
    12and map duplicate are computed by explicit two-way transducers that sweep each
    13block backwards, respectively twice.
    14
    15# Formalization notes
    16
    17Both alphabets are assumed finite; the induction on the composition tree uses
    18the finiteness of the intermediate alphabets built into the closure.
    19-/
    20
    21namespace Lax916827.TwoWayOfRegular
    22
    23open Lax916827.RegularFunctions Lax916827.TwoWayTransducers
    24
    25/-- A regular function is computed by a two-way transducer. -/
    26axiom isTwoWay_of_isRegularFun {A B : Type} [Finite A] [Finite B] {f : List A → List B}
    27 (hf : IsRegularFun f) : IsTwoWay f
    28
    29end Lax916827.TwoWayOfRegular
    30
    Show Proof

    Formalization notes

    Both alphabets are assumed finite; the induction on the composition tree uses the finiteness of the intermediate alphabets built into the closure.

    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…