Layer 0 of the Hasse–Minkowski development #
Mathlib 4.33 has the abstract theory of quadratic maps: QuadraticMap.Anisotropic,
QuadraticMap.Nondegenerate, weightedSumSquares, the orthogonal sum QuadraticMap.prod
and base change QuadraticForm.baseChange. The theory of quadratic forms over number
fields needs the dual notions: isotropy, representation of a value, and the interaction of
nondegeneracy with orthogonal sums and base change. This file supplies them.
Main definitions #
Isotropic Q:Qvanishes on a nonzero vector.IsotropicFn f: the same for a bare functionf, used for translates of a form.represents Q a:Qtakes the valueaon a nonzero vector.Indefinite Q(overℝ):Qtakes both a negative and a positive value.
Main results #
isotropic_iff_not_anisotropic,not_isotropic_iff_anisotropic.represents_zero_iff_isotropic,represents_iff_sub_isotropic.isotropic_iff_zero_of_rank_one: in dimension one isotropy is being zero.nondegenerate_weightedSumSquares,nondegenerate_prod,nondegenerate_of_anisotropic.IsometryEquiv.baseChange,Equivalent.baseChange.Indefinite.isotropic: an indefinite real form is isotropic (intermediate value theorem).
Isotropic quadratic maps #
A quadratic map is isotropic if it vanishes on some nonzero vector.
Equations
- HasseMinkowski.Isotropic Q = ∃ (x : M), x ≠ 0 ∧ Q x = 0
Instances For
Representing values #
A quadratic form represents a if it takes the value a on a nonzero vector.
For a ≠ 0 the restriction to nonzero vectors is immaterial, since Q 0 = 0; for a = 0
it makes the notion agree with isotropy, as in the classical theory.
Equations
- HasseMinkowski.represents Q a = ∃ (x : M), x ≠ 0 ∧ Q x = a
Instances For
Rank-one forms #
Nondegeneracy #
Rank-zero forms #
Indefinite real forms #
A real quadratic form is indefinite if it takes both a negative and a positive value.
Equations
- HasseMinkowski.Indefinite Q = ((∃ (x : M), Q x < 0) ∧ ∃ (x : M), 0 < Q x)
Instances For
Base change of isometries #
These belong to the QuadraticMap namespace so that e.baseChange works by dot notation
for an isometry equivalence e, in the same way as the rest of Mathlib's quadratic-form API.
Base change sends an isometry equivalence of quadratic forms to one.
Equations
- e.baseChange = { toLinearEquiv := LinearEquiv.baseChange R A M₁ M₂ e.toLinearEquiv, map_app' := ⋯ }
Instances For
Dot-notation aliases #
The generic API above lives in HasseMinkowski; these aliases let Q.Isotropic and
Q.represents a be used directly for a quadratic map Q, matching Mathlib's convention
for Q.Anisotropic and QuadraticMap.prod.
Dot-notation alias for HasseMinkowski.Isotropic: the quadratic map vanishes on some
nonzero vector.
Equations
Instances For
Dot-notation alias for HasseMinkowski.represents: the quadratic form takes the value a
on some nonzero vector.