Documentation

Mathlib.GroupTheory.FreeAbelianGroupFinsupp

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 #

The group homomorphism FreeAbelianGroup X →+ (X →₀ ℤ).

Instances For

    The group homomorphism (X →₀ ℤ) →+ FreeAbelianGroup X.

    Instances For
      @[simp]
      theorem FreeAbelianGroup.toFinsupp_comp_toFreeAbelianGroup {X : Type u_1} :
      AddMonoidHom.comp FreeAbelianGroup.toFinsupp Finsupp.toFreeAbelianGroup = AddMonoidHom.id (X →₀ )
      @[simp]
      theorem Finsupp.toFreeAbelianGroup_comp_toFinsupp {X : Type u_1} :
      AddMonoidHom.comp Finsupp.toFreeAbelianGroup FreeAbelianGroup.toFinsupp = AddMonoidHom.id (FreeAbelianGroup X)
      @[simp]
      theorem Finsupp.toFreeAbelianGroup_toFinsupp {X : Type u_2} (x : FreeAbelianGroup X) :
      Finsupp.toFreeAbelianGroup (FreeAbelianGroup.toFinsupp x) = x
      @[simp]
      theorem FreeAbelianGroup.toFinsupp_of {X : Type u_1} (x : X) :
      FreeAbelianGroup.toFinsupp (FreeAbelianGroup.of x) = fun₀ | x => 1
      @[simp]
      theorem FreeAbelianGroup.toFinsupp_toFreeAbelianGroup {X : Type u_1} (f : X →₀ ) :
      FreeAbelianGroup.toFinsupp (Finsupp.toFreeAbelianGroup f) = f
      @[simp]
      theorem FreeAbelianGroup.equivFinsupp_apply (X : Type u_1) (a : FreeAbelianGroup X) :
      ↑(FreeAbelianGroup.equivFinsupp X) a = FreeAbelianGroup.toFinsupp a
      @[simp]
      theorem FreeAbelianGroup.equivFinsupp_symm_apply (X : Type u_1) (a : X →₀ ) :
      ↑(AddEquiv.symm (FreeAbelianGroup.equivFinsupp X)) a = Finsupp.toFreeAbelianGroup a

      The additive equivalence between FreeAbelianGroup X and (X →₀ ℤ).

      Instances For
        noncomputable def FreeAbelianGroup.basis (α : Type u_2) :

        A is a basis of the ℤ-module FreeAbelianGroup A.

        Instances For

          Isomorphic free abelian groups (as modules) have equivalent bases.

          Instances For

            Isomorphic free abelian groups (as additive groups) have equivalent bases.

            Instances For
              def FreeAbelianGroup.Equiv.ofFreeGroupEquiv {α : Type u_2} {β : Type u_3} (e : FreeGroup α ≃* FreeGroup β) :
              α β

              Isomorphic free groups have equivalent bases.

              Instances For

                Isomorphic free groups have equivalent bases (IsFreeGroup variant).

                Instances For

                  coeff x is the additive group homomorphism FreeAbelianGroup X →+ ℤ that sends a to the multiplicity of x : X in a.

                  Instances For

                    support a for a : FreeAbelianGroup X is the finite set of x : X that occur in the formal sum a.

                    Instances For