HepLean Documentation

Mathlib.Algebra.Ring.Opposite

Ring structures on the multiplicative opposite #

Equations
Equations
Equations
Equations
Equations
  • MulOpposite.instSemiring = Semiring.mk Monoid.npow
Equations
Equations
Equations
Equations
Equations
instance MulOpposite.instRing {α : Type u_1} [Ring α] :
Equations
  • MulOpposite.instRing = Ring.mk SubNegMonoid.zsmul
Equations
Equations
instance MulOpposite.instIsDomain {α : Type u_1} [Ring α] [IsDomain α] :
Equations
  • =
Equations
  • MulOpposite.instGroupWithZero = GroupWithZero.mk DivInvMonoid.zpow
Equations
Equations
Equations
Equations
Equations
  • AddOpposite.instSemiring = Semiring.mk Monoid.npow
Equations
Equations
Equations
Equations
Equations
instance AddOpposite.instRing {α : Type u_1} [Ring α] :
Equations
  • AddOpposite.instRing = Ring.mk SubNegMonoid.zsmul
Equations
Equations
instance AddOpposite.instIsDomain {α : Type u_1} [Ring α] [IsDomain α] :
Equations
  • =
@[simp]
theorem NonUnitalRingHom.toOpposite_apply {R : Type u_2} {S : Type u_3} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] (f : R →ₙ+* S) (hf : ∀ (x y : R), Commute (f x) (f y)) :
(f.toOpposite hf) = MulOpposite.op f
def NonUnitalRingHom.toOpposite {R : Type u_2} {S : Type u_3} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] (f : R →ₙ+* S) (hf : ∀ (x y : R), Commute (f x) (f y)) :

A non-unital ring homomorphism f : R →ₙ+* S such that f x commutes with f y for all x, y defines a non-unital ring homomorphism to Sᵐᵒᵖ.

Equations
  • f.toOpposite hf = { toFun := MulOpposite.op f, map_mul' := , map_zero' := , map_add' := }
Instances For
    @[simp]
    theorem NonUnitalRingHom.fromOpposite_apply {R : Type u_2} {S : Type u_3} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] (f : R →ₙ+* S) (hf : ∀ (x y : R), Commute (f x) (f y)) :
    (f.fromOpposite hf) = f MulOpposite.unop
    def NonUnitalRingHom.fromOpposite {R : Type u_2} {S : Type u_3} [NonUnitalNonAssocSemiring R] [NonUnitalNonAssocSemiring S] (f : R →ₙ+* S) (hf : ∀ (x y : R), Commute (f x) (f y)) :

    A non-unital ring homomorphism f : R →ₙ* S such that f x commutes with f y for all x, y defines a non-unital ring homomorphism from Rᵐᵒᵖ.

    Equations
    • f.fromOpposite hf = { toFun := f MulOpposite.unop, map_mul' := , map_zero' := , map_add' := }
    Instances For
      @[simp]
      theorem NonUnitalRingHom.op_apply_apply {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : α →ₙ+* β) :
      ∀ (a : αᵐᵒᵖ), (NonUnitalRingHom.op f) a = (↑(AddMonoidHom.mulOp f.toAddMonoidHom)).toFun a
      @[simp]
      theorem NonUnitalRingHom.op_symm_apply_apply {α : Type u_2} {β : Type u_3} [NonUnitalNonAssocSemiring α] [NonUnitalNonAssocSemiring β] (f : αᵐᵒᵖ →ₙ+* βᵐᵒᵖ) :
      ∀ (a : α), (NonUnitalRingHom.op.symm f) a = (↑(AddMonoidHom.mulUnop f.toAddMonoidHom)).toFun a

      A non-unital ring hom α →ₙ+* β can equivalently be viewed as a non-unital ring hom αᵐᵒᵖ →+* βᵐᵒᵖ. This is the action of the (fully faithful) ᵐᵒᵖ-functor on morphisms.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        The 'unopposite' of a non-unital ring hom αᵐᵒᵖ →ₙ+* βᵐᵒᵖ. Inverse to NonUnitalRingHom.op.

        Equations
        • NonUnitalRingHom.unop = NonUnitalRingHom.op.symm
        Instances For
          @[simp]
          theorem RingHom.toOpposite_apply {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (hf : ∀ (x y : R), Commute (f x) (f y)) :
          (f.toOpposite hf) = MulOpposite.op f
          def RingHom.toOpposite {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (hf : ∀ (x y : R), Commute (f x) (f y)) :

          A ring homomorphism f : R →+* S such that f x commutes with f y for all x, y defines a ring homomorphism to Sᵐᵒᵖ.

          Equations
          • f.toOpposite hf = { toFun := MulOpposite.op f, map_one' := , map_mul' := , map_zero' := , map_add' := }
          Instances For
            @[simp]
            theorem RingHom.fromOpposite_apply {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (hf : ∀ (x y : R), Commute (f x) (f y)) :
            (f.fromOpposite hf) = f MulOpposite.unop
            def RingHom.fromOpposite {R : Type u_2} {S : Type u_3} [Semiring R] [Semiring S] (f : R →+* S) (hf : ∀ (x y : R), Commute (f x) (f y)) :

            A ring homomorphism f : R →+* S such that f x commutes with f y for all x, y defines a ring homomorphism from Rᵐᵒᵖ.

            Equations
            • f.fromOpposite hf = { toFun := f MulOpposite.unop, map_one' := , map_mul' := , map_zero' := , map_add' := }
            Instances For
              @[simp]
              theorem RingHom.op_apply_apply {α : Type u_2} {β : Type u_3} [NonAssocSemiring α] [NonAssocSemiring β] (f : α →+* β) :
              ∀ (a : αᵐᵒᵖ), (RingHom.op f) a = MulOpposite.op (f (MulOpposite.unop a))
              @[simp]
              theorem RingHom.op_symm_apply_apply {α : Type u_2} {β : Type u_3} [NonAssocSemiring α] [NonAssocSemiring β] (f : αᵐᵒᵖ →+* βᵐᵒᵖ) :
              ∀ (a : α), (RingHom.op.symm f) a = MulOpposite.unop (f (MulOpposite.op a))
              def RingHom.op {α : Type u_2} {β : Type u_3} [NonAssocSemiring α] [NonAssocSemiring β] :

              A ring hom α →+* β can equivalently be viewed as a ring hom αᵐᵒᵖ →+* βᵐᵒᵖ. This is the action of the (fully faithful) ᵐᵒᵖ-functor on morphisms.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def RingHom.unop {α : Type u_2} {β : Type u_3} [NonAssocSemiring α] [NonAssocSemiring β] :

                The 'unopposite' of a ring hom αᵐᵒᵖ →+* βᵐᵒᵖ. Inverse to RingHom.op.

                Equations
                • RingHom.unop = RingHom.op.symm
                Instances For