Componentwise mode spaces and diagonal tensors
Lax342547.ComponentSpaces · concepts/Lax342547/ComponentSpaces.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Coordinatewise mode subspaces form a join-stable cover class, and the range of a diagonal tensor map is the product of its component ranges.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax342547.CoverClasses |
| 2 | import Lax342547.DirectRanks |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Componentwise mode spaces and diagonal tensors |
| 7 | type: lemma |
| 8 | --- |
| 9 | Coordinatewise mode subspaces form a join-stable cover class, and the range of a diagonal tensor map is the product of its component ranges. |
| 10 | -/ |
| 11 | |
| 12 | namespace Lax342547.ComponentSpaces |
| 13 | |
| 14 | open Lax342547.CoverClasses |
| 15 | open scoped BigOperators |
| 16 | |
| 17 | noncomputable def coordinateSpace {K e : Type} [Field K] {V : e → Type} |
| 18 | [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)] (S : ∀ i, Submodule K (V i)) : |
| 19 | Submodule K (∀ i, V i) where |
| 20 | carrier := {v | ∀ i, v i ∈ S i} |
| 21 | zero_mem' := fun i => (S i).zero_mem |
| 22 | add_mem' := fun h g i => (S i).add_mem (h i) (g i) |
| 23 | smul_mem' := fun c _ h i => (S i).smul_mem c (h i) |
| 24 | |
| 25 | def Componentwise {K e : Type} [Field K] {V : e → Type} |
| 26 | [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)] |
| 27 | (T : Submodule K (∀ i, V i)) : Prop := ∃ S, T = coordinateSpace S |
| 28 | |
| 29 | axiom coordinate_space_bot {K e : Type} [Field K] {V : e → Type} |
| 30 | [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)] : |
| 31 | coordinateSpace (fun i => (⊥ : Submodule K (V i))) = ⊥ |
| 32 | |
| 33 | axiom coordinate_space_sup {K e : Type} [Field K] {V : e → Type} |
| 34 | [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)] |
| 35 | (S T : ∀ i, Submodule K (V i)) : |
| 36 | coordinateSpace S ⊔ coordinateSpace T = coordinateSpace (fun i => S i ⊔ T i) |
| 37 | |
| 38 | axiom componentwise_join_closed {K e : Type} [Field K] {V : e → Type} |
| 39 | [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)] : JoinClosed (Componentwise (K := K) (V := V)) |
| 40 | |
| 41 | axiom diagonal_range {K e : Type} [Field K] {V W : e → Type} |
| 42 | [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)] |
| 43 | [∀ i, AddCommGroup (W i)] [∀ i, Module K (W i)] (M : ∀ i, V i →ₗ[K] W i) : |
| 44 | LinearMap.range (LinearMap.piMap M) = coordinateSpace (fun i => LinearMap.range (M i)) |
| 45 | |
| 46 | end Lax342547.ComponentSpaces |
| 47 |
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