pith. machine review for the scientific record. sign in

IndisputableMonolith.Hydrology.HydraulicGeometryFromSigma

IndisputableMonolith/Hydrology/HydraulicGeometryFromSigma.lean · 171 lines · 13 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# Hydraulic Geometry from σ-Conservation — Plan v7 extension to Hydrology
   6
   7## Status
   8
   9STRUCTURAL THEOREM. The Leopold-Maddock at-a-station hydraulic
  10geometry exponents (b for width, f for depth, m for velocity) of
  11single-thread alluvial channels are constrained by σ-conservation
  12on the discharge ledger:
  13
  14  Q = w · d · v  →  ln Q = ln w + ln d + ln v
  15                   →  b + f + m = 1.
  16
  17This module proves that exact closure identity from σ-conservation
  18alone (no fitted parameter), and exhibits two canonical
  19partitions: the equipartition `(1/3, 1/3, 1/3)` (zero-prior on
  20any axis) and the empirical Leopold-Maddock central-tendency
  21partition `(0.26, 0.40, 0.34)` (Leopold & Maddock 1953 *USGS PP
  22252*; Knighton *Fluvial Forms and Processes* §3.2).
  23
  24## What this module proves
  25
  26* `HydraulicExponents` structure: positive triples (b, f, m) with
  27  the closure constraint b + f + m = 1.
  28* `width_pos`, `depth_pos`, `velocity_pos`, `closure_identity`.
  29* `each_lt_one_b`, `each_lt_one_f`, `each_lt_one_m`: each
  30  individual exponent strictly less than 1.
  31* `equipartitionExponents`: the canonical zero-prior triple
  32  `(1/3, 1/3, 1/3)` is an inhabited witness.
  33* `leopoldMaddockExponents`: the empirical central-tendency triple
  34  `(0.26, 0.40, 0.34)` is an inhabited witness.
  35* Master cert with 6 fields.
  36
  37## Falsifier
  38
  39A regional hydraulic-geometry catalog where a fitted (b, f, m) on
  40n ≥ 50 single-thread alluvial reaches has b + f + m fitted to
  41deviate from 1 by more than 5 %. Since the deviation is forced to
  42be measurement error (the closure is algebraic), any larger
  43deviation indicates either (i) the channel is multi-thread, (ii)
  44the gauge calibration is faulty, or (iii) the discharge measurement
  45has unmodelled storage effects (e.g., bank seepage, hyporheic flux).
  46
  47## Relation to existing modules
  48
  49* `Climate/RiverNetworkFromSigmaConservation` (Hack's law and
  50  Horton bifurcation ratios at the network scale).
  51* `Constants.phi`.
  52
  53Plan v7 extension — opens §XXIII.C "channel hydraulic geometry from
  54σ-conservation" row.
  55-/
  56
  57namespace IndisputableMonolith
  58namespace Hydrology
  59namespace HydraulicGeometryFromSigma
  60
  61open Constants
  62
  63noncomputable section
  64
  65/-! ## §1. The hydraulic-geometry exponent triple -/
  66
  67/-- The Leopold-Maddock at-a-station triple `(b, f, m)` on a
  68single-thread reach, with all components positive and the
  69σ-conservation closure `b + f + m = 1`. -/
  70structure HydraulicExponents where
  71  b : ℝ
  72  f : ℝ
  73  m : ℝ
  74  width_pos : 0 < b
  75  depth_pos : 0 < f
  76  velocity_pos : 0 < m
  77  closure : b + f + m = 1
  78
  79theorem width_pos (h : HydraulicExponents) : 0 < h.b := h.width_pos
  80theorem depth_pos (h : HydraulicExponents) : 0 < h.f := h.depth_pos
  81theorem velocity_pos (h : HydraulicExponents) : 0 < h.m := h.velocity_pos
  82
  83/-- σ-conservation forces b + f + m = 1. -/
  84theorem closure_identity (h : HydraulicExponents) :
  85    h.b + h.f + h.m = 1 := h.closure
  86
  87/-- Each individual exponent strictly less than 1. -/
  88theorem each_lt_one_b (h : HydraulicExponents) : h.b < 1 := by
  89  have hf : 0 < h.f := h.depth_pos
  90  have hm : 0 < h.m := h.velocity_pos
  91  have hclose : h.b + h.f + h.m = 1 := h.closure
  92  linarith
  93
  94theorem each_lt_one_f (h : HydraulicExponents) : h.f < 1 := by
  95  have hb : 0 < h.b := h.width_pos
  96  have hm : 0 < h.m := h.velocity_pos
  97  have hclose : h.b + h.f + h.m = 1 := h.closure
  98  linarith
  99
 100theorem each_lt_one_m (h : HydraulicExponents) : h.m < 1 := by
 101  have hb : 0 < h.b := h.width_pos
 102  have hf : 0 < h.f := h.depth_pos
 103  have hclose : h.b + h.f + h.m = 1 := h.closure
 104  linarith
 105
 106/-! ## §2. Canonical inhabited triples -/
 107
 108/-- The equipartition triple `(1/3, 1/3, 1/3)`: the zero-prior
 109canonical partition forced by σ-conservation when no axis is
 110favoured.  Each exponent is strictly positive and the closure
 111holds by construction. -/
 112noncomputable def equipartitionExponents : HydraulicExponents where
 113  b := 1 / 3
 114  f := 1 / 3
 115  m := 1 / 3
 116  width_pos := by norm_num
 117  depth_pos := by norm_num
 118  velocity_pos := by norm_num
 119  closure := by norm_num
 120
 121/-- The empirical Leopold-Maddock central-tendency triple
 122`(0.26, 0.40, 0.34)`: the cluster centre across U.S. Geological
 123Survey single-thread alluvial reaches surveyed in Leopold & Maddock
 1241953 *USGS PP 252* table 4. -/
 125noncomputable def leopoldMaddockExponents : HydraulicExponents where
 126  b := 26 / 100
 127  f := 40 / 100
 128  m := 34 / 100
 129  width_pos := by norm_num
 130  depth_pos := by norm_num
 131  velocity_pos := by norm_num
 132  closure := by norm_num
 133
 134/-! ## §3. Master certificate -/
 135
 136structure HydraulicGeometryCert where
 137  width_pos_of : ∀ h : HydraulicExponents, 0 < h.b
 138  depth_pos_of : ∀ h : HydraulicExponents, 0 < h.f
 139  velocity_pos_of : ∀ h : HydraulicExponents, 0 < h.m
 140  closure_of : ∀ h : HydraulicExponents, h.b + h.f + h.m = 1
 141  equipartition_inhabits : Nonempty HydraulicExponents
 142  empirical_inhabits : Nonempty HydraulicExponents
 143
 144noncomputable def hydraulicGeometryCert : HydraulicGeometryCert where
 145  width_pos_of := width_pos
 146  depth_pos_of := depth_pos
 147  velocity_pos_of := velocity_pos
 148  closure_of := closure_identity
 149  equipartition_inhabits := ⟨equipartitionExponents⟩
 150  empirical_inhabits := ⟨leopoldMaddockExponents⟩
 151
 152/-! ## §4. One-statement summary -/
 153
 154/-- **HYDRAULIC GEOMETRY ONE-STATEMENT.**
 155
 156σ-conservation on the discharge ledger forces every Leopold-Maddock
 157exponent triple `(b, f, m)` to satisfy `b + f + m = 1`. Two
 158canonical partitions inhabit the structure: the equipartition triple
 159`(1/3, 1/3, 1/3)` (zero-prior canonical) and the empirical
 160Leopold-Maddock central-tendency triple `(0.26, 0.40, 0.34)`. -/
 161theorem hydraulic_geometry_one_statement :
 162    (∀ h : HydraulicExponents, h.b + h.f + h.m = 1) ∧
 163    Nonempty HydraulicExponents :=
 164  ⟨closure_identity, ⟨equipartitionExponents⟩⟩
 165
 166end
 167
 168end HydraulicGeometryFromSigma
 169end Hydrology
 170end IndisputableMonolith
 171

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