Documentation

LeanPool.Superdiffusion.Algsuperdiff.Section4.Provider.ExcessDecay.CoarseDirichletEnergy

CoarseDirichletEnergy #

Ported from scottnarmstrong/Superdiffusion at 7f20476385d4af418f110303085ad0740c9eba46. Module imports, support namespace and local option directives adapted for Lean Pool.

The Dirichlet energy right-hand side at the pin r = s/2 #

Nothing here claims the anchor or any source node.

What is proved #

CoarseGraining's dirichletEnergyWithRHSRHS — the right-hand side of the general-data energy estimate, which BoundaryEnergyRebase puts on the covering cube — read at the fidelity plan's pin r = s/2 and priced onto the frozen clause's own legs:

  dirichletEnergyWithRHSRHS C (□_{n+2}) ã (s/2) (−g(·+c)) v
      ≤ C (s/2)^{-3/2} √K √(σ_{n+3}^{-1}) · C_bg 3^{s(n+2)} C_gw [g]_{H^s(W')}
      + C (s/2)^{-1/2} √K √(σ_{n+3})
            · ( √d 3^d ‖∇h‖_{L²(W')} + C_bg 3^{s(n+2)} C_gw [∇h]_{H^s(W')} ) .

The three legs on the right are the frozen clause's own [g], ‖∇h‖_{L²} and [∇h]_{H^s} legs, at the exact shapes the CoarseAssemblyBudget regrouping consumes.

Ingredients, all proved:

References #

1. The two capped ellipticity factors #

theorem Algsuperdiff.Section4.Provider.ExcessDecay.rpow_neg_half_le_of_lower_cap {l sigma K : ℝ} (hl : 0 ≤ l) (hsigma : 0 < sigma) (hK : 0 ≤ K) (hcap : sigma * l⁻¹ ≤ K) :
l.rpow (-(1 / 2)) ≤ √K * √sigma⁻¹

The lower ellipticity factor λ^{-1/2} from the q = 2 ratio cap.

theorem Algsuperdiff.Section4.Provider.ExcessDecay.rpow_half_le_of_upper_cap {Lam sigma K : ℝ} (hLam : 0 ≤ Lam) (hsigma : 0 < sigma) (hcap : sigma⁻¹ * Lam ≤ K) :
Lam.rpow (1 / 2) ≤ √K * √sigma

The upper ellipticity factor Λ^{1/2} from the q = 2 ratio cap.

2. The Dirichlet energy right-hand side, priced #

theorem Algsuperdiff.Section4.Provider.ExcessDecay.dirichletEnergyWithRHSRHS_coveringCube_le_anchorLegs_atWindow {d : ℕ} [NeZero d] {n m : ℤ} {x z c : HCPolySupport.Vec d} {s C₂ K sigma : ℝ} {g : HCPolySupport.Vec d → HCPolySupport.Vec d} {a : HCPolySupport.Book.Ch03.CoeffFamily d} (hcdef : c = wellPlacedCentre x m (n + 2)) (hcov : (fun (y : HCPolySupport.Vec d) => wellPlacedCentre x m (n + 2) + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2)) ⊆ (fun (y : HCPolySupport.Vec d) => z + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 3)) ∩ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)) (hs : 0 < s) (hs1 : s ≤ 1) (hC₂ : 0 ≤ C₂) (hsigma : 0 < sigma) (hK : 0 ≤ K) (hdat : HCPolySupport.H1Function (HCPolySupport.openCubeSet (HCPolySupport.originCube d m))) (v : HCPolySupport.Book.Ch03.DirichletForcedCubeSolution (HCPolySupport.originCube d (n + 2)) a fun (y : HCPolySupport.Vec d) => -g (y + c)) (hvgrad : ∀ (y : HCPolySupport.Vec d), v.boundaryData.grad y = hdat.grad (y + c)) (hlam : sigma * (HCPolySupport.Book.Ch02.lambdaSq (HCPolySupport.originCube d (n + 2)) (s / 4) (HCPolySupport.Book.Ch02.MultiscaleExponent.finite 2) a)⁻¹ ≤ K) (hLam : sigma⁻¹ * HCPolySupport.Book.Ch02.LambdaSq (HCPolySupport.originCube d (n + 2)) (s / 2) (HCPolySupport.Book.Ch02.MultiscaleExponent.finite 2) a ≤ K) (hgreg : HCPolySupport.Book.Ch03.ForceBesovRegularity (HCPolySupport.originCube d (n + 2)) s fun (y : HCPolySupport.Vec d) => -g (y + c)) (hhreg : HCPolySupport.Book.Ch03.ForceBesovRegularity (HCPolySupport.originCube d (n + 2)) s fun (y : HCPolySupport.Vec d) => hdat.grad (y + c)) (hgL2cov : MeasureTheory.MemLp g 2 (Support.normalizedVolumeMeasureOn ((fun (y : HCPolySupport.Vec d) => c + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2))))) (hgWcov : MeasureTheory.MemLp (HCPolySupport.Gagliardo.gagliardoKernel s 2 g) 2 (Support.normalizedGagliardoMeasureOn ((fun (y : HCPolySupport.Vec d) => c + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2))))) (hgW : MeasureTheory.MemLp (HCPolySupport.Gagliardo.gagliardoKernel s 2 g) 2 (Support.normalizedGagliardoMeasureOn ((fun (y' : HCPolySupport.Vec d) => z + y') '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 3)) ∩ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)))) (hhL2cov : MeasureTheory.MemLp hdat.grad 2 (Support.normalizedVolumeMeasureOn ((fun (y : HCPolySupport.Vec d) => c + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2))))) (hhWcov : MeasureTheory.MemLp (HCPolySupport.Gagliardo.gagliardoKernel s 2 hdat.grad) 2 (Support.normalizedGagliardoMeasureOn ((fun (y : HCPolySupport.Vec d) => c + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2))))) (hhW : MeasureTheory.MemLp (HCPolySupport.Gagliardo.gagliardoKernel s 2 hdat.grad) 2 (Support.normalizedGagliardoMeasureOn ((fun (y' : HCPolySupport.Vec d) => z + y') '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 3)) ∩ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)))) (hhL2W : MeasureTheory.MemLp hdat.grad 2 (Support.normalizedVolumeMeasureOn ((fun (y' : HCPolySupport.Vec d) => z + y') '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 3)) ∩ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)))) :

Dirichlet energy bound from covering-cube containment in the anchor window.

theorem Algsuperdiff.Section4.Provider.ExcessDecay.dirichletEnergyWithRHSRHS_coveringCube_le_anchorLegs {d : ℕ} [NeZero d] {n m : ℤ} {x z c : HCPolySupport.Vec d} {s C₂ K sigma : ℝ} {g : HCPolySupport.Vec d → HCPolySupport.Vec d} {a : HCPolySupport.Book.Ch03.CoeffFamily d} (hcdef : c = wellPlacedCentre x m (n + 2)) (hnm : n + 2 ≤ m) (hx : x ∈ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)) (hgeom : (fun (y : HCPolySupport.Vec d) => x + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d n) ⊆ (fun (y : HCPolySupport.Vec d) => z + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 1)) ∩ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)) (hs : 0 < s) (hs1 : s ≤ 1) (hC₂ : 0 ≤ C₂) (hsigma : 0 < sigma) (hK : 0 ≤ K) (hdat : HCPolySupport.H1Function (HCPolySupport.openCubeSet (HCPolySupport.originCube d m))) (v : HCPolySupport.Book.Ch03.DirichletForcedCubeSolution (HCPolySupport.originCube d (n + 2)) a fun (y : HCPolySupport.Vec d) => -g (y + c)) (hvgrad : ∀ (y : HCPolySupport.Vec d), v.boundaryData.grad y = hdat.grad (y + c)) (hlam : sigma * (HCPolySupport.Book.Ch02.lambdaSq (HCPolySupport.originCube d (n + 2)) (s / 4) (HCPolySupport.Book.Ch02.MultiscaleExponent.finite 2) a)⁻¹ ≤ K) (hLam : sigma⁻¹ * HCPolySupport.Book.Ch02.LambdaSq (HCPolySupport.originCube d (n + 2)) (s / 2) (HCPolySupport.Book.Ch02.MultiscaleExponent.finite 2) a ≤ K) (hgreg : HCPolySupport.Book.Ch03.ForceBesovRegularity (HCPolySupport.originCube d (n + 2)) s fun (y : HCPolySupport.Vec d) => -g (y + c)) (hhreg : HCPolySupport.Book.Ch03.ForceBesovRegularity (HCPolySupport.originCube d (n + 2)) s fun (y : HCPolySupport.Vec d) => hdat.grad (y + c)) (hgL2cov : MeasureTheory.MemLp g 2 (Support.normalizedVolumeMeasureOn ((fun (y : HCPolySupport.Vec d) => c + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2))))) (hgWcov : MeasureTheory.MemLp (HCPolySupport.Gagliardo.gagliardoKernel s 2 g) 2 (Support.normalizedGagliardoMeasureOn ((fun (y : HCPolySupport.Vec d) => c + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2))))) (hgW : MeasureTheory.MemLp (HCPolySupport.Gagliardo.gagliardoKernel s 2 g) 2 (Support.normalizedGagliardoMeasureOn ((fun (y' : HCPolySupport.Vec d) => z + y') '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 3)) ∩ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)))) (hhL2cov : MeasureTheory.MemLp hdat.grad 2 (Support.normalizedVolumeMeasureOn ((fun (y : HCPolySupport.Vec d) => c + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2))))) (hhWcov : MeasureTheory.MemLp (HCPolySupport.Gagliardo.gagliardoKernel s 2 hdat.grad) 2 (Support.normalizedGagliardoMeasureOn ((fun (y : HCPolySupport.Vec d) => c + y) '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 2))))) (hhW : MeasureTheory.MemLp (HCPolySupport.Gagliardo.gagliardoKernel s 2 hdat.grad) 2 (Support.normalizedGagliardoMeasureOn ((fun (y' : HCPolySupport.Vec d) => z + y') '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 3)) ∩ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)))) (hhL2W : MeasureTheory.MemLp hdat.grad 2 (Support.normalizedVolumeMeasureOn ((fun (y' : HCPolySupport.Vec d) => z + y') '' HCPolySupport.openCubeSet (HCPolySupport.originCube d (n + 3)) ∩ HCPolySupport.openCubeSet (HCPolySupport.originCube d m)))) :

CoarseGraining's dirichletEnergyWithRHSRHS on the boundary covering cube at the pin r = s/2, priced onto the frozen clause's three legs.

hlam and hLam are the two q = 2 ratio caps of CoarseIndexBridges.ae_coveringCubeRatioCap_le at the indices s/4 and s/2; hvgrad is the boundary-gradient identity carried by the produced Dirichlet comparison of BoundaryEnergyRebase.