Pith. sign in

IndisputableMonolith.Verification.NyquistObstructionCert

IndisputableMonolith/Verification/NyquistObstructionCert.lean · 105 lines · 3 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Patterns
   3
   4/-!
   5# Nyquist Obstruction Certificate (T7)
   6
   7This certificate proves the **Nyquist obstruction theorem** (T7):
   8
   9> If T < 2^D, there is no surjection from Fin T to D-bit patterns.
  10
  11This is a fundamental result connecting information theory to the RS ledger:
  12- **Physical meaning**: A system sampling at rate T cannot resolve D bits if T < 2^D
  13- **RS meaning**: The ledger clock period must be ≥ 2^D to cover all D-dimensional states
  14
  15## Key Results
  16
  171. **Obstruction**: T < 2^D → no complete cover of period T
  182. **Threshold bijection**: At T = 2^D, a bijection exists (no aliasing)
  19
  20## Why This Matters
  21
  22This is the **information-theoretic foundation** of the eight-tick period:
  23- D = 3 spatial dimensions → minimum period = 2³ = 8
  24- Any shorter period would cause "Nyquist aliasing" in the ledger
  25
  26Together with EightTickLowerBoundCert, this certificate shows that 8 ticks is:
  27- **Sufficient**: period_exactly_8 gives a complete cover
  28- **Necessary**: Nyquist obstruction prevents anything shorter
  29- **Bijective**: At threshold, no redundancy (perfect efficiency)
  30
  31## Non-Circularity
  32
  33All proofs are structural:
  34- Pigeonhole principle (cardinality comparison)
  35- Fintype equivalence constructions
  36- No axioms, no `sorry`, no measurement constants
  37-/
  38
  39namespace IndisputableMonolith
  40namespace Verification
  41namespace NyquistObstruction
  42
  43open IndisputableMonolith.Patterns
  44
  45structure NyquistObstructionCert where
  46  deriving Repr
  47
  48/-- Verification predicate: Nyquist obstruction and threshold bijection.
  49
  50Certifies:
  511. T < 2^D → no surjection Fin T → Pattern D (aliasing)
  522. T = 2^D → bijection exists (no aliasing)
  533. For D = 3, explicit instances: T < 8 → no cover, T = 8 → bijection
  54-/
  55@[simp] def NyquistObstructionCert.verified (_c : NyquistObstructionCert) : Prop :=
  56  -- 1) General Nyquist obstruction
  57  (∀ (T D : ℕ), T < 2^D → ¬∃ f : Fin T → Pattern D, Function.Surjective f) ∧
  58  -- 2) Threshold bijection (at T = 2^D, aliasing-free bijection exists)
  59  (∀ D : ℕ, ∃ f : Fin (2^D) → Pattern D, Function.Bijective f) ∧
  60  -- 3) For D = 3 specifically: T < 8 means no complete cover
  61  (∀ T : ℕ, T < 8 → ¬∃ f : Fin T → Pattern 3, Function.Surjective f) ∧
  62  -- 4) For D = 3 specifically: T = 8 has a bijection
  63  (∃ f : Fin 8 → Pattern 3, Function.Bijective f) ∧
  64  -- 5) Pattern space cardinality formula
  65  (∀ d : ℕ, Fintype.card (Pattern d) = 2^d)
  66
  67/-- Top-level theorem: the Nyquist obstruction certificate verifies. -/
  68@[simp] theorem NyquistObstructionCert.verified_any (c : NyquistObstructionCert) :
  69    NyquistObstructionCert.verified c := by
  70  refine ⟨?obstruction, ?threshold, ?obstruction3, ?threshold3, ?card⟩
  71  · -- 1) General Nyquist obstruction
  72    intro T D hT
  73    exact T7_nyquist_obstruction hT
  74  · -- 2) Threshold bijection
  75    intro D
  76    exact T7_threshold_bijection D
  77  · -- 3) D = 3 obstruction: T < 8 → no surjection
  78    intro T hT
  79    have h8 : (8 : ℕ) = 2^3 := by norm_num
  80    rw [h8] at hT
  81    exact T7_nyquist_obstruction hT
  82  · -- 4) D = 3 threshold: T = 8 has bijection
  83    have h8 : (8 : ℕ) = 2^3 := by norm_num
  84    rw [h8]
  85    exact T7_threshold_bijection 3
  86  · -- 5) Cardinality formula
  87    intro d
  88    exact card_pattern d
  89
  90/-- The eight-tick period is forced by Nyquist: neither more nor less. -/
  91theorem eight_tick_nyquist_forced :
  92    (∀ T : ℕ, T < 8 → ¬∃ f : Fin T → Pattern 3, Function.Surjective f) ∧
  93    (∃ f : Fin 8 → Pattern 3, Function.Bijective f) :=
  94  ⟨fun T hT => T7_nyquist_obstruction (by simpa using hT),
  95   by simpa using T7_threshold_bijection 3⟩
  96
  97/-- Information-theoretic interpretation: D bits require 2^D samples minimum. -/
  98theorem information_lower_bound (D : ℕ) :
  99    ∀ T : ℕ, T < 2^D → ¬∃ f : Fin T → Pattern D, Function.Surjective f :=
 100  fun T hT => T7_nyquist_obstruction hT
 101
 102end NyquistObstruction
 103end Verification
 104end IndisputableMonolith
 105

source mirrored from github.com/jonwashburn/shape-of-logic