107 lines
4.8 KiB
GDScript3
107 lines
4.8 KiB
GDScript3
#############################################################################
|
|
##
|
|
#W classes.gd Testing varieties [loops]
|
|
##
|
|
#H @(#)$Id: classes.gd, v 3.3.0 2016/10/26 gap Exp $
|
|
##
|
|
#Y Copyright (C) 2004, G. P. Nagy (University of Szeged, Hungary),
|
|
#Y P. Vojtechovsky (University of Denver, USA)
|
|
##
|
|
|
|
#############################################################################
|
|
## ASSOCIATIVITY, COMMUTATIVITY AND GENERALIZATIONS
|
|
## -------------------------------------------------------------------------
|
|
|
|
DeclareProperty( "IsAssociative", IsLoop );
|
|
DeclareProperty( "IsCommutative", IsQuasigroup );
|
|
DeclareProperty( "IsPowerAssociative", IsQuasigroup );
|
|
DeclareProperty( "IsDiassociative", IsQuasigroup );
|
|
|
|
#############################################################################
|
|
## INVERSE PROPERTIES
|
|
## -------------------------------------------------------------------------
|
|
|
|
DeclareProperty( "HasLeftInverseProperty", IsLoop );
|
|
DeclareProperty( "HasRightInverseProperty", IsLoop );
|
|
DeclareProperty( "HasInverseProperty", IsLoop );
|
|
DeclareProperty( "HasWeakInverseProperty", IsLoop );
|
|
DeclareProperty( "HasTwosidedInverses", IsLoop );
|
|
DeclareProperty( "HasAutomorphicInverseProperty", IsLoop );
|
|
DeclareProperty( "HasAntiautomorphicInverseProperty", IsLoop );
|
|
|
|
#############################################################################
|
|
## PROPERTIES OF QUASIGROUPS
|
|
## -------------------------------------------------------------------------
|
|
|
|
DeclareProperty( "IsSemisymmetric", IsQuasigroup );
|
|
DeclareProperty( "IsTotallySymmetric", IsQuasigroup );
|
|
DeclareProperty( "IsIdempotent", IsQuasigroup );
|
|
DeclareProperty( "IsSteinerQuasigroup", IsQuasigroup );
|
|
DeclareProperty( "IsUnipotent", IsQuasigroup );
|
|
DeclareProperty( "IsLDistributive", IsQuasigroup );
|
|
DeclareProperty( "IsRDistributive", IsQuasigroup );
|
|
DeclareSynonymAttr( "IsLeftDistributive", IsLDistributive );
|
|
DeclareSynonymAttr( "IsRightDistributive", IsRDistributive );
|
|
#IsDistributive already declared in GAP
|
|
DeclareProperty( "IsEntropic", IsQuasigroup );
|
|
DeclareSynonymAttr( "IsMedial", IsEntropic );
|
|
|
|
#############################################################################
|
|
## LOOPS OF BOL-MOUFANG TYPE
|
|
## -------------------------------------------------------------------------
|
|
|
|
DeclareProperty( "IsExtraLoop", IsLoop );
|
|
DeclareProperty( "IsMoufangLoop", IsLoop );
|
|
DeclareProperty( "IsCLoop", IsLoop );
|
|
DeclareProperty( "IsLeftBolLoop", IsLoop );
|
|
DeclareProperty( "IsRightBolLoop", IsLoop );
|
|
DeclareProperty( "IsLCLoop", IsLoop );
|
|
DeclareProperty( "IsRCLoop", IsLoop );
|
|
DeclareProperty( "IsLeftNuclearSquareLoop", IsLoop );
|
|
DeclareProperty( "IsMiddleNuclearSquareLoop", IsLoop );
|
|
DeclareProperty( "IsRightNuclearSquareLoop", IsLoop );
|
|
DeclareProperty( "IsNuclearSquareLoop", IsLoop );
|
|
DeclareProperty( "IsFlexible", IsQuasigroup );
|
|
DeclareProperty( "IsLeftAlternative", IsQuasigroup );
|
|
DeclareProperty( "IsRightAlternative", IsQuasigroup );
|
|
DeclareProperty( "IsAlternative", IsQuasigroup );
|
|
|
|
#############################################################################
|
|
## POWER ALTERNATIVE LOOPS
|
|
## -------------------------------------------------------------------------
|
|
|
|
DeclareProperty( "IsLeftPowerAlternative", IsLoop );
|
|
DeclareProperty( "IsRightPowerAlternative", IsLoop );
|
|
DeclareProperty( "IsPowerAlternative", IsLoop );
|
|
|
|
#############################################################################
|
|
## CC-LOOPS AND RELATED PROPERTIES
|
|
## -------------------------------------------------------------------------
|
|
|
|
DeclareProperty( "IsLCCLoop", IsLoop );
|
|
DeclareSynonymAttr( "IsLeftConjugacyClosedLoop", IsLCCLoop );
|
|
DeclareProperty( "IsRCCLoop", IsLoop );
|
|
DeclareSynonymAttr( "IsRightConjugacyClosedLoop", IsRCCLoop );
|
|
DeclareProperty( "IsCCLoop", IsLoop );
|
|
DeclareSynonymAttr( "IsConjugacyClosedLoop", IsCCLoop );
|
|
DeclareProperty( "IsOsbornLoop", IsLoop );
|
|
|
|
############################################################################
|
|
## ADDITIONAL VARIETIES OF LOOPS
|
|
## -------------------------------------------------------------------------
|
|
|
|
DeclareProperty( "IsCodeLoop", IsLoop );
|
|
DeclareProperty( "IsSteinerLoop", IsLoop );
|
|
DeclareProperty( "IsLeftBruckLoop", IsLoop );
|
|
DeclareSynonymAttr( "IsLeftKLoop", IsLeftBruckLoop );
|
|
DeclareProperty( "IsRightBruckLoop", IsLoop );
|
|
DeclareSynonymAttr( "IsRightKLoop", IsRightBruckLoop );
|
|
DeclareProperty( "IsALoop", IsLoop );
|
|
DeclareSynonymAttr( "IsAutomorphicLoop", IsALoop );
|
|
DeclareProperty( "IsLeftALoop", IsLoop );
|
|
DeclareSynonymAttr( "IsLeftAutomorphicLoop", IsLeftALoop );
|
|
DeclareProperty( "IsMiddleALoop", IsLoop );
|
|
DeclareSynonymAttr( "IsMiddleAutomorphicLoop", IsMiddleALoop );
|
|
DeclareProperty( "IsRightALoop", IsLoop );
|
|
DeclareSynonymAttr( "IsRightAutomorphicLoop", IsRightALoop );
|