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'.