Milnor K-groups and symbols
DefinitionMilnorConjecture_MilnorKFor a field and , the Milnor K-group is the quotient of the -fold tensor power over (with written additively) by the subgroup generated by all pure tensors of units in which some adjacent pair satisfies :
The class of is the symbol . This is the degree- part of , where is the two-sided ideal generated by the with ; in particular and .
Formalization Note MilnorK F n is defined degree by degree as a quotient of ⨂[ℤ]^n (Additive Fˣ), with no ring structure; symbol a takes a : Fin n → Fˣ. The field lives in Type.
import Mathlib
/-!
# Milnor K-theory, one degree at a time
For a field `F`, the Milnor K-group `K^M_n(F)` is the degree-`n` part of `T(F^×)/I`, where
`T(F^×)` is the tensor algebra over `ℤ` of the abelian group `F^×` and `I` is the two-sided ideal
generated by the `a ⊗ b` with `a + b = 1`. Its degree-`n` part is the quotient of the `n`-th
tensor power `(F^×)^{⊗n}` by the subgroup generated by pure tensors `a₁ ⊗ ⋯ ⊗ aₙ` in which some
adjacent pair satisfies `aᵢ + aᵢ₊₁ = 1`.
-/
open scoped TensorProduct
namespace MilnorConjecture
variable (F : Type) [Field F]
/-- The Steinberg relations in degree `n`: the subgroup of `(F^×)^{⊗n}` generated by the pure
tensors `a₁ ⊗ ⋯ ⊗ aₙ` with `aᵢ + aᵢ₊₁ = 1` for some `i`. -/
def steinberg (n : ℕ) : Submodule ℤ (⨂[ℤ]^n (Additive Fˣ)) :=
Submodule.span ℤ {x | ∃ (a : Fin n → Fˣ) (i j : Fin n), (i : ℕ) + 1 = j ∧
(a i : F) + (a j : F) = 1 ∧ x = PiTensorProduct.tprod ℤ (fun l ↦ Additive.ofMul (a l))}
/-- The Milnor K-group `K^M_n(F) = (F^×)^{⊗n} / (Steinberg relations)`. -/
abbrev MilnorK (n : ℕ) : Type := (⨂[ℤ]^n (Additive Fˣ)) ⧸ steinberg F n
variable {F} in
/-- The symbol `{a₁, …, aₙ} ∈ K^M_n(F)`, the class of `a₁ ⊗ ⋯ ⊗ aₙ`. -/
noncomputable def symbol {n : ℕ} (a : Fin n → Fˣ) : MilnorK F n :=
(steinberg F n).mkQ (PiTensorProduct.tprod ℤ (fun l ↦ Additive.ofMul (a l)))
end MilnorConjecture
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Ambient data (variable binders). Throughout, is a field whose underlying type lives in the lowest universe (Type, i.e. a "small" type). Write for its group of units (the nonzero elements under multiplication), and for the same group written additively: the element of corresponding to is denoted , and , , for . is regarded as a -module via this abelian-group structure. For , denotes the -fold tensor power of over , formally the tensor product over of the family indexed by . For a tuple , write for the corresponding pure tensor. No other hypotheses on (characteristic, finiteness, etc.) are imposed.
steinberg F n (definition). For each , this is the -submodule (subgroup) generated by the set
That is, the generators are exactly the pure tensors of units in which some two consecutive entries (adjacent positions, in that order) sum to in (the sum is taken in the field , not in the group ). Pairs of non-adjacent positions are not included directly among the generators. Since the are units, such a pair requires , , i.e. . The index condition "" is read on natural numbers with both , so no wrap-around from position to position occurs. Degenerate cases: for and there is no pair of positions both , so and . For the set is nonempty exactly when some has (i.e. ); for , (though then and for anyway).
MilnorK F n (abbreviation). For each , this is the quotient -module (abelian group)
with its induced abelian-group / -module structure. It is a plain family of abelian groups indexed by ; no multiplication or graded-ring structure between different is defined in this file. Degenerate cases: since , is the empty tensor power , which (by Mathlib's conventions) is canonically , and , which is canonically (written additively), with no relations imposed in either case.
symbol (definition). Implicit arguments: the field (as above) and ; explicit argument: a tuple . The value is
where is the canonical quotient map (-linear, surjective). It is marked noncomputable, which has no mathematical content. For the only tuple is the empty one and is the image of the empty pure tensor (corresponding to ). By construction and multilinearity of the pure tensor, whenever for some with , and in each slot; the file itself states no lemmas about symbol.
Lemmas. The file contains no theorems or lemmas; it consists only of the two variable declarations for , the definitions steinberg and symbol, and the abbreviation MilnorK, all inside the namespace MilnorConjecture. The only notation opened is the tensor-product notation.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.