Pith. sign in

IndisputableMonolith.Verification.NANOGravPTALikelihood

IndisputableMonolith/Verification/NANOGravPTALikelihood.lean · 152 lines · 16 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Verification.FalsifierRegisterDatasets
   3
   4/-!
   5# NANOGrav PTA Likelihood Attachment
   6
   7## Status: STRUCTURAL THEOREM (0 sorry, 0 RS-internal axiom; closure 2026-05-22).
   8
   9This module upgrades the §7 PTA stochastic-GW falsifier row with a
  10dataset-specific likelihood-style certificate.
  11
  12Dataset handle:
  13
  14* NANOGrav 15-year running spectral-index analysis reports a broad
  15  95% credible interval for the running parameter β consistent with
  16  zero, approximately `β ∈ [-0.80, 2.96]`.
  17
  18RS structural target:
  19
  20* `log φ ≈ 0.481`, recorded in
  21  `Verification.FalsifierRegisterDatasets.ptaAttachment.rsTargetScale`.
  22
  23The certificate proves two honest facts:
  24
  251. The RS structural target lies inside the reported broad NANOGrav
  26   95% interval.
  272. The interval is not yet a confirmation of RS: the target is much
  28   smaller than the interval width, and the dataset row remains marked
  29   not currently sensitive in the falsifier-register attachment.
  30
  31This is a consistency / non-sensitivity test, not empirical confirmation.
  32Zero `sorry`. Zero new RS-specific axioms.
  33-/
  34
  35namespace IndisputableMonolith
  36namespace Verification
  37namespace NANOGravPTALikelihood
  38
  39open IndisputableMonolith.Verification.FalsifierRegisterDatasets
  40
  41noncomputable section
  42
  43/-! ## §1. Dataset interval and target -/
  44
  45/-- Lower endpoint of the reported broad NANOGrav 95% β interval. -/
  46def nanogravBetaLower95 : ℝ := -0.80
  47
  48/-- Upper endpoint of the reported broad NANOGrav 95% β interval. -/
  49def nanogravBetaUpper95 : ℝ := 2.96
  50
  51/-- Midpoint of the interval, used only for a likelihood-style residual. -/
  52def nanogravBetaMidpoint : ℝ := (nanogravBetaLower95 + nanogravBetaUpper95) / 2
  53
  54/-- Half-width of the 95% interval, used as a conservative sensitivity scale. -/
  55def nanogravBetaHalfWidth95 : ℝ := (nanogravBetaUpper95 - nanogravBetaLower95) / 2
  56
  57/-- RS structural PTA target, from the §7 dataset attachment. -/
  58def nanogravRSTarget : ℝ := ptaAttachment.rsTargetScale
  59
  60/-- Residual between interval midpoint and RS target. -/
  61def nanogravPTAResidual : ℝ :=
  62  |nanogravBetaMidpoint - nanogravRSTarget|
  63
  64theorem nanogravBetaHalfWidth95_pos : 0 < nanogravBetaHalfWidth95 := by
  65  unfold nanogravBetaHalfWidth95 nanogravBetaUpper95 nanogravBetaLower95
  66  norm_num
  67
  68theorem nanogravRSTarget_pos : 0 < nanogravRSTarget := by
  69  unfold nanogravRSTarget ptaAttachment
  70  norm_num
  71
  72/-! ## §2. Interval inclusion and non-sensitivity -/
  73
  74/-- The RS structural target lies inside the reported NANOGrav β interval. -/
  75theorem nanograv_rs_target_inside_95_interval :
  76    nanogravBetaLower95 < nanogravRSTarget ∧
  77      nanogravRSTarget < nanogravBetaUpper95 := by
  78  unfold nanogravBetaLower95 nanogravBetaUpper95 nanogravRSTarget ptaAttachment
  79  norm_num
  80
  81/-- Residual from midpoint is smaller than the interval half-width. -/
  82theorem nanograv_residual_lt_half_width :
  83    nanogravPTAResidual < nanogravBetaHalfWidth95 := by
  84  unfold nanogravPTAResidual nanogravBetaMidpoint nanogravBetaHalfWidth95
  85    nanogravBetaLower95 nanogravBetaUpper95 nanogravRSTarget ptaAttachment
  86  norm_num
  87
  88/-- The broad interval is not yet sensitive to the RS target scale:
  89the half-width is larger than the target itself. -/
  90theorem nanograv_half_width_gt_rs_target :
  91    nanogravRSTarget < nanogravBetaHalfWidth95 := by
  92  unfold nanogravRSTarget ptaAttachment nanogravBetaHalfWidth95
  93    nanogravBetaUpper95 nanogravBetaLower95
  94  norm_num
  95
  96/-- PTA dataset attachment is present, positive, and explicitly marked
  97not currently sensitive. -/
  98theorem nanograv_dataset_attachment_status :
  99    HasPositiveSensitivity ptaAttachment ∧
 100    HasPositiveTargetScale ptaAttachment ∧
 101    ptaAttachment.currentlySensitive = false :=
 102  ⟨pta_sensitivity_pos, pta_target_pos, rfl⟩
 103
 104/-! ## §3. Master cert -/
 105
 106structure NANOGravPTALikelihoodCert where
 107  half_width_pos : 0 < nanogravBetaHalfWidth95
 108  target_pos : 0 < nanogravRSTarget
 109  target_inside_interval :
 110    nanogravBetaLower95 < nanogravRSTarget ∧
 111      nanogravRSTarget < nanogravBetaUpper95
 112  residual_lt_half_width :
 113    nanogravPTAResidual < nanogravBetaHalfWidth95
 114  not_currently_sensitive :
 115    nanogravRSTarget < nanogravBetaHalfWidth95
 116  dataset_status :
 117    HasPositiveSensitivity ptaAttachment ∧
 118    HasPositiveTargetScale ptaAttachment ∧
 119    ptaAttachment.currentlySensitive = false
 120
 121def nanogravPTALikelihoodCert : NANOGravPTALikelihoodCert where
 122  half_width_pos := nanogravBetaHalfWidth95_pos
 123  target_pos := nanogravRSTarget_pos
 124  target_inside_interval := nanograv_rs_target_inside_95_interval
 125  residual_lt_half_width := nanograv_residual_lt_half_width
 126  not_currently_sensitive := nanograv_half_width_gt_rs_target
 127  dataset_status := nanograv_dataset_attachment_status
 128
 129theorem nanogravPTALikelihoodCert_inhabited :
 130    Nonempty NANOGravPTALikelihoodCert :=
 131  ⟨nanogravPTALikelihoodCert⟩
 132
 133/-- One-statement NANOGrav PTA likelihood attachment theorem. -/
 134theorem nanograv_pta_likelihood_one_statement :
 135    (nanogravBetaLower95 < nanogravRSTarget ∧
 136      nanogravRSTarget < nanogravBetaUpper95) ∧
 137    (nanogravPTAResidual < nanogravBetaHalfWidth95) ∧
 138    (nanogravRSTarget < nanogravBetaHalfWidth95) ∧
 139    (ptaAttachment.currentlySensitive = false) ∧
 140    Nonempty NANOGravPTALikelihoodCert :=
 141  ⟨nanograv_rs_target_inside_95_interval,
 142   nanograv_residual_lt_half_width,
 143   nanograv_half_width_gt_rs_target,
 144   rfl,
 145   nanogravPTALikelihoodCert_inhabited⟩
 146
 147end
 148
 149end NANOGravPTALikelihood
 150end Verification
 151end IndisputableMonolith
 152

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