Isomorphism between free_abelian_group X
and X →₀ ℤ
#
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
In this file we construct the canonical isomorphism between free_abelian_group X
and X →₀ ℤ
.
We use this to transport the notion of support
from finsupp
to free_abelian_group
.
Main declarations #
free_abelian_group.equiv_finsupp
: group isomorphism betweenfree_abelian_group X
andX →₀ ℤ
free_abelian_group.coeff
: the multiplicity ofx : X
ina : free_abelian_group X
free_abelian_group.support
: the finset ofx : X
that occur ina : free_abelian_group X
The group homomorphism free_abelian_group X →+ (X →₀ ℤ)
.
Equations
- free_abelian_group.to_finsupp = ⇑free_abelian_group.lift (λ (x : X), finsupp.single x 1)
The group homomorphism (X →₀ ℤ) →+ free_abelian_group X
.
Equations
- finsupp.to_free_abelian_group = ⇑finsupp.lift_add_hom (λ (x : X), ⇑((smul_add_hom ℤ (free_abelian_group X)).flip) (free_abelian_group.of x))
The additive equivalence between free_abelian_group X
and (X →₀ ℤ)
.
Equations
- free_abelian_group.equiv_finsupp X = {to_fun := ⇑free_abelian_group.to_finsupp, inv_fun := ⇑finsupp.to_free_abelian_group, left_inv := _, right_inv := _, map_add' := _}
A
is a basis of the ℤ-module free_abelian_group A
.
Equations
Isomorphic free ablian groups (as modules) have equivalent bases.
Equations
- free_abelian_group.equiv.of_free_abelian_group_linear_equiv e = let t : basis α ℤ (free_abelian_group β) := (free_abelian_group.basis α).map e in t.index_equiv (free_abelian_group.basis β)
Isomorphic free abelian groups (as additive groups) have equivalent bases.
Isomorphic free groups have equivalent bases.
Isomorphic free groups have equivalent bases (is_free_group
variant`).
coeff x
is the additive group homomorphism free_abelian_group X →+ ℤ
that sends a
to the multiplicity of x : X
in a
.
Equations
support a
for a : free_abelian_group X
is the finite set of x : X
that occur in the formal sum a
.