Actual tensor cover decomposition and dimension
Lax342547.CoverSpace · concepts/Lax342547/CoverSpace.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
A checked quotient decomposition of every covered map gives the dimension bound for the whole actual cover space.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax342547.CoverProjection |
| 2 | import Mathlib.LinearAlgebra.FreeModule.Finite.Matrix |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Actual tensor cover decomposition and dimension |
| 7 | type: lemma |
| 8 | --- |
| 9 | A checked quotient decomposition of every covered map gives the dimension bound for the whole actual cover space. |
| 10 | -/ |
| 11 | |
| 12 | namespace Lax342547.CoverSpace |
| 13 | |
| 14 | open Lax342547.CoverProjection |
| 15 | |
| 16 | noncomputable def coverAssembly {K V W : Type} [Field K] |
| 17 | [AddCommGroup V] [Module K V] [AddCommGroup W] [Module K W] |
| 18 | (S : Submodule K W) (T : Submodule K (Module.Dual K V)) : |
| 19 | ((V →ₗ[K] S) × ((V ⧸ T.dualCoannihilator) →ₗ[K] W)) →ₗ[K] (V →ₗ[K] W) where |
| 20 | toFun z := S.subtype.comp z.1+z.2.comp T.dualCoannihilator.mkQ |
| 21 | map_add' _ _ := by simp [LinearMap.comp_add,LinearMap.add_comp]; abel |
| 22 | map_smul' _ _ := by simp [LinearMap.comp_smul,LinearMap.smul_comp] |
| 23 | |
| 24 | noncomputable def coverOperator {K V W : Type} [Field K] |
| 25 | [AddCommGroup V] [Module K V] [AddCommGroup W] [Module K W] |
| 26 | (S : Submodule K W) (T : Submodule K (Module.Dual K V)) : |
| 27 | (V →ₗ[K] W) →ₗ[K] (T.dualCoannihilator →ₗ[K] (W ⧸ S)) where |
| 28 | toFun M := projection M S T |
| 29 | map_add' _ _ := by simp [projection,LinearMap.comp_add,LinearMap.add_comp] |
| 30 | map_smul' _ _ := by simp [projection,LinearMap.comp_smul,LinearMap.smul_comp] |
| 31 | |
| 32 | axiom covered_decomposition {K V W : Type} [Field K] |
| 33 | [AddCommGroup V] [Module K V] [AddCommGroup W] [Module K W] |
| 34 | (S : Submodule K W) (T : Submodule K (Module.Dual K V)) |
| 35 | (M : V →ₗ[K] W) (hM : projection M S T = 0) : |
| 36 | M ∈ LinearMap.range (coverAssembly S T) |
| 37 | |
| 38 | axiom cover_space_dimension {K V W : Type} [Field K] |
| 39 | [AddCommGroup V] [Module K V] [AddCommGroup W] [Module K W] |
| 40 | [FiniteDimensional K V] [FiniteDimensional K W] |
| 41 | (S : Submodule K W) (T : Submodule K (Module.Dual K V)) : |
| 42 | Module.finrank K (LinearMap.ker (coverOperator S T)) ≤ |
| 43 | Module.finrank K V*Module.finrank K S+Module.finrank K T*Module.finrank K W |
| 44 | |
| 45 | end Lax342547.CoverSpace |
| 46 |
Builds on
Used by
From Mathlib
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments