Multiplicative and additive equivs #
This file contains basic results on MulEquiv and AddEquiv.
Tags #
Equiv, MulEquiv, AddEquiv
The MulEquiv between two monoids with a unique element.
Equations
- MulEquiv.ofUnique = { toEquiv := Equiv.ofUnique M N, map_mul' := ⋯ }
Instances For
There is a unique monoid homomorphism between two monoids with a unique element.
Equations
- MulEquiv.instUnique = { default := MulEquiv.ofUnique, uniq := ⋯ }
There is a unique additive monoid homomorphism between two additive monoids with a unique element.
Equations
- AddEquiv.instUnique = { default := AddEquiv.ofUnique, uniq := ⋯ }
Monoids #
A multiplicative analogue of Equiv.arrowCongr,
where the equivalence between the targets is multiplicative.
Equations
Instances For
An additive analogue of Equiv.arrowCongr,
where the equivalence between the targets is additive.
Equations
Instances For
The equivalence (M₁ →* N) ≃ (M₂ →* N) obtained by postcomposition with
a multiplicative equivalence e : M₁ ≃* M₂.
Equations
- e.monoidHomCongrLeftEquiv = { toFun := fun (f : M₁ →* N) => f.comp e.symm.toMonoidHom, invFun := fun (f : M₂ →* N) => f.comp e.toMonoidHom, left_inv := ⋯, right_inv := ⋯ }
Instances For
The equivalence (M₁ →+ N) ≃ (M₂ →+ N) obtained by postcomposition with
an additive equivalence e : M₁ ≃+ M₂.
Equations
- e.addMonoidHomCongrLeftEquiv = { toFun := fun (f : M₁ →+ N) => f.comp e.symm.toAddMonoidHom, invFun := fun (f : M₂ →+ N) => f.comp e.toAddMonoidHom, left_inv := ⋯, right_inv := ⋯ }
Instances For
The equivalence (M →* N₁) ≃ (M →* N₂) obtained by postcomposition with
a multiplicative equivalence e : N₁ ≃* N₂.
Equations
- e.monoidHomCongrRightEquiv = { toFun := e.toMonoidHom.comp, invFun := e.symm.toMonoidHom.comp, left_inv := ⋯, right_inv := ⋯ }
Instances For
The equivalence (M →+ N₁) ≃ (M →+ N₂) obtained by postcomposition with
an additive equivalence e : N₁ ≃+ N₂.
Equations
- e.addMonoidHomCongrRightEquiv = { toFun := e.toAddMonoidHom.comp, invFun := e.symm.toAddMonoidHom.comp, left_inv := ⋯, right_inv := ⋯ }
Instances For
The isomorphism (M₁ →* N) ≃* (M₂ →* N) obtained by postcomposition with
a multiplicative equivalence e : M₁ ≃* M₂.
Equations
- e.monoidHomCongrLeft = { toEquiv := e.monoidHomCongrLeftEquiv, map_mul' := ⋯ }
Instances For
The isomorphism (M₁ →+ N) ≃+ (M₂ →+ N) obtained by postcomposition with
an additive equivalence e : M₁ ≃+ M₂.
Equations
- e.addMonoidHomCongrLeft = { toEquiv := e.addMonoidHomCongrLeftEquiv, map_add' := ⋯ }
Instances For
The isomorphism (M →* N₁) ≃* (M →* N₂) obtained by postcomposition with
a multiplicative equivalence e : N₁ ≃* N₂.
Equations
- e.monoidHomCongrRight = { toEquiv := e.monoidHomCongrRightEquiv, map_mul' := ⋯ }
Instances For
The isomorphism (M →+ N₁) ≃+ (M →+ N₂) obtained by postcomposition with
an additive equivalence e : N₁ ≃+ N₂.
Equations
- e.addMonoidHomCongrRight = { toEquiv := e.addMonoidHomCongrRightEquiv, map_add' := ⋯ }
Instances For
A multiplicative analogue of Equiv.arrowCongr,
for multiplicative maps from a monoid to a commutative monoid.
Equations
Instances For
An additive analogue of Equiv.arrowCongr,
for additive maps from an additive monoid to a commutative additive monoid.
Equations
Instances For
A family of multiplicative equivalences Π j, (Ms j ≃* Ns j) generates a
multiplicative equivalence between Π j, Ms j and Π j, Ns j.
This is the MulEquiv version of Equiv.piCongrRight, and the dependent version of
MulEquiv.arrowCongr.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A family of additive equivalences Π j, (Ms j ≃+ Ns j)
generates an additive equivalence between Π j, Ms j and Π j, Ns j.
This is the AddEquiv version of Equiv.piCongrRight, and the dependent version of
AddEquiv.arrowCongr.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A family indexed by a type with a unique element
is MulEquiv to the element at the single index.
Equations
- MulEquiv.piUnique M = { toEquiv := Equiv.piUnique M, map_mul' := ⋯ }
Instances For
A family indexed by a type with a unique element
is AddEquiv to the element at the single index.
Equations
- AddEquiv.piUnique M = { toEquiv := Equiv.piUnique M, map_add' := ⋯ }
Instances For
The equivalence (β →* γ) ≃ (α →* γ) obtained by precomposition with
a multiplicative equivalence e : α ≃* β.
Equations
Instances For
The equivalence (β →+ γ) ≃ (α →+ γ) obtained by precomposition with
an additive equivalence e : α ≃+ β.
Equations
Instances For
The equivalence (γ →* α) ≃ (γ →* β) obtained by postcomposition with
a multiplicative equivalence e : α ≃* β.
Equations
- MonoidHom.postcompEquiv e γ = { toFun := fun (f : γ →* α) => e.toMonoidHom.comp f, invFun := fun (g : γ →* β) => e.symm.toMonoidHom.comp g, left_inv := ⋯, right_inv := ⋯ }
Instances For
The equivalence (γ →+ α) ≃ (γ →+ β) obtained by postcomposition with
an additive equivalence e : α ≃+ β.
Equations
- AddMonoidHom.postcompEquiv e γ = { toFun := fun (f : γ →+ α) => e.toAddMonoidHom.comp f, invFun := fun (g : γ →+ β) => e.symm.toAddMonoidHom.comp g, left_inv := ⋯, right_inv := ⋯ }
Instances For
Inversion on a Group or GroupWithZero is a permutation of the underlying type.