Documentation

CsdLean4.Mathlib.Analysis.InnerProductSpace.KahlerPotential

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:

⚠️ Honest scope — read before citing #

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
      @[simp]
      theorem Kahler.packL_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (f : E →L[] ) (v : Fin 1E) :
      (packL f) v = f (v 0)
      noncomputable def Kahler.dForm {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (K : E) :

      The 1-form dK of a real potential, packaged as a continuous alternating 1-form.

      Equations
      Instances For
        theorem Kahler.dForm_eq_extDeriv {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (K : E) (x : E) :
        dForm K x = extDeriv (fun (y : E) => ContinuousAlternatingMap.constOfIsEmpty E (Fin 0) (K y)) x

        The packaging is honest: dForm K is the exterior derivative of the 0-form K.

        noncomputable def Kahler.dcForm {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (K : E) :

        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
        Instances For
          @[simp]
          theorem Kahler.dcForm_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (K : E) (x : E) (v : Fin 1E) :
          (dcForm K x) v = (fderiv K x) (Complex.I v 0)
          noncomputable def Kahler.ddcForm {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (K : E) :

          The dd^c two-form of a potential.

          Equations
          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
              theorem Kahler.contDiff_dcForm {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {K : E} (hK : ContDiff (↑) K) :

              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.

              theorem Kahler.extDeriv_ddcForm {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {K : E} (hK : ContDiff (↑) K) :

              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 #

              noncomputable def Kahler.fsPotential {E : Type u_1} [NormedAddCommGroup E] (z : E) :

              The Fubini–Study Kähler potential of an affine chart: K z = log (1 + ‖z‖²).

              Equations
              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.

                Equations
                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.

                  noncomputable def Kahler.metricCLM {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (x : E) :

                  v ↦ g x v = re ⟪x, v⟫, bundled.

                  Equations
                  Instances For
                    @[simp]
                    theorem Kahler.metricCLM_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (x v : E) :
                    (metricCLM x) v = metric x v
                    theorem Kahler.hasFDerivAt_one_add_normSq {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (x : E) :
                    HasFDerivAt (fun (y : E) => 1 + y ^ 2) (2 metricCLM x) x
                    theorem Kahler.dcForm_fsPotential_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (x : E) (v : Fin 1E) :
                    (dcForm fsPotential x) v = -(2 * (1 + x ^ 2)⁻¹) * fundamentalForm x (v 0)

                    ★ B2: the twisted differential of the FS potential in closed form.

                    theorem Kahler.fderiv_dcForm_fsPotential_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (x : E) (u : Fin 1E) (w : E) :
                    (fderiv (fun (y : E) => (dcForm fsPotential y) u) x) w = -(2 * (1 + x ^ 2)⁻¹) * fundamentalForm w (u 0) + 4 * (1 + x ^ 2)⁻¹ ^ 2 * fundamentalForm x (u 0) * metric x w

                    B3: the derivative of y ↦ (d^c K)_y u, evaluated.

                    theorem Kahler.fsChartForm_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] (x : E) (v : Fin 2E) :
                    (fsChartForm x) v = -4 * ((1 + x ^ 2)⁻¹ * fundamentalForm (v 0) (v 1) - (1 + x ^ 2)⁻¹ ^ 2 * (metric x (v 0) * fundamentalForm x (v 1) - metric x (v 1) * fundamentalForm x (v 0)))

                    ★★ 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.