Kähler potentials: dd^c forms are closed, and the Fubini–Study chart form #
Category: 1-Mathlib-staging (CSD-free; differential forms on normed spaces).
KahlerClosed.lean proved dω = 0 for the constant fundamental form — the flat statement,
where closedness is immediate because the form does not vary. This module takes the next step of
the A4/KG-1 narrowing (specs/mathlib-gaps-plan.md MG-4): the non-constant form built from a
Kähler potential, and in particular the genuine Fubini–Study form of an affine chart, whose
potential is log (1 + ‖z‖²).
The route is exactness rather than computation. Mathlib's pin carries d² = 0
(extDeriv_extDeriv), so a form presented as d of something is closed for free. The dd^c
construction does exactly that:
dForm K— the 1-formdK, packaged throughofSubsingletonLIE;dForm_eq_extDerivchecks it really is the exterior derivative of the 0-formK(extDeriv_constOfIsEmpty), so the packaging is not ad hoc.dcForm K— the twisted differentiald^c K, i.e.(d^cK)_x v = (dK)_x (Jv), using the complex structureJ u = i • ubundled as a real-linear map (complexStructureL).ddcForm K := extDeriv (dcForm K)— thedd^c2-form of the potential.- ★
extDeriv_ddcForm—dd^c Kis closed for every smooth potentialK. fsPotential z = log (1 + ‖z‖²),contDiff_fsPotential— the Fubini–Study chart potential is smooth (1 + ‖z‖² ≥ 1 > 0, so the logarithm never meets its singularity).- ★★
extDeriv_fsChartForm— the Fubini–Study chart form is closed.
⚠️ Honest scope — read before citing #
- The chart form is DEFINED by its potential,
fsChartForm := ddcForm fsPotential. That is the standard potential-theoretic definition of the Fubini–Study form on an affine chart (up to the usual normalisation constant, which closedness does not see). ★ The identification is now proved (2026-09-01,fsChartForm_apply): the second-derivative computation onlog (1 + ‖z‖²)is carried out, giving the components in terms ofKahler.metricandKahler.fundamentalForm, and at the chart originfsChartForm 0 = (-4 : ℝ) • fundamentalFormAlt(fsChartForm_zero) — the literal identification with the constant fundamental form. - Still the chart, not the quotient. Everything lives on the flat model
E; forms on the manifoldℂℙ^{N-1}remain outside Mathlib's API (its ownDifferentialForm/Basic.leanTODO). The Q8/KG-1 gap is now narrowed to the quotient/manifold glue alone, the identification above having landed; the top-power volume identity is untouched (KahlerVolumeForced.leanforces the volume independently), and it is the one that would need a wedge API. - No wedge-product API exists upstream, which is why the coordinate route (
ω = i∂∂̄Kexpanded in a basis) is not taken; there are no∂/∂̄operators in Mathlib either.
References #
KahlerClosed.lean (the constant/flat case this extends), KahlerForm.lean
(complexStructure, fundamentalForm), MATHLIB-GAPS.md (the Kähler-manifold row this
narrows), specs/mathlib-gaps-plan.md (MG-4).
The complex structure as a real-linear continuous map #
The complex structure J, bundled: multiplication by i, as a continuous
ℝ-linear map. The bundled companion of Kahler.complexStructure.
Equations
Instances For
d, d^c and dd^c of a potential #
The packaging of a functional as a continuous alternating 1-form, bundled as a
continuous linear map (the vehicle for transporting smoothness).
Equations
Instances For
The 1-form dK of a real potential, packaged as a continuous alternating 1-form.
Equations
- Kahler.dForm K x = Kahler.packL (fderiv ℝ K x)
Instances For
The packaging is honest: dForm K is the exterior derivative of the 0-form K.
The twisted differential d^c K: (d^cK)_x v = (dK)_x (J v), the 1-form obtained by
precomposing dK with the complex structure.
Equations
- Kahler.dcForm K x = Kahler.packL (fderiv ℝ K x ∘SL Kahler.complexStructureL)
Instances For
The dd^c two-form of a potential.
Equations
- Kahler.ddcForm K = extDeriv (Kahler.dcForm K)
Instances For
Smoothness, and ★ closedness #
Precomposition with the complex structure, as a continuous linear map on 1-forms'
underlying functionals — the vehicle for transporting smoothness through d^c.
Equations
Instances For
d^c K is smooth when K is: the derivative of a smooth map is smooth, and both the
precomposition with J and the alternating-form packaging are continuous linear.
★ The dd^c form of any smooth potential is closed. Immediate from d² = 0 once the
form is presented as an exterior derivative — which is what the dd^c construction does.
The Fubini–Study chart potential #
The Fubini–Study Kähler potential of an affine chart: K z = log (1 + ‖z‖²).
Instances For
The Fubini–Study potential is smooth: 1 + ‖z‖² ≥ 1, so the logarithm stays away from its
singularity, and ‖·‖² is smooth on an inner-product space.
The Fubini–Study form of an affine chart, defined by its potential.
Instances For
★★ The Fubini–Study chart form is closed: dω = 0 for the genuine (non-constant)
Fubini–Study form of an affine chart, not merely for the constant form on the tangent model.
The form is the one defined by the Fubini–Study potential; fsChartForm_apply below computes
its components and fsChartForm_zero identifies it at the chart origin with
Kahler.fundamentalFormAlt, so this is closedness of an identified object, not of an opaque one.
⚠️ The manifold statement on ℂℙ^{N-1} remains Mathlib-blocked.
★ The identification: what fsChartForm actually IS, in components #
extDeriv_fsChartForm says a form defined by a potential is closed. That is only worth
having once the form is identified, and until now nothing computed its pointwise value —
so the closedness was true of an object never evaluated. These lemmas close that gap: the
dd^c of the Fubini–Study potential is computed in components, and at the chart origin it
is the constant fundamental form of KahlerForm.lean up to the normalisation -4.
v ↦ g x v = re ⟪x, v⟫, bundled.
Equations
Instances For
★ B2: the twisted differential of the FS potential in closed form.
B3: the derivative of y ↦ (d^c K)_y u, evaluated.
★★ B4: the Fubini–Study chart form, in components.
★★ B5: at the chart origin the FS chart form IS the constant fundamental form,
up to the normalisation -4.