Layer 2c of the Hasse–Minkowski development: the Hasse–Minkowski invariant #
Over a field k whose Hilbert symbol is the one attached to a number field, every nondegenerate
quadratic form is isometric to a diagonal form w₀ X₀² + ⋯ + w_{n-1} X_{n-1}² with nonzero
structure constants. The Hasse–Minkowski invariant of such a diagonal form is the product of
all the pairwise Hilbert symbols
ε(w) = ∏_{i < j} (wᵢ, wⱼ)_k.
This file defines hasseMinkowskiInvAux on the diagonal data and proves the elementary
evaluations of the invariant. These are exactly the statements of Serre's Cours
d'arithmétique, Ch. IV, together with the small-rank computations used in the classification.
Main definitions #
hasseMinkowskiInvAux w: the invariant of the diagonal form with weightsw : Fin n → kˣ.
Main results #
hasseMinkowskiInvAux_zero,hasseMinkowskiInvAux_one,hasseMinkowskiInvAux_two,hasseMinkowskiInvAux_three: the invariant in ranks0through3.hasseMinkowskiInvAux_cons: prepending a rank-one weight multiplies the invariant by the product of the Hilbert symbols of the new weight against the old ones.hasseMinkowskiInvAux_prod_rank_one: with a bilinear Hilbert symbol, the same product collapses to a single Hilbert symbol with the product (discriminant) of the old weights.hasseMinkowskiInvAux_eq_one_or_neg_one: the invariant is1or-1.
Omitted #
The well-definedness of the invariant, i.e. the statement that equivalent diagonal forms have the
same invariant (hasseMinkowskiInvAux.eq_of_equivalent in the reference development), is not
stated here: it depends on the theory of Hilbert symbols over local fields that is not yet
available in this project. A form-level invariant hasseMinkowskiInv is therefore kept as a
private definition that no theorem or consumer exposes. As a consequence the computational
lemmas at the level of hasseMinkowskiInv (which all pass through well-definedness) are also
omitted. In particular the reference development's hasseMinkowskiInv.weightedSumSquares,
…_two, …_three, hasseMinkowskiInv.prod_rank_one and
hasseMinkowskiInv.of_baseChange_weightedSumSquares are not reproduced: without
eq_of_equivalent there is no way to identify the diagonalization chosen by Classical.choose
with any concrete list of weights. The diagonal-level statements (hasseMinkowskiInvAux_*)
proved here are exactly the part of the development that does not need that machinery.
The invariant of a diagonal form #
The Hasse–Minkowski invariant of the diagonal form with nonzero weights w : Fin n → kˣ,
namely the product ∏_{i < j} (wᵢ, wⱼ)_k of the Hilbert symbols of all pairs of weights.
Equations
- HasseMinkowski.hasseMinkowskiInvAux w = ∏ p : Fin n × Fin n with p.1 < p.2, HasseMinkowski.hilbertSym ↑(w p.1) ↑(w p.2)