Documentation

Mathlib.Algebra.Ring.Subring.MulOpposite

Subring of opposite rings #

For every ring R, we construct an equivalence between subrings of R and that of Rแตแต’แต–.

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

Instances For
    @[simp]
    theorem Subring.coe_op {R : Type u_2} [NonAssocRing R] (S : Subring R) :
    โ†‘S.op = MulOpposite.unop โปยน' โ†‘S
    @[simp]
    theorem Subring.mem_op {R : Type u_2} [NonAssocRing R] {x : Rแตแต’แต–} {S : Subring R} :
    x โˆˆ S.op โ†” MulOpposite.unop x โˆˆ S

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

    Instances For
      @[simp]
      theorem Subring.mem_unop {R : Type u_2} [NonAssocRing R] {x : R} {S : Subring Rแตแต’แต–} :
      x โˆˆ S.unop โ†” MulOpposite.op x โˆˆ S
      @[simp]
      theorem Subring.unop_op {R : Type u_2} [NonAssocRing R] (S : Subring R) :
      S.op.unop = S

      Lattice results #

      theorem Subring.op_le_iff {R : Type u_2} [NonAssocRing R] {Sโ‚ : Subring R} {Sโ‚‚ : Subring Rแตแต’แต–} :
      Sโ‚.op โ‰ค Sโ‚‚ โ†” Sโ‚ โ‰ค Sโ‚‚.unop
      theorem Subring.le_op_iff {R : Type u_2} [NonAssocRing R] {Sโ‚ : Subring Rแตแต’แต–} {Sโ‚‚ : Subring R} :
      Sโ‚ โ‰ค Sโ‚‚.op โ†” Sโ‚.unop โ‰ค Sโ‚‚
      @[simp]
      theorem Subring.op_le_op_iff {R : Type u_2} [NonAssocRing R] {Sโ‚ Sโ‚‚ : Subring R} :
      Sโ‚.op โ‰ค Sโ‚‚.op โ†” Sโ‚ โ‰ค Sโ‚‚
      @[simp]
      theorem Subring.unop_le_unop_iff {R : Type u_2} [NonAssocRing R] {Sโ‚ Sโ‚‚ : Subring Rแตแต’แต–} :
      Sโ‚.unop โ‰ค Sโ‚‚.unop โ†” Sโ‚ โ‰ค Sโ‚‚

      A subring S of R determines a subring S.op of the opposite ring Rแตแต’แต–.

      Instances For
        @[simp]
        theorem Subring.opEquiv_apply {R : Type u_2} [NonAssocRing R] (S : Subring R) :
        opEquiv S = S.op
        theorem Subring.op_injective {R : Type u_2} [NonAssocRing R] :
        Function.Injective Subring.op
        @[simp]
        theorem Subring.op_inj {R : Type u_2} [NonAssocRing R] {S T : Subring R} :
        S.op = T.op โ†” S = T
        @[simp]
        theorem Subring.unop_inj {R : Type u_2} [NonAssocRing R] {S T : Subring Rแตแต’แต–} :
        S.unop = T.unop โ†” S = T
        @[simp]
        theorem Subring.op_eq_bot {R : Type u_2} [NonAssocRing R] {S : Subring R} :
        S.op = โŠฅ โ†” S = โŠฅ
        @[simp]
        theorem Subring.op_eq_top {R : Type u_2} [NonAssocRing R] {S : Subring R} :
        S.op = โŠค โ†” S = โŠค
        theorem Subring.op_sup {R : Type u_2} [NonAssocRing R] (Sโ‚ Sโ‚‚ : Subring R) :
        (Sโ‚ โŠ” Sโ‚‚).op = Sโ‚.op โŠ” Sโ‚‚.op
        theorem Subring.unop_sup {R : Type u_2} [NonAssocRing R] (Sโ‚ Sโ‚‚ : Subring Rแตแต’แต–) :
        (Sโ‚ โŠ” Sโ‚‚).unop = Sโ‚.unop โŠ” Sโ‚‚.unop
        theorem Subring.op_inf {R : Type u_2} [NonAssocRing R] (Sโ‚ Sโ‚‚ : Subring R) :
        (Sโ‚ โŠ“ Sโ‚‚).op = Sโ‚.op โŠ“ Sโ‚‚.op
        theorem Subring.unop_inf {R : Type u_2} [NonAssocRing R] (Sโ‚ Sโ‚‚ : Subring Rแตแต’แต–) :
        (Sโ‚ โŠ“ Sโ‚‚).unop = Sโ‚.unop โŠ“ Sโ‚‚.unop
        theorem Subring.op_iSup {ฮน : Sort u_1} {R : Type u_2} [NonAssocRing R] (S : ฮน โ†’ Subring R) :
        (iSup S).op = โจ† (i : ฮน), (S i).op
        theorem Subring.unop_iSup {ฮน : Sort u_1} {R : Type u_2} [NonAssocRing R] (S : ฮน โ†’ Subring Rแตแต’แต–) :
        (iSup S).unop = โจ† (i : ฮน), (S i).unop
        theorem Subring.op_iInf {ฮน : Sort u_1} {R : Type u_2} [NonAssocRing R] (S : ฮน โ†’ Subring R) :
        (iInf S).op = โจ… (i : ฮน), (S i).op
        theorem Subring.unop_iInf {ฮน : Sort u_1} {R : Type u_2} [NonAssocRing R] (S : ฮน โ†’ Subring Rแตแต’แต–) :
        (iInf S).unop = โจ… (i : ฮน), (S i).unop
        def Subring.addEquivOp {R : Type u_2} [NonAssocRing R] (S : Subring R) :
        โ†ฅS โ‰ƒ+ โ†ฅS.op

        Bijection between a subring S and its opposite.

        Instances For
          @[simp]
          theorem Subring.addEquivOp_symm_apply_coe {R : Type u_2} [NonAssocRing R] (S : Subring R) (b : โ†ฅS.op) :
          โ†‘(S.addEquivOp.symm b) = MulOpposite.unop โ†‘b
          @[simp]
          theorem Subring.addEquivOp_apply_coe {R : Type u_2} [NonAssocRing R] (S : Subring R) (a : โ†ฅS.toSubmonoid) :
          โ†‘(S.addEquivOp a) = MulOpposite.op โ†‘a
          def Subring.ringEquivOpMop {R : Type u_2} [NonAssocRing R] (S : Subring R) :

          Bijection between a subring S and MulOpposite of its opposite.

          Instances For
            @[simp]
            theorem Subring.ringEquivOpMop_apply {R : Type u_2} [NonAssocRing R] (S : Subring R) (aโœ : โ†ฅS.toSubsemiring) :
            S.ringEquivOpMop aโœ = MulOpposite.op (S.addEquivOp aโœ)
            @[simp]
            theorem Subring.ringEquivOpMop_symm_apply_coe {R : Type u_2} [NonAssocRing R] (S : Subring R) (aโœ : (โ†ฅS.op)แตแต’แต–) :
            โ†‘(S.ringEquivOpMop.symm aโœ) = MulOpposite.unop โ†‘(MulOpposite.unop aโœ)
            def Subring.mopRingEquivOp {R : Type u_2} [NonAssocRing R] (S : Subring R) :

            Bijection between MulOpposite of a subring S and its opposite.

            Instances For
              @[simp]
              theorem Subring.mopRingEquivOp_symm_apply {R : Type u_2} [NonAssocRing R] (S : Subring R) (aโœ : โ†ฅS.op) :
              @[simp]
              theorem Subring.mopRingEquivOp_apply_coe {R : Type u_2} [NonAssocRing R] (S : Subring R) (aโœ : (โ†ฅS.toSubsemiring)แตแต’แต–) :
              โ†‘(S.mopRingEquivOp aโœ) = MulOpposite.op โ†‘(MulOpposite.unop aโœ)