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

Compatibility and codimension of forward/reverse matrix restrictions

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

    The overlap calculation in Lemma 5.5: prescribing ZᵀL and LW imposes exactly the common ZᵀLW block of compatibility conditions when Z and W have independent columns. This statement includes zero column ranks.

    Concept map
    1 concept; 4 descendants hidden
    100%
    Proven claimThis conceptRelated conceptA → B: B builds on A
    Evidence

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

    Lean source view on GitHub

    1import Mathlib.LinearAlgebra.Matrix.ToLin
    2import Mathlib.LinearAlgebra.FiniteDimensional.Lemmas
    3import Mathlib.LinearAlgebra.Dimension.Constructions
    4
    5/-!
    6---
    7title: Compatibility and codimension of forward/reverse matrix restrictions
    8type: lemma
    9---
    10The overlap calculation in Lemma 5.5: prescribing ZᵀL and LW imposes
    11exactly the common ZᵀLW block of compatibility conditions when Z and W
    12have independent columns. This statement includes zero column ranks.
    13-/
    14
    15namespace Lax342547.MixerCompatibility
    16
    17variable {K I E F : Type} [Field K] [Fintype I] [Fintype E] [Fintype F]
    18
    19def restrictions (Z : Matrix I E K) (W : Matrix I F K) :
    20 Matrix I I K →ₗ[K] Matrix E I K × Matrix I F K where
    21 toFun L := (Z.transpose * L, L * W)
    22 map_add' L M := by simp [Matrix.mul_add, Matrix.add_mul]
    23 map_smul' c L := by simp [Matrix.mul_smul, Matrix.smul_mul]
    24
    25def compatibility (Z : Matrix I E K) (W : Matrix I F K) :
    26 (Matrix E I K × Matrix I F K) →ₗ[K] Matrix E F K where
    27 toFun p := p.1 * W - Z.transpose * p.2
    28 map_add' x y := by simp [Matrix.add_mul, Matrix.mul_add, add_sub_add_comm]
    29 map_smul' c x := by simp [Matrix.smul_mul, Matrix.mul_smul, smul_sub]
    30
    31axiom compatible_extensions (Z : Matrix I E K) (W : Matrix I F K)
    32 (hZ : Function.Injective Z.mulVec) (hW : Function.Injective W.mulVec)
    33 (A : Matrix E I K) (B : Matrix I F K) :
    34 (∃ L : Matrix I I K, Z.transpose * L = A ∧ L * W = B) ↔ A * W = Z.transpose * B
    35
    36axiom restrictions_codimension (Z : Matrix I E K) (W : Matrix I F K)
    37 (hZ : Function.Injective Z.mulVec) (hW : Function.Injective W.mulVec) :
    38 Module.finrank K (LinearMap.range (restrictions Z W)) + Fintype.card E * Fintype.card F =
    39 Fintype.card E * Fintype.card I + Fintype.card I * Fintype.card F
    40
    41end Lax342547.MixerCompatibility
    42
    Show ProofShow Proof

    Discussion

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

    Loading discussion…