All proofs
Project-declaredLean 4.29.0-rc6 · mathlib@5c8398df5281

Weak Solution stability

DeGiorgi.weakSolution_stability

Plain-language statement

Stability estimate for weak solutions.

Exact Lean statement

theorem weakSolution_stability
    {Ω : Set E}
    (A : EllipticCoeff d Ω)
    {u : E → ℝ}
    (hu0 : MemH01 u Ω)
    (hwu : MemW1pWitness 2 u Ω)
    {rhs : (E → ℝ) → ℝ}
    {C_F : ℝ} (hCF : 0 ≤ C_F)
    (hF : ∀ v : E → ℝ, MemH01 v Ω →
      ∀ hwv : MemW1pWitness 2 v Ω,
      |rhs v| ≤ C_F *
        (∫ x, ‖hwv.weakGrad x‖ ^ (2 : ℝ) ∂(volume.restrict Ω)) ^ (1 / (2 : ℝ)))
    (h_ws : bilinFormOfCoeff A hwu hwu = rhs u) :
    (∫ x, ‖hwu.weakGrad x‖ ^ (2 : ℝ) ∂(volume.restrict Ω)) ^ (1 / (2 : ℝ)) ≤
    A.lam⁻¹ * C_F

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem weakSolution_stability    {Ω : Set E}    (A : EllipticCoeff d Ω)    {u : E  }    (hu0 : MemH01 u Ω)    (hwu : MemW1pWitness 2 u Ω)    {rhs : (E  )  }    {C_F : } (hCF : 0  C_F)    (hF :  v : E  , MemH01 v Ω        hwv : MemW1pWitness 2 v Ω,      |rhs v|  C_F *        (∫ x, ‖hwv.weakGrad x‖ ^ (2 : ) ∂(volume.restrict Ω)) ^ (1 / (2 : )))    (h_ws : bilinFormOfCoeff A hwu hwu = rhs u) :    (∫ x, ‖hwu.weakGrad x‖ ^ (2 : ) ∂(volume.restrict Ω)) ^ (1 / (2 : ))     A.lam⁻¹ * C_F := by  let μ : Measure E := volume.restrict Ω  let J :  := ∫ x, ‖hwu.weakGrad x‖ ^ (2 : ) ∂μ  have hJ_nonneg : 0  J := by    dsimp [J]    refine integral_nonneg ?_    intro x    positivity  have hnorm_eq :      ‖gradLpOfWitness hwu‖ = Real.sqrt J := by    calc      ‖gradLpOfWitness hwu‖          = (∫ x, ‖hwu.weakGrad x‖ ^ (2 : ) ∂μ) ^ (1 / (2 : )) := by              simpa [μ] using norm_gradLpOfWitness_eq hwu      _ = J ^ (1 / (2 : )) := by            congr 1            dsimp [J]            apply integral_congr_ae            filter_upwards with x            exact Real.rpow_natCasthwu.weakGrad x‖ 2      _ = Real.sqrt J := by            rw [Real.sqrt_eq_rpow]  have hnorm_sq :      ‖gradLpOfWitness hwu‖ ^ (2 : ) = J := by    calc      ‖gradLpOfWitness hwu‖ ^ (2 : ) = (Real.sqrt J) ^ (2 : ) := by rw [hnorm_eq]      _ = J := by simpa [pow_two] using Real.sq_sqrt hJ_nonneg  have hcoercive :      A.lam * ‖gradLpOfWitness hwu‖ ^ (2 : )  bilinFormOfCoeff A hwu hwu := by    calc      A.lam * ‖gradLpOfWitness hwu‖ ^ (2 : ) = A.lam * J := by rw [hnorm_sq]      _ = A.lam * ∫ x, ‖hwu.weakGrad x‖ ^ (2 : ) ∂μ := by rfl      _  bilinFormOfCoeff A hwu hwu := by            simpa [μ] using bilinForm_coercive A hwu  have h_rhs_bound : |rhs u|  C_F * ‖gradLpOfWitness hwu‖ := by    calc      |rhs u|  C_F * (∫ x, ‖hwu.weakGrad x‖ ^ (2 : ) ∂μ) ^ (1 / (2 : )) := hF u hu0 hwu      _ = C_F * ‖gradLpOfWitness hwu‖ := by rw [norm_gradLpOfWitness_eq hwu]  have hbilin_nonneg : 0  bilinFormOfCoeff A hwu hwu := by    exact le_trans (mul_nonneg A.lam_nonneg (sq_nonneg ‖gradLpOfWitness hwu‖)) hcoercive  have hrhs_nonneg : 0  rhs u := by    simpa [h_ws] using hbilin_nonneg  have hmain :      A.lam * ‖gradLpOfWitness hwu‖ ^ (2 : )  C_F * ‖gradLpOfWitness hwu‖ := by    calc      A.lam * ‖gradLpOfWitness hwu‖ ^ (2 : )  bilinFormOfCoeff A hwu hwu := hcoercive      _ = rhs u := h_ws      _ = |rhs u| := by symm; exact abs_of_nonneg hrhs_nonneg      _  C_F * ‖gradLpOfWitness hwu‖ := h_rhs_bound  have hlin :      A.lam * ‖gradLpOfWitness hwu‖  C_F := by    have hmain' :        A.lam * ‖gradLpOfWitness hwu‖ ^ 2  C_F * ‖gradLpOfWitness hwu‖ := by      simpa [pow_two] using hmain    nlinarith [hmain', A.hlam, norm_nonneg (gradLpOfWitness hwu)]  have hdiv :      ‖gradLpOfWitness hwu‖  C_F / A.lam := by    have hlin' : ‖gradLpOfWitness hwu‖ * A.lam  C_F := by      simpa [mul_comm] using hlin    exact (le_div_iff₀ A.hlam).2 hlin'  simpa [norm_gradLpOfWitness_eq hwu, div_eq_mul_inv, mul_comm] using hdiv
Project
DeGiorgi
License
Apache-2.0
Commit
4c1b3077d378
Source
DeGiorgi/WeakFormulation/ExistenceTheory.lean:810-884

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.29.0-rc6

Ae eq of tendsto e Lp Norm sub

BareFunction.ae_eq_of_tendsto_eLpNorm_sub

Plain-language statement

Lp limit uniqueness: if f_n → g₁ and f_n → g₂ in eLpNorm, then g₁ =ᵐ g₂.

partial differential equationsregularity theoryanalysis

Source project: DeGiorgi

Person-level attribution pending.

View proof record
Project-declaredLean 4.29.0-rc6

E Lp Norm pi le sum component

BareFunction.eLpNorm_pi_le_sum_component

Plain-language statement

Vector eLpNorm ≤ sum of component eLpNorms for Pi-valued functions. Uses eLpNorm_mono_real for the pointwise bound together with eLpNorm_sum_le for ℝ-valued functions, avoiding Pi instance synthesis.

partial differential equationsregularity theoryanalysis

Source project: DeGiorgi

Person-level attribution pending.

View proof record
Project-declaredLean 4.29.0-rc6

Mem Lp of tendsto e Lp Norm

BareFunction.memLp_of_tendsto_eLpNorm

Plain-language statement

If f n → g in eLpNorm and each f n ∈ Lp, then g ∈ Lp, provided g is AEStronglyMeasurable. Avoids the Lp type entirely. The key observation: eLpNorm (f n - g) → 0 means eLpNorm (f N - g) < 1 for some N. Then eLpNorm g ≤ eLpNorm (f N - g) + eLpNorm (f N) < ∞.

partial differential equationsregularity theoryanalysis

Source project: DeGiorgi

Person-level attribution pending.

View proof record