SEMIGROUP