Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Atlas Transport Connection

Definition
Atlas_Transport_Connection

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

exact-vacuum-atlasgeneral-relativitylean4mathlib

chr1 g l i j y = (∂j g{li} + ∂i g{lj} − ∂l g{ij})/2 (first-kind symbols; bridge christoffel_eq_sum_chr1: Γᵏ_{ij} = Σ_l ĝ^{kl} Γ_{l ij} unfolds the registered christoffel). connMat Γ c y = Matrix.of (a, b ↦ Γ a c b y): a connection as a family of matrices, first lower index = direction. curv Γ c d y = ∂c Γ_d − ∂d Γ_c + Γ_c Γ_d − Γ_d Γ_c (matrix curvature; (F{cd})ᵃ_b = Rᵃ{bcd}). CoordChange U V Φ J K (Prop structure, 6 fields): isOpen U, isOpen_target V, smooth (Φ C^∞ on U), mapsTo (Φ U ⊆ V), jacobian (genuine slice derivatives J y k i, row = output component, column = input coordinate), mul_inv (J y * K y = 1 on U). MetricData g gi U (Prop structure, 5 fields): isOpen U, symm, inv (gi·g = 1 on U), smooth, smooth_inv — no curvature or transformation field. pullC h Φ J y i = Matrix.of (a, j ↦ Σ_b Σ_e J y b i · J y e j · chr1 h a b e (Φ y)): a proof-internal matrix.

Definition code
-- Generated by scripts/release01/gen_platform_tree.py (ATLAS-RELEASE-01) by skeleton subtraction from Atlas/Transport/Connection.lean
-- definition bundle: kept ExactVacuumAtlas.CoordChange, ExactVacuumAtlas.MetricData, ExactVacuumAtlas.chr1, ExactVacuumAtlas.connMat, ExactVacuumAtlas.curv, ExactVacuumAtlas.pullC
import Mathlib
import Definitions.Def_Atlas_Core_Basic
import Definitions.Def_Atlas_Core_Certificate
import Definitions.Def_Atlas_Transport_MatrixCalc
/-!
# Transport layer II.c: transformation of the Christoffel symbols (ATLAS-II)

Setting (dimension `n`, everything coordinate-level on open subsets of `ℝⁿ`):

* `CoordChange U V Φ J K`: `Φ` is `C^∞` on the open set `U`, maps `U` into the open set `V`, `J y` is
  its genuine Jacobian (`HasDerivAt` of every coordinate slice, row = output component, column =
  input coordinate) and `K y` is a right inverse of `J y` on `U` (hence two-sided, and `C^∞`).
* `MetricData h hi V`: symmetric metric with genuine inverse and `C^∞` components on the open set
  `V` — **no curvature condition**.
* pull-back hypotheses `G(y) = J(y)ᵀ H(Φ y) J(y)` and `GI(y) = K(y) HI(Φ y) K(y)ᵀ` on `U`.

Main result `christoffel_transform`: with `(connMat Γ c) a b := Γ a c b` (first lower index = direction),

  `connMat (christoffel g gi) i y = Σ_e J y e i • (K y * connMat (christoffel h hi) e (Φ y) * J y) + K y * pdM i J y`,

i.e. componentwise `Γ[g]ᵏ_{ij}(y) = Σ_c Kᵏ_c (∂_i Jᶜ_j + Σ_{a b} Γ[h]ᶜ_{ab}(Φ y) Jᵃ_i Jᵇ_j)` — **with the
second-derivative term** `∂_i J`; the Christoffel symbols are not a `(1,2)` tensor. The proof uses only
the registered definitions `pd`, `christoffel` (through the first-kind symbols `chr1`, bridge
`christoffel_eq_sum_chr1`) and the calculus rules of `Atlas/Transport/{Calculus,MatrixCalc}.lean`.

Auxiliary definitions (B3 class B, transparent): `chr1`, `connMat`, `curv`, `CoordChange`, `MetricData`.
-/

open scoped ContDiff
open Matrix

namespace ExactVacuumAtlas

variable {n : ℕ}

/-! ### Definitions -/

/-- Christoffel symbols of the first kind `Γ_{l ij} = ½(∂_j g_{li} + ∂_i g_{lj} − ∂_l g_{ij})`. -/
noncomputable def chr1 (g : Metric n) (l i j : Fin n) (y : Pt n) : ℝ :=
  (pd j (g l i) y + pd i (g l j) y - pd l (g i j) y) / 2

/-- A connection as a family of matrices: `(connMat Γ c y) a b = Γ a c b y`. -/
def connMat (Γ : Fin n → Fin n → Fin n → Pt n → ℝ) (c : Fin n) (y : Pt n) :
    Matrix (Fin n) (Fin n) ℝ :=
  Matrix.of fun a b => Γ a c b y

/-- Curvature of a matrix-valued connection: `F_{cd} = ∂_c Γ_d − ∂_d Γ_c + Γ_c Γ_d − Γ_d Γ_c`. -/
noncomputable def curv (Γ : Fin n → Pt n → Matrix (Fin n) (Fin n) ℝ) (c d : Fin n) (y : Pt n) :
    Matrix (Fin n) (Fin n) ℝ :=
  pdM c (Γ d) y - pdM d (Γ c) y + Γ c y * Γ d y - Γ d y * Γ c y

/-- Coordinate change data: `Φ : U → V` smooth with genuine Jacobian `J` and right inverse `K`. -/
structure CoordChange (U V : Set (Pt n)) (Φ : Pt n → Pt n)
    (J K : Pt n → Matrix (Fin n) (Fin n) ℝ) : Prop where
  isOpen : IsOpen U
  isOpen_target : IsOpen V
  smooth : ContDiffOn ℝ ∞ Φ U
  mapsTo : Set.MapsTo Φ U V
  jacobian : ∀ y ∈ U, ∀ k i : Fin n,
    HasDerivAt (fun u : ℝ => Φ (Function.update y i u) k) (J y k i) (y i)
  mul_inv : ∀ y ∈ U, J y * K y = 1

/-- Regular metric data on an open set: symmetric, genuine inverse, `C^∞`; **no curvature condition**. -/
structure MetricData (g gi : Metric n) (U : Set (Pt n)) : Prop where
  isOpen : IsOpen U
  symm : ∀ x ∈ U, ∀ i j, g i j x = g j i x
  inv : ∀ x ∈ U, metricMatrix gi x * metricMatrix g x = 1
  smooth : ∀ i j, ContDiffOn ℝ ∞ (g i j) U
  smooth_inv : ∀ i j, ContDiffOn ℝ ∞ (gi i j) U

/-! ### Basic consequences -/

namespace CoordChange

variable {U V : Set (Pt n)} {Φ : Pt n → Pt n} {J K : Pt n → Matrix (Fin n) (Fin n) ℝ}

end CoordChange

namespace MetricData

variable {g gi : Metric n} {U : Set (Pt n)}

end MetricData

/-! ### Ricci as a contraction of the matrix curvature -/

/-! ### Algebraic cores of the Christoffel transformation (no calculus) -/

/-! ### Calculus assembly: the Christoffel transformation -/

section transform

variable {U V : Set (Pt n)} {Φ : Pt n → Pt n} {J K : Pt n → Matrix (Fin n) (Fin n) ℝ}
  {g gi h hi : Metric n}

/-- Proof-internal matrix `Cᵢ a j = Σ_{b e} J_{bi} J_{ej} Γ[h]_{a b e}(Φ y)` (pulled-back first-kind symbols). -/
noncomputable def pullC (h : Metric n) (Φ : Pt n → Pt n) (J : Pt n → Matrix (Fin n) (Fin n) ℝ)
    (y : Pt n) (i : Fin n) : Matrix (Fin n) (Fin n) ℝ :=
  Matrix.of fun a j => ∑ b, ∑ e, J y b i * J y e j * chr1 h a b e (Φ y)

end transform

end ExactVacuumAtlas
Source
He Wang, Exact Vacuum Atlas II, local source snapshot (public Git repository not yet available), commit 11fb317259353b71a41d6daed466c495cffd7db4; Atlas/Transport/Connection.lean; SHA-256 d9d2c0c550804af1430499fc5d73ee7e2bc88101561ef9f58a7d0037f08372e9. Mathematical background: See mission/PHYSICS_BOUNDARY.md §A-F for registered definitions and literature references (Wald, Müller-Grave arXiv:0904.4184, Visser arXiv:0706.0622, Martel-Poisson gr-qc/0001069).
Human review
  • Endorsed by Shuze Chen · Oct 18, 2026

    Confirmed by the moderator at approval.

  • Endorsed by He Wang · Oct 18, 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