GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
############################################################################# ## #W alg2obj.gd The XMODALG package Zekeriya Arvasi #W & Alper Odabas ## version 1.12, 14/11/2015 ## #Y Copyright (C) 2014-2015, Zekeriya Arvasi & Alper Odabas, ## DeclareGlobalFunction( "ElementsLeftActing" ); DeclareProperty( "IsAlgebraAction", IsMapping ); DeclareInfoClass( "InfoXModAlg" ); DeclareGlobalFunction( "MultipleAlgebra", [ IsAlgebra ] ); DeclareProperty( "IsMultipleAlgebra", IsList ); DeclareOperation( "AlgebraHomomorphismByFunction", [ IsObject, IsObject, IsFunction ] ); DeclareOperation( "MultipleHomomorphism", [ IsAlgebra ] ); DeclareOperation( "ModuleHomomorphism", [ IsAlgebra, IsRing ] ); ##################################################################### DeclareCategory( "Is2dAlgebra", Is2dDomain and IsAlgebra ); DeclareCategoryCollections( "Is2dAlgebra" ); BindGlobal( "Family2dAlgebra", NewFamily( "Family2dAlgebra", Is2dAlgebra, CanEasilySortElements, CanEasilySortElements ) ); DeclareProperty( "Is2dAlgebraObject", Is2dDomain ); DeclareRepresentation( "IsPreXModAlgebraObj", Is2dAlgebra and IsAttributeStoringRep, [ "boundary", "action" ] ); DeclareRepresentation( "IsPreCat1AlgebraObj", Is2dAlgebra and IsAttributeStoringRep, [ "tail", "head", "rangeEmbedding" ] ); DeclareProperty( "IsPreCat1Algebra", Is2dAlgebra ); DeclareProperty( "IsPreXModAlgebra", Is2dAlgebra ); DeclareOperation( "XModAlgebraObj", [ IsAlgebraHomomorphism, IsAlgebraAction ] ); ## DeclareAttribute( "Source", IsPreXModAlgebra ); ## DeclareAttribute( "Range", IsPreXModAlgebra ); ## DeclareAttribute( "Boundary", IsPreXModAlgebra ); DeclareAttribute( "XModAlgebraAction", IsPreXModAlgebra ); DeclareGlobalFunction( "AlgebraAction" ); DeclareOperation( "AlgebraAction1", [ IsAlgebra, IsList, IsAlgebra ] ); DeclareAttribute( "LeftElementOfCartesianProduct", IsAlgebraAction ); DeclareAttribute( "AlgebraActionType", IsAlgebraAction ); DeclareAttribute( "HasZeroModuleProduct", IsAlgebraAction ); DeclareOperation( "AlgebraAction2",[ IsAlgebra ] ); DeclareOperation( "AlgebraAction3",[ IsAlgebraHomomorphism ] ); DeclareOperation( "AlgebraAction4",[ IsAlgebra, IsRing ] ); DeclareOperation( "AlgebraAction5",[ IsAlgebra, IsAlgebra ] ); DeclareAttribute( "AllAutosOfAlgebras", IsAlgebra); DeclareProperty( "IsXModAlgebra", Is2dAlgebra ); InstallTrueMethod( IsPreXModAlgebra, IsXModAlgebra ); DeclareOperation( "PreXModAlgebraByBoundaryAndAction", [ IsAlgebraHomomorphism, IsAlgebraAction ] ); DeclareGlobalFunction( "XModAlgebra" ); DeclareOperation( "XModAlgebraByBoundaryAndAction", [ IsAlgebraHomomorphism, IsAlgebraAction ] ); DeclareOperation( "XModAlgebraByCentralExtension", [ IsAlgebraHomomorphism ] ); DeclareOperation( "XModAlgebraByMultipleAlgebra", [ IsAlgebra ] ); DeclareOperation( "XModAlgebraByModule", [ IsAlgebra, IsRing ] ); DeclareOperation( "XModAlgebraByIdeal", [ IsAlgebra, IsAlgebra ] ); DeclareOperation( "IsSubPreXModAlgebra", [ Is2dAlgebraObject, Is2dAlgebraObject ] ); DeclareOperation( "IsSubXModAlgebra", [ Is2dAlgebraObject, Is2dAlgebraObject ] ); DeclareOperation( "IsSubPreCat1Algebra", [ Is2dAlgebraObject, Is2dAlgebraObject ] ); DeclareOperation( "IsSubCat1Algebra", [ Is2dAlgebraObject, Is2dAlgebraObject ] ); DeclareOperation( "PreCat1AlgebraObj", [ IsAlgebraHomomorphism, IsAlgebraHomomorphism, IsAlgebraHomomorphism ] ); DeclareAttribute( "Equivalence", IsPreCat1Algebra ); DeclareAttribute( "Head", IsPreCat1Algebra ); DeclareAttribute( "Tail", IsPreCat1Algebra ); DeclareAttribute( "RangeEmbedding", IsPreCat1Algebra ); DeclareAttribute( "KernelEmbedding", IsPreCat1Algebra ); DeclareGlobalFunction( "PreCat1Algebra" ); DeclareProperty( "IsCat1Algebra", Is2dAlgebra ); DeclareOperation( "PreXModAlgebraByPreCat1Algebra", [ IsPreCat1Algebra ] ); DeclareAttribute( "Equivalence", IsPreCat1Algebra ); DeclareAttribute( "SourceForEquivalence", IsCat1Algebra ); DeclareAttribute( "BoundaryForEquivalence", IsCat1Algebra ); DeclareAttribute( "IsEquivalenceHead", IsCat1Algebra ); DeclareAttribute( "IsEquivalenceTail", IsCat1Algebra ); DeclareAttribute( "IsXModAlgebraConst", IsCat1Algebra ); DeclareAttribute( "XModAlgebraConst", IsCat1Algebra ); DeclareAttribute( "XModAlgebraOfCat1Algebra", IsPreCat1Algebra ); DeclareOperation( "XModAlgebraByCat1Algebra", [ IsPreCat1Algebra ] ); DeclareAttribute( "Cat1AlgebraOfXModAlgebra", IsPreXModAlgebra ); DeclareOperation( "Cat1AlgebraByXModAlgebra", [ IsPreXModAlgebra ] ); DeclareOperation( "EquivalenceTail", [ IsEquivalenceTail ] ); DeclareOperation( "EquivalenceHead", [ IsEquivalenceHead ] ); DeclareOperation( "SDproduct", [ Is2dAlgebraObject ] ); DeclareGlobalFunction( "Cat1Algebra" ); DeclareOperation( "Cat1AlgebraSelect", [ IsInt, IsInt, IsInt, IsInt ] ); DeclareProperty( "IsIdentityCat1Algebra", IsCat1Algebra ); DeclareOperation( "Sub2dAlgebra", [ Is2dAlgebra, IsAlgebra, IsAlgebra ] ); DeclareOperation( "SubPreXModAlgebra", [ IsPreXModAlgebra, IsAlgebra, IsAlgebra ] ); DeclareOperation( "SubXModAlgebra", [ IsXModAlgebra, IsAlgebra, IsAlgebra] ); DeclareOperation( "SubPreCat1Algebra", [ IsPreCat1Algebra, IsAlgebra, IsAlgebra ] ); DeclareOperation( "SubCat1Algebra", [ IsCat1Algebra, IsAlgebra, IsAlgebra ] ); DeclareOperation( "AllHomsOfAlgebras", [ IsAlgebra, IsAlgebra ] ); DeclareOperation( "AllBijectiveHomsOfAlgebras", [ IsAlgebra, IsAlgebra ] ); DeclareOperation( "AllIdempotentHomsOfAlgebras", [ IsAlgebra, IsAlgebra ] ); DeclareOperation( "AllCat1Algebras", [ IsField, IsGroup ] ); DeclareOperation( "IsIsomorphicCat1Algebra", [ IsCat1Algebra, IsCat1Algebra ] ); DeclareOperation( "IsomorphicCat1AlgebraFamily", [ IsCat1Algebra, IsList ] ); DeclareOperation( "AllCat1AlgebrasUpToIsomorphism", [ IsList ] );