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

Sobolev poincare unit Ball

DeGiorgi.sobolev_poincare_unitBall

Plain-language statement

Sobolev-Poincare inequality on the unit ball.

Exact Lean statement

theorem sobolev_poincare_unitBall
    {p : ℝ} (hp : 1 < p) (hpd : p < (d : ℝ))
    {u : E → ℝ}
    (hw : MemW1pWitness (ENNReal.ofReal p) u (Metric.ball (0 : E) 1)) :
    eLpNorm (fun x => u x - ⨍ y in Metric.ball (0 : E) 1, u y ∂volume)
      (ENNReal.ofReal ((d : ℝ) * p / ((d : ℝ) - p)))
      (volume.restrict (Metric.ball (0 : E) 1)) ≤
    C_sobolevPoincare d p *
      eLpNorm (fun x => ‖hw.weakGrad x‖) (ENNReal.ofReal p)
        (volume.restrict (Metric.ball (0 : E) 1))

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem sobolev_poincare_unitBall    {p : } (hp : 1 < p) (hpd : p < (d : ))    {u : E  }    (hw : MemW1pWitness (ENNReal.ofReal p) u (Metric.ball (0 : E) 1)) :    eLpNorm (fun x => u x - ⨍ y in Metric.ball (0 : E) 1, u y ∂volume)      (ENNReal.ofReal ((d : ) * p / ((d : ) - p)))      (volume.restrict (Metric.ball (0 : E) 1))     C_sobolevPoincare d p *      eLpNorm (fun x =>hw.weakGrad x‖) (ENNReal.ofReal p)        (volume.restrict (Metric.ball (0 : E) 1)) := by  let B := Metric.ball (0 : E) 1  let ubar := ⨍ y in B, u y ∂volume  let v : E   := fun x => u x - ubar  let pstar := ENNReal.ofReal ((d : ) * p / ((d : ) - p))  let hwv := memW1pWitness_sub_const_unitBall (d := d) hp hw ubar  have hwv_grad : hwv.weakGrad = hw.weakGrad :=    memW1pWitness_sub_const_unitBall_weakGrad hp hw ubar  obtain hwExt, hcpt, hagree, _hfun_bound, hgrad_bound :=    exists_unitBall_W1p_extension (d := d) hp hwv  have hW01 : MemW01p (ENNReal.ofReal p) (unitBallExtension (d := d) v) Set.univ :=    memW01p_of_memW1p_of_tsupport_subset isOpen_univ hp hwExt.memW1p hcpt      (Set.subset_univ _)  obtain hwSob, hSob := sobolev_of_memW01p_univ (d := d) (le_of_lt hp) hpd hW01  have hae_grad : hwSob.weakGrad =ᵐ[volume] hwExt.weakGrad := by    have h := MemW1pWitness.ae_eq_p (d := d) isOpen_univ (show 1  p from le_of_lt hp)      hwSob hwExt    simpa [Measure.restrict_univ] using h  have hSob' :      eLpNorm (unitBallExtension (d := d) v) pstar volume         ENNReal.ofReal (C_gns d p) *          eLpNorm (fun x =>hwExt.weakGrad x‖) (ENNReal.ofReal p) volume := by    calc      eLpNorm (unitBallExtension (d := d) v) pstar volume           ENNReal.ofReal (C_gns d p) *              eLpNorm (fun x =>hwSob.weakGrad x‖) (ENNReal.ofReal p) volume := hSob      _ = ENNReal.ofReal (C_gns d p) *            eLpNorm (fun x =>hwExt.weakGrad x‖) (ENNReal.ofReal p) volume := by          congr 1          exact eLpNorm_congr_ae (hae_grad.fun_comp (‖·‖))  have hrestrict :      eLpNorm v pstar (volume.restrict B)         eLpNorm (unitBallExtension (d := d) v) pstar volume := by    calc      eLpNorm v pstar (volume.restrict B)          = eLpNorm (unitBallExtension (d := d) v) pstar (volume.restrict B) := by            apply eLpNorm_congr_ae            have : ᵐ x ∂(volume.restrict B), v x = unitBallExtension (d := d) v x := by              filter_upwards [ae_restrict_mem measurableSet_ball] with x hx              exact (hagree x hx).symm            exact this      _  eLpNorm (unitBallExtension (d := d) v) pstar volume :=          eLpNorm_mono_measure _ Measure.restrict_le_self  have hv_poinc_raw :      eLpNorm (fun x => u x - ⨍ y in B, u y ∂volume) (ENNReal.ofReal p)        (volume.restrict B)       ENNReal.ofReal (C_poinc_val d) *        eLpNorm (fun x =>hw.weakGrad x‖) (ENNReal.ofReal p)          (volume.restrict B) :=    poincare_unitBall_W1p (d := d) hp hw  have hv_poinc :      eLpNorm v (ENNReal.ofReal p) (volume.restrict B)         ENNReal.ofReal (C_poinc_val d) *          eLpNorm (fun x =>hwv.weakGrad x‖) (ENNReal.ofReal p)            (volume.restrict B) := by    rw [hwv_grad]    exact hv_poinc_raw  have hgrad_absorb :      eLpNorm (fun x =>hwExt.weakGrad x‖) (ENNReal.ofReal p) volume         C_extensionGrad d p *          eLpNorm (fun x =>hwv.weakGrad x‖) (ENNReal.ofReal p)            (volume.restrict B) :=    extension_gradient_eLpNorm_bound (d := d) hp hwv hgrad_bound hv_poinc  have hwv_grad_eq : (fun x =>hwv.weakGrad x‖) = (fun x =>hw.weakGrad x‖) := by    ext x    rw [hwv_grad]  calc    eLpNorm v pstar (volume.restrict B)         eLpNorm (unitBallExtension (d := d) v) pstar volume := hrestrict    _  ENNReal.ofReal (C_gns d p) *          eLpNorm (fun x =>hwExt.weakGrad x‖) (ENNReal.ofReal p) volume := hSob'    _  ENNReal.ofReal (C_gns d p) *          (C_extensionGrad d p *            eLpNorm (fun x =>hwv.weakGrad x‖) (ENNReal.ofReal p)              (volume.restrict B)) := by          gcongr    _ = ENNReal.ofReal (C_gns d p) * C_extensionGrad d p *          eLpNorm (fun x =>hwv.weakGrad x‖) (ENNReal.ofReal p)            (volume.restrict B) := by          rw [mul_assoc]    _ = C_sobolevPoincare d p *          eLpNorm (fun x =>hwv.weakGrad x‖) (ENNReal.ofReal p)            (volume.restrict B) := by          rfl    _ = C_sobolevPoincare d p *          eLpNorm (fun x =>hw.weakGrad x‖) (ENNReal.ofReal p)            (volume.restrict B) := by          rw [hwv_grad_eq]
Project
DeGiorgi
License
Apache-2.0
Commit
4c1b3077d378
Source
DeGiorgi/SobolevPoincare.lean:574-670

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