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 XandX →₀ ℤfree_abelian_group.coeff: the multiplicity ofx : Xina : free_abelian_group Xfree_abelian_group.support: the finset ofx : Xthat 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.