CAP   Categories, Algorithms, Programming  2017.09.25 25 September 2017 Sebastian Gutsche Sebastian Posur Øystein Skartsæterhagen Sebastian Gutsche Email: mailto:gutsche@mathematik.uni-siegen.de Homepage: http://www.uni-siegen.de/fb6/rmi/ Address: Department Mathematik Universität Siegen Walter-Flex-Straße 3 57068 Siegen Germany Sebastian Posur Email: mailto:sebastian.posur@uni-siegen.de Homepage: http://www.uni-siegen.de/fb6/rmi/ Address: Department Mathematik Universität Siegen Walter-Flex-Straße 3 57068 Siegen Germany Øystein Skartsæterhagen Email: mailto:oysteini@math.ntnu.no Homepage: http://www.math.ntnu.no/~oysteini/ Address: NTNU Institutt for matematiske fag 7491 Trondheim Norway ------------------------------------------------------- Contents (CAP) 1 CAP Categories 1.1 Categories 1.1-1 IsCapCategory 1.1-2 IsCapCategoryCell 1.1-3 IsCapCategoryObject 1.1-4 IsCapCategoryMorphism 1.1-5 IsCapCategoryTwoCell 1.2 Constructor 1.2-1 CreateCapCategory 1.2-2 CreateCapCategory 1.3 Internal Attributes 1.3-1 CategoryFilter 1.3-2 CellFilter 1.3-3 ObjectFilter 1.3-4 MorphismFilter 1.3-5 TwoCellFilter 1.4 Logic switcher 1.4-1 CapCategorySwitchLogicOn 1.4-2 CapCategorySwitchLogicOff 1.5 Tool functions 1.5-1 CanCompute 1.5-2 CheckConstructivenessOfCategory 1.6 Well-Definedness of Cells 1.6-1 IsWellDefined 1.7 Type check 1.7-1 DisableBasicOperationTypeCheck 2 Category of Categories 2.1 The Category Cat 2.1-1 CapCat 2.2 Categories 2.2-1 IsCapCategoryAsCatObject 2.2-2 IsCapFunctor 2.2-3 IsCapNaturalTransformation 2.3 Constructors 2.3-1 AsCatObject 2.3-2 AsCapCategory 2.4 Functors 2.4-1 CapFunctor 2.4-2 AddObjectFunction 2.4-3 FunctorObjectOperation 2.4-4 AddMorphismFunction 2.4-5 FunctorMorphismOperation 2.4-6 ApplyFunctor 2.4-7 InstallFunctor 2.4-8 IdentityFunctor 2.4-9 FunctorCanonicalizeZeroObjects 2.4-10 NaturalIsomorophismFromIdentityToCanonicalizeZeroObjects 2.4-11 FunctorCanonicalizeZeroMorphisms 2.4-12 NaturalIsomorophismFromIdentityToCanonicalizeZeroMorphisms 2.5 Natural transformations 2.5-1 Name 2.5-2 NaturalTransformation 2.5-3 AddNaturalTransformationFunction 2.5-4 ApplyNaturalTransformation 2.5-5 InstallNaturalTransformation 2.5-6 HorizontalPreComposeNaturalTransformationWithFunctor 2.5-7 HorizontalPreComposeFunctorWithNaturalTransformation 3 Morphisms 3.1 Attributes for the Type of Morphisms 3.1-1 CapCategory 3.1-2 Source 3.1-3 Range 3.2 Categorical Properties of Morphisms 3.2-1 AddIsMonomorphism 3.2-2 AddIsEpimorphism 3.2-3 AddIsIsomorphism 3.2-4 AddIsSplitMonomorphism 3.2-5 AddIsSplitEpimorphism 3.2-6 AddIsOne 3.2-7 AddIsIdempotent 3.3 Non-Categorical Properties of Morphisms 3.3-1 IsIdenticalToIdentityMorphism 3.3-2 AddIsIdenticalToIdentityMorphism 3.3-3 IsIdenticalToZeroMorphism 3.3-4 AddIsIdenticalToZeroMorphism 3.3-5 AddIsEndomorphism 3.3-6 AddIsAutomorphism 3.4 Equality and Congruence for Morphisms 3.4-1 IsCongruentForMorphisms 3.4-2 AddIsCongruentForMorphisms 3.4-3 IsEqualForMorphisms 3.4-4 AddIsEqualForMorphisms 3.4-5 IsEqualForMorphismsOnMor 3.4-6 AddIsEqualForMorphismsOnMor 3.5 Basic Operations for Morphisms in Ab-Categories 3.5-1 IsZeroForMorphisms 3.5-2 AddIsZeroForMorphisms 3.5-3 AdditionForMorphisms 3.5-4 AddAdditionForMorphisms 3.5-5 SubtractionForMorphisms 3.5-6 AddSubtractionForMorphisms 3.5-7 AdditiveInverseForMorphisms 3.5-8 AddAdditiveInverseForMorphisms 3.5-9 ZeroMorphism 3.5-10 AddZeroMorphism 3.6 Subobject and Factorobject Operations 3.6-1 IsEqualAsSubobjects 3.6-2 AddIsEqualAsSubobjects 3.6-3 IsEqualAsFactorobjects 3.6-4 AddIsEqualAsFactorobjects 3.6-5 IsDominating 3.6-6 AddIsDominating 3.6-7 IsCodominating 3.6-8 AddIsCodominating 3.7 Identity Morphism and Composition of Morphisms 3.7-1 IdentityMorphism 3.7-2 AddIdentityMorphism 3.7-3 PreCompose 3.7-4 PreCompose 3.7-5 AddPreCompose 3.7-6 PostCompose 3.7-7 PostCompose 3.7-8 AddPostCompose 3.8 Well-Definedness of Morphisms 3.8-1 IsWellDefinedForMorphisms 3.8-2 AddIsWellDefinedForMorphisms 3.9 Basic Operations for Morphisms in Abelian Categories 3.9-1 LiftAlongMonomorphism 3.9-2 AddLiftAlongMonomorphism 3.9-3 ColiftAlongEpimorphism 3.9-4 AddColiftAlongEpimorphism 3.10 Lift/ Colift 3.10-1 Lift 3.10-2 AddLift 3.10-3 Colift 3.10-4 AddColift 3.11 Inverses 3.11-1 AddInverse 3.12 Tool functions for caches 3.12-1 IsEqualForCacheForMorphisms 3.12-2 AddIsEqualForCacheForMorphisms 4 Objects 4.1 Attributes for the Type of Objects 4.1-1 CapCategory 4.2 Equality for Objects 4.2-1 IsEqualForObjects 4.2-2 AddIsEqualForObjects 4.3 Categorical Properties of Objects 4.3-1 AddIsProjective 4.3-2 AddIsInjective 4.3-3 AddIsTerminal 4.3-4 AddIsInitial 4.3-5 IsZeroForObjects 4.3-6 AddIsZeroForObjects 4.4 Tool functions for caches 4.4-1 IsEqualForCacheForObjects 4.4-2 AddIsEqualForCacheForObjects 4.5 Well-Definedness of Objects 4.5-1 IsWellDefinedForObjects 4.5-2 AddIsWellDefinedForObjects 4.6 Projectives 4.6-1 SomeProjectiveObject 4.6-2 EpimorphismFromSomeProjectiveObject 4.6-3 EpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject 4.6-4 ProjectiveLift 4.6-5 AddSomeProjectiveObject 4.6-6 AddEpimorphismFromSomeProjectiveObject 4.6-7 AddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject 4.6-8 AddProjectiveLift 4.7 Injectives 4.7-1 SomeInjectiveObject 4.7-2 MonomorphismIntoSomeInjectiveObject 4.7-3 MonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject 4.7-4 InjectiveColift 4.7-5 AddSomeInjectiveObject 4.7-6 AddMonomorphismIntoSomeInjectiveObject 4.7-7 AddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject 4.7-8 AddInjectiveColift 5 Category 2-Cells 5.1 Attributes for the Type of 2-Cells 5.1-1 Source 5.1-2 Range 5.2 Identity 2-Cell and Composition of 2-Cells 5.2-1 IdentityTwoCell 5.2-2 AddIdentityTwoCell 5.2-3 HorizontalPreCompose 5.2-4 AddHorizontalPreCompose 5.2-5 HorizontalPostCompose 5.2-6 AddHorizontalPostCompose 5.2-7 VerticalPreCompose 5.2-8 AddVerticalPreCompose 5.2-9 VerticalPostCompose 5.2-10 AddVerticalPostCompose 5.3 Well-Definedness for 2-Cells 5.3-1 IsWellDefinedForTwoCells 5.3-2 AddIsWellDefinedForTwoCells 6 Universal Objects 6.1 Kernel 6.1-1 KernelObject 6.1-2 KernelEmbedding 6.1-3 KernelEmbeddingWithGivenKernelObject 6.1-4 KernelLift 6.1-5 KernelLiftWithGivenKernelObject 6.1-6 AddKernelObject 6.1-7 AddKernelEmbedding 6.1-8 AddKernelEmbeddingWithGivenKernelObject 6.1-9 AddKernelLift 6.1-10 AddKernelLiftWithGivenKernelObject 6.1-11 KernelObjectFunctorial 6.1-12 KernelObjectFunctorial 6.1-13 KernelObjectFunctorialWithGivenKernelObjects 6.1-14 AddKernelObjectFunctorialWithGivenKernelObjects 6.2 Cokernel 6.2-1 CokernelObject 6.2-2 CokernelProjection 6.2-3 CokernelProjectionWithGivenCokernelObject 6.2-4 CokernelColift 6.2-5 CokernelColiftWithGivenCokernelObject 6.2-6 AddCokernelObject 6.2-7 AddCokernelProjection 6.2-8 AddCokernelProjectionWithGivenCokernelObject 6.2-9 AddCokernelColift 6.2-10 AddCokernelColiftWithGivenCokernelObject 6.2-11 CokernelObjectFunctorial 6.2-12 CokernelObjectFunctorial 6.2-13 CokernelObjectFunctorialWithGivenCokernelObjects 6.2-14 AddCokernelObjectFunctorialWithGivenCokernelObjects 6.3 Zero Object 6.3-1 ZeroObject 6.3-2 ZeroObject 6.3-3 MorphismFromZeroObject 6.3-4 MorphismIntoZeroObject 6.3-5 UniversalMorphismFromZeroObject 6.3-6 UniversalMorphismFromZeroObjectWithGivenZeroObject 6.3-7 UniversalMorphismIntoZeroObject 6.3-8 UniversalMorphismIntoZeroObjectWithGivenZeroObject 6.3-9 IsomorphismFromZeroObjectToInitialObject 6.3-10 IsomorphismFromInitialObjectToZeroObject 6.3-11 IsomorphismFromZeroObjectToTerminalObject 6.3-12 IsomorphismFromTerminalObjectToZeroObject 6.3-13 AddZeroObject 6.3-14 AddUniversalMorphismIntoZeroObject 6.3-15 AddUniversalMorphismIntoZeroObjectWithGivenZeroObject 6.3-16 AddUniversalMorphismFromZeroObject 6.3-17 AddUniversalMorphismFromZeroObjectWithGivenZeroObject 6.3-18 AddIsomorphismFromZeroObjectToInitialObject 6.3-19 AddIsomorphismFromInitialObjectToZeroObject 6.3-20 AddIsomorphismFromZeroObjectToTerminalObject 6.3-21 AddIsomorphismFromTerminalObjectToZeroObject 6.3-22 ZeroObjectFunctorial 6.3-23 AddZeroObjectFunctorial 6.4 Terminal Object 6.4-1 TerminalObject 6.4-2 TerminalObject 6.4-3 UniversalMorphismIntoTerminalObject 6.4-4 UniversalMorphismIntoTerminalObjectWithGivenTerminalObject 6.4-5 AddTerminalObject 6.4-6 AddUniversalMorphismIntoTerminalObject 6.4-7 AddUniversalMorphismIntoTerminalObjectWithGivenTerminalObject 6.4-8 TerminalObjectFunctorial 6.4-9 AddTerminalObjectFunctorial 6.5 Initial Object 6.5-1 InitialObject 6.5-2 InitialObject 6.5-3 UniversalMorphismFromInitialObject 6.5-4 UniversalMorphismFromInitialObjectWithGivenInitialObject 6.5-5 AddInitialObject 6.5-6 AddUniversalMorphismFromInitialObject 6.5-7 AddUniversalMorphismFromInitialObjectWithGivenInitialObject 6.5-8 InitialObjectFunctorial 6.5-9 AddInitialObjectFunctorial 6.6 Direct Sum 6.6-1 DirectSumOp 6.6-2 ProjectionInFactorOfDirectSum 6.6-3 ProjectionInFactorOfDirectSumOp 6.6-4 ProjectionInFactorOfDirectSumWithGivenDirectSum 6.6-5 InjectionOfCofactorOfDirectSum 6.6-6 InjectionOfCofactorOfDirectSumOp 6.6-7 InjectionOfCofactorOfDirectSumWithGivenDirectSum 6.6-8 UniversalMorphismIntoDirectSum 6.6-9 UniversalMorphismIntoDirectSumOp 6.6-10 UniversalMorphismIntoDirectSumWithGivenDirectSum 6.6-11 UniversalMorphismFromDirectSum 6.6-12 UniversalMorphismFromDirectSumOp 6.6-13 UniversalMorphismFromDirectSumWithGivenDirectSum 6.6-14 IsomorphismFromDirectSumToDirectProduct 6.6-15 IsomorphismFromDirectSumToDirectProductOp 6.6-16 IsomorphismFromDirectProductToDirectSum 6.6-17 IsomorphismFromDirectProductToDirectSumOp 6.6-18 IsomorphismFromDirectSumToCoproduct 6.6-19 IsomorphismFromDirectSumToCoproductOp 6.6-20 IsomorphismFromCoproductToDirectSum 6.6-21 IsomorphismFromCoproductToDirectSumOp 6.6-22 MorphismBetweenDirectSums 6.6-23 MorphismBetweenDirectSumsOp 6.6-24 AddProjectionInFactorOfDirectSum 6.6-25 AddProjectionInFactorOfDirectSumWithGivenDirectSum 6.6-26 AddInjectionOfCofactorOfDirectSum 6.6-27 AddInjectionOfCofactorOfDirectSumWithGivenDirectSum 6.6-28 AddUniversalMorphismIntoDirectSum 6.6-29 AddUniversalMorphismIntoDirectSumWithGivenDirectSum 6.6-30 AddUniversalMorphismFromDirectSum 6.6-31 AddUniversalMorphismFromDirectSumWithGivenDirectSum 6.6-32 AddIsomorphismFromDirectSumToDirectProduct 6.6-33 AddIsomorphismFromDirectProductToDirectSum 6.6-34 AddIsomorphismFromDirectSumToCoproduct 6.6-35 AddIsomorphismFromCoproductToDirectSum 6.6-36 AddDirectSum 6.6-37 DirectSumFunctorial 6.6-38 DirectSumFunctorialWithGivenDirectSums 6.6-39 AddDirectSumFunctorialWithGivenDirectSums 6.7 Coproduct 6.7-1 Coproduct 6.7-2 Coproduct 6.7-3 Coproduct 6.7-4 CoproductOp 6.7-5 InjectionOfCofactorOfCoproduct 6.7-6 InjectionOfCofactorOfCoproductOp 6.7-7 InjectionOfCofactorOfCoproductWithGivenCoproduct 6.7-8 UniversalMorphismFromCoproduct 6.7-9 UniversalMorphismFromCoproductOp 6.7-10 UniversalMorphismFromCoproductWithGivenCoproduct 6.7-11 AddCoproduct 6.7-12 AddInjectionOfCofactorOfCoproduct 6.7-13 AddInjectionOfCofactorOfCoproductWithGivenCoproduct 6.7-14 AddUniversalMorphismFromCoproduct 6.7-15 AddUniversalMorphismFromCoproductWithGivenCoproduct 6.7-16 CoproductFunctorial 6.7-17 CoproductFunctorialWithGivenCoproducts 6.7-18 AddCoproductFunctorialWithGivenCoproducts 6.8 Direct Product 6.8-1 DirectProductOp 6.8-2 ProjectionInFactorOfDirectProduct 6.8-3 ProjectionInFactorOfDirectProductOp 6.8-4 ProjectionInFactorOfDirectProductWithGivenDirectProduct 6.8-5 UniversalMorphismIntoDirectProduct 6.8-6 UniversalMorphismIntoDirectProductOp 6.8-7 UniversalMorphismIntoDirectProductWithGivenDirectProduct 6.8-8 AddDirectProduct 6.8-9 AddProjectionInFactorOfDirectProduct 6.8-10 AddProjectionInFactorOfDirectProductWithGivenDirectProduct 6.8-11 AddUniversalMorphismIntoDirectProduct 6.8-12 AddUniversalMorphismIntoDirectProductWithGivenDirectProduct 6.8-13 DirectProductFunctorial 6.8-14 DirectProductFunctorialWithGivenDirectProducts 6.8-15 AddDirectProductFunctorialWithGivenDirectProducts 6.9 Fiber Product 6.9-1 IsomorphismFromFiberProductToKernelOfDiagonalDifference 6.9-2 IsomorphismFromFiberProductToKernelOfDiagonalDifferenceOp 6.9-3 AddIsomorphismFromFiberProductToKernelOfDiagonalDifference 6.9-4 IsomorphismFromKernelOfDiagonalDifferenceToFiberProduct 6.9-5 IsomorphismFromKernelOfDiagonalDifferenceToFiberProductOp 6.9-6 AddIsomorphismFromKernelOfDiagonalDifferenceToFiberProduct 6.9-7 DirectSumDiagonalDifference 6.9-8 DirectSumDiagonalDifferenceOp 6.9-9 AddDirectSumDiagonalDifference 6.9-10 FiberProductEmbeddingInDirectSum 6.9-11 FiberProductEmbeddingInDirectSumOp 6.9-12 AddFiberProductEmbeddingInDirectSum 6.9-13 FiberProduct 6.9-14 FiberProductOp 6.9-15 ProjectionInFactorOfFiberProduct 6.9-16 ProjectionInFactorOfFiberProductOp 6.9-17 ProjectionInFactorOfFiberProductWithGivenFiberProduct 6.9-18 UniversalMorphismIntoFiberProduct 6.9-19 UniversalMorphismIntoFiberProductOp 6.9-20 UniversalMorphismIntoFiberProductWithGivenFiberProduct 6.9-21 AddFiberProduct 6.9-22 AddProjectionInFactorOfFiberProduct 6.9-23 AddProjectionInFactorOfFiberProductWithGivenFiberProduct 6.9-24 AddUniversalMorphismIntoFiberProduct 6.9-25 AddUniversalMorphismIntoFiberProductWithGivenFiberProduct 6.9-26 FiberProductFunctorial 6.9-27 FiberProductFunctorialWithGivenFiberProducts 6.9-28 AddFiberProductFunctorialWithGivenFiberProducts 6.10 Pushout 6.10-1 IsomorphismFromPushoutToCokernelOfDiagonalDifference 6.10-2 IsomorphismFromPushoutToCokernelOfDiagonalDifferenceOp 6.10-3 AddIsomorphismFromPushoutToCokernelOfDiagonalDifference 6.10-4 IsomorphismFromCokernelOfDiagonalDifferenceToPushout 6.10-5 IsomorphismFromCokernelOfDiagonalDifferenceToPushoutOp 6.10-6 AddIsomorphismFromCokernelOfDiagonalDifferenceToPushout 6.10-7 DirectSumCodiagonalDifference 6.10-8 DirectSumCodiagonalDifferenceOp 6.10-9 AddDirectSumCodiagonalDifference 6.10-10 DirectSumProjectionInPushout 6.10-11 DirectSumProjectionInPushoutOp 6.10-12 AddDirectSumProjectionInPushout 6.10-13 Pushout 6.10-14 Pushout 6.10-15 PushoutOp 6.10-16 InjectionOfCofactorOfPushout 6.10-17 InjectionOfCofactorOfPushoutOp 6.10-18 InjectionOfCofactorOfPushoutWithGivenPushout 6.10-19 UniversalMorphismFromPushout 6.10-20 UniversalMorphismFromPushoutOp 6.10-21 UniversalMorphismFromPushoutWithGivenPushout 6.10-22 AddPushout 6.10-23 AddInjectionOfCofactorOfPushout 6.10-24 AddInjectionOfCofactorOfPushoutWithGivenPushout 6.10-25 AddUniversalMorphismFromPushout 6.10-26 AddUniversalMorphismFromPushoutWithGivenPushout 6.10-27 PushoutFunctorial 6.10-28 PushoutFunctorialWithGivenPushouts 6.10-29 AddPushoutFunctorialWithGivenPushouts 6.11 Image 6.11-1 IsomorphismFromImageObjectToKernelOfCokernel 6.11-2 AddIsomorphismFromImageObjectToKernelOfCokernel 6.11-3 IsomorphismFromKernelOfCokernelToImageObject 6.11-4 AddIsomorphismFromKernelOfCokernelToImageObject 6.11-5 ImageObject 6.11-6 ImageEmbedding 6.11-7 ImageEmbeddingWithGivenImageObject 6.11-8 CoastrictionToImage 6.11-9 CoastrictionToImageWithGivenImageObject 6.11-10 UniversalMorphismFromImage 6.11-11 UniversalMorphismFromImageWithGivenImageObject 6.11-12 AddImageObject 6.11-13 AddImageEmbedding 6.11-14 AddImageEmbeddingWithGivenImageObject 6.11-15 AddCoastrictionToImage 6.11-16 AddCoastrictionToImageWithGivenImageObject 6.11-17 AddUniversalMorphismFromImage 6.11-18 AddUniversalMorphismFromImageWithGivenImageObject 6.12 Coimage 6.12-1 MorphismFromCoimageToImage 6.12-2 MorphismFromCoimageToImageWithGivenObjects 6.12-3 AddMorphismFromCoimageToImageWithGivenObjects 6.12-4 InverseMorphismFromCoimageToImage 6.12-5 InverseMorphismFromCoimageToImageWithGivenObjects 6.12-6 AddInverseMorphismFromCoimageToImageWithGivenObjects 6.12-7 IsomorphismFromCoimageToCokernelOfKernel 6.12-8 AddIsomorphismFromCoimageToCokernelOfKernel 6.12-9 IsomorphismFromCokernelOfKernelToCoimage 6.12-10 AddIsomorphismFromCokernelOfKernelToCoimage 6.12-11 Coimage 6.12-12 CoimageProjection 6.12-13 CoimageProjection 6.12-14 CoimageProjectionWithGivenCoimage 6.12-15 AstrictionToCoimage 6.12-16 AstrictionToCoimage 6.12-17 AstrictionToCoimageWithGivenCoimage 6.12-18 UniversalMorphismIntoCoimage 6.12-19 UniversalMorphismIntoCoimageWithGivenCoimage 6.12-20 AddCoimage 6.12-21 AddCoimageProjection 6.12-22 AddCoimageProjectionWithGivenCoimage 6.12-23 AddAstrictionToCoimage 6.12-24 AddAstrictionToCoimageWithGivenCoimage 6.12-25 AddUniversalMorphismIntoCoimage 6.12-26 AddUniversalMorphismIntoCoimageWithGivenCoimage 7 Tensor Product and Internal Hom 7.1 Monoidal Categories 7.1-1 TensorProductOnObjects 7.1-2 AddTensorProductOnObjects 7.1-3 TensorProductOnMorphisms 7.1-4 TensorProductOnMorphismsWithGivenTensorProducts 7.1-5 AddTensorProductOnMorphismsWithGivenTensorProducts 7.1-6 AssociatorRightToLeft 7.1-7 AssociatorRightToLeftWithGivenTensorProducts 7.1-8 AddAssociatorRightToLeftWithGivenTensorProducts 7.1-9 AssociatorLeftToRight 7.1-10 AssociatorLeftToRightWithGivenTensorProducts 7.1-11 AddAssociatorLeftToRightWithGivenTensorProducts 7.1-12 TensorUnit 7.1-13 AddTensorUnit 7.1-14 LeftUnitor 7.1-15 LeftUnitorWithGivenTensorProduct 7.1-16 AddLeftUnitorWithGivenTensorProduct 7.1-17 LeftUnitorInverse 7.1-18 LeftUnitorInverseWithGivenTensorProduct 7.1-19 AddLeftUnitorInverseWithGivenTensorProduct 7.1-20 RightUnitor 7.1-21 RightUnitorWithGivenTensorProduct 7.1-22 AddRightUnitorWithGivenTensorProduct 7.1-23 RightUnitorInverse 7.1-24 RightUnitorInverseWithGivenTensorProduct 7.1-25 AddRightUnitorInverseWithGivenTensorProduct 7.1-26 LeftDistributivityExpanding 7.1-27 LeftDistributivityExpandingWithGivenObjects 7.1-28 AddLeftDistributivityExpandingWithGivenObjects 7.1-29 LeftDistributivityFactoring 7.1-30 LeftDistributivityFactoringWithGivenObjects 7.1-31 AddLeftDistributivityFactoringWithGivenObjects 7.1-32 RightDistributivityExpanding 7.1-33 RightDistributivityExpandingWithGivenObjects 7.1-34 AddRightDistributivityExpandingWithGivenObjects 7.1-35 RightDistributivityFactoring 7.1-36 RightDistributivityFactoringWithGivenObjects 7.1-37 AddRightDistributivityFactoringWithGivenObjects 7.2 Braided Monoidal Categories 7.2-1 Braiding 7.2-2 BraidingWithGivenTensorProducts 7.2-3 AddBraidingWithGivenTensorProducts 7.2-4 BraidingInverse 7.2-5 BraidingInverseWithGivenTensorProducts 7.2-6 AddBraidingInverseWithGivenTensorProducts 7.3 Symmetric Monoidal Categories 7.4 Symmetric Closed Monoidal Categories 7.4-1 InternalHomOnObjects 7.4-2 AddInternalHomOnObjects 7.4-3 InternalHomOnMorphisms 7.4-4 InternalHomOnMorphismsWithGivenInternalHoms 7.4-5 AddInternalHomOnMorphismsWithGivenInternalHoms 7.4-6 EvaluationMorphism 7.4-7 EvaluationMorphismWithGivenSource 7.4-8 AddEvaluationMorphismWithGivenSource 7.4-9 CoevaluationMorphism 7.4-10 CoevaluationMorphismWithGivenRange 7.4-11 AddCoevaluationMorphismWithGivenRange 7.4-12 TensorProductToInternalHomAdjunctionMap 7.4-13 AddTensorProductToInternalHomAdjunctionMap 7.4-14 InternalHomToTensorProductAdjunctionMap 7.4-15 AddInternalHomToTensorProductAdjunctionMap 7.4-16 MonoidalPreComposeMorphism 7.4-17 MonoidalPreComposeMorphismWithGivenObjects 7.4-18 AddMonoidalPreComposeMorphismWithGivenObjects 7.4-19 MonoidalPostComposeMorphism 7.4-20 MonoidalPostComposeMorphismWithGivenObjects 7.4-21 AddMonoidalPostComposeMorphismWithGivenObjects 7.4-22 DualOnObjects 7.4-23 AddDualOnObjects 7.4-24 DualOnMorphisms 7.4-25 DualOnMorphismsWithGivenDuals 7.4-26 AddDualOnMorphismsWithGivenDuals 7.4-27 EvaluationForDual 7.4-28 EvaluationForDualWithGivenTensorProduct 7.4-29 AddEvaluationForDualWithGivenTensorProduct 7.4-30 CoevaluationForDual 7.4-31 CoevaluationForDualWithGivenTensorProduct 7.4-32 AddCoevaluationForDualWithGivenTensorProduct 7.4-33 MorphismToBidual 7.4-34 MorphismToBidualWithGivenBidual 7.4-35 AddMorphismToBidualWithGivenBidual 7.4-36 TensorProductInternalHomCompatibilityMorphism 7.4-37 TensorProductInternalHomCompatibilityMorphismWithGivenObjects 7.4-38 AddTensorProductInternalHomCompatibilityMorphismWithGivenObjects 7.4-39 TensorProductDualityCompatibilityMorphism 7.4-40 TensorProductDualityCompatibilityMorphismWithGivenObjects 7.4-41 AddTensorProductDualityCompatibilityMorphismWithGivenObjects 7.4-42 MorphismFromTensorProductToInternalHom 7.4-43 MorphismFromTensorProductToInternalHomWithGivenObjects 7.4-44 AddMorphismFromTensorProductToInternalHomWithGivenObjects 7.4-45 IsomorphismFromTensorProductToInternalHom 7.4-46 AddIsomorphismFromTensorProductToInternalHom 7.4-47 MorphismFromInternalHomToTensorProduct 7.4-48 MorphismFromInternalHomToTensorProductWithGivenObjects 7.4-49 AddMorphismFromInternalHomToTensorProductWithGivenObjects 7.4-50 IsomorphismFromInternalHomToTensorProduct 7.4-51 AddIsomorphismFromInternalHomToTensorProduct 7.4-52 TraceMap 7.4-53 AddTraceMap 7.4-54 RankMorphism 7.4-55 AddRankMorphism 7.4-56 IsomorphismFromDualToInternalHom 7.4-57 AddIsomorphismFromDualToInternalHom 7.4-58 IsomorphismFromInternalHomToDual 7.4-59 AddIsomorphismFromInternalHomToDual 7.4-60 UniversalPropertyOfDual 7.4-61 AddUniversalPropertyOfDual 7.4-62 LambdaIntroduction 7.4-63 AddLambdaIntroduction 7.4-64 LambdaElimination 7.4-65 AddLambdaElimination 7.4-66 IsomorphismFromObjectToInternalHom 7.4-67 IsomorphismFromObjectToInternalHomWithGivenInternalHom 7.4-68 AddIsomorphismFromObjectToInternalHomWithGivenInternalHom 7.4-69 IsomorphismFromInternalHomToObject 7.4-70 IsomorphismFromInternalHomToObjectWithGivenInternalHom 7.4-71 AddIsomorphismFromInternalHomToObjectWithGivenInternalHom 7.5 Rigid Symmetric Closed Monoidal Categories 7.5-1 TensorProductInternalHomCompatibilityMorphismInverse 7.5-2 TensorProductInternalHomCompatibilityMorphismInverseWithGivenObjects 7.5-3 AddTensorProductInternalHomCompatibilityMorphismInverseWithGivenObjects 7.5-4 MorphismFromBidual 7.5-5 MorphismFromBidualWithGivenBidual 7.5-6 AddMorphismFromBidualWithGivenBidual 8 Managing Derived Methods 8.1 Info Class 8.1-1 DerivationInfo 8.1-2 ActivateDerivationInfo 8.1-3 DeactivateDerivationInfo 8.2 Derivation Objects 8.2-1 IsDerivedMethod 8.2-2 MakeDerivation 8.2-3 DerivationName 8.2-4 DerivationWeight 8.2-5 DerivationFunctionsWithExtraFilters 8.2-6 CategoryFilter 8.2-7 IsApplicableToCategory 8.2-8 TargetOperation 8.2-9 UsedOperations 8.2-10 UsedOperationMultiples 8.2-11 UsedOperationsWithMultiples 8.2-12 InstallDerivationForCategory 8.2-13 DerivationResultWeight 8.3 Derivation Graphs 8.3-1 IsDerivedMethodGraph 8.3-2 MakeDerivationGraph 8.3-3 AddOperationsToDerivationGraph 8.3-4 AddDerivation 8.3-5 AddDerivation 8.3-6 AddDerivation 8.3-7 AddDerivation 8.3-8 AddDerivationPair 8.3-9 AddDerivationPair 8.3-10 AddDerivationPair 8.3-11 AddDerivationPair 8.3-12 AddDerivationToCAP 8.3-13 AddDerivationPairToCAP 8.3-14 AddWithGivenDerivationPairToCAP 8.3-15 Operations 8.3-16 DerivationsUsingOperation 8.3-17 DerivationsOfOperation 8.4 Managing Derivations in a Category 8.4-1 IsOperationWeightList 8.4-2 MakeOperationWeightList 8.4-3 DerivationGraph 8.4-4 CategoryOfOperationWeightList 8.4-5 CurrentOperationWeight 8.4-6 OperationWeightUsingDerivation 8.4-7 DerivationOfOperation 8.4-8 InstallDerivationsUsingOperation 8.4-9 Reevaluate 8.4-10 AddPrimitiveOperation 8.4-11 PrintDerivationTree 8.4-12 PrintTree 8.4-13 PrintTreeRec 8.5 Min Heaps for Strings 8.5-1 IsStringMinHeap 8.5-2 StringMinHeap 8.5-3 Add 8.5-4 ExtractMin 8.5-5 DecreaseKey 8.5-6 IsEmptyHeap 8.5-7 HeapSize 8.5-8 Contains 8.5-9 Swap 8.5-10 Heapify 9 Add Functions 9.1 Functions Installed by Add 9.2 Add Method 9.3 InstallAdd Function 9.4 Install All Adds 10 Technical Details 10.1 The Category Cat 10.1-1 ObjectCache 10.1-2 MorphismCache 10.2 Install Functions for IsWellDefined 10.2-1 InstallMethodWithToDoForIsWellDefined 10.2-2 InstallSetWithToDoForIsWellDefined 10.2-3 DeclareAttributeWithToDoForIsWellDefined 10.2-4 DeclareFamilyProperty 10.2-5 CAP_INTERNAL_REPLACE_STRINGS_WITH_FILTERS 10.2-6 CAP_INTERNAL_MERGE_FILTER_LISTS 10.2-7 CAP_INTERNAL_RETURN_OPTION_OR_DEFAULT 10.2-8 CAP_INTERNAL_FIND_APPEARANCE_OF_SYMBOL_IN_FUNCTION 10.2-9 CAP_INTERNAL_MERGE_PRECONDITIONS_LIST 11 Monoidal Categories 12 Examples and Tests 12.1 Spectral Sequences 12.2 Monoidal Categories 12.3 Generalized Morphisms Category 12.4 IsWellDefined 12.5 Kernel 12.6 FiberProduct