diff --git a/gap/attributes/properties.gd b/gap/attributes/properties.gd index a1c763f2b..1d46f37bf 100644 --- a/gap/attributes/properties.gd +++ b/gap/attributes/properties.gd @@ -102,3 +102,6 @@ DeclareProperty("IsSurjectiveSemigroup", IsSemigroup); InstallTrueMethod(IsSurjectiveSemigroup, IsRegularSemigroup); InstallTrueMethod(IsSurjectiveSemigroup, IsMonoidAsSemigroup); InstallTrueMethod(IsSurjectiveSemigroup, IsIdempotentGenerated); + +DeclareProperty("IsOrthogroup", IsSemigroup); +DeclareSynonym("IsOrthoGroup", IsOrthogroup); diff --git a/gap/attributes/properties.gi b/gap/attributes/properties.gi index ab588cfcf..9bea4e492 100644 --- a/gap/attributes/properties.gi +++ b/gap/attributes/properties.gi @@ -1784,3 +1784,9 @@ x -> UnderlyingSemigroupOfSemigroupWithAdjoinedZero(x) <> fail); InstallMethod(IsSurjectiveSemigroup, "for a semigroup", [IsSemigroup], S -> IsEmpty(IndecomposableElements(S))); + +InstallMethod(IsOrthogroup, "for a semigroup", +[IsSemigroup], +function(S) + return IsCompletelyRegularSemigroup(S) and IsOrthodoxSemigroup(S); +end);