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

Lax194892.ForComposition

For-transducers are closed under composition

concepts/Lax194892/ForComposition.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

    The functions computed by for-transducers are closed under composition (Lemma D.1.4 of Transducers). The second program is run on the output of the first, in prenex form: an output position of the first program is a tuple of loop variables of its prenex form, so a loop of the second program over output positions becomes a block of loops over input positions, and its tests on output letters become the loop-free body of the first program.

    Lean source view on GitHub

    1import Lax194892.ForTransducers
    2
    3/-!
    4---
    5title: For-transducers are closed under composition
    6type: theorem
    7---
    8The functions computed by for-transducers are closed under composition
    9(Lemma D.1.4 of *Transducers*). The second program is run on the output of the
    10first, in prenex form: an output position of the first program is a tuple of
    11loop variables of its prenex form, so a loop of the second program over output
    12positions becomes a block of loops over input positions, and its tests on
    13output letters become the loop-free body of the first program.
    14
    15# Formalization notes
    16
    17Stated over any alphabets.
    18-/
    19
    20namespace Lax194892.ForComposition
    21
    22open Lax194892.ForTransducers
    23
    24/-- The composition of two functions computed by for-transducers is computed by a
    25for-transducer. -/
    26axiom isForTransducer_comp {A B C : Type} {f : List A → List B} {g : List B → List C}
    27 (hf : IsForTransducer f) (hg : IsForTransducer g) : IsForTransducer (g ∘ f)
    28
    29end Lax194892.ForComposition
    30
    Show Proof

    Formalization notes

    Stated over any alphabets.

    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…