Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Ind
 [Top of Book]  [Contents]   [Next Chapter] 

CAP

Categories, Algorithms, Programming

2026.05-03

15 May 2026

Sebastian Gutsche
Email: sebastian.gutsche@gmail.com
Homepage: https://sebasguts.github.io/
Address:
Department Mathematik
Universität Siegen
Walter-Flex-Straße 3
57068 Siegen
Germany

Sebastian Posur
Email: sebastian.posur@uni-muenster.de
Homepage: https://sebastianpos.github.io
Address:
Department Mathematik
Universität Siegen
Walter-Flex-Straße 3
57068 Siegen
Germany

Øystein Skartsæterhagen
Email: oysteini@math.ntnu.no
Homepage: http://www.math.ntnu.no/~oysteini/
Address:
NTNU
Institutt for matematiske fag
7491 Trondheim
Norway

Fabian Zickgraf
Email: f.zickgraf@dashdos.com
Homepage: https://github.com/zickgraf/
Address:
Walter-Flex-Str. 3
57068 Siegen
Germany

Contents

1 CAP Categories
2 Objects
3 Morphisms
4 Category 2-Cells
5 Category of Categories
6 Universal Objects
7 Add Functions
 7.6 Available Add functions

  7.6-1 AddAdditionForMorphisms

  7.6-2 AddAdditiveGenerators

  7.6-3 AddAdditiveInverseForMorphisms

  7.6-4 AddAstrictionToCoimage

  7.6-5 AddAstrictionToCoimageWithGivenCoimageObject

  7.6-6 AddBasisOfExternalHom

  7.6-7 AddBasisOfSolutionsOfHomogeneousDoubleLinearSystemInLinearCategory

  7.6-8 AddBasisOfSolutionsOfHomogeneousLinearSystemInLinearCategory

  7.6-9 AddCoastrictionToImage

  7.6-10 AddCoastrictionToImageWithGivenImageObject

  7.6-11 AddCoefficientsOfMorphism

  7.6-12 AddCoequalizer

  7.6-13 AddCoequalizerFunctorial

  7.6-14 AddCoequalizerFunctorialWithGivenCoequalizers

  7.6-15 AddCoequalizerOfIdentityAndAutomorphisms

  7.6-16 AddCoequalizerOfIdentityAndAutomorphismsFunctorial

  7.6-17 AddCoequalizerOfIdentityAndAutomorphismsFunctorialWithGivenCoequalizers

  7.6-18 AddCoimageObject

  7.6-19 AddCoimageObjectFunctorial

  7.6-20 AddCoimageObjectFunctorialWithGivenCoimageObjects

  7.6-21 AddCoimageProjection

  7.6-22 AddCoimageProjectionWithGivenCoimageObject

  7.6-23 AddCokernelColift

  7.6-24 AddCokernelColiftWithGivenCokernelObject

  7.6-25 AddCokernelObject

  7.6-26 AddCokernelObjectFunctorial

  7.6-27 AddCokernelObjectFunctorialWithGivenCokernelObjects

  7.6-28 AddCokernelProjection

  7.6-29 AddCokernelProjectionWithGivenCokernelObject

  7.6-30 AddColift

  7.6-31 AddColiftAlongEpimorphism

  7.6-32 AddComponentOfMorphismFromCoproduct

  7.6-33 AddComponentOfMorphismFromDirectSum

  7.6-34 AddComponentOfMorphismIntoDirectProduct

  7.6-35 AddComponentOfMorphismIntoDirectSum

  7.6-36 AddCoproduct

  7.6-37 AddCoproductFunctorial

  7.6-38 AddCoproductFunctorialWithGivenCoproducts

  7.6-39 AddDirectProduct

  7.6-40 AddDirectProductFunctorial

  7.6-41 AddDirectProductFunctorialWithGivenDirectProducts

  7.6-42 AddDirectSum

  7.6-43 AddDirectSumFunctorial

  7.6-44 AddDirectSumFunctorialWithGivenDirectSums

  7.6-45 AddDistinguishedObjectOfHomomorphismStructure

  7.6-46 AddEmbeddingOfEqualizer

  7.6-47 AddEmbeddingOfEqualizerWithGivenEqualizer

  7.6-48 AddEpimorphismFromProjectiveCoverObject

  7.6-49 AddEpimorphismFromProjectiveCoverObjectWithGivenProjectiveCoverObject

  7.6-50 AddEpimorphismFromSomeProjectiveObject

  7.6-51 AddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject

  7.6-52 AddEqualizer

  7.6-53 AddEqualizerFunctorial

  7.6-54 AddEqualizerFunctorialWithGivenEqualizers

  7.6-55 AddFiberProduct

  7.6-56 AddFiberProductFunctorial

  7.6-57 AddFiberProductFunctorialWithGivenFiberProducts

  7.6-58 AddHomologyObject

  7.6-59 AddHomologyObjectFunctorialWithGivenHomologyObjects

  7.6-60 AddHomomorphismStructureOnMorphisms

  7.6-61 AddHomomorphismStructureOnMorphismsWithGivenObjects

  7.6-62 AddHomomorphismStructureOnObjects

  7.6-63 AddHorizontalPostCompose

  7.6-64 AddHorizontalPreCompose

  7.6-65 AddIdentityMorphism

  7.6-66 AddIdentityTwoCell

  7.6-67 AddImageEmbedding

  7.6-68 AddImageEmbeddingWithGivenImageObject

  7.6-69 AddImageObject

  7.6-70 AddImageObjectFunctorial

  7.6-71 AddImageObjectFunctorialWithGivenImageObjects

  7.6-72 AddIndecomposableInjectiveObjects

  7.6-73 AddIndecomposableProjectiveObjects

  7.6-74 AddInitialObject

  7.6-75 AddInitialObjectFunctorial

  7.6-76 AddInitialObjectFunctorialWithGivenInitialObjects

  7.6-77 AddInjectionOfCofactorOfCoproduct

  7.6-78 AddInjectionOfCofactorOfCoproductWithGivenCoproduct

  7.6-79 AddInjectionOfCofactorOfDirectSum

  7.6-80 AddInjectionOfCofactorOfDirectSumWithGivenDirectSum

  7.6-81 AddInjectionOfCofactorOfPushout

  7.6-82 AddInjectionOfCofactorOfPushoutWithGivenPushout

  7.6-83 AddInjectiveColift

  7.6-84 AddInjectiveDimension

  7.6-85 AddInjectiveEnvelopeObject

  7.6-86 AddInterpretMorphismAsMorphismFromDistinguishedObjectToHomomorphismStructure

  7.6-87 AddInterpretMorphismAsMorphismFromDistinguishedObjectToHomomorphismStructureWithGivenObjects

  7.6-88 AddInterpretMorphismFromDistinguishedObjectToHomomorphismStructureAsMorphism

  7.6-89 AddInverseForMorphisms

  7.6-90 AddInverseOfMorphismFromCoimageToImage

  7.6-91 AddInverseOfMorphismFromCoimageToImageWithGivenObjects

  7.6-92 AddIsAutomorphism

  7.6-93 AddIsBijectiveObject

  7.6-94 AddIsCodominating

  7.6-95 AddIsColiftable

  7.6-96 AddIsColiftableAlongEpimorphism

  7.6-97 AddIsCongruentForMorphisms

  7.6-98 AddIsDominating

  7.6-99 AddIsEndomorphism

  7.6-100 AddIsEpimorphism

  7.6-101 AddIsEqualAsFactorobjects

  7.6-102 AddIsEqualAsSubobjects

  7.6-103 AddIsEqualForCacheForMorphisms

  7.6-104 AddIsEqualForCacheForObjects

  7.6-105 AddIsEqualForMorphisms

  7.6-106 AddIsEqualForMorphismsOnMor

  7.6-107 AddIsEqualForObjects

  7.6-108 AddIsEqualToIdentityMorphism

  7.6-109 AddIsEqualToZeroMorphism

  7.6-110 AddIsHomSetInhabited

  7.6-111 AddIsIdempotent

  7.6-112 AddIsInitial

  7.6-113 AddIsInjective

  7.6-114 AddIsIsomorphicForObjects

  7.6-115 AddIsIsomorphism

  7.6-116 AddIsLiftable

  7.6-117 AddIsLiftableAlongMonomorphism

  7.6-118 AddIsMonomorphism

  7.6-119 AddIsOne

  7.6-120 AddIsProjective

  7.6-121 AddIsSplitEpimorphism

  7.6-122 AddIsSplitMonomorphism

  7.6-123 AddIsTerminal

  7.6-124 AddIsWellDefinedForMorphisms

  7.6-125 AddIsWellDefinedForMorphismsWithGivenSourceAndRange

  7.6-126 AddIsWellDefinedForObjects

  7.6-127 AddIsWellDefinedForTwoCells

  7.6-128 AddIsZeroForMorphisms

  7.6-129 AddIsZeroForObjects

  7.6-130 AddIsomorphismFromCoequalizerOfCoproductDiagramToPushout

  7.6-131 AddIsomorphismFromCoequalizerOfIdentityAndAutomorphismsToCoequalizer

  7.6-132 AddIsomorphismFromCoequalizerToCoequalizerOfIdentityAndAutomorphisms

  7.6-133 AddIsomorphismFromCoequalizerToCokernelOfJointPairwiseDifferencesOfMorphismsFromCoproduct

  7.6-134 AddIsomorphismFromCoimageToCokernelOfKernel

  7.6-135 AddIsomorphismFromCokernelOfJointPairwiseDifferencesOfMorphismsFromCoproductToCoequalizer

  7.6-136 AddIsomorphismFromCokernelOfKernelToCoimage

  7.6-137 AddIsomorphismFromCoproductToDirectSum

  7.6-138 AddIsomorphismFromDirectProductToDirectSum

  7.6-139 AddIsomorphismFromDirectSumToCoproduct

  7.6-140 AddIsomorphismFromDirectSumToDirectProduct

  7.6-141 AddIsomorphismFromEqualizerOfDirectProductDiagramToFiberProduct

  7.6-142 AddIsomorphismFromEqualizerToKernelOfJointPairwiseDifferencesOfMorphismsIntoDirectProduct

  7.6-143 AddIsomorphismFromFiberProductToEqualizerOfDirectProductDiagram

  7.6-144 AddIsomorphismFromHomologyObjectToItsConstructionAsAnImageObject

  7.6-145 AddIsomorphismFromImageObjectToKernelOfCokernel

  7.6-146 AddIsomorphismFromInitialObjectToZeroObject

  7.6-147 AddIsomorphismFromItsConstructionAsAnImageObjectToHomologyObject

  7.6-148 AddIsomorphismFromKernelOfCokernelToImageObject

  7.6-149 AddIsomorphismFromKernelOfJointPairwiseDifferencesOfMorphismsIntoDirectProductToEqualizer

  7.6-150 AddIsomorphismFromPushoutToCoequalizerOfCoproductDiagram

  7.6-151 AddIsomorphismFromTerminalObjectToZeroObject

  7.6-152 AddIsomorphismFromZeroObjectToInitialObject

  7.6-153 AddIsomorphismFromZeroObjectToTerminalObject

  7.6-154 AddJointPairwiseDifferencesOfMorphismsFromCoproduct

  7.6-155 AddJointPairwiseDifferencesOfMorphismsIntoDirectProduct

  7.6-156 AddKernelEmbedding

  7.6-157 AddKernelEmbeddingWithGivenKernelObject

  7.6-158 AddKernelLift

  7.6-159 AddKernelLiftWithGivenKernelObject

  7.6-160 AddKernelObject

  7.6-161 AddKernelObjectFunctorial

  7.6-162 AddKernelObjectFunctorialWithGivenKernelObjects

  7.6-163 AddLift

  7.6-164 AddLiftAlongMonomorphism

  7.6-165 AddLinearCombinationOfMorphisms

  7.6-166 AddMereExistenceOfSolutionOfLinearSystemInAbCategory

  7.6-167 AddMereExistenceOfUniqueSolutionOfHomogeneousLinearSystemInAbCategory

  7.6-168 AddMereExistenceOfUniqueSolutionOfLinearSystemInAbCategory

  7.6-169 AddMonomorphismIntoInjectiveEnvelopeObject

  7.6-170 AddMonomorphismIntoInjectiveEnvelopeObjectWithGivenInjectiveEnvelopeObject

  7.6-171 AddMonomorphismIntoSomeInjectiveObject

  7.6-172 AddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject

  7.6-173 AddMorphismBetweenDirectSums

  7.6-174 AddMorphismBetweenDirectSumsWithGivenDirectSums

  7.6-175 AddMorphismConstructor

  7.6-176 AddMorphismDatum

  7.6-177 AddMorphismFromCoimageToImage

  7.6-178 AddMorphismFromCoimageToImageWithGivenObjects

  7.6-179 AddMorphismFromEqualizerToSink

  7.6-180 AddMorphismFromEqualizerToSinkWithGivenEqualizer

  7.6-181 AddMorphismFromFiberProductToSink

  7.6-182 AddMorphismFromFiberProductToSinkWithGivenFiberProduct

  7.6-183 AddMorphismFromKernelObjectToSink

  7.6-184 AddMorphismFromKernelObjectToSinkWithGivenKernelObject

  7.6-185 AddMorphismFromSourceToCoequalizer

  7.6-186 AddMorphismFromSourceToCoequalizerWithGivenCoequalizer

  7.6-187 AddMorphismFromSourceToCokernelObject

  7.6-188 AddMorphismFromSourceToCokernelObjectWithGivenCokernelObject

  7.6-189 AddMorphismFromSourceToPushout

  7.6-190 AddMorphismFromSourceToPushoutWithGivenPushout

  7.6-191 AddMorphismsOfExternalHom

  7.6-192 AddMultiplyWithElementOfCommutativeSemiringForMorphisms

  7.6-193 AddObjectConstructor

  7.6-194 AddObjectDatum

  7.6-195 AddPostCompose

  7.6-196 AddPostComposeList

  7.6-197 AddPostInverseForMorphisms

  7.6-198 AddPreCompose

  7.6-199 AddPreComposeList

  7.6-200 AddPreInverseForMorphisms

  7.6-201 AddProjectionInFactorOfDirectProduct

  7.6-202 AddProjectionInFactorOfDirectProductWithGivenDirectProduct

  7.6-203 AddProjectionInFactorOfDirectSum

  7.6-204 AddProjectionInFactorOfDirectSumWithGivenDirectSum

  7.6-205 AddProjectionInFactorOfFiberProduct

  7.6-206 AddProjectionInFactorOfFiberProductWithGivenFiberProduct

  7.6-207 AddProjectionOntoCoequalizer

  7.6-208 AddProjectionOntoCoequalizerOfIdentityAndAutomorphisms

  7.6-209 AddProjectionOntoCoequalizerOfIdentityAndAutomorphismsWithGivenCoequalizer

  7.6-210 AddProjectionOntoCoequalizerWithGivenCoequalizer

  7.6-211 AddProjectiveCoverObject

  7.6-212 AddProjectiveDimension

  7.6-213 AddProjectiveLift

  7.6-214 AddPushout

  7.6-215 AddPushoutFunctorial

  7.6-216 AddPushoutFunctorialWithGivenPushouts

  7.6-217 AddRandomMorphismByInteger

  7.6-218 AddRandomMorphismByList

  7.6-219 AddRandomMorphismWithFixedRangeByInteger

  7.6-220 AddRandomMorphismWithFixedRangeByList

  7.6-221 AddRandomMorphismWithFixedSourceAndRangeByInteger

  7.6-222 AddRandomMorphismWithFixedSourceAndRangeByList

  7.6-223 AddRandomMorphismWithFixedSourceByInteger

  7.6-224 AddRandomMorphismWithFixedSourceByList

  7.6-225 AddRandomObjectByInteger

  7.6-226 AddRandomObjectByList

  7.6-227 AddSetOfGeneratingMorphismsOfCategory

  7.6-228 AddSetOfMorphismsOfFiniteCategory

  7.6-229 AddSetOfObjectsOfCategory

  7.6-230 AddSimplifyEndo

  7.6-231 AddSimplifyEndo_IsoFromInputObject

  7.6-232 AddSimplifyEndo_IsoToInputObject

  7.6-233 AddSimplifyMorphism

  7.6-234 AddSimplifyObject

  7.6-235 AddSimplifyObject_IsoFromInputObject

  7.6-236 AddSimplifyObject_IsoToInputObject

  7.6-237 AddSimplifyRange

  7.6-238 AddSimplifyRange_IsoFromInputObject

  7.6-239 AddSimplifyRange_IsoToInputObject

  7.6-240 AddSimplifySource

  7.6-241 AddSimplifySourceAndRange

  7.6-242 AddSimplifySourceAndRange_IsoFromInputRange

  7.6-243 AddSimplifySourceAndRange_IsoFromInputSource

  7.6-244 AddSimplifySourceAndRange_IsoToInputRange

  7.6-245 AddSimplifySourceAndRange_IsoToInputSource

  7.6-246 AddSimplifySource_IsoFromInputObject

  7.6-247 AddSimplifySource_IsoToInputObject

  7.6-248 AddSolveLinearSystemInAbCategory

  7.6-249 AddSomeInjectiveObject

  7.6-250 AddSomeIsomorphismBetweenObjects

  7.6-251 AddSomeProjectiveObject

  7.6-252 AddSomeReductionBySplitEpiSummand

  7.6-253 AddSomeReductionBySplitEpiSummand_MorphismFromInputRange

  7.6-254 AddSomeReductionBySplitEpiSummand_MorphismToInputRange

  7.6-255 AddSubtractionForMorphisms

  7.6-256 AddSumOfMorphisms

  7.6-257 AddTerminalObject

  7.6-258 AddTerminalObjectFunctorial

  7.6-259 AddTerminalObjectFunctorialWithGivenTerminalObjects

  7.6-260 AddUniversalMorphismFromCoequalizer

  7.6-261 AddUniversalMorphismFromCoequalizerOfIdentityAndAutomorphisms

  7.6-262 AddUniversalMorphismFromCoequalizerOfIdentityAndAutomorphismsWithGivenCoequalizer

  7.6-263 AddUniversalMorphismFromCoequalizerWithGivenCoequalizer

  7.6-264 AddUniversalMorphismFromCoproduct

  7.6-265 AddUniversalMorphismFromCoproductWithGivenCoproduct

  7.6-266 AddUniversalMorphismFromDirectSum

  7.6-267 AddUniversalMorphismFromDirectSumWithGivenDirectSum

  7.6-268 AddUniversalMorphismFromImage

  7.6-269 AddUniversalMorphismFromImageWithGivenImageObject

  7.6-270 AddUniversalMorphismFromInitialObject

  7.6-271 AddUniversalMorphismFromInitialObjectWithGivenInitialObject

  7.6-272 AddUniversalMorphismFromPushout

  7.6-273 AddUniversalMorphismFromPushoutWithGivenPushout

  7.6-274 AddUniversalMorphismFromZeroObject

  7.6-275 AddUniversalMorphismFromZeroObjectWithGivenZeroObject

  7.6-276 AddUniversalMorphismIntoCoimage

  7.6-277 AddUniversalMorphismIntoCoimageWithGivenCoimageObject

  7.6-278 AddUniversalMorphismIntoDirectProduct

  7.6-279 AddUniversalMorphismIntoDirectProductWithGivenDirectProduct

  7.6-280 AddUniversalMorphismIntoDirectSum

  7.6-281 AddUniversalMorphismIntoDirectSumWithGivenDirectSum

  7.6-282 AddUniversalMorphismIntoEqualizer

  7.6-283 AddUniversalMorphismIntoEqualizerWithGivenEqualizer

  7.6-284 AddUniversalMorphismIntoFiberProduct

  7.6-285 AddUniversalMorphismIntoFiberProductWithGivenFiberProduct

  7.6-286 AddUniversalMorphismIntoTerminalObject

  7.6-287 AddUniversalMorphismIntoTerminalObjectWithGivenTerminalObject

  7.6-288 AddUniversalMorphismIntoZeroObject

  7.6-289 AddUniversalMorphismIntoZeroObjectWithGivenZeroObject

  7.6-290 AddVerticalPostCompose

  7.6-291 AddVerticalPreCompose

  7.6-292 AddZeroMorphism

  7.6-293 AddZeroObject

  7.6-294 AddZeroObjectFunctorial

  7.6-295 AddZeroObjectFunctorialWithGivenZeroObjects
8 Managing Derived Methods
9 Technical Details
 9.2 Tools

  9.2-1 FunctionWithNamedArguments

  9.2-2 CAP_INTERNAL_GET_DATA_TYPE_FROM_STRING

  9.2-3 CAP_INTERNAL_GET_DATA_TYPES_FROM_STRINGS

  9.2-4 CAP_INTERNAL_REPLACED_STRING_WITH_FILTER

  9.2-5 CAP_INTERNAL_REPLACED_STRINGS_WITH_FILTERS

  9.2-6 CAP_INTERNAL_RETURN_OPTION_OR_DEFAULT

  9.2-7 CAP_INTERNAL_FIND_APPEARANCE_OF_SYMBOL_IN_FUNCTION

  9.2-8 CAP_INTERNAL_MERGE_PRECONDITIONS_LIST

  9.2-9 CAP_INTERNAL_ASSERT_VALUE_IS_OF_TYPE_GETTER

  9.2-10 CAP_INTERNAL_ASSERT_IS_CELL_OF_CATEGORY

  9.2-11 CAP_INTERNAL_ASSERT_IS_OBJECT_OF_CATEGORY

  9.2-12 CAP_INTERNAL_ASSERT_IS_MORPHISM_OF_CATEGORY

  9.2-13 CAP_INTERNAL_ASSERT_IS_TWO_CELL_OF_CATEGORY

  9.2-14 CachingStatistic

  9.2-15 BrowseCachingStatistic

  9.2-16 InstallDeprecatedAlias

  9.2-17 IsSpecializationOfFilter

  9.2-18 IsSpecializationOfFilterList

  9.2-19 InstallMethodForCompilerForCAP

  9.2-20 InstallOtherMethodForCompilerForCAP

  9.2-21 CapJitAddKnownMethod

  9.2-22 CapJitAddTypeSignature

  9.2-23 CapJitDataTypeOfListOf

  9.2-24 CapJitDataTypeOfNTupleOf

  9.2-25 CapJitDataTypeOfGroup

  9.2-26 CapJitDataTypeOfRing

  9.2-27 CapJitDataTypeOfCategory

  9.2-28 CapJitTypedExpression

  9.2-29 CapFixpoint

  9.2-30 Iterated

  9.2-31 Iterated

  9.2-32 TransitivelyNeededOtherPackages

  9.2-33 PackageOfCAPOperation

  9.2-34 SafePosition

  9.2-35 SafeUniquePosition

  9.2-36 SafePositionProperty

  9.2-37 SafeUniquePositionProperty

  9.2-38 SafeFirst

  9.2-39 SafeUniqueEntry

  9.2-40 NTuple

  9.2-41 Pair

  9.2-42 Triple

  9.2-43 TransposedMatWithGivenDimensions

  9.2-44 HandlePrecompiledTowers

  9.2-45 CAP_JIT_INCOMPLETE_LOGIC

  9.2-46 CAP_JIT_EXPR_CASE_WRAPPER

  9.2-47 ListWithKeys

  9.2-48 SumWithKeys

  9.2-49 ProductWithKeys

  9.2-50 ForAllWithKeys

  9.2-51 ForAnyWithKeys

  9.2-52 NumberWithKeys

  9.2-53 FilteredWithKeys

  9.2-54 FirstWithKeys

  9.2-55 LastWithKeys

  9.2-56 CreateGapObjectWithAttributes
10 Limits and Colimits
11 The Category Constructor
12 Reinterpretations of categories
13 Create wrapper hulls of a category
14 Dummy implementations
15 Terminal category
16 Finite skeletal discrete categories
17 Examples and Tests
Index

 [Top of Book]  [Contents]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Ind

generated by GAPDoc2HTML