While this submission is a draft, it cannot be used by other submissions.

Rows of diagonal tensor maps

Lax342547.ComponentDuals · concepts/Lax342547/ComponentDuals.lean · lax-342547

proven

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Natural Language Statement

    Lemma

    Dualizing a componentwise tensor map preserves its componentwise row spaces through the finite product dual equivalence; these row cover spaces are closed under joins.

    Concept map
    23 concepts
    100%
    Proven claimThis conceptRelated conceptA → B: B builds on ADescendants are omitted for concepts with more than 10 descendants.
    Evidence

    This concept declares 3 statements. Each proof establishes one of them relative to its assumptions.

    3 dual_componentwise_join_closed proven

    Lean source view on GitHub

    1import Lax342547.ComponentSpaces
    2
    3/-!
    4---
    5title: Rows of diagonal tensor maps
    6type: lemma
    7---
    8Dualizing a componentwise tensor map preserves its componentwise row spaces through the finite product dual equivalence; these row cover spaces are closed under joins.
    9-/
    10
    11namespace Lax342547.ComponentDuals
    12
    13open Lax342547.ComponentSpaces Lax342547.CoverClasses
    14open scoped BigOperators
    15
    16def DualComponentwise {K e : Type} [Field K] [Fintype e] [DecidableEq e] {V : e → Type}
    17 [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)]
    18 (T : Submodule K (Module.Dual K (∀ i, V i))) : Prop :=
    19 Componentwise (T.map (LinearMap.lsum K V K).symm.toLinearMap)
    20
    21axiom dual_componentwise_join_closed {K e : Type} [Field K] [Fintype e] [DecidableEq e]
    22 {V : e → Type} [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)] :
    23 JoinClosed (DualComponentwise (K := K) (V := V))
    24
    25axiom diagonal_dual_identity {K e : Type} [Field K] [Fintype e] [DecidableEq e]
    26 {V W : e → Type} [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)]
    27 [∀ i, AddCommGroup (W i)] [∀ i, Module K (W i)] (M : ∀ i, V i →ₗ[K] W i) :
    28 (LinearMap.piMap M).dualMap.comp (LinearMap.lsum K W K).toLinearMap =
    29 (LinearMap.lsum K V K).toLinearMap.comp (LinearMap.piMap (fun i => (M i).dualMap))
    30
    31axiom diagonal_dual_range {K e : Type} [Field K] [Fintype e] [DecidableEq e]
    32 {V W : e → Type} [∀ i, AddCommGroup (V i)] [∀ i, Module K (V i)]
    33 [∀ i, AddCommGroup (W i)] [∀ i, Module K (W i)] (M : ∀ i, V i →ₗ[K] W i) :
    34 (LinearMap.range (LinearMap.piMap M).dualMap).map (LinearMap.lsum K V K).symm.toLinearMap =
    35 coordinateSpace (fun i => LinearMap.range (M i).dualMap)
    36
    37end Lax342547.ComponentDuals
    38
    Show ProofShow ProofShow Proof

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…