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 y⊢ x = y d:ℕx:↑(Metric.sphere 0 1)y:↑(Metric.sphere 0 1)h:↑x = ↑y⊢ x = 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! 🐙