@@ -167,8 +167,7 @@ theorem toSubgroupEquiv_neg_one : toSubgroupEquiv φ (-1) = φ.symm := rfl
167
167
theorem toSubgroupEquiv_neg_apply (u : ℤˣ) (a : toSubgroup A B u) :
168
168
(toSubgroupEquiv φ (-u) (toSubgroupEquiv φ u a) : G) = a := by
169
169
rcases Int.units_eq_one_or u with rfl | rfl
170
- · -- This used to be `simp` before https://github.com/leanprover/lean4/pull/2644
171
- simp; erw [MulEquiv.symm_apply_apply]
170
+ · simp [toSubgroup]
172
171
· simp only [toSubgroup_neg_one, toSubgroupEquiv_neg_one, SetLike.coe_eq_coe]
173
172
exact φ.apply_symm_apply a
174
173
@@ -419,10 +418,8 @@ theorem unitsSMul_neg (u : ℤˣ) (w : NormalWord d) :
419
418
· have hncan : ¬ Cancels u w := (unitsSMul_cancels_iff _ _ _).1 hcan
420
419
unfold unitsSMul
421
420
simp only [dif_neg hncan]
422
- simp [unitsSMulWithCancel, unitsSMulGroup, (d.compl u).equiv_snd_eq_inv_mul]
423
- -- This used to be the end of the proof before https://github.com/leanprover/lean4/pull/2644
424
- erw [(d.compl u).equiv_snd_eq_inv_mul]
425
- simp
421
+ simp [unitsSMulWithCancel, unitsSMulGroup, (d.compl u).equiv_snd_eq_inv_mul,
422
+ -SetLike.coe_sort_coe]
426
423
· have hcan2 : Cancels u w := not_not.1 (mt (unitsSMul_cancels_iff _ _ _).2 hcan)
427
424
unfold unitsSMul at hcan ⊢
428
425
simp only [dif_pos hcan2] at hcan ⊢
@@ -445,10 +442,8 @@ theorem unitsSMul_neg (u : ℤˣ) (w : NormalWord d) :
445
442
· -- The next two lines were not needed before https://github.com/leanprover/lean4/pull/2644
446
443
dsimp
447
444
conv_lhs => erw [IsComplement.equiv_mul_left]
448
- simp [mul_assoc, Units.ext_iff, (d.compl (-u)).equiv_snd_eq_inv_mul, this]
449
- -- The next two lines were not needed before https://github.com/leanprover/lean4/pull/2644
450
- erw [(d.compl (-u)).equiv_snd_eq_inv_mul, this]
451
- simp
445
+ simp [mul_assoc, Units.ext_iff, (d.compl (-u)).equiv_snd_eq_inv_mul, this,
446
+ -SetLike.coe_sort_coe]
452
447
453
448
/-- the equivalence given by multiplication on the left by `t` -/
454
449
@[simps]
@@ -562,15 +557,12 @@ theorem prod_smul_empty (w : NormalWord d) :
562
557
rw [prod_cons, ← mul_assoc, mul_smul, ih, mul_smul, t_pow_smul_eq_unitsSMul,
563
558
of_smul_eq_smul, unitsSMul]
564
559
rw [dif_neg (not_cancels_of_cons_hyp u w h2)]
565
- -- The next 3 lines were a single `simp [...]` before https://github.com/leanprover/lean4/pull/2644
566
- simp only [unitsSMulGroup]
567
- simp_rw [SetLike.coe_sort_coe]
568
- erw [(d.compl _).equiv_fst_eq_one_of_mem_of_one_mem (one_mem _) h1]
569
- ext <;> simp
570
- -- The next 4 were not needed before https://github.com/leanprover/lean4/pull/2644
571
- erw [(d.compl _).equiv_snd_eq_inv_mul]
572
- simp_rw [SetLike.coe_sort_coe]
573
- erw [(d.compl _).equiv_fst_eq_one_of_mem_of_one_mem (one_mem _) h1]
560
+ simp [unitsSMulGroup, (d.compl _).equiv_fst_eq_one_of_mem_of_one_mem (one_mem _) h1,
561
+ -SetLike.coe_sort_coe]
562
+ ext <;> simp [-SetLike.coe_sort_coe]
563
+ -- The next 3 lines were not needed before https://github.com/leanprover/lean4/pull/2644
564
+ rw [(d.compl _).equiv_snd_eq_inv_mul,
565
+ (d.compl _).equiv_fst_eq_one_of_mem_of_one_mem (one_mem _) h1]
574
566
simp
575
567
576
568
variable (d)
@@ -650,8 +642,10 @@ theorem exists_normalWord_prod_eq
650
642
(List.head?_eq_head _) hS
651
643
rwa [List.head?_eq_head hl, Option.map_some', ← this, Option.some_inj] at hx'
652
644
simp at this
653
- erw [List.map_cons, mul_smul, of_smul_eq_smul, NormalWord.group_smul_def,
654
- t_pow_smul_eq_unitsSMul, unitsSMul, dif_neg this, ← hw'2 ]
645
+ rw [List.map_cons, mul_smul, of_smul_eq_smul, NormalWord.group_smul_def,
646
+ t_pow_smul_eq_unitsSMul, unitsSMul]
647
+ erw [dif_neg this]
648
+ rw [← hw'2 ]
655
649
simp [mul_assoc, unitsSMulGroup, (d.compl _).coe_equiv_snd_eq_one_iff_mem]
656
650
657
651
/-- Two reduced words representing the same element of the `HNNExtension G A B φ` have the same
0 commit comments