CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

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

Views: 418346
1
2
4 Objects
3
4
Any GAP object which is IsCapCategoryObject can be added to a category and
5
then becomes an object in this category. Any object can belong to one or no
6
category. After a GAP object is added to the category, it knows which things
7
can be computed in its category and to which category it belongs. It knows
8
categorial properties and attributes, and the functions for existential
9
quantifiers can be applied to the object.
10
11
12
4.1 Attributes for the Type of Objects
13
14
4.1-1 CapCategory
15
16
CapCategory( a )  attribute
17
Returns: a category
18
19
The argument is an object a. The output is the category \mathbf{C} to which
20
a was added.
21
22
23
4.2 Equality for Objects
24
25
4.2-1 IsEqualForObjects
26
27
IsEqualForObjects( a, b )  operation
28
Returns: a boolean
29
30
The arguments are two objects a and b. The output is true if a = b,
31
otherwise the output is false.
32
33
4.2-2 AddIsEqualForObjects
34
35
AddIsEqualForObjects( C, F )  operation
36
Returns: nothing
37
38
The arguments are a category C and a function F. This operations adds the
39
given function F to the category for the basic operation IsEqualForObjects.
40
F: (a,b) \mapsto \mathtt{IsEqualForObjects}(a,b).
41
42
43
4.3 Categorical Properties of Objects
44
45
4.3-1 AddIsProjective
46
47
AddIsProjective( C, F )  operation
48
Returns: nothing
49
50
The arguments are a category C and a function F. This operations adds the
51
given function F to the category for the basic operation IsProjective. F: a
52
\mapsto \mathtt{IsProjective}(a).
53
54
4.3-2 AddIsInjective
55
56
AddIsInjective( C, F )  operation
57
Returns: nothing
58
59
The arguments are a category C and a function F. This operations adds the
60
given function F to the category for the basic operation IsInjective. F: a
61
\mapsto \mathtt{IsInjective}(a).
62
63
4.3-3 AddIsTerminal
64
65
AddIsTerminal( C, F )  operation
66
Returns: nothing
67
68
The arguments are a category C and a function F. This operations adds the
69
given function F to the category for the basic operation IsTerminal. F: a
70
\mapsto \mathtt{IsTerminal}(a).
71
72
4.3-4 AddIsInitial
73
74
AddIsInitial( C, F )  operation
75
Returns: nothing
76
77
The arguments are a category C and a function F. This operations adds the
78
given function F to the category for the basic operation IsInitial. F: a
79
\mapsto \mathtt{IsInitial}(a).
80
81
4.3-5 IsZeroForObjects
82
83
IsZeroForObjects( a )  operation
84
Returns: a boolean
85
86
The argument is an object a of a category \mathbf{C}. The output is true if
87
a is isomorphic to the zero object of \mathbf{C}, otherwise the output is
88
false.
89
90
4.3-6 AddIsZeroForObjects
91
92
AddIsZeroForObjects( C, F )  operation
93
Returns: nothing
94
95
The arguments are a category C and a function F. This operations adds the
96
given function F to the category for the basic operation IsZeroForObjects.
97
F: a \mapsto \mathtt{IsZeroForObjects}(a).
98
99
100
4.4 Tool functions for caches
101
102
4.4-1 IsEqualForCacheForObjects
103
104
IsEqualForCacheForObjects( phi, psi )  operation
105
Returns: true or false
106
107
Compares two objects in the cache
108
109
4.4-2 AddIsEqualForCacheForObjects
110
111
AddIsEqualForCacheForObjects( c, F )  operation
112
Returns: northing
113
114
By default, CAP uses caches to store the values of Categorical operations.
115
To get a value out of the cache, one needs to compare the input of a basic
116
operation with its previous input. To compare objects in the category,
117
IsEqualForCacheForObject is used. By default this is an alias for
118
IsEqualForObjects, where fail is substituted by false. If you add a
119
function, this function used instead. A function F: a,b \mapsto bool is
120
expected here. The output has to be true or false. Fail is not allowed in
121
this context.
122
123
124
4.5 Well-Definedness of Objects
125
126
4.5-1 IsWellDefinedForObjects
127
128
IsWellDefinedForObjects( a )  operation
129
Returns: a boolean
130
131
The argument is an object a. The output is true if a is well-defined,
132
otherwise the output is false.
133
134
4.5-2 AddIsWellDefinedForObjects
135
136
AddIsWellDefinedForObjects( C, F )  operation
137
Returns: nothing
138
139
The arguments are a category C and a function F. This operations adds the
140
given function F to the category for the basic operation
141
IsWellDefinedForObjects. F: a \mapsto \mathtt{IsWellDefinedForObjects}( a ).
142
143
144
4.6 Projectives
145
146
For a given object A in an abelian category having enough projectives, the
147
following commands allow us to compute some projective object P together
148
with an epimorphism \pi: P \rightarrow A.
149
150
4.6-1 SomeProjectiveObject
151
152
SomeProjectiveObject( A )  attribute
153
Returns: an object
154
155
The argument is an object A. The output is some projective object P for
156
which there exists an epimorphism \pi: P \rightarrow A.
157
158
4.6-2 EpimorphismFromSomeProjectiveObject
159
160
EpimorphismFromSomeProjectiveObject( A )  attribute
161
Returns: a morphism in \mathrm{Hom}(P,A)
162
163
The argument is an object A. The output is an epimorphism \pi: P \rightarrow
164
A with P a projective object that equals the output of
165
\mathrm{SomeProjectiveObject}(A).
166
167
4.6-3 EpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject
168
169
EpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject( A, P )  operation
170
Returns: a morphism in \mathrm{Hom}(P,A)
171
172
The arguments are an object A and a projective object P that equals the
173
output of \mathrm{SomeProjectiveObject}(A). The output is an epimorphism
174
\pi: P \rightarrow A.
175
176
4.6-4 ProjectiveLift
177
178
ProjectiveLift( pi, epsilon )  operation
179
Returns: a morphism in \mathrm{Hom}(P,B)
180
181
The arguments are a morphism \pi: P \rightarrow A with P a projective, and
182
an epimorphism \epsilon: B \rightarrow A. The output is a morphism \lambda:
183
P \rightarrow B such that \epsilon \circ \lambda = \pi.
184
185
4.6-5 AddSomeProjectiveObject
186
187
AddSomeProjectiveObject( C, F )  operation
188
Returns: nothing
189
190
The arguments are a category C and a function F. This operation adds the
191
given function F to the category for the basic operation
192
SomeProjectiveObject. F: A \mapsto P.
193
194
4.6-6 AddEpimorphismFromSomeProjectiveObject
195
196
AddEpimorphismFromSomeProjectiveObject( C, F )  operation
197
Returns: nothing
198
199
The arguments are a category C and a function F. This operation adds the
200
given function F to the category for the basic operation
201
EpimorphismFromSomeProjectiveObject. F: A \mapsto \pi.
202
203
4.6-7 AddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject
204
205
AddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject( C, F )  operation
206
Returns: nothing
207
208
The arguments are a category C and a function F. This operation adds the
209
given function F to the category for the basic operation
210
AddEpimorphismFromSomeProjectiveObjectWithGivenSomeProjectiveObject. F:
211
(A,P) \mapsto \pi.
212
213
4.6-8 AddProjectiveLift
214
215
AddProjectiveLift( C, F )  operation
216
Returns: nothing
217
218
The arguments are a category C and a function F. This operations adds the
219
given function F to the category for the basic operation ProjectiveLift. The
220
function F maps a pair (\pi, \epsilon) to a projective lift \lambda.
221
222
223
4.7 Injectives
224
225
For a given object A in an abelian category having enough injectives, the
226
following commands allow us to compute some injective object I together with
227
a monomorphism \iota: A \rightarrow I.
228
229
4.7-1 SomeInjectiveObject
230
231
SomeInjectiveObject( A )  attribute
232
Returns: an object
233
234
The argument is an object A. The output is some injective object I for which
235
there exists a monomorphism \iota: A \rightarrow I.
236
237
4.7-2 MonomorphismIntoSomeInjectiveObject
238
239
MonomorphismIntoSomeInjectiveObject( A )  attribute
240
Returns: a morphism in \mathrm{Hom}(I,A)
241
242
The argument is an object A. The output is a monomorphism \iota: A
243
\rightarrow I with I an injective object that equals the output of
244
\mathrm{SomeInjectiveObject}(A).
245
246
4.7-3 MonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject
247
248
MonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject( A, I )  operation
249
Returns: a morphism in \mathrm{Hom}(I,A)
250
251
The arguments are an object A and an injective object I that equals the
252
output of \mathrm{SomeInjectiveObject}(A). The output is a monomorphism
253
\iota: A \rightarrow I.
254
255
4.7-4 InjectiveColift
256
257
InjectiveColift( \iota, \beta )  operation
258
Returns: a morphism in \mathrm{Hom}(A,I)
259
260
The arguments are a morphism \iota: B \rightarrow A and \beta: B \rightarrow
261
I where I is an injective object. The output is a morphism \lambda: A
262
\rightarrow I such that \lambda \circ \iota = \beta.
263
264
4.7-5 AddSomeInjectiveObject
265
266
AddSomeInjectiveObject( C, F )  operation
267
Returns: nothing
268
269
The arguments are a category C and a function F. This operation adds the
270
given function F to the category for the basic operation
271
SomeInjectiveObject. F: A \mapsto I.
272
273
4.7-6 AddMonomorphismIntoSomeInjectiveObject
274
275
AddMonomorphismIntoSomeInjectiveObject( C, F )  operation
276
Returns: nothing
277
278
The arguments are a category C and a function F. This operation adds the
279
given function F to the category for the basic operation
280
MonomorphismIntoSomeInjectiveObject. F: A \mapsto \pi.
281
282
4.7-7 AddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject
283
284
AddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject( C, F )  operation
285
Returns: nothing
286
287
The arguments are a category C and a function F. This operation adds the
288
given function F to the category for the basic operation
289
AddMonomorphismIntoSomeInjectiveObjectWithGivenSomeInjectiveObject. F: (A,I)
290
\mapsto \pi.
291
292
4.7-8 AddInjectiveColift
293
294
AddInjectiveColift( C, F )  operation
295
Returns: nothing
296
297
The arguments are a category C and a function F. This operations adds the
298
given function F to the category for the basic operation InjectiveColift.
299
The function F maps a pair (\iota, \beta) to an injective colift \lambda if
300
it exists, and to fail otherwise.
301
302
303