Documentation

Mathlib.Algebra.Ring.Opposite

Ring structures on the multiplicative opposite #

@[implicit_reducible]
instance MulOpposite.instNatCast {R : Type u_1} [NatCast R] :
@[implicit_reducible]
instance AddOpposite.instNatCast {R : Type u_1} [NatCast R] :
@[implicit_reducible]
instance MulOpposite.instIntCast {R : Type u_1} [IntCast R] :
@[implicit_reducible]
instance AddOpposite.instIntCast {R : Type u_1} [IntCast R] :
@[simp]
theorem MulOpposite.op_natCast {R : Type u_1} [NatCast R] (n : ā„•) :
op ↑n = ↑n
@[simp]
theorem AddOpposite.op_natCast {R : Type u_1} [NatCast R] (n : ā„•) :
op ↑n = ↑n
@[simp]
theorem MulOpposite.op_ofNat {R : Type u_1} [NatCast R] (n : ā„•) [n.AtLeastTwo] :
op (OfNat.ofNat n) = OfNat.ofNat n
@[simp]
theorem AddOpposite.op_ofNat {R : Type u_1} [NatCast R] (n : ā„•) [n.AtLeastTwo] :
op (OfNat.ofNat n) = OfNat.ofNat n
@[simp]
theorem MulOpposite.op_intCast {R : Type u_1} [IntCast R] (n : ℤ) :
op ↑n = ↑n
@[simp]
theorem AddOpposite.op_intCast {R : Type u_1} [IntCast R] (n : ℤ) :
op ↑n = ↑n
@[simp]
theorem MulOpposite.unop_natCast {R : Type u_1} [NatCast R] (n : ā„•) :
unop ↑n = ↑n
@[simp]
theorem AddOpposite.unop_natCast {R : Type u_1} [NatCast R] (n : ā„•) :
unop ↑n = ↑n
@[simp]
theorem MulOpposite.unop_ofNat {R : Type u_1} [NatCast R] (n : ā„•) [n.AtLeastTwo] :
unop (OfNat.ofNat n) = OfNat.ofNat n
@[simp]
theorem AddOpposite.unop_ofNat {R : Type u_1} [NatCast R] (n : ā„•) [n.AtLeastTwo] :
unop (OfNat.ofNat n) = OfNat.ofNat n
@[simp]
theorem MulOpposite.unop_intCast {R : Type u_1} [IntCast R] (n : ℤ) :
unop ↑n = ↑n
@[simp]
theorem AddOpposite.unop_intCast {R : Type u_1} [IntCast R] (n : ℤ) :
unop ↑n = ↑n
@[implicit_reducible]
@[implicit_reducible]

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

Instances For
    @[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

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

    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

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

      Instances For

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

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

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

            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

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

              Instances For
                @[simp]
                theorem RingHom.op_apply_apply {R : Type u_2} {S : Type u_3} [NonAssocSemiring R] [NonAssocSemiring S] (f : R →+* S) (aāœ : Rᵐᵒᵖ) :
                (op f) aāœ = MulOpposite.op (f (MulOpposite.unop aāœ))

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

                Instances For