Projective non-singular varieties over , de Rham cohomology, -types, rational classes, Hodge classes and cycle classes (Deligne §1)
DefinitionHodgeConjectureThis 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 (Coord N). Projective space is embedded in the Euclidean space of complex matrices (Amb N) by (proj), the orthogonal projection onto the line . At a point the complex structure is (Jmap), a complex scalar acts on tangent vectors by (cmul), and (rinner).
Varieties. A projective variety (ProjVariety N) is a set of homogeneous polynomials. Its cone is the set of nonzero common zeros (cone), its points are (pts). The Zariski tangent space at is the common kernel of the differentials of all polynomials vanishing on (vanishing, jacobianForm, tangentCone). is non-singular of dimension (IsNonsingular n) when this space has dimension at every point of the cone. The real tangent space is the image of the Zariski tangent space under (tangent). 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 -form on is a smooth -valued alternating -form on (Form N k) seen through its values on . It is closed when vanishes on (IsClosedForm), exact when it agrees on with for a smooth -form (IsExactForm; for : vanishes on ). (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 (HasType p q) when on tangent vectors of
Deligne's definition through the -action on ; a class is of type when it has a closed representative (HasTypeClass).
Rational structure. Smooth singular simplices in are smooth maps restricted to the standard simplex (Simplex); chains are integral combinations (Chain); the boundary is with the -th facet inclusion (face, boundary); cycles have zero boundary, every -chain being a cycle (IsCycle). The period (period, simplexIntegral) integrates the pull-back of over the coordinate simplex via the parametrisation . A class is rational (IsRational) when its periods over all smooth integral cycles lying in are rational numbers: this is . A Hodge class (IsHodgeClass p) is a rational class of type in (Deligne, p. 2).
Integration and cycle classes (Deligne, pp. 1–2). volMeasure N d is the -dimensional Hausdorff measure on multiplied by (for : ), the constant making it agree with Lebesgue measure on -dimensional Euclidean subspaces. A complex orthonormal frame of a -invariant subspace (IsJFrame) is orthonormal and orthogonal to all ; frame T P d is the positively oriented orthonormal frame , , for a chosen such frame. wedgeVal is the value of on a frame by the standard formula . Then
are the integrals of these frame values over , resp. over the smooth locus of , against volMeasure of dimension , resp. . Finally is the class of a subvariety of the -dimensional (IsCycleClass X Z n p c) when it is Poincaré dual to integration over :
Formalization Note Only the restriction of an ambient form to the tangent spaces of is ever used, so closedness and exactness are imposed on 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 , 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 the identity defining would be off by a power of .
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
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 (implicit in every declaration below). Three type abbreviations recur:
- (code:
Coord N): functions from to , i.e. complex -vectors . - (code:
Amb N): the complex Euclidean space indexed by pairs , i.e. complex matrices , carrying the Hermitian inner product (conjugate-linear in the first slot) and the Frobenius norm . As a real vector space it is , and its metric is the one induced by this norm. - (code:
Poly N): polynomials with complex coefficients in variables .
In the analytic parts, "smooth" always means in the real sense: the smoothness order written ∞ is the element of viewed inside , i.e. infinitely differentiable, strictly weaker than real-analytic ().
proj
For , is the matrix with entries
where the denominator is the real number cast into . For this is the rank-one Hermitian projector onto the line ; it satisfies for every . For the denominator is and complex division by zero yields , so is the zero matrix. The function is defined on all of with no restriction.
Jmap
For matrices , is the matrix with entries
It is complex-linear in for every . Nothing is assumed about (it need not be a projector), and no property such as on any subspace is asserted or built in.
cmul
For and ,
using real scalar multiplication. It is real-linear in and real-linear in ; for real it is ordinary scaling , and for it is . It is not asserted that ; that would require on the vectors in question.
rinner
For , , the standard real Euclidean inner product on . It is symmetric and its associated norm is the Frobenius norm.
zeros
For a set of polynomials (any polynomials, not necessarily homogeneous), , the common zero locus in affine space . Edge cases: ; the origin belongs to iff every has zero constant term.
ProjVariety
A "projective variety" (in the sense of this bundle) consists of a set of polynomials together with a proof that every is homogeneous of some degree (the degree may vary from polynomial to polynomial). Homogeneous of degree means every monomial in the support of has total degree ; in particular the zero polynomial is homogeneous of every degree, and nonzero constants are homogeneous of degree and are allowed in . The set may be empty, infinite, or not an ideal; no irreducibility, reducedness or nonemptiness is part of the structure.
cone
: the affine cone over with the origin removed. It is stable under -scaling. It is empty if, for instance, contains a nonzero constant or contains .
pts
: 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 on the cone the junk value never occurs here.
vanishing
: all polynomials (homogeneous or not) vanishing on the punctured cone. It always contains and . If the cone is empty, (every polynomial).
jacobianForm
For and , is the complex-linear map
where is the formal partial derivative and the -th coordinate projection. This is the differential of at ; it is defined for every , including and .
tangentCone
For (any , not only points of the cone),
a complex-linear subspace: the Zariski tangent space at of the affine cone, computed with all polynomials vanishing on the punctured cone (not just ). If the cone is empty then and the intersection is (take ). Because the cone is -stable, each homogeneous component of a again lies in , and Euler's identity then gives ; consequently whenever , so on the cone.
IsNonsingular
For , " is nonsingular of dimension " means: for every , (exactly). This is the only content; no separate assertion that has dimension in any other sense is made. If the cone is empty the condition holds vacuously for every .
tangent
For , is the real-linear subspace of spanned by the union, over all with and , of the images
where is the real Fréchet derivative of at and 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 no qualifies and . The Fréchet derivative returns the zero map at points where is not differentiable, but is a rational function with nonvanishing denominator away from , and is excluded by the cone condition, so this junk value does not arise. Since is constant along , kills and ; in particular the real dimension of is at most for each contributing (given noted above).
IsIrreducible
" is irreducible" means: , and for all sets of polynomials (arbitrary, not required homogeneous), if then or .
dim
the minimum over the punctured cone of the Zariski tangent dimension, minus one, using truncated natural-number subtraction (). 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 and no truncation occurs. If the cone is empty, the infimum of the empty set of naturals is and , so . Note this is the minimum, not the maximum, of tangent dimensions, and it is not defined via chains of subvarieties.
regPts
: 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 "-form" (code: Form N k) is an arbitrary function assigning to each point a continuous, real-multilinear, alternating map . No continuity or smoothness in is built into the type. For , is just a complex number, so -forms are arbitrary functions . The set of -forms is a complex vector space under pointwise operations (scaling the complex values).
VanishesOn
For a -form , " vanishes on " means: for every and every -tuple of vectors of with every , one has . Nothing is required at , nor on tuples with some entry outside . For the tuple is empty and the condition reads for all . If every form vanishes on .
IsClosedForm
" is closed (relative to )" means: is as a map from to the space of alternating maps, and the exterior derivative vanishes on in the sense of VanishesOn. Here is Mathlib's exterior derivative on the flat space , built from the real Fréchet derivative:
where is the directional derivative of in direction . At a point where is not differentiable the Fréchet derivative is the zero map and ; this junk value cannot occur here because smoothness of on all of is demanded. Note closedness is only required along the tangent spaces at points of , not on ; and the smoothness is required on all of .
IsExactForm
Defined by cases on the degree. A -form is "exact" iff is and vanishes on (i.e. for all ). A -form is "exact" iff is and there exists a -form on such that vanishes on (vanishes on all -tuples of vectors of , at all ). No condition is placed on beyond smoothness on . Equality is not required, only agreement along tangent tuples of .
closedForms
is the complex-linear span, inside the space of -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
is the complex-linear span of the set of exact -forms (as defined above), again a subspace of the space of -forms by construction. It is not asserted that .
Cohomology
is the image of under the quotient map \{\text{k-forms}\}\to\{\text{k-forms}\}/B^k(X); as a set, its elements are the classes with . Canonically . It is a complex vector space.
cls
For (an element of the span of closed forms, carried with a proof of membership), is its class modulo , together with the (automatic) witness that this class lies in the image of .
HasType
For and a -form , " has type on " means: for every , every -tuple with all , and every ,
where . No relation between and is imposed. Edge cases: the quantifier includes and real . At with the left side is by multilinearity while the right side is , which equals when (since ); thus type for forces to vanish on . For the condition reads for all , which for forces on . If every form has every type.
HasTypeClass
For and a class , " has type " means: there exists with such that the underlying form has type on . (Existential over representatives: one good representative suffices.)
Simplex
A "-simplex" (code: Simplex N k) is an arbitrary function , defined on all of , with no continuity, smoothness or injectivity built into the type.
Chain
A "-chain" is a finitely supported function from -simplices to , i.e. a formal finite integer combination of -simplices.
face
For and a -simplex , the -th face is the -simplex , i.e. restricted to the coordinate hyperplane (with a inserted at position of ).
boundary
For a -chain (sum over the finite support),
the usual simplicial boundary, a -chain. Cancellation between coincident face simplices is by equality of functions .
IsCycle
A -chain is a cycle unconditionally (the condition is True for every -chain, with no augmentation condition). A -chain is a cycle iff as a -chain.
coordSimplex
, the standard -simplex in "one-coordinate-dropped" form. For , is a single point and both conditions are vacuous/true, so is that one point.
affineEmbed
For , (the new coordinate is prepended at index ). It maps bijectively onto the standard simplex ; for it sends the point to .
simplexIntegral
For a -form and a -simplex ,
a Bochner integral over with respect to Lebesgue measure on , where is the -th standard basis vector and is the real Fréchet derivative of at . Junk values: at any where is not differentiable the Fréchet derivative is the zero map, so the integrand is there (for ). If the integrand is not Bochner integrable on (not integrable, or not almost-everywhere strongly measurable), the integral is defined to be . For : Lebesgue measure on the one-point space has total mass , so , the value of the -form at the point .
period
For a -form and a -chain , (with cast to ; sum over the finite support).
IsSimplexIn
A -simplex "lies in " iff is on all of and for every in the standard simplex . Constant and otherwise degenerate simplices are allowed; nothing is required of off the standard simplex except smoothness.
IsChainIn
A -chain "lies in " iff every simplex in its (finite) support lies in . The zero chain lies in every .
IsRational
A class is "rational" iff for every with and every -chain lying in that is a cycle, there exists with (as a complex number). Universal over representatives and over cycles. Edge cases: for every chain is a cycle; the zero chain always qualifies with period ; if the only chains in are the zero chain and every class is rational; if some period is a non-integrable Bochner integral it contributes , which is rational.
IsHodgeClass
For and : is a "Hodge class" iff is rational (previous item, in degree ) and has type in the sense of HasTypeClass (some representative of satisfies the HasType identity with ).
IsJFrame
For a real subspace , a point , and an -tuple of vectors of , " is a -frame for " means: (i) every ; (ii) (real orthonormality); (iii) for all , including . It is not required that , that , or that the be mutually orthogonal. For the condition holds vacuously.
frame
For a real subspace , a point , and , is a -tuple of vectors of built as follows. Let and let be an element chosen by Hilbert's -operator: if some -tuple is a -frame for , is some such -frame (an arbitrary but fixed one when several exist; no orientation or uniqueness is imposed); if no -frame of length exists, is an arbitrary, unspecified -tuple of vectors of (the type is nonempty, so the operator returns something, with no properties). Then, for index , the -th vector is So the order is , followed by a single zero vector if is odd. For , is the empty tuple and the frame is empty (for ) or (for ). The frame depends only on , but through a non-constructive choice; when used pointwise in below, is an arbitrary selection with no measurability or continuity guaranteed.
volMeasure
For , is the measure on (with its Frobenius/Euclidean metric)
where is natural-number (floor) division, is cast to , and is Mathlib's -dimensional Hausdorff measure (with cast to ), which is the un-normalized one: . The classical normalization that makes Hausdorff measure agree with -dimensional Lebesgue/Riemannian volume on -dimensional Euclidean subspaces and submanifolds is with the unit-ball volume. For even , , so is exactly the classical -dimensional volume. For odd , (e.g. : while , so is half of arc length). For , and is counting measure.
wedgeVal
For a -form , an -form , a point , and an arbitrary -tuple of vectors of ,
the sum running over all permutations of , with the first slots (indices ) fed to and the last slots (indices ) fed to . The factor is the inverse in of the nonzero natural number . This is the standard wedge normalization under which evaluates to on . Only the scalar value is defined here, not a form; is not required to be linearly independent.
pairing
For a -form and an -form ,
a Bochner integral of the complex-valued function of over the set with respect to restricted to . At each the -tuple is the -chosen frame for the real tangent subspace described under frame (arbitrary if no -frame of length exists in ; last entry if is odd, making the integrand ). Junk values: if the integrand is not Bochner integrable — in particular if it is not almost-everywhere strongly measurable, which the pointwise -choice does not guarantee, or if and the integrand fails to be integrable — the integral is . If the integral is . The value depends on which -frame the choice operator selects (e.g. its sign under reordering).
integralOver
For an -form ,
a Bochner integral over (the projectors of cone points with minimal Zariski tangent dimension) with respect to , with the same frame construction and the same junk conventions as in pairing (non-integrable or non-measurable integrand gives ; odd makes the last frame vector and the integrand ). For : the frame is empty, is counting measure, and if that sum is summable (and otherwise).
IsCycleClass
Given a second projective variety in the same ambient , naturals , and a class : " is the cycle class of (with parameters )" means: for every with , and for every -form on that is closed relative to (i.e. is on and vanishes on tangent tuples of at points of ),
where the left side is the pairing over of the -form against , and the right side is the integralOver of over using 's tangent spaces and . The degree uses truncated subtraction: if it is , is a smooth -form with vanishing along , the pairing is of a -form, and the right side is the counting sum . No hypotheses relate to , to or to , to (no inclusion is required), or require , to be nonsingular or irreducible; the closedness of is relative to , not . If then still exists (all smooth forms are closed and exact), the left side is , and the condition becomes " for all smooth of the given degree". The condition is universal over representatives of .
Confirmed by the mission captain (proposal self-audit).