pith. machine review for the scientific record. sign in
lemma proved tactic proof

norm_extendByZero_le

show as:
view Lean formalization →

No prose has been written for this declaration yet. The Lean source and graph data below render without it.

generate prose now

formal statement (Lean)

 863lemma norm_extendByZero_le {N : ℕ} (u : GalerkinState N) (k : Mode2) :
 864    ‖(extendByZero u) k‖ ≤ ‖u‖ := by

proof body

Tactic-mode proof.

 865  classical
 866  by_cases hk : k ∈ modes N
 867  ·
 868    have hext :
 869        (extendByZero u) k =
 870          !₂[u (⟨k, hk⟩, (⟨0, by decide⟩ : Fin 2)),
 871             u (⟨k, hk⟩, (⟨1, by decide⟩ : Fin 2))] := by
 872      simp [extendByZero, coeffAt, hk]
 873
 874    have hsq_ext :
 875        ‖(extendByZero u) k‖ ^ 2 =
 876          ‖u (⟨k, hk⟩, (⟨0, by decide⟩ : Fin 2))‖ ^ 2
 877            + ‖u (⟨k, hk⟩, (⟨1, by decide⟩ : Fin 2))‖ ^ 2 := by
 878      -- For `Fin 2`, `EuclideanSpace.norm_sq_eq` expands to the sum of the two coordinate squares.
 879      simp [hext, EuclideanSpace.norm_sq_eq, Fin.sum_univ_two]
 880
 881    have hnorm_u : ‖u‖ ^ 2 = ∑ kc : ((modes N) × Fin 2), ‖u kc‖ ^ 2 := by
 882      simp [EuclideanSpace.norm_sq_eq]
 883
 884    -- The 2-coordinate sum is bounded by the full coordinate sum.
 885    have hcoord_le :
 886        (‖u (⟨k, hk⟩, (⟨0, by decide⟩ : Fin 2))‖ ^ 2
 887            + ‖u (⟨k, hk⟩, (⟨1, by decide⟩ : Fin 2))‖ ^ 2)
 888          ≤ (∑ kc : ((modes N) × Fin 2), ‖u kc‖ ^ 2) := by
 889      let k' : (modes N) := ⟨k, hk⟩
 890      let s : Finset ((modes N) × Fin 2) :=
 891        insert (k', (⟨0, by decide⟩ : Fin 2)) ({(k', (⟨1, by decide⟩ : Fin 2))} : Finset ((modes N) × Fin 2))
 892      have hs : s ⊆ (Finset.univ : Finset ((modes N) × Fin 2)) := by
 893        intro x hx
 894        simp
 895      have hsum :
 896          (‖u (k', (⟨0, by decide⟩ : Fin 2))‖ ^ 2 + ‖u (k', (⟨1, by decide⟩ : Fin 2))‖ ^ 2)
 897            = (∑ kc ∈ s, ‖u kc‖ ^ 2) := by
 898        simp [s]
 899      have hle : (∑ kc ∈ s, ‖u kc‖ ^ 2) ≤ (∑ kc : ((modes N) × Fin 2), ‖u kc‖ ^ 2) := by
 900        have hle' :
 901            (∑ kc ∈ s, ‖u kc‖ ^ 2)
 902              ≤ (∑ kc ∈ (Finset.univ : Finset ((modes N) × Fin 2)), ‖u kc‖ ^ 2) := by
 903          refine Finset.sum_le_sum_of_subset_of_nonneg hs ?_
 904          intro kc _hkc _hknot
 905          exact sq_nonneg ‖u kc‖
 906        simpa using hle'
 907      calc
 908        (‖u (k', (⟨0, by decide⟩ : Fin 2))‖ ^ 2 + ‖u (k', (⟨1, by decide⟩ : Fin 2))‖ ^ 2)
 909            = (∑ kc ∈ s, ‖u kc‖ ^ 2) := hsum
 910        _ ≤ (∑ kc : ((modes N) × Fin 2), ‖u kc‖ ^ 2) := hle
 911
 912    have hsq_le : ‖(extendByZero u) k‖ ^ 2 ≤ ‖u‖ ^ 2 := by
 913      calc
 914        ‖(extendByZero u) k‖ ^ 2
 915            = (‖u (⟨k, hk⟩, (⟨0, by decide⟩ : Fin 2))‖ ^ 2
 916                + ‖u (⟨k, hk⟩, (⟨1, by decide⟩ : Fin 2))‖ ^ 2) := hsq_ext
 917        _ ≤ (∑ kc : ((modes N) × Fin 2), ‖u kc‖ ^ 2) := hcoord_le
 918        _ = ‖u‖ ^ 2 := by simp [hnorm_u]
 919
 920    exact le_of_sq_le_sq hsq_le (norm_nonneg u)
 921  ·
 922    -- Outside the truncation window the coefficient is zero, so the bound is trivial.
 923    have hnorm : ‖(extendByZero u) k‖ = 0 := by
 924      simp [extendByZero, coeffAt, hk]
 925    simp [hnorm, norm_nonneg u]
 926
 927/-!
 928## Compactness + identification as explicit hypotheses
 929-/
 930
 931/-- Hypothesis: uniform-in-`N` bounds for a *family* of Galerkin trajectories `uN`.
 932
 933In a real proof this would come from:
 934- discrete energy/enstrophy inequalities,
 935- CPM coercivity/dispersion bounds, and
 936- compactness tools (Aubin–Lions / Banach–Alaoglu / etc.).
 937-/

used by (2)

From the project-wide theorem graph. These declarations reference this one in their body.

depends on (22)

Lean names referenced from this declaration's body.