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
<?xml version="1.0" encoding="UTF-8"?>
2
3
<!-- This is an automatically generated file. -->
4
<Chapter Label="Chapter_CAP_Categories">
5
<Heading>CAP Categories</Heading>
6
7
<P/>
8
Categories are the main GAP objects in CAP.
9
They are used to associate GAP objects which represent objects and
10
morphisms with their category. By associating a GAP object to the
11
category, one of two filters belonging to the category (ObjectFilter/MorphismFilter)
12
are set to true.
13
Via Add methods, functions for specific existential quantifiers can be
14
associated to the category and after that can be applied to GAP objects in the category.
15
A GAP category object also knows which constructions
16
are currently possible in this category.
17
18
<Section Label="Chapter_CAP_Categories_Section_Categories">
19
<Heading>Categories</Heading>
20
21
<ManSection>
22
<Filt Arg="object" Name="IsCapCategory" Label="for IsObject"/>
23
<Returns><C>true</C> or <C>false</C>
24
</Returns>
25
<Description>
26
The GAP category of CAP categories. Objects of this type handle
27
the CAP category information, the caching, and filters for objects in the CAP category.
28
Please note that the object itself is not related to methods, you only need it
29
as a handler and a presentation of the CAP category.
30
</Description>
31
</ManSection>
32
33
34
<ManSection>
35
<Filt Arg="object" Name="IsCapCategoryCell" Label="for IsObject"/>
36
<Returns><C>true</C> or <C>false</C>
37
</Returns>
38
<Description>
39
The GAP category of CAP category cells.
40
Every object, morphism, and <Math>2</Math>-cell
41
of a CAP category lies in this GAP category.
42
</Description>
43
</ManSection>
44
45
46
<ManSection>
47
<Filt Arg="object" Name="IsCapCategoryObject" Label="for IsCapCategoryCell"/>
48
<Returns><C>true</C> or <C>false</C>
49
</Returns>
50
<Description>
51
The GAP category of CAP category objects.
52
Every object of a CAP category lies in
53
this GAP category.
54
</Description>
55
</ManSection>
56
57
58
<ManSection>
59
<Filt Arg="object" Name="IsCapCategoryMorphism" Label="for IsCapCategoryCell"/>
60
<Returns><C>true</C> or <C>false</C>
61
</Returns>
62
<Description>
63
The GAP category of CAP category morphisms.
64
Every morphism of a CAP category lies in
65
this GAP category.
66
</Description>
67
</ManSection>
68
69
70
<ManSection>
71
<Filt Arg="object" Name="IsCapCategoryTwoCell" Label="for IsCapCategoryCell"/>
72
<Returns><C>true</C> or <C>false</C>
73
</Returns>
74
<Description>
75
The GAP category of CAP category <Math>2</Math>-cells.
76
Every <Math>2</Math>-cell of a CAP category lies in
77
this GAP category.
78
</Description>
79
</ManSection>
80
81
82
</Section>
83
84
85
<Section Label="Chapter_CAP_Categories_Section_Constructor">
86
<Heading>Constructor</Heading>
87
88
<ManSection>
89
<Oper Arg="" Name="CreateCapCategory" />
90
<Returns>a category
91
</Returns>
92
<Description>
93
Creates a new CAP category from scratch.
94
It gets a generic name.
95
</Description>
96
</ManSection>
97
98
99
<ManSection>
100
<Oper Arg="s" Name="CreateCapCategory" Label="for IsString"/>
101
<Returns>a category
102
</Returns>
103
<Description>
104
The argument is a string <Math>s</Math>.
105
This operation creates a new CAP category from scratch.
106
Its name is set to <Math>s</Math>.
107
</Description>
108
</ManSection>
109
110
111
</Section>
112
113
114
<Section Label="Chapter_CAP_Categories_Section_Internal_Attributes">
115
<Heading>Internal Attributes</Heading>
116
117
Each category <Math>C</Math> stores various filters.
118
They are used to apply the right functions in the method selection.
119
<ManSection>
120
<Attr Arg="C" Name="CategoryFilter" Label="for IsCapCategory"/>
121
<Returns>a filter
122
</Returns>
123
<Description>
124
The argument is a cateogry <Math>C</Math>.
125
The output is a filter in which <Math>C</Math> lies.
126
</Description>
127
</ManSection>
128
129
130
<ManSection>
131
<Attr Arg="C" Name="CellFilter" Label="for IsCapCategory"/>
132
<Returns>a filter
133
</Returns>
134
<Description>
135
The argument is a cateogry <Math>C</Math>.
136
The output is a filter in which all cells
137
of <Math>C</Math> shall lie.
138
</Description>
139
</ManSection>
140
141
142
<ManSection>
143
<Attr Arg="C" Name="ObjectFilter" Label="for IsCapCategory"/>
144
<Returns>a filter
145
</Returns>
146
<Description>
147
The argument is a cateogry <Math>C</Math>.
148
The output is a filter in which all objects
149
of <Math>C</Math> shall lie.
150
</Description>
151
</ManSection>
152
153
154
<ManSection>
155
<Attr Arg="C" Name="MorphismFilter" Label="for IsCapCategory"/>
156
<Returns>a filter
157
</Returns>
158
<Description>
159
The argument is a cateogry <Math>C</Math>.
160
The output is a filter in which all morphisms
161
of <Math>C</Math> shall lie.
162
</Description>
163
</ManSection>
164
165
166
<ManSection>
167
<Attr Arg="C" Name="TwoCellFilter" Label="for IsCapCategory"/>
168
<Returns>a filter
169
</Returns>
170
<Description>
171
The argument is a cateogry <Math>C</Math>.
172
The output is a filter in which all <Math>2</Math>-cells
173
of <Math>C</Math> shall lie.
174
</Description>
175
</ManSection>
176
177
178
</Section>
179
180
181
<Section Label="Chapter_CAP_Categories_Section_Logic_switcher">
182
<Heading>Logic switcher</Heading>
183
184
<ManSection>
185
<Func Arg="C" Name="CapCategorySwitchLogicOn" />
186
<Description>
187
Activates the predicate implication logic for the category <A>C</A>.
188
</Description>
189
</ManSection>
190
191
192
<ManSection>
193
<Func Arg="C" Name="CapCategorySwitchLogicOff" />
194
<Description>
195
Deactivates the predicate implication logic for the category <A>C</A>.
196
</Description>
197
</ManSection>
198
199
200
</Section>
201
202
203
<Section Label="Chapter_CAP_Categories_Section_Tool_functions">
204
<Heading>Tool functions</Heading>
205
206
<ManSection>
207
<Oper Arg="C,s" Name="CanCompute" Label="for IsCapCategory, IsString"/>
208
<Returns><C>true</C> or <C>false</C>
209
</Returns>
210
<Description>
211
The argument is a category <Math>C</Math> and a string <Math>s</Math>,
212
which should be the name of a primitive operation, e.g., PreCompose.
213
If applying this method is possible in <Math>C</Math>, the method returns <C>true</C>, <C>false</C> otherwise.
214
If the string is not the name of a primitive operation, an error is raised.
215
</Description>
216
</ManSection>
217
218
219
<ManSection>
220
<Oper Arg="C,s" Name="CheckConstructivenessOfCategory" Label="for IsCapCategory, IsString"/>
221
<Returns>a list
222
</Returns>
223
<Description>
224
The arguments are a category <Math>C</Math> and a string <Math>s</Math>.
225
If <Math>s</Math> is a categorical property (e.g. <C>"IsAbelianCategory"</C>),
226
the output is a list of strings with basic operations
227
which are missing in <Math>C</Math> to have the categorical property
228
constructively.
229
If <Math>s</Math> is not a categorical property, an error is raised.
230
</Description>
231
</ManSection>
232
233
234
</Section>
235
236
237
<Section Label="Chapter_CAP_Categories_Section_Well-Definedness_of_Cells">
238
<Heading>Well-Definedness of Cells</Heading>
239
240
<ManSection>
241
<Prop Arg="c" Name="IsWellDefined" Label="for IsCapCategoryCell"/>
242
<Returns>a boolean
243
</Returns>
244
<Description>
245
The argument is a cell <Math>c</Math>.
246
The output is <C>true</C> if <Math>c</Math> is well-defined,
247
otherwise the output is <C>false</C>.
248
</Description>
249
</ManSection>
250
251
252
</Section>
253
254
255
256
<Section Label="Chapter_CAP_Categories_Section_Type_check">
257
<Heading>Type check</Heading>
258
259
<ManSection Label="AutoDoc_generated_group1">
260
<Func Arg="category" Name="DisableBasicOperationTypeCheck" />
261
<Func Arg="arg" Name="EnableBasicOperationTypeCheck" />
262
<Description>
263
Most basic operations have a prefunction, which does a (sometimes partial)
264
typecheck at the beginning of the operation. These functions enable or disable this check
265
for a category. (Enabled by default)
266
<P/>
267
</Description>
268
</ManSection>
269
270
271
</Section>
272
273
274
<P/>
275
</Chapter>
276
277
278