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

Reduction to nonempty summands

Lax149335.NonemptyReduction · concepts/Lax149335/NonemptyReduction.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

    Lemma

    Lemma 6.5. In the situation of Lemma 6.4, one can further assume without loss of generality that all the terms fif_i and gig_i are nonempty.

    Concept map
    7 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.GuardedTerms
    2
    3/-!
    4---
    5title: Reduction to nonempty summands
    6type: lemma
    7---
    8**Lemma 6.5.** In the situation of Lemma 6.4, one can further assume without loss of
    9generality that all the terms fif_i and gig_i are nonempty.
    10
    11# Formalization notes
    12
    13As for Lemma 6.4, the statement is a reduction: if the conjugacy rule holds for co-pairings
    14of kk-guarded nonempty terms whose input type has list nesting depth at most DD, then it
    15holds for all co-pairings of kk-guarded terms whose input type has list nesting depth at
    16most DD. The assumption that BB is a finite alphabet is not needed.
    17-/
    18
    19namespace Lax149335.NonemptyReduction
    20
    21open Lax149335.Types Lax149335.Terms Lax149335.DerivedTerms Lax149335.DerivedTerms.Term
    22 Lax149335.EquationalTheory Lax149335.SimpleRationalWithinSyntax Lax149335.GuardedTerms
    23
    24/-- **Lemma 6.5.** The conjugacy rule for co-pairings of `k`-guarded terms follows from the
    25conjugacy rule for co-pairings of `k`-guarded nonempty terms. -/
    26axiom wlog_nonempty {B : Ty} (w : Value B⋆) (hw : 0 < valLength w) (D : ℕ)
    27 (H : ∀ (A₀ : Ty) (As : List Ty) (f₀ g₀ : Term A₀ B⋆) (fs gs : Cases B⋆ As),
    28 Ty.listDepth (sumTyOf A₀ As) ≤ D →
    29 KGuarded (valLength w) B f₀ → KGuarded (valLength w) B g₀ →
    30 fs.All (fun _ f => KGuarded (valLength w) B f) →
    31 gs.All (fun _ g => KGuarded (valLength w) B g) →
    32 NonemptyOutput f₀ → NonemptyOutput g₀ →
    33 fs.All (fun _ f => NonemptyOutput f) → gs.All (fun _ g => NonemptyOutput g) →
    34 dotR (copair f₀ fs) w ≡ₜ dotL w (copair g₀ gs) →
    35 dotR (homT (copair f₀ fs)) w ≡ₜ dotL w (homT (copair g₀ gs)))
    36 (A₀ : Ty) (As : List Ty) (f₀ g₀ : Term A₀ B⋆) (fs gs : Cases B⋆ As)
    37 (hD : Ty.listDepth (sumTyOf A₀ As) ≤ D)
    38 (hf₀ : KGuarded (valLength w) B f₀) (hg₀ : KGuarded (valLength w) B g₀)
    39 (hfs : fs.All (fun _ f => KGuarded (valLength w) B f))
    40 (hgs : gs.All (fun _ g => KGuarded (valLength w) B g))
    41 (hfg : dotR (copair f₀ fs) w ≡ₜ dotL w (copair g₀ gs)) :
    42 dotR (homT (copair f₀ fs)) w ≡ₜ dotL w (homT (copair g₀ gs))
    43
    44end Lax149335.NonemptyReduction
    45
    Show Proof
    Formalization notes

    As for Lemma 6.4, the statement is a reduction: if the conjugacy rule holds for co-pairings of kk-guarded nonempty terms whose input type has list nesting depth at most DD, then it holds for all co-pairings of kk-guarded terms whose input type has list nesting depth at most DD. The assumption that BB is a finite alphabet is not needed.

    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…