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) => (smulAddHom ℤ (FreeAbelianGroup X)).flip (FreeAbelianGroup.of x)
Instances For
@[simp]
@[simp]
@[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]
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
@[deprecated FreeAbelianGroup.notMem_support_iff (since := "2025-05-23")]
Alias of FreeAbelianGroup.notMem_support_iff.
@[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)
: