module Algebra.Group.Ab.Free where

Free abelian groups🔗

We have already constructed the free group on a set and the free abelian group on a group; Composing these adjunctions, we obtain the free abelian group on a set.

Free-abelian : ∀ {ℓ} → Type ℓ → Abelian-group ℓ
Free-abelian T = Abelianise (Free-Group T)
  Free-abelian⊣Forget
    : ∀ {ℓ} → Free-abelian-functor {ℓ} ⊣ Ab↪Sets
  Free-abelian⊣Forget = LF⊣GR
    (free-objects→left-adjoint make-free-group)
    (free-objects→left-adjoint make-free-abelian)