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: 418346<?xml version="1.0" encoding="UTF-8"?>12<!-- This is an automatically generated file. -->3<Chapter Label="Chapter_CAP_Categories">4<Heading>CAP Categories</Heading>56<P/>7Categories are the main GAP objects in CAP.8They are used to associate GAP objects which represent objects and9morphisms with their category. By associating a GAP object to the10category, one of two filters belonging to the category (ObjectFilter/MorphismFilter)11are set to true.12Via Add methods, functions for specific existential quantifiers can be13associated to the category and after that can be applied to GAP objects in the category.14A GAP category object also knows which constructions15are currently possible in this category.1617<Section Label="Chapter_CAP_Categories_Section_Categories">18<Heading>Categories</Heading>1920<ManSection>21<Filt Arg="object" Name="IsCapCategory" Label="for IsObject"/>22<Returns><C>true</C> or <C>false</C>23</Returns>24<Description>25The GAP category of CAP categories. Objects of this type handle26the CAP category information, the caching, and filters for objects in the CAP category.27Please note that the object itself is not related to methods, you only need it28as a handler and a presentation of the CAP category.29</Description>30</ManSection>313233<ManSection>34<Filt Arg="object" Name="IsCapCategoryCell" Label="for IsObject"/>35<Returns><C>true</C> or <C>false</C>36</Returns>37<Description>38The GAP category of CAP category cells.39Every object, morphism, and <Math>2</Math>-cell40of a CAP category lies in this GAP category.41</Description>42</ManSection>434445<ManSection>46<Filt Arg="object" Name="IsCapCategoryObject" Label="for IsCapCategoryCell"/>47<Returns><C>true</C> or <C>false</C>48</Returns>49<Description>50The GAP category of CAP category objects.51Every object of a CAP category lies in52this GAP category.53</Description>54</ManSection>555657<ManSection>58<Filt Arg="object" Name="IsCapCategoryMorphism" Label="for IsCapCategoryCell"/>59<Returns><C>true</C> or <C>false</C>60</Returns>61<Description>62The GAP category of CAP category morphisms.63Every morphism of a CAP category lies in64this GAP category.65</Description>66</ManSection>676869<ManSection>70<Filt Arg="object" Name="IsCapCategoryTwoCell" Label="for IsCapCategoryCell"/>71<Returns><C>true</C> or <C>false</C>72</Returns>73<Description>74The GAP category of CAP category <Math>2</Math>-cells.75Every <Math>2</Math>-cell of a CAP category lies in76this GAP category.77</Description>78</ManSection>798081</Section>828384<Section Label="Chapter_CAP_Categories_Section_Constructor">85<Heading>Constructor</Heading>8687<ManSection>88<Oper Arg="" Name="CreateCapCategory" />89<Returns>a category90</Returns>91<Description>92Creates a new CAP category from scratch.93It gets a generic name.94</Description>95</ManSection>969798<ManSection>99<Oper Arg="s" Name="CreateCapCategory" Label="for IsString"/>100<Returns>a category101</Returns>102<Description>103The argument is a string <Math>s</Math>.104This operation creates a new CAP category from scratch.105Its name is set to <Math>s</Math>.106</Description>107</ManSection>108109110</Section>111112113<Section Label="Chapter_CAP_Categories_Section_Internal_Attributes">114<Heading>Internal Attributes</Heading>115116Each category <Math>C</Math> stores various filters.117They are used to apply the right functions in the method selection.118<ManSection>119<Attr Arg="C" Name="CategoryFilter" Label="for IsCapCategory"/>120<Returns>a filter121</Returns>122<Description>123The argument is a cateogry <Math>C</Math>.124The output is a filter in which <Math>C</Math> lies.125</Description>126</ManSection>127128129<ManSection>130<Attr Arg="C" Name="CellFilter" Label="for IsCapCategory"/>131<Returns>a filter132</Returns>133<Description>134The argument is a cateogry <Math>C</Math>.135The output is a filter in which all cells136of <Math>C</Math> shall lie.137</Description>138</ManSection>139140141<ManSection>142<Attr Arg="C" Name="ObjectFilter" Label="for IsCapCategory"/>143<Returns>a filter144</Returns>145<Description>146The argument is a cateogry <Math>C</Math>.147The output is a filter in which all objects148of <Math>C</Math> shall lie.149</Description>150</ManSection>151152153<ManSection>154<Attr Arg="C" Name="MorphismFilter" Label="for IsCapCategory"/>155<Returns>a filter156</Returns>157<Description>158The argument is a cateogry <Math>C</Math>.159The output is a filter in which all morphisms160of <Math>C</Math> shall lie.161</Description>162</ManSection>163164165<ManSection>166<Attr Arg="C" Name="TwoCellFilter" Label="for IsCapCategory"/>167<Returns>a filter168</Returns>169<Description>170The argument is a cateogry <Math>C</Math>.171The output is a filter in which all <Math>2</Math>-cells172of <Math>C</Math> shall lie.173</Description>174</ManSection>175176177</Section>178179180<Section Label="Chapter_CAP_Categories_Section_Logic_switcher">181<Heading>Logic switcher</Heading>182183<ManSection>184<Func Arg="C" Name="CapCategorySwitchLogicOn" />185<Description>186Activates the predicate implication logic for the category <A>C</A>.187</Description>188</ManSection>189190191<ManSection>192<Func Arg="C" Name="CapCategorySwitchLogicOff" />193<Description>194Deactivates the predicate implication logic for the category <A>C</A>.195</Description>196</ManSection>197198199</Section>200201202<Section Label="Chapter_CAP_Categories_Section_Tool_functions">203<Heading>Tool functions</Heading>204205<ManSection>206<Oper Arg="C,s" Name="CanCompute" Label="for IsCapCategory, IsString"/>207<Returns><C>true</C> or <C>false</C>208</Returns>209<Description>210The argument is a category <Math>C</Math> and a string <Math>s</Math>,211which should be the name of a primitive operation, e.g., PreCompose.212If applying this method is possible in <Math>C</Math>, the method returns <C>true</C>, <C>false</C> otherwise.213If the string is not the name of a primitive operation, an error is raised.214</Description>215</ManSection>216217218<ManSection>219<Oper Arg="C,s" Name="CheckConstructivenessOfCategory" Label="for IsCapCategory, IsString"/>220<Returns>a list221</Returns>222<Description>223The arguments are a category <Math>C</Math> and a string <Math>s</Math>.224If <Math>s</Math> is a categorical property (e.g. <C>"IsAbelianCategory"</C>),225the output is a list of strings with basic operations226which are missing in <Math>C</Math> to have the categorical property227constructively.228If <Math>s</Math> is not a categorical property, an error is raised.229</Description>230</ManSection>231232233</Section>234235236<Section Label="Chapter_CAP_Categories_Section_Well-Definedness_of_Cells">237<Heading>Well-Definedness of Cells</Heading>238239<ManSection>240<Prop Arg="c" Name="IsWellDefined" Label="for IsCapCategoryCell"/>241<Returns>a boolean242</Returns>243<Description>244The argument is a cell <Math>c</Math>.245The output is <C>true</C> if <Math>c</Math> is well-defined,246otherwise the output is <C>false</C>.247</Description>248</ManSection>249250251</Section>252253254255<Section Label="Chapter_CAP_Categories_Section_Type_check">256<Heading>Type check</Heading>257258<ManSection Label="AutoDoc_generated_group1">259<Func Arg="category" Name="DisableBasicOperationTypeCheck" />260<Func Arg="arg" Name="EnableBasicOperationTypeCheck" />261<Description>262Most basic operations have a prefunction, which does a (sometimes partial)263typecheck at the beginning of the operation. These functions enable or disable this check264for a category. (Enabled by default)265<P/>266</Description>267</ManSection>268269270</Section>271272273<P/>274</Chapter>275276277278