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

Exact joining of two prescribed Gram orbits

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

    A combined Gram orbit is precisely two separate orbits conditioned on their reciprocal Gram entries and injectivity of both concatenated column lists. The exact uniform and filtered laws retain these injectivity conditions.

    Concept map
    6 concepts
    100%
    Proven claimDefinitionThis 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.

    Lean source view on GitHub

    1import Lax342547.FrameTuples
    2
    3/-!
    4---
    5title: Exact joining of two prescribed Gram orbits
    6type: lemma
    7---
    8A combined Gram orbit is precisely two separate orbits conditioned on their
    9reciprocal Gram entries and injectivity of both concatenated column lists.
    10The exact uniform and filtered laws retain these injectivity conditions.
    11-/
    12
    13namespace Lax342547.JoinedGramOrbits
    14
    15open Lax342547.MomentSpace Lax342547.FrameTuples
    16
    17variable {I J K L N : Type} [Fintype I] [Fintype J] [Fintype K] [Fintype L] [Fintype N]
    18
    19def joined {G : Matrix I J Binary} {H : Matrix K L Binary} (z : Orbit N G × Orbit N H) :=
    20 (Matrix.fromCols z.1.val.1 z.2.val.1,Matrix.fromCols z.1.val.2 z.2.val.2)
    21
    22def Compatible (G : Matrix I J Binary) (H : Matrix K L Binary)
    23 (A : Matrix I L Binary) (B : Matrix K J Binary)
    24 (z : Orbit N G × Orbit N H) : Prop :=
    25 Function.Injective (joined z).1.mulVec ∧ Function.Injective (joined z).2.mulVec ∧
    26 z.1.val.1.transpose*z.2.val.2 = A ∧ z.2.val.1.transpose*z.1.val.2 = B
    27
    28noncomputable instance (G : Matrix I J Binary) (H : Matrix K L Binary)
    29 (A : Matrix I L Binary) (B : Matrix K J Binary) :
    30 Fintype {z : Orbit N G × Orbit N H // Compatible G H A B z} := by
    31 classical exact Subtype.fintype _
    32
    33axiom joined_gram (G : Matrix I J Binary) (H : Matrix K L Binary)
    34 (z : Orbit N G × Orbit N H) :
    35 (joined z).1.transpose*(joined z).2 =
    36 Matrix.fromBlocks G (z.1.val.1.transpose*z.2.val.2) (z.2.val.1.transpose*z.1.val.2) H
    37
    38axiom union_uniform (G : Matrix I J Binary) (H : Matrix K L Binary)
    39 (A : Matrix I L Binary) (B : Matrix K J Binary)
    40 [Nonempty (Orbit N (Matrix.fromBlocks G A B H))]
    41 [Nonempty {z : Orbit N G × Orbit N H // Compatible G H A B z}] :
    42 (PMF.uniformOfFintype (Orbit N (Matrix.fromBlocks G A B H))).map Subtype.val =
    43 (PMF.uniformOfFintype {z : Orbit N G × Orbit N H // Compatible G H A B z}).map
    44 (fun z => joined z.val)
    45
    46axiom compatible_filter (G : Matrix I J Binary) (H : Matrix K L Binary)
    47 (A : Matrix I L Binary) (B : Matrix K J Binary)
    48 [Nonempty (Orbit N G)] [Nonempty (Orbit N H)]
    49 [Nonempty (Orbit N (Matrix.fromBlocks G A B H))]
    50 [Nonempty {z : Orbit N G × Orbit N H // Compatible G H A B z}]
    51 (h : ∃ z ∈ {z : Orbit N G × Orbit N H | Compatible G H A B z},
    52 z ∈ (PMF.uniformOfFintype (Orbit N G × Orbit N H)).support) :
    53 ((PMF.uniformOfFintype (Orbit N G × Orbit N H)).filter
    54 {z | Compatible G H A B z} h).map joined =
    55 (PMF.uniformOfFintype (Orbit N (Matrix.fromBlocks G A B H))).map Subtype.val
    56
    57end Lax342547.JoinedGramOrbits
    58
    Show ProofShow ProofShow Proof
    Builds on
    Used by
    From Mathlib

    none

    Discussion

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

    Loading discussion…