@@ -9,7 +9,7 @@ import Mathlib.RingTheory.Trace.Basic
99
1010# Normalized trace
1111
12- This file defines *normalized trace* map, that is, an `F`-linear map from the algebraic closure
12+ This file defines the *normalized trace* map; that is, an `F`-linear map from the algebraic closure
1313of `F` to `F` defined as the trace of an element from its adjoin extension divided by its degree.
1414
1515To avoid heavy imports, we define it here as a map from an arbitrary algebraic (equivalently
@@ -25,7 +25,7 @@ integral) extension of `F`.
2525- `normalizedTrace_intermediateField`: for a tower `K / E / F` of algebraic extensions,
2626 `normalizedTrace F E` agrees with `normalizedTrace F K` on `E`.
2727- `normalizedTrace_trans`: for a tower `K / E / F` of algebraic extensions, the normalized trace
28- from `K to `E` composed with the normalized trace from `E` to `F` equals the normalized trace
28+ from `K` to `E` composed with the normalized trace from `E` to `F` equals the normalized trace
2929 from `K` to `F`.
3030- `normalizedTrace_self`: `normalizedTrace F F` is the identity map.
3131
@@ -60,7 +60,7 @@ private theorem normalizedTraceAux_intermediateField {E : IntermediateField F K}
6060variable [CharZero F]
6161
6262variable {K} in
63- private theorem normalizedTraceAux_eq_of_fininteDimensional [FiniteDimensional F K] (a : K) :
63+ private theorem normalizedTraceAux_eq_of_finiteDimensional [FiniteDimensional F K] (a : K) :
6464 normalizedTraceAux F K a = (Module.finrank F K : F)⁻¹ • trace F K a := by
6565 have h := (Nat.cast_ne_zero (R := F)).mpr <|
6666 Nat.pos_iff_ne_zero.mp <| Module.finrank_pos (R := F⟮a⟯) (M := K)
@@ -86,9 +86,9 @@ noncomputable def normalizedTrace : K →ₗ[F] F where
8686 rw [normalizedTraceAux_intermediateField F K a',
8787 normalizedTraceAux_intermediateField F K b',
8888 normalizedTraceAux_intermediateField F K ab',
89- normalizedTraceAux_eq_of_fininteDimensional F a',
90- normalizedTraceAux_eq_of_fininteDimensional F b',
91- normalizedTraceAux_eq_of_fininteDimensional F ab',
89+ normalizedTraceAux_eq_of_finiteDimensional F a',
90+ normalizedTraceAux_eq_of_finiteDimensional F b',
91+ normalizedTraceAux_eq_of_finiteDimensional F ab',
9292 ← smul_add, ← map_add, AddMemClass.mk_add_mk]
9393 map_smul' m a := by
9494 dsimp only [AddHom.toFun_eq_coe, AddHom.coe_mk, RingHom.id_apply]
@@ -100,8 +100,8 @@ noncomputable def normalizedTrace : K →ₗ[F] F where
100100 let ma' : E := ⟨m • a, hma⟩
101101 rw [normalizedTraceAux_intermediateField F K a',
102102 normalizedTraceAux_intermediateField F K ma',
103- normalizedTraceAux_eq_of_fininteDimensional F a',
104- normalizedTraceAux_eq_of_fininteDimensional F ma',
103+ normalizedTraceAux_eq_of_finiteDimensional F a',
104+ normalizedTraceAux_eq_of_finiteDimensional F ma',
105105 smul_comm, ← map_smul _ m, SetLike.mk_smul_mk]
106106
107107theorem normalizedTrace_def (a : K) : normalizedTrace F K a =
@@ -119,21 +119,29 @@ theorem normalizedTrace_minpoly (a : K) :
119119variable {F} in
120120theorem normalizedTrace_self_apply (a : F) : normalizedTrace F F a = a := by
121121 dsimp [normalizedTrace]
122- rw [normalizedTraceAux_eq_of_fininteDimensional F a, Module.finrank_self F,
122+ rw [normalizedTraceAux_eq_of_finiteDimensional F a, Module.finrank_self F,
123123 Nat.cast_one, inv_one, one_smul, trace_self_apply]
124124
125125@[simp]
126126theorem normalizedTrace_self : normalizedTrace F F = LinearMap.id :=
127127 LinearMap.ext normalizedTrace_self_apply
128128
129129variable {K} in
130- theorem normalizedTrace_eq_of_fininteDimensional_apply [FiniteDimensional F K] (a : K) :
130+ theorem normalizedTrace_eq_of_finiteDimensional_apply [FiniteDimensional F K] (a : K) :
131131 normalizedTrace F K a = (Module.finrank F K : F)⁻¹ • trace F K a :=
132- normalizedTraceAux_eq_of_fininteDimensional F a
132+ normalizedTraceAux_eq_of_finiteDimensional F a
133133
134- theorem normalizedTrace_eq_of_fininteDimensional [FiniteDimensional F K] :
134+ @ [deprecated (since := "2025-10-22" )]
135+ alias normalizedTrace_eq_of_fininteDimensional_apply :=
136+ normalizedTrace_eq_of_finiteDimensional_apply
137+
138+ theorem normalizedTrace_eq_of_finiteDimensional [FiniteDimensional F K] :
135139 normalizedTrace F K = (Module.finrank F K : F)⁻¹ • trace F K :=
136- LinearMap.ext <| normalizedTrace_eq_of_fininteDimensional_apply F
140+ LinearMap.ext <| normalizedTrace_eq_of_finiteDimensional_apply F
141+
142+ @ [deprecated (since := "2025-10-22" )]
143+ alias normalizedTrace_eq_of_fininteDimensional :=
144+ normalizedTrace_eq_of_finiteDimensional
137145
138146/-- The normalized trace transfers via (injective) maps. -/
139147@[simp]
@@ -181,7 +189,7 @@ private theorem normalizedTrace_trans_apply_aux [FiniteDimensional F E] [Algebra
181189 have : FiniteDimensional E E⟮a⟯ :=
182190 IntermediateField.adjoin.finiteDimensional (IsIntegral.isIntegral a)
183191 rw [normalizedTrace_def E K, inv_natCast_smul_eq (R := E) (S := F), map_smul,
184- normalizedTrace_eq_of_fininteDimensional F E, LinearMap.smul_apply, ← smul_assoc,
192+ normalizedTrace_eq_of_finiteDimensional F E, LinearMap.smul_apply, ← smul_assoc,
185193 smul_eq_mul (a := _⁻¹), ← mul_inv, trace_trace, mul_comm,
186194 ← Nat.cast_mul, Module.finrank_mul_finrank, eq_comm]
187195 let E' := E⟮a⟯.restrictScalars F
@@ -190,7 +198,7 @@ private theorem normalizedTrace_trans_apply_aux [FiniteDimensional F E] [Algebra
190198 have h_trace_eq : trace F E⟮a⟯ (AdjoinSimple.gen E a) = trace F E' (AdjoinSimple.gen E a : E') :=
191199 rfl
192200 let a' : E' := AdjoinSimple.gen E a
193- rw [h_finrank_eq, h_trace_eq, ← normalizedTrace_eq_of_fininteDimensional_apply F,
201+ rw [h_finrank_eq, h_trace_eq, ← normalizedTrace_eq_of_finiteDimensional_apply F,
194202 ← normalizedTrace_intermediateField F K a']
195203 congr
196204
0 commit comments