Quotient extractors isolate individual tensor label blocks
Lax342547.TensorBlocks · concepts/Lax342547/TensorBlocks.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
A label block is the tensor lift of a base matrix. Bilinear contraction commutes with this lift. Extractors that read one label and kill the others therefore transfer pure annihilation to that base block.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax342547.TensorAnnihilators |
| 2 | import Lax342547.SparsePins |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Quotient extractors isolate individual tensor label blocks |
| 7 | type: lemma |
| 8 | --- |
| 9 | A label block is the tensor lift of a base matrix. Bilinear contraction |
| 10 | commutes with this lift. Extractors that read one label and kill the |
| 11 | others therefore transfer pure annihilation to that base block. |
| 12 | -/ |
| 13 | |
| 14 | namespace Lax342547.TensorBlocks |
| 15 | |
| 16 | open Lax342547.MomentSpace Lax342547.SparsePins Lax342547.ConcreteGeometry |
| 17 | open Lax342547.TensorAnnihilators |
| 18 | |
| 19 | def block {Label Coord Base : Type} (p : Label → Coord → Binary) (s : Label) : |
| 20 | Matrix Base Base Binary →ₗ[Binary] Matrix (Coord × Base) (Coord × Base) Binary where |
| 21 | toFun Z i j := p s i.1 * p s j.1 * Z i.2 j.2 |
| 22 | map_add' Z W := by ext i j; exact mul_add _ _ _ |
| 23 | map_smul' c Z := by |
| 24 | ext i j |
| 25 | change p s i.1 * p s j.1 * (c * Z i.2 j.2) = c * (p s i.1 * p s j.1 * Z i.2 j.2) |
| 26 | ring |
| 27 | |
| 28 | axiom block_contraction {Label Coord Base V W : Type} [Fintype Coord] [Fintype Base] |
| 29 | [AddCommGroup V] [Module Binary V] [AddCommGroup W] [Module Binary W] |
| 30 | (p : Label → Coord → Binary) (s : Label) (Z : Matrix Base Base Binary) |
| 31 | (q : (Coord × Base → Binary) →ₗ[Binary] V) |
| 32 | (r : (Coord × Base → Binary) →ₗ[Binary] W) |
| 33 | (β : V →ₗ[Binary] W →ₗ[Binary] Binary) : by |
| 34 | classical |
| 35 | letI : DecidableEq (Coord × Base) := Classical.decEq _ |
| 36 | exact matrixPair (LinearMap.BilinForm.toMatrix' (β.compl₁₂ q r)) (block p s Z) = |
| 37 | matrixPair (LinearMap.BilinForm.toMatrix' |
| 38 | (β.compl₁₂ (q.comp (labelTensor p s)) (r.comp (labelTensor p s)))) Z |
| 39 | |
| 40 | axiom quotient_isolation {Label Coord Base : Type} [Fintype Coord] [Fintype Base] |
| 41 | [DecidableEq Label] |
| 42 | (p : Label → Coord → Binary) (L : Finset Label) (s : Label) (hs : s ∈ L) |
| 43 | (Z : Label → Matrix Base Base Binary) |
| 44 | (S T : Submodule Binary (Coord × Base → Binary)) |
| 45 | (A B : Submodule Binary (Base → Binary)) |
| 46 | (q : ((Coord × Base → Binary) ⧸ S) →ₗ[Binary] ((Base → Binary) ⧸ A)) |
| 47 | (r : ((Coord × Base → Binary) ⧸ T) →ₗ[Binary] ((Base → Binary) ⧸ B)) |
| 48 | (hq : ∀ t ∈ L, ∀ v, q (S.mkQ (labelTensor p t v)) = if t = s then A.mkQ v else 0) |
| 49 | (hr : ∀ t ∈ L, ∀ v, r (T.mkQ (labelTensor p t v)) = if t = s then B.mkQ v else 0) |
| 50 | (h : PureAnnihilates (∑ t ∈ L, block p t (Z t)) S T) : |
| 51 | PureAnnihilates (Z s) A B |
| 52 | |
| 53 | end Lax342547.TensorBlocks |
| 54 |
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments