Right endpoint query-key caps via paired-list reindexing
Lax342547.RightQueryImages · concepts/Lax342547/RightQueryImages.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
The flipped paired lists reindex the same incident positions and slots. Their actual left-key cap therefore gives the right-key cap with exactly the original exponent.
Concept map
Evidence
This concept declares 5 statements. Each proof establishes one of them relative to its assumptions.
1 actual_right_key_cap proven
2 flipped_slot_count proven
3 left_flip_right_tuple proven
4 reindex_injective proven
5 right_tuple_event proven
Lean source view on GitHub
| 1 | import Lax342547.RawQueryImages |
| 2 | import Lax342547.PairedRecipes |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Right endpoint query-key caps via paired-list reindexing |
| 7 | type: lemma |
| 8 | --- |
| 9 | The flipped paired lists reindex the same incident positions and slots. Their actual left-key cap therefore gives the right-key cap with exactly the original exponent. |
| 10 | -/ |
| 11 | |
| 12 | namespace Lax342547.RightQueryImages |
| 13 | |
| 14 | open Lax342547.MomentSpace Lax342547.TagGeometry Lax342547.ConcreteGeometry |
| 15 | open Lax342547.PairedWitnesses Lax342547.PairedRecipes Lax342547.QueryReference |
| 16 | open Lax342547.ReferenceKeys Lax342547.ReferencePins Lax342547.KeySpans |
| 17 | open scoped ENNReal |
| 18 | |
| 19 | noncomputable def flippedPosition {k n b degree r : ℕ} {hr : 2 * r ≤ n} |
| 20 | (W : Lists k n b degree r hr) (e : Lax342547.CutProfiles.Component (Tag k)) : |
| 21 | ComponentPosition (flip W) e ≃ ComponentPosition W e where |
| 22 | toFun p := ⟨⟨p.val.2.1,p.val.1,p.val.2.2⟩, by |
| 23 | have h := p.property |
| 24 | change (W.right p.val.2.1 p.val.1 p.val.2.2).tag ∈ e.val at h |
| 25 | rwa [W.same_tag]⟩ |
| 26 | invFun p := ⟨⟨p.val.2.1,p.val.1,p.val.2.2⟩, by |
| 27 | change (W.right p.val.1 p.val.2.1 p.val.2.2).tag ∈ e.val |
| 28 | rw [← W.same_tag] |
| 29 | exact p.property⟩ |
| 30 | left_inv _ := rfl |
| 31 | right_inv _ := rfl |
| 32 | |
| 33 | noncomputable def reindexTuple {k n b degree r : ℕ} {hr : 2 * r ≤ n} {N : Type} |
| 34 | (W : Lists k n b degree r hr) |
| 35 | (q : Tuples (Lax342547.CutProfiles.Component (Tag k)) (ComponentPosition W) N) : |
| 36 | Tuples (Lax342547.CutProfiles.Component (Tag k)) (ComponentPosition (flip W)) N := |
| 37 | fun e => ⟨fun n p => (q e).1 n (flippedPosition W e p), |
| 38 | fun n p => (q e).2 n (flippedPosition W e p)⟩ |
| 39 | |
| 40 | axiom reindex_injective {k n b degree r : ℕ} {hr : 2 * r ≤ n} {N : Type} |
| 41 | (W : Lists k n b degree r hr) : Function.Injective (reindexTuple (N := N) W) |
| 42 | |
| 43 | axiom left_flip_right_tuple {k n b degree r : ℕ} {hr : 2 * r ≤ n} {H N : Type} |
| 44 | [Fintype H] [Fintype N] {E : Moment k n b degree} |
| 45 | (W : Lists k n b degree r hr) (o : Unit (H := H) (N := N) (E := E)) : |
| 46 | leftTuple (flip W) o = reindexTuple W (rightTuple W o) |
| 47 | |
| 48 | axiom right_tuple_event {k n b degree r : ℕ} {hr : 2 * r ≤ n} {H N : Type} |
| 49 | [Fintype H] [Fintype N] {E : Moment k n b degree} |
| 50 | (W : Lists k n b degree r hr) (o : Unit (H := H) (N := N) (E := E)) |
| 51 | (q : Tuples (Lax342547.CutProfiles.Component (Tag k)) (ComponentPosition W) N) : |
| 52 | rightTuple W o = q ↔ leftTuple (flip W) o = reindexTuple W q |
| 53 | |
| 54 | axiom flipped_slot_count {k n b degree r : ℕ} {hr : 2 * r ≤ n} |
| 55 | (W : Lists k n b degree r hr) : by |
| 56 | classical |
| 57 | exact Fintype.card (Lax342547.QuerySlots.Slot (flip W)) = |
| 58 | Fintype.card (Lax342547.QuerySlots.Slot W) |
| 59 | |
| 60 | axiom actual_right_key_cap {k n b degree r : ℕ} {hr : 2 * r ≤ n} {H N : Type} |
| 61 | [Fintype H] [Fintype N] {E : Moment k n b degree} |
| 62 | (W : Lists k n b degree r hr) |
| 63 | (p : PMF (Unit (H := H) (N := N) (E := E))) |
| 64 | (P : Lax342547.ExactPins.Pin (Lax342547.CutProfiles.Component (Tag k) × Bool) |
| 65 | (Fin 2 × (Coordinate k n b degree ⊕ H)) N) |
| 66 | (B : Fin 2 → Finset (Fin b → Binary)) (hB : Excludes P B) |
| 67 | (hfresh : ∀ i z t, (W.right i z t).label ∉ B z) |
| 68 | (q : Tuples (Lax342547.CutProfiles.Component (Tag k)) (ComponentPosition W) N) |
| 69 | (α : ℝ≥0∞) |
| 70 | (hcap : ∀ Q : Lax342547.ExactPins.Pin (Lax342547.CutProfiles.Component (Tag k) × Bool) |
| 71 | (Fin 2 × (Coordinate k n b degree ⊕ H)) N, |
| 72 | 1 ≤ P.relativeRank Q → p.toOuterMeasure (Q.event observation) ≤ α ^ (P.relativeRank Q)) |
| 73 | (hrank : 1 ≤ Fintype.card (Lax342547.QuerySlots.Slot W)) : |
| 74 | p.toOuterMeasure {o | rightTuple W o = q} ≤ α ^ Fintype.card (Lax342547.QuerySlots.Slot W) |
| 75 | |
| 76 | end Lax342547.RightQueryImages |
| 77 |
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments