Simultaneous scalar Gram agreement across components
Lax342547.ComponentTests · concepts/Lax342547/ComponentTests.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
A complete scalar test family expands to componentwise coefficient characters. Joint retained-cell image caps and frozen agreement imply simultaneous equality at cost two to the number of tests plus one.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax342547.ComponentCharacters |
| 2 | import Lax342547.ScalarGramAgreement |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Simultaneous scalar Gram agreement across components |
| 7 | type: lemma |
| 8 | --- |
| 9 | A complete scalar test family expands to componentwise coefficient characters. Joint retained-cell image caps and frozen agreement imply simultaneous equality at cost two to the number of tests plus one. |
| 10 | -/ |
| 11 | |
| 12 | namespace Lax342547.ComponentTests |
| 13 | |
| 14 | open Lax342547.MomentSpace Lax342547.Walsh Lax342547.ConcreteGeometry |
| 15 | open Lax342547.CoefficientPhase Lax342547.PushforwardWalsh Lax342547.RetainedCharacters |
| 16 | open Lax342547.ComponentCharacters Lax342547.FourierTests |
| 17 | |
| 18 | noncomputable def coefficient {Axis S : Type} {I : Axis → Type} [Fintype S] |
| 19 | (tests : S → ∀ a, Matrix (I a) (I a) Binary) (t : S → Binary) |
| 20 | (a : Axis) : Matrix (I a) (I a) Binary := ∑ s, t s • tests s a |
| 21 | |
| 22 | noncomputable def actualBits {Axis S N : Type} {I : Axis → Type} |
| 23 | [Fintype Axis] [Fintype N] [∀ a, Fintype (I a)] |
| 24 | (tests : S → ∀ a, Matrix (I a) (I a) Binary) |
| 25 | (X Y : ∀ a, Matrix N (I a) Binary) : S → Binary := |
| 26 | fun s => ∑ a, coefficientPair (tests s a) (X a) (Y a) |
| 27 | |
| 28 | noncomputable def targetBits {Axis S : Type} {I : Axis → Type} |
| 29 | [Fintype Axis] [∀ a, Fintype (I a)] |
| 30 | (tests : S → ∀ a, Matrix (I a) (I a) Binary) |
| 31 | (T : ∀ a, LinearMap.BilinForm Binary (I a → Binary)) : S → Binary := by |
| 32 | classical |
| 33 | exact fun s => ∑ a, matrixPair (LinearMap.BilinForm.toMatrix' (T a)) (tests s a) |
| 34 | |
| 35 | axiom coefficient_character {Axis S N : Type} {I : Axis → Type} |
| 36 | [Fintype Axis] [Fintype S] [Fintype N] [∀ a, Fintype (I a)] |
| 37 | (tests : S → ∀ a, Matrix (I a) (I a) Binary) (t : S → Binary) |
| 38 | (X Y : ∀ a, Matrix N (I a) Binary) |
| 39 | (T : ∀ a, LinearMap.BilinForm Binary (I a → Binary)) : by |
| 40 | classical |
| 41 | exact phase t (actualBits tests X Y) * phase t (targetBits tests T) = |
| 42 | sign (∑ a, (coefficientPair (coefficient tests t a) (X a) (Y a) + |
| 43 | matrixPair (LinearMap.BilinForm.toMatrix' (T a)) (coefficient tests t a))) |
| 44 | |
| 45 | axiom component_scalar_agreement {ΩA ΩB Axis N : Type} {I : Axis → Type} {S : Type} |
| 46 | [Fintype S] [Fintype ΩA] [Fintype ΩB] [Fintype Axis] [Fintype N] [∀ a, Fintype (I a)] |
| 47 | (α : ΩA → ℝ) (β : ΩB → ℝ) |
| 48 | (X : ΩA → ∀ a, Matrix N (I a) Binary) (Y : ΩB → ∀ a, Matrix N (I a) Binary) |
| 49 | (D E : ∀ a, Submodule Binary (I a → Binary)) |
| 50 | (T : ∀ a, LinearMap.BilinForm Binary (I a → Binary)) |
| 51 | (hα : ∀ x, 0 ≤ α x) (hβ : ∀ y, 0 ≤ β y) |
| 52 | (hαsum : ∑ x, α x = 1) (hβsum : ∑ y, β y = 1) |
| 53 | (hD : ∀ x y a v, v ∈ D a → ∀ w, actualForm (X x a) (Y y a) v w = T a v w) |
| 54 | (hE : ∀ x y a v w, w ∈ E a → actualForm (X x a) (Y y a) v w = T a v w) |
| 55 | (hcapA : ∀ (r : Axis → ℕ) (A : ∀ a, Matrix (I a) (Fin (r a)) Binary), |
| 56 | (∀ a, Function.Injective ((D a).mkQ.comp (A a).mulVecLin)) → |
| 57 | ∀ x, push α (fun ω => blockImage A (X ω)) x ≤ |
| 58 | (2 : ℝ)^(-(95/100 : ℝ)*((∑ a, r a)*Fintype.card N))) |
| 59 | (hcapB : ∀ (r : Axis → ℕ) (B : ∀ a, Matrix (I a) (Fin (r a)) Binary), |
| 60 | (∀ a, Function.Injective ((E a).mkQ.comp (B a).mulVecLin)) → |
| 61 | ∀ y, push β (fun ω => blockImage B (Y ω)) y ≤ |
| 62 | (2 : ℝ)^(-(95/100 : ℝ)*((∑ a, r a)*Fintype.card N))) |
| 63 | (tests : S → ∀ a, Matrix (I a) (I a) Binary) |
| 64 | (hsmall : (2 : ℝ)^(-(45/100 : ℝ)*Fintype.card N) ≤ |
| 65 | 1 / (2 : ℝ)^(Fintype.card S + 1)) : |
| 66 | 1 / (2 : ℝ)^(Fintype.card S + 1) ≤ |
| 67 | patternMass (fun ab : ΩA × ΩB => α ab.1 * β ab.2) |
| 68 | (fun ab => actualBits tests (X ab.1) (Y ab.2)) (targetBits tests T) |
| 69 | |
| 70 | end Lax342547.ComponentTests |
| 71 |
Used by
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments