Group structures on the multiplicative and additive opposites #
Additive structures on αᵐᵒᵖ
#
Equations
- MulOpposite.instNatCast = { natCast := fun (n : ℕ) => MulOpposite.op ↑n }
Equations
- AddOpposite.instNatCast = { natCast := fun (n : ℕ) => AddOpposite.op ↑n }
Equations
- MulOpposite.instIntCast = { intCast := fun (n : ℤ) => MulOpposite.op ↑n }
Equations
- AddOpposite.instIntCast = { intCast := fun (n : ℤ) => AddOpposite.op ↑n }
Equations
Equations
Equations
Equations
Equations
- MulOpposite.instAddGroup = Function.Injective.addGroup MulOpposite.unop ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
Equations
- MulOpposite.instAddGroupWithOne = AddGroupWithOne.mk ⋯ SubNegMonoid.zsmul ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
Multiplicative structures on αᵐᵒᵖ
#
We also generate additive structures on αᵃᵒᵖ
using to_additive
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- MulOpposite.instMonoid = Monoid.mk ⋯ ⋯ (fun (n : ℕ) (a : αᵐᵒᵖ) => MulOpposite.op (MulOpposite.unop a ^ n)) ⋯ ⋯
Equations
- AddOpposite.instAddMonoid = AddMonoid.mk ⋯ ⋯ (fun (n : ℕ) (a : αᵃᵒᵖ) => AddOpposite.op (n • AddOpposite.unop a)) ⋯ ⋯
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- MulOpposite.instDivInvMonoid = DivInvMonoid.mk ⋯ (fun (n : ℤ) (a : αᵐᵒᵖ) => MulOpposite.op (MulOpposite.unop a ^ n)) ⋯ ⋯ ⋯
Equations
- AddOpposite.instSubNegMonoid = SubNegMonoid.mk ⋯ (fun (n : ℤ) (a : αᵃᵒᵖ) => AddOpposite.op (n • AddOpposite.unop a)) ⋯ ⋯ ⋯
Equations
Equations
Equations
Equations
Equations
Equations
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
SemiconjBy.op
{α : Type u_1}
[Mul α]
{a x y : α}
(h : SemiconjBy a x y)
:
SemiconjBy (MulOpposite.op a) (MulOpposite.op y) (MulOpposite.op x)
theorem
AddSemiconjBy.op
{α : Type u_1}
[Add α]
{a x y : α}
(h : AddSemiconjBy a x y)
:
AddSemiconjBy (AddOpposite.op a) (AddOpposite.op y) (AddOpposite.op x)
theorem
SemiconjBy.unop
{α : Type u_1}
[Mul α]
{a x y : αᵐᵒᵖ}
(h : SemiconjBy a x y)
:
SemiconjBy (MulOpposite.unop a) (MulOpposite.unop y) (MulOpposite.unop x)
theorem
Commute.op
{α : Type u_1}
[Mul α]
{x y : α}
(h : Commute x y)
:
Commute (MulOpposite.op x) (MulOpposite.op y)
theorem
AddCommute.op
{α : Type u_1}
[Add α]
{x y : α}
(h : AddCommute x y)
:
AddCommute (AddOpposite.op x) (AddOpposite.op y)
theorem
Commute.unop
{α : Type u_1}
[Mul α]
{x y : αᵐᵒᵖ}
(h : Commute x y)
:
Commute (MulOpposite.unop x) (MulOpposite.unop y)
@[simp]
@[simp]
Multiplicative structures on αᵃᵒᵖ
#
Equations
- AddOpposite.pow = { pow := fun (a : αᵃᵒᵖ) (b : β) => AddOpposite.op (AddOpposite.unop a ^ b) }
Equations
Equations
Equations
Equations
- AddOpposite.instGroup = Function.Injective.group AddOpposite.unop ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯