Pith. sign in

IndisputableMonolith.QFT.CasimirNumericalBounds

IndisputableMonolith/QFT/CasimirNumericalBounds.lean · 82 lines · 8 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.QFT.CasimirPlateModes
   3
   4/-!
   5# Numerical Casimir Bounds
   6
   7This module gives an explicit pressure interval at unit RS separation.  It is
   8deliberately conservative: the upper bound uses only `π < 4`, `ℏ < 1`, and
   9`c = 1`.
  10-/
  11
  12namespace IndisputableMonolith
  13namespace QFT
  14namespace CasimirNumericalBounds
  15
  16open CasimirPlateModes
  17open Constants
  18
  19noncomputable section
  20
  21/-- Unit RS-native plate separation. -/
  22def unitSeparation : PlateSeparation where
  23  value := 1
  24  pos := by norm_num
  25
  26/-- The positive magnitude of the ideal Casimir pressure at unit separation. -/
  27noncomputable def unitPressureMagnitude : ℝ :=
  28  -idealPressure unitSeparation
  29
  30/-- Unit-separation Casimir pressure magnitude is positive. -/
  31theorem unitPressureMagnitude_pos :
  32    0 < unitPressureMagnitude := by
  33  unfold unitPressureMagnitude
  34  exact neg_pos.mpr (idealPressure_negative unitSeparation)
  35
  36/-- Conservative explicit upper bound at unit RS separation. -/
  37theorem unitPressureMagnitude_lt_one :
  38    unitPressureMagnitude < 1 := by
  39  unfold unitPressureMagnitude idealPressure unitSeparation
  40  simp only
  41  have hpi2 : Real.pi ^ 2 < 16 := by
  42    nlinarith [Real.pi_pos, Real.pi_lt_four]
  43  have hh : hbar < 1 := hbar_lt_one
  44  have hc : c = 1 := rfl
  45  rw [hc]
  46  have hpos : 0 < Real.pi ^ 2 := sq_pos_of_pos Real.pi_pos
  47  have hmul : Real.pi ^ 2 * hbar < 16 := by
  48    nlinarith [hpi2, hbar_pos, hh, hpos]
  49  nlinarith
  50
  51/-- Pressure-interval falsifier at a chosen separation. -/
  52structure PressureIntervalFalsifier where
  53  separation : PlateSeparation
  54  lower : ℝ
  55  upper : ℝ
  56  measuredMagnitude : ℝ
  57  proved_interval : lower < -idealPressure separation ∧ -idealPressure separation < upper
  58  falsifies : Prop := measuredMagnitude ≤ lower ∨ upper ≤ measuredMagnitude
  59
  60/-- The unit-separation falsifier interval. -/
  61def unitPressureInterval (measuredMagnitude : ℝ) : PressureIntervalFalsifier where
  62  separation := unitSeparation
  63  lower := 0
  64  upper := 1
  65  measuredMagnitude := measuredMagnitude
  66  proved_interval := ⟨unitPressureMagnitude_pos, unitPressureMagnitude_lt_one⟩
  67
  68/-- Numerical-bound certificate. -/
  69structure NumericalBoundCert where
  70  unit_interval :
  71    0 < -idealPressure unitSeparation ∧ -idealPressure unitSeparation < 1
  72
  73/-- Certificate instance for the unit-pressure interval. -/
  74def numericalBoundCert : NumericalBoundCert where
  75  unit_interval := ⟨unitPressureMagnitude_pos, unitPressureMagnitude_lt_one⟩
  76
  77end
  78
  79end CasimirNumericalBounds
  80end QFT
  81end IndisputableMonolith
  82

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