Joint-injectivity loss for two actual reference batches
Lax342547.JointGramInjection · concepts/Lax342547/JointGramInjection.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural 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
Evidence
This concept declares 3 statements. Each proof establishes one of them relative to its assumptions.
1 ambient_failure proven
2 conditioned_reference_failure proven
3 reference_failure proven
Lean source view on GitHub
| 1 | import Lax342547.GramOrbitDensity |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Joint-injectivity loss for two actual reference batches |
| 6 | type: lemma |
| 7 | --- |
| 8 | Concatenating both column lists turns the ambient reference experiment into |
| 9 | a uniform matrix pair. The separate Gram-orbit caps transfer column failure |
| 10 | to the actual product law; Fourier normalization also bounds that loss after |
| 11 | conditioning on reciprocal Gram entries. |
| 12 | -/ |
| 13 | |
| 14 | namespace Lax342547.JointGramInjection |
| 15 | noncomputable section |
| 16 | open Lax342547.MomentSpace Lax342547.FrameTuples Lax342547.RealCellLaws |
| 17 | open Lax342547.GramOrbitDensity Lax342547.RetainedImages |
| 18 | open scoped BigOperators ENNReal |
| 19 | |
| 20 | variable {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 | |
| 23 | def 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 | |
| 33 | def Good (z : (N × (I ⊕ J) → Binary) × (N × (K ⊕ L) → Binary)) := |
| 34 | Function.Injective (ambientEquiv z).1.mulVec ∧ Function.Injective (ambientEquiv z).2.mulVec |
| 35 | |
| 36 | axiom 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 | |
| 42 | axiom 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 | |
| 53 | axiom 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 | |
| 73 | end |
| 74 | end Lax342547.JointGramInjection |
| 75 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments