  Morphisms to finite semigroups can be used for recognizing omega-regular
languages. The so-called strongly recognizing morphisms can be seen as a
deterministic computation model which provides minimal objects (known as the
syntactic morphism) and a trivial complementation procedure. We give a
quadratic-time algorithm for computing the syntactic morphism from any given
strongly recognizing morphism, thereby showing that minimization is easy as
well. In addition, we give algorithms for efficiently solving various decision
problems for weakly recognizing morphisms. Weakly recognizing morphism are
often smaller than their strongly recognizing counterparts. Finally, we
describe the language operations needed for converting formulas in monadic
second-order logic (MSO) into strongly recognizing morphisms, and we give some
experimental results.
