@@ -95,12 +95,6 @@ open scoped Polynomial.Bivariate
9595local macro "C_simp" : tactic =>
9696 `(tactic| simp only [map_ofNat, C_0, C_1, C_neg, C_add, C_sub, C_mul, C_pow])
9797
98- local macro "map_simp" : tactic =>
99- `(tactic| simp only [map_ofNat, map_neg, map_add, map_sub, map_mul, map_pow, map_div₀,
100- Polynomial.map_ofNat, Polynomial.map_one, map_C, map_X, Polynomial.map_neg, Polynomial.map_add,
101- Polynomial.map_sub, Polynomial.map_mul, Polynomial.map_pow, Polynomial.map_div, coe_mapRingHom,
102- apply_ite <| mapRingHom _, WeierstrassCurve.map])
103-
10498universe r s u v
10599
106100namespace WeierstrassCurve
@@ -125,10 +119,10 @@ lemma C_Ψ₂Sq : C W.Ψ₂Sq = W.ψ₂ ^ 2 - 4 * W.toAffine.polynomial := by
125119 ring1
126120
127121lemma ψ₂_sq : W.ψ₂ ^ 2 = C W.Ψ₂Sq + 4 * W.toAffine.polynomial := by
128- rw [C_Ψ₂Sq, sub_add_cancel ]
122+ simp [C_Ψ₂Sq]
129123
130124lemma Affine.CoordinateRing.mk_ψ₂_sq : mk W W.ψ₂ ^ 2 = mk W (C W.Ψ₂Sq) := by
131- rw [C_Ψ₂Sq, map_sub, map_mul, AdjoinRoot.mk_self, mul_zero, sub_zero, map_pow ]
125+ simp [C_Ψ₂Sq]
132126
133127-- TODO: remove `twoTorsionPolynomial` in favour of `Ψ₂Sq`
134128lemma Ψ₂Sq_eq : W.Ψ₂Sq = W.twoTorsionPolynomial.toPoly :=
@@ -220,16 +214,6 @@ lemma preΨ_three : W.preΨ 3 = W.Ψ₃ :=
220214lemma preΨ_four : W.preΨ 4 = W.preΨ₄ :=
221215 preNormEDS_four ..
222216
223- lemma preΨ_even_ofNat (m : ℕ) : W.preΨ (2 * (m + 3 )) =
224- W.preΨ (m + 2 ) ^ 2 * W.preΨ (m + 3 ) * W.preΨ (m + 5 ) -
225- W.preΨ (m + 1 ) * W.preΨ (m + 3 ) * W.preΨ (m + 4 ) ^ 2 :=
226- preNormEDS_even_ofNat ..
227-
228- lemma preΨ_odd_ofNat (m : ℕ) : W.preΨ (2 * (m + 2 ) + 1 ) =
229- W.preΨ (m + 4 ) * W.preΨ (m + 2 ) ^ 3 * (if Even m then W.Ψ₂Sq ^ 2 else 1 ) -
230- W.preΨ (m + 1 ) * W.preΨ (m + 3 ) ^ 3 * (if Even m then 1 else W.Ψ₂Sq ^ 2 ) :=
231- preNormEDS_odd_ofNat ..
232-
233217@[simp]
234218lemma preΨ_neg (n : ℤ) : W.preΨ (-n) = -W.preΨ n :=
235219 preNormEDS_neg ..
@@ -239,11 +223,15 @@ lemma preΨ_even (m : ℤ) : W.preΨ (2 * m) =
239223 W.preΨ (m - 2 ) * W.preΨ m * W.preΨ (m + 1 ) ^ 2 :=
240224 preNormEDS_even ..
241225
226+ @ [deprecated (since := "2025-05-15" )] alias preΨ_even_ofNat := preΨ_even
227+
242228lemma preΨ_odd (m : ℤ) : W.preΨ (2 * m + 1 ) =
243229 W.preΨ (m + 2 ) * W.preΨ m ^ 3 * (if Even m then W.Ψ₂Sq ^ 2 else 1 ) -
244230 W.preΨ (m - 1 ) * W.preΨ (m + 1 ) ^ 3 * (if Even m then 1 else W.Ψ₂Sq ^ 2 ) :=
245231 preNormEDS_odd ..
246232
233+ @ [deprecated (since := "2025-05-15" )] alias preΨ_odd_ofNat := preΨ_odd
234+
247235end preΨ
248236
249237section ΨSq
@@ -256,52 +244,46 @@ noncomputable def ΨSq (n : ℤ) : R[X] :=
256244
257245@[simp]
258246lemma ΨSq_ofNat (n : ℕ) : W.ΨSq n = W.preΨ' n ^ 2 * if Even n then W.Ψ₂Sq else 1 := by
259- simp only [ΨSq, preΨ_ofNat, Int.even_coe_nat ]
247+ simp [ΨSq]
260248
261249@[simp]
262250lemma ΨSq_zero : W.ΨSq 0 = 0 := by
263- rw [← Nat.cast_zero, ΨSq_ofNat, preΨ'_zero, zero_pow two_ne_zero, zero_mul ]
251+ simp [ΨSq ]
264252
265253@[simp]
266254lemma ΨSq_one : W.ΨSq 1 = 1 := by
267- rw [← Nat.cast_one, ΨSq_ofNat, preΨ'_one, one_pow, one_mul, if_neg Nat.not_even_one ]
255+ simp [ΨSq ]
268256
269257@[simp]
270258lemma ΨSq_two : W.ΨSq 2 = W.Ψ₂Sq := by
271- rw [← Nat.cast_two, ΨSq_ofNat, preΨ'_two, one_pow, one_mul, if_pos even_two ]
259+ simp [ΨSq ]
272260
273261@[simp]
274262lemma ΨSq_three : W.ΨSq 3 = W.Ψ₃ ^ 2 := by
275- rw [← Nat.cast_three, ΨSq_ofNat, preΨ'_three, if_neg <| by decide, mul_one ]
263+ simp [ΨSq, show ¬Even ( 3 : ℤ) by decide]
276264
277265@[simp]
278266lemma ΨSq_four : W.ΨSq 4 = W.preΨ₄ ^ 2 * W.Ψ₂Sq := by
279- rw [← Nat.cast_four, ΨSq_ofNat, preΨ'_four, if_pos <| by decide]
280-
281- lemma ΨSq_even_ofNat (m : ℕ) : W.ΨSq (2 * (m + 3 )) =
282- (W.preΨ' (m + 2 ) ^ 2 * W.preΨ' (m + 3 ) * W.preΨ' (m + 5 ) -
283- W.preΨ' (m + 1 ) * W.preΨ' (m + 3 ) * W.preΨ' (m + 4 ) ^ 2 ) ^ 2 * W.Ψ₂Sq := by
284- rw_mod_cast [ΨSq_ofNat, preΨ'_even, if_pos <| even_two_mul _]
285-
286- lemma ΨSq_odd_ofNat (m : ℕ) : W.ΨSq (2 * (m + 2 ) + 1 ) =
287- (W.preΨ' (m + 4 ) * W.preΨ' (m + 2 ) ^ 3 * (if Even m then W.Ψ₂Sq ^ 2 else 1 ) -
288- W.preΨ' (m + 1 ) * W.preΨ' (m + 3 ) ^ 3 * (if Even m then 1 else W.Ψ₂Sq ^ 2 )) ^ 2 := by
289- rw_mod_cast [ΨSq_ofNat, preΨ'_odd, if_neg (m + 2 ).not_even_two_mul_add_one, mul_one]
267+ simp [ΨSq, show ¬Odd (4 : ℤ) by decide]
290268
291269@[simp]
292270lemma ΨSq_neg (n : ℤ) : W.ΨSq (-n) = W.ΨSq n := by
293- simp only [ΨSq, preΨ_neg, neg_sq, even_neg ]
271+ simp [ΨSq]
294272
295273lemma ΨSq_even (m : ℤ) : W.ΨSq (2 * m) =
296274 (W.preΨ (m - 1 ) ^ 2 * W.preΨ m * W.preΨ (m + 2 ) -
297275 W.preΨ (m - 2 ) * W.preΨ m * W.preΨ (m + 1 ) ^ 2 ) ^ 2 * W.Ψ₂Sq := by
298- rw [ΨSq, preΨ_even, if_pos <| even_two_mul _]
276+ rw [ΨSq, preΨ_even, if_pos <| even_two_mul m]
277+
278+ @ [deprecated (since := "2025-05-15" )] alias ΨSq_even_ofNat := ΨSq_even
299279
300280lemma ΨSq_odd (m : ℤ) : W.ΨSq (2 * m + 1 ) =
301281 (W.preΨ (m + 2 ) * W.preΨ m ^ 3 * (if Even m then W.Ψ₂Sq ^ 2 else 1 ) -
302282 W.preΨ (m - 1 ) * W.preΨ (m + 1 ) ^ 3 * (if Even m then 1 else W.Ψ₂Sq ^ 2 )) ^ 2 := by
303283 rw [ΨSq, preΨ_odd, if_neg m.not_even_two_mul_add_one, mul_one]
304284
285+ @ [deprecated (since := "2025-05-15" )] alias ΨSq_odd_ofNat := ΨSq_odd
286+
305287end ΨSq
306288
307289section Ψ
@@ -316,67 +298,54 @@ open WeierstrassCurve (Ψ)
316298
317299@[simp]
318300lemma Ψ_ofNat (n : ℕ) : W.Ψ n = C (W.preΨ' n) * if Even n then W.ψ₂ else 1 := by
319- simp only [Ψ, preΨ_ofNat, Int.even_coe_nat ]
301+ simp [Ψ ]
320302
321303@[simp]
322304lemma Ψ_zero : W.Ψ 0 = 0 := by
323- rw [← Nat.cast_zero, Ψ_ofNat, preΨ'_zero, C_0, zero_mul ]
305+ simp [Ψ ]
324306
325307@[simp]
326308lemma Ψ_one : W.Ψ 1 = 1 := by
327- rw [← Nat.cast_one, Ψ_ofNat, preΨ'_one, C_1, if_neg Nat.not_even_one, mul_one ]
309+ simp [Ψ ]
328310
329311@[simp]
330312lemma Ψ_two : W.Ψ 2 = W.ψ₂ := by
331- rw [← Nat.cast_two, Ψ_ofNat, preΨ'_two, C_1, one_mul, if_pos even_two ]
313+ simp [Ψ ]
332314
333315@[simp]
334316lemma Ψ_three : W.Ψ 3 = C W.Ψ₃ := by
335- rw [← Nat.cast_three, Ψ_ofNat, preΨ'_three, if_neg <| by decide, mul_one ]
317+ simp [Ψ, show ¬Even ( 3 : ℤ) by decide]
336318
337319@[simp]
338320lemma Ψ_four : W.Ψ 4 = C W.preΨ₄ * W.ψ₂ := by
339- rw [← Nat.cast_four, Ψ_ofNat, preΨ'_four, if_pos <| by decide]
340-
341- lemma Ψ_even_ofNat (m : ℕ) : W.Ψ (2 * (m + 3 )) * W.ψ₂ =
342- W.Ψ (m + 2 ) ^ 2 * W.Ψ (m + 3 ) * W.Ψ (m + 5 ) - W.Ψ (m + 1 ) * W.Ψ (m + 3 ) * W.Ψ (m + 4 ) ^ 2 := by
343- repeat rw_mod_cast [Ψ_ofNat]
344- simp_rw [preΨ'_even, if_pos <| even_two_mul _, Nat.even_add_one, ite_not]
345- split_ifs <;> C_simp <;> ring1
346-
347- lemma Ψ_odd_ofNat (m : ℕ) : W.Ψ (2 * (m + 2 ) + 1 ) =
348- W.Ψ (m + 4 ) * W.Ψ (m + 2 ) ^ 3 - W.Ψ (m + 1 ) * W.Ψ (m + 3 ) ^ 3 +
349- W.toAffine.polynomial * (16 * W.toAffine.polynomial - 8 * W.ψ₂ ^ 2 ) *
350- C (if Even m then W.preΨ' (m + 4 ) * W.preΨ' (m + 2 ) ^ 3
351- else -W.preΨ' (m + 1 ) * W.preΨ' (m + 3 ) ^ 3 ) := by
352- repeat rw_mod_cast [Ψ_ofNat]
353- simp_rw [preΨ'_odd, if_neg (m + 2 ).not_even_two_mul_add_one, Nat.even_add_one, ite_not]
354- split_ifs <;> C_simp <;> rw [C_Ψ₂Sq] <;> ring1
321+ simp [Ψ, show ¬Odd (4 : ℤ) by decide]
355322
356323@[simp]
357324lemma Ψ_neg (n : ℤ) : W.Ψ (-n) = -W.Ψ n := by
358- simp only [Ψ, preΨ_neg, C_neg, neg_mul (α := R[X][Y]) , even_neg]
325+ simp_rw [Ψ, preΨ_neg, C_neg, neg_mul, even_neg]
359326
360327lemma Ψ_even (m : ℤ) : W.Ψ (2 * m) * W.ψ₂ =
361328 W.Ψ (m - 1 ) ^ 2 * W.Ψ m * W.Ψ (m + 2 ) - W.Ψ (m - 2 ) * W.Ψ m * W.Ψ (m + 1 ) ^ 2 := by
362- repeat rw [Ψ]
363- simp_rw [preΨ_even, if_pos <| even_two_mul _, Int.even_add_one, show m + 2 = m + 1 + 1 by ring1,
364- Int.even_add_one, show m - 2 = m - 1 - 1 by ring1, Int.even_sub_one, ite_not]
329+ simp_rw [Ψ, preΨ_even, if_pos <| even_two_mul m, Int.even_add, Int.even_sub, even_two, iff_true,
330+ Int.not_even_one, iff_false]
365331 split_ifs <;> C_simp <;> ring1
366332
333+ @ [deprecated (since := "2025-05-15" )] alias Ψ_even_ofNat := Ψ_even
334+
367335lemma Ψ_odd (m : ℤ) : W.Ψ (2 * m + 1 ) =
368336 W.Ψ (m + 2 ) * W.Ψ m ^ 3 - W.Ψ (m - 1 ) * W.Ψ (m + 1 ) ^ 3 +
369337 W.toAffine.polynomial * (16 * W.toAffine.polynomial - 8 * W.ψ₂ ^ 2 ) *
370338 C (if Even m then W.preΨ (m + 2 ) * W.preΨ m ^ 3
371339 else -W.preΨ (m - 1 ) * W.preΨ (m + 1 ) ^ 3 ) := by
372- repeat rw [Ψ]
373- simp_rw [preΨ_odd, if_neg m.not_even_two_mul_add_one, show m + 2 = m + 1 + 1 by ring1,
374- Int.even_add_one, Int.even_sub_one, ite_not]
340+ simp_rw [Ψ, preΨ_odd, if_neg m.not_even_two_mul_add_one, Int.even_add, Int.even_sub, even_two,
341+ iff_true, Int.not_even_one, iff_false]
375342 split_ifs <;> C_simp <;> rw [C_Ψ₂Sq] <;> ring1
376343
344+ @ [deprecated (since := "2025-05-15" )] alias Ψ_odd_ofNat := Ψ_odd
345+
377346lemma Affine.CoordinateRing.mk_Ψ_sq (n : ℤ) : mk W (W.Ψ n) ^ 2 = mk W (C <| W.ΨSq n) := by
378- simp only [Ψ, ΨSq, map_one, map_mul, map_pow, one_pow , mul_pow, ite_pow, apply_ite C ,
379- apply_ite <| mk W, mk_ψ₂_sq ]
347+ simp_rw [Ψ, ΨSq, map_mul, apply_ite C, apply_ite <| mk W , mul_pow, ite_pow, mk_ψ₂_sq, map_one ,
348+ one_pow, map_pow ]
380349
381350end Ψ
382351
@@ -394,19 +363,17 @@ open WeierstrassCurve (Φ)
394363lemma Φ_ofNat (n : ℕ) : W.Φ (n + 1 ) =
395364 X * W.preΨ' (n + 1 ) ^ 2 * (if Even n then 1 else W.Ψ₂Sq) -
396365 W.preΨ' (n + 2 ) * W.preΨ' n * (if Even n then W.Ψ₂Sq else 1 ) := by
397- rw [Φ, ← Nat.cast_one, ← Nat.cast_add, ΨSq_ofNat, ← mul_assoc, ← Nat.cast_add, preΨ_ofNat,
398- Nat.cast_add, add_sub_cancel_right, preΨ_ofNat, ← Nat.cast_add]
399- simp only [ Nat.even_add_one, Int.even_add_one, Int.even_coe_nat, ite_not ]
366+ rw [Φ, add_sub_cancel_right]
367+ norm_cast
368+ simp_rw [ΨSq_ofNat, Nat.even_add_one, ite_not, ← mul_assoc, preΨ_ofNat ]
400369
401370@[simp]
402371lemma Φ_zero : W.Φ 0 = 1 := by
403- rw [Φ, ΨSq_zero, mul_zero, zero_sub, zero_add, preΨ_one, one_mul, zero_sub, preΨ_neg, preΨ_one,
404- neg_one_mul, neg_neg, if_pos Even.zero]
372+ simp [Φ]
405373
406374@[simp]
407375lemma Φ_one : W.Φ 1 = X := by
408- rw [show 1 = ((0 : ℕ) + 1 : ℤ) by rfl, Φ_ofNat, preΨ'_one, one_pow, mul_one, if_pos Even.zero,
409- mul_one, preΨ'_zero, mul_zero, zero_mul, sub_zero]
376+ simp [Φ]
410377
411378@[simp]
412379lemma Φ_two : W.Φ 2 = X ^ 4 - C W.b₄ * X ^ 2 - C (2 * W.b₆) * X - C W.b₈ := by
@@ -429,8 +396,8 @@ lemma Φ_four : W.Φ 4 = X * W.preΨ₄ ^ 2 * W.Ψ₂Sq - W.Ψ₃ * (W.preΨ₄
429396
430397@[simp]
431398lemma Φ_neg (n : ℤ) : W.Φ (-n) = W.Φ n := by
432- simp only [Φ, ΨSq_neg, neg_add_eq_sub , ← neg_sub n, preΨ_neg , ← neg_add', preΨ_neg, neg_mul_neg ,
433- mul_comm <| W.preΨ <| n - 1 , even_neg]
399+ simp_rw [Φ, ΨSq_neg, ← sub_neg_eq_add , ← neg_sub', sub_neg_eq_add , ← neg_add', preΨ_neg,
400+ neg_mul_neg, mul_comm <| W.preΨ <| n - 1 , even_neg]
434401
435402end Φ
436403
@@ -464,14 +431,6 @@ lemma ψ_three : W.ψ 3 = C W.Ψ₃ :=
464431lemma ψ_four : W.ψ 4 = C W.preΨ₄ * W.ψ₂ :=
465432 normEDS_four ..
466433
467- lemma ψ_even_ofNat (m : ℕ) : W.ψ (2 * (m + 3 )) * W.ψ₂ =
468- W.ψ (m + 2 ) ^ 2 * W.ψ (m + 3 ) * W.ψ (m + 5 ) - W.ψ (m + 1 ) * W.ψ (m + 3 ) * W.ψ (m + 4 ) ^ 2 :=
469- normEDS_even_ofNat ..
470-
471- lemma ψ_odd_ofNat (m : ℕ) : W.ψ (2 * (m + 2 ) + 1 ) =
472- W.ψ (m + 4 ) * W.ψ (m + 2 ) ^ 3 - W.ψ (m + 1 ) * W.ψ (m + 3 ) ^ 3 :=
473- normEDS_odd_ofNat ..
474-
475434@[simp]
476435lemma ψ_neg (n : ℤ) : W.ψ (-n) = -W.ψ n :=
477436 normEDS_neg ..
@@ -480,12 +439,16 @@ lemma ψ_even (m : ℤ) : W.ψ (2 * m) * W.ψ₂ =
480439 W.ψ (m - 1 ) ^ 2 * W.ψ m * W.ψ (m + 2 ) - W.ψ (m - 2 ) * W.ψ m * W.ψ (m + 1 ) ^ 2 :=
481440 normEDS_even ..
482441
442+ @ [deprecated (since := "2025-05-15" )] alias ψ_even_ofNat := ψ_even
443+
483444lemma ψ_odd (m : ℤ) : W.ψ (2 * m + 1 ) =
484445 W.ψ (m + 2 ) * W.ψ m ^ 3 - W.ψ (m - 1 ) * W.ψ (m + 1 ) ^ 3 :=
485446 normEDS_odd ..
486447
448+ @ [deprecated (since := "2025-05-15" )] alias ψ_odd_ofNat := ψ_odd
449+
487450lemma Affine.CoordinateRing.mk_ψ (n : ℤ) : mk W (W.ψ n) = mk W (W.Ψ n) := by
488- simp only [ψ, normEDS, Ψ, preΨ, map_mul, map_pow, map_preNormEDS , ← mk_ψ₂_sq, ← pow_mul]
451+ simp_rw [ψ, normEDS, Ψ, preΨ, map_mul, map_preNormEDS, map_pow , ← mk_ψ₂_sq, ← pow_mul]
489452
490453end ψ
491454
@@ -501,21 +464,19 @@ open WeierstrassCurve (Ψ Φ φ)
501464
502465@[simp]
503466lemma φ_zero : W.φ 0 = 1 := by
504- rw [φ, ψ_zero, zero_pow two_ne_zero, mul_zero, zero_sub, zero_add, ψ_one, one_mul, zero_sub,
505- ψ_neg, neg_neg, ψ_one]
467+ simp [φ]
506468
507469@[simp]
508470lemma φ_one : W.φ 1 = C X := by
509- rw [φ, ψ_one, one_pow, mul_one, sub_self, ψ_zero, mul_zero, sub_zero ]
471+ simp [φ]
510472
511473@[simp]
512474lemma φ_two : W.φ 2 = C X * W.ψ₂ ^ 2 - C W.Ψ₃ := by
513- rw [φ, ψ_two, two_add_one_eq_three, ψ_three, show ( 2 - 1 : ℤ) = 1 by rfl, ψ_one, mul_one ]
475+ simp [φ]
514476
515477@[simp]
516478lemma φ_three : W.φ 3 = C X * C W.Ψ₃ ^ 2 - C W.preΨ₄ * W.ψ₂ ^ 2 := by
517- rw [φ, ψ_three, three_add_one_eq_four, ψ_four, mul_assoc, show (3 - 1 : ℤ) = 2 by rfl, ψ_two,
518- ← sq]
479+ simp [φ, mul_assoc, sq]
519480
520481@[simp]
521482lemma φ_four :
@@ -527,12 +488,12 @@ lemma φ_four :
527488
528489@[simp]
529490lemma φ_neg (n : ℤ) : W.φ (-n) = W.φ n := by
530- rw [φ, ψ_neg, neg_sq (R := R[X][Y]), neg_add_eq_sub, ← neg_sub n, ψ_neg , ← neg_add', ψ_neg,
531- neg_mul_neg (α := R[X][Y]) , mul_comm <| W.ψ _, φ ]
491+ simp_rw [φ, ψ_neg, neg_sq, ← sub_neg_eq_add, ← neg_sub', sub_neg_eq_add , ← neg_add', ψ_neg,
492+ neg_mul_neg, mul_comm <| W.ψ <| n - 1 ]
532493
533494lemma Affine.CoordinateRing.mk_φ (n : ℤ) : mk W (W.φ n) = mk W (C <| W.Φ n) := by
534495 simp_rw [φ, Φ, map_sub, map_mul, map_pow, mk_ψ, mk_Ψ_sq, Ψ, map_mul,
535- mul_mul_mul_comm _ <| mk W <| ite .., Int.even_add_one, Int.even_sub_one, ← sq, ite_not ,
496+ mul_mul_mul_comm _ <| mk W <| ite .., Int.even_add_one, Int.even_sub_one, ite_not, ← sq,
536497 apply_ite C, apply_ite <| mk W, ite_pow, map_one, one_pow, mk_ψ₂_sq]
537498
538499end φ
@@ -545,48 +506,52 @@ open WeierstrassCurve (Ψ Φ ψ φ)
545506
546507variable (f : R →+* S)
547508
509+ @[simp]
548510lemma map_ψ₂ : (W.map f).ψ₂ = W.ψ₂.map (mapRingHom f) := by
549- simp only [ψ₂, Affine.map_polynomialY]
511+ simp_rw [ψ₂, Affine.map_polynomialY]
550512
513+ @[simp]
551514lemma map_Ψ₂Sq : (W.map f).Ψ₂Sq = W.Ψ₂Sq.map f := by
552- simp only [Ψ₂Sq, map_b₂, map_b₄, map_b₆]
553- map_simp
515+ simp [Ψ₂Sq, map_ofNat]
554516
517+ @[simp]
555518lemma map_Ψ₃ : (W.map f).Ψ₃ = W.Ψ₃.map f := by
556- simp only [Ψ₃, map_b₂, map_b₄, map_b₆, map_b₈]
557- map_simp
519+ simp [Ψ₃]
558520
521+ @[simp]
559522lemma map_preΨ₄ : (W.map f).preΨ₄ = W.preΨ₄.map f := by
560- simp only [preΨ₄, map_b₂, map_b₄, map_b₆, map_b₈]
561- map_simp
523+ simp [preΨ₄]
562524
525+ @[simp]
563526lemma map_preΨ' (n : ℕ) : (W.map f).preΨ' n = (W.preΨ' n).map f := by
564- simp only [preΨ', map_Ψ₂Sq, map_Ψ₃, map_preΨ₄, ← coe_mapRingHom, map_preNormEDS']
565- map_simp
527+ simp [preΨ', ← coe_mapRingHom]
566528
529+ @[simp]
567530lemma map_preΨ (n : ℤ) : (W.map f).preΨ n = (W.preΨ n).map f := by
568- simp only [preΨ, map_Ψ₂Sq, map_Ψ₃, map_preΨ₄, ← coe_mapRingHom, map_preNormEDS]
569- map_simp
531+ simp [preΨ, ← coe_mapRingHom]
570532
533+ @[simp]
571534lemma map_ΨSq (n : ℤ) : (W.map f).ΨSq n = (W.ΨSq n).map f := by
572- simp only [ΨSq, map_preΨ, map_Ψ₂Sq, ← coe_mapRingHom]
573- map_simp
535+ simp [ΨSq, ← coe_mapRingHom, apply_ite <| mapRingHom f]
574536
537+ @[simp]
575538lemma map_Ψ (n : ℤ) : (W.map f).Ψ n = (W.Ψ n).map (mapRingHom f) := by
576- simp only [Ψ, map_preΨ, map_ψ₂, ← coe_mapRingHom]
577- map_simp
539+ rw [ ← coe_mapRingHom]
540+ simp [Ψ, apply_ite <| mapRingHom _]
578541
542+ @[simp]
579543lemma map_Φ (n : ℤ) : (W.map f).Φ n = (W.Φ n).map f := by
580- simp only [Φ, map_ΨSq, map_preΨ, map_Ψ₂Sq, ← coe_mapRingHom]
581- map_simp
544+ rw [ ← coe_mapRingHom]
545+ simp [Φ, map_sub, apply_ite <| mapRingHom f]
582546
547+ @[simp]
583548lemma map_ψ (n : ℤ) : (W.map f).ψ n = (W.ψ n).map (mapRingHom f) := by
584- simp only [ψ, map_ψ₂, map_Ψ₃, map_preΨ₄, ← coe_mapRingHom, map_normEDS ]
585- map_simp
549+ rw [ ← coe_mapRingHom]
550+ simp [ψ]
586551
552+ @[simp]
587553lemma map_φ (n : ℤ) : (W.map f).φ n = (W.φ n).map (mapRingHom f) := by
588- simp only [φ, map_ψ]
589- map_simp
554+ simp [φ]
590555
591556end Map
592557
0 commit comments