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ᵐᵒᵖ.

def Subring.op {R : Type u_2} [Ring R] (S : Subring R) :

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

Equations
  • S.op = { toSubsemiring := S.op, neg_mem' := }
Instances For
    @[simp]
    theorem Subring.op_toSubsemiring {R : Type u_2} [Ring R] (S : Subring R) :
    S.op.toSubsemiring = S.op
    @[simp]
    theorem Subring.op_coe {R : Type u_2} [Ring R] (S : Subring R) :
    S.op = MulOpposite.unop ⁻¹' S
    @[simp]
    theorem Subring.mem_op {R : Type u_2} [Ring R] {x : Rᵐᵒᵖ} {S : Subring R} :
    def Subring.unop {R : Type u_2} [Ring R] (S : Subring Rᵐᵒᵖ) :

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

    Equations
    • S.unop = { toSubsemiring := S.unop, neg_mem' := }
    Instances For
      @[simp]
      theorem Subring.unop_toSubsemiring {R : Type u_2} [Ring R] (S : Subring Rᵐᵒᵖ) :
      S.unop.toSubsemiring = S.unop
      @[simp]
      theorem Subring.unop_coe {R : Type u_2} [Ring R] (S : Subring Rᵐᵒᵖ) :
      S.unop = MulOpposite.op ⁻¹' S
      @[simp]
      theorem Subring.mem_unop {R : Type u_2} [Ring R] {x : R} {S : Subring Rᵐᵒᵖ} :
      x S.unop MulOpposite.op x S
      @[simp]
      theorem Subring.unop_op {R : Type u_2} [Ring R] (S : Subring R) :
      S.op.unop = S
      @[simp]
      theorem Subring.op_unop {R : Type u_2} [Ring R] (S : Subring Rᵐᵒᵖ) :
      S.unop.op = S

      Lattice results #

      theorem Subring.op_le_iff {R : Type u_2} [Ring R] {S₁ : Subring R} {S₂ : Subring Rᵐᵒᵖ} :
      S₁.op S₂ S₁ S₂.unop
      theorem Subring.le_op_iff {R : Type u_2} [Ring R] {S₁ : Subring Rᵐᵒᵖ} {S₂ : Subring R} :
      S₁ S₂.op S₁.unop S₂
      @[simp]
      theorem Subring.op_le_op_iff {R : Type u_2} [Ring R] {S₁ : Subring R} {S₂ : Subring R} :
      S₁.op S₂.op S₁ S₂
      @[simp]
      theorem Subring.unop_le_unop_iff {R : Type u_2} [Ring R] {S₁ : Subring Rᵐᵒᵖ} {S₂ : Subring Rᵐᵒᵖ} :
      S₁.unop S₂.unop S₁ S₂

      A subring S of R determines a subring S.op of the opposite ring Rᵐᵒᵖ.

      Equations
      • Subring.opEquiv = { toFun := Subring.op, invFun := Subring.unop, left_inv := , right_inv := , map_rel_iff' := }
      Instances For
        @[simp]
        theorem Subring.opEquiv_symm_apply {R : Type u_2} [Ring R] (S : Subring Rᵐᵒᵖ) :
        (RelIso.symm Subring.opEquiv) S = S.unop
        @[simp]
        theorem Subring.opEquiv_apply {R : Type u_2} [Ring R] (S : Subring R) :
        Subring.opEquiv S = S.op
        theorem Subring.op_injective {R : Type u_2} [Ring R] :
        theorem Subring.unop_injective {R : Type u_2} [Ring R] :
        Function.Injective Subring.unop
        @[simp]
        theorem Subring.op_inj {R : Type u_2} [Ring R] {S : Subring R} {T : Subring R} :
        S.op = T.op S = T
        @[simp]
        theorem Subring.unop_inj {R : Type u_2} [Ring R] {S : Subring Rᵐᵒᵖ} {T : Subring Rᵐᵒᵖ} :
        S.unop = T.unop S = T
        @[simp]
        theorem Subring.op_bot {R : Type u_2} [Ring R] :
        .op =
        @[simp]
        theorem Subring.op_eq_bot {R : Type u_2} [Ring R] {S : Subring R} :
        S.op = S =
        @[simp]
        theorem Subring.unop_bot {R : Type u_2} [Ring R] :
        .unop =
        @[simp]
        theorem Subring.unop_eq_bot {R : Type u_2} [Ring R] {S : Subring Rᵐᵒᵖ} :
        S.unop = S =
        @[simp]
        theorem Subring.op_top {R : Type u_2} [Ring R] :
        .op =
        @[simp]
        theorem Subring.op_eq_top {R : Type u_2} [Ring R] {S : Subring R} :
        S.op = S =
        @[simp]
        theorem Subring.unop_top {R : Type u_2} [Ring R] :
        .unop =
        @[simp]
        theorem Subring.unop_eq_top {R : Type u_2} [Ring R] {S : Subring Rᵐᵒᵖ} :
        S.unop = S =
        theorem Subring.op_sup {R : Type u_2} [Ring R] (S₁ : Subring R) (S₂ : Subring R) :
        (S₁ S₂).op = S₁.op S₂.op
        theorem Subring.unop_sup {R : Type u_2} [Ring R] (S₁ : Subring Rᵐᵒᵖ) (S₂ : Subring Rᵐᵒᵖ) :
        (S₁ S₂).unop = S₁.unop S₂.unop
        theorem Subring.op_inf {R : Type u_2} [Ring R] (S₁ : Subring R) (S₂ : Subring R) :
        (S₁ S₂).op = S₁.op S₂.op
        theorem Subring.unop_inf {R : Type u_2} [Ring R] (S₁ : Subring Rᵐᵒᵖ) (S₂ : Subring Rᵐᵒᵖ) :
        (S₁ S₂).unop = S₁.unop S₂.unop
        theorem Subring.op_sSup {R : Type u_2} [Ring R] (S : Set (Subring R)) :
        (sSup S).op = sSup (Subring.unop ⁻¹' S)
        theorem Subring.unop_sSup {R : Type u_2} [Ring R] (S : Set (Subring Rᵐᵒᵖ)) :
        (sSup S).unop = sSup (Subring.op ⁻¹' S)
        theorem Subring.op_sInf {R : Type u_2} [Ring R] (S : Set (Subring R)) :
        (sInf S).op = sInf (Subring.unop ⁻¹' S)
        theorem Subring.unop_sInf {R : Type u_2} [Ring R] (S : Set (Subring Rᵐᵒᵖ)) :
        (sInf S).unop = sInf (Subring.op ⁻¹' S)
        theorem Subring.op_iSup {ι : Sort u_1} {R : Type u_2} [Ring R] (S : ιSubring R) :
        (iSup S).op = ⨆ (i : ι), (S i).op
        theorem Subring.unop_iSup {ι : Sort u_1} {R : Type u_2} [Ring R] (S : ιSubring Rᵐᵒᵖ) :
        (iSup S).unop = ⨆ (i : ι), (S i).unop
        theorem Subring.op_iInf {ι : Sort u_1} {R : Type u_2} [Ring R] (S : ιSubring R) :
        (iInf S).op = ⨅ (i : ι), (S i).op
        theorem Subring.unop_iInf {ι : Sort u_1} {R : Type u_2} [Ring R] (S : ιSubring Rᵐᵒᵖ) :
        (iInf S).unop = ⨅ (i : ι), (S i).unop
        theorem Subring.op_closure {R : Type u_2} [Ring R] (s : Set R) :
        (Subring.closure s).op = Subring.closure (MulOpposite.unop ⁻¹' s)
        theorem Subring.unop_closure {R : Type u_2} [Ring R] (s : Set Rᵐᵒᵖ) :
        (Subring.closure s).unop = Subring.closure (MulOpposite.op ⁻¹' s)
        def Subring.addEquivOp {R : Type u_2} [Ring R] (S : Subring R) :
        S ≃+ S.op

        Bijection between a subring S and its opposite.

        Equations
        • S.addEquivOp = S.addEquivOp
        Instances For
          @[simp]
          theorem Subring.addEquivOp_symm_apply_coe {R : Type u_2} [Ring R] (S : Subring R) (b : S.op) :
          (S.addEquivOp.symm b) = MulOpposite.unop b
          @[simp]
          theorem Subring.addEquivOp_apply_coe {R : Type u_2} [Ring R] (S : Subring R) (a : S.toSubmonoid) :
          (S.addEquivOp a) = MulOpposite.op a
          def Subring.ringEquivOpMop {R : Type u_2} [Ring R] (S : Subring R) :
          S ≃+* (↥S.op)ᵐᵒᵖ

          Bijection between a subring S and MulOpposite of its opposite.

          Equations
          • S.ringEquivOpMop = S.ringEquivOpMop
          Instances For
            @[simp]
            theorem Subring.ringEquivOpMop_apply {R : Type u_2} [Ring 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} [Ring R] (S : Subring R) :
            ∀ (a : (↥S.op)ᵐᵒᵖ), (S.ringEquivOpMop.symm a) = MulOpposite.unop (MulOpposite.unop a)
            def Subring.mopRingEquivOp {R : Type u_2} [Ring R] (S : Subring R) :
            (↥S)ᵐᵒᵖ ≃+* S.op

            Bijection between MulOpposite of a subring S and its opposite.

            Equations
            • S.mopRingEquivOp = S.mopRingEquivOp
            Instances For
              @[simp]
              theorem Subring.mopRingEquivOp_apply_coe {R : Type u_2} [Ring R] (S : Subring R) :
              ∀ (a : (↥S.toSubsemiring)ᵐᵒᵖ), (S.mopRingEquivOp a) = MulOpposite.op (MulOpposite.unop a)
              @[simp]
              theorem Subring.mopRingEquivOp_symm_apply {R : Type u_2} [Ring R] (S : Subring R) :
              ∀ (a : S.op), S.mopRingEquivOp.symm a = MulOpposite.op (S.addEquivOp.symm a)