Group structures on the multiplicative and additive opposites #
Additive structures on αᵐᵒᵖ
#
Equations
- MulOpposite.instNatCast = { natCast := fun (n : ℕ) => MulOpposite.op ↑n }
Equations
- AddOpposite.instNatCast = { natCast := fun (n : ℕ) => AddOpposite.op ↑n }
Equations
- MulOpposite.instIntCast = { intCast := fun (n : ℤ) => MulOpposite.op ↑n }
Equations
- AddOpposite.instIntCast = { intCast := fun (n : ℤ) => AddOpposite.op ↑n }
Equations
Equations
Equations
Equations
Equations
- MulOpposite.instAddGroup = Function.Injective.addGroup MulOpposite.unop ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
Equations
- MulOpposite.instAddGroupWithOne = AddGroupWithOne.mk ⋯ SubNegMonoid.zsmul ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
Multiplicative structures on αᵐᵒᵖ
#
We also generate additive structures on αᵃᵒᵖ
using to_additive
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- MulOpposite.instMonoid = Monoid.mk ⋯ ⋯ (fun (n : ℕ) (a : αᵐᵒᵖ) => MulOpposite.op (MulOpposite.unop a ^ n)) ⋯ ⋯
Equations
- AddOpposite.instAddMonoid = AddMonoid.mk ⋯ ⋯ (fun (n : ℕ) (a : αᵃᵒᵖ) => AddOpposite.op (n • AddOpposite.unop a)) ⋯ ⋯
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- MulOpposite.instDivInvMonoid = DivInvMonoid.mk ⋯ (fun (n : ℤ) (a : αᵐᵒᵖ) => MulOpposite.op (MulOpposite.unop a ^ n)) ⋯ ⋯ ⋯
Equations
- AddOpposite.instSubNegMonoid = SubNegMonoid.mk ⋯ (fun (n : ℤ) (a : αᵃᵒᵖ) => AddOpposite.op (n • AddOpposite.unop a)) ⋯ ⋯ ⋯
Equations
Equations
Equations
Equations
Equations
Equations
The function MulOpposite.op
is an additive equivalence.
Equations
- MulOpposite.opAddEquiv = { toEquiv := MulOpposite.opEquiv, map_add' := ⋯ }
Instances For
Multiplicative structures on αᵃᵒᵖ
#
Equations
- AddOpposite.pow = { pow := fun (a : αᵃᵒᵖ) (b : β) => AddOpposite.op (AddOpposite.unop a ^ b) }
Equations
Equations
Equations
Equations
- AddOpposite.instGroup = Function.Injective.group AddOpposite.unop ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
Equations
Equations
The function AddOpposite.op
is a multiplicative equivalence.
Equations
- AddOpposite.opMulEquiv = { toEquiv := AddOpposite.opEquiv, map_mul' := ⋯ }
Instances For
Inversion on a group is a MulEquiv
to the opposite group. When G
is commutative, there is
MulEquiv.inv
.
Equations
- MulEquiv.inv' G = { toEquiv := Equiv.trans (Equiv.inv G) MulOpposite.opEquiv, map_mul' := ⋯ }
Instances For
Negation on an additive group is an AddEquiv
to the opposite group. When G
is commutative, there is AddEquiv.inv
.
Equations
- AddEquiv.neg' G = { toEquiv := Equiv.trans (Equiv.neg G) AddOpposite.opEquiv, map_add' := ⋯ }
Instances For
A semigroup homomorphism f : M →ₙ* N
such that f x
commutes with f y
for all x, y
defines a semigroup homomorphism to Nᵐᵒᵖ
.
Equations
- f.toOpposite hf = { toFun := MulOpposite.op ∘ ⇑f, map_mul' := ⋯ }
Instances For
An additive semigroup homomorphism f : AddHom M N
such that f x
additively
commutes with f y
for all x, y
defines an additive semigroup homomorphism to Sᵃᵒᵖ
.
Equations
- f.toOpposite hf = { toFun := AddOpposite.op ∘ ⇑f, map_add' := ⋯ }
Instances For
A semigroup homomorphism f : M →ₙ* N
such that f x
commutes with f y
for all x, y
defines a semigroup homomorphism from Mᵐᵒᵖ
.
Equations
- f.fromOpposite hf = { toFun := ⇑f ∘ MulOpposite.unop, map_mul' := ⋯ }
Instances For
An additive semigroup homomorphism f : AddHom M N
such that f x
additively
commutes with f y
for all x
, y
defines an additive semigroup homomorphism from Mᵃᵒᵖ
.
Equations
- f.fromOpposite hf = { toFun := ⇑f ∘ AddOpposite.unop, map_add' := ⋯ }
Instances For
A monoid homomorphism f : M →* N
such that f x
commutes with f y
for all x, y
defines
a monoid homomorphism to Nᵐᵒᵖ
.
Equations
- f.toOpposite hf = { toFun := MulOpposite.op ∘ ⇑f, map_one' := ⋯, map_mul' := ⋯ }
Instances For
An additive monoid homomorphism f : M →+ N
such that f x
additively commutes
with f y
for all x, y
defines an additive monoid homomorphism to Sᵃᵒᵖ
.
Equations
- f.toOpposite hf = { toFun := AddOpposite.op ∘ ⇑f, map_zero' := ⋯, map_add' := ⋯ }
Instances For
A monoid homomorphism f : M →* N
such that f x
commutes with f y
for all x, y
defines
a monoid homomorphism from Mᵐᵒᵖ
.
Equations
- f.fromOpposite hf = { toFun := ⇑f ∘ MulOpposite.unop, map_one' := ⋯, map_mul' := ⋯ }
Instances For
An additive monoid homomorphism f : M →+ N
such that f x
additively commutes
with f y
for all x
, y
defines an additive monoid homomorphism from Mᵃᵒᵖ
.
Equations
- f.fromOpposite hf = { toFun := ⇑f ∘ AddOpposite.unop, map_zero' := ⋯, map_add' := ⋯ }
Instances For
A semigroup homomorphism M →ₙ* N
can equivalently be viewed as a semigroup homomorphism
Mᵐᵒᵖ →ₙ* Nᵐᵒᵖ
. 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 an additive semigroup hom αᵐᵒᵖ →+ βᵐᵒᵖ
. Inverse to
AddHom.mul_op
.
Equations
- AddHom.mulUnop = AddHom.mulOp.symm
Instances For
A monoid homomorphism M →* N
can equivalently be viewed as a monoid homomorphism
Mᵐᵒᵖ →* Nᵐᵒᵖ
. 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
An additive monoid homomorphism M →+ N
can equivalently be viewed as an
additive monoid homomorphism Mᵃᵒᵖ →+ Nᵃᵒᵖ
. 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 monoid homomorphism Mᵐᵒᵖ →* Nᵐᵒᵖ
. Inverse to MonoidHom.op
.
Equations
- MonoidHom.unop = MonoidHom.op.symm
Instances For
The 'unopposite' of an additive monoid homomorphism Mᵃᵒᵖ →+ Nᵃᵒᵖ
. Inverse to
AddMonoidHom.op
.
Equations
Instances For
A monoid is isomorphic to the opposite of its opposite.
Equations
- MulEquiv.opOp M = { toEquiv := MulOpposite.opEquiv.trans MulOpposite.opEquiv, map_mul' := ⋯ }
Instances For
A additive monoid is isomorphic to the opposite of its opposite.
Equations
- AddEquiv.opOp M = { toEquiv := AddOpposite.opEquiv.trans AddOpposite.opEquiv, map_add' := ⋯ }
Instances For
An additive homomorphism M →+ N
can equivalently be viewed as an additive homomorphism
Mᵐᵒᵖ →+ Nᵐᵒᵖ
. 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 an additive monoid hom αᵐᵒᵖ →+ βᵐᵒᵖ
. Inverse to
AddMonoidHom.mul_op
.
Equations
Instances For
The 'unopposite' of an iso αᵐᵒᵖ ≃+ βᵐᵒᵖ
. Inverse to AddEquiv.mul_op
.
Equations
Instances For
The 'unopposite' of an iso αᵐᵒᵖ ≃* βᵐᵒᵖ
. Inverse to MulEquiv.op
.
Equations
- MulEquiv.unop = MulEquiv.op.symm
Instances For
The 'unopposite' of an iso αᵃᵒᵖ ≃+ βᵃᵒᵖ
. Inverse to AddEquiv.op
.
Equations
- AddEquiv.unop = AddEquiv.op.symm
Instances For
This ext lemma changes equalities on αᵐᵒᵖ →+ β
to equalities on α →+ β
.
This is useful because there are often ext lemmas for specific α
s that will apply
to an equality of α →+ β
such as Finsupp.addHom_ext'
.