Dirichlet's unit theorem