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
The AddEquiv
between two AddMonoid
s with a unique element.
Equations
- AddEquiv.ofUnique = { toEquiv := Equiv.ofUnique M N, map_add' := ⋯ }
Instances For
Alias of MulEquiv.ofUnique
.
The MulEquiv
between two monoids with a unique element.
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
- MulEquiv.arrowCongr f g = { toFun := fun (h : M → P) (n : N) => g (h (f.symm n)), invFun := fun (k : N → Q) (m : M) => g.symm (k (f m)), left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯ }
Instances For
An additive analogue of Equiv.arrowCongr
,
where the equivalence between the targets is additive.
Equations
- AddEquiv.arrowCongr f g = { toFun := fun (h : M → P) (n : N) => g (h (f.symm n)), invFun := fun (k : N → Q) (m : M) => g.symm (k (f m)), left_inv := ⋯, right_inv := ⋯, map_add' := ⋯ }
Instances For
A multiplicative analogue of Equiv.arrowCongr
,
for multiplicative maps from a monoid to a commutative monoid.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An additive analogue of Equiv.arrowCongr
,
for additive maps from an additive monoid to a commutative additive monoid.
Equations
- One or more equations did not get rendered due to their size.
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
- MonoidHom.precompEquiv e γ = { toFun := fun (f : β →* γ) => f.comp ↑e, invFun := fun (g : α →* γ) => g.comp ↑e.symm, left_inv := ⋯, right_inv := ⋯ }
Instances For
The equivalence (β →+ γ) ≃ (α →+ γ)
obtained by precomposition with
an additive equivalence e : α ≃+ β
.
Equations
- AddMonoidHom.precompEquiv e γ = { toFun := fun (f : β →+ γ) => f.comp ↑e, invFun := fun (g : α →+ γ) => g.comp ↑e.symm, left_inv := ⋯, right_inv := ⋯ }
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.