Free bits of the complete nonadaptive test
Lax253009.LongCodePatterns · concepts/Lax253009/LongCodePatterns.lean · lax-253009
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
For fixed random functions, record an accepting table only at queried coordinates, leaving other coordinates unspecified. There are at most distinct such answer patterns. The same bound holds when all the queries imposed by a side condition are included. Thus the CNA test and its extension both use at most free bits.
Patterns are explicitly enumerated as restrictions of accepting tables. The bound counts distinct patterns, not distinct tables: the unqueried entries of a table can be arbitrary.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax253009.LongCode |
| 2 | import Mathlib.Data.Fintype.Option |
| 3 | import Mathlib.Data.Finset.Card |
| 4 | |
| 5 | /-! |
| 6 | --- |
| 7 | title: Free bits of the complete nonadaptive test |
| 8 | type: theorem |
| 9 | --- |
| 10 | For fixed random functions, record an accepting table only at queried |
| 11 | coordinates, leaving other coordinates unspecified. There are at most |
| 12 | distinct such answer patterns. The same bound holds when all the |
| 13 | queries imposed by a side condition are included. Thus the CNA test and |
| 14 | its extension both use at most free bits. |
| 15 | |
| 16 | Patterns are explicitly enumerated as restrictions of accepting tables. |
| 17 | The bound counts distinct patterns, not distinct tables: the unqueried |
| 18 | entries of a table can be arbitrary. |
| 19 | -/ |
| 20 | |
| 21 | namespace Lax253009.LongCodePatterns |
| 22 | |
| 23 | open LongCode |
| 24 | |
| 25 | abbrev Pattern (w : ℕ) := Coordinate w → Option Bool |
| 26 | |
| 27 | noncomputable def restrict {w : ℕ} (Q : Coordinate w → Prop) (A : Table w) : |
| 28 | Pattern w := by |
| 29 | classical |
| 30 | exact fun g ↦ if Q g then some (A g) else none |
| 31 | |
| 32 | noncomputable def patterns {w s : ℕ} (f : Fin s → Coordinate w) : Finset (Pattern w) := by |
| 33 | classical |
| 34 | exact (Finset.univ.filter (fun A : Table w ↦ Accepts A f)).image (restrict (Queried f)) |
| 35 | |
| 36 | def SideQueried {w s : ℕ} (f : Fin s → Coordinate w) (h g' : Coordinate w) : Prop := |
| 37 | ∃ g, Queried f g ∧ AgreesOn h g g' |
| 38 | |
| 39 | noncomputable def sidePatterns {w s : ℕ} (f : Fin s → Coordinate w) |
| 40 | (h : Coordinate w) : Finset (Pattern w) := by |
| 41 | classical |
| 42 | exact (Finset.univ.filter (fun A : Table w ↦ AcceptsWithCondition A f h)).image |
| 43 | (restrict (SideQueried f h)) |
| 44 | |
| 45 | axiom free_bits {w s : ℕ} (f : Fin s → Coordinate w) : |
| 46 | (patterns f).card ≤ 2 ^ s |
| 47 | |
| 48 | axiom side_free_bits {w s : ℕ} (f : Fin s → Coordinate w) (h : Coordinate w) : |
| 49 | (sidePatterns f h).card ≤ 2 ^ s |
| 50 | |
| 51 | end Lax253009.LongCodePatterns |
| 52 |
Builds on
Used by
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments