File: Mathlib/Algebra/Group/Commute/Basic.lean

full_name: Commute.inv_inv
code: @[to_additive]
protected theorem inv_inv : Commute a b → Commute a⁻¹ b⁻¹ 
goal: Commute a b → Commute a⁻¹ b⁻¹

full_name: AddCommute.neg_neg
code: @[to_additive]
protected theorem inv_inv : Commute a b → Commute a⁻¹ b⁻¹ 
goal: AddCommute a b → AddCommute (-a) (-b)

full_name: AddCommute.neg_neg_iff
code: @[to_additive (attr := simp)]
theorem inv_inv_iff : Commute a⁻¹ b⁻¹ ↔ Commute a b 
goal: AddCommute (-a) (-b) ↔ AddCommute a b

full_name: Commute.inv_inv_iff
code: @[to_additive (attr := simp)]
theorem inv_inv_iff : Commute a⁻¹ b⁻¹ ↔ Commute a b 
goal: Commute a⁻¹ b⁻¹ ↔ Commute a b

full_name: Commute.div_mul_div_comm
code: @[to_additive]
protected theorem div_mul_div_comm (hbd : Commute b d) (hbc : Commute b⁻¹ c) :
    a / b * (c / d) = a * c / (b * d) 
goal: a / b * (c / d) = a * c / (b * d)

full_name: AddCommute.sub_add_sub_comm
code: @[to_additive]
protected theorem div_mul_div_comm (hbd : Commute b d) (hbc : Commute b⁻¹ c) :
    a / b * (c / d) = a * c / (b * d) 
goal: a - b + (c - d) = a + c - (b + d)

full_name: AddCommute.add_sub_add_comm
code: @[to_additive]
protected theorem mul_div_mul_comm (hcd : Commute c d) (hbc : Commute b c⁻¹) :
    a * b / (c * d) = a / c * (b / d) 
goal: a + b - (c + d) = a - c + (b - d)

full_name: Commute.mul_div_mul_comm
code: @[to_additive]
protected theorem mul_div_mul_comm (hcd : Commute c d) (hbc : Commute b c⁻¹) :
    a * b / (c * d) = a / c * (b / d) 
goal: a * b / (c * d) = a / c * (b / d)

full_name: Commute.div_div_div_comm
code: @[to_additive]
protected theorem div_div_div_comm (hbc : Commute b c) (hbd : Commute b⁻¹ d) (hcd : Commute c⁻¹ d) :
    a / b / (c / d) = a / c / (b / d) 
goal: a / b / (c / d) = a / c / (b / d)

full_name: AddCommute.sub_sub_sub_comm
code: @[to_additive]
protected theorem div_div_div_comm (hbc : Commute b c) (hbd : Commute b⁻¹ d) (hcd : Commute c⁻¹ d) :
    a / b / (c / d) = a / c / (b / d) 
goal: a - b - (c - d) = a - c - (b - d)

full_name: Commute.inv_left_iff
code: @[to_additive (attr := simp)]
lemma inv_left_iff : Commute a⁻¹ b ↔ Commute a b 
goal: Commute a⁻¹ b ↔ Commute a b

full_name: AddCommute.neg_left_iff
code: @[to_additive (attr := simp)]
lemma inv_left_iff : Commute a⁻¹ b ↔ Commute a b 
goal: AddCommute (-a) b ↔ AddCommute a b

full_name: AddCommute.neg_right_iff
code: @[to_additive (attr := simp)]
lemma inv_right_iff : Commute a b⁻¹ ↔ Commute a b 
goal: AddCommute a (-b) ↔ AddCommute a b

full_name: Commute.inv_right_iff
code: @[to_additive (attr := simp)]
lemma inv_right_iff : Commute a b⁻¹ ↔ Commute a b 
goal: Commute a b⁻¹ ↔ Commute a b

full_name: Commute.inv_mul_cancel
code: @[to_additive]
protected lemma inv_mul_cancel (h : Commute a b) : a⁻¹ * b * a = b 
goal: a⁻¹ * b * a = b

full_name: AddCommute.neg_add_cancel
code: @[to_additive]
protected lemma inv_mul_cancel (h : Commute a b) : a⁻¹ * b * a = b 
goal: -a + b + a = b

full_name: AddCommute.neg_add_cancel_assoc
code: @[to_additive]
lemma inv_mul_cancel_assoc (h : Commute a b) : a⁻¹ * (b * a) = b 
goal: -a + (b + a) = b

full_name: Commute.inv_mul_cancel_assoc
code: @[to_additive]
lemma inv_mul_cancel_assoc (h : Commute a b) : a⁻¹ * (b * a) = b 
goal: a⁻¹ * (b * a) = b

full_name: Commute.conj_iff
code: @[to_additive (attr := simp)]
protected theorem conj_iff (h : G) : Commute (h * a * h⁻¹) (h * b * h⁻¹) ↔ Commute a b 
goal: Commute (h * a * h⁻¹) (h * b * h⁻¹) ↔ Commute a b

full_name: AddCommute.conj_iff
code: @[to_additive (attr := simp)]
protected theorem conj_iff (h : G) : Commute (h * a * h⁻¹) (h * b * h⁻¹) ↔ Commute a b 
goal: AddCommute (h + a + -h) (h + b + -h) ↔ AddCommute a b

full_name: Commute.conj
code: @[to_additive]
protected theorem conj (comm : Commute a b) (h : G) : Commute (h * a * h⁻¹) (h * b * h⁻¹) 
goal: Commute (h * a * h⁻¹) (h * b * h⁻¹)

full_name: AddCommute.conj
code: @[to_additive]
protected theorem conj (comm : Commute a b) (h : G) : Commute (h * a * h⁻¹) (h * b * h⁻¹) 
goal: AddCommute (h + a + -h) (h + b + -h)

full_name: Commute.zpow_right
code: @[to_additive (attr := simp)]
lemma zpow_right (h : Commute a b) (m : ℤ) : Commute a (b ^ m) 
goal: Commute a (b ^ m)

full_name: AddCommute.zsmul_right
code: @[to_additive (attr := simp)]
lemma zpow_right (h : Commute a b) (m : ℤ) : Commute a (b ^ m) 
goal: AddCommute a (m • b)

full_name: Commute.zpow_left
code: @[to_additive (attr := simp)]
lemma zpow_left (h : Commute a b) (m : ℤ) : Commute (a ^ m) b 
goal: Commute (a ^ m) b

full_name: AddCommute.zsmul_left
code: @[to_additive (attr := simp)]
lemma zpow_left (h : Commute a b) (m : ℤ) : Commute (a ^ m) b 
goal: AddCommute (m • a) b

full_name: Commute.zpow_zpow
code: @[to_additive] lemma zpow_zpow (h : Commute a b) (m n : ℤ) : Commute (a ^ m) (b ^ n) 
goal: Commute (a ^ m) (b ^ n)

full_name: AddCommute.zsmul_zsmul
code: @[to_additive] lemma zpow_zpow (h : Commute a b) (m n : ℤ) : Commute (a ^ m) (b ^ n) 
goal: AddCommute (m • a) (n • b)

full_name: Commute.self_zpow
code: @[to_additive] lemma self_zpow : Commute a (a ^ n) 
goal: Commute a (a ^ n)

full_name: AddCommute.self_zsmul
code: @[to_additive] lemma self_zpow : Commute a (a ^ n) 
goal: AddCommute a (n • a)

full_name: AddCommute.zsmul_self
code: @[to_additive] lemma zpow_self : Commute (a ^ n) a 
goal: AddCommute (n • a) a

full_name: Commute.zpow_self
code: @[to_additive] lemma zpow_self : Commute (a ^ n) a 
goal: Commute (a ^ n) a

full_name: Commute.zpow_zpow_self
code: @[to_additive] lemma zpow_zpow_self : Commute (a ^ m) (a ^ n) 
goal: Commute (a ^ m) (a ^ n)

full_name: AddCommute.zsmul_zsmul_self
code: @[to_additive] lemma zpow_zpow_self : Commute (a ^ m) (a ^ n) 
goal: AddCommute (m • a) (n • a)

full_name: nsmul_neg_comm
code: @[to_additive] lemma pow_inv_comm (a : G) (m n : ℕ) : a⁻¹ ^ m * a ^ n = a ^ n * a⁻¹ ^ m 
goal: m • -a + n • a = n • a + m • -a

full_name: pow_inv_comm
code: @[to_additive] lemma pow_inv_comm (a : G) (m n : ℕ) : a⁻¹ ^ m * a ^ n = a ^ n * a⁻¹ ^ m 
goal: a⁻¹ ^ m * a ^ n = a ^ n * a⁻¹ ^ m