Ring structures on the multiplicative opposite #
Equations
- MulOpposite.instDistrib = Distrib.mk ⋯ ⋯
Equations
- MulOpposite.instNonUnitalNonAssocSemiring = NonUnitalNonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯
Equations
- MulOpposite.instNonUnitalSemiring = NonUnitalSemiring.mk ⋯
Equations
- MulOpposite.instNonAssocSemiring = NonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯
Equations
- MulOpposite.instSemiring = Semiring.mk ⋯ ⋯ ⋯ ⋯ Monoid.npow ⋯ ⋯
Equations
- MulOpposite.instNonUnitalCommSemiring = NonUnitalCommSemiring.mk ⋯
Equations
- MulOpposite.instCommSemiring = CommSemiring.mk ⋯
Equations
- MulOpposite.instNonUnitalNonAssocRing = NonUnitalNonAssocRing.mk ⋯ ⋯ ⋯ ⋯
Equations
- MulOpposite.instNonUnitalRing = NonUnitalRing.mk ⋯
Equations
- MulOpposite.instNonAssocRing = NonAssocRing.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- MulOpposite.instNonUnitalCommRing = NonUnitalCommRing.mk ⋯
Equations
- MulOpposite.instCommRing = CommRing.mk ⋯
Equations
- MulOpposite.instGroupWithZero = GroupWithZero.mk ⋯ DivInvMonoid.zpow ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- AddOpposite.instDistrib = Distrib.mk ⋯ ⋯
Equations
- AddOpposite.instNonUnitalNonAssocSemiring = NonUnitalNonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯
Equations
- AddOpposite.instNonUnitalSemiring = NonUnitalSemiring.mk ⋯
Equations
- AddOpposite.instNonAssocSemiring = NonAssocSemiring.mk ⋯ ⋯ ⋯ ⋯
Equations
- AddOpposite.instSemiring = Semiring.mk ⋯ ⋯ ⋯ ⋯ Monoid.npow ⋯ ⋯
Equations
- AddOpposite.instNonUnitalCommSemiring = NonUnitalCommSemiring.mk ⋯
Equations
- AddOpposite.instCommSemiring = CommSemiring.mk ⋯
Equations
- AddOpposite.instNonUnitalNonAssocRing = NonUnitalNonAssocRing.mk ⋯ ⋯ ⋯ ⋯
Equations
- AddOpposite.instNonUnitalRing = NonUnitalRing.mk ⋯
Equations
- AddOpposite.instNonAssocRing = NonAssocRing.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- AddOpposite.instNonUnitalCommRing = NonUnitalCommRing.mk ⋯
Equations
- AddOpposite.instCommRing = CommRing.mk ⋯
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
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))
:
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
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))
:
def
NonUnitalRingHom.op
{α : Type u_2}
{β : Type u_3}
[NonUnitalNonAssocSemiring α]
[NonUnitalNonAssocSemiring β]
:
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
@[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✝
@[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✝
def
NonUnitalRingHom.unop
{α : Type u_2}
{β : Type u_3}
[NonUnitalNonAssocSemiring α]
[NonUnitalNonAssocSemiring β]
:
The 'unopposite' of a non-unital ring hom αᵐᵒᵖ →ₙ+* βᵐᵒᵖ
. Inverse to
NonUnitalRingHom.op
.
Equations
- NonUnitalRingHom.unop = NonUnitalRingHom.op.symm
Instances For
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
@[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✝))
@[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✝))
The 'unopposite' of a ring hom αᵐᵒᵖ →+* βᵐᵒᵖ
. Inverse to RingHom.op
.
Equations
- RingHom.unop = RingHom.op.symm