Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 4183461[1X4 [33X[0;0YObjects[133X[101X23[33X[0;0YAny GAP object which is IsCapCategoryObject can be added to a category and4then becomes an object in this category. Any object can belong to one or no5category. After a GAP object is added to the category, it knows which things6can be computed in its category and to which category it belongs. It knows7categorial properties and attributes, and the functions for existential8quantifiers can be applied to the object.[133X91011[1X4.1 [33X[0;0YAttributes for the Type of Objects[133X[101X1213[1X4.1-1 CapCategory[101X1415[29X[2XCapCategory[102X( [3Xa[103X ) [32X attribute16[6XReturns:[106X [33X[0;10Ya category[133X1718[33X[0;0YThe argument is an object [23Xa[123X. The output is the category [23X\mathbf{C}[123X to which19[23Xa[123X was added.[133X202122[1X4.2 [33X[0;0YEquality for Objects[133X[101X2324[1X4.2-1 IsEqualForObjects[101X2526[29X[2XIsEqualForObjects[102X( [3Xa[103X, [3Xb[103X ) [32X operation27[6XReturns:[106X [33X[0;10Ya boolean[133X2829[33X[0;0YThe arguments are two objects [23Xa[123X and [23Xb[123X. The output is [10Xtrue[110X if [23Xa = b[123X,30otherwise the output is [10Xfalse[110X.[133X3132[1X4.2-2 AddIsEqualForObjects[101X3334[29X[2XAddIsEqualForObjects[102X( [3XC[103X, [3XF[103X ) [32X operation35[6XReturns:[106X [33X[0;10Ynothing[133X3637[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the38given function [23XF[123X to the category for the basic operation [10XIsEqualForObjects[110X.39[23XF: (a,b) \mapsto \mathtt{IsEqualForObjects}(a,b)[123X.[133X404142[1X4.3 [33X[0;0YCategorical Properties of Objects[133X[101X4344[1X4.3-1 AddIsProjective[101X4546[29X[2XAddIsProjective[102X( [3XC[103X, [3XF[103X ) [32X operation47[6XReturns:[106X [33X[0;10Ynothing[133X4849[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the50given function [23XF[123X to the category for the basic operation [10XIsProjective[110X. [23XF: a51\mapsto \mathtt{IsProjective}(a)[123X.[133X5253[1X4.3-2 AddIsInjective[101X5455[29X[2XAddIsInjective[102X( [3XC[103X, [3XF[103X ) [32X operation56[6XReturns:[106X [33X[0;10Ynothing[133X5758[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the59given function [23XF[123X to the category for the basic operation [10XIsInjective[110X. [23XF: a60\mapsto \mathtt{IsInjective}(a)[123X.[133X6162[1X4.3-3 AddIsTerminal[101X6364[29X[2XAddIsTerminal[102X( [3XC[103X, [3XF[103X ) [32X operation65[6XReturns:[106X [33X[0;10Ynothing[133X6667[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the68given function [23XF[123X to the category for the basic operation [10XIsTerminal[110X. [23XF: a69\mapsto \mathtt{IsTerminal}(a)[123X.[133X7071[1X4.3-4 AddIsInitial[101X7273[29X[2XAddIsInitial[102X( [3XC[103X, [3XF[103X ) [32X operation74[6XReturns:[106X [33X[0;10Ynothing[133X7576[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the77given function [23XF[123X to the category for the basic operation [10XIsInitial[110X. [23XF: a78\mapsto \mathtt{IsInitial}(a)[123X.[133X7980[1X4.3-5 IsZeroForObjects[101X8182[29X[2XIsZeroForObjects[102X( [3Xa[103X ) [32X operation83[6XReturns:[106X [33X[0;10Ya boolean[133X8485[33X[0;0YThe argument is an object [23Xa[123X of a category [23X\mathbf{C}[123X. The output is [10Xtrue[110X if86[23Xa[123X is isomorphic to the zero object of [23X\mathbf{C}[123X, otherwise the output is87[10Xfalse[110X.[133X8889[1X4.3-6 AddIsZeroForObjects[101X9091[29X[2XAddIsZeroForObjects[102X( [3XC[103X, [3XF[103X ) [32X operation92[6XReturns:[106X [33X[0;10Ynothing[133X9394[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the95given function [23XF[123X to the category for the basic operation [10XIsZeroForObjects[110X.96[23XF: a \mapsto \mathtt{IsZeroForObjects}(a)[123X.[133X979899[1X4.4 [33X[0;0YTool functions for caches[133X[101X100101[1X4.4-1 IsEqualForCacheForObjects[101X102103[29X[2XIsEqualForCacheForObjects[102X( [3Xphi[103X, [3Xpsi[103X ) [32X operation104[6XReturns:[106X [33X[0;10Ytrue or false[133X105106[33X[0;0YCompares two objects in the cache[133X107108[1X4.4-2 AddIsEqualForCacheForObjects[101X109110[29X[2XAddIsEqualForCacheForObjects[102X( [3Xc[103X, [3XF[103X ) [32X operation111[6XReturns:[106X [33X[0;10Ynorthing[133X112113[33X[0;0YBy default, CAP uses caches to store the values of Categorical operations.114To get a value out of the cache, one needs to compare the input of a basic115operation with its previous input. To compare objects in the category,116IsEqualForCacheForObject is used. By default this is an alias for117IsEqualForObjects, where fail is substituted by false. If you add a118function, this function used instead. A function [23XF: a,b \mapsto bool[123X is119expected here. The output has to be true or false. Fail is not allowed in120this context.[133X121122123[1X4.5 [33X[0;0YWell-Definedness of Objects[133X[101X124125[1X4.5-1 IsWellDefinedForObjects[101X126127[29X[2XIsWellDefinedForObjects[102X( [3Xa[103X ) [32X operation128[6XReturns:[106X [33X[0;10Ya boolean[133X129130[33X[0;0YThe argument is an object [23Xa[123X. The output is [10Xtrue[110X if [23Xa[123X is well-defined,131otherwise the output is [10Xfalse[110X.[133X132133[1X4.5-2 AddIsWellDefinedForObjects[101X134135[29X[2XAddIsWellDefinedForObjects[102X( [3XC[103X, [3XF[103X ) [32X operation136[6XReturns:[106X [33X[0;10Ynothing[133X137138[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the139given function [23XF[123X to the category for the basic operation140[10XIsWellDefinedForObjects[110X. [23XF: a \mapsto \mathtt{IsWellDefinedForObjects}( a )[123X.[133X141142143[1X4.6 [33X[0;0YProjectives[133X[101X144145[33X[0;0YFor a given object [23XA[123X in an abelian category having enough projectives, the146following commands allow us to compute some projective object [23XP[123X together147with an epimorphism [23X\pi: P \rightarrow A[123X.[133X148149[1X4.6-1 SomeProjectiveObject[101X150151[29X[2XSomeProjectiveObject[102X( [3XA[103X ) [32X attribute152[6XReturns:[106X [33X[0;10Yan object[133X153154[33X[0;0YThe argument is an object [23XA[123X. The output is some projective object [23XP[123X for155which there exists an epimorphism [23X\pi: P \rightarrow A[123X.[133X156157[1X4.6-2 EpimorphismFromSomeProjectiveObject[101X158159[29X[2XEpimorphismFromSomeProjectiveObject[102X( [3XA[103X ) [32X attribute160[6XReturns:[106X [33X[0;10Ya morphism in [23X\mathrm{Hom}(P,A)[123X[133X161162[33X[0;0YThe argument is an object [23XA[123X. The output is an epimorphism [23X\pi: P \rightarrow163A[123X with [23XP[123X a projective object that equals the output of164[23X\mathrm{SomeProjectiveObject}(A)[123X.[133X165166[1X4.6-3 EpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject[101X167168[29X[2XEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject[102X( [3XA[103X, [3XP[103X ) [32X operation169[6XReturns:[106X [33X[0;10Ya morphism in [23X\mathrm{Hom}(P,A)[123X[133X170171[33X[0;0YThe arguments are an object [23XA[123X and a projective object [23XP[123X that equals the172output of [23X\mathrm{SomeProjectiveObject}(A)[123X. The output is an epimorphism173[23X\pi: P \rightarrow A[123X.[133X174175[1X4.6-4 ProjectiveLift[101X176177[29X[2XProjectiveLift[102X( [3Xpi[103X, [3Xepsilon[103X ) [32X operation178[6XReturns:[106X [33X[0;10Ya morphism in [23X\mathrm{Hom}(P,B)[123X[133X179180[33X[0;0YThe arguments are a morphism [23X\pi: P \rightarrow A[123X with [23XP[123X a projective, and181an epimorphism [23X\epsilon: B \rightarrow A[123X. The output is a morphism [23X\lambda:182P \rightarrow B[123X such that [23X\epsilon \circ \lambda = \pi[123X.[133X183184[1X4.6-5 AddSomeProjectiveObject[101X185186[29X[2XAddSomeProjectiveObject[102X( [3XC[103X, [3XF[103X ) [32X operation187[6XReturns:[106X [33X[0;10Ynothing[133X188189[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operation adds the190given function [23XF[123X to the category for the basic operation191[10XSomeProjectiveObject[110X. [23XF: A \mapsto P[123X.[133X192193[1X4.6-6 AddEpimorphismFromSomeProjectiveObject[101X194195[29X[2XAddEpimorphismFromSomeProjectiveObject[102X( [3XC[103X, [3XF[103X ) [32X operation196[6XReturns:[106X [33X[0;10Ynothing[133X197198[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operation adds the199given function [23XF[123X to the category for the basic operation200[10XEpimorphismFromSomeProjectiveObject[110X. [23XF: A \mapsto \pi[123X.[133X201202[1X4.6-7 AddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject[101X203204[29X[2XAddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject[102X( [3XC[103X, [3XF[103X ) [32X operation205[6XReturns:[106X [33X[0;10Ynothing[133X206207[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operation adds the208given function [23XF[123X to the category for the basic operation209[10XAddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject[110X. [23XF:210(A,P) \mapsto \pi[123X.[133X211212[1X4.6-8 AddProjectiveLift[101X213214[29X[2XAddProjectiveLift[102X( [3XC[103X, [3XF[103X ) [32X operation215[6XReturns:[106X [33X[0;10Ynothing[133X216217[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the218given function [23XF[123X to the category for the basic operation [10XProjectiveLift[110X. The219function [23XF[123X maps a pair [23X(\pi, \epsilon)[123X to a projective lift [23X\lambda[123X.[133X220221222[1X4.7 [33X[0;0YInjectives[133X[101X223224[33X[0;0YFor a given object [23XA[123X in an abelian category having enough injectives, the225following commands allow us to compute some injective object [23XI[123X together with226a monomorphism [23X\iota: A \rightarrow I[123X.[133X227228[1X4.7-1 SomeInjectiveObject[101X229230[29X[2XSomeInjectiveObject[102X( [3XA[103X ) [32X attribute231[6XReturns:[106X [33X[0;10Yan object[133X232233[33X[0;0YThe argument is an object [23XA[123X. The output is some injective object [23XI[123X for which234there exists a monomorphism [23X\iota: A \rightarrow I[123X.[133X235236[1X4.7-2 MonomorphismIntoSomeInjectiveObject[101X237238[29X[2XMonomorphismIntoSomeInjectiveObject[102X( [3XA[103X ) [32X attribute239[6XReturns:[106X [33X[0;10Ya morphism in [23X\mathrm{Hom}(I,A)[123X[133X240241[33X[0;0YThe argument is an object [23XA[123X. The output is a monomorphism [23X\iota: A242\rightarrow I[123X with [23XI[123X an injective object that equals the output of243[23X\mathrm{SomeInjectiveObject}(A)[123X.[133X244245[1X4.7-3 MonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject[101X246247[29X[2XMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject[102X( [3XA[103X, [3XI[103X ) [32X operation248[6XReturns:[106X [33X[0;10Ya morphism in [23X\mathrm{Hom}(I,A)[123X[133X249250[33X[0;0YThe arguments are an object [23XA[123X and an injective object [23XI[123X that equals the251output of [23X\mathrm{SomeInjectiveObject}(A)[123X. The output is a monomorphism252[23X\iota: A \rightarrow I[123X.[133X253254[1X4.7-4 InjectiveColift[101X255256[29X[2XInjectiveColift[102X( [3X\iota[103X, [3X\beta[103X ) [32X operation257[6XReturns:[106X [33X[0;10Ya morphism in [23X\mathrm{Hom}(A,I)[123X[133X258259[33X[0;0YThe arguments are a morphism [23X\iota: B \rightarrow A[123X and [23X\beta: B \rightarrow260I[123X where [23XI[123X is an injective object. The output is a morphism [23X\lambda: A261\rightarrow I[123X such that [23X\lambda \circ \iota = \beta[123X.[133X262263[1X4.7-5 AddSomeInjectiveObject[101X264265[29X[2XAddSomeInjectiveObject[102X( [3XC[103X, [3XF[103X ) [32X operation266[6XReturns:[106X [33X[0;10Ynothing[133X267268[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operation adds the269given function [23XF[123X to the category for the basic operation270[10XSomeInjectiveObject[110X. [23XF: A \mapsto I[123X.[133X271272[1X4.7-6 AddMonomorphismIntoSomeInjectiveObject[101X273274[29X[2XAddMonomorphismIntoSomeInjectiveObject[102X( [3XC[103X, [3XF[103X ) [32X operation275[6XReturns:[106X [33X[0;10Ynothing[133X276277[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operation adds the278given function [23XF[123X to the category for the basic operation279[10XMonomorphismIntoSomeInjectiveObject[110X. [23XF: A \mapsto \pi[123X.[133X280281[1X4.7-7 AddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject[101X282283[29X[2XAddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject[102X( [3XC[103X, [3XF[103X ) [32X operation284[6XReturns:[106X [33X[0;10Ynothing[133X285286[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operation adds the287given function [23XF[123X to the category for the basic operation288[10XAddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject[110X. [23XF: (A,I)289\mapsto \pi[123X.[133X290291[1X4.7-8 AddInjectiveColift[101X292293[29X[2XAddInjectiveColift[102X( [3XC[103X, [3XF[103X ) [32X operation294[6XReturns:[106X [33X[0;10Ynothing[133X295296[33X[0;0YThe arguments are a category [23XC[123X and a function [23XF[123X. This operations adds the297given function [23XF[123X to the category for the basic operation [10XInjectiveColift[110X.298The function [23XF[123X maps a pair [23X(\iota, \beta)[123X to an injective colift [23X\lambda[123X if299it exists, and to [10Xfail[110X otherwise.[133X300301302303