Pith. sign in

IndisputableMonolith.Verification.GWTC3RingdownKerr2200MDampingFamily

IndisputableMonolith/Verification/GWTC3RingdownKerr2200MDampingFamily.lean · 178 lines · 28 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Verification.GWTC3RingdownFilenameTaxonomy
   3import IndisputableMonolith.Verification.GWTC3RingdownDS1Mode10MDampingFamily
   4
   5/-!
   6# GWTC-3 Ringdown Kerr_220_0M Family Damping Statistic
   7
   8## Status: STRUCTURAL THEOREM (0 sorry, 0 RS-internal axiom; closure 2026-05-22).
   9
  10This module records the first controlled Kerr-family scaling of the QNM
  11damping statistic.
  12
  13Family:
  14
  15* model `Kerr_220_0M`
  16* 22 HDF5 files
  17* 22 events
  18* 647,220 pooled posterior samples
  19
  20Observable:
  21
  22For Kerr files the posterior table has `af` rather than explicit
  23`f_t_0` and `tau_t_0`. The companion script uses the standard Berti-style
  24Kerr-220 quality-factor fit
  25
  26`Q_220(a) = 0.7000 + 1.4187 (1-a)^(-0.4990)`
  27
  28and maps it to
  29
  30`damping_per_cycle = exp(-π / Q_220)`.
  31
  32RS target:
  33
  34* `1/φ ≈ 0.618033988750`
  35
  36Result:
  37
  38* pooled mean `0.438208510863`
  39* pooled std `0.122250226107`
  40* pooled median `0.433285700166`
  41* pooled q05/q95 `0.249303771620 / 0.643869947920`
  42* pooled q16/q84 `0.299869164713 / 0.575770415071`
  43* target inside pooled 90% but not inside pooled 68%
  44* 3 of 22 member-level central 68% intervals contain the target
  45
  46This is controlled-family only. It is not a full archive likelihood.
  47Zero `sorry`. Zero new RS-specific axioms.
  48-/
  49
  50namespace IndisputableMonolith
  51namespace Verification
  52namespace GWTC3RingdownKerr2200MDampingFamily
  53
  54open IndisputableMonolith.Verification.GWTC3RingdownFilenameTaxonomy
  55open IndisputableMonolith.Verification.GWTC3RingdownDS1Mode10MDampingFamily
  56
  57/-! ## §1. Family constants -/
  58
  59def kerr2200ModelName : String := "Kerr_220_0M"
  60def kerr2200MemberCount : Nat := 22
  61def kerr2200EventCount : Nat := 22
  62def kerr2200TotalSampleCount : Nat := 647220
  63def kerr2200RSDampingTarget : ℝ := 0.618033988750
  64def kerr2200PooledMean : ℝ := 0.438208510863
  65def kerr2200PooledStd : ℝ := 0.122250226107
  66def kerr2200PooledMedian : ℝ := 0.433285700166
  67def kerr2200PooledQ05 : ℝ := 0.249303771620
  68def kerr2200PooledQ16 : ℝ := 0.299869164713
  69def kerr2200PooledQ84 : ℝ := 0.575770415071
  70def kerr2200PooledQ95 : ℝ := 0.643869947920
  71def kerr2200PooledZFromMean : ℝ := 1.470962
  72def kerr2200PooledFractionBelowTarget : ℝ := 0.914513
  73def kerr2200MembersInside68Count : Nat := 3
  74
  75/-! ## §2. Count and interval facts -/
  76
  77theorem kerr2200_member_count_pos : 0 < kerr2200MemberCount := by
  78  unfold kerr2200MemberCount
  79  decide
  80
  81theorem kerr2200_event_count_pos : 0 < kerr2200EventCount := by
  82  unfold kerr2200EventCount
  83  decide
  84
  85theorem kerr2200_sample_count_pos : 0 < kerr2200TotalSampleCount := by
  86  unfold kerr2200TotalSampleCount
  87  decide
  88
  89theorem kerr2200_target_inside_pooled_90 :
  90    kerr2200PooledQ05 < kerr2200RSDampingTarget ∧
  91      kerr2200RSDampingTarget < kerr2200PooledQ95 := by
  92  unfold kerr2200PooledQ05 kerr2200RSDampingTarget kerr2200PooledQ95
  93  norm_num
  94
  95theorem kerr2200_target_not_inside_pooled_68 :
  96    kerr2200PooledQ84 < kerr2200RSDampingTarget := by
  97  unfold kerr2200PooledQ84 kerr2200RSDampingTarget
  98  norm_num
  99
 100theorem kerr2200_z_from_mean_gt_one :
 101    1 < kerr2200PooledZFromMean := by
 102  unfold kerr2200PooledZFromMean
 103  norm_num
 104
 105theorem kerr2200_fraction_below_target_valid :
 106    0 < kerr2200PooledFractionBelowTarget ∧ kerr2200PooledFractionBelowTarget < 1 := by
 107  unfold kerr2200PooledFractionBelowTarget
 108  norm_num
 109
 110theorem kerr2200_members_inside68_nonzero :
 111    0 < kerr2200MembersInside68Count ∧ kerr2200MembersInside68Count < kerr2200MemberCount := by
 112  unfold kerr2200MembersInside68Count kerr2200MemberCount
 113  decide
 114
 115theorem ds_vs_kerr_mean_order :
 116    kerr2200PooledMean < dsPooledMean := by
 117  unfold kerr2200PooledMean dsPooledMean
 118  norm_num
 119
 120/-! ## §3. Master cert -/
 121
 122structure GWTC3RingdownKerr2200MDampingFamilyCert where
 123  member_count_pos : 0 < kerr2200MemberCount
 124  event_count_pos : 0 < kerr2200EventCount
 125  sample_count_pos : 0 < kerr2200TotalSampleCount
 126  target_inside_pooled_90 :
 127    kerr2200PooledQ05 < kerr2200RSDampingTarget ∧
 128      kerr2200RSDampingTarget < kerr2200PooledQ95
 129  target_not_inside_pooled_68 :
 130    kerr2200PooledQ84 < kerr2200RSDampingTarget
 131  z_gt_one : 1 < kerr2200PooledZFromMean
 132  fraction_valid :
 133    0 < kerr2200PooledFractionBelowTarget ∧ kerr2200PooledFractionBelowTarget < 1
 134  member_inside_count_nonzero :
 135    0 < kerr2200MembersInside68Count ∧ kerr2200MembersInside68Count < kerr2200MemberCount
 136  ds_mean_greater :
 137    kerr2200PooledMean < dsPooledMean
 138  taxonomy_available : Nonempty GWTC3RingdownFilenameTaxonomyCert
 139  ds_family_available : Nonempty GWTC3RingdownDS1Mode10MDampingFamilyCert
 140
 141def gwtc3RingdownKerr2200MDampingFamilyCert :
 142    GWTC3RingdownKerr2200MDampingFamilyCert where
 143  member_count_pos := kerr2200_member_count_pos
 144  event_count_pos := kerr2200_event_count_pos
 145  sample_count_pos := kerr2200_sample_count_pos
 146  target_inside_pooled_90 := kerr2200_target_inside_pooled_90
 147  target_not_inside_pooled_68 := kerr2200_target_not_inside_pooled_68
 148  z_gt_one := kerr2200_z_from_mean_gt_one
 149  fraction_valid := kerr2200_fraction_below_target_valid
 150  member_inside_count_nonzero := kerr2200_members_inside68_nonzero
 151  ds_mean_greater := ds_vs_kerr_mean_order
 152  taxonomy_available := gwtc3RingdownFilenameTaxonomyCert_inhabited
 153  ds_family_available := gwtc3RingdownDS1Mode10MDampingFamilyCert_inhabited
 154
 155theorem gwtc3RingdownKerr2200MDampingFamilyCert_inhabited :
 156    Nonempty GWTC3RingdownKerr2200MDampingFamilyCert :=
 157  ⟨gwtc3RingdownKerr2200MDampingFamilyCert⟩
 158
 159/-- One-statement Kerr-family damping theorem. -/
 160theorem gwtc3_ringdown_kerr2200m_damping_family_one_statement :
 161    (kerr2200MemberCount = 22) ∧
 162    (kerr2200EventCount = 22) ∧
 163    (kerr2200TotalSampleCount = 647220) ∧
 164    (kerr2200PooledQ05 < kerr2200RSDampingTarget ∧
 165      kerr2200RSDampingTarget < kerr2200PooledQ95) ∧
 166    (kerr2200PooledQ84 < kerr2200RSDampingTarget) ∧
 167    (kerr2200PooledMean < dsPooledMean) ∧
 168    Nonempty GWTC3RingdownKerr2200MDampingFamilyCert :=
 169  ⟨rfl, rfl, rfl,
 170   kerr2200_target_inside_pooled_90,
 171   kerr2200_target_not_inside_pooled_68,
 172   ds_vs_kerr_mean_order,
 173   gwtc3RingdownKerr2200MDampingFamilyCert_inhabited⟩
 174
 175end GWTC3RingdownKerr2200MDampingFamily
 176end Verification
 177end IndisputableMonolith
 178

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