Skip to content

Commit 9ebdafa

Browse files
committed
update SpectralNormUnique
1 parent f6d8230 commit 9ebdafa

1 file changed

Lines changed: 22 additions & 33 deletions

File tree

LocalClassFieldTheory/FromMathlib/SpectralNormUnique.lean

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,15 @@ section Prelim
4949
def RingNorm.to_normedRing {A : Type*} [Ring A] (f : RingNorm A) : NormedRing A where
5050
norm x := f x
5151
dist x y := f (x - y)
52-
dist_self x := by simp only [sub_self, _root_.map_zero]
52+
dist_self x := by simp [sub_self, _root_.map_zero]
5353
dist_comm x y := by
5454
rw [← neg_sub x y, map_neg_eq_map]
5555
dist_triangle x y z := by
5656
have hxyz : x - z = x - y + (y - z) := by abel
5757
simp only [hxyz, map_add_le_add]
5858
dist_eq x y := rfl
59-
norm_mul_le x y := by
60-
simp only [map_mul_le_mul]
61-
edist_dist x y := by
62-
simp only
63-
rw [eq_comm, ENNReal.ofReal_eq_coe_nnreal]
59+
norm_mul_le x y := by simp [map_mul_le_mul]
60+
edist_dist x y := by rw [eq_comm, ENNReal.ofReal_eq_coe_nnreal]
6461
eq_of_dist_eq_zero hxy := by
6562
exact eq_of_sub_eq_zero (RingNorm.eq_zero_of_map_eq_zero' _ _ hxy)
6663

@@ -101,8 +98,7 @@ theorem spectralNorm_unique [CompleteSpace K] {f : AlgebraNorm K L} (hf_pm : IsP
10198
add_le' := fun a b => by
10299
simp only [← spectralAlgNorm_def]
103100
exact map_add_le_add _ _ _
104-
neg' := fun a => by
105-
simp only [map_neg, NegMemClass.coe_neg, ← spectralAlgNorm_def, map_neg_eq_map]
101+
neg' := fun a => by simp [map_neg, NegMemClass.coe_neg, ← spectralAlgNorm_def, map_neg_eq_map]
106102
mul_le' := fun a b => by
107103
simp only [← spectralAlgNorm_def]
108104
exact map_mul_le_mul _ _ _
@@ -111,37 +107,32 @@ theorem spectralNorm_unique [CompleteSpace K] {f : AlgebraNorm K L} (hf_pm : IsP
111107
map_eq_zero_iff_eq_zero, ZeroMemClass.coe_eq_zero] using ha }
112108
letI n1 : NormedRing E := RingNorm.toNormedRing hs_norm
113109
letI N1 : NormedSpace K E :=
114-
{ one_smul := fun e => by simp only [one_smul]
115-
mul_smul := fun k1 k2 e => by simp only [mul_smul]
116-
smul_zero := fun e => by simp only [smul_eq_zero, or_true]
117-
smul_add := fun k e_1 e_2 => by simp only [smul_add]
118-
add_smul := fun k_1 k_2 e => by simp only [add_smul]
119-
zero_smul := fun e => by simp only [id_eq, zero_smul]
110+
{ one_smul := fun e => by simp [one_smul]
111+
mul_smul := fun k1 k2 e => by simp [mul_smul]
112+
smul_zero := fun e => by simp
113+
smul_add := fun k e_1 e_2 => by simp [smul_add]
114+
add_smul := fun k_1 k_2 e => by simp [add_smul]
115+
zero_smul := fun e => by simp [zero_smul]
120116
norm_smul_le := fun k y => by
121117
change (spectralAlgNorm K L (id2 (k • y) : L) : ℝ) ≤
122118
‖k‖ * spectralAlgNorm K L (id2 y : L)
123-
simp only [id_eq, eq_mpr_eq_cast, cast_eq, map_smul, LinearMap.coe_mk]
124-
rw [IntermediateField.coe_smul, map_smul_eq_mul] }
119+
rw [map_smul, IntermediateField.coe_smul, map_smul_eq_mul] }
125120
set hf_norm : RingNorm K⟮x⟯ :=
126121
{ toFun := fun y => f ((algebraMap K⟮x⟯ L) y)
127122
map_zero' := map_zero _
128123
add_le' := fun a b => map_add_le_add _ _ _
129-
neg' := fun y => by
130-
simp [(algebraMap K⟮x⟯ L).map_neg y, map_neg_eq_map (f := f) ((algebraMap K⟮x⟯ L) y)]
124+
neg' := fun y => by simp [(algebraMap K⟮x⟯ L).map_neg y]
131125
mul_le' := fun a b => map_mul_le_mul _ _ _
132126
eq_zero_of_map_eq_zero' := fun a ha => by
133127
simpa [map_eq_zero_iff_eq_zero, map_eq_zero] using ha }
134128
letI n2 : NormedRing K⟮x⟯ := RingNorm.toNormedRing hf_norm
135129
letI N2 : NormedSpace K K⟮x⟯ :=
136-
{ one_smul := fun e => by simp only [one_smul]
137-
mul_smul := fun k1 k2 e => by
138-
simp only [id_eq, eq_mpr_eq_cast, cast_eq, mul_smul]
139-
smul_zero := fun e => by simp only [id_eq, smul_eq_zero, or_true]
140-
smul_add := fun k e_1 e_2 => by
141-
simp only [id_eq, eq_mpr_eq_cast, cast_eq, LinearMap.coe_mk, smul_add]
142-
add_smul := fun k_1 k_2 e => by
143-
simp only [id_eq, eq_mpr_eq_cast, cast_eq, LinearMap.coe_mk, add_smul]
144-
zero_smul := fun e => by simp only [id_eq, zero_smul]
130+
{ one_smul := fun e => by simp [one_smul]
131+
mul_smul := fun k1 k2 e => by simp [mul_smul]
132+
smul_zero := fun e => by simp
133+
smul_add := fun k e_1 e_2 => by simp [smul_add]
134+
add_smul := fun k_1 k_2 e => by simp [add_smul]
135+
zero_smul := fun e => by simp [zero_smul]
145136
norm_smul_le := fun k y => by
146137
change (f ((algebraMap K⟮x⟯ L) (k • y)) : ℝ) ≤ ‖k‖ * f (algebraMap K⟮x⟯ L y)
147138
have : (algebraMap (↥K⟮x⟯) L) (k • y) = k • algebraMap (↥K⟮x⟯) L y := by
@@ -175,7 +166,7 @@ theorem spectralNorm_unique_field_norm_ext [CompleteSpace K]
175166
rw [← hf_ext k]
176167
rfl
177168
mul_le' := fun x y => by
178-
simp [AddGroupSeminorm.toFun_eq_coe, MulRingSeminorm.toFun_eq_coe, map_mul_le_mul] }
169+
simp [AddGroupSeminorm.toFun_eq_coe, MulRingSeminorm.toFun_eq_coe] }
179170
have hg_pow : IsPowMul g := MulRingNorm.isPowMul _
180171
have hgx : f x = g x := rfl
181172
rw [hgx, spectralNorm_unique hg_pow, spectralAlgNorm_def]
@@ -209,14 +200,14 @@ theorem algNormFromConst_def (h1 : (spectralAlgNorm K L).toRingSeminorm 1 ≤ 1)
209200
theorem spectralAlgNorm_mul [CompleteSpace K] (x y : L) :
210201
spectralAlgNorm K L (x * y) = spectralAlgNorm K L x * spectralAlgNorm K L y := by
211202
by_cases hx : x = 0
212-
· simp only [hx, zero_mul, map_zero]
203+
· simp [hx, zero_mul, map_zero]
213204
· have hx' : spectralAlgNorm K L x ≠ 0 :=
214205
ne_of_gt (spectralNorm_zero_lt hx (Algebra.IsAlgebraic.isAlgebraic x))
215206
have hf1 : (spectralAlgNorm K L) 11 := le_of_eq spectralAlgNorm_one
216207
set f : AlgebraNorm K L := algNormFromConst hf1 hx with hf
217208
have hf_pow : IsPowMul f := seminormFromConst_isPowMul hf1 hx' isPowMul_spectralNorm
218209
rw [← spectralNorm_unique hf_pow, hf]
219-
simp only [algNormFromConst_def]
210+
simp [algNormFromConst_def]
220211
exact seminormFromConst_const_mul hf1 hx' isPowMul_spectralNorm _
221212

222213
variable (K L) in
@@ -248,9 +239,7 @@ def normedField [CompleteSpace K] : NormedField L :=
248239
exact (map_eq_zero_iff_eq_zero (spectralMulAlgNorm K L)).mp hxy
249240
dist_eq := fun x y => by rfl
250241
norm_mul := fun x y => by simp [← spectralMulAlgNorm_def, map_mul]
251-
edist_dist := fun x y => by
252-
simp only [AddGroupSeminorm.toFun_eq_coe, RingSeminorm.toFun_eq_coe]
253-
rw [ENNReal.ofReal_eq_coe_nnreal] }
242+
edist_dist := fun x y => by rw [ENNReal.ofReal_eq_coe_nnreal] }
254243

255244
/-- `L` with the spectral norm is a `normed_add_comm_group`. -/
256245
def normedAddCommGroup [CompleteSpace K] : NormedAddCommGroup L := by

0 commit comments

Comments
 (0)