supergroup hypergroup hypergroupoid subhypergroup cogroup superaggregation additive group supermodule hyperclass subgyrogroup