Ingoing Kerr: the function and the null-coframe Lorentz frame
DefinitionAtlas_Kerr_InPartsat the point , and the frame matrix
whose columns diagonalise the ingoing Kerr metric: . It involves neither nor square roots, so it needs no condition: it applies at points with wherever and also hold (the entry requires ). No horizon statement is made.
Clarification of the preserved source comment (2026-10-14). The published Lean text of this bundle keeps its original module docstring. The comment does not affect the Lean definitions and is left unchanged (published payloads are immutable; no replacement node was created). It says the Lorentz frame “is valid on the horizons Δ = 0”. Correct reading: the frame needs no condition and applies at points with that lie in the domain (, ); “horizons” only names the coordinate locus , and no horizon, causal or global statement is made.
Frame data for the signature obligation of row 7, obtained by pulling the diagonalisation of the null block back through the coframe , .
Formalization Note Definition bundle generated by skeleton subtraction from the source module Atlas.Kerr.InParts; declarations: ExactVacuumAtlas.Kerr.In.Fk, ExactVacuumAtlas.Kerr.In.frameIn. No theorem is proved inside the bundle; it imports only Mathlib and other Definitions.Def_* bundles.
-- Generated by scripts/release01/gen_platform_tree.py (ATLAS-RELEASE-01) by skeleton subtraction from Atlas/Kerr/InParts.lean
-- definition bundle: kept ExactVacuumAtlas.Kerr.In.Fk, ExactVacuumAtlas.Kerr.In.frameIn
import Mathlib
import Definitions.Def_Atlas_Core_Basic
import Definitions.Def_Atlas_Kerr_InDefs
set_option maxHeartbeats 4000000
/-!
# Ingoing Kerr: symmetry, inverse, `C^∞`, Lorentz signature on `domIn a`
The Lorentz frame avoids `Δ` entirely, so it is valid on the horizons `Δ = 0`. With
`ℓ = dv + a sin²θ dφ`, `m = dr + a sin²θ dφ`, the metric is
`−F ℓ² + 2 ℓ m + Σ dθ² + Σ (sin θ dφ)²`, `F = 1 − 2Mr/Σ`; the null block `[[−F, 1], [1, 0]]` is
diagonalised by `(1, (F−1)/2)`, `(1, (F+1)/2)` exactly as for Schwarzschild EF. Pulling back
through the coframe gives the columns of `frameIn`, with `frameInᵀ g frameIn = diag(−1, 1, Σ, Σ)`.
-/
open Real
open scoped ContDiff
namespace ExactVacuumAtlas.Kerr.In
/-- `F = 1 − 2Mr/Σ` at a point. -/
noncomputable def Fk (M a : ℝ) (x : Pt 4) : ℝ := 1 - 2 * M * x 1 / (x 1 ^ 2 + a ^ 2 * cos (x 2) ^ 2)
/-- Frame (columns) for the ingoing Kerr metric; no `Δ`, no square roots. -/
noncomputable def frameIn (M a : ℝ) (x : Pt 4) : Matrix (Fin 4) (Fin 4) ℝ :=
!![1, 1, 0, -(a * sin (x 2));
(Fk M a x - 1) / 2, (Fk M a x + 1) / 2, 0, -(a * sin (x 2));
0, 0, 1, 0;
0, 0, 0, 1 / sin (x 2)]
/-! Generated (inline, ATLAS-B3-01): `C^∞` of every component on `domIn a`. -/
end ExactVacuumAtlas.Kerr.In
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.