Unimodular elements of a module #
An element m of an R-module M is unimodular when some linear functional takes the value
1 at m. This is mathlib's Module.IsUnimodular R m, which the library uses throughout.
GPR 9.13 defines unimodularity differently, by asking that R·m be free of rank 1 and a direct
summand of M, and observes there that the two agree. This file proves that agreement and supplies
the API the rest of the library needs beyond what mathlib provides.
This is not a norm-theoretic notion — no quadratic form is in sight here — but it is the piece
QuadraticForm/Isotropic.lean needs to state GPR-sense isotropy correctly (GPR 11.17): a
unimodular null vector, not merely a nonzero one. See overview §6(c).
Main definitions #
LinearMap.equivProdKerOfApplyEqOne: the splittingM ≃ R × ker ldetermined by a functionallwithl m = 1.
Main results #
Module.isUnimodular_iff_injective_toSpanSingleton_and_isComplemented_span: the equivalence noted inGPR 9.13—mis unimodular iffR·mis free of rank 1 (toSpanSingletoninjective) and a direct summand ofM(Submodule.span R {m}is complemented), which is the definition there.Module.IsUnimodular.map: unimodularity transports along a linear equivalence.Module.IsUnimodular.units_smul: unimodularity is unaffected by scaling by a unit.Module.isUnimodular_of_ne_zero: over a field, unimodular is exactly nonzero — every nonzero vector in a vector space is hit by a functional. This is what collapses GPR-sense isotropy onto mathlib'sAnisotropicover a field; seeQuadraticForm/Isotropic.lean.Module.IsUnimodular.exists_linearEquiv_prod: a unimodular element splitsMasR × M'.Module.Finite.of_linearEquiv_prod,Module.Projective.of_linearEquiv_prod: the complementM'of such a splitting is finitely generated, resp. projective, whenMis.
Implementation notes #
GPR also states unimodularity geometrically: m is unimodular iff m ⊗ 1_{κ(𝔭)} ≠ 0 for every
𝔭 ∈ Spec R (i.e. m survives in every residue field). ⚠ That criterion needs M finitely
generated projective (GPR 9.17): in the ℤ-module ℤ ⊕ ℤ/2 the element (2, 1) survives in
every residue field, but no linear functional takes it to 1. Only the two algebraic formulations
above are formalized here; the geometric one is not. Note that residue fields cannot detect
whether an element is nonzero — ε in the free rank-one module over 𝔽₂[ε]/(ε²) dies in every
residue field — so the geometric criterion genuinely uses unimodularity, not mere non-vanishing.
We use mathlib's general lattice notion IsComplemented (Mathlib.Order.Disjoint) for "direct
summand" in the GPR 9.13 characterization rather than inventing a submodule-specific one, per
overview §0.
References #
- [GPR] Garibaldi, Petersson, Racine, Albert Algebras over Commutative Rings, 9.13, 9.17, 11.24.
GPR 9.13: m is unimodular — hit by a functional — exactly when the cyclic submodule
R·m is free of rank 1 (equivalently, r • m = 0 → r = 0) and a direct summand of M, which is
how GPR 9.13 defines unimodularity.
Unimodularity transports along a linear equivalence: m unimodular in M and e : M ≃ₗ N
give e m unimodular in N.
Unimodularity is unaffected by scaling by a unit: if m is unimodular then so is u • m for
u : Rˣ, since R·(u • m) = R·m.
Over a field, unimodular is exactly nonzero: every nonzero vector of a vector space is hit by a functional.
Splitting off a unimodular element #
A unimodular element does not merely span a complemented line — it splits M as R ⊕ M' with the
free factor identified, which is what an induction on the rank needs.
The splitting determined by a functional l with l m = 1: M ≃ R × ker l, by
x ↦ (l x, x - l x • m) with inverse (r, y) ↦ r • m + y.
Since such an l is exactly a witness for Module.IsUnimodular R m, this says a unimodular element
splits off a free rank-one direct summand. The complement is presented concretely as ker l
rather than as an abstract summand so that it stays a Submodule R M, hence lives in the same
universe as M — which is what makes the induction on the rank in
Module.free_of_rankAtStalk_eq (LGRing/ConstantRank.lean) go through.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A unimodular element splits M as R ⊕ M' for a submodule M' of M.
A module that splits off a free rank-one summand from a finitely generated module is itself finitely generated.
A module that splits off a free rank-one summand from a projective module is itself projective.