Finite primal-channel records with the paper bit count and four-hole implication
Lax342547.PrimalRecords · concepts/Lax342547/PrimalRecords.lean · lax-342547
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Lemma
Recording both modes and reciprocal roles takes exactly 16|E|h dimB bits. Equality of these records fixes every actual primal-to-channel evaluation and hence every contraction. Matched keys, witness parity and the constructed gradients then force all four actual cross pairs to be holes.
Concept map
Evidence
This concept declares 6 statements. Each proof establishes one of them relative to its assumptions.
1 agreement_contractions proven
2 coordinate_map_ext proven
3 entries_determine proven
4 entries_give_four_holes proven
5 entry_count proven
6 record_count proven
Lean source view on GitHub
| 1 | import Lax342547.FourHoles |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Finite primal-channel records with the paper bit count and four-hole implication |
| 6 | type: lemma |
| 7 | --- |
| 8 | Recording both modes and reciprocal roles takes exactly 16|E|h dimB bits. Equality of these records fixes every actual primal-to-channel evaluation and hence every contraction. Matched keys, witness parity and the constructed gradients then force all four actual cross pairs to be holes. |
| 9 | -/ |
| 10 | |
| 11 | namespace Lax342547.PrimalRecords |
| 12 | |
| 13 | open Lax342547.MomentSpace Lax342547.TableContractions Lax342547.ConcreteGeometry |
| 14 | open Lax342547.ConcreteCut Lax342547.TagGeometry Lax342547.CutProfiles |
| 15 | open Lax342547.PairedWitnesses Lax342547.RawContractions Lax342547.RawFrames Lax342547.HoleRelation |
| 16 | |
| 17 | abbrev EntryIndex (Comp B H : Type) := Fin 2 × Fin 2 × Comp × Fin 2 × Fin 2 × B × H |
| 18 | |
| 19 | noncomputable def entries {Comp B H : Type} [Fintype H] (F : CrossForms Comp B H) : |
| 20 | EntryIndex Comp B H → Binary := by |
| 21 | classical |
| 22 | exact fun t => |
| 23 | let G := if t.1 = 0 then F else F.flip |
| 24 | let m := if t.2.1 = 0 then fullPlus G t.2.2.1 t.2.2.2.1 t.2.2.2.2.1 |
| 25 | else fullMinus G t.2.2.1 t.2.2.2.1 t.2.2.2.2.1 |
| 26 | m (Pi.single t.2.2.2.2.2.1 1) t.2.2.2.2.2.2 |
| 27 | |
| 28 | axiom entry_count {Comp B H : Type} [Fintype Comp] [Fintype B] [Fintype H] : |
| 29 | Fintype.card (EntryIndex Comp B H) = 16 * Fintype.card Comp * Fintype.card H * Fintype.card B |
| 30 | |
| 31 | def Agreement {Comp B H : Type} [Fintype H] (F G : CrossForms Comp B H) : Prop := |
| 32 | (∀ e i z, fullPlus F e i z = fullPlus G e i z ∧ fullMinus F e i z = fullMinus G e i z) ∧ |
| 33 | (∀ e i z, fullPlus F.flip e i z = fullPlus G.flip e i z ∧ fullMinus F.flip e i z = fullMinus G.flip e i z) |
| 34 | |
| 35 | axiom coordinate_map_ext {B H : Type} [Fintype B] [Fintype H] |
| 36 | (f g : (B → Binary) →ₗ[Binary] (H → Binary)) : by |
| 37 | classical |
| 38 | exact (∀ b h, f (Pi.single b 1) h = g (Pi.single b 1) h) → f = g |
| 39 | |
| 40 | axiom entries_determine {Comp B H : Type} [Fintype B] [Fintype H] |
| 41 | (F G : CrossForms Comp B H) (heq : entries F = entries G) : Agreement F G |
| 42 | |
| 43 | axiom agreement_contractions {Comp B H : Type} [Fintype Comp] [Fintype B] [Fintype H] |
| 44 | (F G : CrossForms Comp B H) (h : Agreement F G) |
| 45 | (X : Submodule Binary (Comp → Matrix B B Binary)) : |
| 46 | (∀ i z, fullContraction F X i z = fullContraction G X i z) ∧ |
| 47 | (∀ i z, fullContraction F.flip X i z = fullContraction G.flip X i z) |
| 48 | |
| 49 | axiom entries_give_four_holes {k n b degree r J : ℕ} {hr : 2 * r ≤ n} |
| 50 | {H N : Type} [Fintype H] [Fintype N] {E : Moment k n b degree} |
| 51 | (W : Lists k n b degree r hr) |
| 52 | (D : Testers (k := k) (b := b) (degree := degree) hr) |
| 53 | (L R : Fin J → Component (Tag k) → Component (Tag k) → Moment k n b degree) |
| 54 | (oA oB : Unit (H := H) (N := N) (E := E)) |
| 55 | (holes : HoleData (Component (Tag k) → Frame (Coordinate k n b degree) H N E) |
| 56 | (Profile k n b degree) (Component (Tag k) → Matrix N N Binary)) |
| 57 | (hrole : holes.a = D.role) (hgradient : holes.T = gradient D L R) |
| 58 | (hU : ∀ o, holes.U o = (profileMap o).comp (Profile k n b degree).subtype) |
| 59 | (hu : ∀ o, holes.u o = profileContraction o) |
| 60 | (hkeys : MatchedKeys W oA oB) |
| 61 | (hroles : ∀ i z, D.role (leftWitness W i z) + D.role (rightWitness W i z) = 1) |
| 62 | (G : CrossForms (Component (Tag k)) (Coordinate k n b degree) H) |
| 63 | (heq : entries (rawForms oA oB) = entries G) |
| 64 | (hleft : ∀ i z x, fullContraction G (Profile k n b degree) i z x = |
| 65 | (D.role + gradient D L R (leftWitness W i z)) x) |
| 66 | (hright : ∀ i z x, fullContraction G.flip (Profile k n b degree) z i x = |
| 67 | (D.role + gradient D L R (rightWitness W i z)) x) : |
| 68 | ∀ i z, Hole holes (oA i) (oB z) |
| 69 | |
| 70 | axiom record_count {Comp B H : Type} [Fintype Comp] [Fintype B] [Fintype H] : |
| 71 | by |
| 72 | classical |
| 73 | exact Fintype.card (EntryIndex Comp B H → Binary) = |
| 74 | 2 ^ (16 * Fintype.card Comp * Fintype.card H * Fintype.card B) |
| 75 | |
| 76 | end Lax342547.PrimalRecords |
| 77 |
Builds on
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments