Diagonal-frame criterion for Lorentzian signature
ProvedExactVacuumAtlas.isLorentzian_of_diagcoordinate-geometryexact-vacuum-atlasgeneral-relativitylinear-algebralorentzian-signature
Let be a natural number, a real matrix, a real matrix and with
Then is Lorentzian in the sense of bundle Atlas_Core_Basic: there is a matrix with invertible determinant and . (No invertibility of is assumed; it follows since the diagonal matrix is invertible.)
The criterion used by every row to discharge the signature obligation: each row exhibits an explicit (unnormalised) frame that diagonalises its metric with one negative and three positive entries; the normalisation by happens once, here.
Formalization Note IsLorentzian G is ; the total dimension is .
Preamble
import Mathlib import Definitions.Def_Atlas_Core_Basic
Formal statement
theorem ExactVacuumAtlas.isLorentzian_of_diag {n : ℕ} {G : Matrix (Fin (n + 1)) (Fin (n + 1)) ℝ}
(E : Matrix (Fin (n + 1)) (Fin (n + 1)) ℝ) (d : Fin (n + 1) → ℝ)
(h : E.transpose * G * E = Matrix.diagonal d) (h0 : d 0 < 0)
(hpos : ∀ i, i ≠ 0 → 0 < d i) : IsLorentzian G := by sorrySource
Sylvester's law of inertia (standard linear algebra); Mathlib LinearAlgebra/QuadraticForm/Signature.lean (pinned 0df444a3) for sigPos/sigNeg; Lean source: repository ExactVacuumAtlas (private repository, not publicly accessible; GitHub remote pending (no GitHub identity on the build server)), commit 35f26e6a22f5d72380094fa94edc72dea667df53, Atlas/Core/Lorentz.lean#L30-L61 (module Atlas.Core.Lorentz, file sha256 a124a92c2d1eb60bd4324599481f95834c1ae4d958b47b740ed44aa5eff655a4; uploaded stub = platform_mirror/Theorems/Thm_ExactVacuumAtlas_isLorentzian_of_diag.lean)
Human review
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.