Documentation

Mathlib.Algebra.Group.Opposite

Group structures on the multiplicative and additive opposites #

Additive structures on αᵐᵒᵖ #

Equations

    Multiplicative structures on αᵐᵒᵖ #

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

    instance MulOpposite.instMonoid {α : Type u_1} [Monoid α] :
    Equations
      instance MulOpposite.instGroup {α : Type u_1} [Group α] :
      Equations
        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.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
            instance AddOpposite.instMonoid {α : Type u_1} [Monoid α] :
            Equations
              instance AddOpposite.instGroup {α : Type u_1} [Group α] :
              Equations