pith. machine review for the scientific record. sign in

IndisputableMonolith.Mathematics.NavierStokesRegimes

IndisputableMonolith/Mathematics/NavierStokesRegimes.lean · 55 lines · 7 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: ready · generated 2026-05-15 02:56:26.713233+00:00

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# Navier-Stokes Regimes — Structural Enumeration
   6
   7Five canonical turbulent-flow regimes (= configDim D = 5):
   8  laminar, transitional, fully-developed turbulent, inertial-range,
   9  dissipative-subrange.
  10
  11Reynolds number rungs on a φ-ladder separate the regimes.
  12
  13Note: structural enumeration only. This module is not a closure of
  14the Clay Millennium Navier-Stokes problem; it makes no claim about
  15global regularity.
  16
  17Lean status: 0 sorry, 0 axiom.
  18-/
  19
  20namespace IndisputableMonolith.Mathematics.NavierStokesRegimes
  21open Constants
  22
  23inductive FlowRegime where
  24  | laminar
  25  | transitional
  26  | fullyTurbulent
  27  | inertialRange
  28  | dissipativeSubrange
  29  deriving DecidableEq, Repr, BEq, Fintype
  30
  31theorem flowRegime_count : Fintype.card FlowRegime = 5 := by decide
  32
  33noncomputable def reynoldsThreshold (k : ℕ) : ℝ := phi ^ k
  34
  35theorem reynolds_ratio (k : ℕ) :
  36    reynoldsThreshold (k + 1) / reynoldsThreshold k = phi := by
  37  unfold reynoldsThreshold
  38  have hpos : (0 : ℝ) < phi ^ k := pow_pos phi_pos k
  39  rw [div_eq_iff hpos.ne', pow_succ]
  40  ring
  41
  42theorem reynolds_pos (k : ℕ) : 0 < reynoldsThreshold k := pow_pos phi_pos k
  43
  44structure NavierStokesRegimesCert where
  45  five_regimes : Fintype.card FlowRegime = 5
  46  phi_ratio : ∀ k, reynoldsThreshold (k + 1) / reynoldsThreshold k = phi
  47  reynolds_always_pos : ∀ k, 0 < reynoldsThreshold k
  48
  49noncomputable def navierStokesRegimesCert : NavierStokesRegimesCert where
  50  five_regimes := flowRegime_count
  51  phi_ratio := reynolds_ratio
  52  reynolds_always_pos := reynolds_pos
  53
  54end IndisputableMonolith.Mathematics.NavierStokesRegimes
  55

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