Module docstring
{"# Lemmas about semiconjugate elements of a group
"}
{"# Lemmas about semiconjugate elements of a group
"}
SemiconjBy.inv_inv_symm_iff
theorem
: SemiconjBy a⁻¹ x⁻¹ y⁻¹ ↔ SemiconjBy a y x
@[to_additive (attr := simp)]
theorem inv_inv_symm_iff : SemiconjBySemiconjBy a⁻¹ x⁻¹ y⁻¹ ↔ SemiconjBy a y x := by
simp_rw [SemiconjBy, ← mul_inv_rev, inv_inj, eq_comm]
SemiconjBy.inv_symm_left_iff
theorem
: SemiconjBy a⁻¹ y x ↔ SemiconjBy a x y
@[to_additive (attr := simp)] lemma inv_symm_left_iff : SemiconjBySemiconjBy a⁻¹ y x ↔ SemiconjBy a x y := by
simp_rw [SemiconjBy, eq_mul_inv_iff_mul_eq, mul_assoc, inv_mul_eq_iff_eq_mul, eq_comm]
SemiconjBy.inv_right_iff
theorem
: SemiconjBy a x⁻¹ y⁻¹ ↔ SemiconjBy a x y
@[to_additive (attr := simp)] lemma inv_right_iff : SemiconjBySemiconjBy a x⁻¹ y⁻¹ ↔ SemiconjBy a x y := by
rw [← inv_symm_left_iff, inv_inv_symm_iff]
SemiconjBy.zpow_right
theorem
(h : SemiconjBy a x y) : ∀ m : ℤ, SemiconjBy a (x ^ m) (y ^ m)
@[to_additive (attr := simp)] lemma zpow_right (h : SemiconjBy a x y) :
∀ m : ℤ, SemiconjBy a (x ^ m) (y ^ m)
| (n : ℕ) => by simp [zpow_natCast, h.pow_right n]
| .negSucc n => by
simp only [zpow_negSucc, inv_right_iff]
apply pow_right h