Documentation

LeanPool.CCDN.ForMathlib.FieldTheory

Counting monic divisors and intermediate fields; Hilbert 90 for an involution #

Monic divisors of a nonzero polynomial are determined by their multisets of roots in an algebraic closure, so there are at most 2 ^ natDegree of them. Through a primitive element, the intermediate fields of a finite separable extension inject into the monic divisors of a minimal polynomial.

Main results #

A nonzero polynomial over a field has at most 2 ^ natDegree monic divisors.

The number of intermediate fields depends only on the extension degree, without a chosen normal closure or Galois-group estimate.

theorem RingEquiv.hilbert90_of_involutive {K : Type u_1} [Field K] (σ : K ≃+* K) (hσ : Function.Involutive ⇑σ) (hσne : σ ≠ refl K) {a : K} (ha : a * σ a = 1) :
∃ (b : K), b ≠ 0 ∧ a * σ b = b

A norm-one scalar for a nontrivial involution is a multiplicative coboundary. The explicit construction also works in characteristic two.

theorem RingEquiv.hilbert90_units_of_involutive {K : Type u_1} [Field K] (σ : K ≃+* K) (hσ : Function.Involutive ⇑σ) (hσne : σ ≠ refl K) (a : Kˣ) (ha : ↑a * σ ↑a = 1) :
∃ (b : Kˣ), a * (Units.map σ.toMonoidHom) b = b

Hilbert 90 for a nontrivial involution, in the unit group: a unit a with a σ(a) = 1 has the form b / σ(b) for some unit b.

theorem RingEquiv.exists_invariant_of_involutive {K : Type u_1} [Field K] {A : Type u_2} [CommGroup A] (σ : K ≃+* K) (hσ : Function.Involutive ⇑σ) (hσne : σ ≠ refl K) (τ : A →* A) (P : Kˣ →* A) (hcompat : ∀ (b : Kˣ), τ (P b) = P ((Units.map σ.toMonoidHom) b)) (I : A) (a : Kˣ) (hI : τ I = P a * I) (ha : ↑a * σ ↑a = 1) :
∃ (b : Kˣ), τ (P b * I) = P b * I

If the scalar comparison of an element with its conjugate has norm one, multiplication by a principal element produces an invariant representative. Here the principal map is a homomorphism.