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

Dirichlet Problem exists of divergence Data

DeGiorgi.dirichletProblem_exists_of_divergenceData

Plain-language statement

Existence of weak solutions to the inhomogeneous Dirichlet problem with boundary datum u₀ and divergence-form right-hand side div F.

Exact Lean statement

theorem dirichletProblem_exists_of_divergenceData
    {Ω : Set E}
    (hd : 2 ≤ d)
    (hΩ : IsOpen Ω) (hΩ_bdd : Bornology.IsBounded Ω)
    (A : EllipticCoeff d Ω)
    {u₀ : E → ℝ} (hu₀ : MemW1p 2 u₀ Ω)
    {F : E → E} (hF : MemLp F 2 (volume.restrict Ω)) :
    ∃ u : E → ℝ,
      MemW1p 2 u Ω ∧
      MemW01p 2 (fun x => u x - u₀ x) Ω ∧
      ∀ (hu : MemW1pWitness 2 u Ω) (v : E → ℝ), MemH01 v Ω →
        ∀ (hv : MemW1pWitness 2 v Ω),
          bilinFormOfCoeff A hu hv = divergenceRHSOfField F hv

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem dirichletProblem_exists_of_divergenceData    {Ω : Set E}    (hd : 2  d)    (hΩ : IsOpen Ω) (hΩ_bdd : Bornology.IsBounded Ω)    (A : EllipticCoeff d Ω)    {u₀ : E  } (hu₀ : MemW1p 2 u₀ Ω)    {F : E  E} (hF : MemLp F 2 (volume.restrict Ω)) :     u : E  ,      MemW1p 2 u Ω       MemW01p 2 (fun x => u x - u₀ x) Ω        (hu : MemW1pWitness 2 u Ω) (v : E  ), MemH01 v Ω          (hv : MemW1pWitness 2 v Ω),          bilinFormOfCoeff A hu hv = divergenceRHSOfField F hv := by  let hu₀w : MemW1pWitness 2 u₀ Ω := DeGiorgi.MemW1p.someWitness hu₀  let rhs := weakProblemRHSOfFieldAndDatum (A := A) (Ω := Ω) F hu₀w  obtain w, hwsol :=    weakProblem_exists hd hΩ hΩ_bdd A rhs      (by        intro u v hu0 hv0        let hu : MemW1pWitness 2 u Ω :=          DeGiorgi.MemW1p.someWitness (MemW01p.memW1p hu0)        let hv : MemW1pWitness 2 v Ω :=          DeGiorgi.MemW1p.someWitness (MemW01p.memW1p hv0)        have huv0 : MemH01 (fun x => u x + v x) Ω := MemW01p.add hu0 hv0        let huv : MemW1pWitness 2 (fun x => u x + v x) Ω := hu.add hv        calc          rhs (fun x => u x + v x)              = divergenceRHSOfField F huv - bilinFormOfCoeff A hu₀w huv := by                  exact weakProblemRHSOfFieldAndDatum_eq_of_memH01 hΩ A hu₀w huv0 huv          _ = (divergenceRHSOfField F hu + divergenceRHSOfField F hv) -                (bilinFormOfCoeff A hu₀w hu + bilinFormOfCoeff A hu₀w hv) := by                  rw [divergenceRHSOfField_add hF hu hv, bilinFormOfCoeff_add_right A hu₀w hu hv]          _ = weakProblemRHSOfFieldAndDatum (A := A) (Ω := Ω) F hu₀w u +                weakProblemRHSOfFieldAndDatum (A := A) (Ω := Ω) F hu₀w v := by                  rw [weakProblemRHSOfFieldAndDatum_eq_of_memH01 hΩ A hu₀w hu0 hu,                    weakProblemRHSOfFieldAndDatum_eq_of_memH01 hΩ A hu₀w hv0 hv]                  ring          _ = rhs u + rhs v := by rfl)      (by        intro c u hu0        let hu : MemW1pWitness 2 u Ω :=          DeGiorgi.MemW1p.someWitness (MemW01p.memW1p hu0)        have hcu0 : MemH01 (fun x => c * u x) Ω := by          simpa [Pi.smul_apply, smul_eq_mul] using (MemW01p.smul c hu0)        let hcu : MemW1pWitness 2 (fun x => c * u x) Ω := hu.smul c        calc          rhs (fun x => c * u x)              = divergenceRHSOfField F hcu - bilinFormOfCoeff A hu₀w hcu := by                  exact weakProblemRHSOfFieldAndDatum_eq_of_memH01 hΩ A hu₀w hcu0 hcu          _ = c * divergenceRHSOfField F hu - c * bilinFormOfCoeff A hu₀w hu := by                rw [divergenceRHSOfField_smul c hu, bilinFormOfCoeff_smul_right c A hu₀w hu]          _ = c * weakProblemRHSOfFieldAndDatum (A := A) (Ω := Ω) F hu₀w u := by                rw [weakProblemRHSOfFieldAndDatum_eq_of_memH01 hΩ A hu₀w hu0 hu]                ring          _ = c * rhs u := by rfl)      <| by        have hCF_nonneg :            0  (∫ x, ‖F x‖ ^ (2 : ) ∂(volume.restrict Ω)) ^ (1 / (2 : )) := by          positivity        have hCU_nonneg :            0  A.Λ * (∫ x, ‖hu₀w.weakGrad x‖ ^ (2 : ) ∂(volume.restrict Ω)) ^              (1 / (2 : )) := by          refine mul_nonneg A.Λ_nonneg ?_          positivity        refine ((∫ x, ‖F x‖ ^ (2 : ) ∂(volume.restrict Ω)) ^ (1 / (2 : )) +            A.Λ * (∫ x, ‖hu₀w.weakGrad x‖ ^ (2 : ) ∂(volume.restrict Ω)) ^              (1 / (2 : ))), add_nonneg hCF_nonneg hCU_nonneg, ?_        intro v hv0 hv        simpa [rhs] using weakProblemRHSOfFieldAndDatum_bound hΩ A hF hu₀w v hv0 hv  have hw0 : MemH01 w Ω := hwsol.left  let hw : MemW1pWitness 2 w Ω :=    DeGiorgi.MemW1p.someWitness (MemW01p.memW1p hw0)  let u : E   := fun x => w x + u₀ x  let hu : MemW1pWitness 2 u Ω := hw.add hu₀w  refine u, hu.memW1p, ?_, ?_  · simpa [u] using hw0  · intro hu' v hv0 hv    calc      bilinFormOfCoeff A hu' hv = bilinFormOfCoeff A hu hv := by        exact bilinFormOfCoeff_eq_left hΩ A hu' hu hv      _ = bilinFormOfCoeff A hw hv + bilinFormOfCoeff A hu₀w hv := by        simpa [hu] using bilinFormOfCoeff_add_left A hw hu₀w hv      _ = rhs v + bilinFormOfCoeff A hu₀w hv := by        rw [hwsol.right hw v hv0 hv]      _ = weakProblemRHSOfFieldAndDatum (A := A) (Ω := Ω) F hu₀w v +            bilinFormOfCoeff A hu₀w hv := by        rfl      _ = divergenceRHSOfField F hv := by        rw [weakProblemRHSOfFieldAndDatum_eq_of_memH01 hΩ A hu₀w hv0 hv]        ring
Project
DeGiorgi
License
Apache-2.0
Commit
4c1b3077d378
Source
DeGiorgi/WeakFormulation/ExistenceTheory.lean:718-807

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