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

John nirenberg level set decay

DeGiorgi.john_nirenberg_level_set_decay

Plain-language statement

Geometric decay of selected John-Nirenberg bad-ball unions from the local half-measure step.

Exact Lean statement

theorem john_nirenberg_level_set_decay
    {x₀ : E} {r : ℝ} {E_lam E_lam_A : Set E}
    {ι : Type*} [Countable ι] (B : ι → JNBall x₀ r)
    (_hE_lam_meas : MeasurableSet E_lam)
    (hE_lam_A_meas : MeasurableSet E_lam_A)
    (hE_lam_fin : volume E_lam ≠ ⊤)
    (hE_lam_A_sub : E_lam_A ⊆ E_lam)
    (hcover : E_lam ⊆ ⋃ i, (B i).fivefold)
    (hU_sub_E_lam : (⋃ i, (B i).carrier) ⊆ E_lam)
    (hdisj : ∀ i j, i ≠ j → Disjoint ((B i).carrier) ((B j).carrier))
    (hmain : ∀ i,
      volume (E_lam_A ∩ (B i).carrier) ≤ ENNReal.ofReal (1 / 2) * volume ((B i).carrier)) :
    volume.real E_lam_A ≤ (1 - 1 / (2 * 5 ^ d)) * volume.real E_lam

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem john_nirenberg_level_set_decay    {x₀ : E} {r : } {E_lam E_lam_A : Set E}    {ι : Type*} [Countable ι] (B : ι  JNBall x₀ r)    (_hE_lam_meas : MeasurableSet E_lam)    (hE_lam_A_meas : MeasurableSet E_lam_A)    (hE_lam_fin : volume E_lam  ⊤)    (hE_lam_A_sub : E_lam_A  E_lam)    (hcover : E_lam  ⋃ i, (B i).fivefold)    (hU_sub_E_lam : (⋃ i, (B i).carrier)  E_lam)    (hdisj :  i j, i  j  Disjoint ((B i).carrier) ((B j).carrier))    (hmain :  i,      volume (E_lam_A ∩ (B i).carrier)  ENNReal.ofReal (1 / 2) * volume ((B i).carrier)) :    volume.real E_lam_A  (1 - 1 / (2 * 5 ^ d)) * volume.real E_lam := by  -- Finiteness of derived sets  have hE_lam_A_fin : volume E_lam_A := measure_ne_top_of_subset hE_lam_A_sub hE_lam_fin  -- Set up U = ⋃ i, (B i).carrier  set U := ⋃ i, (B i).carrier with hU_def  have hU_meas : MeasurableSet U :=    MeasurableSet.iUnion (fun i => (B i).measurableSet_carrier)  have hU_fin : volume U := measure_ne_top_of_subset hU_sub_E_lam hE_lam_fin  -- Carrier finiteness  have hcarrier_fin :  i, volume ((B i).carrier) :=    fun i => measure_ne_top_of_subset (subset_iUnion (fun i => (B i).carrier) i) hU_fin  -- Pairwise disjointness in Pairwise form  have hdisj_pw : Pairwise (Function.onFun Disjoint fun i => (B i).carrier) :=    fun i j hij => hdisj i j hij  have hvolU : volume U = ∑' i, volume ((B i).carrier) :=    measure_iUnion hdisj_pw (fun i => (B i).measurableSet_carrier)  have hE_lam_le : volume.real E_lam  (5 : ) ^ d * volume.real U := by    have h1 : volume E_lam  volume (⋃ i, (B i).fivefold) := measure_mono hcover    have h2 : volume (⋃ i, (B i).fivefold)  ∑' i, volume ((B i).fivefold) :=      measure_iUnion_le _    have h3 :  i, volume ((B i).fivefold) = ENNReal.ofReal ((5 : ) ^ d) * volume ((B i).carrier) :=      fun i => (B i).volume_fivefold    have h4 : ∑' i, volume ((B i).fivefold) = ∑' i, (ENNReal.ofReal ((5 : ) ^ d) * volume ((B i).carrier)) :=      tsum_congr (fun i => h3 i)    have h5 : ∑' i, (ENNReal.ofReal ((5 : ) ^ d) * volume ((B i).carrier)) =        ENNReal.ofReal ((5 : ) ^ d) * ∑' i, volume ((B i).carrier) :=      ENNReal.tsum_mul_left    rw [h4, h5,  hvolU] at h2    have hfive_ne_top : ENNReal.ofReal ((5 : ) ^ d) * volume U :=      ENNReal.mul_ne_top ENNReal.ofReal_ne_top hU_fin    have hle := ENNReal.toReal_mono hfive_ne_top (h1.trans h2)    rwa [ENNReal.toReal_mul, ENNReal.toReal_ofReal (by positivity : (0:)  (5:) ^ d)] at hle  have hA_inter_U : volume.real (E_lam_A ∩ U)  1 / 2 * volume.real U := by    -- Work in ENNReal: volume (E_lam_A ∩ U) ≤ ENNReal.ofReal (1/2) * volume U    have hinter_eq : E_lam_A ∩ U = ⋃ i, (E_lam_A ∩ (B i).carrier) := by      simp [hU_def, inter_iUnion]    have hdisj_inter : Pairwise (Function.onFun Disjoint fun i => E_lam_A ∩ (B i).carrier) := by      intro i j hij      exact Disjoint.mono inter_subset_right inter_subset_right (hdisj_pw hij)    have hmeas_inter :  i, MeasurableSet (E_lam_A ∩ (B i).carrier) :=      fun i => hE_lam_A_meas.inter (B i).measurableSet_carrier    have hvol_inter : volume (E_lam_A ∩ U) = ∑' i, volume (E_lam_A ∩ (B i).carrier) := by      rw [hinter_eq, measure_iUnion hdisj_inter hmeas_inter]    have henn_le : volume (E_lam_A ∩ U)  ENNReal.ofReal (1 / 2) * volume U := by      rw [hvol_inter, hvolU]      calc ∑' i, volume (E_lam_A ∩ (B i).carrier)           ∑' i, (ENNReal.ofReal (1 / 2) * volume ((B i).carrier)) :=            ENNReal.tsum_le_tsum (fun i => hmain i)        _ = ENNReal.ofReal (1 / 2) * ∑' i, volume ((B i).carrier) :=            ENNReal.tsum_mul_left    have hfin : ENNReal.ofReal (1 / 2) * volume U :=      ENNReal.mul_ne_top ENNReal.ofReal_ne_top hU_fin    have := ENNReal.toReal_mono hfin henn_le    rwa [ENNReal.toReal_mul, ENNReal.toReal_ofReal (by norm_num : (0:)  1/2)] at this  have hAdiffU_sub : E_lam_A \ U  E_lam \ U :=    diff_subset_diff_left hE_lam_A_sub  -- volume.real E_lam_A = volume.real (E_lam_A ∩ U) + volume.real (E_lam_A \ U)  have hE_lam_A_split : volume.real E_lam_A =      volume.real (E_lam_A ∩ U) + volume.real (E_lam_A \ U) := by    rw [ measureReal_inter_add_diff hU_meas hE_lam_A_fin]  -- volume.real (E_lam \ U) = volume.real E_lam - volume.real U  have hE_lam_diff : volume.real (E_lam \ U) = volume.real E_lam - volume.real U :=    measureReal_diff hU_sub_E_lam hU_meas hE_lam_fin  -- volume.real (E_lam_A \ U) ≤ volume.real (E_lam \ U)  have hAdiffU_le : volume.real (E_lam_A \ U)  volume.real (E_lam \ U) := by    exact measureReal_mono hAdiffU_sub      (ne_top_of_le_ne_top hE_lam_fin (measure_mono diff_subset))  have hU_lower : 1 / (5 : ) ^ d * volume.real E_lam  volume.real U := by    by_cases h5d : (5 : ) ^ d = 0    · simp [h5d]    · rw [div_mul_eq_mul_div, one_mul]      exact div_le_of_le_mul₀ (by positivity) measureReal_nonneg (by linarith [hE_lam_le])  -- Now combine: volume.real E_lam_A ≤ 1/2 * volume.real U + (volume.real E_lam - volume.real U)  --                                    = volume.real E_lam - 1/2 * volume.real U  --                                    ≤ volume.real E_lam - 1/2 * 1/5^d * volume.real E_lam  --                                    = (1 - 1/(2*5^d)) * volume.real E_lam  have hU_real_le : volume.real U  volume.real E_lam :=    measureReal_mono hU_sub_E_lam hE_lam_fin  calc volume.real E_lam_A      = volume.real (E_lam_A ∩ U) + volume.real (E_lam_A \ U) := hE_lam_A_split    _  1 / 2 * volume.real U + volume.real (E_lam \ U) := by        linarith [hA_inter_U, hAdiffU_le]    _ = 1 / 2 * volume.real U + (volume.real E_lam - volume.real U) := by        rw [hE_lam_diff]    _ = volume.real E_lam - 1 / 2 * volume.real U := by ring    _  volume.real E_lam - 1 / 2 * (1 / (5 : ) ^ d * volume.real E_lam) := by        linarith [hU_lower]    _ = (1 - 1 / (2 * 5 ^ d)) * volume.real E_lam := by ring
Project
DeGiorgi
License
Apache-2.0
Commit
4c1b3077d378
Source
DeGiorgi/Oscillation/LocalJohnNirenberg.lean:22-121

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