@@ -1213,13 +1213,10 @@ variable [Group G] {a b : G}
12131213theorem inv_mul_cancel (a : G) : a⁻¹ * a = 1 :=
12141214 Group.inv_mul_cancel a
12151215
1216- set_option backward.privateInPublic true in
12171216@[to_additive]
12181217private theorem inv_eq_of_mul (h : a * b = 1 ) : a⁻¹ = b :=
12191218 left_inv_eq_right_inv (inv_mul_cancel a) h
12201219
1221- set_option backward.privateInPublic true in
1222- set_option backward.privateInPublic.warn false in
12231220@ [to_additive (attr := simp)]
12241221theorem mul_inv_cancel (a : G) : a * a⁻¹ = 1 := by
12251222 rw [← inv_mul_cancel a⁻¹, inv_eq_of_mul (inv_mul_cancel a)]
@@ -1251,14 +1248,13 @@ theorem inv_mul_cancel_right (a b : G) : a * b⁻¹ * b = a := by
12511248theorem div_mul_cancel (a b : G) : a / b * b = a := by
12521249 rw [div_eq_mul_inv, inv_mul_cancel_right a b]
12531250
1254- set_option backward.privateInPublic true in
1255- set_option backward.privateInPublic.warn false in
12561251@[to_additive]
1257- instance (priority := 100 ) Group.toDivisionMonoid : DivisionMonoid G :=
1258- { inv_inv := fun a ↦ inv_eq_of_mul (inv_mul_cancel a)
1259- mul_inv_rev :=
1260- fun a b ↦ inv_eq_of_mul <| by rw [mul_assoc, mul_inv_cancel_left, mul_inv_cancel]
1261- inv_eq_of_mul := fun _ _ ↦ inv_eq_of_mul }
1252+ instance (priority := 100 ) Group.toDivisionMonoid : DivisionMonoid G where
1253+ inv_inv a := by exact inv_eq_of_mul (inv_mul_cancel a)
1254+ mul_inv_rev a b := by
1255+ apply inv_eq_of_mul
1256+ rw [mul_assoc, mul_inv_cancel_left, mul_inv_cancel]
1257+ inv_eq_of_mul _ _ := by exact inv_eq_of_mul
12621258
12631259-- see Note [lower instance priority]
12641260@[to_additive]
0 commit comments