De Giorgi cutoff Sobolev on concentric Balls of pos Part Approx
DeGiorgi.deGiorgi_cutoffSobolev_on_concentricBalls_of_posPartApprox
Plain-language statement
Sobolev/Hölder step for De Giorgi pre-iteration on concentric balls, using the concrete positive-part approximation input.
Exact Lean statement
theorem deGiorgi_cutoffSobolev_on_concentricBalls_of_posPartApprox
{u η : E → ℝ} {x₀ : E} {r s θ lam : ℝ}
(hd : 2 < (d : ℝ))
(hs : 0 < s) (hr : 0 < r) (hrs : r < s)
(hu : MemW1pWitness 2 u (Metric.ball x₀ s))
(happroxBallTheta :
∃ ψ : ℕ → E → ℝ,
(∀ n, ContDiff ℝ 1 (ψ n)) ∧
(∀ n, HasCompactSupport (ψ n)) ∧
Tendsto
(fun n =>
eLpNorm (fun x => ψ n x - (u x - θ)) 2
(volume.restrict (Metric.ball x₀ s)))
atTop (nhds 0) ∧
(∀ i : Fin d,
Tendsto
(fun n =>
eLpNorm
(fun x =>
(fderiv ℝ (ψ n) x) (EuclideanSpace.single i 1) - hu.weakGrad x i)
2 (volume.restrict (Metric.ball x₀ s)))
atTop (nhds 0)))
(hθl : θ < lam)
(hη : ContDiff ℝ (⊤ : ℕ∞) η)
(_hη_nonneg : ∀ x, 0 ≤ η x)
(hη_eq_one : ∀ x ∈ Metric.ball x₀ r, η x = 1)
(hη_bound : ∀ x, |η x| ≤ 1)
(hη_sub_ball : tsupport η ⊆ Metric.ball x₀ s) :
∃ hwηθ : MemW1pWitness 2 (deGiorgiCutoffTestGeneral η u θ) (Metric.ball x₀ s),
∫ x in Metric.ball x₀ r, |positivePartSub u lam x| ^ 2 ∂volume ≤
(C_gns d 2) ^ 2 *
(∫ x in Metric.ball x₀ s, ‖hwηθ.weakGrad x‖ ^ 2 ∂volume) *
((volume.restrict (Metric.ball x₀ s)).real {x | lam < u x}) ^ (2 / (d : ℝ))Formal artifact
Lean source
theorem deGiorgi_cutoffSobolev_on_concentricBalls_of_posPartApprox {u η : E → ℝ} {x₀ : E} {r s θ lam : ℝ} (hd : 2 < (d : ℝ)) (hs : 0 < s) (hr : 0 < r) (hrs : r < s) (hu : MemW1pWitness 2 u (Metric.ball x₀ s)) (happroxBallTheta : ∃ ψ : ℕ → E → ℝ, (∀ n, ContDiff ℝ 1 (ψ n)) ∧ (∀ n, HasCompactSupport (ψ n)) ∧ Tendsto (fun n => eLpNorm (fun x => ψ n x - (u x - θ)) 2 (volume.restrict (Metric.ball x₀ s))) atTop (nhds 0) ∧ (∀ i : Fin d, Tendsto (fun n => eLpNorm (fun x => (fderiv ℝ (ψ n) x) (EuclideanSpace.single i 1) - hu.weakGrad x i) 2 (volume.restrict (Metric.ball x₀ s))) atTop (nhds 0))) (hθl : θ < lam) (hη : ContDiff ℝ (⊤ : ℕ∞) η) (_hη_nonneg : ∀ x, 0 ≤ η x) (hη_eq_one : ∀ x ∈ Metric.ball x₀ r, η x = 1) (hη_bound : ∀ x, |η x| ≤ 1) (hη_sub_ball : tsupport η ⊆ Metric.ball x₀ s) : ∃ hwηθ : MemW1pWitness 2 (deGiorgiCutoffTestGeneral η u θ) (Metric.ball x₀ s), ∫ x in Metric.ball x₀ r, |positivePartSub u lam x| ^ 2 ∂volume ≤ (C_gns d 2) ^ 2 * (∫ x in Metric.ball x₀ s, ‖hwηθ.weakGrad x‖ ^ 2 ∂volume) * ((volume.restrict (Metric.ball x₀ s)).real {x | lam < u x}) ^ (2 / (d : ℝ)) := by let v : E → ℝ := deGiorgiCutoffTestGeneral η u θ have hη_comp : HasCompactSupport η := hasCompactSupport_of_tsupport_subset_ball hη_sub_ball obtain ⟨Cη, hCη, hη_grad_bound⟩ := exists_fderiv_bound_of_contDiff_hasCompactSupport hη hη_comp have hvW01 : MemW01p 2 (deGiorgiCutoffTestGeneral η u θ) (Metric.ball x₀ s) := deGiorgiCutoffTest_memW01p_on_ball_of_ballPosPartApprox hs hu hη hη_bound hCη hη_grad_bound hη_sub_ball θ happroxBallTheta obtain ⟨hwηθ_real, hSob''⟩ := deGiorgi_cutoffSobolev_prepare (d := d) hd hs hu hη hη_bound hη_sub_ball hvW01 let hwηθ : MemW1pWitness 2 v (Metric.ball x₀ s) := { memLp := by simpa [v] using hwηθ_real.memLp weakGrad := hwηθ_real.weakGrad weakGrad_component_memLp := by simpa using hwηθ_real.weakGrad_component_memLp isWeakGrad := by simpa [v] using hwηθ_real.isWeakGrad } let hwθ : MemW1pWitness 2 (positivePartSub u θ) (Metric.ball x₀ s) := positivePartSub_memW1pWitness_on_ball hs hu θ happroxBallTheta refine ⟨hwηθ, ?_⟩ simpa [v, hwηθ, hwθ] using deGiorgi_cutoffSobolev_superlevelStep (d := d) hd hr hrs hu hwθ hθl hη_eq_one hwηθ_real hSob''- Project
- DeGiorgi
- License
- Apache-2.0
- Commit
- 4c1b3077d378
- Source
- DeGiorgi/DeGiorgiIteration/PreIteration.lean:711-768
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
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₂.
Source project: DeGiorgi
Person-level attribution pending.
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.
Source project: DeGiorgi
Person-level attribution pending.
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) < ∞.
Source project: DeGiorgi
Person-level attribution pending.