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 X
andX →₀ ℤ
FreeAbelianGroup.coeff
: the multiplicity ofx : X
ina : FreeAbelianGroup X
FreeAbelianGroup.support
: the finset ofx : X
that 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) => (smulAddHom ℤ (FreeAbelianGroup X)).flip (FreeAbelianGroup.of x)
Instances For
@[simp]
theorem
Finsupp.toFreeAbelianGroup_comp_singleAddHom
{X : Type u_1}
(x : X)
:
toFreeAbelianGroup.comp (singleAddHom x) = (smulAddHom ℤ (FreeAbelianGroup X)).flip (FreeAbelianGroup.of x)
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
The additive equivalence between FreeAbelianGroup X
and (X →₀ ℤ)
.
Equations
- FreeAbelianGroup.equivFinsupp X = { toFun := ⇑FreeAbelianGroup.toFinsupp, invFun := ⇑Finsupp.toFreeAbelianGroup, left_inv := ⋯, right_inv := ⋯, map_add' := ⋯ }
Instances For
@[simp]
@[simp]
coeff x
is the additive group homomorphism FreeAbelianGroup X →+ ℤ
that sends a
to the multiplicity of x : X
in a
.
Equations
Instances For
support a
for a : FreeAbelianGroup X
is the finite set of x : X
that occur in the formal sum a
.
Equations
Instances For
@[simp]
@[simp]
theorem
FreeAbelianGroup.support_zsmul
{X : Type u_1}
(k : ℤ)
(h : k ≠ 0)
(a : FreeAbelianGroup X)
:
@[simp]
theorem
FreeAbelianGroup.support_nsmul
{X : Type u_1}
(k : ℕ)
(h : k ≠ 0)
(a : FreeAbelianGroup X)
: