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

Bilin Form weighted cauchy Schwarz

DeGiorgi.bilinForm_weighted_cauchySchwarz

Plain-language statement

Weighted Cauchy-Schwarz inequality for the bilinear form. For any f : E → ℝ serving as a weight function: |∫ f · ⟪A∇u, ∇v⟫| ≤ (∫ f² · ⟪A∇u, ∇u⟫)^{1/2} · (Λ · ∫ ‖∇v‖²)^{1/2} This follows from the pointwise bound |⟪Aξ, η⟫|² ≤ ⟪Aξ,ξ⟫ · ⟪Aη,η⟫ ≤ ⟪Aξ,ξ⟫ · Λ‖η‖² (the first inequality is Cauchy-Schwarz for the A-inner product, the second is the upper...

Exact Lean statement

theorem bilinForm_weighted_cauchySchwarz
    {Ω : Set E}
    {u v : E → ℝ} {f : E → ℝ}
    (A : EllipticCoeff d Ω)
    (hu : MemW1pWitness 2 u Ω) (hv : MemW1pWitness 2 v Ω)
    (hf : AEStronglyMeasurable f (volume.restrict Ω))
    (hf_sq_int : Integrable (fun x => f x ^ 2 *
        bilinFormIntegrandOfCoeff A hu hu x) (volume.restrict Ω)) :
    (∫ x in Ω, f x * bilinFormIntegrandOfCoeff A hu hv x ∂volume) ^ 2 ≤
      (∫ x in Ω, f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x ∂volume) *
        (A.Λ * ∫ x in Ω, ‖hv.weakGrad x‖ ^ (2 : ℕ) ∂volume)

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
theorem bilinForm_weighted_cauchySchwarz    {Ω : Set E}    {u v : E  } {f : E  }    (A : EllipticCoeff d Ω)    (hu : MemW1pWitness 2 u Ω) (hv : MemW1pWitness 2 v Ω)    (hf : AEStronglyMeasurable f (volume.restrict Ω))    (hf_sq_int : Integrable (fun x => f x ^ 2 *        bilinFormIntegrandOfCoeff A hu hu x) (volume.restrict Ω)) :    (∫ x in Ω, f x * bilinFormIntegrandOfCoeff A hu hv x ∂volume) ^ 2       (∫ x in Ω, f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x ∂volume) *        (A.Λ * ∫ x in Ω, ‖hv.weakGrad x‖ ^ (2 : ) ∂volume) := by  let μ : Measure E := volume.restrict Ω  -- Non-integrable case: integral = 0, so 0² = 0 ≤ RHS  by_cases hint : Integrable (fun x => f x * bilinFormIntegrandOfCoeff A hu hv x) μ  · -- Integrable case: use pointwise bound + Hölder    have hpw_abs : ᵐ x ∂μ, ‖f x * bilinFormIntegrandOfCoeff A hu hv x‖         (|f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖) *hv.weakGrad x‖ := by      filter_upwards with x      rw [Real.norm_eq_abs, abs_mul, bilinFormIntegrandOfCoeff]      calc |f x| * |⟪matMulE (A.a x) (hu.weakGrad x), hv.weakGrad x⟫_|           |f x| * (‖matMulE (A.a x) (hu.weakGrad x)‖ *hv.weakGrad x‖) :=            mul_le_mul_of_nonneg_left (abs_real_inner_le_norm _ _) (abs_nonneg _)        _ = (|f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖) *hv.weakGrad x‖ := by ring    have hdom : ᵐ x ∂μ, f x ^ 2 * ‖matMulE (A.a x) (hu.weakGrad x)‖ ^ 2         A.Λ * (f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x) := by      filter_upwards [A.mulVec_sq_le] with x hx      have hmvs := hx (hu.weakGrad x)      calc f x ^ 2 * ‖matMulE (A.a x) (hu.weakGrad x)‖ ^ 2           f x ^ 2 * (A.Λ *hu.weakGrad x, matMulE (A.a x) (hu.weakGrad x)⟫_) :=            mul_le_mul_of_nonneg_left hmvs (sq_nonneg _)        _ = A.Λ * (f x ^ 2 *hu.weakGrad x, matMulE (A.a x) (hu.weakGrad x)⟫_) := by ring        _ = A.Λ * (f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x) := by            rw [bilinFormIntegrandOfCoeff, real_inner_comm]    have hg_meas : AEStronglyMeasurable (fun x => |f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖) μ :=      hf.norm.mul (aestronglyMeasurable_norm_matMulE_weakGrad A hu)    have hfsq_normAu_int : Integrable (fun x =>        f x ^ 2 * ‖matMulE (A.a x) (hu.weakGrad x)‖ ^ 2) μ := by      refine Integrable.mono' (hf_sq_int.const_mul A.Λ) ?_ ?_      · exact (hg_meas.mul hg_meas).congr (ae_of_all _ (fun x => by          simp only [Pi.mul_apply]; rw [ sq_abs (f x)]; ring))      · filter_upwards [hdom] with x hx        rw [Real.norm_of_nonneg (mul_nonneg (sq_nonneg _) (sq_nonneg _))]        exact hx    -- g² = f² * ‖A∇u‖² is integrable, so g ∈ L²    have hg_memLp : MemLp (fun x => |f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖)        (ENNReal.ofReal 2) μ := by      rw [show (ENNReal.ofReal (2 : )) = (2 : ∞) from by norm_num]      exact memLp_abs_mul_norm_matMulE A hu hf hfsq_normAu_int    -- h(x) = ‖∇v(x)‖    have hh_memLp : MemLp (fun x =>hv.weakGrad x‖)        (ENNReal.ofReal 2) μ := by      rw [show (ENNReal.ofReal (2 : )) = (2 : ∞) from by norm_num]      exact hv.weakGrad_memLp.norm    have hholder :=      integral_mul_norm_le_Lp_mul_Lq (μ := μ)        (f := fun x => |f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖)        (g := fun x =>hv.weakGrad x‖)        Real.HolderConjugate.two_two hg_memLp hh_memLp    simp only [Real.norm_of_nonneg (mul_nonneg (abs_nonneg _) (norm_nonneg _)),      Real.norm_of_nonneg (norm_nonneg _)] at hholder    -- |∫ f*bilin| ≤ ∫ |f*bilin| ≤ ∫ g*h ≤ (∫ g²)^(1/2) * (∫ h²)^(1/2)    -- Need: g*h integrable for integral_mono_ae    have hgh_int : Integrable (fun x =>        (|f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖) *hv.weakGrad x‖) μ := by      have hh2_int : Integrable (fun x =>hv.weakGrad x‖ ^ (2 : )) μ := by        have := (integrable_norm_rpow_iff          hv.weakGrad_memLp.aestronglyMeasurable.norm two_ne_zero ENNReal.ofNat_ne_top).mpr          hv.weakGrad_memLp.norm        convert this using 1; ext x        rw [Real.norm_of_nonneg (norm_nonneg _)]        have h2 : ENNReal.toReal 2 = (2 : ) := by norm_num        rw [h2, show (2 : ) = ((2 : ) : ) from by norm_num, Real.rpow_natCast]      refine Integrable.mono'        ((hfsq_normAu_int.add hh2_int).div_const 2)        (hg_meas.mul hv.weakGrad_memLp.aestronglyMeasurable.norm)        (ae_of_all _ (fun x => ?_))      rw [Real.norm_of_nonneg (mul_nonneg (mul_nonneg (abs_nonneg _) (norm_nonneg _))        (norm_nonneg _))]      simp only [Pi.add_apply]      have hg := mul_nonneg (abs_nonneg (f x)) (norm_nonneg (matMulE (A.a x) (hu.weakGrad x)))      have hh := norm_nonneg (hv.weakGrad x)      nlinarith [sq_nonneg (|f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖ -hv.weakGrad x‖),        sq_abs (f x), mul_self_nonneg (‖matMulE (A.a x) (hu.weakGrad x)‖)]    have habs_le : |∫ x, f x * bilinFormIntegrandOfCoeff A hu hv x ∂μ|         ∫ x, (|f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖) *hv.weakGrad x‖ ∂μ := by      calc |∫ x, f x * bilinFormIntegrandOfCoeff A hu hv x ∂μ|          = ‖∫ x, f x * bilinFormIntegrandOfCoeff A hu hv x ∂μ‖ := (Real.norm_eq_abs _).symm        _  ∫ x, ‖f x * bilinFormIntegrandOfCoeff A hu hv x‖ ∂μ :=            norm_integral_le_integral_norm _        _  _ := integral_mono_ae hint.norm hgh_int hpw_abs    have hle_rpow : |∫ x, f x * bilinFormIntegrandOfCoeff A hu hv x ∂μ|         (∫ x, (|f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖) ^ (2 : ) ∂μ) ^ ((1 : ) / 2) *        (∫ x, ‖hv.weakGrad x‖ ^ (2 : ) ∂μ) ^ ((1 : ) / 2) :=      le_trans habs_le hholder    have hsq : (∫ x, f x * bilinFormIntegrandOfCoeff A hu hv x ∂μ) ^ (2 : )         (∫ x, (|f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖) ^ (2 : ) ∂μ) *        (∫ x, ‖hv.weakGrad x‖ ^ (2 : ) ∂μ) := by      have := sq_le_of_le_rpow_half_mul        (integral_nonneg (fun x => by positivity))        (integral_nonneg (fun x => by positivity))        (abs_nonneg _) hle_rpow      rwa [sq_abs] at this    have hrpow_g :  x, (|f x| * ‖matMulE (A.a x) (hu.weakGrad x)‖) ^ (2 : ) =        f x ^ 2 * ‖matMulE (A.a x) (hu.weakGrad x)‖ ^ 2 := by      intro x      rw [Real.mul_rpow (abs_nonneg _) (norm_nonneg _)]      rw [show (2 : ) = ((2 : ) : ) from by norm_num]      rw [Real.rpow_natCast, Real.rpow_natCast, sq_abs]    have hrpow_h :  x, ‖hv.weakGrad x‖ ^ (2 : ) = (‖hv.weakGrad x‖ ^ (2 : ) : ) := by      intro x      rw [show (2 : ) = ((2 : ) : ) from by norm_num, Real.rpow_natCast]    simp_rw [hrpow_g, hrpow_h] at hsq    have hint_dom : ∫ x, f x ^ 2 * ‖matMulE (A.a x) (hu.weakGrad x)‖ ^ 2 ∂μ         A.Λ * ∫ x, f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x ∂μ := by      calc ∫ x, f x ^ 2 * ‖matMulE (A.a x) (hu.weakGrad x)‖ ^ 2 ∂μ           ∫ x, A.Λ * (f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x) ∂μ :=            integral_mono_ae hfsq_normAu_int (hf_sq_int.const_mul A.Λ) hdom        _ = A.Λ * ∫ x, f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x ∂μ :=            integral_const_mul _ _    -- Final assembly    calc (∫ x, f x * bilinFormIntegrandOfCoeff A hu hv x ∂μ) ^ 2         (∫ x, f x ^ 2 * ‖matMulE (A.a x) (hu.weakGrad x)‖ ^ 2 ∂μ) *          (∫ x, ‖hv.weakGrad x‖ ^ (2 : ) ∂μ) := hsq      _  (A.Λ * ∫ x, f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x ∂μ) *          (∫ x, ‖hv.weakGrad x‖ ^ (2 : ) ∂μ) :=          mul_le_mul_of_nonneg_right hint_dom (integral_nonneg (fun x => by positivity))      _ = (∫ x, f x ^ 2 * bilinFormIntegrandOfCoeff A hu hu x ∂μ) *          (A.Λ * ∫ x, ‖hv.weakGrad x‖ ^ (2 : ) ∂μ) := by ring  · -- Non-integrable case    have hlhs : ∫ x in Ω, f x * bilinFormIntegrandOfCoeff A hu hv x = 0 :=      integral_undef hint    rw [hlhs]    simp only [ne_eq, OfNat.ofNat_ne_zero, not_false_eq_true, zero_pow]    exact mul_nonneg      (integral_nonneg_of_ae (by        filter_upwards [A.coercive] with x hx        have hbilin_nonneg : 0  bilinFormIntegrandOfCoeff A hu hu x := by          simp only [bilinFormIntegrandOfCoeff]          rw [real_inner_comm]          exact le_trans (mul_nonneg A.lam_nonneg (sq_nonneg _)) (hx (hu.weakGrad x))        exact mul_nonneg (sq_nonneg _) hbilin_nonneg))      (mul_nonneg A.Λ_nonneg (integral_nonneg (fun x => by positivity)))
Project
DeGiorgi
License
Apache-2.0
Commit
4c1b3077d378
Source
DeGiorgi/WeakFormulation/WeightedEstimates.lean:221-362

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