diff --git a/GradedModules/gap/BasicFunctors.gd b/GradedModules/gap/BasicFunctors.gd
index 68f50220b..1b4603f9e 100644
--- a/GradedModules/gap/BasicFunctors.gd
+++ b/GradedModules/gap/BasicFunctors.gd
@@ -12,35 +12,6 @@
#
####################################
-## Cokernel
-DeclareGlobalFunction( "_Functor_Cokernel_OnGradedModules" );
-
-DeclareGlobalVariable( "functor_Cokernel_ForGradedModules" );
-
-## ImageObject
-DeclareGlobalFunction( "_Functor_ImageObject_OnGradedModules" );
-
-DeclareGlobalVariable( "functor_ImageObject_ForGradedModules" );
-
-## GradedHom
-DeclareGlobalFunction( "_Functor_GradedHom_OnGradedModules" );
-
-DeclareGlobalFunction( "_Functor_GradedHom_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_GradedHom_ForGradedModules" );
-
-## TensorProduct
-DeclareGlobalFunction( "_Functor_TensorProduct_OnGradedModules" );
-
-DeclareGlobalFunction( "_Functor_TensorProduct_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_TensorProduct_ForGradedModules" );
-
-## BaseChange
-DeclareGlobalFunction( "_functor_BaseChange_OnGradedModules" );
-
-DeclareGlobalVariable( "functor_BaseChange_ForGradedModules" );
-
####################################
#
# global functions and operations:
diff --git a/GradedModules/gap/BasicFunctors.gi b/GradedModules/gap/BasicFunctors.gi
index 8efefc373..e168fb529 100644
--- a/GradedModules/gap/BasicFunctors.gi
+++ b/GradedModules/gap/BasicFunctors.gi
@@ -17,7 +17,7 @@
##
##
-InstallGlobalFunction( _Functor_Cokernel_OnGradedModules, ### defines: Cokernel(Epi)
+BindGlobal( "_Functor_Cokernel_OnGradedModules", ### defines: Cokernel(Epi)
function( phi )
local S, R, U_phi, epi, positions, p2, p, coker_U_phi, coker, gen_iso, img_emb, emb;
@@ -118,7 +118,7 @@ end );
## <#GAPDoc Label="functor_Cokernel:code">
##
##
##
##
## <#/GAPDoc>
##
-InstallGlobalFunction( _Functor_RepresentationMapOfRingElement_OnGradedModules, ### defines: RepresentationMapOfRingElement (object part)
+BindGlobal( "_Functor_RepresentationMapOfRingElement_OnGradedModules", ### defines: RepresentationMapOfRingElement (object part)
function( l, M )
local S, R, r, d, bd, bdp1, r_mult;
@@ -220,7 +220,7 @@ InstallMethod( RepresentationMapOfRingElement,
end );
-InstallValue( Functor_RepresentationMapOfRingElement_ForGradedModules,
+BindGlobal( "Functor_RepresentationMapOfRingElement_ForGradedModules",
CreateHomalgFunctor(
[ "name", "RepresentationMapOfRingElement" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -255,7 +255,7 @@ InstallFunctor( Functor_RepresentationMapOfRingElement_ForGradedModules );
##
## <#/GAPDoc>
##
-InstallGlobalFunction( _Functor_SubmoduleGeneratedByHomogeneousPart_OnGradedModules, ### defines: SubmoduleGeneratedByHomogeneousPart (object part)
+BindGlobal( "_Functor_SubmoduleGeneratedByHomogeneousPart_OnGradedModules", ### defines: SubmoduleGeneratedByHomogeneousPart (object part)
function( d, M )
local deg, submodule;
@@ -277,7 +277,7 @@ InstallGlobalFunction( _Functor_SubmoduleGeneratedByHomogeneousPart_OnGradedModu
end );
##
-InstallGlobalFunction( _Functor_SubmoduleGeneratedByHomogeneousPart_OnGradedMaps, ### defines: SubmoduleGeneratedByHomogeneousPart (morphism part)
+BindGlobal( "_Functor_SubmoduleGeneratedByHomogeneousPart_OnGradedMaps", ### defines: SubmoduleGeneratedByHomogeneousPart (morphism part)
function( F_source, F_target, arg_before_pos, phi, arg_behind_pos )
local result;
@@ -342,7 +342,7 @@ InstallMethod( SubmoduleGeneratedByHomogeneousPartEmbed,
end );
-InstallValue( Functor_SubmoduleGeneratedByHomogeneousPart_ForGradedModules,
+BindGlobal( "Functor_SubmoduleGeneratedByHomogeneousPart_ForGradedModules",
CreateHomalgFunctor(
[ "name", "SubmoduleGeneratedByHomogeneousPart" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -377,7 +377,7 @@ end );
##
##
-InstallGlobalFunction( _Functor_TruncatedSubmodule_OnGradedModules,
+BindGlobal( "_Functor_TruncatedSubmodule_OnGradedModules",
function( d, M )
local deg, certain_deg1, certain_part, certain_deg2, mat, phi1, phi2, phi, M2;
@@ -426,7 +426,7 @@ InstallGlobalFunction( _Functor_TruncatedSubmodule_OnGradedModules,
end );
##
-InstallGlobalFunction( _Functor_TruncatedSubmodule_OnGradedMaps,
+BindGlobal( "_Functor_TruncatedSubmodule_OnGradedMaps",
function( F_source, F_target, arg_before_pos, phi, arg_behind_pos )
local truncated_source_embedding, truncated_range_embedding;
@@ -438,7 +438,7 @@ InstallGlobalFunction( _Functor_TruncatedSubmodule_OnGradedMaps,
end );
-InstallValue( Functor_TruncatedSubmodule_ForGradedModules,
+BindGlobal( "Functor_TruncatedSubmodule_ForGradedModules",
CreateHomalgFunctor(
[ "name", "TruncatedSubmodule" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -484,7 +484,7 @@ end );
##
##
-InstallGlobalFunction( _Functor_TruncatedModule_OnGradedModules,
+BindGlobal( "_Functor_TruncatedModule_OnGradedModules",
function( d, M )
@@ -492,7 +492,7 @@ InstallGlobalFunction( _Functor_TruncatedModule_OnGradedModules,
end );
-InstallValue( Functor_TruncatedModule_ForGradedModules,
+BindGlobal( "Functor_TruncatedModule_ForGradedModules",
CreateHomalgFunctor(
[ "name", "TruncatedModule" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -526,7 +526,7 @@ end );
##
##
-InstallGlobalFunction( _Functor_TruncatedSubmoduleRecursiveEmbed_OnGradedModules, ### defines: TruncatedSubmoduleRecursiveEmbed (object part)
+BindGlobal( "_Functor_TruncatedSubmoduleRecursiveEmbed_OnGradedModules", ### defines: TruncatedSubmoduleRecursiveEmbed (object part)
function( d, M )
@@ -534,7 +534,7 @@ InstallGlobalFunction( _Functor_TruncatedSubmoduleRecursiveEmbed_OnGradedModules
end );
-InstallValue( Functor_TruncatedSubmoduleRecursiveEmbed_ForGradedModules,
+BindGlobal( "Functor_TruncatedSubmoduleRecursiveEmbed_ForGradedModules",
CreateHomalgFunctor(
[ "name", "TruncatedSubmoduleRecursiveEmbed" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -618,7 +618,7 @@ InstallMethod( RepresentationOfMorphismOnHomogeneousParts,
end );
-InstallGlobalFunction( _Functor_HomogeneousPartOverCoefficientsRing_OnGradedModules, ### defines: HomogeneousPartOverCoefficientsRing (object part)
+BindGlobal( "_Functor_HomogeneousPartOverCoefficientsRing_OnGradedModules", ### defines: HomogeneousPartOverCoefficientsRing (object part)
function( d, M )
local S, k_graded, k, deg, emb, mat, map_having_submodule_as_its_image,
@@ -738,7 +738,7 @@ end );
##
-InstallGlobalFunction( _Functor_HomogeneousPartOverCoefficientsRing_OnGradedMaps, ### defines: HomogeneousPartOverCoefficientsRing (morphism part)
+BindGlobal( "_Functor_HomogeneousPartOverCoefficientsRing_OnGradedMaps", ### defines: HomogeneousPartOverCoefficientsRing (morphism part)
function( F_source, F_target, arg_before_pos, phi, arg_behind_pos )
local S, k, d, mat, result;
@@ -765,7 +765,7 @@ InstallGlobalFunction( _Functor_HomogeneousPartOverCoefficientsRing_OnGradedMaps
end );
-InstallValue( Functor_HomogeneousPartOverCoefficientsRing_ForGradedModules,
+BindGlobal( "Functor_HomogeneousPartOverCoefficientsRing_ForGradedModules",
CreateHomalgFunctor(
[ "name", "HomogeneousPartOverCoefficientsRing" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -810,7 +810,7 @@ end );
## HomogeneousPartOfDegreeZeroOverCoefficientsRing
##
-InstallGlobalFunction( _Functor_HomogeneousPartOfDegreeZeroOverCoefficientsRing_OnGradedModules, ### defines: HomogeneousPartOfDegreeZeroOverCoefficientsRing (object part)
+BindGlobal( "_Functor_HomogeneousPartOfDegreeZeroOverCoefficientsRing_OnGradedModules", ### defines: HomogeneousPartOfDegreeZeroOverCoefficientsRing (object part)
function( M )
@@ -820,14 +820,14 @@ end );
##
-InstallGlobalFunction( _Functor_HomogeneousPartOfDegreeZeroOverCoefficientsRing_OnGradedMaps, ### defines: HomogeneousPartOfDegreeZeroOverCoefficientsRing (morphism part)
+BindGlobal( "_Functor_HomogeneousPartOfDegreeZeroOverCoefficientsRing_OnGradedMaps", ### defines: HomogeneousPartOfDegreeZeroOverCoefficientsRing (morphism part)
function( F_source, F_target, arg_before_pos, phi, arg_behind_pos )
return HomogeneousPartOverCoefficientsRing( 0, phi );
end );
-InstallValue( Functor_HomogeneousPartOfDegreeZeroOverCoefficientsRing_ForGradedModules,
+BindGlobal( "Functor_HomogeneousPartOfDegreeZeroOverCoefficientsRing_ForGradedModules",
CreateHomalgFunctor(
[ "name", "HomogeneousPartOfDegreeZeroOverCoefficientsRing" ],
[ "category", HOMALG_GRADED_MODULES.category ],
diff --git a/GradedModules/gap/Koszul.gd b/GradedModules/gap/Koszul.gd
index 8148d8a96..b11c01046 100644
--- a/GradedModules/gap/Koszul.gd
+++ b/GradedModules/gap/Koszul.gd
@@ -26,11 +26,7 @@ DeclareOperation( "RepresentationMatrixOfKoszulId",
DeclareOperation( "RepresentationMatrixOfKoszulId",
[ IsHomalgElement, IsHomalgModule ] );
-DeclareGlobalFunction( "_Functor_RepresentationObjectOfKoszulId_OnGradedModules" );
-
-DeclareGlobalFunction( "_Functor_RepresentationObjectOfKoszulId_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_RepresentationObjectOfKoszulId_ForGradedModules" );
+DeclareGlobalName( "Functor_RepresentationObjectOfKoszulId_ForGradedModules" );
DeclareOperation( "RepresentationObjectOfKoszulId",
[ IsList, IsStructureObjectOrObject ] );
@@ -80,12 +76,6 @@ DeclareOperation( "KoszulAdjointOnMorphisms",
#
####################################
-DeclareGlobalFunction( "_Functor_KoszulRightAdjoint_OnGradedModules" );
-
-DeclareGlobalFunction( "_Functor_KoszulRightAdjoint_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_KoszulRightAdjoint_ForGradedModules" );
-
DeclareOperation( "KoszulRightAdjoint",
[ IsStructureObjectOrObject, IsHomalgRing, IsObject, IsObject ] );
@@ -98,12 +88,6 @@ DeclareOperation( "KoszulRightAdjoint",
DeclareOperation( "KoszulRightAdjoint",
[ IsHomalgGradedMap, IsObject, IsObject ] );
-DeclareGlobalFunction( "_Functor_KoszulLeftAdjoint_OnGradedModules" );
-
-DeclareGlobalFunction( "_Functor_KoszulLeftAdjoint_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_KoszulLeftAdjoint_ForGradedModules" );
-
DeclareOperation( "KoszulLeftAdjoint",
[ IsStructureObjectOrObject, IsHomalgRing, IsObject, IsObject ] );
diff --git a/GradedModules/gap/Koszul.gi b/GradedModules/gap/Koszul.gi
index c4523983a..8cdb9b2f0 100644
--- a/GradedModules/gap/Koszul.gi
+++ b/GradedModules/gap/Koszul.gi
@@ -116,7 +116,7 @@ end );
#
# RepresentationObjectOfKoszulId
#
-InstallGlobalFunction( _Functor_RepresentationObjectOfKoszulId_OnGradedModules, ### defines: RepresentationObjectOfKoszulId (object part)
+BindGlobal( "_Functor_RepresentationObjectOfKoszulId_OnGradedModules", ### defines: RepresentationObjectOfKoszulId (object part)
function( d, M )
local S, A, Base, n, omega_A, V, AM_d, socle, phi;
@@ -160,7 +160,7 @@ InstallGlobalFunction( _Functor_RepresentationObjectOfKoszulId_OnGradedModules,
end );
-InstallValue( Functor_RepresentationObjectOfKoszulId_ForGradedModules,
+BindGlobal( "Functor_RepresentationObjectOfKoszulId_ForGradedModules",
CreateHomalgFunctor(
[ "name", "RepresentationObjectOfKoszulId" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -527,7 +527,7 @@ end );
## KoszulRightAdjoint
##
-InstallGlobalFunction( _Functor_KoszulRightAdjoint_OnGradedModules, ### defines: KoszulRightAdjoint (object part)
+BindGlobal( "_Functor_KoszulRightAdjoint_OnGradedModules", ### defines: KoszulRightAdjoint (object part)
function( l, M )
local A, degree_lowest, degree_highest;
@@ -553,7 +553,7 @@ end );
##
-InstallGlobalFunction( _Functor_KoszulRightAdjoint_OnGradedMaps, ### defines: KoszulRightAdjoint (morphism part)
+BindGlobal( "_Functor_KoszulRightAdjoint_OnGradedMaps", ### defines: KoszulRightAdjoint (morphism part)
function( l, phi )
local A, degree_lowest, degree_highest;
@@ -576,7 +576,7 @@ InstallGlobalFunction( _Functor_KoszulRightAdjoint_OnGradedMaps, ### defines: Ko
end );
-InstallValue( Functor_KoszulRightAdjoint_ForGradedModules,
+BindGlobal( "Functor_KoszulRightAdjoint_ForGradedModules",
CreateHomalgFunctor(
[ "name", "KoszulRightAdjoint" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -731,7 +731,7 @@ end );
## KoszulLeftAdjoint
##
-InstallGlobalFunction( _Functor_KoszulLeftAdjoint_OnGradedModules, ### defines: KoszulLeftAdjoint (object part)
+BindGlobal( "_Functor_KoszulLeftAdjoint_OnGradedModules", ### defines: KoszulLeftAdjoint (object part)
function( l, M )
local A, degree_lowest, degree_highest;
@@ -757,7 +757,7 @@ end );
##
-InstallGlobalFunction( _Functor_KoszulLeftAdjoint_OnGradedMaps, ### defines: KoszulLeftAdjoint (morphism part)
+BindGlobal( "_Functor_KoszulLeftAdjoint_OnGradedMaps", ### defines: KoszulLeftAdjoint (morphism part)
function( l, phi )
local A, degree_lowest, degree_highest;
@@ -780,7 +780,7 @@ InstallGlobalFunction( _Functor_KoszulLeftAdjoint_OnGradedMaps, ### defines: Kos
end );
-InstallValue( Functor_KoszulLeftAdjoint_ForGradedModules,
+BindGlobal( "Functor_KoszulLeftAdjoint_ForGradedModules",
CreateHomalgFunctor(
[ "name", "KoszulLeftAdjoint" ],
[ "category", HOMALG_GRADED_MODULES.category ],
diff --git a/GradedModules/gap/OtherFunctors.gd b/GradedModules/gap/OtherFunctors.gd
index 409520c2a..c984a950b 100644
--- a/GradedModules/gap/OtherFunctors.gd
+++ b/GradedModules/gap/OtherFunctors.gd
@@ -12,22 +12,11 @@
#
####################################
-## DirectSum
-DeclareGlobalFunction( "_Functor_DirectSum_OnGradedModules" );
-
-DeclareGlobalVariable( "Functor_DirectSum_for_graded_modules" );
-
## LinearPart
DeclareOperation( "LinearPart",
[ IsHomalgMorphism ] );
-DeclareGlobalFunction( "_Functor_LinearPart_OnGradedModules" );
-
-DeclareGlobalFunction( "_Functor_LinearPart_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_LinearPart_ForGradedModules" );
-
## ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree
DeclareOperation( "ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree",
@@ -36,10 +25,6 @@ DeclareOperation( "ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertai
DeclareOperation( "ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree",
[ IsHomalgElement, IsHomalgGradedModule ] );
-DeclareGlobalFunction( "_Functor_ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree_OnGradedModules" );
-
-DeclareGlobalVariable( "Functor_ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree_ForGradedModules" );
-
## DirectSummandOfGradedFreeModuleGeneratedByACertainDegree
DeclareOperation( "DirectSummandOfGradedFreeModuleGeneratedByACertainDegree",
@@ -56,12 +41,6 @@ DeclareOperation( "DirectSummandOfGradedFreeModuleGeneratedByACertainDegree",
DeclareOperation( "GeneralizedLinearStrand",
[ IsList, IsHomalgMorphism ] );
-DeclareGlobalFunction( "_Functor_GeneralizedLinearStrand_OnFreeCocomplexes" );
-
-DeclareGlobalFunction( "_Functor_GeneralizedLinearStrand_OnCochainMaps" );
-
-DeclareGlobalVariable( "Functor_GeneralizedLinearStrand_ForGradedModules" );
-
## LinearStrand
DeclareOperation( "LinearStrand",
@@ -70,12 +49,6 @@ DeclareOperation( "LinearStrand",
DeclareOperation( "LinearStrand",
[ IsHomalgElement, IsHomalgMorphism ] );
-DeclareGlobalFunction( "_Functor_LinearStrand_OnFreeCocomplexes" );
-
-DeclareGlobalFunction( "_Functor_LinearStrand_OnCochainMaps" );
-
-DeclareGlobalVariable( "Functor_LinearStrand_ForGradedModules" );
-
## ConstantStrand
DeclareOperation( "ConstantStrand",
@@ -84,12 +57,6 @@ DeclareOperation( "ConstantStrand",
DeclareOperation( "ConstantStrand",
[ IsHomalgElement, IsHomalgMorphism ] );
-DeclareGlobalFunction( "_Functor_ConstantStrand_OnFreeCocomplexes" );
-
-DeclareGlobalFunction( "_Functor_ConstantStrand_OnCochainMaps" );
-
-DeclareGlobalVariable( "Functor_ConstantStrand_ForGradedModules" );
-
## LinearFreeComplexOverExteriorAlgebraToModule
DeclareOperation( "LinearFreeComplexOverExteriorAlgebraToModule",
@@ -104,8 +71,6 @@ DeclareOperation( "ExtensionMapsFromExteriorComplex",
DeclareOperation( "CompareArgumentsForLinearFreeComplexOverExteriorAlgebraToModuleOnObjects",
[ IsList, IsList ] );
-DeclareGlobalFunction( "_Functor_LinearFreeComplexOverExteriorAlgebraToModule_OnGradedModules" );
-
DeclareOperation( "ConstructMorphismFromLayers",
[ IsHomalgGradedModule, IsHomalgGradedModule, IsHomalgChainMorphism ] );
@@ -121,10 +86,6 @@ DeclareOperation( "CompleteKernelSquareByDualization",
DeclareOperation( "SetNaturalMapFromExteriorComplexToRightAdjointForModulesOfGlobalSections",
[ IsHomalgComplex, IsHomalgGradedModule ] );
-DeclareGlobalFunction( "_Functor_LinearFreeComplexOverExteriorAlgebraToModule_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_LinearFreeComplexOverExteriorAlgebraToModule_ForGradedModules" );
-
#backwards compatibility
DeclareSynonym( "HomogeneousExteriorComplexToModule", LinearFreeComplexOverExteriorAlgebraToModule );
@@ -157,12 +118,6 @@ DeclareOperation( "ModuleOfGlobalSectionsTruncatedAtCertainDegree",
DeclareOperation( "ModuleOfGlobalSectionsTruncatedAtCertainDegree",
[ IsHomalgElement, IsHomalgGradedModule ] );
-DeclareGlobalFunction( "_Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_OnGradedModules" );
-
-DeclareGlobalFunction( "_Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_ForGradedModules" );
-
DeclareAttribute( "NaturalMapFromExteriorComplexToRightAdjoint",
IsHomalgComplex );
@@ -174,12 +129,6 @@ DeclareOperation( "NaturalMapToModuleOfGlobalSectionsTruncatedAtCertainDegree",
## ModuleOfGlobalSections
-DeclareGlobalFunction( "_Functor_ModuleOfGlobalSections_OnGradedModules" );
-
-DeclareGlobalFunction( "_Functor_ModuleOfGlobalSections_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_ModuleOfGlobalSections_ForGradedModules" );
-
DeclareOperation( "ModuleOfGlobalSections",
[ IsInt, IsHomalgGradedMap ] );
@@ -208,10 +157,6 @@ DeclareOperation( "GuessModuleOfGlobalSectionsFromATateMap",
DeclareOperation( "GuessModuleOfGlobalSectionsFromATateMap",
[ IsHomalgElement, IsHomalgGradedMap ] );
-DeclareGlobalFunction( "_Functor_GuessModuleOfGlobalSectionsFromATateMap_OnGradedMaps" );
-
-DeclareGlobalVariable( "Functor_GuessModuleOfGlobalSectionsFromATateMap_ForGradedMaps" );
-
####################################
#
diff --git a/GradedModules/gap/OtherFunctors.gi b/GradedModules/gap/OtherFunctors.gi
index 4324d9e94..2a6e7df1e 100644
--- a/GradedModules/gap/OtherFunctors.gi
+++ b/GradedModules/gap/OtherFunctors.gi
@@ -16,7 +16,7 @@
## DirectSum
##
-InstallGlobalFunction( _Functor_DirectSum_OnGradedModules, ### defines: DirectSum
+BindGlobal( "_Functor_DirectSum_OnGradedModules", ### defines: DirectSum
function( M, N )
local S, degMN, sum, iotaM, iotaN, piM, piN, natural, phi;
@@ -71,7 +71,7 @@ InstallGlobalFunction( _Functor_DirectSum_OnGradedModules, ### defines: DirectSu
end );
-InstallValue( Functor_DirectSum_for_graded_modules,
+BindGlobal( "Functor_DirectSum_for_graded_modules",
CreateHomalgFunctor(
[ "name", "DirectSum" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -99,13 +99,13 @@ InstallFunctor( Functor_DirectSum_for_graded_modules );
##
## (cf. Eisenbud, Floystad, Schreyer: Sheaf Cohomology and Free Resolutions over Exterior Algebras)
-InstallGlobalFunction( _Functor_LinearPart_OnGradedModules, ### defines: LinearPart (object part)
+BindGlobal( "_Functor_LinearPart_OnGradedModules", ### defines: LinearPart (object part)
function( M )
return M;
end );
##
-InstallGlobalFunction( _Functor_LinearPart_OnGradedMaps, ### defines: LinearPart (morphism part)
+BindGlobal( "_Functor_LinearPart_OnGradedMaps", ### defines: LinearPart (morphism part)
function( F_source, F_target, arg_before_pos, phi, arg_behind_pos )
local deg_s, deg_t, S, zero, mat, deg, i, j, result;
@@ -154,7 +154,7 @@ InstallGlobalFunction( _Functor_LinearPart_OnGradedMaps, ### defines: LinearPart
end );
-InstallValue( Functor_LinearPart_ForGradedModules,
+BindGlobal( "Functor_LinearPart_ForGradedModules",
CreateHomalgFunctor(
[ "name", "LinearPart" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -176,7 +176,7 @@ InstallFunctor( Functor_LinearPart_ForGradedModules );
## ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree
##
-InstallGlobalFunction( _Functor_ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree_OnGradedModules,
+BindGlobal( "_Functor_ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree_OnGradedModules",
function( d, M )
local S, deg, l, mat, pi;
@@ -211,7 +211,7 @@ InstallGlobalFunction( _Functor_ProjectionToDirectSummandOfGradedFreeModuleGener
end );
-InstallValue( Functor_ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree_ForGradedModules,
+BindGlobal( "Functor_ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree_ForGradedModules",
CreateHomalgFunctor(
[ "name", "ProjectionToDirectSummandOfGradedFreeModuleGeneratedByACertainDegree" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -295,7 +295,7 @@ end );
## GeneralizedLinearStrand
##
-InstallGlobalFunction( _Functor_GeneralizedLinearStrand_OnFreeCocomplexes,
+BindGlobal( "_Functor_GeneralizedLinearStrand_OnFreeCocomplexes",
function( f, T )
local i, alpha, alpha2, T2;
@@ -320,7 +320,7 @@ InstallGlobalFunction( _Functor_GeneralizedLinearStrand_OnFreeCocomplexes,
end );
-InstallGlobalFunction( _Functor_GeneralizedLinearStrand_OnCochainMaps,
+BindGlobal( "_Functor_GeneralizedLinearStrand_OnCochainMaps",
function( F_source, F_target, arg_before_pos, phi, arg_behind_pos )
local f, i, alpha, f_i, alpha2, psi;
@@ -347,7 +347,7 @@ InstallGlobalFunction( _Functor_GeneralizedLinearStrand_OnCochainMaps,
end );
-InstallValue( Functor_GeneralizedLinearStrand_ForGradedModules,
+BindGlobal( "Functor_GeneralizedLinearStrand_ForGradedModules",
CreateHomalgFunctor(
[ "name", "GeneralizedLinearStrand" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -374,14 +374,14 @@ InstallFunctorOnMorphisms( Functor_GeneralizedLinearStrand_ForGradedModules );
# returns the subcomplex of a free complex,
# where cohomological degree + shift = internal degree
-InstallGlobalFunction( _Functor_LinearStrand_OnFreeCocomplexes,
+BindGlobal( "_Functor_LinearStrand_OnFreeCocomplexes",
function( shift, T )
return GeneralizedLinearStrand( function( i ) return i + shift; end, T );
end );
-InstallGlobalFunction( _Functor_LinearStrand_OnCochainMaps,
+BindGlobal( "_Functor_LinearStrand_OnCochainMaps",
function( F_source, F_target, arg_before_pos, phi, arg_behind_pos )
return _Functor_GeneralizedLinearStrand_OnCochainMaps( F_source, F_target, [ function( i ) return i + arg_before_pos[1]; end ], phi, arg_behind_pos );
@@ -389,7 +389,7 @@ InstallGlobalFunction( _Functor_LinearStrand_OnCochainMaps,
end );
-InstallValue( Functor_LinearStrand_ForGradedModules,
+BindGlobal( "Functor_LinearStrand_ForGradedModules",
CreateHomalgFunctor(
[ "name", "LinearStrand" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -424,14 +424,14 @@ end );
## ConstantStrand
##
-InstallGlobalFunction( _Functor_ConstantStrand_OnFreeCocomplexes,
+BindGlobal( "_Functor_ConstantStrand_OnFreeCocomplexes",
function( d, T )
return GeneralizedLinearStrand( function( i ) return d; end, T );
end );
-InstallGlobalFunction( _Functor_ConstantStrand_OnCochainMaps,
+BindGlobal( "_Functor_ConstantStrand_OnCochainMaps",
function( F_source, F_target, arg_before_pos, phi, arg_behind_pos )
return _Functor_GeneralizedLinearStrand_OnCochainMaps( F_source, F_target, [ function( i ) return arg_before_pos[1]; end ], phi, arg_behind_pos );
@@ -439,7 +439,7 @@ InstallGlobalFunction( _Functor_ConstantStrand_OnCochainMaps,
end );
-InstallValue( Functor_ConstantStrand_ForGradedModules,
+BindGlobal( "Functor_ConstantStrand_ForGradedModules",
CreateHomalgFunctor(
[ "name", "ConstantStrand" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -700,7 +700,7 @@ InstallMethod( CompareArgumentsForLinearFreeComplexOverExteriorAlgebraToModuleOn
end );
-InstallGlobalFunction( _Functor_LinearFreeComplexOverExteriorAlgebraToModule_OnGradedModules,
+BindGlobal( "_Functor_LinearFreeComplexOverExteriorAlgebraToModule_OnGradedModules",
function( reg_sheaf, lin_tate )
local i, deg, A, n, S, k, result, EmbeddingsOfHigherDegrees, RecursiveEmbeddingsOfHigherDegrees, lower_bound, jj, j, tate_morphism, psi,
extension_map, var_s_morphism, T, T2, l, T2b, V1, V2, V1_iso_V2, isos, source_emb, map, certain_deg, t1, t2, phi, chain_phi, pos, Rresult, iso;
@@ -1108,7 +1108,7 @@ end );
# Now we inductively construct maps from the submodules generated by a certain degree of F_source and F_target.
# Since F_{>=j} = F_{>=j+1} \oplus we have the map starting from the direct sum and finally
# also from the factor of this direct sum.
-InstallGlobalFunction( _Functor_LinearFreeComplexOverExteriorAlgebraToModule_OnGradedMaps,
+BindGlobal( "_Functor_LinearFreeComplexOverExteriorAlgebraToModule_OnGradedMaps",
function( F_source, F_target, arg_before_pos, lin_tate, arg_behind_pos )
local reg_sheaf, lower_bound, A, S, j, object, jj, RF_source, RF_target,
lin_tate_source, lin_tate_target, nat_source, nat_target, alpha,
@@ -1178,7 +1178,7 @@ InstallGlobalFunction( _Functor_LinearFreeComplexOverExteriorAlgebraToModule_OnG
end );
-InstallValue( Functor_LinearFreeComplexOverExteriorAlgebraToModule_ForGradedModules,
+BindGlobal( "Functor_LinearFreeComplexOverExteriorAlgebraToModule_ForGradedModules",
CreateHomalgFunctor(
[ "name", "LinearFreeComplexOverExteriorAlgebraToModule" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -1204,7 +1204,7 @@ InstallFunctor( Functor_LinearFreeComplexOverExteriorAlgebraToModule_ForGradedMo
##
## (cf. Eisenbud, Floystad, Schreyer: Sheaf Cohomology and Free Resolutions over Exterior Algebras)
-InstallGlobalFunction( _Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_OnGradedModules,
+BindGlobal( "_Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_OnGradedModules",
function( truncation_bound, M )
local V2, map, UM, SOUM, C, reg, tate, B, reg_sheaf, t1, t2, psi, RM, id_old, phi, lin_tate, fit, HM, ii, i, hom_part;
@@ -1340,7 +1340,7 @@ InstallGlobalFunction( _Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_O
end );
##
-InstallGlobalFunction( _Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_OnGradedMaps,
+BindGlobal( "_Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_OnGradedMaps",
function( F_source, F_target, arg_before_pos, mor, arg_behind_pos )
local truncation_bound, source, target, nat_source, nat_target, reg, lin_tate, reg_sheaf, H_mor;
@@ -1538,7 +1538,7 @@ InstallMethod( NaturalMapToModuleOfGlobalSectionsTruncatedAtCertainDegree,
end );
-InstallValue( Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_ForGradedModules,
+BindGlobal( "Functor_ModuleOfGlobalSectionsTruncatedAtCertainDegree_ForGradedModules",
CreateHomalgFunctor(
[ "name", "ModuleOfGlobalSectionsTruncatedAtCertainDegree" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -1595,17 +1595,17 @@ end );
## ModuleOfGlobalSections
##
-InstallGlobalFunction( _Functor_ModuleOfGlobalSections_OnGradedModules,
+BindGlobal( "_Functor_ModuleOfGlobalSections_OnGradedModules",
function( M )
return ModuleOfGlobalSectionsTruncatedAtCertainDegree( HOMALG_GRADED_MODULES!.LowerTruncationBound, M );
end );
-InstallGlobalFunction( _Functor_ModuleOfGlobalSections_OnGradedMaps,
+BindGlobal( "_Functor_ModuleOfGlobalSections_OnGradedMaps",
function( F_source, F_target, arg_before_pos, mor, arg_behind_pos )
return ModuleOfGlobalSectionsTruncatedAtCertainDegree( HOMALG_GRADED_MODULES!.LowerTruncationBound, mor );
end );
-InstallValue( Functor_ModuleOfGlobalSections_ForGradedModules,
+BindGlobal( "Functor_ModuleOfGlobalSections_ForGradedModules",
CreateHomalgFunctor(
[ "name", "ModuleOfGlobalSections" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -1672,7 +1672,7 @@ InstallMethod( GuessModuleOfGlobalSectionsFromATateMap,
end );
-InstallGlobalFunction( _Functor_GuessModuleOfGlobalSectionsFromATateMap_OnGradedMaps, ### defines: GuessModuleOfGlobalSectionsFromATateMap (object part)
+BindGlobal( "_Functor_GuessModuleOfGlobalSectionsFromATateMap_OnGradedMaps", ### defines: GuessModuleOfGlobalSectionsFromATateMap (object part)
function( steps, phi )
local A, n, psi, deg, lin_tate, alpha, j, K, tate, i, tate2;
@@ -1737,7 +1737,7 @@ InstallGlobalFunction( _Functor_GuessModuleOfGlobalSectionsFromATateMap_OnGraded
end );
-InstallValue( Functor_GuessModuleOfGlobalSectionsFromATateMap_ForGradedMaps,
+BindGlobal( "Functor_GuessModuleOfGlobalSectionsFromATateMap_ForGradedMaps",
CreateHomalgFunctor(
[ "name", "GuessModuleOfGlobalSectionsFromATateMap" ],
[ "category", HOMALG_GRADED_MODULES.category ],
diff --git a/GradedModules/gap/ToolFunctors.gd b/GradedModules/gap/ToolFunctors.gd
index 558324345..e583c651a 100644
--- a/GradedModules/gap/ToolFunctors.gd
+++ b/GradedModules/gap/ToolFunctors.gd
@@ -12,46 +12,6 @@
#
####################################
-## TheZeroMorphism
-DeclareGlobalFunction( "_Functor_TheZeroMorphism_OnGradedModules" );
-
-DeclareGlobalVariable( "functor_TheZeroMorphism_for_graded_modules" );
-
-## MulMorphism
-DeclareGlobalFunction( "_Functor_MulMorphism_OnGradedMaps" );
-
-DeclareGlobalVariable( "functor_MulMorphism_for_maps_of_graded_modules" );
-
-## AddMorphisms
-DeclareGlobalFunction( "_Functor_AddMorphisms_OnGradedMaps" );
-
-DeclareGlobalVariable( "functor_AddMorphisms_for_maps_of_graded_modules" );
-
-## SubMorphisms
-DeclareGlobalFunction( "_Functor_SubMorphisms_OnGradedMaps" );
-
-DeclareGlobalVariable( "functor_SubMorphisms_for_maps_of_graded_modules" );
-
-## Compose
-DeclareGlobalFunction( "_Functor_PreCompose_OnGradedMaps" );
-
-DeclareGlobalVariable( "functor_PreCompose_for_maps_of_graded_modules" );
-
-## CoproductMorphism
-DeclareGlobalFunction( "_Functor_CoproductMorphism_OnGradedMaps" );
-
-DeclareGlobalVariable( "functor_CoproductMorphism_for_maps_of_graded_modules" );
-
-## ProductMorphism
-DeclareGlobalFunction( "_Functor_ProductMorphism_OnGradedMaps" );
-
-DeclareGlobalVariable( "functor_ProductMorphism_for_maps_of_graded_modules" );
-
-## PostDivide
-DeclareGlobalFunction( "_Functor_PostDivide_OnGradedMaps" );
-
-DeclareGlobalVariable( "functor_PostDivide_for_maps_of_graded_modules" );
-
####################################
#
# global functions and operations:
diff --git a/GradedModules/gap/ToolFunctors.gi b/GradedModules/gap/ToolFunctors.gi
index 3f8be4af9..b174e5135 100644
--- a/GradedModules/gap/ToolFunctors.gi
+++ b/GradedModules/gap/ToolFunctors.gi
@@ -16,7 +16,7 @@
## TheZeroMorphism
##
-InstallGlobalFunction( _Functor_TheZeroMorphism_OnGradedModules, ### defines: TheZeroMorphism
+BindGlobal( "_Functor_TheZeroMorphism_OnGradedModules", ### defines: TheZeroMorphism
function( M, N )
local psi;
@@ -28,7 +28,7 @@ InstallGlobalFunction( _Functor_TheZeroMorphism_OnGradedModules, ### defines: Th
end );
-InstallValue( functor_TheZeroMorphism_for_graded_modules,
+BindGlobal( "functor_TheZeroMorphism_for_graded_modules",
CreateHomalgFunctor(
[ "name", "TheZeroMorphism" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -46,7 +46,7 @@ InstallValue( functor_TheZeroMorphism_for_graded_modules,
## MulMorphism
##
-InstallGlobalFunction( _Functor_MulMorphism_OnGradedMaps, ### defines: MulMorphism
+BindGlobal( "_Functor_MulMorphism_OnGradedMaps", ### defines: MulMorphism
function( a, phi )
local a_phi;
@@ -64,7 +64,7 @@ InstallGlobalFunction( _Functor_MulMorphism_OnGradedMaps, ### defines: MulMorphi
end );
-InstallValue( functor_MulMorphism_for_maps_of_graded_modules,
+BindGlobal( "functor_MulMorphism_for_maps_of_graded_modules",
CreateHomalgFunctor(
[ "name", "MulMorphism" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -93,7 +93,7 @@ end );
## AddMorphisms
##
-InstallGlobalFunction( _Functor_AddMorphisms_OnGradedMaps, ### defines: AddMorphisms
+BindGlobal( "_Functor_AddMorphisms_OnGradedMaps", ### defines: AddMorphisms
function( phi1, phi2 )
local phi;
@@ -107,7 +107,7 @@ InstallGlobalFunction( _Functor_AddMorphisms_OnGradedMaps, ### defines: AddMorph
end );
-InstallValue( functor_AddMorphisms_for_maps_of_graded_modules,
+BindGlobal( "functor_AddMorphisms_for_maps_of_graded_modules",
CreateHomalgFunctor(
[ "name", "+" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -126,7 +126,7 @@ functor_AddMorphisms_for_maps_of_graded_modules!.ContainerForWeakPointersOnCompu
## SubMorphisms
##
-InstallGlobalFunction( _Functor_SubMorphisms_OnGradedMaps, ### defines: SubMorphisms
+BindGlobal( "_Functor_SubMorphisms_OnGradedMaps", ### defines: SubMorphisms
function( phi1, phi2 )
local phi;
@@ -140,7 +140,7 @@ InstallGlobalFunction( _Functor_SubMorphisms_OnGradedMaps, ### defines: SubMorph
end );
-InstallValue( functor_SubMorphisms_for_maps_of_graded_modules,
+BindGlobal( "functor_SubMorphisms_for_maps_of_graded_modules",
CreateHomalgFunctor(
[ "name", "-" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -159,7 +159,7 @@ functor_SubMorphisms_for_maps_of_graded_modules!.ContainerForWeakPointersOnCompu
## Compose
##
-InstallGlobalFunction( _Functor_PreCompose_OnGradedMaps, ### defines: PreCompose
+BindGlobal( "_Functor_PreCompose_OnGradedMaps", ### defines: PreCompose
function( pre, post )
local S, source, target, phi;
@@ -178,7 +178,7 @@ InstallGlobalFunction( _Functor_PreCompose_OnGradedMaps, ### defines: PreCompose
end );
-InstallValue( functor_PreCompose_for_maps_of_graded_modules,
+BindGlobal( "functor_PreCompose_for_maps_of_graded_modules",
CreateHomalgFunctor(
[ "name", "PreCompose" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -196,7 +196,7 @@ InstallValue( functor_PreCompose_for_maps_of_graded_modules,
## CoproductMorphism
##
-InstallGlobalFunction( _Functor_CoproductMorphism_OnGradedMaps, ### defines: CoproductMorphism
+BindGlobal( "_Functor_CoproductMorphism_OnGradedMaps", ### defines: CoproductMorphism
function( phi, psi )
local phi_psi;
@@ -208,7 +208,7 @@ InstallGlobalFunction( _Functor_CoproductMorphism_OnGradedMaps, ### defines: Cop
end );
-InstallValue( functor_CoproductMorphism_for_maps_of_graded_modules,
+BindGlobal( "functor_CoproductMorphism_for_maps_of_graded_modules",
CreateHomalgFunctor(
[ "name", "CoproductMorphism" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -226,7 +226,7 @@ InstallValue( functor_CoproductMorphism_for_maps_of_graded_modules,
## ProductMorphism
##
-InstallGlobalFunction( _Functor_ProductMorphism_OnGradedMaps, ### defines: ProductMorphism
+BindGlobal( "_Functor_ProductMorphism_OnGradedMaps", ### defines: ProductMorphism
function( phi, psi )
local phi_psi;
@@ -238,7 +238,7 @@ InstallGlobalFunction( _Functor_ProductMorphism_OnGradedMaps, ### defines: Produ
end );
-InstallValue( functor_ProductMorphism_for_maps_of_graded_modules,
+BindGlobal( "functor_ProductMorphism_for_maps_of_graded_modules",
CreateHomalgFunctor(
[ "name", "ProductMorphism" ],
[ "category", HOMALG_GRADED_MODULES.category ],
@@ -273,7 +273,7 @@ InstallValue( functor_ProductMorphism_for_maps_of_graded_modules,
## PostDivide
##
-InstallGlobalFunction( _Functor_PostDivide_OnGradedMaps, ### defines: PostDivide
+BindGlobal( "_Functor_PostDivide_OnGradedMaps", ### defines: PostDivide
function( gamma, beta )
local N, psi, M_;
@@ -299,7 +299,7 @@ InstallGlobalFunction( _Functor_PostDivide_OnGradedMaps, ### defines: PostDivid
end );
-InstallValue( functor_PostDivide_for_maps_of_graded_modules,
+BindGlobal( "functor_PostDivide_for_maps_of_graded_modules",
CreateHomalgFunctor(
[ "name", "PostDivide" ],
[ "category", HOMALG_GRADED_MODULES.category ],
diff --git a/Modules/gap/BasicFunctors.gd b/Modules/gap/BasicFunctors.gd
index 99c93de6f..fe691e178 100644
--- a/Modules/gap/BasicFunctors.gd
+++ b/Modules/gap/BasicFunctors.gd
@@ -12,34 +12,7 @@
#
####################################
-## Cokernel
-DeclareGlobalFunction( "_Functor_Cokernel_OnModules" );
-
-DeclareGlobalVariable( "functor_Cokernel_for_fp_modules" );
-
-## ImageObject
-DeclareGlobalFunction( "_Functor_ImageObject_OnModules" );
-
-DeclareGlobalVariable( "functor_ImageObject_for_fp_modules" );
-
-## Hom
-DeclareGlobalFunction( "_Functor_Hom_OnModules" );
-
-DeclareGlobalFunction( "_Functor_Hom_OnMaps" );
-
-DeclareGlobalVariable( "Functor_Hom_for_fp_modules" );
-
-## TensorProduct
-DeclareGlobalFunction( "_Functor_TensorProduct_OnModules" );
-
-DeclareGlobalFunction( "_Functor_TensorProduct_OnMaps" );
-
-DeclareGlobalVariable( "Functor_TensorProduct_for_fp_modules" );
-
-## BaseChange
-DeclareGlobalFunction( "_functor_BaseChange_OnModules" );
-
-DeclareGlobalVariable( "functor_BaseChange_for_fp_modules" );
+DeclareGlobalName( "Functor_Hom_for_fp_modules" );
####################################
#
diff --git a/Modules/gap/BasicFunctors.gi b/Modules/gap/BasicFunctors.gi
index 4d1f2a041..df518be64 100644
--- a/Modules/gap/BasicFunctors.gi
+++ b/Modules/gap/BasicFunctors.gi
@@ -17,7 +17,7 @@
##
##
-InstallGlobalFunction( _Functor_Cokernel_OnModules, ### defines: Cokernel(Epi)
+BindGlobal( "_Functor_Cokernel_OnModules", ### defines: Cokernel(Epi)
function( phi )
local R, T, p, rel, gen, coker, id, epi, gen_iso, img_emb, emb;
@@ -106,7 +106,7 @@ end );
## <#GAPDoc Label="functor_Cokernel:code">
##
##
##
##
##
##
## B
-InstallGlobalFunction( _Functor_Pullback_OnObjects, ### defines: Pullback(PairOfMaps)
+BindGlobal( "_Functor_Pullback_OnObjects", ### defines: Pullback(PairOfMaps)
function( chm_phi_beta1 )
local phi, beta1, phi_beta1, ApB_, emb, pb, S, pair;
@@ -358,7 +358,7 @@ InstallGlobalFunction( _Functor_Pullback_OnObjects, ### defines: Pullback(PairOf
end );
-InstallValue( functor_Pullback,
+BindGlobal( "functor_Pullback",
CreateHomalgFunctor(
[ "name", "Pullback" ],
[ "category", HOMALG.category ],
@@ -394,7 +394,7 @@ end );
# v v
# B_ ---->-----> ?
-InstallGlobalFunction( _Functor_Pushout_OnObjects, ### defines: Pushout(PairOfMaps)
+BindGlobal( "_Functor_Pushout_OnObjects", ### defines: Pushout(PairOfMaps)
function( chm_alpha1_psi )
local psi, alpha1, alpha1_psi, epi, po, T, pair;
@@ -455,7 +455,7 @@ InstallGlobalFunction( _Functor_Pushout_OnObjects, ### defines: Pushout(PairOfMa
end );
-InstallValue( functor_Pushout,
+BindGlobal( "functor_Pushout",
CreateHomalgFunctor(
[ "name", "Pushout" ],
[ "category", HOMALG.category ],
@@ -540,7 +540,7 @@ end );
## AuslanderDual
##
-InstallGlobalFunction( _Functor_AuslanderDual_OnObjects, ### defines: AuslanderDual
+BindGlobal( "_Functor_AuslanderDual_OnObjects", ### defines: AuslanderDual
function( M )
local d0;
@@ -550,7 +550,7 @@ InstallGlobalFunction( _Functor_AuslanderDual_OnObjects, ### defines: AuslanderD
end );
-InstallValue( functor_AuslanderDual,
+BindGlobal( "functor_AuslanderDual",
CreateHomalgFunctor(
[ "name", "AuslanderDual" ],
[ "category", HOMALG.category ],
diff --git a/homalg/gap/ToolFunctors.gd b/homalg/gap/ToolFunctors.gd
index 5b9dcb7a2..0e347b409 100644
--- a/homalg/gap/ToolFunctors.gd
+++ b/homalg/gap/ToolFunctors.gd
@@ -12,30 +12,6 @@
#
####################################
-## AsATwoSequence
-DeclareGlobalFunction( "_Functor_AsATwoSequence_OnObjects" );
-
-DeclareGlobalVariable( "functor_AsATwoSequence" );
-
-## PreCompose
-DeclareGlobalFunction( "_Functor_PreCompose_OnObjects" );
-
-DeclareGlobalVariable( "functor_PreCompose" );
-
-## AsChainMorphismForPullback
-DeclareGlobalFunction( "_Functor_AsChainMorphismForPullback_OnObjects" );
-
-DeclareGlobalVariable( "functor_AsChainMorphismForPullback" );
-
-## AsChainMorphismForPushout
-DeclareGlobalFunction( "_Functor_AsChainMorphismForPushout_OnObjects" );
-
-DeclareGlobalVariable( "functor_AsChainMorphismForPushout" );
-
-## PreDivide
-DeclareGlobalFunction( "_Functor_PreDivide_OnMorphisms" );
-
-DeclareGlobalVariable( "functor_PreDivide" );
####################################
#
diff --git a/homalg/gap/ToolFunctors.gi b/homalg/gap/ToolFunctors.gi
index cc0b63e94..5323f0061 100644
--- a/homalg/gap/ToolFunctors.gi
+++ b/homalg/gap/ToolFunctors.gi
@@ -16,7 +16,7 @@
## AsATwoSequence
##
-InstallGlobalFunction( _Functor_AsATwoSequence_OnObjects, ### defines: AsATwoSequence
+BindGlobal( "_Functor_AsATwoSequence_OnObjects", ### defines: AsATwoSequence
function( phi, psi )
local pre, post, C;
@@ -54,7 +54,7 @@ InstallGlobalFunction( _Functor_AsATwoSequence_OnObjects, ### defines: AsATwoSeq
end );
-InstallValue( functor_AsATwoSequence,
+BindGlobal( "functor_AsATwoSequence",
CreateHomalgFunctor(
[ "name", "AsATwoSequence" ],
[ "category", HOMALG.category ],
@@ -159,7 +159,7 @@ end );
# v v
# B_ --(beta1)---> B
-InstallGlobalFunction( _Functor_AsChainMorphismForPullback_OnObjects, ### defines: AsChainMorphismForPullback
+BindGlobal( "_Functor_AsChainMorphismForPullback_OnObjects", ### defines: AsChainMorphismForPullback
function( phi, beta1 )
local S, T, c;
@@ -182,7 +182,7 @@ InstallGlobalFunction( _Functor_AsChainMorphismForPullback_OnObjects, ### define
end );
-InstallValue( functor_AsChainMorphismForPullback,
+BindGlobal( "functor_AsChainMorphismForPullback",
CreateHomalgFunctor(
[ "name", "AsChainMorphismForPullback" ],
[ "category", HOMALG.category ],
@@ -207,7 +207,7 @@ functor_AsChainMorphismForPullback!.ContainerForWeakPointersOnComputedBasicObjec
# v v
# B_ ---->-----> ?
-InstallGlobalFunction( _Functor_AsChainMorphismForPushout_OnObjects, ### defines: AsChainMorphismForPushout
+BindGlobal( "_Functor_AsChainMorphismForPushout_OnObjects", ### defines: AsChainMorphismForPushout
function( alpha1, psi )
local S, T, c;
@@ -230,7 +230,7 @@ InstallGlobalFunction( _Functor_AsChainMorphismForPushout_OnObjects, ### defines
end );
-InstallValue( functor_AsChainMorphismForPushout,
+BindGlobal( "functor_AsChainMorphismForPushout",
CreateHomalgFunctor(
[ "name", "AsChainMorphismForPushout" ],
[ "category", HOMALG.category ],
@@ -407,7 +407,7 @@ end );
## PreDivide
##
-InstallGlobalFunction( _Functor_PreDivide_OnMorphisms, ### defines: PreDivide
+BindGlobal( "_Functor_PreDivide_OnMorphisms", ### defines: PreDivide
function( epsilon, eta )
local gen_iso, eta0;
@@ -438,7 +438,7 @@ InstallGlobalFunction( _Functor_PreDivide_OnMorphisms, ### defines: PreDivide
end );
-InstallValue( functor_PreDivide,
+BindGlobal( "functor_PreDivide",
CreateHomalgFunctor(
[ "name", "PreDivide" ],
[ "category", HOMALG.category ],