Semigroups

Definition of Semigroups