The Bogomolov discriminant of a numerical class #
For v = (r, c, d) in NumClass — standing for (ch₀, ch₁·H, ch₂) — the
discriminant is
Δ(v) = c² - 2·r·d.
Basic.lean proves that distinct numerical walls of a fixed v are disjoint
(wall_eq_of_meet), but only away from the point where v's own charge
degenerates, and its module docstring records in prose that the excluded locus
is "a single point of each half plane when Δ < 0, and empty when
Δ ≥ 0", with Bogomolov–Gieseker putting the geometric classes in the second
case. This file makes that a theorem.
What the discriminant buys, exactly #
discr_eq_neg_of_charge_eq_zero is the quantitative statement: wherever the
charge of v vanishes at some (s, t) with t ≠ 0, the discriminant is
forced to the value -(r²t²). Read contrapositively with Δ(v) ≥ 0 that is
charge_ne_zero_of_discr_nonneg, which discharges the hypothesis
wall_eq_of_meet takes — so wall_eq_of_meet_of_discr_nonneg is the form
downstream lanes should cite: a class with nonnegative discriminant has
pairwise disjoint walls across the whole half plane, with no excluded point.
The sign asymmetry is the content. Δ(v) ≥ 0 is what Bogomolov–Gieseker
supplies for a semistable class on a polarised surface, and it is exactly the
hypothesis that empties the degenerate locus.
This file is geometry-free, and that is enforced #
No sheaf, no variety, no polarisation, no Bogomolov–Gieseker inequality.
NumClass is a triple of reals and discr is a real-valued function of it;
nothing below assumes 0 ≤ discr v for any particular v, it is always a
hypothesis. The bridge from a geometric class to a NumClass, and the proof
that Δ ≥ 0 holds for semistable classes, live on the AlgebraicGeometry
side and are a separate lane.
degV = (2, 0, 1), the counterexample class of Basic.lean, has
discr_degV : Δ = -4. That is what makes wall_eq_of_meet_needs_charge
compatible with wall_eq_of_meet_of_discr_nonneg rather than a refutation of
it: the counterexample lives strictly in the Δ < 0 regime this file's
hypothesis excludes.
Main results #
NumClass.discr— the discriminant, withdiscr_eqfor rewriting.discr_eq_neg_of_charge_eq_zero— the quantitative form.charge_ne_zero_of_discr_nonneg— the hypothesis discharge.wall_eq_of_meet_of_discr_nonneg— disjointness with no excluded point.discr_degV— the counterexample class really is in theΔ < 0regime.NumClass.scaleanddiscr_scale— the discriminant is a quadratic form.
This discriminant is the Mukai self-pairing, at coefficient ring ℝ
and middle summand ℝ with its multiplication as the bilinear form.
NumClass is ℝ × ℝ × ℝ and Mukai.RealExtension ℝ is the same type, so
there is no transport here: the two sides are the same expression once
selfPairing_mk is unfolded. The triple is read (r, c, s) = (rk, deg, ch2),
which is why the degree lands in the middle slot and the rank pairs with ch₂.
Mukai.pairing is generalised over its coefficient ring precisely so that this
projection and the six others can all name it; see
LinearAlgebra/Lattice/Mukai/Basic.lean.
Componentwise scaling of a numerical class. Defined here rather than in
Basic.lean because the discriminant is its only consumer.
Equations
Instances For
Where the charge degenerates, the discriminant is negative #
The quantitative form. If the charge of v vanishes at (s, t) with
t ≠ 0, then Δ(v) = -(r²t²).
The proof goes through charge_eq_zero_iff, which solves the vanishing for the
two coordinates deg and ch₂ in terms of rk; substituting both into the
discriminant leaves -(r²t²) after ring.
The hypothesis discharge. A nonzero class with nonnegative discriminant has nowhere-vanishing charge on the whole half plane.
discr_eq_neg_of_charge_eq_zero turns the assumed vanishing into
0 ≤ -(r²t²), which with t ≠ 0 forces r = 0; charge_eq_zero_iff then
collapses the other two coordinates as well, contradicting v ≠ 0.
Disjointness of walls, with no excluded point. This is
wall_eq_of_meet with its charge hypothesis replaced by the two inputs the
geometric theory actually supplies: the class is nonzero, and its
Bogomolov discriminant is nonnegative.
Downstream lanes should cite this rather than wall_eq_of_meet: it is the same
conclusion with a hypothesis a semistable class satisfies, instead of one about
a point of the half plane.
The counterexample class is in the negative regime #
Basic.lean exhibits degV = (2, 0, 1) with two genuinely different walls
meeting at (0, 1), which is what makes the charge hypothesis of
wall_eq_of_meet load-bearing. Its discriminant is -4, so it is excluded by
wall_eq_of_meet_of_discr_nonneg — the two statements are compatible, and this
is the check.
The counterexample class of Basic.lean has discriminant -4.