@@ -803,7 +803,15 @@ units.ext $ neg_mul _ _
803
803
/-- Multiplication of elements of a ring's unit group commutes with mapping the second argument
804
804
to its additive inverse. -/
805
805
@[simp] protected theorem mul_neg (u₁ u₂ : αˣ) : u₁ * -u₂ = -(u₁ * u₂) :=
806
- units.ext $ (neg_mul_eq_mul_neg _ _).symm
806
+ units.ext $ mul_neg _ _
807
+
808
+ /-- `units` version of `neg_mul_eq_neg_mul`. -/
809
+ lemma neg_mul_eq_neg_mul (a b : αˣ) : -(a * b) = -a * b :=
810
+ units.ext $ neg_mul_eq_neg_mul _ _
811
+
812
+ /-- `units` version of `neg_mul_eq_mul_neg`. -/
813
+ lemma neg_mul_eq_mul_neg (a b : αˣ) : -(a * b) = a * -b :=
814
+ units.ext $ neg_mul_eq_mul_neg _ _
807
815
808
816
/-- Multiplication of the additive inverses of two elements of a ring's unit group equals
809
817
multiplication of the two original elements. -/
@@ -813,6 +821,10 @@ units.ext $ (neg_mul_eq_mul_neg _ _).symm
813
821
one times the original element. -/
814
822
protected theorem neg_eq_neg_one_mul (u : αˣ) : -u = -1 * u := by simp
815
823
824
+ lemma mul_neg_one (a : α) : a * -1 = -a := by simp
825
+
826
+ lemma neg_one_mul (a : α) : -1 * a = -a := by simp
827
+
816
828
end units
817
829
818
830
lemma is_unit.neg [ring α] {a : α} : is_unit a → is_unit (-a)
@@ -1141,6 +1153,7 @@ by simp only [semiconj_by, left_distrib, right_distrib, h.eq, h'.eq]
1141
1153
semiconj_by (a + b) x y :=
1142
1154
by simp only [semiconj_by, left_distrib, right_distrib, ha.eq, hb.eq]
1143
1155
1156
+ section
1144
1157
variables [ring R] {a b x y x' y' : R}
1145
1158
1146
1159
lemma neg_right (h : semiconj_by a x y) : semiconj_by a (-x) (-y) :=
@@ -1169,6 +1182,32 @@ by simpa only [sub_eq_add_neg] using h.add_right h'.neg_right
1169
1182
semiconj_by (a - b) x y :=
1170
1183
by simpa only [sub_eq_add_neg] using ha.add_left hb.neg_left
1171
1184
1185
+ end
1186
+
1187
+ /- Copies of the above ring lemmas for `units R`. -/
1188
+ section units
1189
+ variables [ring R] {a b x y x' y' : Rˣ}
1190
+
1191
+ lemma units_neg_right (h : semiconj_by a x y) : semiconj_by a (-x) (-y) :=
1192
+ by simp only [semiconj_by, h.eq, units.neg_mul, units.mul_neg]
1193
+
1194
+ @[simp] lemma units_neg_right_iff : semiconj_by a (-x) (-y) ↔ semiconj_by a x y :=
1195
+ ⟨λ h, units.neg_neg x ▸ units.neg_neg y ▸ h.units_neg_right, semiconj_by.units_neg_right⟩
1196
+
1197
+ lemma units_neg_left (h : semiconj_by a x y) : semiconj_by (-a) x y :=
1198
+ by simp only [semiconj_by, h.eq, units.neg_mul, units.mul_neg]
1199
+
1200
+ @[simp] lemma units_neg_left_iff : semiconj_by (-a) x y ↔ semiconj_by a x y :=
1201
+ ⟨λ h, units.neg_neg a ▸ h.units_neg_left, semiconj_by.units_neg_left⟩
1202
+
1203
+ @[simp] lemma units_neg_one_right (a : Rˣ) : semiconj_by a (-1 ) (-1 ) :=
1204
+ (one_right a).units_neg_right
1205
+
1206
+ @[simp] lemma units_neg_one_left (x : Rˣ) : semiconj_by (-1 ) x x :=
1207
+ (semiconj_by.one_left x).units_neg_left
1208
+
1209
+ end units
1210
+
1172
1211
end semiconj_by
1173
1212
1174
1213
namespace commute
@@ -1193,6 +1232,7 @@ h.bit0_right.add_right (commute.one_right x)
1193
1232
lemma bit1_left [semiring R] {x y : R} (h : commute x y) : commute (bit1 x) y :=
1194
1233
h.bit0_left.add_left (commute.one_left y)
1195
1234
1235
+ section
1196
1236
variables [ring R] {a b c : R}
1197
1237
1198
1238
theorem neg_right : commute a b → commute a (- b) := semiconj_by.neg_right
@@ -1207,4 +1247,22 @@ theorem neg_left : commute a b → commute (- a) b := semiconj_by.neg_left
1207
1247
@[simp] theorem sub_right : commute a b → commute a c → commute a (b - c) := semiconj_by.sub_right
1208
1248
@[simp] theorem sub_left : commute a c → commute b c → commute (a - b) c := semiconj_by.sub_left
1209
1249
1250
+ end
1251
+
1252
+ /- Copies of the above ring lemmas for `units R`. -/
1253
+ section units
1254
+ variables [ring R] {a b c : Rˣ}
1255
+
1256
+ theorem units_neg_right : commute a b → commute a (- b) := semiconj_by.units_neg_right
1257
+ @[simp] theorem units_neg_right_iff : commute a (-b) ↔ commute a b :=
1258
+ semiconj_by.units_neg_right_iff
1259
+
1260
+ theorem units_neg_left : commute a b → commute (- a) b := semiconj_by.units_neg_left
1261
+ @[simp] theorem units_neg_left_iff : commute (-a) b ↔ commute a b := semiconj_by.units_neg_left_iff
1262
+
1263
+ @[simp] theorem units_neg_one_right (a : Rˣ) : commute a (-1 ) := semiconj_by.units_neg_one_right a
1264
+ @[simp] theorem units_neg_one_left (a : Rˣ) : commute (-1 ) a := semiconj_by.units_neg_one_left a
1265
+
1266
+ end units
1267
+
1210
1268
end commute
0 commit comments