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

Lax916827.TwoWayIffRegular

Two-way transducers compute exactly the regular functions

concepts/Lax916827/TwoWayIffRegular.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

    A string-to-string function is computed by a two-way transducer if and only if it is regular (Theorem C.2.9 of Transducers). The two implications are the separate statements TwoWayOfRegularTwoWayOfRegular (Corollary C.2.8) and RegularOfTwoWayRegularOfTwoWay (the decomposition into primes through the snake lemma); this statement is their conjunction.

    Lean source view on GitHub

    1import Lax916827.RegularFunctions
    2import Lax916827.TwoWayTransducers
    3
    4/-!
    5---
    6title: Two-way transducers compute exactly the regular functions
    7type: theorem
    8---
    9A string-to-string function is computed by a two-way transducer if and only if
    10it is regular (Theorem C.2.9 of *Transducers*). The two implications are the
    11separate statements `TwoWayOfRegular` (Corollary C.2.8) and `RegularOfTwoWay`
    12(the decomposition into primes through the snake lemma); this statement is
    13their conjunction.
    14
    15# Formalization notes
    16
    17Both alphabets are assumed finite.
    18-/
    19
    20namespace Lax916827.TwoWayIffRegular
    21
    22open Lax916827.RegularFunctions Lax916827.TwoWayTransducers
    23
    24/-- A function is computed by a two-way transducer if and only if it is regular. -/
    25axiom isTwoWay_iff_isRegularFun {A B : Type} [Finite A] [Finite B] (f : List A → List B) :
    26 IsTwoWay f ↔ IsRegularFun f
    27
    28end Lax916827.TwoWayIffRegular
    29
    Show Proof

    Formalization notes

    Both alphabets are assumed finite.

    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…