Imports
/- Copyright (c) 2026 Gregory J. Loges. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Gregory J. Loges -/ module public import Physlib.SpaceAndTime.Space.IsDistBounded public import Physlib.SpaceAndTime.Space.Module public import Mathlib.MeasureTheory.Constructions.HaarToSphere public import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals

Integrability of norm powers on subsets of Space

i. Overview

This module contains results on the integrability of x ↦ ‖x‖ᵖ for real exponents p on subsets of Space d.

The integrability of x ↦ ‖x‖ᵖ on ball 0 b and (ball 0 b)ᶜ follows from the 1d results integrableOn_Ioo_rpow_iff and integrableOn_Ioi_rpow_iff after changing to spherical coordinates.

ii. Key results

    integrableOn_norm_rpow_iff_of_isBounded_nhds: Necessary and sufficient condition for integrability on a set s which is a bounded neighborhood of the origin.

    integrableOn_norm_rpow_of_isBounded_compl_nhds: Integrability for all bounded sets s with 0 ∉ closure s.

    integrableOn_norm_rpow_of_compl_nhds: A sufficient condition for integrability on s with 0 ∉ closure s.

    radial_norm_power_spherical_integral_eq_space_integral: The spherical-coordinate integral identity for integer powers of the norm against a Schwartz map.

iii. Table of contents

iv. References

@[expose] public sectionprivate lemma npow_indicator_rpow_eq {n : } {s : Set } (hs : 0 s) (p : ) : (fun r r ^ n s.indicator (fun r r ^ p) r) = s.indicator (fun r r ^ (n + p)) := n:s:Set hs:0 sp:(fun r => r ^ n s.indicator (fun r => r ^ p) r) = s.indicator fun r => r ^ (n + p) n:s:Set hs:0 sp:r:r ^ n s.indicator (fun r => r ^ p) r = s.indicator (fun r => r ^ (n + p)) r n:s:Set hs:0 sp:r:hr:r sr ^ n s.indicator (fun r => r ^ p) r = s.indicator (fun r => r ^ (n + p)) rn:s:Set hs:0 sp:r:hr:r sr ^ n s.indicator (fun r => r ^ p) r = s.indicator (fun r => r ^ (n + p)) r n:s:Set hs:0 sp:r:hr:r sr ^ n s.indicator (fun r => r ^ p) r = s.indicator (fun r => r ^ (n + p)) r All goals completed! 🐙 n:s:Set hs:0 sp:r:hr:r sr ^ n s.indicator (fun r => r ^ p) r = s.indicator (fun r => r ^ (n + p)) r All goals completed! 🐙All goals completed! 🐙All goals completed! 🐙d:p:inst✝:NeZero dq:hp_int:p = q + dhp_pos:0 < pη:𝓢(Space d, )hf:Integrable (fun x => η x * x ^ q) volumen:(Metric.sphere 0 1)r:(Set.Ioi 0)hr:0 < rhnorm:r n = rr ^ (d - 1) * (η (r n) * r ^ q) = r ^ (d - 1) * r ^ q * η (r n) All goals completed! 🐙

The function x ↦ ‖x‖ᵖ is integrable on {x : Space d | 0 ≤ ‖x‖ < b} iff 0 < d + p.

d:inst✝:NeZero db:hb:0 < bp:f:Space d ENNReal := (Metric.ball 0 b).indicator fun x => x ^ p‖ₑg: := (Set.Ioo 0 b).indicator fun r => r ^ phfg:f =ᵐ[volume] fun x => g x‖ₑ0 < 1 + (d - 1 + p) 0 < d + p All goals completed! 🐙

The function x ↦ ‖x‖ᵖ is integrable on {x : Space d | 0 < a ≤ ‖x‖} iff d + p < 0.

d:inst✝:NeZero da:ha:0 < ap:f:Space d ENNReal := (Metric.ball 0 a).indicator fun x => x ^ p‖ₑg: := (Set.Ici a).indicator fun r => r ^ phfg:f = fun x => g x‖ₑd - 1 + p + 1 < 0 d + p < 0 All goals completed! 🐙

The function x ↦ ‖x‖ᵖ is integrable on the shell {x : Space d | 0 < a ≤ ‖x‖ ∧ ‖x‖ < b}.

d:a:ha:0 < ab:p:hab:¬a < bx:Space dthis:x < b x < ax Metric.ball 0 b (Metric.ball 0 a) x All goals completed! 🐙

The function x ↦ ‖x‖ᵖ is integrable on a bounded neighborhood of the origin iff 0 < d + p.

lemma integrableOn_norm_rpow_iff_of_isBounded_nhds {d : } [NeZero d] {s : Set (Space d)} (hs : Bornology.IsBounded s) (hs' : s nhds 0) (p : ) : IntegrableOn (fun x : Space d x ^ p) s 0 < d + p := d:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:IntegrableOn (fun x => x ^ p) s volume 0 < d + p d:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yIntegrableOn (fun x => x ^ p) s volume 0 < d + p d:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yb:hb:0 < bhb':s Metric.ball 0 bIntegrableOn (fun x => x ^ p) s volume 0 < d + p d:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yb:hb:0 < bhb':s Metric.ball 0 bIntegrableOn (fun x => x ^ p) s volume 0 < d + pd:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yb:hb:0 < bhb':s Metric.ball 0 b0 < d + p IntegrableOn (fun x => x ^ p) s volume d:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yb:hb:0 < bhb':s Metric.ball 0 bIntegrableOn (fun x => x ^ p) s volume 0 < d + pd:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yb:hb:0 < bhb':s Metric.ball 0 b0 < d + p IntegrableOn (fun x => x ^ p) s volume d:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yb:hb:0 < bhb':s Metric.ball 0 bh:0 < d + pIntegrableOn (fun x => x ^ p) s volume d:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yb:hb:0 < bhb':s Metric.ball 0 bh:IntegrableOn (fun x => x ^ p) s volume0 < d + p All goals completed! 🐙 d:inst✝:NeZero ds:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, s yb:hb:0 < bhb':s Metric.ball 0 bh:0 < d + pIntegrableOn (fun x => x ^ p) s volume All goals completed! 🐙

The function x ↦ ‖x‖ᵖ is integrable on a bounded subset with the origin in its exterior.

lemma integrableOn_norm_rpow_of_isBounded_compl_nhds {d : } {s : Set (Space d)} (hs : Bornology.IsBounded s) (hs' : s nhds 0) (p : ) : IntegrableOn (fun x : Space d x ^ p) s := d:s:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:IntegrableOn (fun x => x ^ p) s volume d:s:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, y sIntegrableOn (fun x => x ^ p) s volume d:s:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, y sb:hb:0 < bhb':s Metric.ball 0 bIntegrableOn (fun x => x ^ p) s volume d:s:Set (Space d)hs:Bornology.IsBounded shs':s nhds 0p:a:ha:a > 0ha': y Metric.ball 0 a, y sb:hb:0 < bhb':s Metric.ball 0 bhsc:s (Metric.ball 0 a)IntegrableOn (fun x => x ^ p) s volume All goals completed! 🐙

The function x ↦ ‖x‖ᵖ is integrable on a subset with the origin in its exterior provided the decay at infinity is fast enough.

lemma integrableOn_norm_rpow_of_compl_nhds {d : } [NeZero d] {s : Set (Space d)} (hs : s nhds 0) {p : } (h : d + p < 0) : IntegrableOn (fun x : Space d x ^ p) s := d:inst✝:NeZero ds:Set (Space d)hs:s nhds 0p:h:d + p < 0IntegrableOn (fun x => x ^ p) s volume d:inst✝:NeZero ds:Set (Space d)hs:s nhds 0p:h:d + p < 0a:ha:a > 0ha': y Metric.ball 0 a, y sIntegrableOn (fun x => x ^ p) s volume d:inst✝:NeZero ds:Set (Space d)hs:s nhds 0p:h:d + p < 0a:ha:a > 0ha': y Metric.ball 0 a, y shs':s (Metric.ball 0 a)IntegrableOn (fun x => x ^ p) s volume All goals completed! 🐙