Reciprocal raw-frame orientation and dual pin avoidance
Lax342547.FrameTranspose · concepts/Lax342547/FrameTranspose.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Swapping primal and dual frame data is an exact transpose equivalence, preserves uniform density caps, and supplies the reciprocal conditioned primal-span avoidance bound.
Concept map
Evidence
This concept declares 3 statements. Each proof establishes one of them relative to its assumptions.
1 capped_transpose_frame proven
2 conditioned_dual_span_avoidance proven
3 uniform_equiv_push proven
Lean source view on GitHub
| 1 | import Lax342547.UnitSpanAvoidance |
| 2 | import Lax342547.FiniteLinearLaw |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Reciprocal raw-frame orientation and dual pin avoidance |
| 7 | type: lemma |
| 8 | --- |
| 9 | Swapping primal and dual frame data is an exact transpose equivalence, preserves uniform density caps, and supplies the reciprocal conditioned primal-span avoidance bound. |
| 10 | -/ |
| 11 | |
| 12 | namespace Lax342547.FrameTranspose |
| 13 | |
| 14 | open Lax342547.MomentSpace Lax342547.RawFrames Lax342547.RealCellLaws |
| 15 | open Lax342547.PushforwardWalsh Lax342547.RetainedImages |
| 16 | open scoped BigOperators |
| 17 | |
| 18 | def transposeFrame {P H N : Type} [Fintype P] [Fintype H] [Fintype N] |
| 19 | {E : Matrix P P Binary} (f : Frame P H N E) : Frame P H N E.transpose where |
| 20 | P := f.Q |
| 21 | Q := f.P |
| 22 | X := f.Y |
| 23 | Y := f.X |
| 24 | plus_injective := f.minus_injective |
| 25 | minus_injective := f.plus_injective |
| 26 | gram := by simpa only [Matrix.transpose_mul,Matrix.transpose_transpose] using congrArg Matrix.transpose f.gram |
| 27 | plus_annihilator := by simpa only [Matrix.transpose_mul,Matrix.transpose_transpose,Matrix.transpose_zero] using |
| 28 | (congrArg Matrix.transpose f.minus_annihilator) |
| 29 | minus_annihilator := by simpa only [Matrix.transpose_mul,Matrix.transpose_transpose,Matrix.transpose_zero] using |
| 30 | (congrArg Matrix.transpose f.plus_annihilator) |
| 31 | |
| 32 | def transposeEquiv {P H N : Type} [Fintype P] [Fintype H] [Fintype N] (E : Matrix P P Binary) : |
| 33 | Frame P H N E ≃ Frame P H N E.transpose where |
| 34 | toFun := transposeFrame |
| 35 | invFun := transposeFrame |
| 36 | left_inv f := by cases f; rfl |
| 37 | right_inv f := by cases f; rfl |
| 38 | |
| 39 | axiom uniform_equiv_push {A B : Type} [Fintype A] [Fintype B] [Nonempty A] [Nonempty B] |
| 40 | (e : A ≃ B) (b : B) : |
| 41 | push (weights (PMF.uniformOfFintype A)) e b = weights (PMF.uniformOfFintype B) b |
| 42 | |
| 43 | axiom capped_transpose_frame {A P H N : Type} [Fintype A] [Fintype P] [Fintype H] [Fintype N] |
| 44 | (E : Matrix P P Binary) [Nonempty (Frame P H N E)] |
| 45 | (α : A → ℝ) (image : A → Frame P H N E) (M : ℝ) |
| 46 | (hcap : ∀ f,push α image f ≤ M*weights (PMF.uniformOfFintype (Frame P H N E)) f) : |
| 47 | letI : Nonempty (Frame P H N E.transpose) := ⟨transposeFrame (Classical.choice inferInstance)⟩ |
| 48 | ∀ f,push α (fun a => transposeFrame (image a)) f ≤ |
| 49 | M*weights (PMF.uniformOfFintype (Frame P H N E.transpose)) f |
| 50 | |
| 51 | axiom conditioned_dual_span_avoidance {A P H N : Type} |
| 52 | [Fintype A] [Fintype P] [Fintype H] [Fintype N] [DecidableEq P] [DecidableEq H] [DecidableEq N] |
| 53 | (E : Matrix P P Binary) [Nonempty (Frame P H N E)] |
| 54 | (α : A → ℝ) (image : A → Frame P H N E) (V : A → Submodule Binary (N → Binary)) |
| 55 | (W : Submodule Binary (N → Binary)) (C : A → Prop) (M τ : ℝ) |
| 56 | (hα : ∀ a,0 ≤ α a) (hM : 0 ≤ M) (hτ : 0 < τ) (hC : τ ≤ cellMass α C) |
| 57 | (hN : Fintype.card P+Fintype.card H+1 ≤ Fintype.card N) |
| 58 | (hV : ∀ a,V a ≤ LinearMap.range (image a).Q.mulVecLin) |
| 59 | (hcap : ∀ f,push α image f ≤ M*weights (PMF.uniformOfFintype (Frame P H N E)) f) : |
| 60 | cellMass (Lax342547.RetainedImages.conditionalLaw α C) (fun a => ¬ Disjoint (V a) W) ≤ |
| 61 | (M/τ)*(2*((2 : ℝ)^(Fintype.card P+Fintype.card H+Module.finrank Binary W)/(2 : ℝ)^Fintype.card N)) |
| 62 | |
| 63 | end Lax342547.FrameTranspose |
| 64 |
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