Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Projective non-singular varieties over C\mathbb{C}C, de Rham cohomology, (p,q)(p,q)(p,q)-types, rational classes, Hodge classes and cycle classes cl(Z)\mathrm{cl}(Z)cl(Z) (Deligne §1)

Definition
HodgeConjecture

by korbonits · Sep 8, 2026 · Mathlib 0df444a (Lean v4.33.1)

algebraic-cyclesalgebraic-geometrycomplex-geometryhodge-conjecturehodge-theorymillennium-prize

This bundle builds, in the namespace HodgeConjecture, every object needed to state the Hodge conjecture as formulated in §1 of Pierre Deligne's official Clay problem description. Mathlib has none of these notions, so they are constructed from scratch on top of Mathlib's calculus, polynomials and measure theory.

Ambient geometry. Homogeneous coordinates are CN+1\mathbb{C}^{N+1}CN+1 (Coord N). Projective space is embedded in the Euclidean space A\mathcal{A}A of complex (N+1)×(N+1)(N+1)\times(N+1)(N+1)×(N+1) matrices (Amb N) by [v]↦π(v)=vv∗/∣v∣2[v]\mapsto \pi(v) = v v^*/|v|^2[v]↦π(v)=vv∗/∣v∣2 (proj), the orthogonal projection onto the line Cv\mathbb{C}vCv. At a point PPP the complex structure is J(A)=i(AP−PA)J(A) = i(AP - PA)J(A)=i(AP−PA) (Jmap), a complex scalar acts on tangent vectors by z⋅A=(Re⁡z)A+(Im⁡z)J(A)z\cdot A = (\operatorname{Re}z)A + (\operatorname{Im}z)J(A)z⋅A=(Rez)A+(Imz)J(A) (cmul), and ⟨a,b⟩R=Re⁡⟨a,b⟩\langle a,b\rangle_{\mathbb{R}} = \operatorname{Re}\langle a,b\rangle⟨a,b⟩R​=Re⟨a,b⟩ (rinner).

Varieties. A projective variety XXX (ProjVariety N) is a set of homogeneous polynomials. Its cone X^\hat XX^ is the set of nonzero common zeros (cone), its points are π(X^)⊂A\pi(\hat X)\subset\mathcal{A}π(X^)⊂A (pts). The Zariski tangent space at v∈X^v\in\hat Xv∈X^ is the common kernel of the differentials w↦∑i∂iQ(v) wiw\mapsto\sum_i \partial_i Q(v)\,w_iw↦∑i​∂i​Q(v)wi​ of all polynomials QQQ vanishing on X^\hat XX^ (vanishing, jacobianForm, tangentCone). XXX is non-singular of dimension nnn (IsNonsingular n) when this space has dimension n+1n+1n+1 at every point of the cone. The real tangent space TPX⊂AT_PX\subset\mathcal{A}TP​X⊂A is the image of the Zariski tangent space under dπvd\pi_vdπv​ (tangent). XXX is irreducible when its cone is not covered by two algebraic sets neither containing it (IsIrreducible); its dimension is the minimum over the cone of the Zariski tangent dimension, minus one (dim); its smooth locus is where the minimum is attained (regPts).

Forms and cohomology (Deligne, p. 1). A kkk-form on XXX is a smooth C\mathbb{C}C-valued alternating kkk-form on A\mathcal{A}A (Form N k) seen through its values on TXTXTX. It is closed when dωd\omegadω vanishes on TXTXTX (IsClosedForm), exact when it agrees on TXTXTX with dαd\alphadα for a smooth (k−1)(k-1)(k−1)-form α\alphaα (IsExactForm; for k=0k=0k=0: vanishes on TXTXTX). Hk(X,C)H^k(X,\mathbb{C})Hk(X,C) (Cohomology X k) is the space of closed forms modulo exact forms, realised as the image of the closed forms in the quotient of all forms by the exact forms; cls is the class of a closed form. A form has type (p,q)(p,q)(p,q) (HasType p q) when on tangent vectors of XXX

ω(z⋅v1,…,z⋅vk)=zpzˉ q ω(v1,…,vk)(z∈C),\omega(z\cdot v_1,\dots,z\cdot v_k) = z^p\bar z^{\,q}\,\omega(v_1,\dots,v_k)\qquad(z\in\mathbb{C}),ω(z⋅v1​,…,z⋅vk​)=zpzˉqω(v1​,…,vk​)(z∈C),

Deligne's definition through the C∗\mathbb{C}^*C∗-action on ⋀kTX\bigwedge^k T_X⋀kTX​; a class is of type (p,q)(p,q)(p,q) when it has a closed (p,q)(p,q)(p,q) representative (HasTypeClass).

Rational structure. Smooth singular simplices in A\mathcal{A}A are smooth maps Rk+1→A\mathbb{R}^{k+1}\to\mathcal{A}Rk+1→A restricted to the standard simplex (Simplex); chains are integral combinations (Chain); the boundary is ∂σ=∑i=0k(−1)iσ∘δi\partial\sigma=\sum_{i=0}^{k}(-1)^i\sigma\circ\delta_i∂σ=∑i=0k​(−1)iσ∘δi​ with δi\delta_iδi​ the iii-th facet inclusion (face, boundary); cycles have zero boundary, every 000-chain being a cycle (IsCycle). The period ∫cω\int_c\omega∫c​ω (period, simplexIntegral) integrates the pull-back of ω\omegaω over the coordinate simplex {t≥0, ∑ti≤1}\{t\ge 0,\ \sum t_i\le 1\}{t≥0, ∑ti​≤1} via the parametrisation t↦(1−∑ti,t)t\mapsto(1-\sum t_i,t)t↦(1−∑ti​,t). A class is rational (IsRational) when its periods over all smooth integral cycles lying in XXX are rational numbers: this is Hk(X,Q)⊂Hk(X,C)H^k(X,\mathbb{Q})\subset H^k(X,\mathbb{C})Hk(X,Q)⊂Hk(X,C). A Hodge class (IsHodgeClass p) is a rational class of type (p,p)(p,p)(p,p) in H2p(X,C)H^{2p}(X,\mathbb{C})H2p(X,C) (Deligne, p. 2).

Integration and cycle classes (Deligne, pp. 1–2). volMeasure N d is the ddd-dimensional Hausdorff measure on A\mathcal{A}A multiplied by ωd/2d\omega_d/2^dωd​/2d (for d=2md = 2md=2m: πm/(m! 4m)\pi^m/(m!\,4^m)πm/(m!4m)), the constant making it agree with Lebesgue measure on ddd-dimensional Euclidean subspaces. A complex orthonormal frame of a JJJ-invariant subspace TTT (IsJFrame) is u1,…,um∈Tu_1,\dots,u_m\in Tu1​,…,um​∈T orthonormal and orthogonal to all JujJu_jJuj​; frame T P d is the positively oriented orthonormal frame (u1,Ju1,…,um,Jum)(u_1,Ju_1,\dots,u_m,Ju_m)(u1​,Ju1​,…,um​,Jum​), d=2md = 2md=2m, for a chosen such frame. wedgeVal is the value of ω∧η\omega\wedge\etaω∧η on a frame by the standard formula 1k! l!∑σsgn⁡(σ) ω(… )η(… )\frac{1}{k!\,l!}\sum_\sigma \operatorname{sgn}(\sigma)\,\omega(\dots)\eta(\dots)k!l!1​∑σ​sgn(σ)ω(…)η(…). Then

∫Xω∧η (pairing),∫Zη (integralOver)\int_X\omega\wedge\eta \ (\texttt{pairing}),\qquad \int_Z\eta\ (\texttt{integralOver})∫X​ω∧η (pairing),∫Z​η (integralOver)

are the integrals of these frame values over XXX, resp. over the smooth locus of ZZZ, against volMeasure of dimension 2dim⁡X2\dim X2dimX, resp. 2dim⁡Z2\dim Z2dimZ. Finally c∈H2p(X,C)c\in H^{2p}(X,\mathbb{C})c∈H2p(X,C) is the class cl(Z)\mathrm{cl}(Z)cl(Z) of a subvariety ZZZ of the nnn-dimensional XXX (IsCycleClass X Z n p c) when it is Poincaré dual to integration over ZZZ:

∫Xc∧η=∫Zηfor every closed (2n−2p)-form η.\int_X c\wedge\eta = \int_Z\eta\quad\text{for every closed }(2n-2p)\text{-form }\eta .∫X​c∧η=∫Z​ηfor every closed (2n−2p)-form η.

Formalization Note Only the restriction of an ambient form to the tangent spaces of XXX is ever used, so closedness and exactness are imposed on TXTXTX and no extension or well-definedness lemma is needed; the spaces of closed and exact forms are written as spans of sets that are already subspaces. Smoothness ∞ is C∞C^\inftyC∞, not analytic. Derivatives and integrals are Mathlib's total functions; the frames are chosen with Classical.epsilon, and on the smooth locus they exist and the integrals do not depend on the choice. The normalisation of volMeasure matters: Mathlib's μH[d] carries no constant, and without ωd/2d\omega_d/2^dωd​/2d the identity defining cl(Z)\mathrm{cl}(Z)cl(Z) would be off by a power of π\piπ.

Definition code
import Mathlib

/-!
P. Deligne, *The Hodge Conjecture*, Clay Mathematics Institute Millennium Prize Problem
description (2000), §1 (pp. 1–2).

The objects needed to state the Hodge conjecture for a projective non-singular algebraic variety
`X` over `ℂ`, built from scratch on top of Mathlib's calculus and measure theory:

* `X` is given by homogeneous polynomial equations in `N + 1` variables; it is realised as the
  compact subset `pts X` of the Euclidean space `Amb N` of complex `(N+1) × (N+1)` matrices via the
  embedding `ℙ^N(ℂ) → Amb N`, `[v] ↦ v v^* / |v|²` (rank-one orthogonal projections).  Its
  tangent spaces are the images of the Zariski tangent spaces of the affine cone, and its complex
  structure is `J(A) = i (A P - P A)` at the point `P`.
* Differential forms on `X` are smooth `ℂ`-valued forms on `Amb N` restricted to the tangent
  spaces of `X`.  Deligne, p. 1: "`H^n(X, ℂ)` is the space of closed `n`-forms modulo exact
  forms"; a `(p,q)`-form is one on which `λ ∈ ℂ^*` acts through the complex structure by the
  scalar `λ^p λ̄^q`.
* The rational classes `H^n(X, ℚ) ⊂ H^n(X, ℂ)` are the classes with rational periods on all
  smooth integral cycles.  Deligne, p. 2: "Rational `(p,p)`-classes are called Hodge classes."
* For a closed algebraic subvariety `Z ⊂ X` of codimension `p`, Deligne, pp. 1–2: "`Z` is an
  integral cycle and, by Poincaré duality, defines a class `cl(Z)` in `H^{2p}(X, ℤ)`.  The
  integration current on `Z` ... represent[s] the image of `cl(Z)` in `H^{2p}(X, ℂ)`."  Here
  `IsCycleClass X Z n p c` says that `c` pairs with every closed `(2n-2p)`-form `η` as
  `∫_X c ∧ η = ∫_Z η`.

Integrals over `X` and over the smooth locus of `Z` are Lebesgue integrals against the Hausdorff
measure of the right dimension, normalised by `ω_d / 2^d` so that it is the Riemannian volume
(Mathlib's `μH[d]` carries no normalising constant), with the integrand evaluated on the
orientation `(u₁, J u₁, …, u_m, J u_m)` induced by the complex structure.
-/

namespace HodgeConjecture

open scoped ContDiff
open MeasureTheory

/-! ### Ambient spaces -/

/-- Homogeneous coordinates `ℂ^{N+1}`. -/
abbrev Coord (N : ℕ) := Fin (N + 1) → ℂ

/-- The Euclidean space of complex `(N+1) × (N+1)` matrices, regarded as a real inner product
space; `ℙ^N(ℂ)` is embedded in it as the set of rank-one orthogonal projections. -/
abbrev Amb (N : ℕ) := EuclideanSpace ℂ (Fin (N + 1) × Fin (N + 1))

/-- Polynomials in the `N + 1` homogeneous coordinates. -/
abbrev Poly (N : ℕ) := MvPolynomial (Fin (N + 1)) ℂ

variable {N : ℕ}

/-- The embedding `ℙ^N(ℂ) → Amb N`, `v ↦ v v^* / |v|²`, i.e. the matrix of the orthogonal
projection onto the line `ℂ v`. -/
noncomputable def proj (v : Coord N) : Amb N :=
  WithLp.toLp 2 fun ij => v ij.1 * (starRingEnd ℂ) (v ij.2) / ((∑ i, Complex.normSq (v i) : ℝ) : ℂ)

/-- The complex structure of `ℙ^N(ℂ)` at the point `P`: `J(A) = i (A P - P A)`. -/
noncomputable def Jmap (P A : Amb N) : Amb N :=
  WithLp.toLp 2 fun ij => Complex.I * ∑ k, (A (ij.1, k) * P (k, ij.2) - P (ij.1, k) * A (k, ij.2))

/-- The action of a complex scalar `z` on a tangent vector `A` at `P`:
`z • A = (Re z) A + (Im z) J(A)`. -/
noncomputable def cmul (P : Amb N) (z : ℂ) (A : Amb N) : Amb N :=
  z.re • A + z.im • Jmap P A

/-- The real inner product `Re ⟨a, b⟩` on `Amb N`. -/
noncomputable def rinner (a b : Amb N) : ℝ := (inner ℂ a b).re

/-! ### Projective varieties, tangent spaces, nonsingularity, dimension -/

/-- Common zero set in `ℂ^{N+1}` of a set of polynomials. -/
def zeros (S : Set (Poly N)) : Set (Coord N) := {v | ∀ Q ∈ S, MvPolynomial.eval v Q = 0}

/-- A projective algebraic set in `ℙ^N(ℂ)`, given by a set of homogeneous polynomial equations. -/
structure ProjVariety (N : ℕ) where
  eqs : Set (Poly N)
  homog : ∀ Q ∈ eqs, ∃ d : ℕ, Q.IsHomogeneous d

namespace ProjVariety

variable (X : ProjVariety N)

/-- The punctured affine cone `{v ≠ 0 | Q(v) = 0 for all Q ∈ eqs}`. -/
def cone : Set (Coord N) := {v | v ≠ 0 ∧ v ∈ zeros X.eqs}

/-- The points of `X ⊂ ℙ^N(ℂ)`, as a subset of `Amb N`. -/
def pts : Set (Amb N) := proj '' X.cone

/-- The full vanishing ideal: all polynomials vanishing on the cone of `X`. -/
def vanishing : Set (Poly N) := {Q | ∀ v ∈ X.cone, MvPolynomial.eval v Q = 0}

/-- The differential `w ↦ ∑ᵢ (∂Q/∂xᵢ)(v) wᵢ` of a polynomial `Q` at `v`. -/
noncomputable def jacobianForm (Q : Poly N) (v : Coord N) : Coord N →ₗ[ℂ] ℂ :=
  ∑ i, MvPolynomial.eval v (MvPolynomial.pderiv i Q) • LinearMap.proj i

/-- The Zariski tangent space of the affine cone at `v`: the common kernel of the differentials
at `v` of all polynomials vanishing on the cone. -/
noncomputable def tangentCone (v : Coord N) : Submodule ℂ (Coord N) :=
  ⨅ Q ∈ X.vanishing, LinearMap.ker (jacobianForm Q v)

/-- `X` is a non-singular projective variety of (pure) dimension `n`: the Zariski tangent space
of the cone has dimension `n + 1` at every point of the cone. -/
def IsNonsingular (n : ℕ) : Prop :=
  ∀ v ∈ X.cone, Module.finrank ℂ (X.tangentCone v) = n + 1

/-- The (real) tangent space of `X ⊂ Amb N` at the point `P`: the image of the Zariski tangent
space of the cone under the derivative of the embedding `proj`, at any `v` with `proj v = P`. -/
noncomputable def tangent (P : Amb N) : Submodule ℝ (Amb N) :=
  ⨆ (v : Coord N) (_ : v ∈ X.cone ∧ proj v = P),
    ((X.tangentCone v).restrictScalars ℝ).map
      ((fderiv ℝ proj v : Coord N →L[ℝ] Amb N) : Coord N →ₗ[ℝ] Amb N)

/-- Irreducibility of a projective algebraic set (equivalently, of its affine cone). -/
def IsIrreducible : Prop :=
  X.cone.Nonempty ∧ ∀ S₁ S₂ : Set (Poly N),
    X.cone ⊆ zeros S₁ ∪ zeros S₂ → X.cone ⊆ zeros S₁ ∨ X.cone ⊆ zeros S₂

/-- The dimension of an irreducible projective variety: the dimension of the Zariski tangent
space of the cone at its generic (smooth) points, minus one. -/
noncomputable def dim : ℕ :=
  sInf ((fun v => Module.finrank ℂ (X.tangentCone v)) '' X.cone) - 1

/-- The smooth locus of `X`, as a subset of `Amb N`. -/
noncomputable def regPts : Set (Amb N) :=
  proj '' {v ∈ X.cone | Module.finrank ℂ (X.tangentCone v) = X.dim + 1}

end ProjVariety

/-! ### Differential forms, de Rham cohomology, Hodge type -/

/-- Smooth `ℂ`-valued `k`-forms on the ambient real vector space `Amb N`. -/
abbrev Form (N k : ℕ) := Amb N → (Amb N) [⋀^Fin k]→L[ℝ] ℂ

namespace ProjVariety

variable (X : ProjVariety N)

/-- `ω` vanishes on `X`: it is zero on all tangent vectors of `X` at all points of `X`. -/
def VanishesOn {k : ℕ} (w : Form N k) : Prop :=
  ∀ P ∈ X.pts, ∀ v : Fin k → Amb N, (∀ i, v i ∈ X.tangent P) → w P v = 0

/-- A smooth ambient form whose restriction to `X` is closed. -/
def IsClosedForm {k : ℕ} (w : Form N k) : Prop :=
  ContDiff ℝ ∞ w ∧ X.VanishesOn (extDeriv w)

/-- A smooth ambient form whose restriction to `X` is exact: it agrees on `X` with `dα` for a
smooth `(k-1)`-form `α` (for `k = 0`: it vanishes on `X`). -/
def IsExactForm : ∀ {k : ℕ}, Form N k → Prop
  | 0, w => ContDiff ℝ ∞ w ∧ X.VanishesOn w
  | k + 1, w => ContDiff ℝ ∞ w ∧ ∃ α : Form N k, ContDiff ℝ ∞ α ∧ X.VanishesOn (w - extDeriv α)

/-- The space of closed `k`-forms on `X` (as the span of the set of closed ambient forms). -/
noncomputable def closedForms (k : ℕ) : Submodule ℂ (Form N k) :=
  Submodule.span ℂ {w | X.IsClosedForm w}

/-- The space of exact `k`-forms on `X`. -/
noncomputable def exactForms (k : ℕ) : Submodule ℂ (Form N k) :=
  Submodule.span ℂ {w | X.IsExactForm w}

/-- De Rham cohomology `H^k(X, ℂ)`: closed forms modulo exact forms (Deligne, p. 1), realised
as the image of the closed forms in the quotient of all ambient forms by the exact forms. -/
abbrev Cohomology (k : ℕ) : Type :=
  ↥((X.closedForms k).map (X.exactForms k).mkQ)

/-- The cohomology class of a closed form. -/
noncomputable def cls {k : ℕ} (w : X.closedForms k) : X.Cohomology k :=
  ⟨(X.exactForms k).mkQ w.1, Submodule.mem_map_of_mem w.2⟩

/-- `ω` has type `(p, q)` on `X`: on tangent vectors of `X`, `ω(z v₁, …, z v_k) = z^p z̄^q ω(v)`
for every complex scalar `z`, where `z` acts through the complex structure of `X`
(Deligne, p. 1). -/
def HasType {k : ℕ} (p q : ℕ) (w : Form N k) : Prop :=
  ∀ P ∈ X.pts, ∀ v : Fin k → Amb N, (∀ i, v i ∈ X.tangent P) → ∀ z : ℂ,
    w P (fun i => cmul P z (v i)) = z ^ p * (starRingEnd ℂ z) ^ q * w P v

/-- A cohomology class of type `(p, q)`: one represented by a closed `(p, q)`-form. -/
def HasTypeClass {k : ℕ} (p q : ℕ) (c : X.Cohomology k) : Prop :=
  ∃ w : X.closedForms k, X.cls w = c ∧ X.HasType p q w.1

end ProjVariety

/-! ### Smooth singular chains and periods; the rational structure -/

/-- A smooth singular `k`-simplex in `Amb N`: a smooth map from `ℝ^{k+1}` (restricted to the
standard simplex `{t ≥ 0, ∑ tᵢ = 1}`). -/
abbrev Simplex (N k : ℕ) := (Fin (k + 1) → ℝ) → Amb N

/-- Integral smooth singular `k`-chains. -/
abbrev Chain (N k : ℕ) := Simplex N k →₀ ℤ

/-- The `i`-th face of a simplex: precompose with the inclusion of the `i`-th facet. -/
def face {k : ℕ} (i : Fin (k + 2)) (σ : Simplex N (k + 1)) : Simplex N k :=
  fun t => σ (Fin.insertNth i 0 t)

/-- The singular boundary `∂σ = ∑ᵢ (-1)^i σ ∘ δᵢ`, extended linearly to chains. -/
noncomputable def boundary {k : ℕ} (c : Chain N (k + 1)) : Chain N k :=
  c.sum fun σ m => m • ∑ i : Fin (k + 2), ((-1 : ℤ) ^ (i : ℕ)) • Finsupp.single (face i σ) (1 : ℤ)

/-- A cycle: a chain with zero boundary (every `0`-chain is a cycle). -/
def IsCycle : ∀ {k : ℕ}, Chain N k → Prop
  | 0, _ => True
  | _ + 1, c => boundary c = 0

/-- The coordinate simplex `{t ∈ ℝ^k | tᵢ ≥ 0, ∑ tᵢ ≤ 1}`. -/
def coordSimplex (k : ℕ) : Set (Fin k → ℝ) := {t | (∀ i, 0 ≤ t i) ∧ ∑ i, t i ≤ 1}

/-- The affine parametrisation `t ↦ (1 - ∑ tᵢ, t₁, …, t_k)` of the standard simplex, sending the
vertices `0, e₁, …, e_k` of the coordinate simplex to `e₀, e₁, …, e_k` in order. -/
def affineEmbed {k : ℕ} (t : Fin k → ℝ) : Fin (k + 1) → ℝ := Fin.cons (1 - ∑ i, t i) t

/-- `∫_σ ω`: the integral of the pull-back of `ω` along `σ` over the standard `k`-simplex. -/
noncomputable def simplexIntegral {k : ℕ} (w : Form N k) (σ : Simplex N k) : ℂ :=
  ∫ t in coordSimplex k,
    w (σ (affineEmbed t)) (fun i => fderiv ℝ (σ ∘ affineEmbed) t (Pi.single i 1))

/-- The period `∫_c ω` of a form over a chain. -/
noncomputable def period {k : ℕ} (w : Form N k) (c : Chain N k) : ℂ :=
  c.sum fun σ m => (m : ℂ) * simplexIntegral w σ

namespace ProjVariety

variable (X : ProjVariety N)

/-- A smooth simplex lying in `X`. -/
def IsSimplexIn {k : ℕ} (σ : Simplex N k) : Prop :=
  ContDiff ℝ ∞ σ ∧ ∀ t ∈ stdSimplex ℝ (Fin (k + 1)), σ t ∈ X.pts

/-- A chain all of whose simplices lie in `X`. -/
def IsChainIn {k : ℕ} (c : Chain N k) : Prop := ∀ σ ∈ c.support, X.IsSimplexIn σ

/-- The rational classes `H^k(X, ℚ) ⊂ H^k(X, ℂ)`: classes whose periods over all smooth integral
cycles in `X` are rational numbers. -/
def IsRational {k : ℕ} (c : X.Cohomology k) : Prop :=
  ∀ w : X.closedForms k, X.cls w = c →
    ∀ ch : Chain N k, X.IsChainIn ch → IsCycle ch → ∃ q : ℚ, period w.1 ch = q

/-- Hodge classes: rational classes of type `(p, p)` in `H^{2p}(X, ℂ)` (Deligne, p. 2). -/
def IsHodgeClass (p : ℕ) (c : X.Cohomology (2 * p)) : Prop :=
  X.IsRational c ∧ X.HasTypeClass p p c

end ProjVariety

/-! ### Integration over `X` and over subvarieties; the cycle class -/

/-- `u₁, …, u_m` is a complex orthonormal frame of the `J`-invariant real subspace `T` at `P`:
the `uᵢ` lie in `T`, are orthonormal, and are orthogonal to all `J uⱼ`. -/
def IsJFrame {m : ℕ} (T : Submodule ℝ (Amb N)) (P : Amb N) (u : Fin m → Amb N) : Prop :=
  (∀ i, u i ∈ T) ∧ (∀ i j, rinner (u i) (u j) = if i = j then 1 else 0) ∧
    (∀ i j, rinner (u i) (Jmap P (u j)) = 0)

/-- The positively oriented orthonormal frame `(u₁, J u₁, …, u_m, J u_m)` of a `2m`-dimensional
`J`-invariant subspace `T` at `P` (`d = 2m`), built from a chosen complex orthonormal frame. -/
noncomputable def frame (T : Submodule ℝ (Amb N)) (P : Amb N) (d : ℕ) : Fin d → Amb N :=
  fun k =>
    let u : Fin (d / 2) → Amb N := Classical.epsilon fun u => IsJFrame T P u
    if h : k.val / 2 < d / 2 then
      (if k.val % 2 = 0 then u ⟨k.val / 2, h⟩ else Jmap P (u ⟨k.val / 2, h⟩))
    else 0

/-- The `d`-dimensional Riemannian volume measure on `Amb N`: Hausdorff measure normalised by
`ω_d / 2^d` (for even `d = 2m`, `ω_d / 2^d = π^m / (m! 4^m)`), so that it agrees with Lebesgue
measure on `d`-dimensional Euclidean subspaces. -/
noncomputable def volMeasure (N : ℕ) (d : ℕ) : Measure (Amb N) :=
  ENNReal.ofReal (Real.pi ^ (d / 2) / ((d / 2).factorial * 2 ^ d)) • μH[(d : ℝ)]

/-- The value `(ω ∧ η)_P(f₁, …, f_{k+l})` of the wedge product on a frame `f`. -/
noncomputable def wedgeVal {k l : ℕ} (w : Form N k) (η : Form N l) (P : Amb N)
    (f : Fin (k + l) → Amb N) : ℂ :=
  ((k.factorial * l.factorial : ℕ) : ℂ)⁻¹ *
    ∑ σ : Equiv.Perm (Fin (k + l)), (((Equiv.Perm.sign σ : ℤˣ) : ℤ) : ℂ) *
      w P (fun i => f (σ (Fin.castAdd l i))) * η P (fun j => f (σ (Fin.natAdd k j)))

namespace ProjVariety

variable (X : ProjVariety N)

/-- `∫_X ω ∧ η`, for a `k`-form and an `l`-form with `k + l = 2 dim X`. -/
noncomputable def pairing {k l : ℕ} (w : Form N k) (η : Form N l) : ℂ :=
  ∫ P in X.pts, wedgeVal w η P (frame (X.tangent P) P (k + l)) ∂(volMeasure N (k + l))

/-- `∫_Z η`, the integral of an `l`-form over the smooth locus of `Z` (`l = 2 dim Z`), with the
orientation induced by the complex structure. -/
noncomputable def integralOver {l : ℕ} (η : Form N l) : ℂ :=
  ∫ P in X.regPts, η P (frame (X.tangent P) P l) ∂(volMeasure N l)

/-- `c ∈ H^{2p}(X, ℂ)` is the cohomology class `cl(Z)` of the codimension-`p` subvariety `Z` of
the `n`-dimensional variety `X`: it is Poincaré dual to integration over `Z`, i.e.
`∫_X c ∧ η = ∫_Z η` for every closed `(2n - 2p)`-form `η` (Deligne, pp. 1–2). -/
def IsCycleClass (Z : ProjVariety N) (n p : ℕ) (c : X.Cohomology (2 * p)) : Prop :=
  ∀ w : X.closedForms (2 * p), X.cls w = c →
    ∀ η : Form N (2 * n - 2 * p), X.IsClosedForm η → X.pairing w.1 η = Z.integralOver η

end ProjVariety

end HodgeConjecture
Source
P. Deligne, The Hodge Conjecture, Clay Mathematics Institute Millennium Prize Problem description (2000), https://www.claymath.org/wp-content/uploads/2022/06/hodge.pdf, §1 'Statement', pp. 1–2: the ℂ*-action defining (p,q)-forms; 'H^n(X,ℂ) is the space of closed n-forms modulo exact forms'; H^{p,q}; 'Rational (p,p)-classes are called Hodge classes'; 'Z is an integral cycle and, by Poincaré duality, defines a class cl(Z) in H^{2p}(X,ℤ). The integration current on Z ... representing the image of cl(Z) in H^{2p}(X,ℂ)'
Read-back

What the Lean code literally says, in plain math · claude-fable-5-1

Read-back: HodgeConjecture definition bundle

Ambient conventions used throughout. Fix a natural number NNN (implicit in every declaration below). Three type abbreviations recur:

  • CN+1\mathbb{C}^{N+1}CN+1 (code: Coord N): functions from {0,…,N}\{0,\dots,N\}{0,…,N} to C\mathbb{C}C, i.e. complex (N+1)(N+1)(N+1)-vectors v=(v0,…,vN)v=(v_0,\dots,v_N)v=(v0​,…,vN​).
  • A\mathcal{A}A (code: Amb N): the complex Euclidean space indexed by pairs (i,j)∈{0,…,N}2(i,j)\in\{0,\dots,N\}^2(i,j)∈{0,…,N}2, i.e. complex (N+1)×(N+1)(N+1)\times(N+1)(N+1)×(N+1) matrices A=(Aij)A=(A_{ij})A=(Aij​), carrying the Hermitian inner product ⟨A,B⟩C=∑i,jAij‾ Bij\langle A,B\rangle_{\mathbb C}=\sum_{i,j}\overline{A_{ij}}\,B_{ij}⟨A,B⟩C​=∑i,j​Aij​​Bij​ (conjugate-linear in the first slot) and the Frobenius norm ∥A∥2=∑i,j∣Aij∣2\|A\|^2=\sum_{i,j}|A_{ij}|^2∥A∥2=∑i,j​∣Aij​∣2. As a real vector space it is R2(N+1)2\mathbb{R}^{2(N+1)^2}R2(N+1)2, and its metric is the one induced by this norm.
  • P\mathcal{P}P (code: Poly N): polynomials with complex coefficients in N+1N+1N+1 variables x0,…,xNx_0,\dots,x_Nx0​,…,xN​.

In the analytic parts, "smooth" always means C∞C^\inftyC∞ in the real sense: the smoothness order written ∞ is the element ⊤\top⊤ of N∪{∞}\mathbb{N}\cup\{\infty\}N∪{∞} viewed inside N∪{∞,ω}\mathbb{N}\cup\{\infty,\omega\}N∪{∞,ω}, i.e. infinitely differentiable, strictly weaker than real-analytic (ω\omegaω).


proj

For v∈CN+1v\in\mathbb{C}^{N+1}v∈CN+1, proj⁡(v)∈A\operatorname{proj}(v)\in\mathcal Aproj(v)∈A is the matrix with entries

proj⁡(v)ij=vi vj‾ ∑k∣vk∣2 ,\operatorname{proj}(v)_{ij}=\frac{v_i\,\overline{v_j}}{\ \sum_{k}|v_k|^2\ },proj(v)ij​= ∑k​∣vk​∣2 vi​vj​​​,

where the denominator is the real number ∑k∣vk∣2\sum_k |v_k|^2∑k​∣vk​∣2 cast into C\mathbb CC. For v≠0v\neq 0v=0 this is the rank-one Hermitian projector vv∗/∥v∥2v v^*/\|v\|^2vv∗/∥v∥2 onto the line Cv\mathbb{C}vCv; it satisfies proj⁡(λv)=proj⁡(v)\operatorname{proj}(\lambda v)=\operatorname{proj}(v)proj(λv)=proj(v) for every λ∈C×\lambda\in\mathbb{C}^\timesλ∈C×. For v=0v=0v=0 the denominator is 000 and complex division by zero yields 000, so proj⁡(0)\operatorname{proj}(0)proj(0) is the zero matrix. The function is defined on all of CN+1\mathbb{C}^{N+1}CN+1 with no restriction.

Jmap

For matrices P,A∈AP,A\in\mathcal AP,A∈A, JP(A)∈AJ_P(A)\in\mathcal AJP​(A)∈A is the matrix with entries

JP(A)ij=i∑k(AikPkj−PikAkj),i.e.JP(A)=i (AP−PA)=−i [P,A].J_P(A)_{ij}=\mathrm{i}\sum_{k}\bigl(A_{ik}P_{kj}-P_{ik}A_{kj}\bigr),\qquad\text{i.e.}\qquad J_P(A)=\mathrm{i}\,(AP-PA)=-\mathrm{i}\,[P,A].JP​(A)ij​=ik∑​(Aik​Pkj​−Pik​Akj​),i.e.JP​(A)=i(AP−PA)=−i[P,A].

It is complex-linear in AAA for every PPP. Nothing is assumed about PPP (it need not be a projector), and no property such as JP∘JP=−idJ_P\circ J_P=-\mathrm{id}JP​∘JP​=−id on any subspace is asserted or built in.

cmul

For P,A∈AP,A\in\mathcal AP,A∈A and z∈Cz\in\mathbb Cz∈C,

cmul⁡P(z,A)=(Re⁡z) A+(Im⁡z) JP(A),\operatorname{cmul}_P(z,A)=(\operatorname{Re}z)\,A+(\operatorname{Im}z)\,J_P(A),cmulP​(z,A)=(Rez)A+(Imz)JP​(A),

using real scalar multiplication. It is real-linear in AAA and real-linear in zzz; for real zzz it is ordinary scaling zAzAzA, and for z=iz=\mathrm{i}z=i it is JP(A)J_P(A)JP​(A). It is not asserted that cmul⁡P(zz′,A)=cmul⁡P(z,cmul⁡P(z′,A))\operatorname{cmul}_P(zz',A)=\operatorname{cmul}_P(z,\operatorname{cmul}_P(z',A))cmulP​(zz′,A)=cmulP​(z,cmulP​(z′,A)); that would require JP2=−idJ_P^2=-\mathrm{id}JP2​=−id on the vectors in question.

rinner

For a,b∈Aa,b\in\mathcal Aa,b∈A, ⟨a,b⟩R=Re⁡⟨a,b⟩C=∑i,j(Re⁡aijRe⁡bij+Im⁡aijIm⁡bij)\langle a,b\rangle_{\mathbb R}=\operatorname{Re}\langle a,b\rangle_{\mathbb C}=\sum_{i,j}\bigl(\operatorname{Re}a_{ij}\operatorname{Re}b_{ij}+\operatorname{Im}a_{ij}\operatorname{Im}b_{ij}\bigr)⟨a,b⟩R​=Re⟨a,b⟩C​=∑i,j​(Reaij​Rebij​+Imaij​Imbij​), the standard real Euclidean inner product on A≅R2(N+1)2\mathcal A\cong\mathbb R^{2(N+1)^2}A≅R2(N+1)2. It is symmetric and its associated norm is the Frobenius norm.

zeros

For a set S⊆PS\subseteq\mathcal PS⊆P of polynomials (any polynomials, not necessarily homogeneous), Z(S)={v∈CN+1: Q(v)=0 for all Q∈S}Z(S)=\{v\in\mathbb{C}^{N+1}:\ Q(v)=0\ \text{for all } Q\in S\}Z(S)={v∈CN+1: Q(v)=0 for all Q∈S}, the common zero locus in affine space CN+1\mathbb{C}^{N+1}CN+1. Edge cases: Z(∅)=CN+1Z(\varnothing)=\mathbb{C}^{N+1}Z(∅)=CN+1; the origin belongs to Z(S)Z(S)Z(S) iff every Q∈SQ\in SQ∈S has zero constant term.

ProjVariety

A "projective variety" XXX (in the sense of this bundle) consists of a set of polynomials eqsX⊆P\mathrm{eqs}_X\subseteq\mathcal PeqsX​⊆P together with a proof that every Q∈eqsXQ\in\mathrm{eqs}_XQ∈eqsX​ is homogeneous of some degree dQ∈Nd_Q\in\mathbb NdQ​∈N (the degree may vary from polynomial to polynomial). Homogeneous of degree ddd means every monomial in the support of QQQ has total degree ddd; in particular the zero polynomial is homogeneous of every degree, and nonzero constants are homogeneous of degree 000 and are allowed in eqsX\mathrm{eqs}_XeqsX​. The set eqsX\mathrm{eqs}_XeqsX​ may be empty, infinite, or not an ideal; no irreducibility, reducedness or nonemptiness is part of the structure.

cone

cone⁡(X)={v∈CN+1: v≠0 and Q(v)=0 for all Q∈eqsX}\operatorname{cone}(X)=\{v\in\mathbb{C}^{N+1}:\ v\neq 0\ \text{and}\ Q(v)=0\ \text{for all }Q\in\mathrm{eqs}_X\}cone(X)={v∈CN+1: v=0 and Q(v)=0 for all Q∈eqsX​}: the affine cone over XXX with the origin removed. It is stable under C×\mathbb{C}^\timesC×-scaling. It is empty if, for instance, eqsX\mathrm{eqs}_XeqsX​ contains a nonzero constant or contains x0,…,xNx_0,\dots,x_Nx0​,…,xN​.

pts

pts⁡(X)=proj⁡(cone⁡(X))={ vv∗/∥v∥2: v∈cone⁡(X) }⊆A\operatorname{pts}(X)=\operatorname{proj}(\operatorname{cone}(X))=\{\,vv^*/\|v\|^2:\ v\in\operatorname{cone}(X)\,\}\subseteq\mathcal Apts(X)=proj(cone(X))={vv∗/∥v∥2: v∈cone(X)}⊆A: the set of rank-one Hermitian projectors onto lines in the cone. This is the model of the point set of the projective variety used everywhere below (integration, tangent spaces, vanishing of forms). It is empty iff the cone is empty, and since v≠0v\ne0v=0 on the cone the junk value proj⁡(0)=0\operatorname{proj}(0)=0proj(0)=0 never occurs here.

vanishing

I(X)={Q∈P: Q(v)=0 for all v∈cone⁡(X)}\mathcal I(X)=\{Q\in\mathcal P:\ Q(v)=0\ \text{for all } v\in\operatorname{cone}(X)\}I(X)={Q∈P: Q(v)=0 for all v∈cone(X)}: all polynomials (homogeneous or not) vanishing on the punctured cone. It always contains 000 and eqsX\mathrm{eqs}_XeqsX​. If the cone is empty, I(X)=P\mathcal I(X)=\mathcal PI(X)=P (every polynomial).

jacobianForm

For Q∈PQ\in\mathcal PQ∈P and v∈CN+1v\in\mathbb{C}^{N+1}v∈CN+1, dQv:CN+1→CdQ_v:\mathbb{C}^{N+1}\to\mathbb CdQv​:CN+1→C is the complex-linear map

dQv(u)=∑i=0N∂Q∂xi(v)  ui,dQ_v(u)=\sum_{i=0}^{N}\frac{\partial Q}{\partial x_i}(v)\;u_i,dQv​(u)=i=0∑N​∂xi​∂Q​(v)ui​,

where ∂Q/∂xi\partial Q/\partial x_i∂Q/∂xi​ is the formal partial derivative and u↦uiu\mapsto u_iu↦ui​ the iii-th coordinate projection. This is the differential of QQQ at vvv; it is defined for every vvv, including v=0v=0v=0 and v∉cone⁡(X)v\notin\operatorname{cone}(X)v∈/cone(X).

tangentCone

For v∈CN+1v\in\mathbb{C}^{N+1}v∈CN+1 (any vvv, not only points of the cone),

TvZar(X)=⋂Q∈I(X)ker⁡(dQv) ⊆ CN+1,T^{\mathrm{Zar}}_v(X)=\bigcap_{Q\in\mathcal I(X)}\ker(dQ_v)\ \subseteq\ \mathbb{C}^{N+1},TvZar​(X)=Q∈I(X)⋂​ker(dQv​) ⊆ CN+1,

a complex-linear subspace: the Zariski tangent space at vvv of the affine cone, computed with all polynomials vanishing on the punctured cone (not just eqsX\mathrm{eqs}_XeqsX​). If the cone is empty then I(X)=P\mathcal I(X)=\mathcal PI(X)=P and the intersection is {0}\{0\}{0} (take Q=xiQ=x_iQ=xi​). Because the cone is C×\mathbb{C}^\timesC×-stable, each homogeneous component of a Q∈I(X)Q\in\mathcal I(X)Q∈I(X) again lies in I(X)\mathcal I(X)I(X), and Euler's identity then gives dQv(v)=0dQ_v(v)=0dQv​(v)=0; consequently v∈TvZar(X)v\in T^{\mathrm{Zar}}_v(X)v∈TvZar​(X) whenever v∈cone⁡(X)v\in\operatorname{cone}(X)v∈cone(X), so dim⁡CTvZar(X)≥1\dim_{\mathbb C}T^{\mathrm{Zar}}_v(X)\ge 1dimC​TvZar​(X)≥1 on the cone.

IsNonsingular

For n∈Nn\in\mathbb Nn∈N, "XXX is nonsingular of dimension nnn" means: for every v∈cone⁡(X)v\in\operatorname{cone}(X)v∈cone(X), dim⁡CTvZar(X)=n+1\dim_{\mathbb C}T^{\mathrm{Zar}}_v(X)=n+1dimC​TvZar​(X)=n+1 (exactly). This is the only content; no separate assertion that XXX has dimension nnn in any other sense is made. If the cone is empty the condition holds vacuously for every nnn.

tangent

For P∈AP\in\mathcal AP∈A, TP(X)T_P(X)TP​(X) is the real-linear subspace of A\mathcal AA spanned by the union, over all v∈CN+1v\in\mathbb{C}^{N+1}v∈CN+1 with v∈cone⁡(X)v\in\operatorname{cone}(X)v∈cone(X) and proj⁡(v)=P\operatorname{proj}(v)=Pproj(v)=P, of the images

D ⁣proj⁡v(TvZar(X)),D\!\operatorname{proj}_v\bigl(T^{\mathrm{Zar}}_v(X)\bigr),Dprojv​(TvZar​(X)),

where D ⁣proj⁡v:CN+1→AD\!\operatorname{proj}_v:\mathbb{C}^{N+1}\to\mathcal ADprojv​:CN+1→A is the real Fréchet derivative of proj⁡\operatorname{proj}proj at vvv and TvZar(X)T^{\mathrm{Zar}}_v(X)TvZar​(X) is regarded as a real subspace. (A supremum of subspaces is the span of their union, so the result is a subspace even if the individual images were not nested.) Junk/edge cases: if P∉pts⁡(X)P\notin\operatorname{pts}(X)P∈/pts(X) no vvv qualifies and TP(X)={0}T_P(X)=\{0\}TP​(X)={0}. The Fréchet derivative returns the zero map at points where proj⁡\operatorname{proj}proj is not differentiable, but proj⁡\operatorname{proj}proj is a rational function with nonvanishing denominator away from v=0v=0v=0, and v=0v=0v=0 is excluded by the cone condition, so this junk value does not arise. Since proj⁡\operatorname{proj}proj is constant along C×v\mathbb{C}^\times vC×v, D ⁣proj⁡vD\!\operatorname{proj}_vDprojv​ kills vvv and iv\mathrm{i}viv; in particular the real dimension of TP(X)T_P(X)TP​(X) is at most 2dim⁡CTvZar(X)−22\dim_{\mathbb C}T^{\mathrm{Zar}}_v(X)-22dimC​TvZar​(X)−2 for each contributing vvv (given v∈TvZar(X)v\in T^{\mathrm{Zar}}_v(X)v∈TvZar​(X) noted above).

IsIrreducible

"XXX is irreducible" means: cone⁡(X)≠∅\operatorname{cone}(X)\neq\varnothingcone(X)=∅, and for all sets S1,S2⊆PS_1,S_2\subseteq\mathcal PS1​,S2​⊆P of polynomials (arbitrary, not required homogeneous), if cone⁡(X)⊆Z(S1)∪Z(S2)\operatorname{cone}(X)\subseteq Z(S_1)\cup Z(S_2)cone(X)⊆Z(S1​)∪Z(S2​) then cone⁡(X)⊆Z(S1)\operatorname{cone}(X)\subseteq Z(S_1)cone(X)⊆Z(S1​) or cone⁡(X)⊆Z(S2)\operatorname{cone}(X)\subseteq Z(S_2)cone(X)⊆Z(S2​).

dim

dim⁡X=(min⁡{dim⁡CTvZar(X): v∈cone⁡(X)})  −˙  1 ∈N,\dim X=\Bigl(\min\{\dim_{\mathbb C}T^{\mathrm{Zar}}_v(X):\ v\in\operatorname{cone}(X)\}\Bigr)\;\dot-\;1\ \in\mathbb N,dimX=(min{dimC​TvZar​(X): v∈cone(X)})−˙​1 ∈N,

the minimum over the punctured cone of the Zariski tangent dimension, minus one, using truncated natural-number subtraction (a−˙b=max⁡(a−b,0)a\dot- b=\max(a-b,0)a−˙​b=max(a−b,0)). The infimum of a nonempty set of naturals is its least element, so for nonempty cone the minimum is attained; by the remark under tangentCone it is then ≥1\ge1≥1 and no truncation occurs. If the cone is empty, the infimum of the empty set of naturals is 000 and 0−˙1=00\dot-1=00−˙​1=0, so dim⁡X=0\dim X=0dimX=0. Note this is the minimum, not the maximum, of tangent dimensions, and it is not defined via chains of subvarieties.

regPts

regPts⁡(X)=proj⁡({v∈cone⁡(X): dim⁡CTvZar(X)=dim⁡X+1})⊆pts⁡(X)\operatorname{regPts}(X)=\operatorname{proj}\bigl(\{v\in\operatorname{cone}(X):\ \dim_{\mathbb C}T^{\mathrm{Zar}}_v(X)=\dim X+1\}\bigr)\subseteq\operatorname{pts}(X)regPts(X)=proj({v∈cone(X): dimC​TvZar​(X)=dimX+1})⊆pts(X): the projectors of those cone points at which the Zariski tangent dimension attains its minimum over the cone. Empty iff the cone is empty; if the cone is nonempty this set is nonempty (the minimum is attained).

Form

A "kkk-form" ω\omegaω (code: Form N k) is an arbitrary function assigning to each point P∈AP\in\mathcal AP∈A a continuous, real-multilinear, alternating map ωP:Ak→C\omega_P:\mathcal A^k\to\mathbb CωP​:Ak→C. No continuity or smoothness in PPP is built into the type. For k=0k=0k=0, ωP\omega_PωP​ is just a complex number, so 000-forms are arbitrary functions A→C\mathcal A\to\mathbb CA→C. The set of kkk-forms is a complex vector space under pointwise operations (scaling the complex values).

VanishesOn

For a kkk-form ω\omegaω, "ω\omegaω vanishes on XXX" means: for every P∈pts⁡(X)P\in\operatorname{pts}(X)P∈pts(X) and every kkk-tuple (v0,…,vk−1)(v_0,\dots,v_{k-1})(v0​,…,vk−1​) of vectors of A\mathcal AA with every vi∈TP(X)v_i\in T_P(X)vi​∈TP​(X), one has ωP(v0,…,vk−1)=0\omega_P(v_0,\dots,v_{k-1})=0ωP​(v0​,…,vk−1​)=0. Nothing is required at P∉pts⁡(X)P\notin\operatorname{pts}(X)P∈/pts(X), nor on tuples with some entry outside TP(X)T_P(X)TP​(X). For k=0k=0k=0 the tuple is empty and the condition reads ωP=0\omega_P=0ωP​=0 for all P∈pts⁡(X)P\in\operatorname{pts}(X)P∈pts(X). If pts⁡(X)=∅\operatorname{pts}(X)=\varnothingpts(X)=∅ every form vanishes on XXX.

IsClosedForm

"ω\omegaω is closed (relative to XXX)" means: ω\omegaω is C∞C^\inftyC∞ as a map from A\mathcal AA to the space of alternating maps, and the exterior derivative dωd\omegadω vanishes on XXX in the sense of VanishesOn. Here dωd\omegadω is Mathlib's exterior derivative on the flat space A\mathcal AA, built from the real Fréchet derivative:

(dω)P(v0,…,vk)=∑i=0k(−1)i (DωP [vi])(v0,…,vi^,…,vk),(d\omega)_P(v_0,\dots,v_k)=\sum_{i=0}^{k}(-1)^i\,\bigl(D\omega_P\,[v_i]\bigr)(v_0,\dots,\widehat{v_i},\dots,v_k),(dω)P​(v0​,…,vk​)=i=0∑k​(−1)i(DωP​[vi​])(v0​,…,vi​​,…,vk​),

where DωP[v]D\omega_P[v]DωP​[v] is the directional derivative of P↦ωPP\mapsto\omega_PP↦ωP​ in direction vvv. At a point where ω\omegaω is not differentiable the Fréchet derivative is the zero map and (dω)P=0(d\omega)_P=0(dω)P​=0; this junk value cannot occur here because smoothness of ω\omegaω on all of A\mathcal AA is demanded. Note closedness is only required along the tangent spaces at points of XXX, not dω=0d\omega=0dω=0 on A\mathcal AA; and the smoothness is required on all of A\mathcal AA.

IsExactForm

Defined by cases on the degree. A 000-form ω\omegaω is "exact" iff ω\omegaω is C∞C^\inftyC∞ and ω\omegaω vanishes on XXX (i.e. ωP=0\omega_P=0ωP​=0 for all P∈pts⁡(X)P\in\operatorname{pts}(X)P∈pts(X)). A (k+1)(k+1)(k+1)-form ω\omegaω is "exact" iff ω\omegaω is C∞C^\inftyC∞ and there exists a C∞C^\inftyC∞ kkk-form α\alphaα on A\mathcal AA such that ω−dα\omega-d\alphaω−dα vanishes on XXX (vanishes on all (k+1)(k+1)(k+1)-tuples of vectors of TP(X)T_P(X)TP​(X), at all P∈pts⁡(X)P\in\operatorname{pts}(X)P∈pts(X)). No condition is placed on α\alphaα beyond smoothness on A\mathcal AA. Equality ω=dα\omega=d\alphaω=dα is not required, only agreement along tangent tuples of XXX.

closedForms

Zk(X)Z^k(X)Zk(X) is the complex-linear span, inside the space of kkk-forms, of the set of closed forms. A span is a subspace regardless of whether the generating set is; here the generating set is itself stable under complex linear combinations (smoothness, exterior differentiation and the vanishing condition are all compatible with complex scaling of values), so the span coincides with the set of closed forms, but the definition takes the span in any case.

exactForms

Bk(X)B^k(X)Bk(X) is the complex-linear span of the set of exact kkk-forms (as defined above), again a subspace of the space of kkk-forms by construction. It is not asserted that Bk(X)⊆Zk(X)B^k(X)\subseteq Z^k(X)Bk(X)⊆Zk(X).

Cohomology

Hk(X)H^k(X)Hk(X) is the image of Zk(X)Z^k(X)Zk(X) under the quotient map \{\text{k-forms}\}\to\{\text{k-forms}\}/B^k(X); as a set, its elements are the classes ω+Bk(X)\omega+B^k(X)ω+Bk(X) with ω∈Zk(X)\omega\in Z^k(X)ω∈Zk(X). Canonically Hk(X)≅Zk(X)/(Zk(X)∩Bk(X))H^k(X)\cong Z^k(X)/\bigl(Z^k(X)\cap B^k(X)\bigr)Hk(X)≅Zk(X)/(Zk(X)∩Bk(X)). It is a complex vector space.

cls

For ω∈Zk(X)\omega\in Z^k(X)ω∈Zk(X) (an element of the span of closed forms, carried with a proof of membership), [ω]∈Hk(X)[\omega]\in H^k(X)[ω]∈Hk(X) is its class modulo Bk(X)B^k(X)Bk(X), together with the (automatic) witness that this class lies in the image of Zk(X)Z^k(X)Zk(X).

HasType

For p,q∈Np,q\in\mathbb Np,q∈N and a kkk-form ω\omegaω, "ω\omegaω has type (p,q)(p,q)(p,q) on XXX" means: for every P∈pts⁡(X)P\in\operatorname{pts}(X)P∈pts(X), every kkk-tuple (v0,…,vk−1)(v_0,\dots,v_{k-1})(v0​,…,vk−1​) with all vi∈TP(X)v_i\in T_P(X)vi​∈TP​(X), and every z∈Cz\in\mathbb Cz∈C,

ωP(cmul⁡P(z,v0),…,cmul⁡P(z,vk−1))=zp zˉ q  ωP(v0,…,vk−1),\omega_P\bigl(\operatorname{cmul}_P(z,v_0),\dots,\operatorname{cmul}_P(z,v_{k-1})\bigr)=z^{p}\,\bar z^{\,q}\;\omega_P(v_0,\dots,v_{k-1}),ωP​(cmulP​(z,v0​),…,cmulP​(z,vk−1​))=zpzˉqωP​(v0​,…,vk−1​),

where cmul⁡P(z,v)=(Re⁡z)v+(Im⁡z) i(vP−Pv)\operatorname{cmul}_P(z,v)=(\operatorname{Re}z)v+(\operatorname{Im}z)\,\mathrm{i}(vP-Pv)cmulP​(z,v)=(Rez)v+(Imz)i(vP−Pv). No relation between p+qp+qp+q and kkk is imposed. Edge cases: the quantifier includes z=0z=0z=0 and real zzz. At z=0z=0z=0 with k≥1k\ge1k≥1 the left side is 000 by multilinearity while the right side is 0p+qωP(v)0^{p+q}\omega_P(v)0p+qωP​(v), which equals ωP(v)\omega_P(v)ωP​(v) when p=q=0p=q=0p=q=0 (since 00=10^0=100=1); thus type (0,0)(0,0)(0,0) for k≥1k\ge1k≥1 forces ω\omegaω to vanish on XXX. For k=0k=0k=0 the condition reads ωP=zpzˉqωP\omega_P=z^p\bar z^q\omega_PωP​=zpzˉqωP​ for all zzz, which for (p,q)≠(0,0)(p,q)\ne(0,0)(p,q)=(0,0) forces ωP=0\omega_P=0ωP​=0 on pts⁡(X)\operatorname{pts}(X)pts(X). If pts⁡(X)=∅\operatorname{pts}(X)=\varnothingpts(X)=∅ every form has every type.

HasTypeClass

For p,q∈Np,q\in\mathbb Np,q∈N and a class c∈Hk(X)c\in H^k(X)c∈Hk(X), "ccc has type (p,q)(p,q)(p,q)" means: there exists ω∈Zk(X)\omega\in Z^k(X)ω∈Zk(X) with [ω]=c[\omega]=c[ω]=c such that the underlying form ω\omegaω has type (p,q)(p,q)(p,q) on XXX. (Existential over representatives: one good representative suffices.)

Simplex

A "kkk-simplex" σ\sigmaσ (code: Simplex N k) is an arbitrary function σ:Rk+1→A\sigma:\mathbb R^{k+1}\to\mathcal Aσ:Rk+1→A, defined on all of Rk+1=({0,…,k}→R)\mathbb R^{k+1}=(\{0,\dots,k\}\to\mathbb R)Rk+1=({0,…,k}→R), with no continuity, smoothness or injectivity built into the type.

Chain

A "kkk-chain" is a finitely supported function from kkk-simplices to Z\mathbb ZZ, i.e. a formal finite integer combination ∑σmσ σ\sum_\sigma m_\sigma\,\sigma∑σ​mσ​σ of kkk-simplices.

face

For i∈{0,…,k+1}i\in\{0,\dots,k+1\}i∈{0,…,k+1} and a (k+1)(k+1)(k+1)-simplex σ:Rk+2→A\sigma:\mathbb R^{k+2}\to\mathcal Aσ:Rk+2→A, the iii-th face ∂iσ\partial_i\sigma∂i​σ is the kkk-simplex t↦σ(t0,…,ti−1,0,ti,…,tk)t\mapsto\sigma(t_0,\dots,t_{i-1},0,t_i,\dots,t_k)t↦σ(t0​,…,ti−1​,0,ti​,…,tk​), i.e. σ\sigmaσ restricted to the coordinate hyperplane {ti=0}\{t_i=0\}{ti​=0} (with a 000 inserted at position iii of t∈Rk+1t\in\mathbb R^{k+1}t∈Rk+1).

boundary

For a (k+1)(k+1)(k+1)-chain c=∑σmσσc=\sum_\sigma m_\sigma\sigmac=∑σ​mσ​σ (sum over the finite support),

∂c=∑σmσ∑i=0k+1(−1)i [∂iσ],\partial c=\sum_{\sigma}m_\sigma\sum_{i=0}^{k+1}(-1)^i\,[\partial_i\sigma],∂c=σ∑​mσ​i=0∑k+1​(−1)i[∂i​σ],

the usual simplicial boundary, a kkk-chain. Cancellation between coincident face simplices is by equality of functions Rk+1→A\mathbb R^{k+1}\to\mathcal ARk+1→A.

IsCycle

A 000-chain is a cycle unconditionally (the condition is True for every 000-chain, with no augmentation condition). A (k+1)(k+1)(k+1)-chain ccc is a cycle iff ∂c=0\partial c=0∂c=0 as a kkk-chain.

coordSimplex

Δk={t∈Rk: ti≥0 ∀i, ∑iti≤1}\Delta^k=\{t\in\mathbb R^k:\ t_i\ge 0\ \forall i,\ \sum_i t_i\le 1\}Δk={t∈Rk: ti​≥0 ∀i, ∑i​ti​≤1}, the standard kkk-simplex in "one-coordinate-dropped" form. For k=0k=0k=0, R0\mathbb R^0R0 is a single point and both conditions are vacuous/true, so Δ0\Delta^0Δ0 is that one point.

affineEmbed

For t∈Rkt\in\mathbb R^kt∈Rk, ι(t)=(1−∑iti, t0,…,tk−1)∈Rk+1\iota(t)=(1-\textstyle\sum_i t_i,\ t_0,\dots,t_{k-1})\in\mathbb R^{k+1}ι(t)=(1−∑i​ti​, t0​,…,tk−1​)∈Rk+1 (the new coordinate is prepended at index 000). It maps Δk\Delta^kΔk bijectively onto the standard simplex {s∈Rk+1:si≥0, ∑si=1}\{s\in\mathbb R^{k+1}: s_i\ge0,\ \sum s_i=1\}{s∈Rk+1:si​≥0, ∑si​=1}; for k=0k=0k=0 it sends the point to (1)(1)(1).

simplexIntegral

For a kkk-form ω\omegaω and a kkk-simplex σ\sigmaσ,

∫σω  =  ∫t∈Δk ωσ(ι(t))(D(σ∘ι)t(e0),…,D(σ∘ι)t(ek−1)) dt,\int_\sigma\omega\;=\;\int_{t\in\Delta^k}\ \omega_{\sigma(\iota(t))}\Bigl(D(\sigma\circ\iota)_t(e_0),\dots,D(\sigma\circ\iota)_t(e_{k-1})\Bigr)\,dt,∫σ​ω=∫t∈Δk​ ωσ(ι(t))​(D(σ∘ι)t​(e0​),…,D(σ∘ι)t​(ek−1​))dt,

a Bochner integral over Δk\Delta^kΔk with respect to Lebesgue measure on Rk\mathbb R^kRk, where eie_iei​ is the iii-th standard basis vector and D(σ∘ι)tD(\sigma\circ\iota)_tD(σ∘ι)t​ is the real Fréchet derivative of σ∘ι:Rk→A\sigma\circ\iota:\mathbb R^k\to\mathcal Aσ∘ι:Rk→A at ttt. Junk values: at any ttt where σ∘ι\sigma\circ\iotaσ∘ι is not differentiable the Fréchet derivative is the zero map, so the integrand is 000 there (for k≥1k\ge1k≥1). If the integrand is not Bochner integrable on Δk\Delta^kΔk (not integrable, or not almost-everywhere strongly measurable), the integral is defined to be 000. For k=0k=0k=0: Lebesgue measure on the one-point space R0\mathbb R^0R0 has total mass 111, so ∫σω=ωσ(1)\int_\sigma\omega=\omega_{\sigma(1)}∫σ​ω=ωσ(1)​, the value of the 000-form at the point σ(1)∈A\sigma(1)\in\mathcal Aσ(1)∈A.

period

For a kkk-form ω\omegaω and a kkk-chain c=∑σmσσc=\sum_\sigma m_\sigma\sigmac=∑σ​mσ​σ, ⟨ω,c⟩=∑σmσ∫σω∈C\langle\omega,c\rangle=\sum_\sigma m_\sigma\int_\sigma\omega\in\mathbb C⟨ω,c⟩=∑σ​mσ​∫σ​ω∈C (with mσm_\sigmamσ​ cast to C\mathbb CC; sum over the finite support).

IsSimplexIn

A kkk-simplex σ\sigmaσ "lies in XXX" iff σ:Rk+1→A\sigma:\mathbb R^{k+1}\to\mathcal Aσ:Rk+1→A is C∞C^\inftyC∞ on all of Rk+1\mathbb R^{k+1}Rk+1 and σ(t)∈pts⁡(X)\sigma(t)\in\operatorname{pts}(X)σ(t)∈pts(X) for every ttt in the standard simplex {ti≥0, ∑iti=1}⊂Rk+1\{t_i\ge0,\ \sum_i t_i=1\}\subset\mathbb R^{k+1}{ti​≥0, ∑i​ti​=1}⊂Rk+1. Constant and otherwise degenerate simplices are allowed; nothing is required of σ\sigmaσ off the standard simplex except smoothness.

IsChainIn

A kkk-chain ccc "lies in XXX" iff every simplex in its (finite) support lies in XXX. The zero chain lies in every XXX.

IsRational

A class c∈Hk(X)c\in H^k(X)c∈Hk(X) is "rational" iff for every ω∈Zk(X)\omega\in Z^k(X)ω∈Zk(X) with [ω]=c[\omega]=c[ω]=c and every kkk-chain c′c'c′ lying in XXX that is a cycle, there exists q∈Qq\in\mathbb Qq∈Q with ⟨ω,c′⟩=q\langle\omega,c'\rangle=q⟨ω,c′⟩=q (as a complex number). Universal over representatives and over cycles. Edge cases: for k=0k=0k=0 every chain is a cycle; the zero chain always qualifies with period 000; if pts⁡(X)=∅\operatorname{pts}(X)=\varnothingpts(X)=∅ the only chains in XXX are the zero chain and every class is rational; if some period is a non-integrable Bochner integral it contributes 000, which is rational.

IsHodgeClass

For p∈Np\in\mathbb Np∈N and c∈H2p(X)c\in H^{2p}(X)c∈H2p(X): ccc is a "Hodge class" iff ccc is rational (previous item, in degree 2p2p2p) and ccc has type (p,p)(p,p)(p,p) in the sense of HasTypeClass (some representative ω∈Z2p(X)\omega\in Z^{2p}(X)ω∈Z2p(X) of ccc satisfies the HasType identity with p=qp=qp=q).

IsJFrame

For a real subspace T⊆AT\subseteq\mathcal AT⊆A, a point P∈AP\in\mathcal AP∈A, and an mmm-tuple u=(u0,…,um−1)u=(u_0,\dots,u_{m-1})u=(u0​,…,um−1​) of vectors of A\mathcal AA, "uuu is a JJJ-frame for (T,P)(T,P)(T,P)" means: (i) every ui∈Tu_i\in Tui​∈T; (ii) ⟨ui,uj⟩R=δij\langle u_i,u_j\rangle_{\mathbb R}=\delta_{ij}⟨ui​,uj​⟩R​=δij​ (real orthonormality); (iii) ⟨ui,JP(uj)⟩R=0\langle u_i,J_P(u_j)\rangle_{\mathbb R}=0⟨ui​,JP​(uj​)⟩R​=0 for all i,ji,ji,j, including i=ji=ji=j. It is not required that JP(uj)∈TJ_P(u_j)\in TJP​(uj​)∈T, that ∥JP(uj)∥=1\|J_P(u_j)\|=1∥JP​(uj​)∥=1, or that the JP(uj)J_P(u_j)JP​(uj​) be mutually orthogonal. For m=0m=0m=0 the condition holds vacuously.

frame

For a real subspace T⊆AT\subseteq\mathcal AT⊆A, a point PPP, and d∈Nd\in\mathbb Nd∈N, frame⁡(T,P,d)\operatorname{frame}(T,P,d)frame(T,P,d) is a ddd-tuple of vectors of A\mathcal AA built as follows. Let m=⌊d/2⌋m=\lfloor d/2\rfloorm=⌊d/2⌋ and let u=(u0,…,um−1)u=(u_0,\dots,u_{m-1})u=(u0​,…,um−1​) be an element chosen by Hilbert's ε\varepsilonε-operator: if some mmm-tuple is a JJJ-frame for (T,P)(T,P)(T,P), uuu is some such JJJ-frame (an arbitrary but fixed one when several exist; no orientation or uniqueness is imposed); if no JJJ-frame of length mmm exists, uuu is an arbitrary, unspecified mmm-tuple of vectors of A\mathcal AA (the type is nonempty, so the operator returns something, with no properties). Then, for index k∈{0,…,d−1}k\in\{0,\dots,d-1\}k∈{0,…,d−1}, the kkk-th vector is frame⁡(T,P,d)k={u⌊k/2⌋if ⌊k/2⌋<m and k even,JP(u⌊k/2⌋)if ⌊k/2⌋<m and k odd,0otherwise (only when d is odd and k=d−1).\operatorname{frame}(T,P,d)_k=\begin{cases}u_{\lfloor k/2\rfloor}&\text{if }\lfloor k/2\rfloor<m\text{ and }k\text{ even},\\ J_P\bigl(u_{\lfloor k/2\rfloor}\bigr)&\text{if }\lfloor k/2\rfloor<m\text{ and }k\text{ odd},\\ 0&\text{otherwise (only when $d$ is odd and $k=d-1$)}.\end{cases}frame(T,P,d)k​=⎩⎨⎧​u⌊k/2⌋​JP​(u⌊k/2⌋​)0​if ⌊k/2⌋<m and k even,if ⌊k/2⌋<m and k odd,otherwise (only when d is odd and k=d−1).​ So the order is (u0, JPu0, u1, JPu1, …, um−1, JPum−1)(u_0,\ J_Pu_0,\ u_1,\ J_Pu_1,\ \dots,\ u_{m-1},\ J_Pu_{m-1})(u0​, JP​u0​, u1​, JP​u1​, …, um−1​, JP​um−1​), followed by a single zero vector if ddd is odd. For d∈{0,1}d\in\{0,1\}d∈{0,1}, uuu is the empty tuple and the frame is empty (for d=0d=0d=0) or (0)(0)(0) (for d=1d=1d=1). The frame depends only on (T,P,d)(T,P,d)(T,P,d), but through a non-constructive choice; when used pointwise in PPP below, P↦frame⁡(TP(X),P,d)P\mapsto\operatorname{frame}(T_P(X),P,d)P↦frame(TP​(X),P,d) is an arbitrary selection with no measurability or continuity guaranteed.

volMeasure

For N,d∈NN,d\in\mathbb NN,d∈N, μd\mu_dμd​ is the measure on A\mathcal AA (with its Frobenius/Euclidean metric)

μd=cd⋅Hd,cd=π⌊d/2⌋⌊d/2⌋!  2d,\mu_d=c_d\cdot\mathcal H^{d},\qquad c_d=\frac{\pi^{\lfloor d/2\rfloor}}{\lfloor d/2\rfloor!\;2^{d}},μd​=cd​⋅Hd,cd​=⌊d/2⌋!2dπ⌊d/2⌋​,

where d/2d/2d/2 is natural-number (floor) division, cdc_dcd​ is cast to [0,∞][0,\infty][0,∞], and Hd\mathcal H^dHd is Mathlib's ddd-dimensional Hausdorff measure (with ddd cast to R\mathbb RR), which is the un-normalized one: Hd(S)=lim⁡δ→0inf⁡{∑i(diam⁡Ui)d: S⊆⋃Ui, diam⁡Ui≤δ}\mathcal H^d(S)=\lim_{\delta\to0}\inf\{\sum_i(\operatorname{diam}U_i)^d:\ S\subseteq\bigcup U_i,\ \operatorname{diam}U_i\le\delta\}Hd(S)=limδ→0​inf{∑i​(diamUi​)d: S⊆⋃Ui​, diamUi​≤δ}. The classical normalization that makes Hausdorff measure agree with ddd-dimensional Lebesgue/Riemannian volume on ddd-dimensional Euclidean subspaces and C1C^1C1 submanifolds is ωd/2d\omega_d/2^dωd​/2d with ωd=πd/2/Γ(d/2+1)\omega_d=\pi^{d/2}/\Gamma(d/2+1)ωd​=πd/2/Γ(d/2+1) the unit-ball volume. For even d=2md=2md=2m, ω2m/22m=πm/(m! 22m)=c2m\omega_{2m}/2^{2m}=\pi^m/(m!\,2^{2m})=c_{2m}ω2m​/22m=πm/(m!22m)=c2m​, so μ2m\mu_{2m}μ2m​ is exactly the classical 2m2m2m-dimensional volume. For odd ddd, cd≠ωd/2dc_d\ne\omega_d/2^dcd​=ωd​/2d (e.g. d=1d=1d=1: c1=12c_1=\tfrac12c1​=21​ while ω1/2=1\omega_1/2=1ω1​/2=1, so μ1\mu_1μ1​ is half of arc length). For d=0d=0d=0, c0=1c_0=1c0​=1 and H0\mathcal H^0H0 is counting measure.

wedgeVal

For a kkk-form ω\omegaω, an lll-form η\etaη, a point PPP, and an arbitrary (k+l)(k+l)(k+l)-tuple f=(f0,…,fk+l−1)f=(f_0,\dots,f_{k+l-1})f=(f0​,…,fk+l−1​) of vectors of A\mathcal AA,

(ω∧η)P(f)=1k! l!∑σ∈Sk+lsgn⁡(σ)  ωP(fσ(0),…,fσ(k−1))  ηP(fσ(k),…,fσ(k+l−1)),(\omega\wedge\eta)_P(f)=\frac{1}{k!\,l!}\sum_{\sigma\in S_{k+l}}\operatorname{sgn}(\sigma)\;\omega_P\bigl(f_{\sigma(0)},\dots,f_{\sigma(k-1)}\bigr)\;\eta_P\bigl(f_{\sigma(k)},\dots,f_{\sigma(k+l-1)}\bigr),(ω∧η)P​(f)=k!l!1​σ∈Sk+l​∑​sgn(σ)ωP​(fσ(0)​,…,fσ(k−1)​)ηP​(fσ(k)​,…,fσ(k+l−1)​),

the sum running over all permutations of {0,…,k+l−1}\{0,\dots,k+l-1\}{0,…,k+l−1}, with the first kkk slots (indices 0,…,k−10,\dots,k-10,…,k−1) fed to ω\omegaω and the last lll slots (indices k,…,k+l−1k,\dots,k+l-1k,…,k+l−1) fed to η\etaη. The factor 1/(k! l!)1/(k!\,l!)1/(k!l!) is the inverse in C\mathbb CC of the nonzero natural number k! l!k!\,l!k!l!. This is the standard wedge normalization under which dx1∧dx2dx^1\wedge dx^2dx1∧dx2 evaluates to 111 on (e1,e2)(e_1,e_2)(e1​,e2​). Only the scalar value is defined here, not a form; fff is not required to be linearly independent.

pairing

For a kkk-form ω\omegaω and an lll-form η\etaη,

⟨ω,η⟩X=∫P∈pts⁡(X)(ω∧η)P(frame⁡(TP(X),P,k+l)) dμk+l(P),\langle\omega,\eta\rangle_X=\int_{P\in\operatorname{pts}(X)}(\omega\wedge\eta)_P\bigl(\operatorname{frame}(T_P(X),P,k+l)\bigr)\ d\mu_{k+l}(P),⟨ω,η⟩X​=∫P∈pts(X)​(ω∧η)P​(frame(TP​(X),P,k+l)) dμk+l​(P),

a Bochner integral of the complex-valued function of PPP over the set pts⁡(X)⊆A\operatorname{pts}(X)\subseteq\mathcal Apts(X)⊆A with respect to μk+l=ck+lHk+l\mu_{k+l}=c_{k+l}\mathcal H^{k+l}μk+l​=ck+l​Hk+l restricted to pts⁡(X)\operatorname{pts}(X)pts(X). At each PPP the (k+l)(k+l)(k+l)-tuple is the ε\varepsilonε-chosen frame (u0,JPu0,… )(u_0,J_Pu_0,\dots)(u0​,JP​u0​,…) for the real tangent subspace TP(X)T_P(X)TP​(X) described under frame (arbitrary if no JJJ-frame of length ⌊(k+l)/2⌋\lfloor(k+l)/2\rfloor⌊(k+l)/2⌋ exists in TP(X)T_P(X)TP​(X); last entry 000 if k+lk+lk+l is odd, making the integrand 000). Junk values: if the integrand is not Bochner integrable — in particular if it is not almost-everywhere strongly measurable, which the pointwise ε\varepsilonε-choice does not guarantee, or if Hk+l(pts⁡(X))=∞\mathcal H^{k+l}(\operatorname{pts}(X))=\inftyHk+l(pts(X))=∞ and the integrand fails to be integrable — the integral is 000. If Hk+l(pts⁡(X))=0\mathcal H^{k+l}(\operatorname{pts}(X))=0Hk+l(pts(X))=0 the integral is 000. The value depends on which JJJ-frame the choice operator selects (e.g. its sign under reordering).

integralOver

For an lll-form η\etaη,

∫Xη=∫P∈regPts⁡(X)ηP(frame⁡(TP(X),P,l)) dμl(P),\int_X\eta=\int_{P\in\operatorname{regPts}(X)}\eta_P\bigl(\operatorname{frame}(T_P(X),P,l)\bigr)\ d\mu_l(P),∫X​η=∫P∈regPts(X)​ηP​(frame(TP​(X),P,l)) dμl​(P),

a Bochner integral over regPts⁡(X)\operatorname{regPts}(X)regPts(X) (the projectors of cone points with minimal Zariski tangent dimension) with respect to clHlc_l\mathcal H^lcl​Hl, with the same frame construction and the same junk conventions as in pairing (non-integrable or non-measurable integrand gives 000; lll odd makes the last frame vector 000 and the integrand 000). For l=0l=0l=0: the frame is empty, μ0\mu_0μ0​ is counting measure, and ∫Xη=∑P∈regPts⁡(X)ηP\int_X\eta=\sum_{P\in\operatorname{regPts}(X)}\eta_P∫X​η=∑P∈regPts(X)​ηP​ if that sum is summable (and 000 otherwise).

IsCycleClass

Given a second projective variety ZZZ in the same ambient CN+1\mathbb{C}^{N+1}CN+1, naturals n,pn,pn,p, and a class c∈H2p(X)c\in H^{2p}(X)c∈H2p(X): "ccc is the cycle class of ZZZ (with parameters n,pn,pn,p)" means: for every ω∈Z2p(X)\omega\in Z^{2p}(X)ω∈Z2p(X) with [ω]=c[\omega]=c[ω]=c, and for every (2n−˙2p)(2n\dot-2p)(2n−˙​2p)-form η\etaη on A\mathcal AA that is closed relative to XXX (i.e. η\etaη is C∞C^\inftyC∞ on A\mathcal AA and dηd\etadη vanishes on tangent tuples of XXX at points of pts⁡(X)\operatorname{pts}(X)pts(X)),

⟨ω,η⟩X=∫Zη,\langle\omega,\eta\rangle_X=\int_Z\eta,⟨ω,η⟩X​=∫Z​η,

where the left side is the pairing over pts⁡(X)\operatorname{pts}(X)pts(X) of the (2p+(2n−˙2p))(2p+(2n\dot-2p))(2p+(2n−˙​2p))-form ω∧η\omega\wedge\etaω∧η against μ2p+(2n−˙2p)\mu_{2p+(2n\dot-2p)}μ2p+(2n−˙​2p)​, and the right side is the integralOver of η\etaη over regPts⁡(Z)\operatorname{regPts}(Z)regPts(Z) using ZZZ's tangent spaces TP(Z)T_P(Z)TP​(Z) and μ2n−˙2p\mu_{2n\dot-2p}μ2n−˙​2p​. The degree 2n−˙2p2n\dot-2p2n−˙​2p uses truncated subtraction: if p>np>np>n it is 000, η\etaη is a smooth 000-form with dηd\etadη vanishing along XXX, the pairing is of a 2p2p2p-form, and the right side is the counting sum ∑P∈regPts⁡(Z)ηP\sum_{P\in\operatorname{regPts}(Z)}\eta_P∑P∈regPts(Z)​ηP​. No hypotheses relate nnn to dim⁡X\dim XdimX, ppp to dim⁡Z\dim ZdimZ or to n−dim⁡Zn-\dim Zn−dimZ, ZZZ to XXX (no inclusion Z⊆XZ\subseteq XZ⊆X is required), or require XXX, ZZZ to be nonsingular or irreducible; the closedness of η\etaη is relative to XXX, not ZZZ. If pts⁡(X)=∅\operatorname{pts}(X)=\varnothingpts(X)=∅ then H2p(X)H^{2p}(X)H2p(X) still exists (all smooth forms are closed and exact), the left side is 000, and the condition becomes "∫Zη=0\int_Z\eta=0∫Z​η=0 for all smooth η\etaη of the given degree". The condition is universal over representatives ω\omegaω of ccc.

Human review
  • Endorsed by Shuze Chen · Sep 13, 2026

  • Endorsed by Lucas · Sep 13, 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