Documentation

CsdLean4.Mathlib.Geometry.Manifold.HamiltonianVectorField

Hamiltonian vector fields on a manifold #

TERM-SCOPE(Hamiltonian) TERM-SCOPE(Kahler) — this module uses the restricted senses of "Hamiltonian" and "Kahler"; the source repository's terms register records what is backed and what is not.

Category: 1-Mathlib (CSD-free; upstream target Mathlib.Geometry.Manifold, where at the pin the words "Hamiltonian", "moment map" and "Poisson" do not occur).

The defining equation of a Hamiltonian vector field, ι_X ω = dH, at manifold level, the pointwise facts that follow from it by alternation and linearity alone, its existence and uniqueness from non-degeneracy, its smoothness, its integral curves, the passage to the closed 1-form d(ι_X ω) = 0, and the almost Kähler and Kähler predicates.

Honest scope #

⚠️ Predicates on families, not on smooth sections. X is any Π x, TangentSpace 𝓘 x and ω any family; the predicates neither assert nor need smoothness. Smoothness is a separate theorem (G3) about the constructed field, under C^∞ hypotheses on ω and H.

⚠️ IsLocallyHamiltonian is stated on families. It applies mextDerivFamily to ι_X α, which is meaningful when that family is smooth — and for hamiltonianVectorField of a C^∞ energy it now is (G3) — and junk otherwise, exactly as fderiv of a non-differentiable function is junk.

⚠️ Kähler in the atlas sense, with the tensor sense derived. IsKahler β J J₀ is IsAlmostKahler plus integrability by the atlas: J is the model's J₀ through every chart's tangent trivialisation, which makes every chart transition holomorphic (IsKahler.fderiv_chart_transition_comm). That is the textbook definition. The tensor formulation follows: the Nijenhuis tensor vanishes (IsKahler.nijenhuis_eq_zero, G14b). The converse — N_J = 0 implies a holomorphic atlas, the Newlander–Nirenberg theorem — is not stated. J as a smooth section of the endomorphism bundle is G15, IsKahler.contMDiff_hom_section, stated for a J supplied as continuous linear maps (the predicate's J is a family of functions), and nijenhuis takes the family.

⚠️ The global flow exists on a compact manifold (Q29(a), 2026-09-11) — IsSymplectic.exists_isMIntegralCurve_hamiltonianVectorField and integralFlow with integralFlow_add (IntegralCurve/GlobalFlow.lean; Mathlib has no flows of vector fields on manifolds, MATHLIB-ABSENT(IsMIntegralCurve.flow)). Not stated: joint continuity of the flow in (t, x) (Q29(a′)), and that the time-t maps preserve the symplectic volume .

⚠️ The converse of G11 is false and not stated. A locally Hamiltonian field need not be Hamiltonian: ι_X ω closed but not exact is exactly the flux obstruction, and H¹ decides it. Nothing here touches that.

⚠️ No inhabitant on ℂℙⁿ here. The moment-map equation for the torus action is brick G6.

Provenance and references. The generator-layer plan (G1, G2, G3, G4, G7, G8, G11, G14a, G14b, G15, G19); Mathlib/Geometry/Manifold/VectorField/LieBracket.lean (mlieBracket, mlieBracketWithin_apply); Geometry/Manifold/SymplecticForm.lean (IsSymplectic); Geometry/Manifold/ExteriorDerivative.lean (mextDerivFamily, zeroFormFamily, toFlat_mextDerivFamily_zeroFormFamily, mextDeriv_mextDeriv); Analysis/InnerProductSpace/HamiltonianVectorField.lean (the linear duality this lifts); RecordLayer/CellLawForced.lean (IsPhaseHamiltonian, the linear moment-map equation); Mathlib/Analysis/Normed/Module/Alternating/Curry.lean; Mathlib/Geometry/Manifold/IntegralCurve/ExistUnique.lean (exists_isMIntegralCurveAt_of_contMDiffAt, isMIntegralCurve_eq_of_contMDiff); the terms register (Hamiltonian); the completed-work ledger.

The interior product #

The interior product ι_X α of a 2-form family with a vector field: (ι_X α) x v = α x (X x, v), a 1-form family. Smoothness is not part of the definition.

Equations
Instances For

    Linearity of a 2-form family in its first slot, through curryLeft #

    curryLeft evaluated on a single vector is the 2-form on the pair.

    theorem DifferentialForm.apply_sub_left {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x) (x : M) (a b v : TangentSpace (modelWithCornersSelf ℝ E) x) :
    (α x) ![a - b, v] = (α x) ![a, v] - (α x) ![b, v]
    theorem DifferentialForm.apply_add_left {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x) (x : M) (a b v : TangentSpace (modelWithCornersSelf ℝ E) x) :
    (α x) ![a + b, v] = (α x) ![a, v] + (α x) ![b, v]

    The defining equation #

    X is the Hamiltonian vector field of H for α: α x (X x, v) = dH_x v at every point and for every tangent vector v, with dH_x = mfderiv 𝓘(ℝ, E) 𝓘(ℝ, ℝ) H x. A Prop demanding the equation; nothing about smoothness or existence is asserted by the name. Since mfderiv is 0 where H is not differentiable, a nowhere-differentiable H has the zero field as a "Hamiltonian vector field"; every consumer that needs more adds MDifferentiable H.

    Equations
    Instances For

      ι_X α = dH as 1-form families.

      theorem DifferentialForm.IsHamiltonianVectorField.mfderiv_apply_self {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] {α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x} {X : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} {H : M → ℝ} (h : IsHamiltonianVectorField α X H) (x : M) :
      (mfderiv% H x) (X x) = 0

      ★ Infinitesimal energy conservation: dH (X) = α (X, X) = 0.

      theorem DifferentialForm.IsHamiltonianVectorField.eq_of_nondegenerate {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] {α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x} {X Y : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} {H : M → ℝ} (h : IsHamiltonianVectorField α X H) (h' : IsHamiltonianVectorField α Y H) (x : M) (hnd : ∀ (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) :
      X x = Y x

      Uniqueness at a point where α is non-degenerate: two Hamiltonian vector fields of the same H agree there.

      theorem DifferentialForm.IsHamiltonianVectorField.add {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] {α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x} {X Y : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} {H K : M → ℝ} (hX : IsHamiltonianVectorField α X H) (hY : IsHamiltonianVectorField α Y K) (hH : ∀ (x : M), MDiffAt H x) (hK : ∀ (x : M), MDiffAt K x) :
      IsHamiltonianVectorField α (fun (x : M) => X x + Y x) (H + K)

      Linearity in H: the sum of the fields is Hamiltonian for the sum of the energies.

      theorem DifferentialForm.IsHamiltonianVectorField.smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] {α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x} {X : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} {H : M → ℝ} (hX : IsHamiltonianVectorField α X H) (c : ℝ) (hH : ∀ (x : M), MDiffAt H x) :
      IsHamiltonianVectorField α (fun (x : M) => c • X x) (c • H)

      Linearity in H: scaling.

      The zero field is Hamiltonian for a constant energy.

      theorem DifferentialForm.IsHamiltonianVectorField.mfderiv_eq {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] {α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x} {X : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} {H K : M → ℝ} (h : IsHamiltonianVectorField α X H) (h' : IsHamiltonianVectorField α X K) (x : M) :
      mfderiv% H x = mfderiv% K x

      Two Hamiltonians of the same field for the same form have the same derivative everywhere.

      Existence: the Hamiltonian vector field of H from non-degeneracy (G2) #

      theorem DifferentialForm.update_vecCons_one {β : Type u_3} (v w z : β) :

      ![v, w] updated in its second slot.

      theorem DifferentialForm.apply_add_right {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x) (x : M) (v a b : TangentSpace (modelWithCornersSelf ℝ E) x) :
      (α x) ![v, a + b] = (α x) ![v, a] + (α x) ![v, b]

      The flat map of a 2-form family at x, v ↦ α x (v, ·), as a linear map into the dual of the model space.

      Equations
      Instances For

        Non-degeneracy at x is injectivity of the flat map.

        noncomputable def DifferentialForm.flatEquiv {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x) [FiniteDimensional ℝ E] (x : M) (hnd : ∀ (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) :

        The flat map as a linear equivalence, where α is non-degenerate at x: injective (flatAt_injective), hence bijective since E and its dual have the same finite dimension (Subspace.dual_finrank_eq, LinearMap.linearEquivOfInjective).

        Equations
        Instances For
          theorem DifferentialForm.flatEquiv_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x) [FiniteDimensional ℝ E] (x : M) (hnd : ∀ (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) (v : E) :
          (flatEquiv α x hnd) v = (flatAt α x) v

          The Hamiltonian vector of a covector: the unique tangent vector v at x with α x (v, ·) = L, where α is non-degenerate at x.

          Equations
          Instances For

            ★ The defining property: α x (X_L, w) = L w.

            theorem DifferentialForm.eq_hamiltonianVectorAt {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x) [FiniteDimensional ℝ E] (x : M) (hnd : ∀ (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) (L : E →L[ℝ] ℝ) {v : TangentSpace (modelWithCornersSelf ℝ E) x} (hv : ∀ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] = L w) :
            v = hamiltonianVectorAt α x hnd L

            Uniqueness: any tangent vector with α x (v, ·) = L is the Hamiltonian vector of L.

            noncomputable def DifferentialForm.hamiltonianVectorField {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x) [FiniteDimensional ℝ E] (hnd : ∀ (x : M) (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) (H : M → ℝ) (x : M) :

            ★★ The Hamiltonian vector field of H, for a 2-form family non-degenerate at every point: x ↦ (ω♭ₓ)⁻¹ (dH_x).

            Equations
            Instances For

              ★★ Existence: the constructed field is a Hamiltonian vector field of H.

              Uniqueness: every Hamiltonian vector field of H is the constructed one.

              Locally Hamiltonian fields, and uniqueness for a symplectic form #

              X is locally Hamiltonian for α: the 1-form family ι_X α is closed. Meaningful when the family is smooth (brick G3); the distinction from IsHamiltonianVectorField is exactly the flux obstruction.

              Equations
              Instances For
                theorem DifferentialForm.IsHamiltonianVectorField.unique_of_isSymplectic {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ} (hβ : β.IsSymplectic) {X Y : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} {H : M → ℝ} (h : IsHamiltonianVectorField (fun (x : M) => β x) X H) (h' : IsHamiltonianVectorField (fun (x : M) => β x) Y H) :
                X = Y

                ★ The Hamiltonian vector field of H for a symplectic form is unique.

                Hamiltonian implies locally Hamiltonian (G11) #

                ι_X α = dH as 1-form families, with dH the exterior derivative of the 0-form H.

                ★ Hamiltonian implies locally Hamiltonian: d(ι_X α) = d(dH) = 0 for a C^∞ energy.

                The Hamiltonian vector field of a symplectic form (G2) #

                The Hamiltonian vector field of H for a symplectic form.

                Equations
                Instances For

                  ★★ For a symplectic form, H has a Hamiltonian vector field.

                  For a symplectic form, every Hamiltonian vector field of H is hβ.hamiltonianVectorField H.

                  Smoothness: the Hamiltonian vector field is a C^∞ section (G3) #

                  A 2-form on the model, as a constant 2-form family on the manifold E — the shape G2's constructions take, so that the model-level statements below are their instances.

                  Equations
                  Instances For
                    theorem DifferentialForm.flatFamily_nondegenerate {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] (ξ : E [⋀^Fin 2]→L[ℝ] ℝ) (hξ : ∀ (v : E), v ≠ 0 → ∃ (u : E), ξ ![v, u] ≠ 0) (x : E) (v : TangentSpace (modelWithCornersSelf ℝ E) x) :
                    v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (flatFamily ξ x) ![v, w] ≠ 0
                    noncomputable def DifferentialForm.flatVec {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] (ξ : E [⋀^Fin 2]→L[ℝ] ℝ) (hξ : ∀ (v : E), v ≠ 0 → ∃ (u : E), ξ ![v, u] ≠ 0) (L : E →L[ℝ] ℝ) :
                    E

                    The Hamiltonian vector of a covector L for a non-degenerate 2-form ξ on the model: G2's hamiltonianVectorAt, with model-typed data.

                    Equations
                    Instances For
                      theorem DifferentialForm.apply_flatVec {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] (ξ : E [⋀^Fin 2]→L[ℝ] ℝ) (hξ : ∀ (v : E), v ≠ 0 → ∃ (u : E), ξ ![v, u] ≠ 0) (L : E →L[ℝ] ℝ) (u : E) :
                      ξ ![flatVec ξ hξ L, u] = L u
                      theorem DifferentialForm.eq_flatVec {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] (ξ : E [⋀^Fin 2]→L[ℝ] ℝ) (hξ : ∀ (v : E), v ≠ 0 → ∃ (u : E), ξ ![v, u] ≠ 0) (L : E →L[ℝ] ℝ) {v : E} (hv : ∀ (u : E), ξ ![v, u] = L u) :
                      v = flatVec ξ hξ L
                      noncomputable def DifferentialForm.flatCLE {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] (ξ : E [⋀^Fin 2]→L[ℝ] ℝ) (hξ : ∀ (v : E), v ≠ 0 → ∃ (u : E), ξ ![v, u] ≠ 0) :

                      Where ξ is non-degenerate, curryLeft ξ : E →L[ℝ] (E [⋀^Fin 1]→L[ℝ] ℝ) is a continuous linear equivalence: G2's flatEquiv on the model, followed by ofSubsingletonLIE, made continuous by finite dimension (LinearEquiv.toContinuousLinearEquiv).

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem DifferentialForm.flatCLE_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] (ξ : E [⋀^Fin 2]→L[ℝ] ℝ) (hξ : ∀ (v : E), v ≠ 0 → ∃ (u : E), ξ ![v, u] ≠ 0) (v : E) (m : Fin 1 → E) :
                        ((flatCLE ξ hξ) v) m = ξ ![v, m 0]
                        theorem DifferentialForm.coe_flatCLE {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] (ξ : E [⋀^Fin 2]→L[ℝ] ℝ) (hξ : ∀ (v : E), v ≠ 0 → ∃ (u : E), ξ ![v, u] ≠ 0) :
                        ↑(flatCLE ξ hξ) = ξ.curryLeft
                        theorem DifferentialForm.inverse_curryLeft_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] (ξ : E [⋀^Fin 2]→L[ℝ] ℝ) (hξ : ∀ (v : E), v ≠ 0 → ∃ (u : E), ξ ![v, u] ≠ 0) (L : E →L[ℝ] ℝ) :

                        The flat-level Hamiltonian vector is ContinuousLinearMap.inverse of curryLeft ξ — the form in which its smoothness in ξ and L is visible.

                        noncomputable def DifferentialForm.localHamiltonianVector {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ) (H : M → ℝ) (x₀ : M) (w : E) :
                        E

                        The Hamiltonian vector field read in the chart at x₀: the flat-level Hamiltonian vector of the local representative of α for the chart derivative of H.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem DifferentialForm.localRep_nondegenerate {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ) (hnd : ∀ (x : M) (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) (x₀ : M) {w : E} (hw : w ∈ (chartAt E x₀).target) (v : E) :
                          v ≠ 0 → ∃ (u : E), (localRep (fun (x : M) => α x) x₀ w) ![v, u] ≠ 0

                          The local representative of a non-degenerate 2-form is non-degenerate on the chart target: the tangent trivialisation carries non-degeneracy across (trivializationAt_snd, tangent_symmL_eq_fderiv, Trivialization.symmL_continuousLinearMapAt).

                          theorem DifferentialForm.trivializationAt_hamiltonianVectorField_snd {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] [FiniteDimensional ℝ E] (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ) (H : M → ℝ) (hnd : ∀ (x : M) (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) (hH : MDiff H) (x₀ : M) {y : M} (hy : y ∈ (chartAt E x₀).source) :
                          (↑(trivializationAt E (TangentSpace (modelWithCornersSelf ℝ E)) x₀) ⟨y, hamiltonianVectorField (fun (x : M) => α x) hnd H y⟩).2 = α.localHamiltonianVector H x₀ (↑(chartAt E x₀) y)

                          ★★ The trivialised Hamiltonian vector field is the local Hamiltonian vector: on the chart source of x₀, the tangent trivialisation of X_H y is localHamiltonianVector α H x₀ at the chart coordinate of y. Proved by uniqueness at the flat level (eq_flatVec): the trivialised vector satisfies the local equation, because the trivialisation intertwines α with its local representative (trivializationAt_snd) and dH with the chart derivative (mfderiv_comp).

                          ★★ The local Hamiltonian vector is C^n at every point of the chart's target, for every infinite order n (n + 1 ≤ n, i.e. ∞ or ω, on a C^n manifold with a C^n form): inversion of curryLeft is smooth at an invertible point (contDiffAt_map_inverse), the local representative is smooth (contDiffAt_localRep), and the chart derivative of a C^n energy is C^n because n is infinite. One proof for ∞ and ω (until 2026-09-17 there were two).

                          theorem DifferentialForm.contDiffAt_localHamiltonianVector {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] [FiniteDimensional ℝ E] (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ) (H : M → ℝ) (hnd : ∀ (x : M) (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) (hH : ContMDiff (modelWithCornersSelf ℝ E) (modelWithCornersSelf ℝ ℝ) (↑⊤) H) (x₀ : M) {w : E} (hw : w ∈ (chartAt E x₀).target) :

                          ★★ The local Hamiltonian vector is C^∞ at every point of the chart's target (contDiffAt_localHamiltonianVector_of_contMDiff at ∞).

                          ★★★ The Hamiltonian vector field is a C^n section of the tangent bundle for every infinite order n (∞ or ω), for a C^n 2-form family non-degenerate at every point and a C^n energy on a C^n manifold. One proof for the smooth and the analytic case.

                          ★★★ The Hamiltonian vector field is a C^∞ section of the tangent bundle, for a C^∞ 2-form family non-degenerate at every point and a C^∞ energy (contMDiff_hamiltonianVectorField_of_contMDiff at ∞).

                          The Hamiltonian vector field of H, as a C^∞ vector field (a C^∞ section of the tangent bundle).

                          Equations
                          Instances For

                            ★★★ For a symplectic form, the Hamiltonian vector field of a C^∞ energy is a C^∞ vector field.

                            A C^ω 2-form read as a C^∞ one — the same section — so that the ∞-typed constructions of G2/G3 (localHamiltonianVector, trivializationAt_hamiltonianVectorField_snd) apply to it.

                            Equations
                            • α.ofOmega = { toFun := ⇑α, contMDiff_toFun := ⋯ }
                            Instances For

                              ★★★ The Hamiltonian vector field of a C^ω energy for a C^ω non-degenerate 2-form is a C^ω section of the tangent bundle (G19): contMDiff_hamiltonianVectorField_of_contMDiff at ω, on an analytic manifold.

                              Integral curves: existence, uniqueness, and energy conservation (G4) #

                              theorem DifferentialForm.IsHamiltonianVectorField.hasDerivAt_comp_of_isMIntegralCurve {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] {α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x} {X : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} {H : M → ℝ} (h : IsHamiltonianVectorField α X H) {γ : ℝ → M} (hγ : IsMIntegralCurve γ X) {t : ℝ} (hH : MDiffAt H (γ t)) :
                              HasDerivAt (H ∘ γ) 0 t

                              ★ Infinitesimal energy conservation along an integral curve: if X is a Hamiltonian vector field of H and γ is an integral curve of X, then H ∘ γ has zero derivative (mfderiv_apply_self: dH (X) = α (X, X) = 0).

                              theorem DifferentialForm.IsHamiltonianVectorField.comp_eq_of_isMIntegralCurve {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] {α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^Fin 2]→L[ℝ] Bundle.Trivial M ℝ x} {X : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} {H : M → ℝ} (h : IsHamiltonianVectorField α X H) {γ : ℝ → M} (hγ : IsMIntegralCurve γ X) (hH : MDiff H) (t s : ℝ) :
                              H (γ t) = H (γ s)

                              ★★ Energy conservation: H is constant along every integral curve of a Hamiltonian vector field of H (a differentiable energy).

                              theorem DifferentialForm.exists_isMIntegralCurveAt_hamiltonianVectorField {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] [FiniteDimensional ℝ E] (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ) (H : M → ℝ) (hnd : ∀ (x : M) (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) (hH : ContMDiff (modelWithCornersSelf ℝ E) (modelWithCornersSelf ℝ ℝ) (↑⊤) H) (x₀ : M) (t₀ : ℝ) :
                              ∃ (γ : ℝ → M), γ t₀ = x₀ ∧ IsMIntegralCurveAt γ (hamiltonianVectorField (fun (x : M) => α x) hnd H) t₀

                              ★★ Local existence: through every point, at every time, passes an integral curve of the Hamiltonian vector field of a C^∞ energy (Picard–Lindelöf in the chart, exists_isMIntegralCurveAt_of_contMDiffAt, on the C^1 section G3 provides).

                              theorem DifferentialForm.isMIntegralCurve_hamiltonianVectorField_eq {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] [FiniteDimensional ℝ E] (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ) (H : M → ℝ) [T2Space M] (hnd : ∀ (x : M) (v : TangentSpace (modelWithCornersSelf ℝ E) x), v ≠ 0 → ∃ (w : TangentSpace (modelWithCornersSelf ℝ E) x), (α x) ![v, w] ≠ 0) (hH : ContMDiff (modelWithCornersSelf ℝ E) (modelWithCornersSelf ℝ ℝ) (↑⊤) H) {γ γ' : ℝ → M} (hγ : IsMIntegralCurve γ (hamiltonianVectorField (fun (x : M) => α x) hnd H)) (hγ' : IsMIntegralCurve γ' (hamiltonianVectorField (fun (x : M) => α x) hnd H)) {t₀ : ℝ} (h : γ t₀ = γ' t₀) :
                              γ = γ'

                              ★★ Uniqueness: two global integral curves of the Hamiltonian vector field of a C^∞ energy that agree at one time agree everywhere (isMIntegralCurve_eq_of_contMDiff, on a Hausdorff manifold).

                              ★★ For a symplectic form: local existence of integral curves of the Hamiltonian vector field of a C^∞ energy.

                              ★★ For a symplectic form: uniqueness of global integral curves of the Hamiltonian vector field of a C^∞ energy.

                              theorem DifferentialForm.IsSymplectic.comp_eq_of_isMIntegralCurve_hamiltonianVectorField {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] [FiniteDimensional ℝ E] {β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ} (hβ : β.IsSymplectic) (H : M → ℝ) (hH : MDiff H) {γ : ℝ → M} (hγ : IsMIntegralCurve γ (hβ.hamiltonianVectorField H)) (t s : ℝ) :
                              H (γ t) = H (γ s)

                              ★★ For a symplectic form: the energy is conserved along every integral curve of its Hamiltonian vector field.

                              ★★ The Hamiltonian flow exists globally on a compact manifold (Q29(a)): for a symplectic form and a C^∞ energy, every point lies on a global integral curve of the Hamiltonian vector field (exists_isMIntegralCurve_of_compactSpace on G3's C^1 section). The flow itself is integralFlow of IntegralCurve/GlobalFlow.lean, with its group law.

                              Almost Kähler structures: a symplectic form with a compatible J (G7) #

                              Antisymmetry of a 2-form family, from alternation and bilinearity.

                              An almost Kähler structure: a symplectic form β with a compatible almost complex structure J — a family of maps on the tangent spaces with J² = -1, smooth as a section of Hom(TM, TM) — such that β is J-invariant and J-tamed, β (J v, v) > 0 for v ≠ 0. The compatible metric is g (u, v) = β (J u, v) (IsAlmostKahler.metric), so that β (u, v) = g (u, J v) (apply_eq_metric) — the convention ω = g (·, J ·), which differs by a sign from the flat ω = g (J ·, ·) of Analysis/InnerProductSpace/KahlerForm.lean. Integrability of J — the Kähler condition proper — is not part of the predicate.

                              Instances For

                                The compatible metric, g (u, v) = β (J u, v).

                                Equations
                                Instances For

                                  ★ The compatible metric is symmetric: J-invariance, J² = -1 and antisymmetry of β.

                                  ★ The compatible metric is positive definite.

                                  The form is recovered from the metric: β (u, v) = g (u, J v).

                                  The compatible metric is Hermitian: J is an isometry of g.

                                  Kähler structures: J is the complex structure of a holomorphic atlas (G14a) #

                                  A Kähler structure: an almost Kähler structure whose J is integrable in the atlas sense — J is the complex structure J₀ of the model E, read through the tangent trivialisation of every chart. The trivialisations of two charts differ by the derivative of the chart transition, so this says every chart transition has J₀-linear derivative, i.e. is holomorphic (IsKahler.fderiv_chart_transition_comm, the Cauchy–Riemann equations of the atlas): the atlas is a holomorphic atlas and J is its complex structure (every chart of the atlas is constrained, through its tangent trivialisation localTriv). That is the textbook definition of a Kähler manifold — a complex manifold with a Hermitian metric (IsAlmostKahler.metric_J_J) whose fundamental form is closed (isSymplectic). The equivalent tensor formulation, a vanishing Nijenhuis tensor (Newlander–Nirenberg), is not what is stated.

                                  Instances For

                                    ★★ A family of continuous linear maps JL that is a fixed J₀ through the tangent trivialisation of every atlas chart is a C^∞ section of Hom(TM, TM): in the trivialisation over the chart at x₀ it is the constant J₀ (continuousLinearMapAt_symmL). This is the smoothness that the atlas condition of a Kähler structure carries; it is stated on the condition alone so that the almost-Kähler predicate can ask for it without circularity.

                                    J is J₀ through the tangent trivialisation trivializationAt of the chart at x₀: the atlas condition at e = achart E x₀ (until 2026-09-17 this was the defining field, so the definition constrained only the charts chartAt E x₀; now every atlas chart is constrained).

                                    The chart transition from the chart at y to itself is the identity near y's point, so its derivative there is the identity.

                                    theorem DifferentialForm.IsKahler.apply_eq {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ} {J : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x → TangentSpace (modelWithCornersSelf ℝ E) x} {J₀ : E →L[ℝ] E} (h : β.IsKahler J J₀) (y : M) (v : E) :
                                    J y v = J₀ v

                                    ★ J is J₀ on the tangent space at y itself (TangentSpace 𝓘(ℝ, E) y is E): the chart at y reads J y as J₀.

                                    theorem DifferentialForm.IsKahler.fderiv_chart_transition_comm {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ} {J : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x → TangentSpace (modelWithCornersSelf ℝ E) x} {J₀ : E →L[ℝ] E} (h : β.IsKahler J J₀) (x₀ y : M) (hy : y ∈ (chartAt E x₀).source) (v : E) :
                                    (fderiv ℝ (↑(chartAt E y) ∘ ↑(chartAt E x₀).symm) (↑(chartAt E x₀) y)) (J₀ v) = J₀ ((fderiv ℝ (↑(chartAt E y) ∘ ↑(chartAt E x₀).symm) (↑(chartAt E x₀) y)) v)

                                    ★ The transition from the chart at x₀ to the chart at y is holomorphic at y: its derivative commutes with J₀ (the case e = achart E x₀, e' = achart E y of fderiv_atlas_transition_comm).

                                    The derivative of the transition between two atlas charts at a point of both sources is the tangent coordinate change between their trivialisations (VectorBundleCore.coordChange_comp).

                                    theorem DifferentialForm.IsKahler.fderiv_atlas_transition_comm {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ} {J : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x → TangentSpace (modelWithCornersSelf ℝ E) x} {J₀ : E →L[ℝ] E} (h : β.IsKahler J J₀) (e e' : ↑(atlas E M)) (y : M) (hy : y ∈ (↑e).source) (hy' : y ∈ (↑e').source) (v : E) :
                                    (fderiv ℝ (↑↑e' ∘ ↑(↑e).symm) (↑↑e y)) (J₀ v) = J₀ ((fderiv ℝ (↑↑e' ∘ ↑(↑e).symm) (↑↑e y)) v)

                                    ★ Every chart transition of the atlas is holomorphic: for atlas charts e, e' and a point y of both sources, the derivative of e' ∘ e.symm at e y commutes with J₀ — the Cauchy–Riemann equations of the whole atlas, from the atlas field J_localTriv_symmL.

                                    theorem DifferentialForm.IsKahler.J₀_J₀ {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ} {J : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x → TangentSpace (modelWithCornersSelf ℝ E) x} {J₀ : E →L[ℝ] E} (h : β.IsKahler J J₀) (y : M) (v : E) :
                                    J₀ (J₀ v) = -v

                                    J₀² = -1 on the model, transported from J² = -1 at any point of M.

                                    ★★ The complex structure is a smooth section of the endomorphism bundle (G15): if the J of a Kähler structure is given by continuous linear maps JL, the section x ↦ JL x of Hom(TM, TM) is C^∞ (contMDiff_hom_section_of_localTriv_symmL on the atlas field).

                                    The Nijenhuis tensor, and its vanishing on a Kähler manifold (G14b) #

                                    The Nijenhuis tensor of a family J of endomorphisms of the tangent spaces, evaluated on two vector fields with Mathlib's manifold Lie bracket mlieBracket: N_J(V, W) = [JV, JW] − J[JV, W] − J[V, JW] − [V, W]. Its vanishing is the tensor formulation of the integrability of J.

                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For

                                      The inverse of the derivative of the inverse chart, at a point of the chart's target, is the derivative of the chart at the corresponding point of the source (Mathlib's two composition identities, read through ContinuousLinearMap.inverse_eq).

                                      theorem DifferentialForm.flat_nijenhuis_eq_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] (J₀ : E →L[ℝ] E) (hJ : ∀ (v : E), J₀ (J₀ v) = -v) (A B : E →L[ℝ] E) (a b : E) :
                                      J₀ (B (J₀ a)) - J₀ (A (J₀ b)) - J₀ (B (J₀ a) - J₀ (A b)) - J₀ (J₀ (B a) - A (J₀ b)) - (B a - A b) = 0

                                      The flat Nijenhuis expression of a constant linear J₀ with J₀² = -1 vanishes: with [V, W] = DW·V − DV·W and D(J₀ ∘ X) = J₀ ∘ DX, the four brackets cancel.

                                      @[reducible, inline]
                                      abbrev DifferentialForm.flatField {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] (X : (w : E) → TangentSpace (modelWithCornersSelf ℝ E) w) :
                                      E → E

                                      A vector field on the model space E, read as a plain function E → E — a reducible cast (TangentSpace 𝓘(ℝ, E) w is E), so that the flat lieBracket API matches it syntactically.

                                      Equations
                                      Instances For

                                        In the chart at x₀, the pullback of J X along the inverse chart is J₀ applied to the pullback of X, at every point of the chart's target: J reads as the constant J₀.

                                        theorem DifferentialForm.IsKahler.nijenhuis_eq_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_2} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ} {J : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x → TangentSpace (modelWithCornersSelf ℝ E) x} {J₀ : E →L[ℝ] E} [FiniteDimensional ℝ E] (h : β.IsKahler J J₀) {V W : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x} (x₀ : M) (hV : (MDiffAt fun (x : M) => ⟨x, V x⟩) x₀) (hW : (MDiffAt fun (x : M) => ⟨x, W x⟩) x₀) :
                                        nijenhuis J V W x₀ = 0

                                        ★★★ The complex structure of a Kähler manifold is integrable in the tensor sense (G14b): the Nijenhuis tensor of J vanishes on vector fields differentiable at the point. In the chart at x₀ every bracket is the flat bracket of the pulled-back fields (mlieBracketWithin_apply, with the chart's derivative the identity at its base point), J reads as the constant J₀ (mpullback_extChartAt_symm_apply_J), and the flat Nijenhuis expression of a constant linear J₀ with J₀² = -1 is identically zero. This is the easy direction of Newlander–Nirenberg; the converse is not stated.