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

Lax132576.PrimesOfRational

Rational functions decompose into prime rational functions

concepts/Lax132576/PrimesOfRational.lean · lax-132576

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 rational function is a composition of prime rational functions — prime Mealy machines, their right-to-left variants, string homomorphisms and the separator function ww#w \mapsto w\# (Theorem B.2.6 of Transducers, the implication ⇒). By Eilenberg's theorem the function is computed by a bimachine; one appends the separator, labels every position with the state of the prefix automaton (a Mealy machine, decomposed by the Krohn–Rhodes theorem) and with the state of the suffix automaton (a right-to-left Mealy machine, the state being stored one position to the right, which is what the separator is for), and a homomorphism produces the output of every gap.

    Lean source view on GitHub

    1import Lax132576.RationalFunctions
    2import Lax132576.PrimeRationalFunctions
    3
    4/-!
    5---
    6title: Rational functions decompose into prime rational functions
    7type: theorem
    8---
    9Every rational function is a composition of prime rational functions — prime
    10Mealy machines, their right-to-left variants, string homomorphisms and the
    11separator function ww#w \mapsto w\# (Theorem B.2.6 of *Transducers*, the
    12implication ⇒). By Eilenberg's theorem the function is computed by a
    13bimachine; one appends the separator, labels every position with the state of
    14the prefix automaton (a Mealy machine, decomposed by the Krohn–Rhodes theorem)
    15and with the state of the suffix automaton (a right-to-left Mealy machine, the
    16state being stored one position to the right, which is what the separator is
    17for), and a homomorphism produces the output of every gap.
    18
    19# Formalization notes
    20
    21The conclusion is membership in `CompClosure PrimeRationalFam`. Both alphabets
    22are assumed finite, as the Krohn–Rhodes decomposition of the two automata
    23needs.
    24-/
    25
    26namespace Lax132576.PrimesOfRational
    27
    28open Lax765601.CompositionClosure Lax132576.RationalFunctions Lax132576.PrimeRationalFunctions
    29
    30/-- A rational function is a composition of prime rational functions. -/
    31axiom compClosure_primeRational_of_isRationalFun {A B : Type} [Finite A] [Finite B]
    32 {f : List A → List B} (hf : IsRationalFun f) : CompClosure PrimeRationalFam A B f
    33
    34end Lax132576.PrimesOfRational
    35
    Show Proof

    Formalization notes

    The conclusion is membership in CompClosurePrimeRationalFamCompClosure PrimeRationalFam. Both alphabets are assumed finite, as the Krohn–Rhodes decomposition of the two automata needs.

    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…