While this submission is a draft, it cannot be used by other submissions.

Simplification of rational terms

Lax149335.Simplification · concepts/Lax149335/Simplification.lean · lax-149335

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.

    Natural Language Statement

    Theorem

    Theorem 2.9 (Simplification of rational terms). Consider rational terms f,g:N∗→M∗f, g : N^* \to M^* where NN and MM are finite alphabets. There is a type CC and a rational term π:C→N∗\pi : C \to N^* with surjective denotation, such that [ ⁣[π;f] ⁣][\![ \pi \mathbin{;} f ]\!] and [ ⁣[π;g] ⁣][\![ \pi \mathbin{;} g ]\!] are represented by simple rational terms.

    Concept map
    4 concepts
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A
    Evidence

    Each proof establishes this claim relative to its assumptions.

    Lean source view on GitHub

    1import Lax149335.SimpleRationalTerms
    2import Lax149335.Terms
    3
    4/-!
    5---
    6title: Simplification of rational terms
    7type: theorem
    8---
    9**Theorem 2.9 (Simplification of rational terms).** Consider rational terms
    10f,g:N∗→M∗f, g : N^* \to M^* where NN and MM are finite alphabets. There is a type CC and a
    11rational term π:C→N∗\pi : C \to N^* with surjective denotation, such that
    12[ ⁣[π;f] ⁣][\![ \pi \mathbin{;} f ]\!] and [ ⁣[π;g] ⁣][\![ \pi \mathbin{;} g ]\!] are represented by simple
    13rational terms.
    14
    15# Formalization notes
    16
    17"Represented by a simple rational term" refers to the simple rational terms of
    18Definition 2.5, with output alphabet the set of letters of MM.
    19-/
    20
    21namespace Lax149335.Simplification
    22
    23open Lax149335.Types Lax149335.Terms Lax149335.SimpleRationalTerms
    24
    25/-- **Theorem 2.9.** After precomposing with a rational term with surjective denotation, two
    26rational terms `N* → M*` are represented by simple rational terms. -/
    27axiom simplification_of_rational_terms {N M : Ty} (hN : Ty.IsFinAlph N)
    28 (hM : Ty.IsFinAlph M) (f g : Term N⋆ M⋆) :
    29 ∃ (C : Ty) (π : Term C N⋆), Function.Surjective π.den ∧
    30 SimpleTerm.IsSimpleFun (Bs := ⟦M⟧) (π ⨟ f).den ∧
    31 SimpleTerm.IsSimpleFun (Bs := ⟦M⟧) (π ⨟ g).den
    32
    33end Lax149335.Simplification
    34
    Show Proof
    Formalization notes

    "Represented by a simple rational term" refers to the simple rational terms of Definition 2.5, with output alphabet the set of letters of MM.

    Builds on
    Used by

    none

    From Mathlib

    none

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…