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 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} :

          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]
                  theorem Subsemigroup.mem_unop {M : Type u_2} [Mul M] {x : M} {S : Subsemigroup 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

                  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 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 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] :
                          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 AddSubsemigroup.equivOp_symm_apply_coe {M : Type u_2} [Add M] (H : AddSubsemigroup M) (b : H.op) :
                                  @[simp]
                                  theorem Subsemigroup.equivOp_symm_apply_coe {M : Type u_2} [Mul M] (H : Subsemigroup M) (b : H.op) :
                                  @[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_apply_coe {M : Type u_2} [Add M] (H : AddSubsemigroup M) (a : H) :
                                  (H.equivOp a) = AddOpposite.op a