Imports
/- Copyright (c) 2026 Joseph Tooby-Smith. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Joseph Tooby-Smith -/ module public import Physlib.SpaceAndTime.Space.ConstantSliceDist public import Physlib.SpaceAndTime.Space.Norm.Basic public import Mathlib.MeasureTheory.Integral.IntervalIntegral.Basic

Spherical surfaces on Space.

@[expose] public section

A. The definition of the spherical shell surface

The inclusion into Space d of its unit sphere S^{d-1} (the subtype coercion x ↦ x.1).

def sphericalShell (d : ) : Metric.sphere (0 : Space d) 1 Space d := fun x => x.1
lemma sphericalShell_injective (d : ) : Function.Injective (sphericalShell d) := d:Function.Injective (sphericalShell d) d:x:(Metric.sphere 0 1)y:(Metric.sphere 0 1)h:sphericalShell d x = sphericalShell d yx = y d:x:(Metric.sphere 0 1)y:(Metric.sphere 0 1)h:x = yx = y All goals completed! 🐙lemma sphericalShell_continuous (d : ) : Continuous (sphericalShell d) := continuous_subtype_vallemma sphericalShell_measurableEmbedding (d : ) : MeasurableEmbedding (sphericalShell d) := d:MeasurableEmbedding (sphericalShell d) d:Continuous (sphericalShell d)d:Function.Injective (sphericalShell d) d:Continuous (sphericalShell d) All goals completed! 🐙 d:Function.Injective (sphericalShell d) All goals completed! 🐙@[simp] lemma norm_sphericalShell (d : ) (x : Metric.sphere (0 : Space d) 1) : sphericalShell d x = 1 := d:x:(Metric.sphere 0 1)sphericalShell d x = 1 All goals completed! 🐙

B. The measure associated with the spherical shell

The measure on Space d corresponding to integration around a spherical shell.

def sphericalShellMeasure (d : ) : Measure (Space d) := MeasureTheory.Measure.map (sphericalShell d) (MeasureTheory.Measure.toSphere volume)
𝕜:TypeE:TypeF:TypeF':Typeinst✝⁵:RCLike 𝕜inst✝⁴:NormedAddCommGroup Einst✝³:NormedAddCommGroup Finst✝²:NormedAddCommGroup F'inst✝¹:NormedSpace Einst✝:NormedSpace Fd:(Measure.map (sphericalShell d) volume.toSphere).HasTemperateGrowth 𝕜:TypeE:TypeF:TypeF':Typeinst✝⁵:RCLike 𝕜inst✝⁴:NormedAddCommGroup Einst✝³:NormedAddCommGroup Finst✝²:NormedAddCommGroup F'inst✝¹:NormedSpace Einst✝:NormedSpace Fd: n, Integrable (fun x => (1 + x) ^ (-n)) (Measure.map (sphericalShell d) volume.toSphere) 𝕜:TypeE:TypeF:TypeF':Typeinst✝⁵:RCLike 𝕜inst✝⁴:NormedAddCommGroup Einst✝³:NormedAddCommGroup Finst✝²:NormedAddCommGroup F'inst✝¹:NormedSpace Einst✝:NormedSpace Fd:Integrable (fun x => (1 + x) ^ (-0)) (Measure.map (sphericalShell d) volume.toSphere) All goals completed! 🐙

C. The distribution associated with the spherical shell

The distribution associated with a spherical shell. One can roughly think of this distribution as the distribution which takes test functions f (r) to ∫ d³r f(r) ρ(r) where ρ(r) is the mass, charge or current etc. distribution.

def sphericalShellDist (d : ) : (Space d) →d[] := SchwartzMap.integralCLM (sphericalShellMeasure d)
All goals completed! 🐙All goals completed! 🐙