pith. machine review for the scientific record. sign in
lemma

extendByZero_laplacianCoeff

proved
show as:
view math explainer →
module
IndisputableMonolith.ClassicalBridge.Fluids.ContinuumLimit2D
domain
ClassicalBridge
line
285 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.ClassicalBridge.Fluids.ContinuumLimit2D on GitHub at line 285.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

 282satisfies the corresponding modewise ODE with a forcing given by the zero-extended nonlinear term.
 283-/
 284
 285lemma extendByZero_laplacianCoeff {N : ℕ} (u : GalerkinState N) (k : Mode2) :
 286    (extendByZero (laplacianCoeff (N := N) u)) k = (-kSq k) • (extendByZero u) k := by
 287  classical
 288  by_cases hk : k ∈ modes N
 289  · ext j
 290    fin_cases j <;> simp [extendByZero, coeffAt, hk, laplacianCoeff]
 291  · ext j
 292    fin_cases j <;> simp [extendByZero, coeffAt, hk]
 293
 294lemma hasDerivAt_extendByZero_apply {N : ℕ} (k : Mode2)
 295    (u : ℝ → GalerkinState N) (u' : GalerkinState N) {t : ℝ} (hu : HasDerivAt u u' t) :
 296    HasDerivAt (fun s : ℝ => (extendByZero (u s)) k) ((extendByZero u') k) t := by
 297  classical
 298  -- A constant continuous linear map: project the `k`-th Fourier coefficient after zero-extension.
 299  let L : GalerkinState N →L[ℝ] VelCoeff :=
 300    (ContinuousLinearMap.proj k).comp (extendByZeroCLM (N := N))
 301  have hL : HasDerivAt (fun _ : ℝ => L) 0 t := by
 302    simpa using (hasDerivAt_const (x := t) (c := L))
 303  -- Differentiate `s ↦ L (u s)`.
 304  have h := HasDerivAt.clm_apply (c := fun _ : ℝ => L) (c' := (0 : GalerkinState N →L[ℝ] VelCoeff))
 305    (u := u) (u' := u') (x := t) hL hu
 306  -- Unfold `L` back to `extendByZero` + evaluation at `k`.
 307  simpa [L, extendByZeroCLM] using h
 308
 309theorem galerkinNS_hasDerivAt_extendByZero_mode {N : ℕ} (ν : ℝ) (B : ConvectionOp N)
 310    (u : ℝ → GalerkinState N) (k : Mode2) {t : ℝ}
 311    (hu : HasDerivAt u (galerkinNSRHS (N := N) ν B (u t)) t) :
 312    HasDerivAt (fun s : ℝ => (extendByZero (u s)) k)
 313      ((ν * (-kSq k)) • (extendByZero (u t)) k - (extendByZero (B (u t) (u t))) k) t := by
 314  -- Start from the generic differentiation-through-zero-extension lemma.
 315  have h0 :