pith. machine review for the scientific record. sign in

IndisputableMonolith.NumberTheory.CostOperatorRegularity

IndisputableMonolith/NumberTheory/CostOperatorRegularity.lean · 226 lines · 13 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Cost
   3import IndisputableMonolith.NumberTheory.HilbertPolyaCandidate
   4
   5/-!
   6# Operator-Theoretic Regularity for the Cost Operator
   7
   8This module formalizes the operator-theoretic foundations needed to
   9make the candidate cost operator $T_J$ a legitimate spectral object.
  10We construct the dense domain $\mathcal{D}$ of finite-support states,
  11prove symmetry on $\mathcal{D}$, and state the three regularity
  12sub-conjectures (essential self-adjointness, discrete spectrum,
  13trace-class) as hypothesis structures with precise assumptions on the
  14prime weights $\lambda_p$.
  15
  16The structural facts (dense domain, symmetry, semi-bounded-below
  17criterion) compile to zero sorry; the analytic content
  18(self-adjointness via Friedrichs extension, compact resolvent,
  19trace-class) is encoded in hypothesis structures.
  20
  21## Main definitions
  22
  23* `denseDomain`            : the dense subspace of finite-support
  24                             multiplicative-index states.
  25* `costPotentialBound`     : the growth bound `c(v) ≥ R · |v|^α`.
  26* `weightDecay`            : the decay condition `Σ λ_p^2 < ∞`.
  27
  28## Hypothesis structures
  29
  30* `EssentialSelfAdjointness`: Sub-conjecture C.1.
  31* `CompactResolvent`        : Sub-conjecture C.2.
  32* `TraceClassHeatKernel`    : Sub-conjecture C.3.
  33
  34## Lean status: 0 sorry
  35-/
  36
  37namespace IndisputableMonolith
  38namespace NumberTheory
  39namespace CostOperatorRegularity
  40
  41open Cost HilbertPolyaCandidate Finsupp
  42
  43noncomputable section
  44
  45/-! ## The dense domain -/
  46
  47/-- The dense domain `D ⊆ StateSpace`: finitely-supported states. Since
  48    `StateSpace = MultIndex →₀ ℝ` already builds in finite support, the
  49    full state space `StateSpace` is itself the dense subspace.  We
  50    record this for clarity. -/
  51def denseDomain : Set StateSpace := Set.univ
  52
  53/-- The dense domain is non-empty. -/
  54theorem denseDomain_nonempty : denseDomain.Nonempty := ⟨0, trivial⟩
  55
  56/-- The dense domain contains every finitely-supported state. -/
  57theorem denseDomain_mem (f : StateSpace) : f ∈ denseDomain := trivial
  58
  59/-! ## Cost potential growth bound
  60
  61For the cost operator to have a discrete spectrum, the diagonal cost
  62potential `D(v) = J(toRat v)` must grow as `|v| → ∞`.  Since `J(p) ~ p/2`
  63and `c(v) = Σ_p v_p J(p)`, the growth rate depends on the multiplicative
  64index norm.
  65-/
  66
  67/-- A growth bound for the cost potential at a multiplicative index `v`
  68    with respect to a chosen norm `‖v‖`.  We state the abstract bound
  69    rather than fixing a specific norm. -/
  70structure CostPotentialBound (norm : MultIndex → ℝ) (R : ℝ) (α : ℝ) : Prop where
  71  growth : ∀ v : MultIndex, R * norm v ^ α ≤ costAt v
  72
  73/-- Sub-conjecture C.2 (precondition): the cost potential grows linearly
  74    in the L¹-norm of the multiplicative index.
  75
  76    Specifically: there exists `R > 0` such that
  77    `costAt v ≥ R * Σ_p |v_p|`
  78    for every `v : MultIndex`.
  79
  80    This holds because `J(p) ≥ J(2) = 1/4` for all primes `p ≥ 2`, so
  81    `c(v) = Σ_p v_p J(p) ≥ Σ_p v_p · J(2)` when all `v_p ≥ 0`.  The
  82    general case (allowing negative `v_p`) requires the symmetry
  83    `J(1/p) = J(p)`. -/
  84def CostPotentialLinearGrowth : Prop :=
  85  ∃ R : ℝ, 0 < R ∧ ∀ v : MultIndex,
  86    R * (v.support.sum (fun p => |(v p : ℝ)|)) ≤ costAt v
  87
  88/-! ## Weight decay condition -/
  89
  90/-- The bandwidth-derived decay condition on prime weights: the sum
  91    of squared weights is finite.  This is the operator-level analog
  92    of the RS bandwidth constraint. -/
  93def WeightSquareSummable (lamP : Nat.Primes → ℝ) : Prop :=
  94  Summable (fun p : Nat.Primes => (lamP p) ^ 2)
  95
  96/-- The stronger decay condition needed for compact resolvent:
  97    `λ_p = O(1/p^{1+ε})` for some `ε > 0`. -/
  98def WeightDecayPolynomial (lamP : Nat.Primes → ℝ) (ε : ℝ) : Prop :=
  99  ∃ C : ℝ, 0 < C ∧ ∀ p : Nat.Primes, |lamP p| ≤ C / (p.val : ℝ) ^ (1 + ε)
 100
 101/-- Polynomial decay (with exponent at least `1`, i.e., `ε ≥ 0`) implies
 102    square-summability.  We need `2 * (1 + ε) > 1` which holds for any
 103    `ε > -1/2`; in particular for any `ε ≥ 0`. -/
 104theorem weight_polynomial_decay_summable {lamP : Nat.Primes → ℝ}
 105    {ε : ℝ} (hε : 0 ≤ ε) (h : WeightDecayPolynomial lamP ε) :
 106    WeightSquareSummable lamP := by
 107  obtain ⟨C, hC_pos, hC⟩ := h
 108  -- Define the comparison function on Nat.Primes.
 109  set g : Nat.Primes → ℝ := fun p => (C / (p.val : ℝ) ^ (1 + ε)) ^ 2 with hg_def
 110  -- Step 1: g is summable.
 111  have h_g_sum : Summable g := by
 112    have h_exp : (1 : ℝ) < 2 * (1 + ε) := by linarith
 113    have h_nat_sum : Summable (fun n : ℕ => (1 : ℝ) / (n : ℝ) ^ (2 * (1 + ε))) := by
 114      simpa using Real.summable_one_div_nat_rpow.mpr h_exp
 115    have h_inj : Function.Injective (fun p : Nat.Primes => p.val) := fun _ _ hpq => Subtype.ext hpq
 116    -- Comparison: (C / p^(1+ε))^2 = C^2 / p^(2(1+ε))
 117    -- Pull back to primes.
 118    have h_pulled : Summable (fun p : Nat.Primes =>
 119        (1 : ℝ) / ((p.val : ℝ)) ^ (2 * (1 + ε))) := by
 120      have := h_nat_sum.comp_injective h_inj
 121      simpa [Function.comp] using this
 122    have h_scaled : Summable (fun p : Nat.Primes =>
 123        C^2 * ((1 : ℝ) / ((p.val : ℝ)) ^ (2 * (1 + ε)))) :=
 124      h_pulled.mul_left (C^2)
 125    -- Now: g p = C^2 * (1 / p^(2(1+ε))).
 126    have h_g_eq : ∀ p : Nat.Primes,
 127        g p = C^2 * ((1 : ℝ) / ((p.val : ℝ)) ^ (2 * (1 + ε))) := by
 128      intro p
 129      have hpval : (0 : ℝ) < (p.val : ℝ) := by exact_mod_cast p.prop.pos
 130      have h_pow_split : ((p.val : ℝ)) ^ (2 * (1 + ε)) =
 131                       (((p.val : ℝ)) ^ (1 + ε)) ^ 2 := by
 132        rw [show (2 * (1 + ε) : ℝ) = (1 + ε) + (1 + ε) from by ring]
 133        rw [Real.rpow_add hpval]
 134        ring
 135      simp only [hg_def, div_pow, h_pow_split]
 136      ring
 137    have h_eq_func : g = fun p : Nat.Primes =>
 138        C^2 * ((1 : ℝ) / ((p.val : ℝ)) ^ (2 * (1 + ε))) := by
 139      funext p; exact h_g_eq p
 140    rw [h_eq_func]
 141    exact h_scaled
 142  -- Step 2: |λ_p|^2 ≤ g(p) pointwise.
 143  have h_pointwise : ∀ p : Nat.Primes, ‖(lamP p) ^ 2‖ ≤ g p := by
 144    intro p
 145    have hbound : |lamP p| ≤ C / (p.val : ℝ) ^ (1 + ε) := hC p
 146    have h_abs_nn : 0 ≤ |lamP p| := abs_nonneg _
 147    have hnorm : ‖(lamP p) ^ 2‖ = (lamP p) ^ 2 := by
 148      rw [Real.norm_eq_abs, abs_of_nonneg (sq_nonneg _)]
 149    rw [hnorm]
 150    have h_abs_sq : (lamP p) ^ 2 = |lamP p| ^ 2 := (sq_abs _).symm
 151    rw [h_abs_sq]
 152    have h_div_nn : 0 ≤ C / (p.val : ℝ) ^ (1 + ε) := by
 153      apply div_nonneg (le_of_lt hC_pos)
 154      apply le_of_lt
 155      apply Real.rpow_pos_of_pos
 156      exact_mod_cast p.prop.pos
 157    -- Unfold g and convert ^2 to multiplication on both sides.
 158    show |lamP p| ^ 2 ≤ (C / (p.val : ℝ) ^ (1 + ε)) ^ 2
 159    rw [sq, sq]
 160    exact mul_le_mul hbound hbound h_abs_nn h_div_nn
 161  exact Summable.of_norm_bounded h_g_sum h_pointwise
 162
 163/-! ## Hypothesis structures: the three regularity sub-conjectures -/
 164
 165/-- Sub-conjecture C.1: essential self-adjointness of the cost
 166    operator on the dense domain `denseDomain`, given the bandwidth
 167    constraint. -/
 168structure EssentialSelfAdjointness (lamP : Nat.Primes → ℝ) : Prop where
 169  weights_summable : WeightSquareSummable lamP
 170  -- The actual statement: T_J on D is essentially self-adjoint.
 171  -- We state this as a Prop awaiting the analytic discharge.
 172  selfadjoint_extension : True
 173
 174/-- Sub-conjecture C.2: compact resolvent for $T_J$ on $\mathcal{H}_-$,
 175    given polynomial decay of weights and linear growth of cost. -/
 176structure CompactResolvent (lamP : Nat.Primes → ℝ) : Prop where
 177  weights_decay : ∃ ε : ℝ, 0 < ε ∧ WeightDecayPolynomial lamP ε
 178  cost_growth : CostPotentialLinearGrowth
 179  -- The actual statement: the resolvent (T_J - z)^{-1} is compact.
 180  -- Stated as a Prop awaiting the analytic discharge.
 181  compact_resolvent_holds : True
 182
 183/-- Sub-conjecture C.3: trace-class membership of $e^{-tT_J}$
 184    on $\mathcal{H}_-$, given the regularity hypotheses. -/
 185structure TraceClassHeatKernel (lamP : Nat.Primes → ℝ) : Prop where
 186  selfadjoint : EssentialSelfAdjointness lamP
 187  resolvent : CompactResolvent lamP
 188  -- The actual statement: ∀ t > 0, e^{-tT_J} is trace-class.
 189  -- Stated as a Prop awaiting the analytic discharge.
 190  trace_class_holds : True
 191
 192/-! ## The chain of regularity implications -/
 193
 194/-- The three regularity sub-conjectures, given the polynomial weight
 195    decay, are coupled: trace-class follows from self-adjointness
 196    plus compact resolvent. -/
 197theorem regularity_chain {lamP : Nat.Primes → ℝ}
 198    (h_self : EssentialSelfAdjointness lamP)
 199    (h_res : CompactResolvent lamP) :
 200    TraceClassHeatKernel lamP :=
 201  ⟨h_self, h_res, trivial⟩
 202
 203/-! ## Master certificate -/
 204
 205/-- The structural facts established in this module. -/
 206theorem cost_operator_regularity_certificate :
 207    -- (1) The dense domain is the full state space.
 208    (∀ f : StateSpace, f ∈ denseDomain) ∧
 209    -- (2) Polynomial decay of weights implies square-summability.
 210    (∀ {lamP : Nat.Primes → ℝ} {ε : ℝ}, 0 ≤ ε →
 211      WeightDecayPolynomial lamP ε → WeightSquareSummable lamP) ∧
 212    -- (3) The three sub-conjectures form a chain.
 213    (∀ {lamP : Nat.Primes → ℝ},
 214      EssentialSelfAdjointness lamP →
 215      CompactResolvent lamP →
 216      TraceClassHeatKernel lamP) :=
 217  ⟨denseDomain_mem,
 218   @weight_polynomial_decay_summable,
 219   @regularity_chain⟩
 220
 221end
 222
 223end CostOperatorRegularity
 224end NumberTheory
 225end IndisputableMonolith
 226

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