Group structures on the multiplicative and additive opposites #
Additive structures on αᵐᵒᵖ #
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
Equations
@[instance_reducible]
Equations
@[instance_reducible]
Equations
@[instance_reducible]
Equations
- MulOpposite.instAddGroup = Function.Injective.addGroup MulOpposite.unop ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
@[instance_reducible]
Equations
Multiplicative structures on αᵐᵒᵖ #
We also generate additive structures on αᵃᵒᵖ using to_additive
@[instance_reducible]
Equations
- MulOpposite.instSemigroup = { toMul := MulOpposite.instMul, mul_assoc := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddSemigroup = { toAdd := AddOpposite.instAdd, add_assoc := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instLeftCancelSemigroup = { toSemigroup := MulOpposite.instSemigroup, toIsLeftCancelMul := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddLeftCancelSemigroup = { toAddSemigroup := AddOpposite.instAddSemigroup, toIsLeftCancelAdd := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instRightCancelSemigroup = { toSemigroup := MulOpposite.instSemigroup, toIsRightCancelMul := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddRightCancelSemigroup = { toAddSemigroup := AddOpposite.instAddSemigroup, toIsRightCancelAdd := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instCommSemigroup = { toSemigroup := MulOpposite.instSemigroup, mul_comm := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddCommSemigroup = { toAddSemigroup := AddOpposite.instAddSemigroup, add_comm := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instMulOne = { toOne := MulOpposite.instOne, toMul := MulOpposite.instMul }
@[instance_reducible]
Equations
- AddOpposite.instAddZero = { toZero := AddOpposite.instZero, toAdd := AddOpposite.instAdd }
@[instance_reducible]
Equations
- MulOpposite.instMulOneClass = { toOne := MulOpposite.instOne, toMul := MulOpposite.instMul, one_mul := ⋯, mul_one := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddZeroClass = { toZero := AddOpposite.instZero, toAdd := AddOpposite.instAdd, zero_add := ⋯, add_zero := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instLeftCancelMonoid = { toMonoid := MulOpposite.instMonoid, toIsLeftCancelMul := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddLeftCancelMonoid = { toAddMonoid := AddOpposite.instAddMonoid, toIsLeftCancelAdd := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instRightCancelMonoid = { toMonoid := MulOpposite.instMonoid, toIsRightCancelMul := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddRightCancelMonoid = { toAddMonoid := AddOpposite.instAddMonoid, toIsRightCancelAdd := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instCancelMonoid = { toLeftCancelMonoid := MulOpposite.instLeftCancelMonoid, toIsRightCancelMul := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddCancelMonoid = { toAddLeftCancelMonoid := AddOpposite.instAddLeftCancelMonoid, toIsRightCancelAdd := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instCommMonoid = { toMonoid := MulOpposite.instMonoid, mul_comm := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddCommMonoid = { toAddMonoid := AddOpposite.instAddMonoid, add_comm := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instCancelCommMonoid = { toCommMonoid := MulOpposite.instCommMonoid, toIsLeftCancelMul := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddCancelCommMonoid = { toAddCommMonoid := AddOpposite.instAddCommMonoid, toIsLeftCancelAdd := ⋯ }
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
Equations
- MulOpposite.instDivisionMonoid = { toDivInvMonoid := MulOpposite.instDivInvMonoid, inv_inv := ⋯, mul_inv_rev := ⋯, inv_eq_of_mul := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instSubtractionMonoid = { toSubNegMonoid := AddOpposite.instSubNegMonoid, neg_neg := ⋯, neg_add_rev := ⋯, neg_eq_of_add := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instDivisionCommMonoid = { toDivisionMonoid := MulOpposite.instDivisionMonoid, mul_comm := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instSubtractionCommMonoid = { toSubtractionMonoid := AddOpposite.instSubtractionMonoid, add_comm := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instGroup = { toDivInvMonoid := MulOpposite.instDivInvMonoid, inv_mul_cancel := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddGroup = { toSubNegMonoid := AddOpposite.instSubNegMonoid, neg_add_cancel := ⋯ }
@[instance_reducible]
Equations
- MulOpposite.instCommGroup = { toGroup := MulOpposite.instGroup, mul_comm := ⋯ }
@[instance_reducible]
Equations
- AddOpposite.instAddCommGroup = { toAddGroup := AddOpposite.instAddGroup, add_comm := ⋯ }
@[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]
instance MulOpposite.instIsDedekindFiniteMonoid {α : Type u_1} [MulOne α] [IsDedekindFiniteMonoid α] :
instance AddOpposite.instIsDedekindFiniteAddMonoid {α : Type u_1} [AddZero α] [IsDedekindFiniteAddMonoid α] :
@[simp]
@[simp]
Multiplicative structures on αᵃᵒᵖ #
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
Equations
- AddOpposite.pow = { pow := fun (a : αᵃᵒᵖ) (b : β) => AddOpposite.op (AddOpposite.unop a ^ b) }
@[instance_reducible]
Equations
@[instance_reducible]
Equations
@[instance_reducible]
Equations
@[instance_reducible]
Equations
- AddOpposite.instGroup = Function.Injective.group AddOpposite.unop ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
@[instance_reducible]