Stat.Nonparametric.Approximation.Holder
Hölder-class approximation and interpolation tools.
Defs 5 core · 5 supporting This module fixes the *generic* (estimand-agnostic) vocabulary for the Tsybakov nonparametric-minimax lower-bound primitive holder_point_l1_interpolation: for a function in a multivariate Hölder ball, a pointwise value f ★ isCompact_supBall★ volume_supBall
Generic multivariate Hölder ball and moment-cancelling product kernel — definitions
This module fixes the generic (estimand-agnostic) vocabulary for the Tsybakov
nonparametric-minimax lower-bound primitive
holder_point_l1_interpolation: for a function in a multivariate Hölder ball, a
pointwise value forces a local L¹ mass lower bound via a moment-cancelling
kernel.
The definitions are estimand-agnostic: they apply to any regression or response function and carry no dependency on a causal-law or treatment-effect type. This makes the primitive reusable in every Hölder-class two-point or Assouad lower bound.
* supBall x0 r — the sup-norm r-neighbourhood (closed cube) around x0, together
with its basic geometry/measure API (supBall_eq_pi, isCompact_supBall,
measurableSet_supBall, mem_supBall_self, volume_supBall).
* HolderBallStd f γ M S — the standard ⌈γ⌉-1-convention multivariate Hölder
ball of order γ, radius M, on S.
* prodKernel k d — the tensorized product kernel u ↦ ∏ᵢ k (u i).
* mem_cube, isCompact_cube — the same two facts for the axis-aligned box
[a,b]^d, the other cube shape that shows up in Hölder-class lower bounds.
For a nonnegative integer dimension, a centre in that-dimensional real space, and a real radius, the closed coordinatewise neighbourhood is the finite-dimensional specialization of the shared sup-norm ball from the monomial-Gram layer.
A closed sup-norm ball — the axis-aligned cube, or box, of half-width r centred at a point x0 in d-dimensional space — is compact, being a finite product of closed bounded intervals.
Proof (Lean source)
The Lebesgue volume of a closed sup-norm ball — the axis-aligned cube of side 2r centred at x0 in d dimensions — equals the d-th power of the side length, (2r)^d. No sign restriction on r is needed: a negative half-width gives an empty cube and zero volume when d > 0; when d = 0, the cube is the singleton whole space and both sides equal one.
Formal statement
Proof (Lean source)
For a nonnegative integer dimension, a real-valued function on that-dimensional real space, a real smoothness order, a real radius, and a region of that space, the standard multivariate Hölder ball condition requires that (1) the function has continuous derivatives through order on the region, (2) every derivative of order at most has norm at most the radius there, and (3) the derivative of order changes between any two points in the region by at most the radius times their distance to the power .
Definition (Lean source)
For a one-dimensional real-valued kernel and a nonnegative integer dimension, the multivariate product kernel assigns to each point the product of the one-dimensional kernel evaluated at all of its coordinates.
5 supporting declarations (lemmas, instances)
-
supBall_eq_pilemma — A closed sup-norm ball — the axis-aligned cube of half-width r centred at a point — is exactly the product of the coordinate intervals of radius r around the centre's coordinates.hypothesesconclusionsupBall x0 r = Set.univ.pi (fun i => Icc (x0 i - r) (x0 i + r))Proof (Lean source)
lemma supBall_eq_pi {d : ℕ} (x0 : Fin d → ℝ) (r : ℝ) : supBall x0 r = Set.univ.pi (fun i => Icc (x0 i - r) (x0 i + r)) := by ext x simp only [supBall, Set.mem_setOf_eq, Set.mem_univ_pi, Set.mem_Icc] refine ⟨fun h i => ?_, fun h i => ?_⟩ · have := (abs_le).mp (h i); constructor <;> linarith [this.1, this.2] · rw [abs_le]; have := h i; constructor <;> linarith [this.1, this.2] -
measurableSet_supBalllemma — A closed sup-norm ball (an axis-aligned cube, or box) is a measurable set.Proof (Lean source)
lemma measurableSet_supBall {d : ℕ} (x0 : Fin d → ℝ) (r : ℝ) : MeasurableSet (supBall x0 r) := by rw [supBall_eq_pi]; exact MeasurableSet.univ_pi (fun _ => measurableSet_Icc) -
mem_supBall_selflemma — A closed sup-norm ball (axis-aligned cube) of nonnegative half-width contains its own centre.Proof (Lean source)
lemma mem_supBall_self {d : ℕ} (x0 : Fin d → ℝ) {r : ℝ} (hr : 0 ≤ r) : x0 ∈ supBall x0 r := by intro i; simp only [sub_self, abs_zero]; exact hr -
mem_cubelemma — Membership in an axis-aligned box: a point lies in it exactly when each of its coordinates lies between a and b.hypothesesι :Type*a b :ℝx :ι → ℝconclusionx ∈ Set.univ.pi (fun _ : ι => Icc a b) ↔ ∀ i, a ≤ x i ∧ x i ≤ b -
isCompact_cubelemma — An axis-aligned box over a finite index type is compact: it is a finite product of closed bounded intervals.Proof (Lean source)
lemma isCompact_cube {ι : Type*} [Finite ι] (a b : ℝ) : IsCompact (Set.univ.pi (fun _ : ι => Icc a b)) := by letI := ofFinite ι exact isCompact_univ_pi (fun _ => isCompact_Icc)
CubeExtension 1 core · 0 supporting This module translates the extension theorem for intrinsic cube jets into the standard ambient-jet Hölder-ball vocabulary used by nonparametric models. ★ exists_holderBallStd_extension
Ambient Hölder-ball bridge for intrinsic cube data
This module translates the extension theorem for intrinsic cube jets into the standard ambient-jet Hölder-ball vocabulary used by nonparametric models.
For a dimension and a smoothness index that is positive, there is a positive constant, depending only on the dimension and the smoothness index, such that every function in the intrinsic cube Hölder ball of that smoothness with any nonnegative radius has an ambient function that agrees with it on the cube and belongs to the standard ambient Hölder ball of the same smoothness on the cube, with radius the constant times the original radius.
Formal statement
Proof (Lean source)
Interpolation_Part1 1 core · 6 supporting This file proves the reusable analytic steps used by the interpolation capstone in Interpolation_Part2.lean: bandwidth optimization, change of variables for a smoothed value, mass and moment identities for product kernel ★ holder_line_taylor
Analytic ingredients for Hölder pointwise-to-L¹ interpolation
This file proves the reusable analytic steps used by the interpolation capstone in
Interpolation_Part2.lean: bandwidth optimization, change of variables for a smoothed value,
mass and moment identities for product kernels on the unit cube, cancellation of diagonal Taylor
terms, and the one-dimensional Taylor remainder along a line. The final construction of the
moment-cancelling kernel is in Kernel.lean; the pointwise-to-local-L¹ theorem is in
Interpolation_Part2.lean.
For a dimension, smoothness order, radius, function, ambient domain, and open local domain, if the smoothness order is positive, the function lies in the standard Hölder ball, the local domain is open, and is contained in the ambient domain, then for a base point and displacement, if their full line segment lies in the local domain, the function at the displaced point differs from its diagonal Taylor polynomial by at most the Hölder remainder bound.
Formal statement
Proof (Lean source)
6 supporting declarations (lemmas, instances)
-
l1_lower_of_bias_boundtheorem — The bandwidth optimization converts a lower bound on a kernel-smoothed signal into the Hölder interpolation rate: local absolute mass grows at least as the pointwise signal to the power one plus dimension divided by smoothness.hypothesesd :ℕγ Ksup Δ Ival cstar h :ℝhKsup :0 < KsuphΔ :0 < Δhcstar :0 < cstarhheq :h = cstar * Δ ^ ((1 : ℝ) / γ)hbound :3 * Δ / 4 ≤ Ksup * h⁻¹ ^ d * Ivalconclusion(3 / (4 * Ksup)) * cstar ^ d * Δ ^ (1 + (d : ℝ) / γ) ≤ IvalProof (Lean source)
theorem l1_lower_of_bias_bound {d : ℕ} {γ Ksup Δ Ival cstar h : ℝ} (hKsup : 0 < Ksup) (hΔ : 0 < Δ) (hcstar : 0 < cstar) (hheq : h = cstar * Δ ^ ((1 : ℝ) / γ)) (hbound : 3 * Δ / 4 ≤ Ksup * h⁻¹ ^ d * Ival) : (3 / (4 * Ksup)) * cstar ^ d * Δ ^ (1 + (d : ℝ) / γ) ≤ Ival := by have hqpos : (0 : ℝ) < Δ ^ ((d : ℝ) / γ) := Real.rpow_pos_of_pos hΔ _ have hcpos : 0 < cstar ^ d := pow_pos hcstar _ have hABpos : 0 < cstar ^ d * Δ ^ ((d : ℝ) / γ) := mul_pos hcpos hqpos -- `h ^ d = cstar ^ d * Δ ^ (d/γ)`. have hpow : h ^ d = cstar ^ d * Δ ^ ((d : ℝ) / γ) := by have h1 : (Δ ^ ((1 : ℝ) / γ)) ^ d = Δ ^ ((d : ℝ) / γ) := by rw [← Real.rpow_natCast (Δ ^ ((1 : ℝ) / γ)) d, ← Real.rpow_mul hΔ.le] congr 1 ring rw [hheq, mul_pow, h1] -- Rewrite the hypothesis with the explicit `h ^ d`. rw [inv_pow, hpow] at hbound -- Clear the inverse: `(3Δ/4)·(cstar^d·Δ^{d/γ}) ≤ Ksup·Ival`. have hmul : 3 * Δ / 4 * (cstar ^ d * Δ ^ ((d : ℝ) / γ)) ≤ Ksup * Ival := by have h2 := mul_le_mul_of_nonneg_right hbound hABpos.le have e : Ksup * (cstar ^ d * Δ ^ ((d : ℝ) / γ))⁻¹ * Ival * (cstar ^ d * Δ ^ ((d : ℝ) / γ)) = Ksup * Ival := by field_simp rwa [e] at h2 -- `Δ ^ (1 + d/γ) = Δ · Δ ^ (d/γ)`. have hΔadd : Δ ^ (1 + (d : ℝ) / γ) = Δ * Δ ^ ((d : ℝ) / γ) := by rw [Real.rpow_add hΔ, Real.rpow_one] have goaleq : (3 / (4 * Ksup)) * cstar ^ d * (Δ * Δ ^ ((d : ℝ) / γ)) = (3 * Δ / 4 * (cstar ^ d * Δ ^ ((d : ℝ) / γ))) / Ksup := by field_simp rw [hΔadd, goaleq, div_le_iff₀ hKsup, mul_comm Ival Ksup] exact hmul -
smoothed_abs_lelemma — Change-of-variables control of the kernel-smoothed value. The absolute value of the kernel-smoothed value in u-coordinates is bounded by the scaled local L¹ mass: |∫_{[-1,1]^d} K(u) g(x0 + h•u) du| ≤ B^d · h⁻ᵈ · ∫_{supBall x0 r} |g|. Uses |K| ≤ B^d, the affine change of variables x = x0 + h•u, and that the image cube supBall x0 h ⊆ supBall x0 r when h ≤ r.hypothesesd :ℕγ M r :ℝx0 :Fin d → ℝk :ℝ → ℝB :ℝhS :supBall x0 r ⊆ Shkbd :∀ u : Fin d → ℝ, |prodKernel k d u| ≤ B ^ dg :(Fin d → ℝ) → ℝhg :HolderBallStd g γ M Sh :ℝhh :0 < hhhr :h ≤ rconclusion|∫ u in supBall (0 : Fin d → ℝ) 1, prodKernel k d u * g (x0 + h • u)|≤ B ^ d * (h⁻¹) ^ d * ∫ x in supBall x0 r, |g x|Proof (Lean source)
lemma smoothed_abs_le {d : ℕ} {γ M r : ℝ} {x0 : Fin d → ℝ} {S : Set (Fin d → ℝ)} {k : ℝ → ℝ} {B : ℝ} (hS : supBall x0 r ⊆ S) (hkbd : ∀ u : Fin d → ℝ, |prodKernel k d u| ≤ B ^ d) (g : (Fin d → ℝ) → ℝ) (hg : HolderBallStd g γ M S) (h : ℝ) (hh : 0 < h) (hhr : h ≤ r) : |∫ u in supBall (0 : Fin d → ℝ) 1, prodKernel k d u * g (x0 + h • u)| ≤ B ^ d * (h⁻¹) ^ d * ∫ x in supBall x0 r, |g x| := by have hBd0 : 0 ≤ B ^ d := le_trans (abs_nonneg _) (hkbd 0) have hgS : ContinuousOn g S := hg.1.continuousOn -- The affine map `u ↦ x0 + h•u` sends the unit cube into `S`. have hmaps : Set.MapsTo (fun u => x0 + h • u) (supBall (0 : Fin d → ℝ) 1) S := by intro u hu apply hS intro i have huq : (x0 + h • u) i - x0 i = h * u i := by simp [Pi.add_apply, Pi.smul_apply] rw [huq, abs_mul, abs_of_pos hh] have hui : |u i| ≤ 1 := by simpa using hu i calc h * |u i| ≤ h * 1 := mul_le_mul_of_nonneg_left hui hh.le _ = h := mul_one h _ ≤ r := hhr have hgcomp : ContinuousOn (fun u => g (x0 + h • u)) (supBall (0 : Fin d → ℝ) 1) := hgS.comp (by fun_prop : Continuous (fun u : Fin d → ℝ => x0 + h • u)).continuousOn hmaps have hgcomp_int : IntegrableOn (fun u => |g (x0 + h • u)|) (supBall (0 : Fin d → ℝ) 1) := (hgcomp.abs).integrableOn_compact (isCompact_supBall 0 1) have hg_abs_int : IntegrableOn (fun x => |g x|) (supBall x0 r) := ((hgS.mono hS).abs).integrableOn_compact (isCompact_supBall x0 r) -- Two set identities for the affine change of variables. have hsmul_set : h • supBall (0 : Fin d → ℝ) 1 = supBall (0 : Fin d → ℝ) h := by ext x simp only [Set.mem_smul_set] constructor · rintro ⟨u, hu, rfl⟩ i simp only [Pi.smul_apply, smul_eq_mul, Pi.zero_apply, sub_zero, abs_mul, abs_of_pos hh] have hui : |u i| ≤ 1 := by simpa using hu i calc h * |u i| ≤ h * 1 := mul_le_mul_of_nonneg_left hui hh.le _ = h := mul_one h · intro hx refine ⟨h⁻¹ • x, ?_, smul_inv_smul₀ hh.ne' x⟩ intro i simp only [Pi.smul_apply, smul_eq_mul, Pi.zero_apply, sub_zero, abs_mul, abs_inv, abs_of_pos hh] have hxi : |x i| ≤ h := by simpa using hx i calc h⁻¹ * |x i| ≤ h⁻¹ * h := mul_le_mul_of_nonneg_left hxi (by positivity) _ = 1 := inv_mul_cancel₀ hh.ne' have hme : MeasurableEmbedding (fun w => x0 + w : (Fin d → ℝ) → (Fin d → ℝ)) := (Homeomorph.addLeft x0).measurableEmbedding have hmp : MeasurePreserving (fun w => x0 + w) (volume : Measure (Fin d → ℝ)) volume := measurePreserving_add_left volume x0 have himg : (fun w => x0 + w) '' supBall (0 : Fin d → ℝ) h = supBall x0 h := by ext y simp only [Set.mem_image] constructor · rintro ⟨w, hw, rfl⟩ i simp only [Pi.add_apply, add_sub_cancel_left] simpa using hw i · intro hy refine ⟨y - x0, ?_, by simp⟩ intro i simpa using hy i have htrans : ∫ y in supBall x0 h, |g y| = ∫ w in supBall (0 : Fin d → ℝ) h, |g (x0 + w)| := by have := hmp.setIntegral_image_emb hme (fun y => |g y|) (supBall (0 : Fin d → ℝ) h) rwa [himg] at this -- Change of variables `x = x0 + h•u` then restrict the cube to the ball of radius `r`. have key : ∫ u in supBall (0 : Fin d → ℝ) 1, |g (x0 + h • u)| ≤ (h ^ d)⁻¹ * ∫ x in supBall x0 r, |g x| := by have cov : ∫ u in supBall (0 : Fin d → ℝ) 1, |g (x0 + h • u)| = (h ^ d)⁻¹ * ∫ y in supBall x0 h, |g y| := by rw [Measure.setIntegral_comp_smul_of_pos (μ := volume) (fun w => |g (x0 + w)|) (supBall (0 : Fin d → ℝ) 1) hh, hsmul_set, Module.finrank_fin_fun, smul_eq_mul, ← htrans] rw [cov] apply mul_le_mul_of_nonneg_left _ (by positivity) have hsub : supBall x0 h ⊆ supBall x0 r := fun x hx i => le_trans (hx i) hhr exact setIntegral_mono_set hg_abs_int (ae_of_all _ (fun x => abs_nonneg _)) (ae_of_all _ (fun x hx => hsub hx)) calc |∫ u in supBall (0 : Fin d → ℝ) 1, prodKernel k d u * g (x0 + h • u)| = ‖∫ u in supBall (0 : Fin d → ℝ) 1, prodKernel k d u * g (x0 + h • u)‖ := (Real.norm_eq_abs _).symm _ ≤ ∫ u in supBall (0 : Fin d → ℝ) 1, ‖prodKernel k d u * g (x0 + h • u)‖ := norm_integral_le_integral_norm _ _ = ∫ u in supBall (0 : Fin d → ℝ) 1, |prodKernel k d u| * |g (x0 + h • u)| := by simp only [Real.norm_eq_abs, abs_mul] _ ≤ ∫ u in supBall (0 : Fin d → ℝ) 1, B ^ d * |g (x0 + h • u)| := integral_mono_of_nonneg (ae_of_all _ (fun u => mul_nonneg (abs_nonneg _) (abs_nonneg _))) (hgcomp_int.const_mul (B ^ d)) (ae_of_all _ (fun u => mul_le_mul_of_nonneg_right (hkbd u) (abs_nonneg _))) _ = B ^ d * ∫ u in supBall (0 : Fin d → ℝ) 1, |g (x0 + h • u)| := integral_const_mul _ _ _ ≤ B ^ d * ((h ^ d)⁻¹ * ∫ x in supBall x0 r, |g x|) := mul_le_mul_of_nonneg_left key hBd0 _ = B ^ d * (h⁻¹) ^ d * ∫ x in supBall x0 r, |g x| := by rw [inv_pow]; ring -
prodKernel_mass_cubelemma — Kernel mass over the cube. ∫_{[-1,1]^d} K = 1.hypothesesconclusion∫ u in supBall (0 : Fin d → ℝ) 1, prodKernel k d u = 1Proof (Lean source)
lemma prodKernel_mass_cube {d : ℕ} {k : ℝ → ℝ} (hk_supp : ∀ u : ℝ, 1 < |u| → k u = 0) (hk_mass : (∫ u in Icc (-1 : ℝ) 1, k u) = 1) : ∫ u in supBall (0 : Fin d → ℝ) 1, prodKernel k d u = 1 := by rw [MeasureTheory.setIntegral_eq_integral_of_forall_compl_eq_zero (fun u hu => prodKernel_eq_zero_of_not_mem hk_supp hu)] rw [prodKernel_integral, kernel_integral_full hk_supp hk_mass, one_pow] -
prodKernel_continuouslemma — The tensor kernel is continuous when the 1-D kernel is.Proof (Lean source)
@[fun_prop] lemma prodKernel_continuous {d : ℕ} {k : ℝ → ℝ} (hk : Continuous k) : Continuous (prodKernel k d) := by unfold prodKernel exact continuous_finset_prod _ (fun i _ => hk.comp (continuous_apply i)) -
ae_lt_one_on_cubelemma — Almost every point of the closed unit cube lies in its interior (the boundary {∃ i, |uᵢ| = 1} is Lebesgue-null).Proof (Lean source)
lemma ae_lt_one_on_cube {d : ℕ} : ∀ᵐ u ∂(volume.restrict (supBall (0 : Fin d → ℝ) 1)), ∀ i, |u i| < 1 := by rw [MeasureTheory.ae_restrict_iff' (measurableSet_supBall 0 1)] have hnull : ∀ i : Fin d, ∀ c : ℝ, volume {u : Fin d → ℝ | u i = c} = 0 := by intro i c have hsub : {u : Fin d → ℝ | u i = c} ⊆ Set.univ.pi (fun j => if j = i then ({c} : Set ℝ) else univ) := by intro u hu j _ by_cases hj : j = i · subst hj; simpa using hu · simp [hj] refine measure_mono_null hsub ?_ rw [MeasureTheory.volume_pi_pi] refine Finset.prod_eq_zero (Finset.mem_univ i) ?_ simp have hbadnull : volume {u : Fin d → ℝ | ∃ i, |u i| = 1} = 0 := by have hsub : {u : Fin d → ℝ | ∃ i, |u i| = 1} ⊆ ⋃ i : Fin d, ({u | u i = 1} ∪ {u | u i = -1}) := by intro u hu obtain ⟨i, hi⟩ := hu rw [Set.mem_iUnion] rcases (abs_eq (by norm_num : (0:ℝ) ≤ 1)).mp hi with h | h · exact ⟨i, inl h⟩ · exact ⟨i, inr h⟩ refine measure_mono_null hsub ?_ refine measure_iUnion_null (fun i => ?_) exact measure_union_null (hnull i 1) (hnull i (-1)) have hae_not : ∀ᵐ u ∂(volume : Measure (Fin d → ℝ)), ¬ ∃ i, |u i| = 1 := by rw [MeasureTheory.ae_iff]; simpa using hbadnull filter_upwards [hae_not] with u hu hmem i have h1 : |u i| ≤ 1 := by simpa using hmem i rcases lt_or_eq_of_le h1 with h | h · exact h · exact absurd ⟨i, h⟩ hu -
integral_diagonal_taylor_term_cubelemma — The kernel kills each nonconstant diagonal Taylor term. For 1 ≤ j ≤ m, integrating the diagonal iterated derivative iteratedFDeriv ℝ j g x0 (fun _ => h•u) against the kernel over the cube gives 0: expand the diagonal multilinear map into monomials and apply the moment cancellation prodKernel_monomial_p_cube.hypothesesd :ℕk :ℝ → ℝm :ℕhk_cont :hk_supp :∀ u : ℝif1 < |u|thenk u = 0hk_mom :∀ j : ℕg :(Fin d → ℝ) → ℝx0 :Fin d → ℝh :ℝj :ℕhj1 :1 ≤ jhjm :j ≤ mconclusion= 0Proof (Lean source)
lemma integral_diagonal_taylor_term_cube {d : ℕ} {k : ℝ → ℝ} {m : ℕ} (hk_cont : Continuous k) (hk_supp : ∀ u : ℝ, 1 < |u| → k u = 0) (hk_mom : ∀ j : ℕ, 1 ≤ j → j ≤ m → (∫ u in Icc (-1 : ℝ) 1, u ^ j * k u) = 0) (g : (Fin d → ℝ) → ℝ) (x0 : Fin d → ℝ) (h : ℝ) {j : ℕ} (hj1 : 1 ≤ j) (hjm : j ≤ m) : ∫ u in supBall (0 : Fin d → ℝ) 1, prodKernel k d u * iteratedFDeriv ℝ j g x0 (fun _ => h • u) = 0 := by classical set F := iteratedFDeriv ℝ j g x0 with hFdef have hKcont : Continuous (prodKernel k d) := by unfold prodKernel exact continuous_finset_prod _ (fun i _ => hk_cont.comp (continuous_apply i)) -- pointwise monomial expansion of `K(u) · F(fun _ => h•u)`. have hpt : ∀ u : Fin d → ℝ, prodKernel k d u * F (fun _ => h • u) = ∑ p : Fin j → Fin d, (F (fun l => (single (p l) 1 : Fin d → ℝ)) * h ^ j) * ((∏ l, u (p l)) * prodKernel k d u) := by intro u have h1 : F (fun _ : Fin j => h • u) = ∑ p : Fin j → Fin d, (∏ l, (h * u (p l))) * F (fun l => (single (p l) 1 : Fin d → ℝ)) := by have hexp : (fun _ : Fin j => h • u) = (fun _ : Fin j => ∑ i : Fin d, (h * u i) • (single i 1 : Fin d → ℝ)) := by funext l; exact smul_eq_sum_single h u rw [hexp, ContinuousMultilinearMap.map_sum] refine Finset.sum_congr rfl (fun p _ => ?_) rw [ContinuousMultilinearMap.map_smul_univ] simp only [smul_eq_mul] rw [h1, Finset.mul_sum] refine Finset.sum_congr rfl (fun p _ => ?_) rw [Finset.prod_mul_distrib, Finset.prod_const, Finset.card_univ, Fintype.card_fin] ring calc ∫ u in supBall (0 : Fin d → ℝ) 1, prodKernel k d u * F (fun _ => h • u) = ∫ u in supBall (0 : Fin d → ℝ) 1, ∑ p : Fin j → Fin d, (F (fun l => (single (p l) 1 : Fin d → ℝ)) * h ^ j) * ((∏ l, u (p l)) * prodKernel k d u) := by simp_rw [hpt] _ = ∑ p : Fin j → Fin d, ∫ u in supBall (0 : Fin d → ℝ) 1, (F (fun l => (single (p l) 1 : Fin d → ℝ)) * h ^ j) * ((∏ l, u (p l)) * prodKernel k d u) := by refine MeasureTheory.integral_finset_sum _ (fun p _ => ?_) have hc : Continuous (fun u : Fin d → ℝ => (F (fun l => (single (p l) 1 : Fin d → ℝ)) * h ^ j) * ((∏ l, u (p l)) * prodKernel k d u)) := continuous_const.mul ((continuous_finset_prod _ (fun l _ => continuous_apply (p l))).mul hKcont) exact hc.continuousOn.integrableOn_compact (isCompact_supBall 0 1) _ = 0 := by refine Finset.sum_eq_zero (fun p _ => ?_) rw [MeasureTheory.integral_const_mul, prodKernel_monomial_p_cube hk_supp hk_mom p hj1 hjm, mul_zero]
Interpolation_Part2 1 core · 0 supporting This file combines the moment-cancelling kernel from Kernel.lean with the Taylor, kernel-moment, change-of-variables, and bandwidth-optimization lemmas from Interpolation_Part1.lean. ★ holder_point_l1_interpolation
Hölder pointwise-to-local-L¹ interpolation capstone
This file combines the moment-cancelling kernel from Kernel.lean with the Taylor, kernel-moment,
change-of-variables, and bandwidth-optimization lemmas from Interpolation_Part1.lean. Its public
result holder_point_l1_interpolation turns a pointwise value of a multivariate Hölder function
into a lower bound for its local absolute integral over supBall x0 r.
Hölder pointwise ⟹ local L¹ mass interpolation. Fix a point x0 in d-dimensional Euclidean space. If the Hölder exponent γ is positive, the Hölder constant M is positive, the neighbourhood radius r is positive, and the sup-norm ball of radius r around x0 is contained in the domain S, then there is a constant c_H > 0, depending only on γ, d, M, r and uniform over the Hölder ball, such that every function g in the standard Hölder ball of exponent γ, constant M, and domain S satisfies c_H · |g(x0)|^{1 + d/γ} ≤ ∫_{supBall x0 r} |g|.
Formal statement
Proof (Lean source)
Kernel 2 core · 4 supporting This file constructs a bounded, compactly supported one-dimensional kernel with unit mass and vanishing moments through any prescribed finite order. ★ exists_moment_cancelling_kernel_1d
Moment-cancelling kernels
This file constructs a bounded, compactly supported one-dimensional kernel with unit mass and vanishing moments through any prescribed finite order. It also records the mass, moment, and uniform-bound identities for tensorizing that kernel across coordinates.
* exists_moment_cancelling_kernel_1d — the 1-D building block: a continuous,
[-1,1]-supported kernel k with ∫ k = 1 and ∫ uʲ k(u) du = 0 for
1 ≤ j ≤ m. Obtained by the standard Vandermonde/Gram moment solve: take a
fixed positive continuous weight vanishing at ±1 and multiply by a degree-m
polynomial whose coefficients solve the nonsingular moment (Gram) system.
* prodKernel_abs_le — the tensorized kernel is bounded by B ^ d when k is
bounded by B.
The general tensor-product integral and moment factorizations are proved here. Their
support-restricted unit-cube forms are derived where needed in Interpolation_Part1.lean.
Coefficient-vector polynomial u ↦ ∑ᵢ cᵢ uⁱ of degree ≤ m, used in the Vandermonde/Gram moment solve for exists_moment_cancelling_kernel_1d.
For any prescribed finite order m, a compactly supported one-dimensional kernel can be chosen to have unit total mass while cancelling every polynomial moment through that order.
Formal statement
Proof (Lean source)
4 supporting declarations (lemmas, instances)
-
hpkPoly_continuoustheorem — The coefficient polynomial of degree at most m built from a coefficient vector is a continuous function on the real line.Proof (Lean source)
@[fun_prop] theorem hpkPoly_continuous (m : ℕ) (c : Fin (m + 1) → ℝ) : Continuous (hpkPoly m c) := by unfold hpkPoly exact continuous_finset_sum _ (fun i _ => continuous_const.mul (continuous_pow _)) -
prodKernel_abs_letheorem — A product kernel is uniformly bounded by the coordinatewise bound raised to the dimension, whenever its one-dimensional factor has that bound.hypothesesconclusion|prodKernel k d u| ≤ B ^ dProof (Lean source)
theorem prodKernel_abs_le {d : ℕ} {k : ℝ → ℝ} {B : ℝ} (hB : ∀ u, |k u| ≤ B) (u : Fin d → ℝ) : |prodKernel k d u| ≤ B ^ d := by unfold prodKernel rw [Finset.abs_prod] calc ∏ i : Fin d, |k (u i)| ≤ ∏ _i : Fin d, B := Finset.prod_le_prod (fun i _ => abs_nonneg _) (fun i _ => hB (u i)) _ = B ^ d := by rw [Finset.prod_const, Finset.card_univ, Fintype.card_fin] -
prodKernel_integraltheorem — The total mass of a product kernel factorizes into the product of the one-dimensional masses, so a unit-mass factor yields a unit-mass multivariate kernel.Proof (Lean source)
theorem prodKernel_integral {d : ℕ} (k : ℝ → ℝ) : ∫ u, prodKernel k d u = (∫ t, k t) ^ d := by unfold prodKernel rw [MeasureTheory.integral_fintype_prod_volume_eq_prod (fun _ : Fin d => k)] rw [Finset.prod_const, Finset.card_univ, Fintype.card_fin] -
prodKernel_momenttheorem — Each polynomial moment of a product kernel factorizes into the corresponding one-dimensional moments, allowing any cancelled coordinate moment to cancel the entire multivariate moment.hypothesesconclusion(∫ u, (∏ i, u i ^ ν i) * prodKernel k d u) = ∏ i, ∫ t, t ^ ν i * k tProof (Lean source)
theorem prodKernel_moment {d : ℕ} (k : ℝ → ℝ) (ν : Fin d → ℕ) : (∫ u, (∏ i, u i ^ ν i) * prodKernel k d u) = ∏ i, ∫ t, t ^ ν i * k t := by unfold prodKernel have hfac : (fun u : Fin d → ℝ => (∏ i, u i ^ ν i) * ∏ i, k (u i)) = fun u : Fin d → ℝ => ∏ i, (u i ^ ν i * k (u i)) := by funext u; rw [← Finset.prod_mul_distrib] rw [hfac] rw [MeasureTheory.integral_fintype_prod_volume_eq_prod (fun i : Fin d => fun t => t ^ ν i * k t)]