theorem
proved
subK_preserved
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.NavierStokes.DiscreteMaximumPrinciple on GitHub at line 98.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
formal source
95 exact le_trans h_update (mul_le_of_le_one_right data.gradMax_nonneg hfactor)
96
97/-- The sub-Kolmogorov condition is preserved by one step. -/
98theorem subK_preserved (data : OneStepData)
99 (hsubK : data.subKolmogorov)
100 (newGradMax : ℝ)
101 (h_update : newGradMax ≤
102 data.gradMax * (1 + data.dt * (data.advectionBound - data.viscousRate)))
103 (newData : OneStepData)
104 (h_same_params : newData.viscousRate = data.viscousRate)
105 (h_new_grad : newData.gradMax = newGradMax) :
106 newData.subKolmogorov := by
107 unfold OneStepData.subKolmogorov
108 rw [h_new_grad, h_same_params]
109 exact le_trans (gradient_nonincreasing data hsubK newGradMax h_update) hsubK
110
111/-! ## Inductive Propagation -/
112
113/-- The sub-Kolmogorov condition propagates through arbitrarily many
114time steps by induction. -/
115theorem subK_propagation
116 (gradients : ℕ → ℝ) (bound : ℝ)
117 (h_init : gradients 0 ≤ bound)
118 (h_step : ∀ n, gradients (n + 1) ≤ gradients n) :
119 ∀ n, gradients n ≤ bound := by
120 intro n
121 induction n with
122 | zero => exact h_init
123 | succ k ih => exact le_trans (h_step k) ih
124
125/-- The lattice regularity theorem: on the RS lattice with finite-energy
126initial data, the velocity gradient is bounded for all time.
127
128This is unconditional: the sub-Kolmogorov condition at t=0 follows from