Small affine slices force global cross-coefficient rank
Lax342547.SmallSliceRank · concepts/Lax342547/SmallSliceRank.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Every matrix rank has a witness on actual coordinate rows and columns. A sum of s affine products has a cross-coefficient matrix of rank at most 2s. The same bound on every (2s+1)-square coordinate slice forces the global bound. Summed predictor parity then contradicts an identity matrix larger than the sum of these ranks. This is the deterministic conclusion of Lemma 9.5.
Concept map
Evidence
This concept declares 8 statements. Each proof establishes one of them relative to its assumptions.
1 cross_affine_product proven
2 cross_products_rank proven
3 cross_rank_of_products proven
4 independent_column_selection proven
5 parity_rank_contradiction proven
6 rank_from_local_products proven
7 rank_le_of_small_slices proven
8 rank_witness proven
Lean source view on GitHub
| 1 | import Lax342547.RankedProjection |
| 2 | import Mathlib.LinearAlgebra.Dimension.StrongRankCondition |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Small affine slices force global cross-coefficient rank |
| 7 | type: lemma |
| 8 | --- |
| 9 | Every matrix rank has a witness on actual coordinate rows and columns. A sum |
| 10 | of s affine products has a cross-coefficient matrix of rank at most 2s. |
| 11 | The same bound on every (2s+1)-square coordinate slice forces the global |
| 12 | bound. Summed predictor parity then contradicts an identity matrix larger |
| 13 | than the sum of these ranks. This is the deterministic conclusion of Lemma 9.5. |
| 14 | -/ |
| 15 | |
| 16 | namespace Lax342547.SmallSliceRank |
| 17 | open Lax342547.MomentSpace |
| 18 | open scoped BigOperators |
| 19 | |
| 20 | axiom independent_column_selection {I J : Type} [Fintype I] [Fintype J] |
| 21 | (A : Matrix I J Binary) (t : ℕ) (ht : t ≤ A.rank) : |
| 22 | ∃ c : Fin t → J,Function.Injective c ∧ (A.submatrix id c).rank = t |
| 23 | |
| 24 | axiom rank_witness {I J : Type} [Fintype I] [Fintype J] |
| 25 | (A : Matrix I J Binary) (t : ℕ) (ht : t ≤ A.rank) : |
| 26 | ∃ r : Fin t → I,∃ c : Fin t → J, |
| 27 | Function.Injective r ∧ Function.Injective c ∧ (A.submatrix r c).rank = t |
| 28 | |
| 29 | axiom rank_le_of_small_slices {I J : Type} [Fintype I] [Fintype J] |
| 30 | (A : Matrix I J Binary) (r : ℕ) |
| 31 | (h : ∀ i : Fin (r+1) → I,∀ j : Fin (r+1) → J, |
| 32 | Function.Injective i → Function.Injective j → (A.submatrix i j).rank ≤ r) : A.rank ≤ r |
| 33 | |
| 34 | def crossCoefficients {I J : Type} [DecidableEq I] [DecidableEq J] |
| 35 | (F : (I → Binary) → (J → Binary) → Binary) : Matrix I J Binary := |
| 36 | fun i j => F (Pi.single i 1) (Pi.single j 1)+F (Pi.single i 1) 0+ |
| 37 | F 0 (Pi.single j 1)+F 0 0 |
| 38 | |
| 39 | def affineValue {I J : Type} [Fintype I] [Fintype J] |
| 40 | (c : Binary) (a : I → Binary) (b : J → Binary) (x : I → Binary) (y : J → Binary) : Binary := |
| 41 | c+dotProduct a x+dotProduct b y |
| 42 | |
| 43 | axiom cross_affine_product {I J : Type} [Fintype I] [Fintype J] [DecidableEq I] [DecidableEq J] |
| 44 | (c d : Binary) (a u : I → Binary) (b v : J → Binary) : |
| 45 | crossCoefficients (fun x y => affineValue c a b x y*affineValue d u v x y) = |
| 46 | Matrix.vecMulVec a v+Matrix.vecMulVec u b |
| 47 | |
| 48 | axiom cross_products_rank {P I J : Type} [Fintype P] [Fintype I] [Fintype J] |
| 49 | [DecidableEq I] [DecidableEq J] (c d : P → Binary) (a u : P → I → Binary) |
| 50 | (b v : P → J → Binary) : |
| 51 | (crossCoefficients (fun x y => ∑ p,affineValue (c p) (a p) (b p) x y* |
| 52 | affineValue (d p) (u p) (v p) x y)).rank ≤ 2*Fintype.card P |
| 53 | |
| 54 | def liftCoordinates {T I : Type} [Fintype T] [DecidableEq I] |
| 55 | (r : T → I) (x : T → Binary) : I → Binary := ∑ t,x t • Pi.single (r t) 1 |
| 56 | |
| 57 | def HasProducts {I J : Type} [Fintype I] [Fintype J] |
| 58 | (s : ℕ) (F : (I → Binary) → (J → Binary) → Binary) : Prop := |
| 59 | ∃ c d : Fin s → Binary,∃ a u : Fin s → I → Binary,∃ b v : Fin s → J → Binary, |
| 60 | ∀ x y,F x y = ∑ p,affineValue (c p) (a p) (b p) x y*affineValue (d p) (u p) (v p) x y |
| 61 | |
| 62 | axiom cross_rank_of_products {I J : Type} [Fintype I] [Fintype J] |
| 63 | [DecidableEq I] [DecidableEq J] (s : ℕ) (F : (I → Binary) → (J → Binary) → Binary) |
| 64 | (h : HasProducts s F) : (crossCoefficients F).rank ≤ 2*s |
| 65 | |
| 66 | axiom rank_from_local_products {I J : Type} [Fintype I] [Fintype J] |
| 67 | [DecidableEq I] [DecidableEq J] (s : ℕ) (F : (I → Binary) → (J → Binary) → Binary) |
| 68 | (h : ∀ r : Fin (2*s+1) → I,∀ c : Fin (2*s+1) → J, |
| 69 | Function.Injective r → Function.Injective c → |
| 70 | HasProducts s (fun x y => F (liftCoordinates r x) (liftCoordinates c y))) : |
| 71 | (crossCoefficients F).rank ≤ 2*s |
| 72 | |
| 73 | axiom parity_rank_contradiction {T : Type} [Fintype T] (s m : ℕ) |
| 74 | (F : T → (Fin m → Binary) → (Fin m → Binary) → Binary) |
| 75 | (hparity : ∀ x y,(∑ l,F l x y) = dotProduct x y) |
| 76 | (hloc : ∀ l : T,∀ r : Fin (2*s+1) → Fin m,∀ c : Fin (2*s+1) → Fin m, |
| 77 | Function.Injective r → Function.Injective c → |
| 78 | HasProducts s (fun x y => F l (liftCoordinates r x) (liftCoordinates c y))) |
| 79 | (hm : 2*s*Fintype.card T < m) : False |
| 80 | |
| 81 | end Lax342547.SmallSliceRank |
| 82 |
Builds on
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments