Halbgruppen