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

Rank and trace of shared frame tensors

Lax342547.TensorIntersections · concepts/Lax342547/TensorIntersections.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

    Injective primal frame maps preserve coefficient-matrix rank. A tensor shared by two endpoints has its column space in their primal-span intersection. Its trace is the entrywise pairing with the self-Gram matrix.

    Concept map
    8 concepts; 3 descendants hidden
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A
    Evidence

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

    Lean source view on GitHub

    1import Lax342547.RawFrames
    2import Lax342547.ConcreteGeometry
    3import Mathlib.LinearAlgebra.Matrix.Rank
    4
    5/-!
    6---
    7title: Rank and trace of shared frame tensors
    8type: lemma
    9---
    10Injective primal frame maps preserve coefficient-matrix rank. A tensor
    11shared by two endpoints has its column space in their primal-span
    12intersection. Its trace is the entrywise pairing with the self-Gram matrix.
    13-/
    14
    15namespace Lax342547.TensorIntersections
    16
    17open Lax342547.MomentSpace Lax342547.RawFrames Lax342547.ConcreteGeometry
    18
    19variable {B H N : Type} [Fintype B] [Fintype H] [Fintype N]
    20
    21def intersectionSpace (P Q : Matrix N B Binary) : Submodule Binary (N → Binary) :=
    22 LinearMap.range P.mulVecLin ⊓ LinearMap.range Q.mulVecLin
    23
    24axiom sandwich_rank {E : Matrix B B Binary} (F : Frame B H N E)
    25 (w : Matrix B B Binary) : (sandwich F.P F.Q w).rank = w.rank
    26
    27axiom shared_rank {E : Matrix B B Binary} (F G : Frame B H N E)
    28 (w v : Matrix B B Binary) (h : sandwich F.P F.Q w = sandwich G.P G.Q v) :
    29 w.rank = v.rank ∧ w.rank ≤ Module.finrank Binary (intersectionSpace F.P G.P)
    30
    31axiom shared_total_rank {Comp : Type} [Fintype Comp] {E : Matrix B B Binary}
    32 (F G : Comp → Frame B H N E) (w v : Comp → Matrix B B Binary)
    33 (h : profileMap F w = profileMap G v) :
    34 (∑ e, (w e).rank) = ∑ e, (v e).rank ∧
    35 (∑ e, (w e).rank) ≤ ∑ e, Module.finrank Binary (intersectionSpace (F e).P (G e).P)
    36
    37axiom trace_sandwich {E : Matrix B B Binary} (F : Frame B H N E)
    38 (w : Matrix B B Binary) : Matrix.trace (sandwich F.P F.Q w) = matrixPair E w
    39
    40end Lax342547.TensorIntersections
    41
    Show ProofShow ProofShow ProofShow Proof

    Discussion

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

    Loading discussion…