@@ -636,10 +636,13 @@ namespace MulAut
636636
637637variable (M) [Mul M]
638638
639- <<<<<<< HEAD
639+ @[to_additive]
640640instance : One (MulAut M) where one := .refl _
641+ @[to_additive]
641642instance : Mul (MulAut M) where mul g h := .trans h g
643+ @[to_additive]
642644instance : Inv (MulAut M) where inv := .symm
645+ @[to_additive]
643646instance : Pow (MulAut M) Nat where
644647 pow f n :=
645648 { toEquiv := f.toEquiv ^ n,
@@ -649,7 +652,6 @@ instance : Pow (MulAut M) Nat where
649652/-- The group operation on additive automorphisms is defined by `g h => AddEquiv.trans h g`.
650653This means that multiplication agrees with composition, `(g*h)(x) = g (h x)`.
651654-/
652- =======
653655/-- If `M` is a type with multiplicative, then multiplicative automorphisms of `M` have the
654656structure of a group. -/
655657@ [to_additive /-- If `M` is a type with addition, then additive automorphisms of `M` have the
@@ -660,7 +662,6 @@ with `to_additive` translation. Without this, any proof in group theory making u
660662conjugation action `G →* MulAut G` would be impossible to `to_additive`-ize because a correct
661663additivization would require inserting `Additive` around `AddAut G` and dealing with these extra
662664`Additive`s in the proof, but `to_additive` is unable to do this automatically. -/ ]
663- >>>>>>> master
664665instance : Group (MulAut M) where
665666 mul_assoc _ _ _ := rfl
666667 one_mul _ := rfl
@@ -772,73 +773,6 @@ namespace AddAut
772773
773774variable (A) [Add A]
774775
775- <<<<<<< HEAD
776- instance : One (AddAut A) where one := .refl _
777- instance : Mul (AddAut A) where mul g h := .trans h g
778- instance : Inv (AddAut A) where inv := .symm
779- instance : Pow (AddAut A) Nat where
780- pow f n :=
781- { toEquiv := f.toEquiv ^ n,
782- map_add' := Nat.rec (fun _ _ => rfl)
783- (fun n ih x y => (congrArg f^[n] (map_add f x y)).trans (ih (f x) (f y))) n }
784-
785- /-- The group operation on additive automorphisms is defined by `g h => AddEquiv.trans h g`.
786- This means that multiplication agrees with composition, `(g*h)(x) = g (h x)`.
787- -/
788- instance : Group (AddAut A) where
789- mul_assoc _ _ _ := rfl
790- one_mul _ := rfl
791- mul_one _ := rfl
792- inv_mul_cancel := AddEquiv.self_trans_symm
793- npow n f := f ^ n
794- zpow := zpowRec fun n f => f ^ n
795-
796- instance : Inhabited (AddAut A) :=
797- ⟨1 ⟩
798-
799- @[simp]
800- theorem coe_mul (e₁ e₂ : AddAut A) : ⇑(e₁ * e₂) = e₁ ∘ e₂ :=
801- rfl
802-
803- @[simp]
804- theorem coe_one : ⇑(1 : AddAut A) = id :=
805- rfl
806-
807- @[simp]
808- theorem coe_inv (e : AddAut A) : ⇑e⁻¹ = e.symm := rfl
809-
810- theorem mul_def (e₁ e₂ : AddAut A) : e₁ * e₂ = e₂.trans e₁ :=
811- rfl
812-
813- theorem one_def : (1 : AddAut A) = AddEquiv.refl _ :=
814- rfl
815-
816- theorem inv_def (e₁ : AddAut A) : e₁⁻¹ = e₁.symm :=
817- rfl
818-
819- @[simp]
820- theorem mul_apply (e₁ e₂ : AddAut A) (a : A) : (e₁ * e₂) a = e₁ (e₂ a) :=
821- rfl
822-
823- @[simp]
824- theorem one_apply (a : A) : (1 : AddAut A) a = a :=
825- rfl
826-
827- @[simp]
828- theorem inv_symm (e : AddAut A) : e⁻¹.symm = e := rfl
829-
830- @[simp]
831- theorem symm_inv (e : AddAut A) : e.symm⁻¹ = e := rfl
832-
833- @[simp]
834- theorem inv_apply (e : AddAut A) (a : A) : e⁻¹ a = e.symm a := rfl
835-
836- theorem inv_apply_self (e : AddAut A) (a : A) : e⁻¹ (e a) = a :=
837- AddEquiv.apply_symm_apply _ _
838-
839- theorem apply_inv_self (e : AddAut A) (a : A) : e (e⁻¹ a) = a :=
840- AddEquiv.apply_symm_apply _ _
841- =======
842776@ [deprecated (since := "2026-05-26" )] alias coe_mul := coe_add
843777@ [deprecated (since := "2026-05-26" )] alias coe_one := coe_zero
844778@ [deprecated (since := "2026-05-26" )] alias coe_inv := coe_neg
@@ -852,7 +786,6 @@ theorem apply_inv_self (e : AddAut A) (a : A) : e (e⁻¹ a) = a :=
852786@ [deprecated (since := "2026-05-26" )] alias inv_apply := neg_apply
853787@ [deprecated (since := "2026-05-26" )] alias inv_apply_self := neg_apply_self
854788@ [deprecated (since := "2026-05-26" )] alias apply_inv_self := apply_neg_self
855- >>>>>>> master
856789
857790/-- Monoid hom from the group of multiplicative automorphisms to the group of permutations. -/
858791def toPerm : AddAut A →+ Additive (Equiv.Perm A) where
0 commit comments