English
If K ⊆ L ⊆ F with finite dimensional L over K and IsSeparable K L, then the trace of x equals the sum of all K-embeddings σ sending L to F, applied to x.
Русский
Если K ⊆ L ⊆ F, конечнодименсионально L/K и сепарабельно, то след x равен сумме всех вложений σ из L в F применительно к x.
LaTeX
$$$\\operatorname{algebraMap}_{K,E}(\\operatorname{trace}_{K,L}(x)) = \\sum_{σ : L \\to_{K} E} σ(x)$$$
Lean4
theorem trace_eq_zero_of_not_isSeparable (H : ¬Algebra.IsSeparable K L) : trace K L = 0 :=
by
obtain ⟨p, hp⟩ := ExpChar.exists K
have := expChar_ne_zero K p
ext x
by_cases h₀ : FiniteDimensional K L; swap
· rw [trace_eq_zero_of_not_exists_basis]
rintro ⟨s, ⟨b⟩⟩
exact h₀ (Module.Finite.of_basis b)
by_cases hx : IsSeparable K x
· lift x to separableClosure K L using hx
rw [← IntermediateField.algebraMap_apply, ← trace_trace (S := separableClosure K L), trace_algebraMap]
obtain ⟨n, hn⟩ := IsPurelyInseparable.finrank_eq_pow (separableClosure K L) L p
cases n with
| zero =>
rw [pow_zero, IntermediateField.finrank_eq_one_iff_eq_top, separableClosure.eq_top_iff] at hn
cases H hn
| succ n =>
cases hp with
| zero =>
rw [one_pow, IntermediateField.finrank_eq_one_iff_eq_top, separableClosure.eq_top_iff] at hn
cases H hn
| prime hprime =>
rw [hn, pow_succ', MulAction.mul_smul, LinearMap.map_smul_of_tower, nsmul_eq_mul, CharP.cast_eq_zero, zero_mul,
LinearMap.zero_apply]
· rw [trace_eq_finrank_mul_minpoly_nextCoeff]
obtain ⟨g, hg₁, m, hg₂⟩ := (minpoly.irreducible (IsIntegral.isIntegral (R := K) x)).hasSeparableContraction p
cases m with
| zero =>
obtain rfl : g = minpoly K x := by simpa using hg₂
cases hx hg₁
| succ
n =>
rw [nextCoeff, if_neg, ← hg₂, coeff_expand (by positivity), if_neg, neg_zero, mul_zero, LinearMap.zero_apply]
· rw [natDegree_expand]
intro h
have := Nat.dvd_sub (dvd_mul_left (p ^ (n + 1)) g.natDegree) h
rw [tsub_tsub_cancel_of_le, Nat.dvd_one] at this
· obtain rfl : g = minpoly K x := by simpa [this] using hg₂
cases hx hg₁
· rw [Nat.one_le_iff_ne_zero]
have : g.natDegree ≠ 0 := fun e ↦ by
have := congr(natDegree $hg₂)
rw [natDegree_expand, e, zero_mul] at this
exact (minpoly.natDegree_pos (IsIntegral.isIntegral x)).ne this
positivity
· exact (minpoly.natDegree_pos (IsIntegral.isIntegral x)).ne'