Reference keys and matched keys for actual paired lists
Lax342547.QueryReference · concepts/Lax342547/QueryReference.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Global key tuples contain both nominal signs of every actual incident witness direction. Their equality gives matched keys; the constrained reference space has the exact slot cardinality bound and a dimension-independent positive density.
Concept map
Evidence
This concept declares 5 statements. Each proof establishes one of them relative to its assumptions.
1 component_position_budget proven
2 grouped_slot_count proven
3 key_space_density proven
4 key_space_size proven
5 tuple_equality_matched_keys proven
Lean source view on GitHub
| 1 | import Lax342547.QuerySlots |
| 2 | import Lax342547.ReferenceKeys |
| 3 | import Lax342547.PairedWitnesses |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Reference keys and matched keys for actual paired lists |
| 8 | type: lemma |
| 9 | --- |
| 10 | Global key tuples contain both nominal signs of every actual incident witness direction. Their equality gives matched keys; the constrained reference space has the exact slot cardinality bound and a dimension-independent positive density. |
| 11 | -/ |
| 12 | |
| 13 | namespace Lax342547.QueryReference |
| 14 | |
| 15 | open Lax342547.MomentSpace Lax342547.TagGeometry Lax342547.CutProfiles |
| 16 | open Lax342547.PairedWitnesses Lax342547.QuerySlots Lax342547.ReferenceKeys |
| 17 | open Lax342547.ConcreteGeometry |
| 18 | open scoped ENNReal |
| 19 | |
| 20 | abbrev ComponentPosition {k n b degree r : ℕ} {hr : 2 * r ≤ n} |
| 21 | (W : Lists k n b degree r hr) (e : Component (Tag k)) := |
| 22 | {p : Lax342547.QuerySlots.Position W // (W.left p.1 p.2.1 p.2.2).tag ∈ e.val} |
| 23 | |
| 24 | noncomputable def groupedSlots {k n b degree r : ℕ} {hr : 2 * r ≤ n} |
| 25 | (W : Lists k n b degree r hr) : |
| 26 | Slot W ≃ (Σ e : Component (Tag k), ComponentPosition W e × Bool) where |
| 27 | toFun x := ⟨x.2.1.val, ⟨⟨x.1, x.2.1.property⟩, x.2.2⟩⟩ |
| 28 | invFun x := ⟨x.2.1.val, ⟨⟨x.1, x.2.1.property⟩, x.2.2⟩⟩ |
| 29 | left_inv _ := rfl |
| 30 | right_inv _ := rfl |
| 31 | |
| 32 | noncomputable def gram {k n b degree r : ℕ} {hr : 2 * r ≤ n} |
| 33 | (W : Lists k n b degree r hr) (e : Component (Tag k)) : |
| 34 | Matrix (ComponentPosition W e) (ComponentPosition W e) Binary := by |
| 35 | classical |
| 36 | exact fun p q => if p.val = q.val then diagonalBit hr (W.left p.val.1 p.val.2.1 p.val.2.2) else 0 |
| 37 | |
| 38 | noncomputable def leftTuple {k n b degree r : ℕ} {hr : 2 * r ≤ n} {H N : Type} |
| 39 | [Fintype H] [Fintype N] {E : Moment k n b degree} |
| 40 | (W : Lists k n b degree r hr) (o : Unit (H := H) (N := N) (E := E)) : |
| 41 | Tuples (Component (Tag k)) (ComponentPosition W) N := fun e => |
| 42 | ⟨fun n p => (o p.val.1 e).P.mulVec (W.left p.val.1 p.val.2.1 p.val.2.2).vector n, |
| 43 | fun n p => (o p.val.1 e).Q.mulVec (W.left p.val.1 p.val.2.1 p.val.2.2).vector n⟩ |
| 44 | |
| 45 | noncomputable def rightTuple {k n b degree r : ℕ} {hr : 2 * r ≤ n} {H N : Type} |
| 46 | [Fintype H] [Fintype N] {E : Moment k n b degree} |
| 47 | (W : Lists k n b degree r hr) (o : Unit (H := H) (N := N) (E := E)) : |
| 48 | Tuples (Component (Tag k)) (ComponentPosition W) N := fun e => |
| 49 | ⟨fun n p => (o p.val.2.1 e).P.mulVec (W.right p.val.1 p.val.2.1 p.val.2.2).vector n, |
| 50 | fun n p => (o p.val.2.1 e).Q.mulVec (W.right p.val.1 p.val.2.1 p.val.2.2).vector n⟩ |
| 51 | |
| 52 | axiom tuple_equality_matched_keys {k n b degree r : ℕ} {hr : 2 * r ≤ n} {H N : Type} |
| 53 | [Fintype H] [Fintype N] {E : Moment k n b degree} |
| 54 | (W : Lists k n b degree r hr) (oA oB : Unit (H := H) (N := N) (E := E)) |
| 55 | (h : leftTuple W oA = rightTuple W oB) : MatchedKeys W oA oB |
| 56 | |
| 57 | axiom component_position_budget {k n b degree r : ℕ} {hr : 2 * r ≤ n} |
| 58 | (W : Lists k n b degree r hr) (e : Component (Tag k)) : by |
| 59 | classical |
| 60 | exact Fintype.card (ComponentPosition W e) ≤ 28 |
| 61 | |
| 62 | axiom grouped_slot_count {k n b degree r : ℕ} {hr : 2 * r ≤ n} |
| 63 | (W : Lists k n b degree r hr) : by |
| 64 | classical |
| 65 | exact Fintype.card (Slot W) = 2 * ∑ e, Fintype.card (ComponentPosition W e) |
| 66 | |
| 67 | axiom key_space_size {k n b degree r : ℕ} {hr : 2 * r ≤ n} {N : Type} [Fintype N] |
| 68 | (W : Lists k n b degree r hr) : by |
| 69 | classical |
| 70 | exact Fintype.card (space (ComponentPosition W) N (gram W)) ≤ |
| 71 | 2 ^ (Fintype.card (Slot W) * Fintype.card N) |
| 72 | |
| 73 | axiom key_space_density {k n b degree r : ℕ} {hr : 2 * r ≤ n} {N : Type} [Fintype N] |
| 74 | (W : Lists k n b degree r hr) (hN : 57 ≤ Fintype.card N) : by |
| 75 | classical |
| 76 | exact (∏ e, 1 / (2 : ℝ≥0∞)^ |
| 77 | (Fintype.card (ComponentPosition W e) * Fintype.card (ComponentPosition W e) + 2)) ≤ |
| 78 | (PMF.uniformOfFintype (Tuples (Component (Tag k)) (ComponentPosition W) N)).toOuterMeasure |
| 79 | (space (ComponentPosition W) N (gram W)) |
| 80 | |
| 81 | end Lax342547.QueryReference |
| 82 |
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