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

Campanato implies holder

DeGiorgi.campanato_implies_holder

Plain-language statement

A Campanato bound determines a Hölder representative up to a.e. equality.

Exact Lean statement

theorem campanato_implies_holder
    {u : E → ℝ} {x₀ : E} {R α C_camp : ℝ}
    (hα : 0 < α) (hα_le : α ≤ 1) (hR : 0 < R)
    (hcamp : HasCampanatoBound u x₀ R α C_camp) :
    ∃ v : E → ℝ,
      (∀ᵐ x ∂volume.restrict (Metric.ball x₀ R), v x = u x) ∧
      ∀ x ∈ Metric.ball x₀ (R / 2), ∀ y ∈ Metric.ball x₀ (R / 2),
        |v x - v y| ≤ C_campanato_holder d α * C_camp * ‖x - y‖ ^ α

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem campanato_implies_holder    {u : E  } {x₀ : E} {R α C_camp : }    (hα : 0 < α) (hα_le : α  1) (hR : 0 < R)    (hcamp : HasCampanatoBound u x₀ R α C_camp) :     v : E  ,      (ᵐ x ∂volume.restrict (Metric.ball x₀ R), v x = u x)        x  Metric.ball x₀ (R / 2),  y  Metric.ball x₀ (R / 2),        |v x - v y|  C_campanato_holder d α * C_camp * ‖x - y‖ ^ α := by  classical  let outer : Set E := Metric.ball x₀ R  let inner : Set E := Metric.ball x₀ (R / 2)  let ρ :  := R / 2  let q :  := (2 : ) ^ (-α)  let invDen :  := (1 - q)⁻¹  let v : E   := fun x =>    if x  inner then dyadicBallAverageLimit u x ρ else u x  have hρ : 0 < ρ := by    dsimp [ρ]    positivity  have hρR : ρ  R := by    dsimp [ρ]    linarith  have hC_nonneg : 0  C_camp := hcamp.nonneg hα hR  have hq_lt : q < 1 := by    dsimp [q]    rw [Real.rpow_neg (by positivity)]    have h2a : 1 < (2 : ) ^ α := Real.one_lt_rpow (by norm_num) hα    exact inv_lt_one_of_one_lt₀ h2a  have hden_pos : 0 < 1 - q := sub_pos.mpr hq_lt  have hinvDen_nonneg : 0  invDen := by    dsimp [invDen]    positivity  have h2a_le : (2 : ) ^ α  2 := by    simpa using      (Real.rpow_le_rpow_of_exponent_le (by norm_num : 1  (2 : )) hα_le)  have hq_ge_half : (1 / 2 : )  q := by    dsimp [q]    rw [Real.rpow_neg (by positivity)]    have h2a_pos : 0 < (2 : ) ^ α := Real.rpow_pos_of_pos (by norm_num) α    simpa [one_div] using (one_div_le_one_div_of_le h2a_pos h2a_le)  have hinvDen_ge_two : (2 : )  invDen := by    dsimp [invDen]    have hden_half : 1 - q  (1 / 2 : ) := by linarith    have hinv := one_div_le_one_div_of_le hden_pos hden_half    simpa using hinv  have hinner_eq_global :      ᵐ x ∂volume, x  inner  dyadicBallAverageLimit u x ρ = u x := by    have hinner_eq_ae :        ᵐ x ∂volume.restrict inner, dyadicBallAverageLimit u x ρ = u x := by      simpa [inner, ρ] using ae_eq_dyadicBallAverageLimit_on_halfBall hα hR hcamp    rw [ae_restrict_iff' measurableSet_ball] at hinner_eq_ae    exact hinner_eq_ae  refine v, ?_, ?_  · rw [ae_restrict_iff' measurableSet_ball]    filter_upwards [hinner_eq_global] with x hx hx_outer    by_cases hx_inner : x  inner    · dsimp [v]      rw [if_pos hx_inner]      exact hx hx_inner    · dsimp [v]      rw [if_neg hx_inner]  · intro x hx y hy    have hx_inner : x  inner := by simpa [inner] using hx    have hy_inner : y  inner := by simpa [inner] using hy    have hvx : v x = dyadicBallAverageLimit u x ρ := by      dsimp [v]      rw [if_pos hx_inner]    have hvy : v y = dyadicBallAverageLimit u y ρ := by      dsimp [v]      rw [if_pos hy_inner]    by_cases hsmall : ‖x - y‖  ρ    · rw [hvx, hvy]      simpa [ρ] using        (dyadicBallAverageLimit_holder_small hα hα_le hR hcamp hx hy          (by simpa [ρ] using hsmall))    · have hlarge : ρ  ‖x - y‖ := le_of_not_ge hsmall      rw [hvx, hvy]      simpa [ρ] using        (dyadicBallAverageLimit_holder_large hα hα_le hR hcamp hx hy          (by simpa [ρ] using hlarge))
Project
DeGiorgi
License
Apache-2.0
Commit
4c1b3077d378
Source
DeGiorgi/Oscillation/Campanato.lean:1025-1104

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