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

Has Weak Partial Deriv of e Lp Norm Approx p

DeGiorgi.HasWeakPartialDeriv.of_eLpNormApprox_p

Plain-language statement

L^p-closure of weak partial derivatives on an open set, for 1 < p < ∞.

Exact Lean statement

theorem HasWeakPartialDeriv.of_eLpNormApprox_p
    {Ω : Set E} (hΩ : IsOpen Ω)
    {p : ℝ} (hp : 1 < p)
    {i : Fin d} {f g : E → ℝ} {ψ : ℕ → E → ℝ} {gψ : ℕ → E → ℝ}
    (hf_memLp : MemLp f (ENNReal.ofReal p) (volume.restrict Ω))
    (hg_memLp : MemLp g (ENNReal.ofReal p) (volume.restrict Ω))
    (hψ_wd : ∀ n, HasWeakPartialDeriv i (gψ n) (ψ n) Ω)
    (hψ_fun_memLp : ∀ n, MemLp (fun x => ψ n x - f x) (ENNReal.ofReal p) (volume.restrict Ω))
    (hψ_fun :
      Tendsto (fun n => eLpNorm (fun x => ψ n x - f x) (ENNReal.ofReal p) (volume.restrict Ω))
        atTop (nhds 0))
    (hψ_grad_memLp : ∀ n, MemLp (fun x => gψ n x - g x) (ENNReal.ofReal p) (volume.restrict Ω))
    (hψ_grad :
      Tendsto (fun n => eLpNorm (fun x => gψ n x - g x) (ENNReal.ofReal p) (volume.restrict Ω))
        atTop (nhds 0)) :
    HasWeakPartialDeriv i g f Ω

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem HasWeakPartialDeriv.of_eLpNormApprox_p    {Ω : Set E} (hΩ : IsOpen Ω)    {p : } (hp : 1 < p)    {i : Fin d} {f g : E  } {ψ :   E  } {gψ :   E  }    (hf_memLp : MemLp f (ENNReal.ofReal p) (volume.restrict Ω))    (hg_memLp : MemLp g (ENNReal.ofReal p) (volume.restrict Ω))    (hψ_wd :  n, HasWeakPartialDeriv i (gψ n) (ψ n) Ω)    (hψ_fun_memLp :  n, MemLp (fun x => ψ n x - f x) (ENNReal.ofReal p) (volume.restrict Ω))    (hψ_fun :      Tendsto (fun n => eLpNorm (fun x => ψ n x - f x) (ENNReal.ofReal p) (volume.restrict Ω))        atTop (nhds 0))    (hψ_grad_memLp :  n, MemLp (fun x => gψ n x - g x) (ENNReal.ofReal p) (volume.restrict Ω))    (hψ_grad :      Tendsto (fun n => eLpNorm (fun x => gψ n x - g x) (ENNReal.ofReal p) (volume.restrict Ω))        atTop (nhds 0)) :    HasWeakPartialDeriv i g f Ω := by  let _ :=  intro φ hφ hφ_supp hφ_sub  let μ : Measure E := volume.restrict Ω  let dφ : E   := fun x => (fderiv  φ x) (EuclideanSpace.single i 1)  let q :  := Real.conjExponent p  have hpqR : p.HolderConjugate q := Real.HolderConjugate.conjExponent hp  have hpq : p⁻¹ + q⁻¹ = 1 := (Real.holderConjugate_iff.mp hpqR).2  have hq : 1 < q := (Real.holderConjugate_iff.mp hpqR.symm).1  letI : (ENNReal.ofReal p).HolderTriple (ENNReal.ofReal q) 1 :=    ENNReal.HolderConjugate.of_toReal <| by      simpa [ENNReal.toReal_ofReal (by linarith : 0  p),        ENNReal.toReal_ofReal (by linarith : 0  q)] using hpqR  have hdφ_memLp : MemLp dφ (ENNReal.ofReal q) μ := by    have hcont : Continuous:= by      simpa [dφ] using        ((hφ.continuous_fderiv (by simp : ((⊤ : ∞) : WithTop ∞)  0)).clm_apply          continuous_const)    have hcpt : HasCompactSupport:= by      simpa [dφ] using hφ_supp.fderiv_apply (𝕜 := ) (EuclideanSpace.single i 1)    exact (hcont.memLp_of_hasCompactSupport hcpt).restrict _  have hφ_memLp : MemLp φ (ENNReal.ofReal q) μ :=    (hφ.continuous.memLp_of_hasCompactSupport hφ_supp).restrict _  have h_fun_int :      Tendsto (fun n => ∫ x, dφ x * (ψ n x - f x) ∂μ) atTop (nhds 0) :=    tendsto_integral_mul_of_eLpNorm_tendsto_zero_p hpq hp hq hdφ_memLp hψ_fun_memLp hψ_fun  have h_grad_int :      Tendsto (fun n => ∫ x, φ x * (gψ n x - g x) ∂μ) atTop (nhds 0) :=    tendsto_integral_mul_of_eLpNorm_tendsto_zero_p hpq hp hq hφ_memLp hψ_grad_memLp hψ_grad  have h_lhs_tendsto :      Tendsto (fun n => ∫ x in Ω, ψ n x * dφ x)        atTop (nhds (∫ x in Ω, f x * dφ x)) := by    have h_eq :        (fun n => ∫ x in Ω, ψ n x * dφ x) =          fun n => (∫ x in Ω, f x * dφ x) + ∫ x, dφ x * (ψ n x - f x) ∂μ := by      funext n      have hfi : Integrable (fun x => f x * dφ x) μ := by        simpa [mul_comm] using hdφ_memLp.integrable_mul hf_memLp      have hdi : Integrable (fun x => dφ x * (ψ n x - f x)) μ :=        hdφ_memLp.integrable_mul (hψ_fun_memLp n)      calc        ∫ x in Ω, ψ n x * dφ x            = ∫ x, (f x * dφ x) + dφ x * (ψ n x - f x) ∂μ := by                congr with x                ring        _ = (∫ x, f x * dφ x ∂μ) + ∫ x, dφ x * (ψ n x - f x) ∂μ :=              integral_add hfi hdi    rw [h_eq]    simpa [μ] using Tendsto.const_add _ h_fun_int  have h_rhs_tendsto :      Tendsto (fun n => -∫ x in Ω, gψ n x * φ x)        atTop (nhds (-∫ x in Ω, g x * φ x)) := by    have h_eq :        (fun n => -∫ x in Ω, gψ n x * φ x) =          fun n => -(∫ x in Ω, g x * φ x) - ∫ x, φ x * (gψ n x - g x) ∂μ := by      funext n      have hgi : Integrable (fun x => g x * φ x) μ := by        simpa [mul_comm] using hφ_memLp.integrable_mul hg_memLp      have hdi : Integrable (fun x => φ x * (gψ n x - g x)) μ :=        hφ_memLp.integrable_mul (hψ_grad_memLp n)      have : ∫ x, gψ n x * φ x ∂μ =          (∫ x, g x * φ x ∂μ) + ∫ x, φ x * (gψ n x - g x) ∂μ := by        calc          ∫ x, gψ n x * φ x ∂μ              = ∫ x, (g x * φ x) + φ x * (gψ n x - g x) ∂μ := by                  congr with x                  ring          _ = (∫ x, g x * φ x ∂μ) + ∫ x, φ x * (gψ n x - g x) ∂μ :=                integral_add hgi hdi      linarith    have h_aux :        Tendsto          (fun n => -(∫ x, g x * φ x ∂μ) - ∫ x, φ x * (gψ n x - g x) ∂μ)          atTop (nhds (-(∫ x, g x * φ x ∂μ) - 0)) :=      Tendsto.const_sub _ h_grad_int    simpa [μ, h_eq] using h_aux  have h_eq_n :       n,        ∫ x in Ω, ψ n x * dφ x = -∫ x in Ω, gψ n x * φ x := by    intro n    exact hψ_wd n φ hφ hφ_supp hφ_sub  have h_eq_tendsto :      Tendsto (fun n => ∫ x in Ω, ψ n x * dφ x)        atTop (nhds (-∫ x in Ω, g x * φ x)) := by    simpa [h_eq_n] using h_rhs_tendsto  exact tendsto_nhds_unique h_lhs_tendsto h_eq_tendsto
Project
DeGiorgi
License
Apache-2.0
Commit
4c1b3077d378
Source
DeGiorgi/SobolevSpace/WeakDerivatives.lean:309-409

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