SEMIGROUPS

Definition of SEMIGROUPS