Documentation

CsdLean4.Mathlib.Analysis.Fourier.SchwartzPartialIntegral

Integrating out one variable preserves Schwartz space #

Category: 1-Mathlib (CSD-free; staged as a Mathlib-upstream candidate). BACKLOG #126(ii), out of #122.

โ˜…โ˜…โ˜… SchwartzMap.integralLastCLM โ€” ๐“ข(E ร— โ„, โ„‚) โ†’L[โ„‚] ๐“ข(E, โ„‚), G โ†ฆ fun p => โˆซ t, G (p, t). Mathlib has SchwartzMap.integralCLM, which integrates over the whole domain into a scalar, and nothing that integrates out one variable: this is the two-variable gap #121 names, in its integral form. It is what #126 needs, because a composite integral kernel is exactly one variable integrated out of a product of two kernels.

The two halves, and where each comes from #

Smoothness is #124 (differentiation under the integral over a finite-dimensional parameter) and decay is #126's gate in that file (norm_iteratedFDeriv_integral_le, the bound at every order). What this file supplies is the bridge from Schwartz data to #124's directional hypotheses:

Honest scope #

โš ๏ธ One variable, and it is the last one. ๐“ข(E ร— F, โ„‚) โ†’ ๐“ข(E, โ„‚) for a general second factor F is the same proof with (1 + tยฒ)โปยน replaced by an integrable profile on F; only F = โ„ is proved here, because that is what a kernel composition integrates over and because the profile is where the measure enters.

โš ๏ธ The constants are not sharp. 2^(2N+2)ยทฯ€ falls out of the route.

โš ๏ธ Nothing here is a Fubini statement. That the iterated integral equals the double integral is a separate step, and the consumer (#126) does it with Mathlib's integral_integral_swap rather than anything in this file.

References: ContDiffParametricIntegralFDeriv.lean (#124 and #126's gate), SchwartzSlice.lean (#121(i), slicing), WeylSmooth.lean (#122, the same two-order decay combination); specs/BACKLOG.md #126, #124, #122, #121.

The inclusion of the first factor #

The chain rule through y โ†ฆ (y, t): every statement below moves between a derivative in the first factor and the full derivative along it.

theorem iteratedFDeriv_comp_inl {H : Type u_1} [NormedAddCommGroup H] [NormedSpace โ„ H] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„ E] {D : H ร— โ„ โ†’ E} (hD : ContDiff โ„ (โ†‘โŠค) D) (t : โ„) (k : โ„•) (x : H) :

โ˜…โ˜… The iterated chain rule through the inclusion: the derivative in the first factor is the full derivative precomposed with inl in every slot.

The inclusion has norm at most one, so no power of it appears in any bound.

โ˜… A derivative in the first factor is no bigger than the full derivative.

The directional derivatives, viewed in both variables #

#124's hypotheses ask for the directional derivatives of p โ†ฆ G (p, t) to be measurable in t, including the operator-valued first one. Folding the inclusion into the recursion makes each of them a slice of a jointly smooth function, which is what discharges those hypotheses.

noncomputable def prodDirDeriv {H : Type u_1} [NormedAddCommGroup H] [NormedSpace โ„ H] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„ E] (D : H ร— โ„ โ†’ E) :
List H โ†’ H ร— โ„ โ†’ E

The directional derivatives in the first factor, as functions of both variables.

Equations
Instances For
    theorem contDiff_prodDirDeriv {H : Type u_1} [NormedAddCommGroup H] [NormedSpace โ„ H] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„ E] {D : H ร— โ„ โ†’ E} (hD : ContDiff โ„ (โ†‘โŠค) D) (hs : List H) :

    โ˜… Each of them is jointly smooth.

    theorem dirDeriv_eq_prodDirDeriv {H : Type u_1} [NormedAddCommGroup H] [NormedSpace โ„ H] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„ E] {D : H ร— โ„ โ†’ E} (hD : ContDiff โ„ (โ†‘โŠค) D) (hs : List H) (x : H) (t : โ„) :
    dirDeriv (fun (p : H) (s : โ„) => D (p, s)) hs x t = prodDirDeriv D hs (x, t)

    โ˜…โ˜… And they are #124's directional derivatives.

    theorem aestronglyMeasurable_dirDeriv_prodMk {H : Type u_1} [NormedAddCommGroup H] [NormedSpace โ„ H] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„ E] {D : H ร— โ„ โ†’ E} (hD : ContDiff โ„ (โ†‘โŠค) D) (hs : List H) (x : H) :
    MeasureTheory.AEStronglyMeasurable (fun (t : โ„) => dirDeriv (fun (p : H) (s : โ„) => D (p, s)) hs x t) MeasureTheory.volume

    The measurability hypothesis #124 asks for.

    theorem aestronglyMeasurable_fderiv_dirDeriv_prodMk {H : Type u_1} [NormedAddCommGroup H] [NormedSpace โ„ H] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„ E] {D : H ร— โ„ โ†’ E} (hD : ContDiff โ„ (โ†‘โŠค) D) (hs : List H) (x : H) :
    MeasureTheory.AEStronglyMeasurable (fun (t : โ„) => fderiv โ„ (fun (y : H) => dirDeriv (fun (p : H) (s : โ„) => D (p, s)) hs y t) x) MeasureTheory.volume

    The operator-valued measurability hypothesis #124's scope note flags as unavoidable. The inclusion is what makes it a continuity statement about a jointly smooth function.

    The decay the bound family needs #

    theorem one_add_norm_le_of_sub_norm_le {H : Type u_1} [NormedAddCommGroup H] (N : โ„•) {p x : H} (h : โ€–x - pโ€– โ‰ค 1) :

    The parameter weight moves between nearby points, which is what lets a bound family that is constant on a ball carry a weight evaluated at the ball's centre.

    โ˜…โ˜… The weight transfer. Two orders of G's decay give a bound that already carries a polynomial weight in the parameter and still has an integrable profile in the integration variable โ€” with the constant a single Finset.sup of G's seminorms, which is the shape SchwartzMap.mkCLM consumes.

    The partial integral #

    theorem contDiff_slice_left {H : Type u_1} [NormedAddCommGroup H] [NormedSpace โ„ H] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace โ„ E] (G : SchwartzMap (H ร— โ„) E) (t : โ„) :
    ContDiff โ„ โ†‘โŠค fun (y : H) => G (y, t)

    Each slice of a Schwartz function is smooth in the first variable, which is #124's smoothness hypothesis.

    The slice is integrable, which every statement below needs.

    โ˜…โ˜… The bound family both statements below run on: a directional derivative of the slice, dominated uniformly in the parameter by G's decay with the integrable profile (1 + tยฒ)โปยน, and carrying whatever polynomial weight in the parameter is asked for.

    โ˜…โ˜… The partial integral is smooth, by #124 with the bound family above โ€” which is uniform in the parameter, so no ball is needed here.

    โ˜…โ˜…โ˜… The seminorm estimate, which is what makes the partial integral a Schwartz function. The weight is carried by a bound family that is constant on a unit ball of parameters โ€” which is the shape #126's gate consumes โ€” and โˆซ (1 + tยฒ)โปยน = ฯ€ finishes it. The right-hand side is linear in a single Finset.sup of G's seminorms, which is what SchwartzMap.mkCLM asks for.

    โ˜…โ˜…โ˜… Integrating out the last variable maps Schwartz space to Schwartz space, continuously and linearly.

    Equations
    Instances For