Smooth transition between radial–stereographic boundary charts
ProvedSPC4Disk.contDiffOn_boundaryToBoundaryLet m be a nonnegative integer, p and p′ points of the unit m-sphere, and k any differentiability order. The change of boundary coordinates keeps the first, radial coordinate and applies the sphere’s stereographic change of angular coordinates to the remaining coordinates. Its Euclidean extension is C^k on the set where the inner product of −p′ with the inverse-stereographic unit vector from the p-chart is not 1.
The domain explicitly excludes the second projection’s pole. This is the analytic compatibility result used in the disk atlas assembly.
import Mathlib
import Definitions.Def_SPC4DiskCharts
set_option autoImplicit false
open Set Metric SPC4Disk
open scoped ContDiff Manifold
noncomputable section
variable {m : ℕ}
local instance : Fact (Module.finrank ℝ (EuclideanSpace ℝ (Fin (m + 1))) = m + 1) :=
⟨finrank_euclideanSpace_fin⟩theorem SPC4Disk.contDiffOn_boundaryToBoundary
(p p' : sphere (0 : EuclideanSpace ℝ (Fin (m + 1))) 1) {k : ℕ∞ω} :
ContDiffOn ℝ k
(fun y : EuclideanSpace ℝ (Fin (m + 1)) =>
(WithLp.toLp 2 (Fin.cons (y 0)
(fun i => ((OrthonormalBasis.fromOrthogonalSpanSingleton m
(ne_zero_of_mem_unit_sphere (-p'))).repr
(stereoToFun (((-p') : sphere (0 : EuclideanSpace ℝ (Fin (m + 1))) 1) :
EuclideanSpace ℝ (Fin (m + 1)))
(stereoInvFunAux (((-p) : sphere (0 : EuclideanSpace ℝ (Fin (m + 1))) 1) :
EuclideanSpace ℝ (Fin (m + 1)))
(((OrthonormalBasis.fromOrthogonalSpanSingleton m
(ne_zero_of_mem_unit_sphere (-p))).repr.symm
(WithLp.toLp 2 (Fin.tail (fun j => y j)))) :
EuclideanSpace ℝ (Fin (m + 1)))))) i)) :
EuclideanSpace ℝ (Fin (m + 1))))
{ y : EuclideanSpace ℝ (Fin (m + 1)) |
innerSL ℝ (((-p') : sphere (0 : EuclideanSpace ℝ (Fin (m + 1))) 1) :
EuclideanSpace ℝ (Fin (m + 1)))
(stereoInvFunAux (((-p) : sphere (0 : EuclideanSpace ℝ (Fin (m + 1))) 1) :
EuclideanSpace ℝ (Fin (m + 1)))
(((OrthonormalBasis.fromOrthogonalSpanSingleton m
(ne_zero_of_mem_unit_sphere (-p))).repr.symm
(WithLp.toLp 2 (Fin.tail (fun j => y j)))) :
EuclideanSpace ℝ (Fin (m + 1)))) ≠ (1 : ℝ) } := by sorryRead-back
What the Lean code literally says, in plain math · Codex independent blind auditor; exact model identifier unavailable
For every natural number , every pair of unit vectors , and every differentiability order that is a nonnegative integer, , or , let be the coordinate isometries to from the orthonormal bases selected by the construction for and . Put and , assigning zero to division by zero. The map from to itself is of class on the set . The inverse-stereographic denominator never vanishes, and the displayed set excludes the zero denominator in the forward-stereographic factor. There is no restriction on the real first coordinate , and is allowed. The case and any resulting empty domain are included, with the regularity assertion vacuous on an empty domain; , , and denote continuity, smoothness, and analyticity.
Confirmed by the mission captain (proposal self-audit).