Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Reissner–Nordström ingoing-EF data

Definition
Atlas_EinsteinMaxwell_RN_Defs

by He Wang · Oct 21, 2026 · Mathlib 0df444a (Lean v4.33.1)

einstein-maxwellexact-spacetime-atlas-ivexact-vacuum-atlasgeneral-relativity

Reissner–Nordström ingoing-EF data

gRN M b, giRN M b, emPotentialRN Q (A_v = −Q/r), faradayRN Q (F_vr = −Q/r², F_rv = Q/r²), domRN = {r > 0, 0 < θ < π}, mismatchRN, samplePt; b is an independent parameter (matching b = Q² is a theorem).

中文摘要 RN 入射 EF 数据(b 为独立参数)。

Registry: PHYSICS_BOUNDARY §H (H11).

Definition code
-- Generated by scripts/release04/gen_platform_tree.py (ATLAS-RELEASE-04) by skeleton subtraction from Atlas/EinsteinMaxwell/RN/Defs.lean
-- definition bundle: kept ExactVacuumAtlas.EinsteinMaxwell.RN.domRN, ExactVacuumAtlas.EinsteinMaxwell.RN.emPotentialRN, ExactVacuumAtlas.EinsteinMaxwell.RN.faradayRN, ExactVacuumAtlas.EinsteinMaxwell.RN.gRN, ExactVacuumAtlas.EinsteinMaxwell.RN.giRN, ExactVacuumAtlas.EinsteinMaxwell.RN.mismatchRN, ExactVacuumAtlas.EinsteinMaxwell.RN.samplePt
import Mathlib
import Definitions.Def_Atlas_Core_Basic
import Definitions.Def_Atlas_EinsteinMaxwell_Basic
/-! # Reissner–Nordström, ingoing Eddington–Finkelstein form: data (ATLAS-IV-01, class B)

Coordinates `x = (v, r, θ, φ)` (`x 0 = v`, `x 1 = r`, `x 2 = θ`, `x 3 = φ`), signature `(-,+,+,+)`.
Two **independent** real parameters enter the metric (`M`, `b`); the electromagnetic data carry the charge
`Q`. Nothing here sets `b = Q²`: that relation is *derived* (`EF.einsteinMaxwell_eq`, `EF.cert_iff`).

* `fRN M b r = 1 - 2M/r + b/r²`;
* `gRN M b = -f_b dv² + 2 dv dr + r² (dθ² + sin²θ dφ²)` (so `g_{vr} = g_{rv} = 1`, half of the cross term);
* `giRN M b`: candidate inverse `[[0,1,0,0],[1,f_b,0,0],[0,0,r⁻²,0],[0,0,0,(r² sin²θ)⁻¹]]`, certified
  separately (never assumed);
* `emPotentialRN Q = -(Q/r) dv` (written `-Q / r`), `faradayRN Q`: `F_{rv} = Q/r²`, `F_{vr} = -Q/r²`,
  all other components `0` (shown to equal `d(emPotentialRN Q)` in `EF.extD_emPotentialRN`);
* `domRN = {r > 0, 0 < θ < π}`; `v`, `φ` are local real coordinates (no periodic identification of `φ`
  is claimed). `f_b = 0` is **not** excluded.
* `mismatchRN M b`: the coefficient matrix of the charge mismatch, `E = (b - Q²) · mismatchRN M b`.

Sources: metric form `A_RN = 1 - r_s/r + ρQ²/r²` (static chart) in Müller–Grave arXiv:0904.4184v3,
`reissnernordstrom.tex` lines 7–16 (here `b` plays the role of `ρQ²`, `r_s = 2M`); the ingoing EF form
follows the Schwarzschild EF data `Schwarzschild.gEF` (Müller–Grave `eddingtonfinkelstein.tex`) with
`2M/r ↦ 2M/r - b/r²`. -/

open Real

namespace ExactVacuumAtlas.EinsteinMaxwell.RN

/-- Metric of the RN-type family in ingoing EF coordinates, metric coefficient `b` independent of `Q`. -/
noncomputable def gRN (M b : ℝ) : Metric 4
  | 0, 0 => fun x => -(1 - 2 * M / x 1 + b / x 1 ^ 2)
  | 0, 1 => fun _ => 1
  | 1, 0 => fun _ => 1
  | 2, 2 => fun x => x 1 ^ 2
  | 3, 3 => fun x => x 1 ^ 2 * sin (x 2) ^ 2
  | _, _ => fun _ => 0

/-- Candidate inverse of `gRN M b` (certified by `EF.inv_mul`, `EF.mul_inv`). -/
noncomputable def giRN (M b : ℝ) : Metric 4
  | 0, 1 => fun _ => 1
  | 1, 0 => fun _ => 1
  | 1, 1 => fun x => 1 - 2 * M / x 1 + b / x 1 ^ 2
  | 2, 2 => fun x => 1 / x 1 ^ 2
  | 3, 3 => fun x => 1 / (x 1 ^ 2 * sin (x 2) ^ 2)
  | _, _ => fun _ => 0

/-- Electromagnetic potential `emPotential = -(Q/r) dv` (components `A_v = -Q/r`, others `0`). -/
noncomputable def emPotentialRN (Q : ℝ) : CoVec 4
  | 0 => fun x => -Q / x 1
  | _ => fun _ => 0

/-- Field strength: `F_{rv} = Q/r²`, `F_{vr} = -Q/r²`, all other components `0`. -/
noncomputable def faradayRN (Q : ℝ) : TwoForm 4
  | 0, 1 => fun x => -Q / x 1 ^ 2
  | 1, 0 => fun x => Q / x 1 ^ 2
  | _, _ => fun _ => 0

/-- Working domain `U_RN = {r > 0, 0 < θ < π}`. -/
def domRN : Set (Pt 4) := {x | 0 < x 1 ∧ 0 < x 2 ∧ x 2 < π}

/-- Charge-mismatch coefficient matrix:
`[[f_b/r⁴, -1/r⁴, 0, 0], [-1/r⁴, 0, 0, 0], [0, 0, 1/r², 0], [0, 0, 0, sin²θ/r²]]`. -/
noncomputable def mismatchRN (M b : ℝ) : Fin 4 → Fin 4 → Pt 4 → ℝ
  | 0, 0 => fun x => (1 - 2 * M / x 1 + b / x 1 ^ 2) / x 1 ^ 4
  | 0, 1 => fun x => -1 / x 1 ^ 4
  | 1, 0 => fun x => -1 / x 1 ^ 4
  | 2, 2 => fun x => 1 / x 1 ^ 2
  | 3, 3 => fun x => sin (x 2) ^ 2 / x 1 ^ 2
  | _, _ => fun _ => 0

/-! ## Domain facts -/

/-- Sample point `(v, r, θ, φ) = (0, 1, π/2, 0)`. -/
noncomputable def samplePt : Pt 4 := ![0, 1, π / 2, 0]

end ExactVacuumAtlas.EinsteinMaxwell.RN
Source
He Wang, Exact Spacetime Atlas IV: Certified Einstein–Maxwell Backgrounds and First Variations. Local source, no public repository; commit 543904bfcfa3bb169f43fc4d9dbd569999b71886; Atlas/EinsteinMaxwell/RN/Defs.lean; SHA-256 cadc562b90c2275f662a6587efb55e4c8d258c908477e2ca90b1ba3458587d99. Registered definitions and literature: mission/PHYSICS_BOUNDARY.md (§H–§J); Müller–Grave arXiv:0904.4184; Newman et al., J. Math. Phys. 6 (1965) 918.
Human review
  • Endorsed by Shuze Chen · Oct 21, 2026

    Confirmed by the moderator at approval.

  • Endorsed by He Wang · Oct 21, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me