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

Ae eq dyadic Ball Average Limit on half Ball

DeGiorgi.ae_eq_dyadicBallAverageLimit_on_halfBall

Plain-language statement

On the inner ball, the dyadic Campanato average limit agrees a.e. with the original function.

Exact Lean statement

lemma ae_eq_dyadicBallAverageLimit_on_halfBall
    {u : E → ℝ} {x₀ : E} {R α C_camp : ℝ}
    (hα : 0 < α) (hR : 0 < R)
    (hcamp : HasCampanatoBound u x₀ R α C_camp) :
    ∀ᵐ x ∂volume.restrict (Metric.ball x₀ (R / 2)),
      dyadicBallAverageLimit u x (R / 2) = u x

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma ae_eq_dyadicBallAverageLimit_on_halfBall    {u : E  } {x₀ : E} {R α C_camp : }    (hα : 0 < α) (hR : 0 < R)    (hcamp : HasCampanatoBound u x₀ R α C_camp) :    ᵐ x ∂volume.restrict (Metric.ball x₀ (R / 2)),      dyadicBallAverageLimit u x (R / 2) = u x := by  classical  let outer : Set E := Metric.ball x₀ R  let inner : Set E := Metric.ball x₀ (R / 2)  let ρ :  := R / 2  let f : E   := outer.indicator u  have hρ : 0 < ρ := by    dsimp [ρ]    positivity  have hρR : ρ  R := by    dsimp [ρ]    linarith  have hinner_subset_outer : inner  outer := by    exact Metric.ball_subset_ball hρR  let bouter : CampanatoBall x₀ R := (x₀, R), hR, le_rfl, Set.Subset.rfl⟩⟩  have houter_int : IntegrableOn u outer volume := hcamp.integrableOn bouter  have hf_int : Integrable f volume := houter_int.integrable_indicator measurableSet_ball  have hdiff_ae :      ᵐ x ∂volume,        Tendsto (fun n :  => ⨍ y in Metric.closedBall x (ρ / (2 : ) ^ n), f y ∂volume)          atTop (𝓝 (f x)) := by    filter_upwards        [((IsUnifLocDoublingMeasure.vitaliFamily:= volume) (K := 0)).ae_tendsto_average          hf_int.locallyIntegrable)] with x hdx    exact Tendsto.comp hdx <|      IsUnifLocDoublingMeasure.tendsto_closedBall_filterAt:= volume) (K := 0)        (fun _ :  => x) (fun n :  => ρ / (2 : ) ^ n)        (tendsto_dyadic_radius_nhdsWithin_zero hρ)        (Eventually.of_forall fun n => by          exact Metric.mem_closedBall_self (x := x)            (by positivity : 0  0 */ (2 : ) ^ n)))  have hinner_eq_ae :      ᵐ x ∂volume.restrict inner, dyadicBallAverageLimit u x ρ = u x := by    rw [ae_restrict_iff' measurableSet_ball]    filter_upwards [hdiff_ae] with x hdx hx_inner    have hx_outer : x  outer := hinner_subset_outer hx_inner    have hsub_ball : Metric.ball x ρ  outer :=      ball_subset_ball_of_mem_ball_half hx_inner hρ.le le_rfl    have hlimit_u :        Tendsto (dyadicBallAverage u x ρ) atTop (𝓝 (dyadicBallAverageLimit u x ρ)) :=      tendsto_dyadicBallAverageLimit hα hcamp hρ hρR hsub_ball    have hclosed_to_u :        Tendsto (fun n :  => ⨍ y in Metric.closedBall x (ρ / (2 : ) ^ n), f y ∂volume)          atTop (𝓝 (u x)) := by      simpa [f, outer, hx_outer] using hdx    have hclosed_eq :        (fun n :  => ⨍ y in Metric.closedBall x (ρ / (2 : ) ^ n), f y ∂volume)          =ᶠ[atTop] dyadicBallAverage u x ρ := by      refine Eventually.of_forall fun n => ?_      have hrn_nonneg : 0  ρ / (2 : ) ^ n := by positivity      have hrnR : ρ / (2 : ) ^ n  R / 2 := by        calc          ρ / (2 : ) ^ n  ρ := by            exact div_le_self hρ.le (one_le_pow₀ (by norm_num : (1 : )  2))          _ = R / 2 := by rfl      have hclosedsub :          Metric.closedBall x (ρ / (2 : ) ^ n)  outer :=        closedBall_subset_ball_of_mem_ball_half hx_inner hrn_nonneg hrnR      calc        ⨍ y in Metric.closedBall x (ρ / (2 : ) ^ n), f y ∂volume            = ⨍ y in Metric.closedBall x (ρ / (2 : ) ^ n), u y ∂volume := by                apply MeasureTheory.setAverage_congr_fun Metric.isClosed_closedBall.measurableSet                exact Eventually.of_forall fun z hz => by                  simp [f, outer, hclosedsub hz]        _ = ⨍ y in Metric.ball x (ρ / (2 : ) ^ n), u y ∂volume := by              exact setAverage_closedBall_eq_ball_of_pos x (by positivity)        _ = dyadicBallAverage u x ρ n := by              simp [dyadicBallAverage]    have hdyad_to_u :        Tendsto (dyadicBallAverage u x ρ) atTop (𝓝 (u x)) :=      Tendsto.congr' hclosed_eq hclosed_to_u    exact tendsto_nhds_unique hlimit_u hdyad_to_u  simpa [inner, ρ] using hinner_eq_ae
Project
DeGiorgi
License
Apache-2.0
Commit
4c1b3077d378
Source
DeGiorgi/Oscillation/Campanato.lean:581-658

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