Documentation

Mathlib.Algebra.Group.Opposite

Group structures on the multiplicative and additive opposites #

Additive structures on αᵐᵒᵖ #

Equations
Equations
Equations
Equations

Multiplicative structures on αᵐᵒᵖ #

We also generate additive structures on αᵃᵒᵖ using to_additive

instance MulOpposite.instMonoid {α : Type u_1} [Monoid α] :
Equations
@[simp]
theorem MulOpposite.op_pow {α : Type u_1} [Monoid α] (x : α) (n : ) :
op (x ^ n) = op x ^ n
@[simp]
theorem MulOpposite.unop_pow {α : Type u_1} [Monoid α] (x : αᵐᵒᵖ) (n : ) :
unop (x ^ n) = unop x ^ n
@[simp]
theorem MulOpposite.op_zpow {α : Type u_1} [DivInvMonoid α] (x : α) (z : ) :
op (x ^ z) = op x ^ z
@[simp]
theorem MulOpposite.unop_zpow {α : Type u_1} [DivInvMonoid α] (x : αᵐᵒᵖ) (z : ) :
unop (x ^ z) = unop x ^ z
@[simp]
theorem MulOpposite.op_natCast {α : Type u_1} [NatCast α] (n : ) :
op n = n
@[simp]
theorem AddOpposite.op_natCast {α : Type u_1} [NatCast α] (n : ) :
op n = n
@[simp]
theorem MulOpposite.op_ofNat {α : Type u_1} [NatCast α] (n : ) [n.AtLeastTwo] :
@[simp]
theorem AddOpposite.op_ofNat {α : Type u_1} [NatCast α] (n : ) [n.AtLeastTwo] :
@[simp]
theorem MulOpposite.op_intCast {α : Type u_1} [IntCast α] (n : ) :
op n = n
@[simp]
theorem AddOpposite.op_intCast {α : Type u_1} [IntCast α] (n : ) :
op n = n
@[simp]
theorem MulOpposite.unop_natCast {α : Type u_1} [NatCast α] (n : ) :
unop n = n
@[simp]
theorem AddOpposite.unop_natCast {α : Type u_1} [NatCast α] (n : ) :
unop n = n
@[simp]
theorem MulOpposite.unop_ofNat {α : Type u_1} [NatCast α] (n : ) [n.AtLeastTwo] :
@[simp]
theorem AddOpposite.unop_ofNat {α : Type u_1} [NatCast α] (n : ) [n.AtLeastTwo] :
@[simp]
theorem MulOpposite.unop_intCast {α : Type u_1} [IntCast α] (n : ) :
unop n = n
@[simp]
theorem AddOpposite.unop_intCast {α : Type u_1} [IntCast α] (n : ) :
unop n = n
@[simp]
theorem MulOpposite.unop_div {α : Type u_1} [DivInvMonoid α] (x y : αᵐᵒᵖ) :
unop (x / y) = (unop y)⁻¹ * unop x
@[simp]
theorem AddOpposite.unop_sub {α : Type u_1} [SubNegMonoid α] (x y : αᵃᵒᵖ) :
unop (x - y) = -unop y + unop x
@[simp]
theorem MulOpposite.op_div {α : Type u_1} [DivInvMonoid α] (x y : α) :
op (x / y) = (op y)⁻¹ * op x
@[simp]
theorem AddOpposite.op_sub {α : Type u_1} [SubNegMonoid α] (x y : α) :
op (x - y) = -op y + op x
@[simp]
theorem MulOpposite.semiconjBy_op {α : Type u_1} [Mul α] {a x y : α} :
SemiconjBy (op a) (op y) (op x) SemiconjBy a x y
@[simp]
theorem AddOpposite.addSemiconjBy_op {α : Type u_1} [Add α] {a x y : α} :
@[simp]
theorem MulOpposite.semiconjBy_unop {α : Type u_1} [Mul α] {a x y : αᵐᵒᵖ} :
@[simp]
theorem AddOpposite.addSemiconjBy_unop {α : Type u_1} [Add α] {a x y : αᵃᵒᵖ} :
theorem SemiconjBy.op {α : Type u_1} [Mul α] {a x y : α} (h : SemiconjBy a x y) :
theorem AddSemiconjBy.op {α : Type u_1} [Add α] {a x y : α} (h : AddSemiconjBy a x y) :
theorem Commute.op {α : Type u_1} [Mul α] {x y : α} (h : Commute x y) :
theorem AddCommute.op {α : Type u_1} [Add α] {x y : α} (h : AddCommute x y) :
theorem Commute.unop {α : Type u_1} [Mul α] {x y : αᵐᵒᵖ} (h : Commute x y) :
theorem AddCommute.unop {α : Type u_1} [Add α] {x y : αᵃᵒᵖ} (h : AddCommute x y) :
@[simp]
theorem MulOpposite.commute_op {α : Type u_1} [Mul α] {x y : α} :
Commute (op x) (op y) Commute x y
@[simp]
theorem AddOpposite.addCommute_op {α : Type u_1} [Add α] {x y : α} :
@[simp]
theorem MulOpposite.commute_unop {α : Type u_1} [Mul α] {x y : αᵐᵒᵖ} :
@[simp]
theorem AddOpposite.addCommute_unop {α : Type u_1} [Add α] {x y : αᵃᵒᵖ} :

Multiplicative structures on αᵃᵒᵖ #

instance AddOpposite.pow {α : Type u_1} {β : Type u_2} [Pow α β] :
Equations
@[simp]
theorem AddOpposite.op_pow {α : Type u_1} {β : Type u_2} [Pow α β] (a : α) (b : β) :
op (a ^ b) = op a ^ b
@[simp]
theorem AddOpposite.unop_pow {α : Type u_1} {β : Type u_2} [Pow α β] (a : αᵃᵒᵖ) (b : β) :
unop (a ^ b) = unop a ^ b