Documentation

Mathlib.Algebra.Group.Subsemigroup.MulOpposite

Subsemigroup of opposite semigroups #

For every semigroup M, we construct an equivalence between subsemigroups of M and that of Mᵐᵒᵖ.

Pull a subsemigroup back to an opposite subsemigroup along MulOpposite.unop

Equations
Instances For

    Pull an additive subsemigroup back to an opposite subsemigroup along AddOpposite.unop

    Equations
    Instances For
      @[simp]
      theorem AddSubsemigroup.coe_op {M : Type u_2} [Add M] (x : AddSubsemigroup M) :
      @[simp]
      theorem Subsemigroup.coe_op {M : Type u_2} [Mul M] (x : Subsemigroup M) :
      @[simp]
      theorem Subsemigroup.mem_op {M : Type u_2} [Mul M] {x : Mᵐᵒᵖ} {S : Subsemigroup M} :
      @[simp]
      theorem AddSubsemigroup.mem_op {M : Type u_2} [Add M] {x : Mᵃᵒᵖ} {S : AddSubsemigroup M} :

      Pull an opposite subsemigroup back to a subsemigroup along MulOpposite.op

      Equations
      Instances For

        Pull an opposite additive subsemigroup back to a subsemigroup along AddOpposite.op

        Equations
        Instances For
          @[simp]
          @[simp]
          theorem Subsemigroup.mem_unop {M : Type u_2} [Mul M] {x : M} {S : Subsemigroup Mᵐᵒᵖ} :
          @[simp]
          theorem AddSubsemigroup.mem_unop {M : Type u_2} [Add M] {x : M} {S : AddSubsemigroup Mᵃᵒᵖ} :
          @[simp]
          theorem Subsemigroup.unop_op {M : Type u_2} [Mul M] (S : Subsemigroup M) :
          S.op.unop = S
          @[simp]
          theorem AddSubsemigroup.unop_op {M : Type u_2} [Add M] (S : AddSubsemigroup M) :
          S.op.unop = S
          @[simp]
          theorem Subsemigroup.op_unop {M : Type u_2} [Mul M] (S : Subsemigroup Mᵐᵒᵖ) :
          S.unop.op = S
          @[simp]
          theorem AddSubsemigroup.op_unop {M : Type u_2} [Add M] (S : AddSubsemigroup Mᵃᵒᵖ) :
          S.unop.op = S

          Lattice results #

          theorem Subsemigroup.op_le_iff {M : Type u_2} [Mul M] {S₁ : Subsemigroup M} {S₂ : Subsemigroup Mᵐᵒᵖ} :
          S₁.op S₂ S₁ S₂.unop
          theorem AddSubsemigroup.op_le_iff {M : Type u_2} [Add M] {S₁ : AddSubsemigroup M} {S₂ : AddSubsemigroup Mᵃᵒᵖ} :
          S₁.op S₂ S₁ S₂.unop
          theorem Subsemigroup.le_op_iff {M : Type u_2} [Mul M] {S₁ : Subsemigroup Mᵐᵒᵖ} {S₂ : Subsemigroup M} :
          S₁ S₂.op S₁.unop S₂
          theorem AddSubsemigroup.le_op_iff {M : Type u_2} [Add M] {S₁ : AddSubsemigroup Mᵃᵒᵖ} {S₂ : AddSubsemigroup M} :
          S₁ S₂.op S₁.unop S₂
          @[simp]
          theorem Subsemigroup.op_le_op_iff {M : Type u_2} [Mul M] {S₁ S₂ : Subsemigroup M} :
          S₁.op S₂.op S₁ S₂
          @[simp]
          theorem AddSubsemigroup.op_le_op_iff {M : Type u_2} [Add M] {S₁ S₂ : AddSubsemigroup M} :
          S₁.op S₂.op S₁ S₂
          @[simp]
          theorem Subsemigroup.unop_le_unop_iff {M : Type u_2} [Mul M] {S₁ S₂ : Subsemigroup Mᵐᵒᵖ} :
          S₁.unop S₂.unop S₁ S₂
          @[simp]
          theorem AddSubsemigroup.unop_le_unop_iff {M : Type u_2} [Add M] {S₁ S₂ : AddSubsemigroup Mᵃᵒᵖ} :
          S₁.unop S₂.unop S₁ S₂

          A subsemigroup H of M determines a subsemigroup H.op of the opposite semigroup Mᵐᵒᵖ.

          Equations
          Instances For

            An additive subsemigroup H of M determines an additive subsemigroup H.op of the opposite semigroup Mᵐᵒᵖ.

            Equations
            Instances For
              @[simp]
              theorem AddSubsemigroup.opEquiv_apply {M : Type u_2} [Add M] (x : AddSubsemigroup M) :
              @[simp]
              theorem Subsemigroup.opEquiv_apply {M : Type u_2} [Mul M] (x : Subsemigroup M) :
              @[simp]
              theorem Subsemigroup.op_inj {M : Type u_2} [Mul M] {S T : Subsemigroup M} :
              S.op = T.op S = T
              @[simp]
              theorem AddSubsemigroup.op_inj {M : Type u_2} [Add M] {S T : AddSubsemigroup M} :
              S.op = T.op S = T
              @[simp]
              theorem Subsemigroup.unop_inj {M : Type u_2} [Mul M] {S T : Subsemigroup Mᵐᵒᵖ} :
              S.unop = T.unop S = T
              @[simp]
              theorem AddSubsemigroup.unop_inj {M : Type u_2} [Add M] {S T : AddSubsemigroup Mᵃᵒᵖ} :
              S.unop = T.unop S = T
              @[simp]
              theorem Subsemigroup.op_bot {M : Type u_2} [Mul M] :
              @[simp]
              theorem AddSubsemigroup.op_bot {M : Type u_2} [Add M] :
              @[simp]
              theorem Subsemigroup.op_eq_bot {M : Type u_2} [Mul M] {S : Subsemigroup M} :
              S.op = S =
              @[simp]
              theorem AddSubsemigroup.op_eq_bot {M : Type u_2} [Add M] {S : AddSubsemigroup M} :
              S.op = S =
              @[simp]
              theorem Subsemigroup.unop_bot {M : Type u_2} [Mul M] :
              @[simp]
              theorem AddSubsemigroup.unop_bot {M : Type u_2} [Add M] :
              @[simp]
              @[simp]
              theorem Subsemigroup.op_top {M : Type u_2} [Mul M] :
              @[simp]
              theorem AddSubsemigroup.op_top {M : Type u_2} [Add M] :
              @[simp]
              theorem Subsemigroup.op_eq_top {M : Type u_2} [Mul M] {S : Subsemigroup M} :
              S.op = S =
              @[simp]
              theorem AddSubsemigroup.op_eq_top {M : Type u_2} [Add M] {S : AddSubsemigroup M} :
              S.op = S =
              @[simp]
              theorem Subsemigroup.unop_top {M : Type u_2} [Mul M] :
              @[simp]
              theorem AddSubsemigroup.unop_top {M : Type u_2} [Add M] :
              @[simp]
              theorem Subsemigroup.op_sup {M : Type u_2} [Mul M] (S₁ S₂ : Subsemigroup M) :
              (S₁S₂).op = S₁.opS₂.op
              theorem AddSubsemigroup.op_sup {M : Type u_2} [Add M] (S₁ S₂ : AddSubsemigroup M) :
              (S₁S₂).op = S₁.opS₂.op
              theorem Subsemigroup.unop_sup {M : Type u_2} [Mul M] (S₁ S₂ : Subsemigroup Mᵐᵒᵖ) :
              (S₁S₂).unop = S₁.unopS₂.unop
              theorem AddSubsemigroup.unop_sup {M : Type u_2} [Add M] (S₁ S₂ : AddSubsemigroup Mᵃᵒᵖ) :
              (S₁S₂).unop = S₁.unopS₂.unop
              theorem Subsemigroup.op_inf {M : Type u_2} [Mul M] (S₁ S₂ : Subsemigroup M) :
              (S₁S₂).op = S₁.opS₂.op
              theorem AddSubsemigroup.op_inf {M : Type u_2} [Add M] (S₁ S₂ : AddSubsemigroup M) :
              (S₁S₂).op = S₁.opS₂.op
              theorem Subsemigroup.unop_inf {M : Type u_2} [Mul M] (S₁ S₂ : Subsemigroup Mᵐᵒᵖ) :
              (S₁S₂).unop = S₁.unopS₂.unop
              theorem AddSubsemigroup.unop_inf {M : Type u_2} [Add M] (S₁ S₂ : AddSubsemigroup Mᵃᵒᵖ) :
              (S₁S₂).unop = S₁.unopS₂.unop
              theorem Subsemigroup.op_iSup {ι : Sort u_1} {M : Type u_2} [Mul M] (S : ιSubsemigroup M) :
              (iSup S).op = ⨆ (i : ι), (S i).op
              theorem AddSubsemigroup.op_iSup {ι : Sort u_1} {M : Type u_2} [Add M] (S : ιAddSubsemigroup M) :
              (iSup S).op = ⨆ (i : ι), (S i).op
              theorem Subsemigroup.unop_iSup {ι : Sort u_1} {M : Type u_2} [Mul M] (S : ιSubsemigroup Mᵐᵒᵖ) :
              (iSup S).unop = ⨆ (i : ι), (S i).unop
              theorem AddSubsemigroup.unop_iSup {ι : Sort u_1} {M : Type u_2} [Add M] (S : ιAddSubsemigroup Mᵃᵒᵖ) :
              (iSup S).unop = ⨆ (i : ι), (S i).unop
              theorem Subsemigroup.op_iInf {ι : Sort u_1} {M : Type u_2} [Mul M] (S : ιSubsemigroup M) :
              (iInf S).op = ⨅ (i : ι), (S i).op
              theorem AddSubsemigroup.op_iInf {ι : Sort u_1} {M : Type u_2} [Add M] (S : ιAddSubsemigroup M) :
              (iInf S).op = ⨅ (i : ι), (S i).op
              theorem Subsemigroup.unop_iInf {ι : Sort u_1} {M : Type u_2} [Mul M] (S : ιSubsemigroup Mᵐᵒᵖ) :
              (iInf S).unop = ⨅ (i : ι), (S i).unop
              theorem AddSubsemigroup.unop_iInf {ι : Sort u_1} {M : Type u_2} [Add M] (S : ιAddSubsemigroup Mᵃᵒᵖ) :
              (iInf S).unop = ⨅ (i : ι), (S i).unop
              def Subsemigroup.equivOp {M : Type u_2} [Mul M] (H : Subsemigroup M) :
              H H.op

              Bijection between a subsemigroup H and its opposite.

              Equations
              Instances For
                def AddSubsemigroup.equivOp {M : Type u_2} [Add M] (H : AddSubsemigroup M) :
                H H.op

                Bijection between an additive subsemigroup H and its opposite.

                Equations
                Instances For
                  @[simp]
                  theorem Subsemigroup.equivOp_apply_coe {M : Type u_2} [Mul M] (H : Subsemigroup M) (a : H) :
                  (H.equivOp a) = MulOpposite.op a
                  @[simp]
                  theorem AddSubsemigroup.equivOp_symm_apply_coe {M : Type u_2} [Add M] (H : AddSubsemigroup M) (b : H.op) :
                  @[simp]
                  theorem AddSubsemigroup.equivOp_apply_coe {M : Type u_2} [Add M] (H : AddSubsemigroup M) (a : H) :
                  (H.equivOp a) = AddOpposite.op a
                  @[simp]
                  theorem Subsemigroup.equivOp_symm_apply_coe {M : Type u_2} [Mul M] (H : Subsemigroup M) (b : H.op) :