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' := }
@[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' := }
@[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.

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

Equations
  • NonUnitalRingHom.unop = NonUnitalRingHom.op.symm
@[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' := }
@[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' := }
@[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.
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