Isomorphism between FreeAbelianGroup X and X →₀ ℤ #
In this file we construct the canonical isomorphism between FreeAbelianGroup X and X →₀ ℤ.
We use this to transport the notion of support from Finsupp to FreeAbelianGroup.
Main declarations #
FreeAbelianGroup.equivFinsupp: group isomorphism betweenFreeAbelianGroup XandX →₀ ℤFreeAbelianGroup.coeff: the multiplicity ofx : Xina : FreeAbelianGroup XFreeAbelianGroup.support: the finset ofx : Xthat occur ina : FreeAbelianGroup X
The group homomorphism FreeAbelianGroup X →+ (X →₀ ℤ).
Equations
- FreeAbelianGroup.toFinsupp = FreeAbelianGroup.lift fun (x : X) => Finsupp.single x 1
Instances For
The group homomorphism (X →₀ ℤ) →+ FreeAbelianGroup X.
Equations
- Finsupp.toFreeAbelianGroup = Finsupp.liftAddHom fun (x : X) => (AddMonoidHom.flip (smulAddHom ℤ (FreeAbelianGroup X))) (FreeAbelianGroup.of x)
Instances For
The additive equivalence between FreeAbelianGroup X and (X →₀ ℤ).
Equations
- FreeAbelianGroup.equivFinsupp X = { toEquiv := { toFun := ⇑FreeAbelianGroup.toFinsupp, invFun := ⇑Finsupp.toFreeAbelianGroup, left_inv := ⋯, right_inv := ⋯ }, map_add' := ⋯ }
Instances For
A is a basis of the ℤ-module FreeAbelianGroup A.
Equations
- FreeAbelianGroup.basis α = { repr := AddEquiv.toIntLinearEquiv (FreeAbelianGroup.equivFinsupp α) }
Instances For
Isomorphic free abelian groups (as modules) have equivalent bases.
Equations
Instances For
Isomorphic free abelian groups (as additive groups) have equivalent bases.
Equations
Instances For
Isomorphic free groups have equivalent bases.
Equations
- FreeAbelianGroup.Equiv.ofFreeGroupEquiv e = FreeAbelianGroup.Equiv.ofFreeAbelianGroupEquiv (MulEquiv.toAdditive (MulEquiv.abelianizationCongr e))
Instances For
Isomorphic free groups have equivalent bases (IsFreeGroup variant).
Equations
Instances For
coeff x is the additive group homomorphism FreeAbelianGroup X →+ ℤ
that sends a to the multiplicity of x : X in a.
Equations
- FreeAbelianGroup.coeff x = AddMonoidHom.comp (Finsupp.applyAddHom x) FreeAbelianGroup.toFinsupp
Instances For
support a for a : FreeAbelianGroup X is the finite set of x : X
that occur in the formal sum a.
Equations
- FreeAbelianGroup.support a = (FreeAbelianGroup.toFinsupp a).support