pith. machine review for the scientific record. sign in

IndisputableMonolith.NavierStokes.FRCBridge

IndisputableMonolith/NavierStokes/FRCBridge.lean · 176 lines · 17 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.NavierStokes.PhiLadderCutoff
   3
   4/-!
   5# Lattice FRC Bridge
   6
   7This module closes the logical loop between the lattice φ-ladder cutoff result
   8and the conditional-completion route from the Navier--Stokes regularity paper.
   9
  10The key point is that on a finite RS lattice the normalized vorticity ratio
  11`ω_max / ω_rms` is automatically finite-volume controlled. This supplies a
  12finite recognition-cost bound, which can then be fed into any abstract
  13conditional-completion route of the form
  14
  15`FRC -> injection_damping -> direction_constancy -> rigid_rotation_veto -> regularity`.
  16
  17The PDE-heavy steps remain external to this module; what is formalized here is
  18the exact logical bridge from the lattice cutoff theorem to the hypothesis used
  19by the conditional paper.
  20-/
  21
  22namespace IndisputableMonolith
  23namespace NavierStokes
  24namespace FRCBridge
  25
  26open PhiLadderCutoff
  27
  28noncomputable section
  29
  30/-! ## Finite-volume lattice profile -/
  31
  32/-- A finite-volume vorticity profile on an RS lattice.
  33
  34`siteCount` is the number of active lattice sites in the finite window.
  35`omegaMax` and `omegaRms` package the relevant scale information.
  36The field `finiteVolumeControl` is the finite-volume norm-equivalence input:
  37on a finite lattice, pointwise amplitude is controlled by `sqrt(siteCount)` times
  38the RMS scale. -/
  39structure FiniteVolumeProfile where
  40  siteCount : ℕ
  41  siteCount_pos : 0 < siteCount
  42  omegaMax : ℝ
  43  omegaRms : ℝ
  44  omegaRms_pos : 0 < omegaRms
  45  omegaRms_le_max : omegaRms ≤ omegaMax
  46  finiteVolumeControl : omegaMax ≤ Real.sqrt siteCount * omegaRms
  47
  48/-- The normalized ratio used by the lattice FRC bridge. -/
  49def normalizedRatio (s : FiniteVolumeProfile) : ℝ :=
  50  s.omegaMax / s.omegaRms
  51
  52theorem normalizedRatio_pos (s : FiniteVolumeProfile) : 0 < normalizedRatio s := by
  53  unfold normalizedRatio
  54  exact div_pos (lt_of_lt_of_le s.omegaRms_pos s.omegaRms_le_max) s.omegaRms_pos
  55
  56theorem normalizedRatio_ge_one (s : FiniteVolumeProfile) : 1 ≤ normalizedRatio s := by
  57  unfold normalizedRatio
  58  exact (one_le_div s.omegaRms_pos).2 s.omegaRms_le_max
  59
  60theorem normalizedRatio_le_sqrt_siteCount (s : FiniteVolumeProfile) :
  61    normalizedRatio s ≤ Real.sqrt s.siteCount := by
  62  unfold normalizedRatio
  63  rw [div_le_iff₀ s.omegaRms_pos]
  64  simpa [mul_comm, mul_left_comm, mul_assoc] using s.finiteVolumeControl
  65
  66/-! ## Bounding J-cost on the lattice -/
  67
  68/-- On the half-line `[1, ∞)`, the canonical cost is bounded by the identity.
  69
  70This is the simple estimate needed for the finite-volume FRC bound:
  71`J(x) = (x + x⁻¹)/2 - 1 ≤ x` whenever `x ≥ 1`. -/
  72theorem Jcost_le_self_of_one_le {x : ℝ} (hx : 1 ≤ x) : Jcost x ≤ x := by
  73  unfold Jcost
  74  have hinv_one : x⁻¹ ≤ 1 := inv_le_one_of_one_le₀ hx
  75  have hinv_le : x⁻¹ ≤ x := le_trans hinv_one hx
  76  linarith
  77
  78/-- The explicit finite-volume recognition-cost bound on the RS lattice. -/
  79theorem finiteVolume_Jcost_bound (s : FiniteVolumeProfile) :
  80    Jcost (normalizedRatio s) ≤ Real.sqrt s.siteCount := by
  81  have h₁ : 1 ≤ normalizedRatio s := normalizedRatio_ge_one s
  82  have h₂ : Jcost (normalizedRatio s) ≤ normalizedRatio s :=
  83    Jcost_le_self_of_one_le h₁
  84  exact le_trans h₂ (normalizedRatio_le_sqrt_siteCount s)
  85
  86/-- Strong lattice FRC: the cost is bounded by the explicit finite-volume constant
  87`sqrt(siteCount)`. -/
  88def RSLatticeFRC (s : FiniteVolumeProfile) : Prop :=
  89  Jcost (normalizedRatio s) ≤ Real.sqrt s.siteCount
  90
  91/-- Weak lattice FRC: there exists some finite bound. -/
  92def LatticeFRC (s : FiniteVolumeProfile) : Prop :=
  93  ∃ B : ℝ, Jcost (normalizedRatio s) ≤ B
  94
  95theorem frc_holds_on_RS_lattice (s : FiniteVolumeProfile) : RSLatticeFRC s :=
  96  finiteVolume_Jcost_bound s
  97
  98theorem frc_holds_on_RS_lattice_exists (s : FiniteVolumeProfile) : LatticeFRC s :=
  99  ⟨Real.sqrt s.siteCount, frc_holds_on_RS_lattice s⟩
 100
 101/-! ## Abstract conditional-completion route -/
 102
 103/-- Abstract interface for the conditional-completion route.
 104
 105This isolates the heavy PDE part of the argument while making the logical bridge
 106fully explicit in Lean. -/
 107structure ConditionalCompletionRoute (α : Type) where
 108  FRC : α → Prop
 109  InjectionDamping : α → Prop
 110  DirectionConstancy : α → Prop
 111  RigidRotationVeto : α → Prop
 112  Regularity : α → Prop
 113  frc_to_injectionDamping : ∀ a, FRC a → InjectionDamping a
 114  injectionDamping_to_directionConstancy : ∀ a, InjectionDamping a → DirectionConstancy a
 115  directionConstancy_to_rigidRotationVeto : ∀ a, DirectionConstancy a → RigidRotationVeto a
 116  rigidRotationVeto_to_regularity : ∀ a, RigidRotationVeto a → Regularity a
 117
 118/-- Once FRC is known on the lattice, any conditional-completion route closes. -/
 119theorem close_conditional_loop {α : Type} (route : ConditionalCompletionRoute α) {a : α}
 120    (hFRC : route.FRC a) : route.Regularity a := by
 121  have hID : route.InjectionDamping a := route.frc_to_injectionDamping a hFRC
 122  have hDC : route.DirectionConstancy a :=
 123    route.injectionDamping_to_directionConstancy a hID
 124  have hRR : route.RigidRotationVeto a :=
 125    route.directionConstancy_to_rigidRotationVeto a hDC
 126  exact route.rigidRotationVeto_to_regularity a hRR
 127
 128/-- A regularity certificate obtained by running the conditional route on a
 129finite RS lattice profile. -/
 130structure LatticeRegularityCertificate
 131    (route : ConditionalCompletionRoute FiniteVolumeProfile)
 132    (profile : FiniteVolumeProfile) where
 133  frcBound : ℝ
 134  frcBound_nonneg : 0 ≤ frcBound
 135  frcProof : RSLatticeFRC profile
 136  injectionDamping : route.InjectionDamping profile
 137  directionConstancy : route.DirectionConstancy profile
 138  rigidRotationVeto : route.RigidRotationVeto profile
 139  regularity : route.Regularity profile
 140
 141/-- The lattice FRC theorem is enough to instantiate the conditional route. -/
 142theorem lattice_regular_via_direction_constancy
 143    (route : ConditionalCompletionRoute FiniteVolumeProfile)
 144    (profile : FiniteVolumeProfile)
 145    (hFRCBridge : ∀ s : FiniteVolumeProfile, RSLatticeFRC s → route.FRC s) :
 146    route.Regularity profile := by
 147  apply close_conditional_loop route
 148  exact hFRCBridge profile (frc_holds_on_RS_lattice profile)
 149
 150/-! ## Packaged certificate -/
 151
 152/-- The full logical closure package for the lattice-to-conditional bridge. -/
 153structure FRCBridgeCert where
 154  frc_on_lattice :
 155    ∀ s : FiniteVolumeProfile, RSLatticeFRC s
 156  frc_exists_bound :
 157    ∀ s : FiniteVolumeProfile, LatticeFRC s
 158  conditional_loop :
 159    ∀ (route : ConditionalCompletionRoute FiniteVolumeProfile)
 160      (profile : FiniteVolumeProfile),
 161      (∀ s : FiniteVolumeProfile, RSLatticeFRC s → route.FRC s) →
 162      route.Regularity profile
 163
 164/-- The lattice FRC bridge certificate. -/
 165def frcBridgeCert : FRCBridgeCert where
 166  frc_on_lattice := frc_holds_on_RS_lattice
 167  frc_exists_bound := frc_holds_on_RS_lattice_exists
 168  conditional_loop := fun route profile hFRCBridge =>
 169    lattice_regular_via_direction_constancy route profile hFRCBridge
 170
 171end
 172
 173end FRCBridge
 174end NavierStokes
 175end IndisputableMonolith
 176

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