Matrix representations and the bounded residual rank ingredients
Lax342547.ResponseMatrices · concepts/Lax342547/ResponseMatrices.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Actual cut-profile functionals have component matrix representations. Projected forms descend through the actual barred nominal quotients, with a per-individual removal cost at most 2K+28. Baseline and derivative contractions have bounded rank, and the derivative product is a permitted pure quotient response. These ingredients give the paper residual matrix rank estimate before the remaining compression and channel realization.
Concept map
Evidence
This concept declares 19 statements. Each proof establishes one of them relative to its assumptions.
1 actual_pure_projection proven
2 ambient_matrix_representation proven
3 baseline_coordinate_rank proven
4 bounded_residual_rank proven
5 coefficients_product proven
6 coefficients_rank proven
7 comp_left_rank proven
8 comp_right_rank proven
9 extra_product_response proven
10 matrix_representation proven
11 projected_endpoint_response proven
12 projected_paired_response proven
13 projected_pin_key_dimension proven
14 projection_difference proven
15 projection_difference_rank proven
16 quotient_projection proven
17 rank_sub_le proven
18 restriction_rank proven
19 toMatrix_rank proven
Lean source view on GitHub
| 1 | import Lax342547.BoundedDerivatives |
| 2 | import Mathlib.LinearAlgebra.Matrix.Rank |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Matrix representations and the bounded residual rank ingredients |
| 7 | type: lemma |
| 8 | --- |
| 9 | Actual cut-profile functionals have component matrix representations. |
| 10 | Projected forms descend through the actual barred nominal quotients, with |
| 11 | a per-individual removal cost at most 2K+28. Baseline and derivative |
| 12 | contractions have bounded rank, and the derivative product is a permitted |
| 13 | pure quotient response. These ingredients give the paper residual matrix |
| 14 | rank estimate before the remaining compression and channel realization. |
| 15 | -/ |
| 16 | |
| 17 | namespace Lax342547.ResponseMatrices |
| 18 | |
| 19 | open Lax342547.MomentSpace Lax342547.ConcreteGeometry |
| 20 | open Lax342547.TensorContractions |
| 21 | open Lax342547.PairedAnnihilators Lax342547.TableSpaces |
| 22 | open Lax342547.ProjectedPins |
| 23 | open Lax342547.TagGeometry Lax342547.ConcreteCut Lax342547.PairedWitnesses Lax342547.CutProfiles |
| 24 | open Lax342547.ExactPins Lax342547.BarredSpaces |
| 25 | open Lax342547.DerivativeResponses Lax342547.ChannelChanges Lax342547.TableContractions |
| 26 | open Lax342547.NominalPrimal Lax342547.TensorAnnihilators |
| 27 | |
| 28 | noncomputable def coefficients {B H : Type} [Fintype B] [Fintype H] |
| 29 | (f g : (B → Binary) →ₗ[Binary] (H → Binary)) : Matrix B B Binary := by |
| 30 | classical |
| 31 | exact LinearMap.BilinForm.toMatrix' ((dotProductBilin Binary Binary).compl₁₂ f g) |
| 32 | |
| 33 | noncomputable def extraProduct {B H : Type} [Fintype H] |
| 34 | (D E : Submodule Binary (Nominal B H)) (S T : Submodule Binary (H → Binary)) |
| 35 | (δ : (Nominal B H ⧸ D) →ₗ[Binary] perpendicular S) |
| 36 | (ε : (Nominal B H ⧸ E) →ₗ[Binary] perpendicular T) : |
| 37 | (Nominal B H ⧸ D) →ₗ[Binary] (Nominal B H ⧸ E) →ₗ[Binary] Binary := |
| 38 | (dotProductBilin Binary Binary).compl₁₂ ((perpendicular S).subtype.comp δ) |
| 39 | ((perpendicular T).subtype.comp ε) |
| 40 | |
| 41 | noncomputable def residualCoefficients {B H : Type} [Fintype B] [Fintype H] |
| 42 | (M Q : Matrix B B Binary) (f g df dg : (B → Binary) →ₗ[Binary] (H → Binary)) : |
| 43 | Matrix B B Binary := |
| 44 | M - Q - coefficients f g - coefficients df g - coefficients f dg - coefficients df dg |
| 45 | |
| 46 | axiom coefficients_product {B H : Type} [Fintype B] [Fintype H] |
| 47 | (f g : (B → Binary) →ₗ[Binary] (H → Binary)) : by |
| 48 | classical |
| 49 | exact coefficients f g = (LinearMap.toMatrix' f).transpose * LinearMap.toMatrix' g |
| 50 | |
| 51 | axiom toMatrix_rank {B H : Type} [Fintype B] [Fintype H] |
| 52 | (f : (B → Binary) →ₗ[Binary] (H → Binary)) : by |
| 53 | classical |
| 54 | exact (LinearMap.toMatrix' f).rank = Module.finrank Binary (LinearMap.range f) |
| 55 | |
| 56 | axiom coefficients_rank {B H : Type} [Fintype B] [Fintype H] |
| 57 | (f g : (B → Binary) →ₗ[Binary] (H → Binary)) : |
| 58 | (coefficients f g).rank ≤ min (Module.finrank Binary (LinearMap.range f)) |
| 59 | (Module.finrank Binary (LinearMap.range g)) |
| 60 | |
| 61 | axiom projection_difference {B : Type} [Fintype B] [DecidableEq B] |
| 62 | (A M C : Matrix B B Binary) : |
| 63 | M - A.transpose * M * C = (1 - A).transpose * M + A.transpose * M * (1 - C) |
| 64 | |
| 65 | axiom projection_difference_rank {B : Type} [Fintype B] [DecidableEq B] |
| 66 | (A M C : Matrix B B Binary) : |
| 67 | (M - A.transpose * M * C).rank ≤ (1 - A).rank + (1 - C).rank |
| 68 | |
| 69 | axiom quotient_projection {B : Type} [Fintype B] |
| 70 | (S : Submodule Binary (B → Binary)) : by |
| 71 | classical |
| 72 | exact ∃ A : Matrix B B Binary, S ≤ LinearMap.ker A.mulVecLin ∧ |
| 73 | (1 - A).rank ≤ Module.finrank Binary S |
| 74 | |
| 75 | axiom projected_endpoint_response {B H : Type} [Fintype B] |
| 76 | (D E : Submodule Binary (Nominal B H)) (i : Fin 2) (M A C : Matrix B B Binary) |
| 77 | (hD : D.map (primalProjection i) ≤ LinearMap.ker A.mulVecLin) |
| 78 | (hE : E.map (primalProjection i) ≤ LinearMap.ker C.mulVecLin) : |
| 79 | ∃ β : (Nominal B H ⧸ D) →ₗ[Binary] (Nominal B H ⧸ E) →ₗ[Binary] Binary, |
| 80 | pureResponse D E β = (matrixPair (A.transpose * M * C)).comp (LinearMap.proj i) |
| 81 | |
| 82 | axiom projected_paired_response {B H : Type} [Fintype B] |
| 83 | (D E : Submodule Binary (Nominal B H)) (M A C : Fin 2 → Matrix B B Binary) |
| 84 | (hD : ∀ i, D.map (primalProjection i) ≤ LinearMap.ker (A i).mulVecLin) |
| 85 | (hE : ∀ i, E.map (primalProjection i) ≤ LinearMap.ker (C i).mulVecLin) : |
| 86 | ∃ β : (Nominal B H ⧸ D) →ₗ[Binary] (Nominal B H ⧸ E) →ₗ[Binary] Binary, |
| 87 | pureResponse D E β = ∑ i, (matrixPair ((A i).transpose * M i * C i)).comp (LinearMap.proj i) |
| 88 | |
| 89 | axiom projected_pin_key_dimension {k n b degree r K : ℕ} {hr : 2 * r ≤ n} |
| 90 | {H N : Type} [Fintype H] (W : Lists k n b degree r hr) |
| 91 | (P : Pin (Component (Tag k) × Bool) (Fin 2 × (Coordinate k n b degree ⊕ H)) N) |
| 92 | (hK : P.rank ≤ K) (i : Fin 2) (a : Component (Tag k) × Bool) : |
| 93 | Module.finrank Binary ↥(projected P i a ⊔ individualKeys W i a.1) ≤ K + 14 |
| 94 | |
| 95 | axiom actual_pure_projection {k n b degree r K : ℕ} {hr : 2 * r ≤ n} |
| 96 | {H N : Type} [Fintype H] (W : Lists k n b degree r hr) |
| 97 | (P : Pin (Component (Tag k) × Bool) (Fin 2 × (Coordinate k n b degree ⊕ H)) N) |
| 98 | (hK : P.rank ≤ K) (U V : Fin 2 → Submodule Binary (H → Binary)) |
| 99 | (e : Component (Tag k)) (M : Fin 2 → Moment k n b degree) : |
| 100 | ∃ (A C : Fin 2 → Moment k n b degree) |
| 101 | (β : (Nominal (Coordinate k n b degree) H ⧸ barred W P U (e, true)) →ₗ[Binary] |
| 102 | (Nominal (Coordinate k n b degree) H ⧸ barred W P V (e, false)) →ₗ[Binary] Binary), |
| 103 | pureResponse (barred W P U (e, true)) (barred W P V (e, false)) β = |
| 104 | ∑ i, (matrixPair ((A i).transpose * M i * C i)).comp (LinearMap.proj i) ∧ |
| 105 | ∀ i, (M i - (A i).transpose * M i * C i).rank ≤ 2 * K + 28 ∧ |
| 106 | ((A i).transpose * M i * C i).rank ≤ (M i).rank |
| 107 | |
| 108 | axiom ambient_matrix_representation {Comp B : Type} [Fintype Comp] [Fintype B] |
| 109 | (t : (Comp → Matrix B B Binary) →ₗ[Binary] Binary) : |
| 110 | ∃ M : Comp → Matrix B B Binary, ∀ x, t x = ∑ e, matrixPair (M e) (x e) |
| 111 | |
| 112 | axiom matrix_representation {Comp B : Type} [Fintype Comp] [Fintype B] |
| 113 | (X : Submodule Binary (Comp → Matrix B B Binary)) (t : X →ₗ[Binary] Binary) : |
| 114 | ∃ M : Comp → Matrix B B Binary, ∀ x : X, t x = ∑ e, matrixPair (M e) (x.val e) |
| 115 | |
| 116 | axiom comp_left_rank {A V X : Type} [AddCommGroup A] [Module Binary A] |
| 117 | [AddCommGroup V] [Module Binary V] [AddCommGroup X] [Module Binary X] |
| 118 | [FiniteDimensional Binary X] (f : A →ₗ[Binary] X) (g : V →ₗ[Binary] A) : |
| 119 | Module.finrank Binary (LinearMap.range (f.comp g)) ≤ Module.finrank Binary (LinearMap.range f) |
| 120 | |
| 121 | axiom comp_right_rank {A V X : Type} [AddCommGroup A] [Module Binary A] |
| 122 | [AddCommGroup V] [Module Binary V] [AddCommGroup X] [Module Binary X] |
| 123 | [FiniteDimensional Binary A] (f : A →ₗ[Binary] X) (g : V →ₗ[Binary] A) : |
| 124 | Module.finrank Binary (LinearMap.range (f.comp g)) ≤ Module.finrank Binary (LinearMap.range g) |
| 125 | |
| 126 | axiom restriction_rank {B H : Type} [Fintype B] [Fintype H] |
| 127 | (D : Submodule Binary (Nominal B H)) (S : Submodule Binary (H → Binary)) |
| 128 | (δ : (Nominal B H ⧸ D) →ₗ[Binary] perpendicular S) (i : Fin 2) : |
| 129 | Module.finrank Binary (LinearMap.range (restriction D S δ i)) ≤ |
| 130 | Module.finrank Binary (LinearMap.range δ) |
| 131 | |
| 132 | axiom baseline_coordinate_rank {Comp B H : Type} [Fintype B] [Fintype H] |
| 133 | (F : CrossForms Comp B H) (e : Comp) (z : Fin 2) (R : ℕ) |
| 134 | (hplus : Module.finrank Binary (LinearMap.range ((F.forward e).compl₁₂ |
| 135 | (primal (B := B) (H := H)).subtype (channelEmbedding z))) ≤ R) |
| 136 | (hminus : Module.finrank Binary (LinearMap.range ((F.reverse e).flip.compl₁₂ |
| 137 | (primal (B := B) (H := H)).subtype (channelEmbedding z))) ≤ R) : |
| 138 | ∀ i, Module.finrank Binary (LinearMap.range (fullPlus F e i z)) ≤ R ∧ |
| 139 | Module.finrank Binary (LinearMap.range (fullMinus F e i z)) ≤ R |
| 140 | |
| 141 | axiom extra_product_response {B H : Type} [Fintype B] [Fintype H] |
| 142 | (D E : Submodule Binary (Nominal B H)) (S T : Submodule Binary (H → Binary)) |
| 143 | (δ : (Nominal B H ⧸ D) →ₗ[Binary] perpendicular S) |
| 144 | (ε : (Nominal B H ⧸ E) →ₗ[Binary] perpendicular T) : |
| 145 | pureResponse D E (extraProduct D E S T δ ε) = |
| 146 | ∑ i, (matrixPair (coefficients (restriction D S δ i) (restriction E T ε i))).comp (LinearMap.proj i) |
| 147 | |
| 148 | axiom rank_sub_le {B : Type} [Fintype B] (M C : Matrix B B Binary) : |
| 149 | (M - C).rank ≤ M.rank + C.rank |
| 150 | |
| 151 | axiom bounded_residual_rank {B H : Type} [Fintype B] [Fintype H] (K : ℕ) |
| 152 | (M Q : Matrix B B Binary) (hM : (M - Q).rank ≤ 2 * K + 28) |
| 153 | (f g df dg : (B → Binary) →ₗ[Binary] (H → Binary)) |
| 154 | (hf : Module.finrank Binary (LinearMap.range f) ≤ 3 * K + 28) |
| 155 | (hdf : Module.finrank Binary (LinearMap.range df) ≤ 3 * K + 28) : |
| 156 | (residualCoefficients M Q f g df dg).rank ≤ 14 * K + 140 |
| 157 | |
| 158 | end Lax342547.ResponseMatrices |
| 159 |
Builds on
From Mathlib
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments