File: Mathlib/Algebra/Group/Semiconj/Units.lean

full_name: AddSemiconjBy.addUnits_neg_right
code: /-- If `a` semiconjugates a unit `x` to a unit `y`, then it semiconjugates `x⁻¹` to `y⁻¹`. -/
@[to_additive "If `a` semiconjugates an additive unit `x` to an additive unit `y`, then it
semiconjugates `-x` to `-y`."]
theorem units_inv_right {a : M} {x y : Mˣ} (h : SemiconjBy a x y) : SemiconjBy a ↑x⁻¹ ↑y⁻¹ 
goal: AddSemiconjBy a ↑(-x) ↑(-y)

full_name: SemiconjBy.units_inv_right
code: /-- If `a` semiconjugates a unit `x` to a unit `y`, then it semiconjugates `x⁻¹` to `y⁻¹`. -/
@[to_additive "If `a` semiconjugates an additive unit `x` to an additive unit `y`, then it
semiconjugates `-x` to `-y`."]
theorem units_inv_right {a : M} {x y : Mˣ} (h : SemiconjBy a x y) : SemiconjBy a ↑x⁻¹ ↑y⁻¹ 
goal: SemiconjBy a ↑x⁻¹ ↑y⁻¹

full_name: SemiconjBy.units_inv_right_iff
code: @[to_additive (attr := simp)]
theorem units_inv_right_iff {a : M} {x y : Mˣ} : SemiconjBy a ↑x⁻¹ ↑y⁻¹ ↔ SemiconjBy a x y 
goal: SemiconjBy a ↑x⁻¹ ↑y⁻¹ ↔ SemiconjBy a ↑x ↑y

full_name: AddSemiconjBy.addUnits_neg_right_iff
code: @[to_additive (attr := simp)]
theorem units_inv_right_iff {a : M} {x y : Mˣ} : SemiconjBy a ↑x⁻¹ ↑y⁻¹ ↔ SemiconjBy a x y 
goal: AddSemiconjBy a ↑(-x) ↑(-y) ↔ AddSemiconjBy a ↑x ↑y

full_name: AddSemiconjBy.addUnits_neg_symm_left
code: /-- If a unit `a` semiconjugates `x` to `y`, then `a⁻¹` semiconjugates `y` to `x`. -/
@[to_additive "If an additive unit `a` semiconjugates `x` to `y`, then `-a` semiconjugates `y` to
`x`."]
theorem units_inv_symm_left {a : Mˣ} {x y : M} (h : SemiconjBy (↑a) x y) : SemiconjBy (↑a⁻¹) y x 
goal: AddSemiconjBy (↑(-a)) y x

full_name: SemiconjBy.units_inv_symm_left
code: /-- If a unit `a` semiconjugates `x` to `y`, then `a⁻¹` semiconjugates `y` to `x`. -/
@[to_additive "If an additive unit `a` semiconjugates `x` to `y`, then `-a` semiconjugates `y` to
`x`."]
theorem units_inv_symm_left {a : Mˣ} {x y : M} (h : SemiconjBy (↑a) x y) : SemiconjBy (↑a⁻¹) y x 
goal: SemiconjBy (↑a⁻¹) y x

full_name: AddSemiconjBy.addUnits_neg_symm_left_iff
code: @[to_additive (attr := simp)]
theorem units_inv_symm_left_iff {a : Mˣ} {x y : M} : SemiconjBy (↑a⁻¹) y x ↔ SemiconjBy (↑a) x y 
goal: AddSemiconjBy (↑(-a)) y x ↔ AddSemiconjBy (↑a) x y

full_name: SemiconjBy.units_inv_symm_left_iff
code: @[to_additive (attr := simp)]
theorem units_inv_symm_left_iff {a : Mˣ} {x y : M} : SemiconjBy (↑a⁻¹) y x ↔ SemiconjBy (↑a) x y 
goal: SemiconjBy (↑a⁻¹) y x ↔ SemiconjBy (↑a) x y

full_name: AddSemiconjBy.addUnits_val
code: @[to_additive]
theorem units_val {a x y : Mˣ} (h : SemiconjBy a x y) : SemiconjBy (a : M) x y 
goal: AddSemiconjBy ↑a ↑x ↑y

full_name: SemiconjBy.units_val
code: @[to_additive]
theorem units_val {a x y : Mˣ} (h : SemiconjBy a x y) : SemiconjBy (a : M) x y 
goal: SemiconjBy ↑a ↑x ↑y

full_name: SemiconjBy.units_of_val
code: @[to_additive]
theorem units_of_val {a x y : Mˣ} (h : SemiconjBy (a : M) x y) : SemiconjBy a x y 
goal: SemiconjBy a x y

full_name: AddSemiconjBy.addUnits_of_val
code: @[to_additive]
theorem units_of_val {a x y : Mˣ} (h : SemiconjBy (a : M) x y) : SemiconjBy a x y 
goal: AddSemiconjBy a x y

full_name: AddSemiconjBy.addUnits_val_iff
code: @[to_additive (attr := simp)]
theorem units_val_iff {a x y : Mˣ} : SemiconjBy (a : M) x y ↔ SemiconjBy a x y 
goal: AddSemiconjBy ↑a ↑x ↑y ↔ AddSemiconjBy a x y

full_name: SemiconjBy.units_val_iff
code: @[to_additive (attr := simp)]
theorem units_val_iff {a x y : Mˣ} : SemiconjBy (a : M) x y ↔ SemiconjBy a x y 
goal: SemiconjBy ↑a ↑x ↑y ↔ SemiconjBy a x y

full_name: SemiconjBy.units_zpow_right
code: @[to_additive (attr := simp)]
lemma units_zpow_right {a : M} {x y : Mˣ} (h : SemiconjBy a x y) :
    ∀ m : ℤ, SemiconjBy a ↑(x ^ m) ↑(y ^ m)
  
goal: SemiconjBy a ↑(x ^ m) ↑(y ^ m)

full_name: AddSemiconjBy.addUnits_zsmul_right
code: @[to_additive (attr := simp)]
lemma units_zpow_right {a : M} {x y : Mˣ} (h : SemiconjBy a x y) :
    ∀ m : ℤ, SemiconjBy a ↑(x ^ m) ↑(y ^ m)
  
goal: AddSemiconjBy a ↑(m • x) ↑(m • y)

full_name: Units.mk_semiconjBy
code: /-- `a` semiconjugates `x` to `a * x * a⁻¹`. -/
@[to_additive "`a` semiconjugates `x` to `a + x + -a`."]
lemma mk_semiconjBy (u : Mˣ) (x : M) : SemiconjBy (↑u) x (u * x * ↑u⁻¹) 
goal: SemiconjBy (↑u) x (↑u * x * ↑u⁻¹)

full_name: AddUnits.mk_addSemiconjBy
code: /-- `a` semiconjugates `x` to `a * x * a⁻¹`. -/
@[to_additive "`a` semiconjugates `x` to `a + x + -a`."]
lemma mk_semiconjBy (u : Mˣ) (x : M) : SemiconjBy (↑u) x (u * x * ↑u⁻¹) 
goal: AddSemiconjBy (↑u) x (↑u + x + ↑(-u))

full_name: Units.conj_pow
code: lemma conj_pow (u : Mˣ) (x : M) (n : ℕ) :
    ((↑u : M) * x * (↑u⁻¹ : M)) ^ n = (u : M) * x ^ n * (↑u⁻¹ : M) 
goal: (↑u * x * ↑u⁻¹) ^ n = ↑u * x ^ n * ↑u⁻¹

full_name: Units.conj_pow'
code: lemma conj_pow' (u : Mˣ) (x : M) (n : ℕ) :
    ((↑u⁻¹ : M) * x * (u : M)) ^ n = (↑u⁻¹ : M) * x ^ n * (u : M) 
goal: (↑u⁻¹ * x * ↑u) ^ n = ↑u⁻¹ * x ^ n * ↑u