HepLean Documentation

Mathlib.Algebra.Group.Commute.Basic

Additional lemmas about commuting pairs of elements in monoids #

theorem AddCommute.neg_neg {G : Type u_1} [SubtractionMonoid G] {a : G} {b : G} :
AddCommute a bAddCommute (-a) (-b)
theorem Commute.inv_inv {G : Type u_1} [DivisionMonoid G] {a : G} {b : G} :
@[simp]
theorem AddCommute.neg_neg_iff {G : Type u_1} [SubtractionMonoid G] {a : G} {b : G} :
@[simp]
theorem Commute.inv_inv_iff {G : Type u_1} [DivisionMonoid G] {a : G} {b : G} :
theorem AddCommute.sub_add_sub_comm {G : Type u_1} [SubtractionMonoid G] {a : G} {b : G} {c : G} {d : G} (hbd : AddCommute b d) (hbc : AddCommute (-b) c) :
a - b + (c - d) = a + c - (b + d)
theorem Commute.div_mul_div_comm {G : Type u_1} [DivisionMonoid G] {a : G} {b : G} {c : G} {d : G} (hbd : Commute b d) (hbc : Commute b⁻¹ c) :
a / b * (c / d) = a * c / (b * d)
theorem AddCommute.add_sub_add_comm {G : Type u_1} [SubtractionMonoid G] {a : G} {b : G} {c : G} {d : G} (hcd : AddCommute c d) (hbc : AddCommute b (-c)) :
a + b - (c + d) = a - c + (b - d)
theorem Commute.mul_div_mul_comm {G : Type u_1} [DivisionMonoid G] {a : G} {b : G} {c : G} {d : G} (hcd : Commute c d) (hbc : Commute b c⁻¹) :
a * b / (c * d) = a / c * (b / d)
theorem AddCommute.sub_sub_sub_comm {G : Type u_1} [SubtractionMonoid G] {a : G} {b : G} {c : G} {d : G} (hbc : AddCommute b c) (hbd : AddCommute (-b) d) (hcd : AddCommute (-c) d) :
a - b - (c - d) = a - c - (b - d)
theorem Commute.div_div_div_comm {G : Type u_1} [DivisionMonoid G] {a : G} {b : G} {c : G} {d : G} (hbc : Commute b c) (hbd : Commute b⁻¹ d) (hcd : Commute c⁻¹ d) :
a / b / (c / d) = a / c / (b / d)
@[simp]
theorem AddCommute.neg_left_iff {G : Type u_1} [AddGroup G] {a : G} {b : G} :
@[simp]
theorem Commute.inv_left_iff {G : Type u_1} [Group G] {a : G} {b : G} :
theorem Commute.inv_left {G : Type u_1} [Group G] {a : G} {b : G} :
Commute a bCommute a⁻¹ b

Alias of the reverse direction of Commute.inv_left_iff.

theorem AddCommute.neg_left {G : Type u_1} [AddGroup G] {a : G} {b : G} :
AddCommute a bAddCommute (-a) b
@[simp]
theorem AddCommute.neg_right_iff {G : Type u_1} [AddGroup G] {a : G} {b : G} :
@[simp]
theorem Commute.inv_right_iff {G : Type u_1} [Group G] {a : G} {b : G} :
theorem Commute.inv_right {G : Type u_1} [Group G] {a : G} {b : G} :
Commute a bCommute a b⁻¹

Alias of the reverse direction of Commute.inv_right_iff.

theorem AddCommute.neg_right {G : Type u_1} [AddGroup G] {a : G} {b : G} :
AddCommute a bAddCommute a (-b)
theorem AddCommute.neg_add_cancel {G : Type u_1} [AddGroup G] {a : G} {b : G} (h : AddCommute a b) :
-a + b + a = b
theorem Commute.inv_mul_cancel {G : Type u_1} [Group G] {a : G} {b : G} (h : Commute a b) :
a⁻¹ * b * a = b
theorem AddCommute.neg_add_cancel_assoc {G : Type u_1} [AddGroup G] {a : G} {b : G} (h : AddCommute a b) :
-a + (b + a) = b
theorem Commute.inv_mul_cancel_assoc {G : Type u_1} [Group G] {a : G} {b : G} (h : Commute a b) :
a⁻¹ * (b * a) = b
@[simp]
theorem AddCommute.conj_iff {G : Type u_1} [AddGroup G] {a : G} {b : G} (h : G) :
AddCommute (h + a + -h) (h + b + -h) AddCommute a b
@[simp]
theorem Commute.conj_iff {G : Type u_1} [Group G] {a : G} {b : G} (h : G) :
Commute (h * a * h⁻¹) (h * b * h⁻¹) Commute a b
theorem AddCommute.conj {G : Type u_1} [AddGroup G] {a : G} {b : G} (comm : AddCommute a b) (h : G) :
AddCommute (h + a + -h) (h + b + -h)
theorem Commute.conj {G : Type u_1} [Group G] {a : G} {b : G} (comm : Commute a b) (h : G) :
Commute (h * a * h⁻¹) (h * b * h⁻¹)
@[simp]
theorem AddCommute.zsmul_right {G : Type u_1} [AddGroup G] {a : G} {b : G} (h : AddCommute a b) (m : ) :
AddCommute a (m b)
@[simp]
theorem Commute.zpow_right {G : Type u_1} [Group G] {a : G} {b : G} (h : Commute a b) (m : ) :
Commute a (b ^ m)
@[simp]
theorem AddCommute.zsmul_left {G : Type u_1} [AddGroup G] {a : G} {b : G} (h : AddCommute a b) (m : ) :
AddCommute (m a) b
@[simp]
theorem Commute.zpow_left {G : Type u_1} [Group G] {a : G} {b : G} (h : Commute a b) (m : ) :
Commute (a ^ m) b
theorem AddCommute.zsmul_zsmul {G : Type u_1} [AddGroup G] {a : G} {b : G} (h : AddCommute a b) (m : ) (n : ) :
AddCommute (m a) (n b)
theorem Commute.zpow_zpow {G : Type u_1} [Group G] {a : G} {b : G} (h : Commute a b) (m : ) (n : ) :
Commute (a ^ m) (b ^ n)
theorem AddCommute.self_zsmul {G : Type u_1} [AddGroup G] (a : G) (n : ) :
AddCommute a (n a)
theorem Commute.self_zpow {G : Type u_1} [Group G] (a : G) (n : ) :
Commute a (a ^ n)
theorem AddCommute.zsmul_self {G : Type u_1} [AddGroup G] (a : G) (n : ) :
AddCommute (n a) a
theorem Commute.zpow_self {G : Type u_1} [Group G] (a : G) (n : ) :
Commute (a ^ n) a
theorem AddCommute.zsmul_zsmul_self {G : Type u_1} [AddGroup G] (a : G) (m : ) (n : ) :
AddCommute (m a) (n a)
theorem Commute.zpow_zpow_self {G : Type u_1} [Group G] (a : G) (m : ) (n : ) :
Commute (a ^ m) (a ^ n)
theorem nsmul_neg_comm {G : Type u_1} [AddGroup G] (a : G) (m : ) (n : ) :
m -a + n a = n a + m -a
theorem pow_inv_comm {G : Type u_1} [Group G] (a : G) (m : ) (n : ) :
a⁻¹ ^ m * a ^ n = a ^ n * a⁻¹ ^ m