Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/cap/doc/   (GAP Algebra Version 4.15.1©)  Datei vom 22.8.2025 mit Größe 33 kB image not shown  

Quelle  chap5_mj.html   Sprache: HTML

 

 products/Sources/formale Sprachen/GAP/pkg/cap/doc/chap5_mj.html


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 79
</script>
<title>GAP (CAP) - Chapter 5: Category of Categories</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap5"  onload="jscontent()">


<div class="chlinktop"><span class="# This will be used as the avb_key to signjava.lang.StringIndexOutOfBoundsException: Range [59, 55) out of bounds for length 59

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap4_mj.html">[Previous Chapter]</a>    <a href="chap6_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap5.html">[MathJax off]</a></p>
<p><a id="X87C0818C7EFB273D" name="X87C0818C7EFB273D"></a></p>
<div class="ChapSects"><a href="chap5_mj.html#X87C0818C7EFB273D">5 <span class="Heading">Category of Categories</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5_mj.html#X7A8C280B85B50DE0">5.1 <span class="Heading">The Category Cat</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X810DBB407D117E6B">5.1-1 CapCat</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5_mj.html#X7CC6903E78F24167">5.2 <span class="Heading">Categories</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X814369D484E429EF">5.2-1 IsCapCategoryAsCatObject</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7CBE360B8629DC79">5.2-2 IsCapFunctor</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7D2DD1297D6E57D0">5.2-3 IsCapNaturalTransformation</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5_mj.html#X86EC0F0A78ECBC10">5.3 <span class="Heading">Constructors</span></a>
</span>
<div class
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7F7E47537FD1EDC3">5.3-1 AsCatObject</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7E3142BA84C1EC72">5.3-2 AsCapCategory</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5_mj.html#X78D1062D78BE08C1">5.4 <span class="Heading">Functors</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7814A6FC86238C93">5.4-1 CapFunctor</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7E4F877C7C91B7CA">5.4-2 CapFunctor</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X78773EEC7F33AC3A">5.4-3 SourceOfFunctor</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X8710DBB68544497A">5.4-4 RangeOfFunctor</a></span>
<span class="ContSS"><br /><span class#Usejava.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 63
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X78CD5D1E811A85CF">5.4-6 FunctorObjectOperation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X85EFB9BE8145B737">5.4-7 AddMorphismFunction</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7D3BAF84793D9576">5.4-8 FunctorMorphismOperation</a></span>
<syste :
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X8562CA1F795C5154">5.4-10 InputSignature</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X781664C7876ED8A0">5.4-11 InstallFunctor</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X833F9B6D85713A4F">5.4-12 IdentityFunctor</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a($(java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 39
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7EF63850830B8064">5.4-14 NaturalIsomorphismFromIdentityToCanonicalizeZeroObjects</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7AA6B22B7BF73AAE">5.4-15 FunctorCanonicalizeZeroMorphisms</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mjs := $(.system_image_diff_allowlist_nextIjava.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5_mj.html#X836749D8814FEEE6">5.5 <span class="Heading">Natural transformations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7F32E8C985178781">5.5-1 Name</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7C9810B8858249A0">5.5-2 NaturalTransformation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7DFC4C9183446E95">5.5-3 AddNaturalTransformationFunction</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X867F8B6A78462396">5.5-4 ApplyNaturalTransformation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X79E6BE7E83687767">5.5-5 InstallNaturalTransformation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7EAB133B81CDB5E5">5.5-6 HorizontalPreComposeNaturalTransformationWithFunctor</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5_mj.html#X7B8AC0BB8370031D">5.5-7 HorizontalPreComposeFunctorWithNaturalTransformation</a></span>
</div></div>
</div>

<h3>5 <span class="Heading">Category of Categories</span></h3>

<p>Categories itself with functors as morphisms form a category Cat. So the data structure of <code class="code">CapCategory</code>s is designed to be objects in a category. This category is implemented in <code class="code">CapCat</code>. For every category, the corresponding object in Cat can be obtained via <code class="code">AsCatObject</code>. The implemetation(system_file_diff_timestamp: \

<p><a id="X7A8C280B85B50DE0" name="X7A8C280B85B50DE0"></a></p>

<h4>5.1 <span class="Heading">The Category Cat</span></h4>

<p><a id="X810DBB407D117E6B" name="X810DBB407D117E6B"></a></p>

<h5>5.1-1 CapCat</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; CapCat</code></td><td class="tdright">( global variable )</td></tr></table></div>
<p>This variable stores the category of categories. Every category object is constructed as an object in this category, so Cat is constructed when loading the package.</p>

<p><a id="X7CC6903E78F24167" name="X7CC6903E78F24167"></a></p>

<h4>5.2 <span class="Heading">Categories</span></h4>

<p><a id="X814369D484E429EF" name="X814369D484E429EF"></a></p>

<h5>5.2-1 IsCapCategoryAsCatObject</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; IsCapCategoryAsCatObject</code>( <var class="Arg">object $ALL_MODULES.$(PRODUCT_SOONG_DEFINED_SYSTEM_IMAGE).FILESYSTEM_FILELIST) \
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p>

<p>The GAP category of CAP categories seen as object in Cat.</p>

<p><a id="X7CBE360B8629DC79" name="X7CBE360B8629DC79"></a></p>

<h5>5.2-2 IsCapFunctor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; IsCapFunctor</code>( <var class="Arg">object</var> )</td><td class="tdright">(&    (java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 59
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p>

<p>The GAP category of functors.</p>

<p><a id="X7D2DD1297D6E57D0" name="X7D2DD1297D6E57D0"></a></p>

<h5>5.2-3 IsCapNaturalTransformation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; IsCapNaturalTransformation</code>( <var class="Arg">object</var> )</td><td class     $system_file_diff_allowlist_next) \
<p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p>

<p>The GAP category of natural transformations.</p>

<p><a id="X86EC0F0A78ECBC10" name="X86EC0F0A78ECBC10"></a></p>

<h4>5.3 <span class="Heading">Constructors</span></h4>

<p><a id="X7F7E47537FD1EDC3" name="X7F7E47537FD1EDC3"></a></p>

<h5>5.3-1 AsCatObject</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; AsCatObject</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Given a CAP category <span class="SimpleMath">\(C\)</span>, this method returns the corresponding object in Cat. For technical reasons, the filter <code class="code">IsCapCategory</code> must not imply the filter <code class="code">IsCapCategoryObject</code>. For example, if <code class="code">InitialObject</code> is applied to an object, it returns the initial object of its category. If it is applied to a category, it returns the initial object of the category. If a CAP category would be a category object itself, this would be ambiguous. So categories must be wrapped in a CatObject to be an object in Cat. This method returns the wrapper object. The category can be reobtained by <code class="code">AsCapCategory</code>.</p>

<p><a id="X7E3142BA84C1EC72" name="X7E3142BA84C1EC72"></a></p>

<h5>5.3-2 AsCapCategory</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; AsCapCategory</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )$(ALL_MODULES.$(PRODUCT_SOONG_DEFINED_SYSTEM_IMAGE).FILESYSTEM_FILELIST) \
<p>For an object <span class="SimpleMath">\(C\)</span> in Cat, this method returns the underlying CAP category. This method is inverse to <code class="code">AsCatObject</code>, i.e. AsCapCategory( AsCatObject( A ) ) = A.</p>

<p><a id="X78D1062D78BE08C1" name="X78D1062D78BE08C1"></a></p>

<h4>5.4 <span class="Heading">Functors</span></h4>

<p>Functors are morphisms in Cat, thus they have source and target which are categories. A multivariate functor can be constructed via a product category as source, a presheaf is constructed via the opposite category as source. However, the user can explicitly decide 

<p><a id="X7814A6FC86238C93" name="X7814A6FC86238C93"></a></p>

<h5>5.4-1 CapFunctor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; CapFunctor</code>( <var class="Arg">name</var>, <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; CapFunctor</code>( <var class="Arg">name</var>, <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; CapFunctor</code>( <var class="Arg">name</var>, <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; CapFunctor</code>( <var class="Arg">name</var>, <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>These methods construct a unary CAP functor. The first argument is a string for the functor's name. <var class="Arg">A</var> and <var class="Arg">B</var> are the source and target of the functor, and they can be given as objects in <code class="code">CapCat</code> or as a CAP-category.</p>

<p><a id="X7E4F877C7C91B7CA" name="X7E4F877C7C91B7CA"></a></p>

<h5>5.4-2 CapFunctor</h5>

<div class="func"><table class="func" width="100java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; CapFunctor</code>( <var class="Arg">name</var>, <var class="Arg">list</var>, <var class="Arg">B</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>These methods construct a (BUILT_SYSTEMIMAGE): $(system_file_diff_timestamp

<p><a id="X78773EEC7F33AC3A" name="X78773EEC7F33AC3A"></a></p>

<h5>5.4-3 SourceOfFunctor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; SourceOfFunctor</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The argument is a functor <span class="SimpleMath">\(F\)</span>. The output is its source as CAP category.</p>

<p><a id="X8710DBB68544497A" name="X8710DBB68544497A"></a></p>

<h5>5.4-4 RangeOfFunctor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; RangeOfFunctor</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The argument is a functor <span class="SimpleMath">\(F\)</span>. The output is its range as CAP category.</p>

<p><a id="X7A75B6A77C9F6836" name="X7A75B6A77C9F6836"></a></p>

<h5>5.4-5 AddObjectFunction</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; AddObjectFunction</code>( <var class="Arg">F</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>This operation adds a function <span class="SimpleMath">\(f\)</span> to the functor <span class="SimpleMath">\(F\)</span> which can then be applied to objects in the source. The given function <span class="SimpleMath">\(f\)</span> has to take arguments according to the <code class="code">InputSignature</code> of <span class="SimpleMath">\(F\)</span>, i.e., if the input signature is given by <span class="SimpleMath">\([ [A_1, b_1], \dots, [A_n,b_n] ]\)</span>, then <span class="SimpleMath">\(f\)</span> must take <span class="SimpleMath">\(n\)</span> arguments, where the <span class="SimpleMath">\(i\)</span>-th argument is an object in the category <span class="SimpleMath">\(A_i\)</span> (the boolean <span class="SimpleMath">\(b_i\)</span> is ignored). The function should return an object in the range of the functor, except when the automatic call of <code class="code">AddObject</code> was enabled via <code class="code">EnableAddForCategoricalOperations</code>. In this case the output only has to be a GAP object in <code class="code">IsAttributeStoringRep</code>, which will be automatically java.lang.StringIndexOutOfBoundsException: Range [0, 1114) out of bounds for length 98

<p><a id="X78CD5D1E811A85CF" name="X78CD5D1E811A85CF"></a></p>

<h5>5.4-6 FunctorObjectOperation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; FunctorObjectOperation</code>( <java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<p>Returns: a GAP operation</p>

<p>The argument is a functor <span class="SimpleMath">\(F\)</span>. The output is the GAP operation realizing the action of <span class="SimpleMath">\(F\)</span> on objects.</p>

<p><a id="X85EFB9BE8145B737" name="X85EFB9BE8145B737"></a></p>

<h5>5.4-7 AddMorphismFunction</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; AddMorphismFunction</code>( <var class="Arg">F</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>This operation adds a function <span class="SimpleMath">\(f\)</span> to the functor <span class="SimpleMath">\(F\)</span> which can then be applied to morphisms in the source. The given function <span class="SimpleMath">\(f\)</span> has to take as its first argument an object <span class="SimpleMath">\(s\)</span> that is equal (via <code class="code">IsEqualForObjects</code>) to the source of the result of applying <span class="SimpleMath">\(F\)</span> to the input morphisms. The next arguments of <span class="SimpleMath">\(f\)</span> have to morphisms according to the <code class="code">InputSignature</code> of <span class="SimpleMath">\(F\)</span>, i.e., if the input signature is given by <span class="SimpleMath">\([ [A_1, b_1], \dots, [A_n,b_n] ]\)</span>, then <span class="SimpleMath">\(f\)</span> must take <span class="SimpleMath">\(n\)</span> arguments, where the <span class="SimpleMath">\(i\)</span>-th argument is a morphism in the category <span class

<p><a id="X7D3BAF84793D9576" name="X7D3BAF84793D9576"></a></p>

<h5>5.4-8 FunctorMorphismOperation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; FunctorMorphismOperation</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 31

<p>The argument is a functor <span class="SimpleMath">\(F\)</span>. The output is the GAP operation realizing the action of <span class="SimpleMath">\(F\)</span> on morphisms.</p>

<p><a id="X850397447A1A766E" name="X850397447A1A766E"></a></p>

<h5>5.4-9 ApplyFunctor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; ApplyFunctor</code>( <var class="Arg">func</var>, <var class="Arg">A</var>[, <var class="Arg">B</var>, <var class="Arg">...</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: IsCapCategoryCell</p>

<p>Applies the functor <var class="Arg">func</var> either to</p>


<ul>
<li><p>an object or morphism <var class="Arg">A</var> in the source of <var class="Arg">func</var> or</p>

</li>
<li><p>to objects or morphisms belonging to the categories in the input signature of <var class="Arg">func</var>.</p>

</li>
</ul>
<p><a id="X8562CA1F795C5154" name="X8562CA1F795C5154"></a></p>

<h5>5.4-10 InputSignature</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; InputSignature</code>( <var class="Arg">F</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: IsList</p>

<p>The argument is a functor <span class="SimpleMath">\(F\)</span>. The output is a list of pairs <span class="SimpleMath">\([ [ A_1, b_1 ], \dots, [ A_n, b_n ] ]\)</span> where a pair consists of a CAP-category <span class="SimpleMath">\(A_i\)</span> and a boolean <span class="SimpleMath">\(b_i\)</span> for <span class="SimpleMath">\(i = 1, \dots, n\)</span>. The source of <span class="SimpleMath">\(F\)</span> is given by the product category <span class="SimpleMath">\(D_1 \times ... \times D_n\)</span>, where <span class="SimpleMath">\(D_i = A_i\)</span> if <span class="SimpleMath">\(b_i = \mathtt{false}\)</span>, and <span class="SimpleMath">\(D_i = A_i^{\mathrm{op}}\)</span> otherwise.</p>

<p><a id="X781664C7876ED8A0" name="X781664C7876ED8A0"></a></p>

<h5>5.4-11 InstallFunctor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; InstallFunctor</code>( <var class="Arg">F</var>, <var class="Arg">s</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<$-java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 102

<p>The arguments are a functor <span class="SimpleMath">\(F\)</span> and a string <span class="SimpleMath">\(s\)</span>. To simplify the description of this operation, we let <span class="SimpleMath">\([ [ A_1, b_1 ], \dots, [ A_n, b_n ] ]\)</span> denote the input signature of <span class="SimpleMath">\(F\)</span>. This method tries to install <span class="SimpleMath">\(3\)</span> operations: an operation <span class="SimpleMath">\(\omega_1\)</span> with the name <span class="SimpleMath">\(s\)</span>, an operation <span class="SimpleMath">\(\omega_2\)</span> with the name <span class="SimpleMath">\(s\mathtt{OnObjects}\)</span>, and an operation <span class="SimpleMath">\(\omega_3\)</span> with the name <span class="SimpleMath">\(s\mathtt{OnMorphisms}\)</span>. The operation

<p><a id="X833F9B6D85713A4F" name="X833F9B6D85713A4F"></a></p>

<h5>5.4-12 IdentityFunctor</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; IdentityFunctor</code>( <var class="Arg">cat</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a functor</p>

<p>Returns the identity functor of the category <var class="Arg">cat</var> viewed as an object in the category of categories.</p>

<p><a id="X83FFF5538147E243" name="X83FFF5538147E243"></a></p>

<h5>5.4-13 FunctorCanonicalizeZeroObjects</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; FunctorCanonicalizeZeroObjects</code>( <var class="Arg">cat</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a functor</p>

<p>Returns the endofunctor of the category <var class="Arg">cat</var> with zero which maps each (object isomorphic to the) zero object to <code class="code">ZeroObject</code>(<var class="Arg">cat</var>) and to itself otherwise. This functor is equivalent to the identity functor.</p>

<p><a id="X7EF63850830B8064" name="X7EF63850830B8064"></a></p>

<h5>5.4-14 NaturalIsomorphismFromIdentityToCanonicalizeZeroObjects</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; NaturalIsomorphismFromIdentityToCanonicalizeZeroObjects</code>( <var class="Arg">cat</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a natural transformation</p>

<p>Returns the natural isomorphism from the identity functor to <code class="code">FunctorCanonicalizeZeroObjects</code>(<var class="Arg">cat</var>).</p>

<p><a id="X7AA6B22B7BF73AAE" name="X7AA6B22B7BF73AAE"></a></p>

<h5>5.4-15 FunctorCanonicalizeZeroMorphisms</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; FunctorCanonicalizeZeroMorphisms</code>( <var class="Arg">cat</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a functor</p>

<p>Returns the endofunctor of the category <var class="Arg">cat</var> with zero which maps each object to itself, each morphism <span class="SimpleMath">\(\phi\)</span> to itself, unless it is congruent to the zero morphism; in this case it is mapped to <code class="code">ZeroMorphism</code>(<code class="code">Source</code>(<span class="SimpleMath">\(\phi\)</span>), <code class="code">Range</code>(<span class="SimpleMath">\(\phi\)</span>)). This functor is equivalent to the identity functor.</p>

<p><a id="X8223CAD483193F52" name="X8223CAD483193F52"></a></p>

<h5>5.4-16 NaturalIsomorphismFromIdentityToCanonicalizeZeroMorphisms</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; NaturalIsomorphismFromIdentityToCanonicalizeZeroMorphisms</code>( <var class="Arg">cat</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a natural transformation</p>

<p>Returns the natural isomorphism from the identity functor to <code class="code">FunctorCanonicalizeZeroMorphisms</code>(<var class="Arg">cat</var>).</p# The system partition needs room for the recovery image as well.  We

<p><a id="X836749D8814FEEE6" name="X836749D8814FEEE6"></a></p>

<h4>5.5 <span class="Heading">Natural transformations</span></h4>

<p>Natural transformations form the <span class="SimpleMath">\(2\)</span>-cells of Cat. As such, it is possible to compose them vertically and horizontally, see Section <a href="chap4_mj.html#X7B780EDB7E466121"><span class="RefLink">4.3</span></a>.</p>

<p><a id="X7F32E8C985178781" name="X7F32E8C985178781"></a></p>

<h5>5.5-1 Name</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; Name</code>( <var class="Arg">arg</ nowstore the recovery    binary patch using the boot image
<p>Returns: a string</p>

<p>As every functor, every natural transformation has a name attribute. It has to be a string and will be set by the Constructor.</p>

<p><a id="X7C9810B8858249A0" name="X7C9810B8858249A0"></a></p>

<h5>5.5-2 NaturalTransformation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; NaturalTransformation</code>( [<var class="Arg">name</var>, ]<var class="Arg">F</var>, <var class="Arg">G</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a natural transformation</p>

<p>Constructs a natural transformation between the functors <var class="Arg">F</var><span class="SimpleMath">\(:A \rightarrow B\)</span> and <var class="Arg">G</var><span class="SimpleMath">\(:A \rightarrow B\)</span>. The string <var class="Arg">name</var> is optional, and, if not given, set automatically from the names of the functors</p>

<p><a id="X7DFC4C9183446E95" name="X7DFC4C9183446E95"></a></p>

<h5>5.5-3 AddNaturalTransformationFunction</h5>

<div class="func"><table class="func" width="100%"><trifneq($())
<p>Adds the function <var class="Arg">func</var> to the natural transformation <var class="Arg">N</var>. The function should take three arguments. If <span class="SimpleMath">\(N: F \rightarrow G\)</span>, the arguments should be <span class="SimpleMath">\(F(A), A, G(A)\)</span>. The ouptput should be a morphism, <span class="SimpleMath">\(F(A) \rightarrow G(A)\)</span>.</p>

<p><a id="X867F8B6A78462396" name="X867F8B6A78462396"></a></p>

<h5>5.5-4 ApplyNaturalTransformation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; ApplyNaturalTransformationifneq ($(BOARD_USES_FULL_RECOVERY_IMAGE),true)
<p>Returns: a morphism</p>

<p>Given a natural transformation <var class="Arg">N</var><span class="SimpleMath">\(:F \rightarrow G\)</span> and an object <var class="Arg">A</var>, this function should return the morphism <span class="SimpleMath">\(F(A) \rightarrow G(A)\)</span>, corresponding to <var class="Arg">N</var>.</p>

<p><a id="X79E6BE7E83687767" name="X79E6BE7E83687767"></a></p>

<h5>5.5-5 InstallNaturalTransformation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; InstallNaturalTransformation</code>( <var class="Arg">N</var>, <var class="Arg">name</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Installs the natural transformation <var class="Arg">N</var> as operation with the name <var class="Arg">name</var>. Argument for this operation is an object, output is a morphism.</p>

<p><a id="X7EAB133B81CDB5E5" name="java.lang.StringIndexOutOfBoundsException: Range [0, 52) out of bounds for length 4

<h5>5.5-6 HorizontalPreComposeNaturalTransformationWithFunctor</h5>

<div class=" := $(HOST_OUT_EXECUTABLES)/imgdiff
<p>Returns: a natural transformation</p>

<p>Computes the horizontal composition of the natural transformation <var class="Arg">N</var> and the functor <var class="Arg">F</var>.</p>

<p><a id="X7B8AC0BB8370031D" name="X7B8AC0BB8370031D"></a></p>

<h5>5.5-7 HorizontalPreComposeFunctorWithNaturalTransformation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; HorizontalPreComposeFunctorWithNaturalTransformation</code>( <var class="Arg">F</var>, <var class="Arg">N</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a natural transformation</p>

<p>Computes the horizontal composition of the functor <var class="Arg">F</var> and the natural transformation <var class="Arg">N</var>.</p>


<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a>   (RECOVERY_FROM_BOOT_PATCH): : $diff_tool


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  $RECOVERY_FROM_BOOT_PATCH) 

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>

Messung
CHZG
8610010095

¤ Dauer der Verarbeitung: 0.15 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.