Weierstrass model over the affine line: discriminant, points, K3 degree data
DefinitionFTheoryK3CoreThis bundle fixes the algebraic objects for an elliptically fibered Weierstrass model over the affine line, with polynomials over a field .
- Discriminant. For ,
This is the discriminant of the model up to the nonzero constant factor ; its vanishing locus is the set of base points over which the fibre degenerates (the F-theory 7-branes).
- point (Kodaira type II*). A point is an point when
where is the multiplicity of as a root. These are the vanishing orders of a Kodaira type II* fibre, whose gauge algebra is .
- K3 degree data. The pair satisfies the Calabi--Yau/K3 degree bound when
Over these are the degrees of sections of and for an elliptic surface with (the maximal, K3, case and below); excludes the everywhere-degenerate model.
Formalization Note. natDegree assigns degree to the zero polynomial, and rootMultiplicity is at a non-root and for the zero polynomial. The K3-bound predicate IsK3Data encodes only the degree inequalities and non-degeneracy, not a full surface-theoretic K3 hypothesis.
import Mathlib
open Polynomial
namespace FTheoryK3
variable {k : Type*} [Field k]
/-- Discriminant of the short Weierstrass model `y² = x³ + f x + g`. -/
noncomputable def Δ (f g : k[X]) : k[X] := 4 * f ^ 3 + 27 * g ^ 2
/-- A base point carrying a Kodaira type II* fiber (gauge algebra E₈):
`ord f ≥ 4` and `ord g = 5`. -/
def IsE8Point (f g : k[X]) (t₀ : k) : Prop :=
4 ≤ f.rootMultiplicity t₀ ∧ g.rootMultiplicity t₀ = 5
/-- Calabi–Yau / K3 Weierstrass data over the affine chart, with nondegenerate discriminant. -/
def IsK3Data (f g : k[X]) : Prop :=
f.natDegree ≤ 8 ∧ g.natDegree ≤ 12 ∧ Δ f g ≠ 0
end FTheoryK3
Read-back
What the Lean code literally says, in plain math · claude-opus-4-8
Read-back of the definition bundle (Delta, IsE8Point, IsK3Data), written blind by an independent auditor.
Delta. Over a field , this takes to , where are the images of those integers in . No hypotheses constrain ; it is defined for the zero polynomials, and in small characteristic or may vanish ( in char , in char ).
IsE8Point. For and , the proposition asserts the conjunction: the multiplicity of as a root of is at least () and the multiplicity of as a root of is exactly (). By the Mathlib convention (multiplicity at a non-root and for the zero polynomial), the first clause forces with a genuine root of order , the second forces with a genuine root of order exactly .
IsK3Data. For , the conjunction of: , (with the natDegree convention that the zero polynomial has degree ), and . The degree bounds are automatically satisfied when or is zero; the third clause excludes, among others, .