The numerical Grothendieck lattice #
The numerical Grothendieck group is the quotient by the radical of the Euler pairing. This
file makes that construction explicit from NumericalVarietyData.chi₂ and records the precise
finiteness input needed before the quotient is a lattice.
The Euler pairing supplied by NumericalVarietyData is ℚ-valued. Consequently the descended
pairing below is also ℚ-valued; no integrality statement is silently assumed. The integral
object is its underlying finite free ℤ-module.
Main results #
NumericalVarietyData.leftRadicalandNumericalVarietyData.rightRadicalare the two Euler radicals.NumericalVarietyData.leftRadical_eq_rightRadicalidentifies them when the Euler form is symmetric.NumericalVarietyData.NumericalQuotientis the quotient by the radical.NumericalVarietyData.numericalPairingis the descended, nondegenerate pairing.NumericalQuotientis finitely generated overℤwheneverNis (instFiniteNumericalQuotient, fromModule.Finite.quotient), and free whenever it is also torsion-free, by Mathlib's instanceModule.free_of_finite_type_torsion_free'. The lattice structure is therefore Mathlib's[Module.Finite ℤ _] [Module.Free ℤ _]; the repository no longer carries a class for it.K3.numericalPairing_mk_eq_neg_mukaiPairingfixes the K3 sign convention.
The Euler pairing with its second argument packaged as an additive homomorphism.
Equations
- V.eulerPairingRow E = AddMonoidHom.mk' (V.chi₂ E) ⋯
Instances For
The Euler pairing as a biadditive homomorphism N →+ (N →+ ℚ).
Equations
Instances For
The transposed Euler pairing as a biadditive homomorphism.
Equations
- V.eulerPairingFlip = AddMonoidHom.mk' (fun (F : N) => AddMonoidHom.mk' (fun (E : N) => V.chi₂ E F) ⋯) ⋯
Instances For
Unbundling eulerPairing recovers the original numerical Euler form chi₂.
The left radical: classes pairing to zero against every class on the right.
Equations
Instances For
The right radical: classes pairing to zero against every class on the left.
Equations
Instances For
Membership in the left radical is pointwise vanishing of the Euler pairing in the second argument.
Membership in the right radical is pointwise vanishing of the Euler pairing in the first argument.
The symmetry hypothesis under which the project uses a single Euler radical.
Equations
- V.IsEulerPairingSymmetric = ∀ (E F : N), V.chi₂ E F = V.chi₂ F E
Instances For
Symmetry turns vanishing against every right argument into vanishing against every left argument, so the two kernels used to define the numerical quotient coincide.
The numerical Grothendieck quotient by the left Euler radical.
Under IsEulerPairingSymmetric, leftRadical_eq_rightRadical shows that this is equivalently
the quotient by the right radical.
Equations
- V.NumericalQuotient = (N ⧸ V.leftRadical)
Instances For
Descend the right argument of the Euler pairing to the numerical quotient.
Equations
- V.eulerPairingDescendRight hSymm E = QuotientAddGroup.lift V.leftRadical.toAddSubgroup (V.eulerPairingRow E) ⋯
Instances For
Evaluating the one-sided descent on a quotient representative recovers chi₂.
The Euler pairing with its right argument descended, still additive in the left argument.
Equations
- V.eulerPairingToQuotient hSymm = AddMonoidHom.mk' (V.eulerPairingDescendRight hSymm) ⋯
Instances For
The left-additive one-sided descent still evaluates to chi₂ on representatives.
The Euler pairing descended to the numerical quotient in both arguments.
Equations
- V.numericalPairing hSymm = QuotientAddGroup.lift V.leftRadical.toAddSubgroup (V.eulerPairingToQuotient hSymm) ⋯
Instances For
The fully descended numerical pairing is computed by chi₂ on representatives.
The descended pairing remains symmetric.
The descended pairing has zero left radical, by construction.
The descended pairing has zero right radical as well.
The kernel of the descended pairing is zero.
Finite generation passes to the numerical quotient. Stated as an instance
so that consumers do not repeat the explicit letI the former
numericalZLattice theorem needed to reach Module.Finite.quotient.
Torsion-freeness does not pass to an arbitrary quotient, so a consumer that
needs the quotient to be free supplies [Module.IsTorsionFree ℤ (NumericalQuotient V)]
and obtains Module.Free ℤ (NumericalQuotient V) from Mathlib's instance
Module.free_of_finite_type_torsion_free'; a finite free ℤ-module is the
lattice, and no repository class stands in for that pair of hypotheses.
A K3 Euler pairing satisfies the symmetry hypothesis used by the numerical quotient.
On a K3, the two Euler radicals agree.
On representatives, the numerical quotient pairing is minus the Mukai pairing.
Thus quotienting and descending preserve exactly the sign convention fixed by
chi₂_eq_neg_mukaiPairing.