Algorithmic Problems in Groups and Semigroups by S. Margolis & J.C. Birget