Algebraic theory of machines, languages, and semigroups - Arbib, Michael A (1968)