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

Joint-injectivity loss for two actual reference batches

Lax342547.JointGramInjection · concepts/Lax342547/JointGramInjection.lean · lax-342547

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

    Concatenating both column lists turns the ambient reference experiment into a uniform matrix pair. The separate Gram-orbit caps transfer column failure to the actual product law; Fourier normalization also bounds that loss after conditioning on reciprocal Gram entries.

    Concept map
    19 concepts
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on ADescendants are omitted for concepts with more than 10 descendants.
    Evidence

    This concept declares 3 statements. Each proof establishes one of them relative to its assumptions.

    Lean source view on GitHub

    1import Lax342547.GramOrbitDensity
    2
    3/-!
    4---
    5title: Joint-injectivity loss for two actual reference batches
    6type: lemma
    7---
    8Concatenating both column lists turns the ambient reference experiment into
    9a uniform matrix pair. The separate Gram-orbit caps transfer column failure
    10to the actual product law; Fourier normalization also bounds that loss after
    11conditioning on reciprocal Gram entries.
    12-/
    13
    14namespace Lax342547.JointGramInjection
    15noncomputable section
    16open Lax342547.MomentSpace Lax342547.FrameTuples Lax342547.RealCellLaws
    17open Lax342547.GramOrbitDensity Lax342547.RetainedImages
    18open scoped BigOperators ENNReal
    19
    20variable {I J K L N : Type} [Fintype I] [Fintype J] [Fintype K] [Fintype L] [Fintype N]
    21 [DecidableEq I] [DecidableEq J] [DecidableEq K] [DecidableEq L] [DecidableEq N]
    22
    23def ambientEquiv :
    24 ((N × (I ⊕ J) → Binary) × (N × (K ⊕ L) → Binary)) ≃
    25 (Matrix N (I ⊕ K) Binary × Matrix N (J ⊕ L) Binary) where
    26 toFun z := (Matrix.fromCols (batchEquiv.symm z.1).1 (batchEquiv.symm z.2).1,
    27 Matrix.fromCols (batchEquiv.symm z.1).2 (batchEquiv.symm z.2).2)
    28 invFun z := (batchEquiv (z.1.submatrix id Sum.inl,z.2.submatrix id Sum.inl),
    29 batchEquiv (z.1.submatrix id Sum.inr,z.2.submatrix id Sum.inr))
    30 left_inv z := by apply Prod.ext <;> funext (n,s) <;> cases s <;> rfl
    31 right_inv z := by apply Prod.ext <;> ext n (i | k) <;> rfl
    32
    33def Good (z : (N × (I ⊕ J) → Binary) × (N × (K ⊕ L) → Binary)) :=
    34 Function.Injective (ambientEquiv z).1.mulVec ∧ Function.Injective (ambientEquiv z).2.mulVec
    35
    36axiom ambient_failure [DecidableEq I] [DecidableEq J] [DecidableEq K] [DecidableEq L] [DecidableEq N] :
    37 (PMF.uniformOfFintype ((N × (I ⊕ J) → Binary) × (N × (K ⊕ L) → Binary))).toOuterMeasure
    38 {z | ¬ Good z} ≤
    39 ((2 : ℝ≥0∞)^(Fintype.card I+Fintype.card K)+(2 : ℝ≥0∞)^(Fintype.card J+Fintype.card L))/
    40 (2 : ℝ≥0∞)^Fintype.card N
    41
    42axiom reference_failure [DecidableEq I] [DecidableEq J] [DecidableEq K] [DecidableEq L] [DecidableEq N] (G : Matrix I J Binary) (H : Matrix K L Binary)
    43 [Nonempty (Orbit N G)] [Nonempty (Orbit N H)]
    44 (hN₁ : Fintype.card I+Fintype.card J+1 ≤ Fintype.card N)
    45 (hN₂ : Fintype.card K+Fintype.card L+1 ≤ Fintype.card N) :
    46 cellMass (fun z : (N × (I ⊕ J) → Binary) × (N × (K ⊕ L) → Binary) =>
    47 batchLaw (N := N) G z.1*batchLaw (N := N) H z.2) (fun z => ¬ Good z) ≤
    48 ((2 : ℝ)^(Fintype.card I*Fintype.card J+2))*
    49 ((2 : ℝ)^(Fintype.card K*Fintype.card L+2))*
    50 (((2 : ℝ)^(Fintype.card I+Fintype.card K)+(2 : ℝ)^(Fintype.card J+Fintype.card L))/
    51 (2 : ℝ)^Fintype.card N)
    52
    53axiom conditioned_reference_failure {I J K L : Type} [Fintype I] [Fintype J]
    54 [Fintype K] [Fintype L] [DecidableEq I] [DecidableEq J] [DecidableEq K] [DecidableEq L]
    55 (n : ℕ) (G : Matrix I J Binary) (H : Matrix K L Binary)
    56 [Nonempty (Orbit (Fin n) G)] [Nonempty (Orbit (Fin n) H)]
    57 (target : Lax342547.CrossGramBasis.Slots I J K L → Binary)
    58 (hN₁ : Fintype.card I+Fintype.card J+1 ≤ n)
    59 (hN₂ : Fintype.card K+Fintype.card L+1 ≤ n)
    60 (hsmall : ((2 : ℝ)^(Fintype.card I*Fintype.card J+2))*
    61 ((2 : ℝ)^(Fintype.card K*Fintype.card L+2))/Real.sqrt ((2 : ℝ)^n) ≤
    62 1/(2 : ℝ)^(Fintype.card (Lax342547.CrossGramBasis.Slots I J K L)+1)) :
    63 cellMass (fun z : (Fin n × (I ⊕ J) → Binary) × (Fin n × (K ⊕ L) → Binary) =>
    64 batchLaw G z.1*batchLaw H z.2)
    65 (fun z => Lax342547.CrossBatchMixing.crossBits Lax342547.CrossGramBasis.tests n z = target ∧ ¬ Good z)/
    66 Lax342547.FourierTests.patternMass (fun z => batchLaw G z.1*batchLaw H z.2)
    67 (Lax342547.CrossBatchMixing.crossBits Lax342547.CrossGramBasis.tests n) target ≤
    68 (2 : ℝ)^(Fintype.card (Lax342547.CrossGramBasis.Slots I J K L)+1)*
    69 (((2 : ℝ)^(Fintype.card I*Fintype.card J+2))*
    70 ((2 : ℝ)^(Fintype.card K*Fintype.card L+2))*
    71 (((2 : ℝ)^(Fintype.card I+Fintype.card K)+(2 : ℝ)^(Fintype.card J+Fintype.card L))/(2 : ℝ)^n))
    72
    73end
    74end Lax342547.JointGramInjection
    75
    Show ProofShow ProofShow Proof
    Builds on
    Used by
    From Mathlib

    none

    Discussion

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

    Loading discussion…