Any GAP object which is IsCapCategoryObject can be added to a category and then becomes an object in this category. Any object can belong to one or no category. After a GAP object is added to the category, it knows which things can be computed in its category and to which category it belongs. It knows categorial properties and attributes, and the functions for existential quantifiers can be applied to the object.
‣ CapCategory ( a ) | ( attribute ) |
Returns: a category
The argument is an object \(a\). The output is the category \(\mathbf{C}\) to which \(a\) was added.
‣ IsEqualForObjects ( a, b ) | ( operation ) |
Returns: a boolean
The arguments are two objects \(a\) and \(b\). The output is true
if \(a = b\), otherwise the output is false
.
‣ AddIsEqualForObjects ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation IsEqualForObjects
. \(F: (a,b) \mapsto \mathtt{IsEqualForObjects}(a,b)\).
‣ AddIsProjective ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation IsProjective
. \(F: a \mapsto \mathtt{IsProjective}(a)\).
‣ AddIsInjective ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation IsInjective
. \(F: a \mapsto \mathtt{IsInjective}(a)\).
‣ AddIsTerminal ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation IsTerminal
. \(F: a \mapsto \mathtt{IsTerminal}(a)\).
‣ AddIsInitial ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation IsInitial
. \(F: a \mapsto \mathtt{IsInitial}(a)\).
‣ IsZeroForObjects ( a ) | ( operation ) |
Returns: a boolean
The argument is an object \(a\) of a category \(\mathbf{C}\). The output is true
if \(a\) is isomorphic to the zero object of \(\mathbf{C}\), otherwise the output is false
.
‣ AddIsZeroForObjects ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation IsZeroForObjects
. \(F: a \mapsto \mathtt{IsZeroForObjects}(a)\).
‣ IsEqualForCacheForObjects ( phi, psi ) | ( operation ) |
Returns: true or false
Compares two objects in the cache
‣ AddIsEqualForCacheForObjects ( c, F ) | ( operation ) |
Returns: northing
By default, CAP uses caches to store the values of Categorical operations. To get a value out of the cache, one needs to compare the input of a basic operation with its previous input. To compare objects in the category, IsEqualForCacheForObject is used. By default this is an alias for IsEqualForObjects, where fail is substituted by false. If you add a function, this function used instead. A function \(F: a,b \mapsto bool\) is expected here. The output has to be true or false. Fail is not allowed in this context.
‣ IsWellDefinedForObjects ( a ) | ( operation ) |
Returns: a boolean
The argument is an object \(a\). The output is true
if \(a\) is well-defined, otherwise the output is false
.
‣ AddIsWellDefinedForObjects ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation IsWellDefinedForObjects
. \(F: a \mapsto \mathtt{IsWellDefinedForObjects}( a )\).
For a given object \(A\) in an abelian category having enough projectives, the following commands allow us to compute some projective object \(P\) together with an epimorphism \(\pi: P \rightarrow A\).
‣ SomeProjectiveObject ( A ) | ( attribute ) |
Returns: an object
The argument is an object \(A\). The output is some projective object \(P\) for which there exists an epimorphism \(\pi: P \rightarrow A\).
‣ EpimorphismFromSomeProjectiveObject ( A ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}(P,A)\)
The argument is an object \(A\). The output is an epimorphism \(\pi: P \rightarrow A\) with \(P\) a projective object that equals the output of \(\mathrm{SomeProjectiveObject}(A)\).
‣ EpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject ( A, P ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}(P,A)\)
The arguments are an object \(A\) and a projective object \(P\) that equals the output of \(\mathrm{SomeProjectiveObject}(A)\). The output is an epimorphism \(\pi: P \rightarrow A\).
‣ ProjectiveLift ( pi, epsilon ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}(P,B)\)
The arguments are a morphism \(\pi: P \rightarrow A\) with \(P\) a projective, and an epimorphism \(\epsilon: B \rightarrow A\). The output is a morphism \(\lambda: P \rightarrow B\) such that \(\epsilon \circ \lambda = \pi\).
‣ AddSomeProjectiveObject ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation SomeProjectiveObject
. \(F: A \mapsto P\).
‣ AddEpimorphismFromSomeProjectiveObject ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation EpimorphismFromSomeProjectiveObject
. \(F: A \mapsto \pi\).
‣ AddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation AddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject
. \(F: (A,P) \mapsto \pi\).
‣ AddProjectiveLift ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation ProjectiveLift
. The function \(F\) maps a pair \((\pi, \epsilon)\) to a projective lift \(\lambda\).
For a given object \(A\) in an abelian category having enough injectives, the following commands allow us to compute some injective object \(I\) together with a monomorphism \(\iota: A \rightarrow I\).
‣ SomeInjectiveObject ( A ) | ( attribute ) |
Returns: an object
The argument is an object \(A\). The output is some injective object \(I\) for which there exists a monomorphism \(\iota: A \rightarrow I\).
‣ MonomorphismIntoSomeInjectiveObject ( A ) | ( attribute ) |
Returns: a morphism in \(\mathrm{Hom}(I,A)\)
The argument is an object \(A\). The output is a monomorphism \(\iota: A \rightarrow I\) with \(I\) an injective object that equals the output of \(\mathrm{SomeInjectiveObject}(A)\).
‣ MonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject ( A, I ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}(I,A)\)
The arguments are an object \(A\) and an injective object \(I\) that equals the output of \(\mathrm{SomeInjectiveObject}(A)\). The output is a monomorphism \(\iota: A \rightarrow I\).
‣ InjectiveColift ( \iota, \beta ) | ( operation ) |
Returns: a morphism in \(\mathrm{Hom}(A,I)\)
The arguments are a morphism \(\iota: B \rightarrow A\) and \(\beta: B \rightarrow I\) where \(I\) is an injective object. The output is a morphism \(\lambda: A \rightarrow I\) such that \(\lambda \circ \iota = \beta\).
‣ AddSomeInjectiveObject ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation SomeInjectiveObject
. \(F: A \mapsto I\).
‣ AddMonomorphismIntoSomeInjectiveObject ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation MonomorphismIntoSomeInjectiveObject
. \(F: A \mapsto \pi\).
‣ AddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operation adds the given function \(F\) to the category for the basic operation AddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject
. \(F: (A,I) \mapsto \pi\).
‣ AddInjectiveColift ( C, F ) | ( operation ) |
Returns: nothing
The arguments are a category \(C\) and a function \(F\). This operations adds the given function \(F\) to the category for the basic operation InjectiveColift
. The function \(F\) maps a pair \((\iota, \beta)\) to an injective colift \(\lambda\) if it exists, and to fail
otherwise.
generated by GAPDoc2HTML