From 79d230fe7c3dff45b30dfca341b77bd0f4974fce Mon Sep 17 00:00:00 2001 From: Tom Conti-Leslie Date: Wed, 19 May 2021 17:14:35 +0200 Subject: [PATCH] Add IsOrthoGroup property --- gap/attributes/properties.gd | 3 +++ gap/attributes/properties.gi | 6 ++++++ 2 files changed, 9 insertions(+) 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);