GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
##############################################################################
##
#W gp2up.gd GAP4 package `XMod' Chris Wensley
#W & Murat Alp
##
## This file contains declarations for UpMappings, Derivations and Sections
##
#Y Copyright (C) 2001-2017, Chris Wensley et al,
#Y School of Computer Science, Bangor University, U.K.
##############################################################################
##
#C IsUp2DimensionalMapping( <map> )
#R IsUp2DimensionalMappingRep( <map> )
##
## A section|derivation is determined by a cat1-group|xmod + generator images
##
DeclareCategory( "IsUp2DimensionalMapping", IsGeneralMapping );
DeclareRepresentation( "IsUp2DimensionalMappingRep",
IsUp2DimensionalMapping and IsAttributeStoringRep,
[ "Object2d", "UpGeneratorImages", "UpHomomorphism", "UpImagePositions" ] );
#############################################################################
##
#C IsUp2DimensionalMappingCollection . . . . category of colls of up-2d-maps
#C IsUp2DimensionalMappingCollColl . . . . . . . category of colls of colls
#C IsUp2DimensionalMappingCollCollColl . . . category of colls, colls, colls
#V Up2DimensionalMappingFamily . . . . . family for derivations and sections
#T Up2DimensionalMappingType( <map> )
##
DeclareCategoryCollections( "IsUp2DimensionalMapping" );
DeclareCategoryCollections( "IsUp2DimensionalMappingCollection" );
DeclareCategoryCollections( "IsUp2DimensionalMappingCollColl" );
BindGlobal( "Up2DimensionalMappingFamily",
NewFamily( "Up2DimensionalMappingFamily", IsUp2DimensionalMapping,
CanEasilySortElements, CanEasilySortElements ) );
BindGlobal( "Up2DimensionalMappingType",
NewType( Up2DimensionalMappingFamily,
IsUp2DimensionalMappingRep ) );
##############################################################################
##
#A Object2d( <map> )
#A UpHomomorphism( <map> )
#A UpGeneratorImages( <map> )
#A UpImagePositions( <map> )
##
DeclareAttribute( "Object2d", IsUp2DimensionalMapping );
DeclareAttribute( "UpHomomorphism", IsUp2DimensionalMapping );
DeclareAttribute( "UpGeneratorImages", IsUp2DimensionalMapping );
DeclareAttribute( "UpImagePositions", IsUp2DimensionalMapping );
#############################################################################
##
#P IsDerivation( <map> )
#P IsSection( <map> )
##
DeclareProperty( "IsDerivation", IsUp2DimensionalMapping );
DeclareProperty( "IsSection", IsUp2DimensionalMapping );
##############################################################################
## Derivations ##
##############################################################################
##############################################################################
##
#O DerivationByImages sets up the mapping
#O DerivationByImagesNC sets up the mapping
##
DeclareOperation( "DerivationByImages",
[ Is2DimensionalDomain, IsHomogeneousList ] );
DeclareOperation( "DerivationByImagesNC",
[ Is2DimensionalDomain, IsHomogeneousList ] );
## usage: DerivationByImages( XM, im, [, true|false ] )
##############################################################################
##
#O DerivationImage image of r \in R by the derivation chi
##
DeclareOperation( "DerivationImage", [ IsDerivation, IsObject ] );
###############################################################################
##
#O DerivationBySection construct an XMod derivation from a cat1-group section
##
DeclareOperation( "DerivationBySection", [ IsSection ] );
##############################################################################
##
#O PrincipalDerivation derivation determined by choice of s in S
#A PrincipalDerivations list of principal derivations
##
DeclareOperation( "PrincipalDerivation", [ IsXMod, IsObject ] );
DeclareAttribute( "PrincipalDerivations", IsXMod );
##############################################################################
##
#O CompositeDerivation Whitehead composite of two derivations
##
DeclareOperation( "CompositeDerivation", [ IsDerivation, IsDerivation ] );
##############################################################################
##
#P IsRegularDerivation so an element of the Whitehead group
##
DeclareProperty( "IsRegularDerivation", IsDerivation );
##############################################################################
##
#A SourceEndomorphism upmapping determines endomorphism of source group
#A RangeEndomorphism upmapping determines endomorphism of range group
#A Object2dEndomorphism upmapping determines endomorphism of xmod or cat1
##
DeclareAttribute( "SourceEndomorphism", IsUp2DimensionalMapping );
DeclareAttribute( "RangeEndomorphism", IsUp2DimensionalMapping );
DeclareAttribute( "Object2dEndomorphism", IsUp2DimensionalMapping );
#############################################################################
##
#O InverseDerivations Finds all semigroup inverses XJ for derivation Xi
## i.e. XiXjXi=Xi & XjXiXj=Xj
DeclareOperation( "InverseDerivations", [ IsDerivation ] );
##############################################################################
##
#O ListInverseDerivations List all inverses for each derivation
##
DeclareOperation( "ListInverseDerivations", [ IsXMod ] );
##############################################################################
## Sections ##
##############################################################################
##############################################################################
##
#O SectionByImages sets up GroupHomByImages
#O SectionByImagesNC sets up GroupHomByImages
##
DeclareOperation( "SectionByImages",
[ Is2DimensionalDomain, IsGroupHomomorphism ] );
DeclareOperation( "SectionByImagesNC",
[ Is2DimensionalDomain, IsGroupHomomorphism ] );
## usage: SectionByImages( C, im, [, true|false ] )
##############################################################################
##
#O SectionByDerivation the cat1-group section determined by a derivation
##
DeclareOperation( "SectionByDerivation", [ IsDerivation ] );
##############################################################################
##
#O CompositeSection Whitehead composite of two sections
##
DeclareOperation( "CompositeSection", [ IsSection, IsSection ] );
#############################################################################
## Monoids of Derivations or Sections ##
#############################################################################
#############################################################################
##
#P IsMonoidOfUp2DimensionalMappings( <obj> )
#R IsMonoidOfUp2DimensionalMappingsObj( <obj> )
##
## An Up2DimensionalMappings record stores images lists and composition table
##
DeclareProperty( "IsMonoidOfUp2DimensionalMappings", IsObject );
DeclareRepresentation( "IsMonoidOfUp2DimensionalMappingsObj",
IsMonoidOfUp2DimensionalMappings and IsAttributeStoringRep,
[ "Object2d", "ImagesList" ] );
##############################################################################
##
#A ImagesList returns list of DerivationImages
#A AllOrRegular type of derivations record
#A ImagesTable returns lists of image lists
##
DeclareAttribute( "ImagesList", IsMonoidOfUp2DimensionalMappings );
DeclareAttribute( "AllOrRegular", IsMonoidOfUp2DimensionalMappings );
DeclareAttribute( "ImagesTable", IsMonoidOfUp2DimensionalMappings );
#############################################################################
##
#O MonoidOfUp2DimensionalMappingsObj( <obj>, <images>, <str> )
#F MonoidOfUp2DimensionalMappingsFamily . . . family for up-mappings monoid
#T MonoidOfUp2DimensionalMappingsType . . . . . type for up-mappings monoid
#P IsMonoidOfDerivations
#P IsMonoidOfSections
##
DeclareOperation( "MonoidOfUp2DimensionalMappingsObj",
[ Is2DimensionalDomain, IsHomogeneousList, IsString ] );
MonoidOfUp2DimensionalMappingsFamily :=
CollectionsFamily( Up2DimensionalMappingFamily );
BindGlobal( "MonoidOfUp2DimensionalMappingsType",
NewType( MonoidOfUp2DimensionalMappingsFamily,
IsMonoidOfUp2DimensionalMappingsObj ) );
DeclareProperty( "IsMonoidOfDerivations", IsMonoidOfUp2DimensionalMappings );
DeclareProperty( "IsMonoidOfSections", IsMonoidOfUp2DimensionalMappings );
##############################################################################
##
#A RegularDerivations find all invertible derivations for a crossed module
#A AllDerivations find all derivations for a crossed module
#A RegularSections find all invertible sections for a cat1-group
#A AllSections find all sections for a cat1-group
##
DeclareAttribute( "RegularDerivations", IsXMod );
DeclareAttribute( "AllDerivations", IsXMod );
DeclareAttribute( "RegularSections", IsCat1Group );
DeclareAttribute( "AllSections", IsCat1Group );
##############################################################################
##
#O BacktrackDerivationsJ recursive function for BacktrackDerivations
#O BacktrackDerivations recursive construction for all derivations
#O BacktrackSectionsJ recursion used by RegularSections & AllSections
##
DeclareOperation( "BacktrackDerivationsJ", [ IsXMod, IsHomogeneousList,
IsHomogeneousList, IsHomogeneousList, IsInt, IsString ] );
DeclareOperation( "BacktrackDerivations", [ IsXMod, IsString ] );
DeclareOperation( "BacktrackSectionsJ", [ IsRecord, IsInt, IsObject, IsInt ] );
#############################################################################
##
#A WhiteheadMonoidTable( XM ) Table of products of derivations
#A WhiteheadGroupTable( XM ) Table of products of regular derivations
##
## ?? should these refer just to 2DimensionalDomains ??
##
DeclareAttribute( "WhiteheadMonoidTable", IsXMod );
DeclareAttribute( "WhiteheadGroupTable", IsXMod );
#############################################################################
##
#A WhiteheadPermGroup( XM ) a permutation representation
#A WhiteheadGroupGeneratingDerivations generators for W(X)
#A WhiteheadGroupGeneratorPositions positions of generators for W(X)
#A WhiteheadTransMonoid( XM ) a transformation representation
##
DeclareAttribute( "WhiteheadPermGroup", IsXMod );
DeclareAttribute( "WhiteheadGroupGeneratingDerivations", IsXMod );
DeclareAttribute( "WhiteheadGroupGeneratorPositions", IsXMod );
DeclareAttribute( "WhiteheadTransMonoid", IsXMod );
###############################################################################
##
#E gp2up.gd . . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here