<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/forest/default.xsl"?>
<fr:tree xmlns:fr="http://www.forester-notes.org" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" root="true" base-url="/forest/">
  <fr:frontmatter>
    <fr:authors />
    <fr:uri>https://julesh.com/forest/index/</fr:uri>
    <fr:display-uri>index</fr:display-uri>
    <fr:route>/forest/index/</fr:route>
    <fr:title text="Forest">Forest</fr:title>
  </fr:frontmatter>
  <fr:mainmatter>
    <html:p>
      <fr:link href="https://julesh.com/" type="external">Back to home</fr:link>
    </html:p>
    <html:p>This is my <fr:link href="https://www.forester-notes.org/index/index.xml" type="external">forest</fr:link>, a loosely structured collection of notes.</html:p>
    <fr:tree show-metadata="false" expanded="false" toc="false">
      <fr:frontmatter>
        <fr:authors />
        <fr:uri>https://julesh.com/forest/all/</fr:uri>
        <fr:display-uri>all</fr:display-uri>
        <fr:route>/forest/all/</fr:route>
        <fr:title text="Index of all trees in reverse order of creation">Index of all trees in reverse order of creation</fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>25</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000O/</fr:uri>
            <fr:display-uri>000O</fr:display-uri>
            <fr:route>/forest/000O/</fr:route>
            <fr:title text="The history functor for cartesian colinks">The history functor for cartesian colinks</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
            <html:p>We define the <html:strong>history functor</html:strong> <fr:tex display="inline"><![CDATA[\mathbb  H : \overset {\leftarrow }{\mathcal  L} (\mathcal  C) \to  \mathbf {Set}]]></fr:tex> to be the covariant functor represented by the <fr:link href="/forest/000K/" title="Tensor product of cartesian colinks" uri="https://julesh.com/forest/000K/" display-uri="000K" type="local">tensor unit</fr:link> <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>.</html:p>
            <html:p>Concretely, on objects <fr:tex display="inline"><![CDATA[\mathbb  H]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\mathbb  H \binom {X'}{X} = \mathcal  C (1, X)]]></fr:tex>.</html:p>
            <html:p><fr:tex display="inline"><![CDATA[\mathbb  H]]></fr:tex> factors through the <fr:link href="/forest/000L/" title="The forwards fibration for cartesian colinks" uri="https://julesh.com/forest/000L/" display-uri="000L" type="local">forwards fibration</fr:link> via the functor <fr:tex display="inline"><![CDATA[\mathcal  C (1, -) : \mathcal  C \to  \mathbf {Set}]]></fr:tex>. For <fr:link href="/forest/000B/" title="Simple colinks in the category of sets" uri="https://julesh.com/forest/000B/" display-uri="000B" type="local">simple colinks in the category of sets</fr:link>, the history functor and the forwards fibration coincide.</html:p>
            <html:p>The dual of the history functor is the <fr:link href="/forest/000N/" title="The continuation functor for cartesian colinks" uri="https://julesh.com/forest/000N/" display-uri="000N" type="local">continuation functor</fr:link>.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>25</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000N/</fr:uri>
            <fr:display-uri>000N</fr:display-uri>
            <fr:route>/forest/000N/</fr:route>
            <fr:title text="The continuation functor for cartesian colinks">The continuation functor for cartesian colinks</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
            <html:p>We define the <html:strong>continuation functor</html:strong> <fr:tex display="inline"><![CDATA[\mathbb  K : \overset {\leftarrow }{\mathcal  L} (\mathcal  C)^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> as the contravariant functor represesented by the <fr:link href="/forest/000K/" title="Tensor product of cartesian colinks" uri="https://julesh.com/forest/000K/" display-uri="000K" type="local">tensor unit</fr:link> <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>.</html:p>
            <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathbb  K]]></fr:tex> is given as follows:</html:p>
            <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[\mathbb  K \binom {X'}{X} = \mathcal  C (X, X')]]></fr:tex></html:li>

  <html:li>Given a cartesian colink <fr:tex display="inline"><![CDATA[f]]></fr:tex> with forwards pass <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> and backwards pass <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex>, the function <fr:tex display="inline"><![CDATA[\mathbb  K (f) : \mathcal  C (Y, Y') \to  \mathcal  C (X, X')]]></fr:tex> takes a morphism <fr:tex display="inline"><![CDATA[k : Y \to  Y']]></fr:tex> to the composite
  
  <fr:tex display="block"><![CDATA[X \overset \Delta \longrightarrow  X \times  X \overset {X \times  f}\longrightarrow  X \times  Y \overset {X \times  k}\longrightarrow  X \times  Y' \overset {f'}\longrightarrow  X']]></fr:tex></html:li></html:ul>
            <html:p>We use the term <html:strong>continuation</html:strong> to refer to a morphism <fr:tex display="inline"><![CDATA[X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> when regarded as an element of <fr:tex display="inline"><![CDATA[\mathbb  K \binom {X'}{X}]]></fr:tex>.</html:p>
            <html:p>The dual of the continuation functor is the <fr:link href="/forest/000O/" title="The history functor for cartesian colinks" uri="https://julesh.com/forest/000O/" display-uri="000O" type="local">history functor</fr:link>.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>25</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000L/</fr:uri>
            <fr:display-uri>000L</fr:display-uri>
            <fr:route>/forest/000L/</fr:route>
            <fr:title text="The forwards fibration for cartesian colinks">The forwards fibration for cartesian colinks</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
            <html:p>Since <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> <fr:link href="/forest/000J/" title="Construction of cartesian colinks from simple slices" uri="https://julesh.com/forest/000J/" display-uri="000J" type="local">is constructed</fr:link> as the total category of an indexed category

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex>

it is equipped with a fibration <fr:tex display="inline"><![CDATA[\mathbb  F : \overset {\leftarrow }{\mathcal  L} (\mathcal  C) \to  \mathcal  C]]></fr:tex> called the <html:strong>forwards fibration</html:strong>.</html:p>
            <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathbb  F]]></fr:tex> is given as follows:</html:p>
            <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[\mathbb  F \binom {X'}{X} = X]]></fr:tex></html:li>

  <html:li>On morphisms, <fr:tex display="inline"><![CDATA[\mathbb  F]]></fr:tex> takes each cartesian colink to its forwards pass</html:li>

  <html:li>Given an object <fr:tex display="inline"><![CDATA[\binom {Y'}{Y}]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> and a morphism <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, the cartesian lifting <fr:tex display="inline"><![CDATA[f^* \binom {Y'}{Y} : \binom {Y'}{X} \to  \binom {Y}{Y'}]]></fr:tex> is the colink with forwards pass <fr:tex display="inline"><![CDATA[f]]></fr:tex> and backwards pass the projection <fr:tex display="inline"><![CDATA[X \times  Y' \to  Y']]></fr:tex></html:li></html:ul>
            <html:p>The forwards fibration is closely related to the <fr:link href="/forest/000O/" title="The history functor for cartesian colinks" uri="https://julesh.com/forest/000O/" display-uri="000O" type="local">history functor</fr:link>. They coincide for <fr:link href="/forest/000B/" title="Simple colinks in the category of sets" uri="https://julesh.com/forest/000B/" display-uri="000B" type="local">simple colinks in the category of sets</fr:link>.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>25</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000K/</fr:uri>
            <fr:display-uri>000K</fr:display-uri>
            <fr:route>/forest/000K/</fr:route>
            <fr:title text="Tensor product of cartesian colinks">Tensor product of cartesian colinks</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Recall the construction of the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link> from the <fr:link href="/forest/000G/" title="Indexed category structure of simple slices" uri="https://julesh.com/forest/000G/" display-uri="000G" type="local">indexed category of simple slices</fr:link>,

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex></html:p>
            <html:p>Recall that the simple slice categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">have finite products</fr:link> given by products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and that reindexing preserves them. Therefore the opposite categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]^\mathrm {op}]]></fr:tex> have finite coproducts given by products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and reindexing preserves them.</html:p>
            <html:p>This structure defines a symmetric monoidal product in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex>, called the <html:strong>tensor product</html:strong>. In general the tensor product is neither cartesian nor cocartesian.</html:p>
            <html:p>Reference: <fr:link href="https://arxiv.org/abs/0706.1286" type="external">Shulman, Framed bicategories and monoidal fibrations</fr:link></html:p>
            <html:p>Concretely, on objects the tensor product is given by pairwise monoidal product:

<fr:tex display="block"><![CDATA[\binom {X'}{X} \otimes  \binom {Y'}{Y} = \binom {X' \times  Y'}{X \times  Y}]]></fr:tex></html:p>
            <html:p>The monoidal unit is denoted <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>, where <fr:tex display="inline"><![CDATA[1]]></fr:tex> is the terminal object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
            <html:p>The tensor product of cartesian colinks is fibrewise dual to the cartesian product of cartesian links.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>25</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000J/</fr:uri>
            <fr:display-uri>000J</fr:display-uri>
            <fr:route>/forest/000J/</fr:route>
            <fr:title text="Construction of cartesian colinks from simple slices">Construction of cartesian colinks from simple slices</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> be the <fr:link href="/forest/000G/" title="Indexed category structure of simple slices" uri="https://julesh.com/forest/000G/" display-uri="000G" type="local">indexed category</fr:link> of <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slices</fr:link>.</html:p>
            <html:p>We define the <html:strong>category of cartesian colinks</html:strong> <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> as the total category of the opposite indexed category:

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex></html:p>
            <html:p>Notice that since the simple slice categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> all have the same class of objects, namely the objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, an object of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> is a pair <fr:tex display="inline"><![CDATA[\binom {X'}{X}]]></fr:tex> of objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000I/</fr:uri>
            <fr:display-uri>000I</fr:display-uri>
            <fr:route>/forest/000I/</fr:route>
            <fr:title text="Simple slices as polynomial categories">Simple slices as polynomial categories</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and <fr:tex display="inline"><![CDATA[X]]></fr:tex> an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Recall that the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">has finite products</fr:link>.</html:p>
            <html:p>We can universally characterise <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> as the smallest category with finite products that contains <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and another morphism <fr:tex display="inline"><![CDATA[x : 1 \to  X]]></fr:tex>.</html:p>
            <html:p>Based on the analogous construction of polynomial rings, the simple slice <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is sometimes called a <html:strong>polynomial category</html:strong>. This is the origin of its notation.</html:p>
            <html:p>Reference: Lambek &amp; Scott, Introduction to higher-order categorical logic</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000H/</fr:uri>
            <fr:display-uri>000H</fr:display-uri>
            <fr:route>/forest/000H/</fr:route>
            <fr:title text="Products in the simple slice category">Products in the simple slice category</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Then the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products, given by the underlying products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
            <html:p>To prove this, we construct the Kleisli adjunction between <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex>.</html:p>
            <html:p>The left adjoint <fr:tex display="inline"><![CDATA[L : \mathcal  C [X] \to  \mathcal  C]]></fr:tex> is given by:</html:p>
            <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[L (Y) = X \times  Y]]></fr:tex></html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[L (f) : X \times  Y \to  X \times  Z]]></fr:tex> given by the pairing of the projection and <fr:tex display="inline"><![CDATA[f]]></fr:tex></html:li></html:ul>
            <html:p>The right adjoint <fr:tex display="inline"><![CDATA[R : \mathcal  C \to  \mathcal  C [X]]]></fr:tex> is given by:</html:p>
            <html:ul><html:li><fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects</html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[R (f) : X \times  Y \to  Z]]></fr:tex> given by precomposition with the projection</html:li></html:ul>
            <html:p>The hom-set isomorphism is proven as follows:

<fr:tex display="block"><![CDATA[\mathcal  C (L (Y), Z) = \mathcal  C (X \times  Y, Z) = \mathcal  C [X] (Y, Z) = \mathcal  C [X] (Y, R (Z))]]></fr:tex></html:p>
            <html:p>Since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is a right adjoint it preserves limits. Since <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has the same objects as <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects, this establishes that <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products given by finite products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>24</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000I/</fr:uri>
                <fr:display-uri>000I</fr:display-uri>
                <fr:route>/forest/000I/</fr:route>
                <fr:title text="Simple slices as polynomial categories">Simple slices as polynomial categories</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and <fr:tex display="inline"><![CDATA[X]]></fr:tex> an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Recall that the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">has finite products</fr:link>.</html:p>
                <html:p>We can universally characterise <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> as the smallest category with finite products that contains <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and another morphism <fr:tex display="inline"><![CDATA[x : 1 \to  X]]></fr:tex>.</html:p>
                <html:p>Based on the analogous construction of polynomial rings, the simple slice <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is sometimes called a <html:strong>polynomial category</html:strong>. This is the origin of its notation.</html:p>
                <html:p>Reference: Lambek &amp; Scott, Introduction to higher-order categorical logic</html:p>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000G/</fr:uri>
            <fr:display-uri>000G</fr:display-uri>
            <fr:route>/forest/000G/</fr:route>
            <fr:title text="Indexed category structure of simple slices">Indexed category structure of simple slices</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products. A morphism <fr:tex display="inline"><![CDATA[f : X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> induces a functor <fr:tex display="inline"><![CDATA[f^* : \mathcal  C [X'] \to  \mathcal  C [X]]]></fr:tex> where:</html:p>
            <html:ul><html:li><fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects</html:li>

  <html:li>For a morphism <fr:tex display="inline"><![CDATA[g : X' \times  Y \to  Z]]></fr:tex>, <fr:tex display="inline"><![CDATA[f^* (g) : X \times  Y \to  Z]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset {f \times  Y}\longrightarrow  X' \times  Y \overset {g}\longrightarrow  Z]]></fr:tex></html:li></html:ul>
            <html:p>This yields an indexed category <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex>.</html:p>
            <html:p>This structure can also be seen as arising from the comonad morphisms <fr:tex display="inline"><![CDATA[f_* : \mathbb  P_X \to  \mathbb  P_Y]]></fr:tex> between the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonads</fr:link>, since morphisms of comonads lift contravariantly to functors between Kleisli categories.</html:p>
            <html:p>Since <fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects, it also preserves <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">products in simple slice categories</fr:link>. Thus <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> has indexed finite products.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000F/</fr:uri>
            <fr:display-uri>000F</fr:display-uri>
            <fr:route>/forest/000F/</fr:route>
            <fr:title text="The simple slice category">The simple slice category</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. We write <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> for the Kleisli category of the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonad</fr:link> <fr:tex display="inline"><![CDATA[\mathbb  P_X : \mathcal  C \to  \mathcal  C]]></fr:tex>.</html:p>
            <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is given as follows:</html:p>
            <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> are morphisms <fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>The identity morphism <fr:tex display="inline"><![CDATA[Y \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is the projection <fr:tex display="inline"><![CDATA[X \times  Y \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : X \times  Z \to  W]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset \Delta \longrightarrow  X \times  X \times  Y \overset {X \times  f}\longrightarrow  X \times  Z \overset {g}\longrightarrow  W]]></fr:tex></html:li></html:ul>
            <html:p>Reference: <fr:link href="https://pages.jh.edu/rrynasi1/FoundationsOFMath/Literature/Logic/Jacobs1999CategoricalLogic+TypeTheory.pdf" type="external">Categorical logic and type theory</fr:link></html:p>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>24</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000H/</fr:uri>
                <fr:display-uri>000H</fr:display-uri>
                <fr:route>/forest/000H/</fr:route>
                <fr:title text="Products in the simple slice category">Products in the simple slice category</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Then the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products, given by the underlying products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                <html:p>To prove this, we construct the Kleisli adjunction between <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex>.</html:p>
                <html:p>The left adjoint <fr:tex display="inline"><![CDATA[L : \mathcal  C [X] \to  \mathcal  C]]></fr:tex> is given by:</html:p>
                <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[L (Y) = X \times  Y]]></fr:tex></html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[L (f) : X \times  Y \to  X \times  Z]]></fr:tex> given by the pairing of the projection and <fr:tex display="inline"><![CDATA[f]]></fr:tex></html:li></html:ul>
                <html:p>The right adjoint <fr:tex display="inline"><![CDATA[R : \mathcal  C \to  \mathcal  C [X]]]></fr:tex> is given by:</html:p>
                <html:ul><html:li><fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects</html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[R (f) : X \times  Y \to  Z]]></fr:tex> given by precomposition with the projection</html:li></html:ul>
                <html:p>The hom-set isomorphism is proven as follows:

<fr:tex display="block"><![CDATA[\mathcal  C (L (Y), Z) = \mathcal  C (X \times  Y, Z) = \mathcal  C [X] (Y, Z) = \mathcal  C [X] (Y, R (Z))]]></fr:tex></html:p>
                <html:p>Since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is a right adjoint it preserves limits. Since <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has the same objects as <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects, this establishes that <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products given by finite products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>24</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000I/</fr:uri>
                    <fr:display-uri>000I</fr:display-uri>
                    <fr:route>/forest/000I/</fr:route>
                    <fr:title text="Simple slices as polynomial categories">Simple slices as polynomial categories</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and <fr:tex display="inline"><![CDATA[X]]></fr:tex> an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Recall that the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">has finite products</fr:link>.</html:p>
                    <html:p>We can universally characterise <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> as the smallest category with finite products that contains <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and another morphism <fr:tex display="inline"><![CDATA[x : 1 \to  X]]></fr:tex>.</html:p>
                    <html:p>Based on the analogous construction of polynomial rings, the simple slice <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is sometimes called a <html:strong>polynomial category</html:strong>. This is the origin of its notation.</html:p>
                    <html:p>Reference: Lambek &amp; Scott, Introduction to higher-order categorical logic</html:p>
                  </fr:mainmatter>
                </fr:tree>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>24</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000G/</fr:uri>
                <fr:display-uri>000G</fr:display-uri>
                <fr:route>/forest/000G/</fr:route>
                <fr:title text="Indexed category structure of simple slices">Indexed category structure of simple slices</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products. A morphism <fr:tex display="inline"><![CDATA[f : X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> induces a functor <fr:tex display="inline"><![CDATA[f^* : \mathcal  C [X'] \to  \mathcal  C [X]]]></fr:tex> where:</html:p>
                <html:ul><html:li><fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects</html:li>

  <html:li>For a morphism <fr:tex display="inline"><![CDATA[g : X' \times  Y \to  Z]]></fr:tex>, <fr:tex display="inline"><![CDATA[f^* (g) : X \times  Y \to  Z]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset {f \times  Y}\longrightarrow  X' \times  Y \overset {g}\longrightarrow  Z]]></fr:tex></html:li></html:ul>
                <html:p>This yields an indexed category <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex>.</html:p>
                <html:p>This structure can also be seen as arising from the comonad morphisms <fr:tex display="inline"><![CDATA[f_* : \mathbb  P_X \to  \mathbb  P_Y]]></fr:tex> between the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonads</fr:link>, since morphisms of comonads lift contravariantly to functors between Kleisli categories.</html:p>
                <html:p>Since <fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects, it also preserves <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">products in simple slice categories</fr:link>. Thus <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> has indexed finite products.</html:p>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000E/</fr:uri>
            <fr:display-uri>000E</fr:display-uri>
            <fr:route>/forest/000E/</fr:route>
            <fr:title text="The parameters comonad">The parameters comonad</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. The functor <fr:tex display="inline"><![CDATA[\mathbb  P_X : \mathcal  C \to  \mathcal  C]]></fr:tex> given by <fr:tex display="inline"><![CDATA[\mathbb  P_X (Y) = X \times  Y]]></fr:tex> can be given the structure of a commutative comonad, called the <html:strong>parameters comonad</html:strong>, as follows:</html:p>
            <html:ul><html:li>The counit <fr:tex display="inline"><![CDATA[\mathbb  P_X (Y) = X \times  Y \to  Y]]></fr:tex> is given by the projection</html:li>

  <html:li>The comultiplication <fr:tex display="inline"><![CDATA[\mathbb  P_X (Y) = X \times  Y \to  X \times  X \times  Y = \mathbb  P_X^2 (Y)]]></fr:tex> is given by the diagonal</html:li>

  <html:li>The commutative strength <fr:tex display="inline"><![CDATA[\mathbb  P_X (Y) \times  Z = (X \times  Y) \times  Z \to  X \times  (Y \times  Z) = \mathbb  P_X (Y \times  Z)]]></fr:tex> is the natural isomorphism</html:li></html:ul>
            <html:p>Given a morphism <fr:tex display="inline"><![CDATA[X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, the natural transformation <fr:tex display="inline"><![CDATA[f \times  : X \times  - \to  X' \times  -]]></fr:tex> extends to a morphism of comonads <fr:tex display="inline"><![CDATA[f_* : \mathbb  P_X \to  \mathbb  P_Y]]></fr:tex>.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000D/</fr:uri>
            <fr:display-uri>000D</fr:display-uri>
            <fr:route>/forest/000D/</fr:route>
            <fr:title text="Costrong profunctors">Costrong profunctors</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category and let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  D]]></fr:tex> be <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegories</fr:link>. A <html:strong>costrong profunctor</html:strong> or <html:strong>Tambara comodule</html:strong> <fr:tex display="inline"><![CDATA[F : \mathcal  C \to  \mathcal  D]]></fr:tex> is a functor <fr:tex display="inline"><![CDATA[F : \mathcal  C \times  \mathcal  D^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> equipped with a natural transformation called the <html:strong>costrength</html:strong>,

<fr:tex display="block"><![CDATA[/ M : F (X \bullet  M, Y \bullet  M) \to  F (X, Y)]]></fr:tex></html:p>
            <html:p>The dual concept of costrong profunctors is <fr:link href="/forest/000C/" title="Strong profunctors" uri="https://julesh.com/forest/000C/" display-uri="000C" type="local">strong profunctors</fr:link>.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000C/</fr:uri>
            <fr:display-uri>000C</fr:display-uri>
            <fr:route>/forest/000C/</fr:route>
            <fr:title text="Strong profunctors">Strong profunctors</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category and let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  D]]></fr:tex> be <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegories</fr:link>. A <html:strong>strong profunctor</html:strong> or <html:strong>Tambara module</html:strong> <fr:tex display="inline"><![CDATA[F : \mathcal  C \to  \mathcal  D]]></fr:tex> is a functor <fr:tex display="inline"><![CDATA[F : \mathcal  C^\mathrm {op} \times  \mathcal  D \to  \mathbf {Set}]]></fr:tex> equipped with a natural transformation called the <html:strong>strength</html:strong>,

<fr:tex display="block"><![CDATA[\bullet  M : F (X, Y) \to  F (X \bullet  M, Y \bullet  M)]]></fr:tex></html:p>
            <html:p>The dual of strong profunctors is <fr:link href="/forest/000D/" title="Costrong profunctors" uri="https://julesh.com/forest/000D/" display-uri="000D" type="local">costrong profunctors</fr:link>.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000B/</fr:uri>
            <fr:display-uri>000B</fr:display-uri>
            <fr:route>/forest/000B/</fr:route>
            <fr:title text="Simple colinks in the category of sets">Simple colinks in the category of sets</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[X, X', Y, Y']]></fr:tex> be sets. A <html:strong>simple colink</html:strong> <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> is given by:</html:p>
            <html:ul><html:li>A function <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> called the <html:strong>forwards pass</html:strong></html:li>

  <html:li>A function <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex> called the <html:strong>backwards pass</html:strong></html:li></html:ul>
            <html:p>Simple colinks are so-called to distinguish them from indexed colinks, which also exist in the category of sets.</html:p>
            <html:p>Given simple colinks <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \binom {Y'}{Y} \to  \binom {Z'}{Z}]]></fr:tex>, there is a <html:strong>compsite colink</html:strong> <fr:tex display="inline"><![CDATA[fg : \binom {X'}{X} \to  \binom {Z'}{Z}]]></fr:tex> whose forwards pass is the composite function <fr:tex display="inline"><![CDATA[(fg) (x) = g (f (x))]]></fr:tex> and whose backwards pass is the function <fr:tex display="inline"><![CDATA[(fg)' : X \times  Z' \to  X']]></fr:tex> defined by the <html:strong>colink composition law</html:strong>

<fr:tex display="block"><![CDATA[(fg)' (x, z') = f' (x, g' (f (x), z'))]]></fr:tex></html:p>
            <html:p>In this case we can directly prove that colink composition is associative as follows:

<fr:tex display="block"><![CDATA[((fg)h)' (x, w') = (fg)' (x, h' ((fg) (x), w'))]]></fr:tex>

<fr:tex display="block"><![CDATA[= f' (x, g' (f (x), h' (g (f (x)), w')))]]></fr:tex>

<fr:tex display="block"><![CDATA[= f' (x, (gh)' (f (x), w')) = (f(gh))' (x, w')]]></fr:tex></html:p>
            <html:p>Since the category of sets is cartesian closed, the category of colinks in the category of sets can be constructed either as a category of <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">cartesian colinks</fr:link> or as a category of colinks in a monoidal closed category.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000A/</fr:uri>
            <fr:display-uri>000A</fr:display-uri>
            <fr:route>/forest/000A/</fr:route>
            <fr:title text="Cartesian colinks">Cartesian colinks</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X, X', Y, Y']]></fr:tex> be objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. A <html:strong>cartesian colink</html:strong> <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> is given by:</html:p>
            <html:ul><html:li>A morphism <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> called the <html:strong>forwards pass</html:strong></html:li>

  <html:li>A morphism <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex> called the <html:strong>backwards pass</html:strong></html:li></html:ul>
            <html:p>Given colinks <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \binom {Y'}{Y} \to  \binom {Z'}{Z}]]></fr:tex>, there is a <html:strong>composite colink</html:strong> <fr:tex display="inline"><![CDATA[fg : \binom {X'}{X} \to  \binom {Z'}{Z}]]></fr:tex> whose forwards pass is the composite morphism <fr:tex display="inline"><![CDATA[fg : X \to  Z]]></fr:tex> and whose backwards pass <fr:tex display="inline"><![CDATA[(fg)']]></fr:tex> is the composite

<fr:tex display="block"><![CDATA[X \times  Z' \overset {\Delta _X \times  Z'}\longrightarrow  X \times  X \times  Z' \overset {X \times  f \times  Z'}\longrightarrow  X \times  Y \times  Z' \overset {X \times  g'}\longrightarrow  X \times  Y' \overset {f'}\longrightarrow  X']]></fr:tex></html:p>
            <html:p>It is not obvious from this definition that colink composition is associative. A direct proof is possible but tedious, so we prefer to prove it using machinery of fibred categories.</html:p>
            <html:p>For a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> with finite products, there is a category <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> where:</html:p>
            <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> are pairs of objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, written <fr:tex display="inline"><![CDATA[\binom {X'}{X}]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> are colinks <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>
  
  <html:li>The identity morphism <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {X'}{X}]]></fr:tex> has as forwards pass the identity morphism <fr:tex display="inline"><![CDATA[X \to  X]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and as backwards pass the projection <fr:tex display="inline"><![CDATA[X \times  X' \to  X']]></fr:tex></html:li>

  <html:li>Composite morphisms are given by colink composition</html:li></html:ul>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>24</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000F/</fr:uri>
                <fr:display-uri>000F</fr:display-uri>
                <fr:route>/forest/000F/</fr:route>
                <fr:title text="The simple slice category">The simple slice category</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. We write <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> for the Kleisli category of the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonad</fr:link> <fr:tex display="inline"><![CDATA[\mathbb  P_X : \mathcal  C \to  \mathcal  C]]></fr:tex>.</html:p>
                <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is given as follows:</html:p>
                <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> are morphisms <fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>The identity morphism <fr:tex display="inline"><![CDATA[Y \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is the projection <fr:tex display="inline"><![CDATA[X \times  Y \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : X \times  Z \to  W]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset \Delta \longrightarrow  X \times  X \times  Y \overset {X \times  f}\longrightarrow  X \times  Z \overset {g}\longrightarrow  W]]></fr:tex></html:li></html:ul>
                <html:p>Reference: <fr:link href="https://pages.jh.edu/rrynasi1/FoundationsOFMath/Literature/Logic/Jacobs1999CategoricalLogic+TypeTheory.pdf" type="external">Categorical logic and type theory</fr:link></html:p>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>24</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000H/</fr:uri>
                    <fr:display-uri>000H</fr:display-uri>
                    <fr:route>/forest/000H/</fr:route>
                    <fr:title text="Products in the simple slice category">Products in the simple slice category</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Then the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products, given by the underlying products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                    <html:p>To prove this, we construct the Kleisli adjunction between <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex>.</html:p>
                    <html:p>The left adjoint <fr:tex display="inline"><![CDATA[L : \mathcal  C [X] \to  \mathcal  C]]></fr:tex> is given by:</html:p>
                    <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[L (Y) = X \times  Y]]></fr:tex></html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[L (f) : X \times  Y \to  X \times  Z]]></fr:tex> given by the pairing of the projection and <fr:tex display="inline"><![CDATA[f]]></fr:tex></html:li></html:ul>
                    <html:p>The right adjoint <fr:tex display="inline"><![CDATA[R : \mathcal  C \to  \mathcal  C [X]]]></fr:tex> is given by:</html:p>
                    <html:ul><html:li><fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects</html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[R (f) : X \times  Y \to  Z]]></fr:tex> given by precomposition with the projection</html:li></html:ul>
                    <html:p>The hom-set isomorphism is proven as follows:

<fr:tex display="block"><![CDATA[\mathcal  C (L (Y), Z) = \mathcal  C (X \times  Y, Z) = \mathcal  C [X] (Y, Z) = \mathcal  C [X] (Y, R (Z))]]></fr:tex></html:p>
                    <html:p>Since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is a right adjoint it preserves limits. Since <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has the same objects as <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects, this establishes that <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products given by finite products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                    <fr:tree show-metadata="false">
                      <fr:frontmatter>
                        <fr:authors />
                        <fr:date>
                          <fr:year>2025</fr:year>
                          <fr:month>10</fr:month>
                          <fr:day>24</fr:day>
                        </fr:date>
                        <fr:uri>https://julesh.com/forest/000I/</fr:uri>
                        <fr:display-uri>000I</fr:display-uri>
                        <fr:route>/forest/000I/</fr:route>
                        <fr:title text="Simple slices as polynomial categories">Simple slices as polynomial categories</fr:title>
                      </fr:frontmatter>
                      <fr:mainmatter>
                        <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and <fr:tex display="inline"><![CDATA[X]]></fr:tex> an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Recall that the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">has finite products</fr:link>.</html:p>
                        <html:p>We can universally characterise <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> as the smallest category with finite products that contains <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and another morphism <fr:tex display="inline"><![CDATA[x : 1 \to  X]]></fr:tex>.</html:p>
                        <html:p>Based on the analogous construction of polynomial rings, the simple slice <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is sometimes called a <html:strong>polynomial category</html:strong>. This is the origin of its notation.</html:p>
                        <html:p>Reference: Lambek &amp; Scott, Introduction to higher-order categorical logic</html:p>
                      </fr:mainmatter>
                    </fr:tree>
                  </fr:mainmatter>
                </fr:tree>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>24</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000G/</fr:uri>
                    <fr:display-uri>000G</fr:display-uri>
                    <fr:route>/forest/000G/</fr:route>
                    <fr:title text="Indexed category structure of simple slices">Indexed category structure of simple slices</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products. A morphism <fr:tex display="inline"><![CDATA[f : X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> induces a functor <fr:tex display="inline"><![CDATA[f^* : \mathcal  C [X'] \to  \mathcal  C [X]]]></fr:tex> where:</html:p>
                    <html:ul><html:li><fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects</html:li>

  <html:li>For a morphism <fr:tex display="inline"><![CDATA[g : X' \times  Y \to  Z]]></fr:tex>, <fr:tex display="inline"><![CDATA[f^* (g) : X \times  Y \to  Z]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset {f \times  Y}\longrightarrow  X' \times  Y \overset {g}\longrightarrow  Z]]></fr:tex></html:li></html:ul>
                    <html:p>This yields an indexed category <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex>.</html:p>
                    <html:p>This structure can also be seen as arising from the comonad morphisms <fr:tex display="inline"><![CDATA[f_* : \mathbb  P_X \to  \mathbb  P_Y]]></fr:tex> between the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonads</fr:link>, since morphisms of comonads lift contravariantly to functors between Kleisli categories.</html:p>
                    <html:p>Since <fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects, it also preserves <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">products in simple slice categories</fr:link>. Thus <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> has indexed finite products.</html:p>
                  </fr:mainmatter>
                </fr:tree>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000J/</fr:uri>
                <fr:display-uri>000J</fr:display-uri>
                <fr:route>/forest/000J/</fr:route>
                <fr:title text="Construction of cartesian colinks from simple slices">Construction of cartesian colinks from simple slices</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> be the <fr:link href="/forest/000G/" title="Indexed category structure of simple slices" uri="https://julesh.com/forest/000G/" display-uri="000G" type="local">indexed category</fr:link> of <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slices</fr:link>.</html:p>
                <html:p>We define the <html:strong>category of cartesian colinks</html:strong> <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> as the total category of the opposite indexed category:

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex></html:p>
                <html:p>Notice that since the simple slice categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> all have the same class of objects, namely the objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, an object of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> is a pair <fr:tex display="inline"><![CDATA[\binom {X'}{X}]]></fr:tex> of objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000L/</fr:uri>
                <fr:display-uri>000L</fr:display-uri>
                <fr:route>/forest/000L/</fr:route>
                <fr:title text="The forwards fibration for cartesian colinks">The forwards fibration for cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                <html:p>Since <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> <fr:link href="/forest/000J/" title="Construction of cartesian colinks from simple slices" uri="https://julesh.com/forest/000J/" display-uri="000J" type="local">is constructed</fr:link> as the total category of an indexed category

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex>

it is equipped with a fibration <fr:tex display="inline"><![CDATA[\mathbb  F : \overset {\leftarrow }{\mathcal  L} (\mathcal  C) \to  \mathcal  C]]></fr:tex> called the <html:strong>forwards fibration</html:strong>.</html:p>
                <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathbb  F]]></fr:tex> is given as follows:</html:p>
                <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[\mathbb  F \binom {X'}{X} = X]]></fr:tex></html:li>

  <html:li>On morphisms, <fr:tex display="inline"><![CDATA[\mathbb  F]]></fr:tex> takes each cartesian colink to its forwards pass</html:li>

  <html:li>Given an object <fr:tex display="inline"><![CDATA[\binom {Y'}{Y}]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> and a morphism <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, the cartesian lifting <fr:tex display="inline"><![CDATA[f^* \binom {Y'}{Y} : \binom {Y'}{X} \to  \binom {Y}{Y'}]]></fr:tex> is the colink with forwards pass <fr:tex display="inline"><![CDATA[f]]></fr:tex> and backwards pass the projection <fr:tex display="inline"><![CDATA[X \times  Y' \to  Y']]></fr:tex></html:li></html:ul>
                <html:p>The forwards fibration is closely related to the <fr:link href="/forest/000O/" title="The history functor for cartesian colinks" uri="https://julesh.com/forest/000O/" display-uri="000O" type="local">history functor</fr:link>. They coincide for <fr:link href="/forest/000B/" title="Simple colinks in the category of sets" uri="https://julesh.com/forest/000B/" display-uri="000B" type="local">simple colinks in the category of sets</fr:link>.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000K/</fr:uri>
                <fr:display-uri>000K</fr:display-uri>
                <fr:route>/forest/000K/</fr:route>
                <fr:title text="Tensor product of cartesian colinks">Tensor product of cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Recall the construction of the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link> from the <fr:link href="/forest/000G/" title="Indexed category structure of simple slices" uri="https://julesh.com/forest/000G/" display-uri="000G" type="local">indexed category of simple slices</fr:link>,

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex></html:p>
                <html:p>Recall that the simple slice categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">have finite products</fr:link> given by products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and that reindexing preserves them. Therefore the opposite categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]^\mathrm {op}]]></fr:tex> have finite coproducts given by products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and reindexing preserves them.</html:p>
                <html:p>This structure defines a symmetric monoidal product in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex>, called the <html:strong>tensor product</html:strong>. In general the tensor product is neither cartesian nor cocartesian.</html:p>
                <html:p>Reference: <fr:link href="https://arxiv.org/abs/0706.1286" type="external">Shulman, Framed bicategories and monoidal fibrations</fr:link></html:p>
                <html:p>Concretely, on objects the tensor product is given by pairwise monoidal product:

<fr:tex display="block"><![CDATA[\binom {X'}{X} \otimes  \binom {Y'}{Y} = \binom {X' \times  Y'}{X \times  Y}]]></fr:tex></html:p>
                <html:p>The monoidal unit is denoted <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>, where <fr:tex display="inline"><![CDATA[1]]></fr:tex> is the terminal object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                <html:p>The tensor product of cartesian colinks is fibrewise dual to the cartesian product of cartesian links.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000O/</fr:uri>
                <fr:display-uri>000O</fr:display-uri>
                <fr:route>/forest/000O/</fr:route>
                <fr:title text="The history functor for cartesian colinks">The history functor for cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                <html:p>We define the <html:strong>history functor</html:strong> <fr:tex display="inline"><![CDATA[\mathbb  H : \overset {\leftarrow }{\mathcal  L} (\mathcal  C) \to  \mathbf {Set}]]></fr:tex> to be the covariant functor represented by the <fr:link href="/forest/000K/" title="Tensor product of cartesian colinks" uri="https://julesh.com/forest/000K/" display-uri="000K" type="local">tensor unit</fr:link> <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>.</html:p>
                <html:p>Concretely, on objects <fr:tex display="inline"><![CDATA[\mathbb  H]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\mathbb  H \binom {X'}{X} = \mathcal  C (1, X)]]></fr:tex>.</html:p>
                <html:p><fr:tex display="inline"><![CDATA[\mathbb  H]]></fr:tex> factors through the <fr:link href="/forest/000L/" title="The forwards fibration for cartesian colinks" uri="https://julesh.com/forest/000L/" display-uri="000L" type="local">forwards fibration</fr:link> via the functor <fr:tex display="inline"><![CDATA[\mathcal  C (1, -) : \mathcal  C \to  \mathbf {Set}]]></fr:tex>. For <fr:link href="/forest/000B/" title="Simple colinks in the category of sets" uri="https://julesh.com/forest/000B/" display-uri="000B" type="local">simple colinks in the category of sets</fr:link>, the history functor and the forwards fibration coincide.</html:p>
                <html:p>The dual of the history functor is the <fr:link href="/forest/000N/" title="The continuation functor for cartesian colinks" uri="https://julesh.com/forest/000N/" display-uri="000N" type="local">continuation functor</fr:link>.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000N/</fr:uri>
                <fr:display-uri>000N</fr:display-uri>
                <fr:route>/forest/000N/</fr:route>
                <fr:title text="The continuation functor for cartesian colinks">The continuation functor for cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                <html:p>We define the <html:strong>continuation functor</html:strong> <fr:tex display="inline"><![CDATA[\mathbb  K : \overset {\leftarrow }{\mathcal  L} (\mathcal  C)^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> as the contravariant functor represesented by the <fr:link href="/forest/000K/" title="Tensor product of cartesian colinks" uri="https://julesh.com/forest/000K/" display-uri="000K" type="local">tensor unit</fr:link> <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>.</html:p>
                <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathbb  K]]></fr:tex> is given as follows:</html:p>
                <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[\mathbb  K \binom {X'}{X} = \mathcal  C (X, X')]]></fr:tex></html:li>

  <html:li>Given a cartesian colink <fr:tex display="inline"><![CDATA[f]]></fr:tex> with forwards pass <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> and backwards pass <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex>, the function <fr:tex display="inline"><![CDATA[\mathbb  K (f) : \mathcal  C (Y, Y') \to  \mathcal  C (X, X')]]></fr:tex> takes a morphism <fr:tex display="inline"><![CDATA[k : Y \to  Y']]></fr:tex> to the composite
  
  <fr:tex display="block"><![CDATA[X \overset \Delta \longrightarrow  X \times  X \overset {X \times  f}\longrightarrow  X \times  Y \overset {X \times  k}\longrightarrow  X \times  Y' \overset {f'}\longrightarrow  X']]></fr:tex></html:li></html:ul>
                <html:p>We use the term <html:strong>continuation</html:strong> to refer to a morphism <fr:tex display="inline"><![CDATA[X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> when regarded as an element of <fr:tex display="inline"><![CDATA[\mathbb  K \binom {X'}{X}]]></fr:tex>.</html:p>
                <html:p>The dual of the continuation functor is the <fr:link href="/forest/000O/" title="The history functor for cartesian colinks" uri="https://julesh.com/forest/000O/" display-uri="000O" type="local">history functor</fr:link>.</html:p>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0009/</fr:uri>
            <fr:display-uri>0009</fr:display-uri>
            <fr:route>/forest/0009/</fr:route>
            <fr:title text="Colinks">Colinks</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Colinks, usually called lenses, are pairs of morphisms with the backwards morphism also having an input in the forwards direction. Composition of colinks is an abstraction of the chain rule of calculus.</html:p>
            <html:p>There are many definitions of colinks that apply with different assumptions on the base category. In each of these cases, for a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> with the appropriate structure we will obtain a category <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> whose morphisms are colinks in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>24</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000B/</fr:uri>
                <fr:display-uri>000B</fr:display-uri>
                <fr:route>/forest/000B/</fr:route>
                <fr:title text="Simple colinks in the category of sets">Simple colinks in the category of sets</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[X, X', Y, Y']]></fr:tex> be sets. A <html:strong>simple colink</html:strong> <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> is given by:</html:p>
                <html:ul><html:li>A function <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> called the <html:strong>forwards pass</html:strong></html:li>

  <html:li>A function <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex> called the <html:strong>backwards pass</html:strong></html:li></html:ul>
                <html:p>Simple colinks are so-called to distinguish them from indexed colinks, which also exist in the category of sets.</html:p>
                <html:p>Given simple colinks <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \binom {Y'}{Y} \to  \binom {Z'}{Z}]]></fr:tex>, there is a <html:strong>compsite colink</html:strong> <fr:tex display="inline"><![CDATA[fg : \binom {X'}{X} \to  \binom {Z'}{Z}]]></fr:tex> whose forwards pass is the composite function <fr:tex display="inline"><![CDATA[(fg) (x) = g (f (x))]]></fr:tex> and whose backwards pass is the function <fr:tex display="inline"><![CDATA[(fg)' : X \times  Z' \to  X']]></fr:tex> defined by the <html:strong>colink composition law</html:strong>

<fr:tex display="block"><![CDATA[(fg)' (x, z') = f' (x, g' (f (x), z'))]]></fr:tex></html:p>
                <html:p>In this case we can directly prove that colink composition is associative as follows:

<fr:tex display="block"><![CDATA[((fg)h)' (x, w') = (fg)' (x, h' ((fg) (x), w'))]]></fr:tex>

<fr:tex display="block"><![CDATA[= f' (x, g' (f (x), h' (g (f (x)), w')))]]></fr:tex>

<fr:tex display="block"><![CDATA[= f' (x, (gh)' (f (x), w')) = (f(gh))' (x, w')]]></fr:tex></html:p>
                <html:p>Since the category of sets is cartesian closed, the category of colinks in the category of sets can be constructed either as a category of <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">cartesian colinks</fr:link> or as a category of colinks in a monoidal closed category.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>24</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000A/</fr:uri>
                <fr:display-uri>000A</fr:display-uri>
                <fr:route>/forest/000A/</fr:route>
                <fr:title text="Cartesian colinks">Cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X, X', Y, Y']]></fr:tex> be objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. A <html:strong>cartesian colink</html:strong> <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> is given by:</html:p>
                <html:ul><html:li>A morphism <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> called the <html:strong>forwards pass</html:strong></html:li>

  <html:li>A morphism <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex> called the <html:strong>backwards pass</html:strong></html:li></html:ul>
                <html:p>Given colinks <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \binom {Y'}{Y} \to  \binom {Z'}{Z}]]></fr:tex>, there is a <html:strong>composite colink</html:strong> <fr:tex display="inline"><![CDATA[fg : \binom {X'}{X} \to  \binom {Z'}{Z}]]></fr:tex> whose forwards pass is the composite morphism <fr:tex display="inline"><![CDATA[fg : X \to  Z]]></fr:tex> and whose backwards pass <fr:tex display="inline"><![CDATA[(fg)']]></fr:tex> is the composite

<fr:tex display="block"><![CDATA[X \times  Z' \overset {\Delta _X \times  Z'}\longrightarrow  X \times  X \times  Z' \overset {X \times  f \times  Z'}\longrightarrow  X \times  Y \times  Z' \overset {X \times  g'}\longrightarrow  X \times  Y' \overset {f'}\longrightarrow  X']]></fr:tex></html:p>
                <html:p>It is not obvious from this definition that colink composition is associative. A direct proof is possible but tedious, so we prefer to prove it using machinery of fibred categories.</html:p>
                <html:p>For a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> with finite products, there is a category <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> where:</html:p>
                <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> are pairs of objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, written <fr:tex display="inline"><![CDATA[\binom {X'}{X}]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> are colinks <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>
  
  <html:li>The identity morphism <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {X'}{X}]]></fr:tex> has as forwards pass the identity morphism <fr:tex display="inline"><![CDATA[X \to  X]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and as backwards pass the projection <fr:tex display="inline"><![CDATA[X \times  X' \to  X']]></fr:tex></html:li>

  <html:li>Composite morphisms are given by colink composition</html:li></html:ul>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>24</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000F/</fr:uri>
                    <fr:display-uri>000F</fr:display-uri>
                    <fr:route>/forest/000F/</fr:route>
                    <fr:title text="The simple slice category">The simple slice category</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. We write <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> for the Kleisli category of the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonad</fr:link> <fr:tex display="inline"><![CDATA[\mathbb  P_X : \mathcal  C \to  \mathcal  C]]></fr:tex>.</html:p>
                    <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is given as follows:</html:p>
                    <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> are morphisms <fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>The identity morphism <fr:tex display="inline"><![CDATA[Y \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is the projection <fr:tex display="inline"><![CDATA[X \times  Y \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : X \times  Z \to  W]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset \Delta \longrightarrow  X \times  X \times  Y \overset {X \times  f}\longrightarrow  X \times  Z \overset {g}\longrightarrow  W]]></fr:tex></html:li></html:ul>
                    <html:p>Reference: <fr:link href="https://pages.jh.edu/rrynasi1/FoundationsOFMath/Literature/Logic/Jacobs1999CategoricalLogic+TypeTheory.pdf" type="external">Categorical logic and type theory</fr:link></html:p>
                    <fr:tree show-metadata="false">
                      <fr:frontmatter>
                        <fr:authors />
                        <fr:date>
                          <fr:year>2025</fr:year>
                          <fr:month>10</fr:month>
                          <fr:day>24</fr:day>
                        </fr:date>
                        <fr:uri>https://julesh.com/forest/000H/</fr:uri>
                        <fr:display-uri>000H</fr:display-uri>
                        <fr:route>/forest/000H/</fr:route>
                        <fr:title text="Products in the simple slice category">Products in the simple slice category</fr:title>
                      </fr:frontmatter>
                      <fr:mainmatter>
                        <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Then the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products, given by the underlying products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                        <html:p>To prove this, we construct the Kleisli adjunction between <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex>.</html:p>
                        <html:p>The left adjoint <fr:tex display="inline"><![CDATA[L : \mathcal  C [X] \to  \mathcal  C]]></fr:tex> is given by:</html:p>
                        <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[L (Y) = X \times  Y]]></fr:tex></html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[L (f) : X \times  Y \to  X \times  Z]]></fr:tex> given by the pairing of the projection and <fr:tex display="inline"><![CDATA[f]]></fr:tex></html:li></html:ul>
                        <html:p>The right adjoint <fr:tex display="inline"><![CDATA[R : \mathcal  C \to  \mathcal  C [X]]]></fr:tex> is given by:</html:p>
                        <html:ul><html:li><fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects</html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[R (f) : X \times  Y \to  Z]]></fr:tex> given by precomposition with the projection</html:li></html:ul>
                        <html:p>The hom-set isomorphism is proven as follows:

<fr:tex display="block"><![CDATA[\mathcal  C (L (Y), Z) = \mathcal  C (X \times  Y, Z) = \mathcal  C [X] (Y, Z) = \mathcal  C [X] (Y, R (Z))]]></fr:tex></html:p>
                        <html:p>Since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is a right adjoint it preserves limits. Since <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has the same objects as <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects, this establishes that <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products given by finite products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                        <fr:tree show-metadata="false">
                          <fr:frontmatter>
                            <fr:authors />
                            <fr:date>
                              <fr:year>2025</fr:year>
                              <fr:month>10</fr:month>
                              <fr:day>24</fr:day>
                            </fr:date>
                            <fr:uri>https://julesh.com/forest/000I/</fr:uri>
                            <fr:display-uri>000I</fr:display-uri>
                            <fr:route>/forest/000I/</fr:route>
                            <fr:title text="Simple slices as polynomial categories">Simple slices as polynomial categories</fr:title>
                          </fr:frontmatter>
                          <fr:mainmatter>
                            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and <fr:tex display="inline"><![CDATA[X]]></fr:tex> an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Recall that the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">has finite products</fr:link>.</html:p>
                            <html:p>We can universally characterise <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> as the smallest category with finite products that contains <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and another morphism <fr:tex display="inline"><![CDATA[x : 1 \to  X]]></fr:tex>.</html:p>
                            <html:p>Based on the analogous construction of polynomial rings, the simple slice <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is sometimes called a <html:strong>polynomial category</html:strong>. This is the origin of its notation.</html:p>
                            <html:p>Reference: Lambek &amp; Scott, Introduction to higher-order categorical logic</html:p>
                          </fr:mainmatter>
                        </fr:tree>
                      </fr:mainmatter>
                    </fr:tree>
                    <fr:tree show-metadata="false">
                      <fr:frontmatter>
                        <fr:authors />
                        <fr:date>
                          <fr:year>2025</fr:year>
                          <fr:month>10</fr:month>
                          <fr:day>24</fr:day>
                        </fr:date>
                        <fr:uri>https://julesh.com/forest/000G/</fr:uri>
                        <fr:display-uri>000G</fr:display-uri>
                        <fr:route>/forest/000G/</fr:route>
                        <fr:title text="Indexed category structure of simple slices">Indexed category structure of simple slices</fr:title>
                      </fr:frontmatter>
                      <fr:mainmatter>
                        <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products. A morphism <fr:tex display="inline"><![CDATA[f : X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> induces a functor <fr:tex display="inline"><![CDATA[f^* : \mathcal  C [X'] \to  \mathcal  C [X]]]></fr:tex> where:</html:p>
                        <html:ul><html:li><fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects</html:li>

  <html:li>For a morphism <fr:tex display="inline"><![CDATA[g : X' \times  Y \to  Z]]></fr:tex>, <fr:tex display="inline"><![CDATA[f^* (g) : X \times  Y \to  Z]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset {f \times  Y}\longrightarrow  X' \times  Y \overset {g}\longrightarrow  Z]]></fr:tex></html:li></html:ul>
                        <html:p>This yields an indexed category <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex>.</html:p>
                        <html:p>This structure can also be seen as arising from the comonad morphisms <fr:tex display="inline"><![CDATA[f_* : \mathbb  P_X \to  \mathbb  P_Y]]></fr:tex> between the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonads</fr:link>, since morphisms of comonads lift contravariantly to functors between Kleisli categories.</html:p>
                        <html:p>Since <fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects, it also preserves <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">products in simple slice categories</fr:link>. Thus <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> has indexed finite products.</html:p>
                      </fr:mainmatter>
                    </fr:tree>
                  </fr:mainmatter>
                </fr:tree>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>25</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000J/</fr:uri>
                    <fr:display-uri>000J</fr:display-uri>
                    <fr:route>/forest/000J/</fr:route>
                    <fr:title text="Construction of cartesian colinks from simple slices">Construction of cartesian colinks from simple slices</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> be the <fr:link href="/forest/000G/" title="Indexed category structure of simple slices" uri="https://julesh.com/forest/000G/" display-uri="000G" type="local">indexed category</fr:link> of <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slices</fr:link>.</html:p>
                    <html:p>We define the <html:strong>category of cartesian colinks</html:strong> <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> as the total category of the opposite indexed category:

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex></html:p>
                    <html:p>Notice that since the simple slice categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> all have the same class of objects, namely the objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, an object of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> is a pair <fr:tex display="inline"><![CDATA[\binom {X'}{X}]]></fr:tex> of objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                  </fr:mainmatter>
                </fr:tree>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>25</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000L/</fr:uri>
                    <fr:display-uri>000L</fr:display-uri>
                    <fr:route>/forest/000L/</fr:route>
                    <fr:title text="The forwards fibration for cartesian colinks">The forwards fibration for cartesian colinks</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                    <html:p>Since <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> <fr:link href="/forest/000J/" title="Construction of cartesian colinks from simple slices" uri="https://julesh.com/forest/000J/" display-uri="000J" type="local">is constructed</fr:link> as the total category of an indexed category

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex>

it is equipped with a fibration <fr:tex display="inline"><![CDATA[\mathbb  F : \overset {\leftarrow }{\mathcal  L} (\mathcal  C) \to  \mathcal  C]]></fr:tex> called the <html:strong>forwards fibration</html:strong>.</html:p>
                    <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathbb  F]]></fr:tex> is given as follows:</html:p>
                    <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[\mathbb  F \binom {X'}{X} = X]]></fr:tex></html:li>

  <html:li>On morphisms, <fr:tex display="inline"><![CDATA[\mathbb  F]]></fr:tex> takes each cartesian colink to its forwards pass</html:li>

  <html:li>Given an object <fr:tex display="inline"><![CDATA[\binom {Y'}{Y}]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> and a morphism <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, the cartesian lifting <fr:tex display="inline"><![CDATA[f^* \binom {Y'}{Y} : \binom {Y'}{X} \to  \binom {Y}{Y'}]]></fr:tex> is the colink with forwards pass <fr:tex display="inline"><![CDATA[f]]></fr:tex> and backwards pass the projection <fr:tex display="inline"><![CDATA[X \times  Y' \to  Y']]></fr:tex></html:li></html:ul>
                    <html:p>The forwards fibration is closely related to the <fr:link href="/forest/000O/" title="The history functor for cartesian colinks" uri="https://julesh.com/forest/000O/" display-uri="000O" type="local">history functor</fr:link>. They coincide for <fr:link href="/forest/000B/" title="Simple colinks in the category of sets" uri="https://julesh.com/forest/000B/" display-uri="000B" type="local">simple colinks in the category of sets</fr:link>.</html:p>
                  </fr:mainmatter>
                </fr:tree>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>25</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000K/</fr:uri>
                    <fr:display-uri>000K</fr:display-uri>
                    <fr:route>/forest/000K/</fr:route>
                    <fr:title text="Tensor product of cartesian colinks">Tensor product of cartesian colinks</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Recall the construction of the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link> from the <fr:link href="/forest/000G/" title="Indexed category structure of simple slices" uri="https://julesh.com/forest/000G/" display-uri="000G" type="local">indexed category of simple slices</fr:link>,

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex></html:p>
                    <html:p>Recall that the simple slice categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">have finite products</fr:link> given by products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and that reindexing preserves them. Therefore the opposite categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]^\mathrm {op}]]></fr:tex> have finite coproducts given by products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and reindexing preserves them.</html:p>
                    <html:p>This structure defines a symmetric monoidal product in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex>, called the <html:strong>tensor product</html:strong>. In general the tensor product is neither cartesian nor cocartesian.</html:p>
                    <html:p>Reference: <fr:link href="https://arxiv.org/abs/0706.1286" type="external">Shulman, Framed bicategories and monoidal fibrations</fr:link></html:p>
                    <html:p>Concretely, on objects the tensor product is given by pairwise monoidal product:

<fr:tex display="block"><![CDATA[\binom {X'}{X} \otimes  \binom {Y'}{Y} = \binom {X' \times  Y'}{X \times  Y}]]></fr:tex></html:p>
                    <html:p>The monoidal unit is denoted <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>, where <fr:tex display="inline"><![CDATA[1]]></fr:tex> is the terminal object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                    <html:p>The tensor product of cartesian colinks is fibrewise dual to the cartesian product of cartesian links.</html:p>
                  </fr:mainmatter>
                </fr:tree>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>25</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000O/</fr:uri>
                    <fr:display-uri>000O</fr:display-uri>
                    <fr:route>/forest/000O/</fr:route>
                    <fr:title text="The history functor for cartesian colinks">The history functor for cartesian colinks</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                    <html:p>We define the <html:strong>history functor</html:strong> <fr:tex display="inline"><![CDATA[\mathbb  H : \overset {\leftarrow }{\mathcal  L} (\mathcal  C) \to  \mathbf {Set}]]></fr:tex> to be the covariant functor represented by the <fr:link href="/forest/000K/" title="Tensor product of cartesian colinks" uri="https://julesh.com/forest/000K/" display-uri="000K" type="local">tensor unit</fr:link> <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>.</html:p>
                    <html:p>Concretely, on objects <fr:tex display="inline"><![CDATA[\mathbb  H]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\mathbb  H \binom {X'}{X} = \mathcal  C (1, X)]]></fr:tex>.</html:p>
                    <html:p><fr:tex display="inline"><![CDATA[\mathbb  H]]></fr:tex> factors through the <fr:link href="/forest/000L/" title="The forwards fibration for cartesian colinks" uri="https://julesh.com/forest/000L/" display-uri="000L" type="local">forwards fibration</fr:link> via the functor <fr:tex display="inline"><![CDATA[\mathcal  C (1, -) : \mathcal  C \to  \mathbf {Set}]]></fr:tex>. For <fr:link href="/forest/000B/" title="Simple colinks in the category of sets" uri="https://julesh.com/forest/000B/" display-uri="000B" type="local">simple colinks in the category of sets</fr:link>, the history functor and the forwards fibration coincide.</html:p>
                    <html:p>The dual of the history functor is the <fr:link href="/forest/000N/" title="The continuation functor for cartesian colinks" uri="https://julesh.com/forest/000N/" display-uri="000N" type="local">continuation functor</fr:link>.</html:p>
                  </fr:mainmatter>
                </fr:tree>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>25</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000N/</fr:uri>
                    <fr:display-uri>000N</fr:display-uri>
                    <fr:route>/forest/000N/</fr:route>
                    <fr:title text="The continuation functor for cartesian colinks">The continuation functor for cartesian colinks</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                    <html:p>We define the <html:strong>continuation functor</html:strong> <fr:tex display="inline"><![CDATA[\mathbb  K : \overset {\leftarrow }{\mathcal  L} (\mathcal  C)^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> as the contravariant functor represesented by the <fr:link href="/forest/000K/" title="Tensor product of cartesian colinks" uri="https://julesh.com/forest/000K/" display-uri="000K" type="local">tensor unit</fr:link> <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>.</html:p>
                    <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathbb  K]]></fr:tex> is given as follows:</html:p>
                    <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[\mathbb  K \binom {X'}{X} = \mathcal  C (X, X')]]></fr:tex></html:li>

  <html:li>Given a cartesian colink <fr:tex display="inline"><![CDATA[f]]></fr:tex> with forwards pass <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> and backwards pass <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex>, the function <fr:tex display="inline"><![CDATA[\mathbb  K (f) : \mathcal  C (Y, Y') \to  \mathcal  C (X, X')]]></fr:tex> takes a morphism <fr:tex display="inline"><![CDATA[k : Y \to  Y']]></fr:tex> to the composite
  
  <fr:tex display="block"><![CDATA[X \overset \Delta \longrightarrow  X \times  X \overset {X \times  f}\longrightarrow  X \times  Y \overset {X \times  k}\longrightarrow  X \times  Y' \overset {f'}\longrightarrow  X']]></fr:tex></html:li></html:ul>
                    <html:p>We use the term <html:strong>continuation</html:strong> to refer to a morphism <fr:tex display="inline"><![CDATA[X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> when regarded as an element of <fr:tex display="inline"><![CDATA[\mathbb  K \binom {X'}{X}]]></fr:tex>.</html:p>
                    <html:p>The dual of the continuation functor is the <fr:link href="/forest/000O/" title="The history functor for cartesian colinks" uri="https://julesh.com/forest/000O/" display-uri="000O" type="local">history functor</fr:link>.</html:p>
                  </fr:mainmatter>
                </fr:tree>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0008/</fr:uri>
            <fr:display-uri>0008</fr:display-uri>
            <fr:route>/forest/0008/</fr:route>
            <fr:title text="From actegories to locally graded categories">From actegories to locally graded categories</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category and <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> an <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link>. We construct a <fr:link href="/forest/0005/" title="Locally graded categories" uri="https://julesh.com/forest/0005/" display-uri="0005" type="local">locally graded category</fr:link> called <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, which we regard as a <fr:link href="/forest/0002/" title="Para construction" uri="https://julesh.com/forest/0002/" display-uri="0002" type="local">Para construction</fr:link>, as follows:</html:p>
            <html:ul><html:li>The objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>For objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, the hom-object <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C) (X, Y) : \mathcal  E^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_M (X, Y) = \mathcal  C (X \bullet  M, Y)]]></fr:tex></html:li>

  <html:li>The identity morphism in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_I (X, X)]]></fr:tex> is given by the unitor <fr:tex display="inline"><![CDATA[X \bullet  I \to  X]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1} (X, Y)]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_2} (Y, Z)]]></fr:tex> is <fr:tex display="inline"><![CDATA[fg : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1 \otimes  M_2} (X, Z)]]></fr:tex> given by <fr:tex display="block"><![CDATA[X \bullet  (M_1 \otimes  M_2) \to  (X \bullet  M_1) \bullet  M_2 \to  Y \bullet  M_2 \to  Z]]></fr:tex></html:li></html:ul>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0007/</fr:uri>
            <fr:display-uri>0007</fr:display-uri>
            <fr:route>/forest/0007/</fr:route>
            <fr:title text="The golden theorem of actegories">The golden theorem of actegories</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a symmetric monoidal category. Every <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link> that is also a symmetric monoidal category in a compatible way is necessarily <fr:link href="/forest/0006/" title="From strong monoidal functors to actegories" uri="https://julesh.com/forest/0006/" display-uri="0006" type="local">defined by a strong symmetric monoidal functor</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  E \to  \mathcal  C]]></fr:tex>, up to natural isomorphism.</html:p>
            <html:p>Specifically, if <fr:tex display="inline"><![CDATA[\bullet  : \mathcal  C \times  \mathcal  E \to  \mathcal  C]]></fr:tex> is a symmetric monoidal actegory then <fr:tex display="inline"><![CDATA[X \bullet  M \cong  X \otimes  F (M)]]></fr:tex> where <fr:tex display="inline"><![CDATA[F : \mathcal  E \to  \mathcal  C]]></fr:tex> is defined by <fr:tex display="inline"><![CDATA[F (M) = I \bullet  M]]></fr:tex>.</html:p>
            <html:p>This means that in the vast majority of cases, actegories are redundant and strong symmetric monoidal functors suffice.</html:p>
            <html:p>Reference: <fr:link href="https://arxiv.org/abs/2203.16351" type="external">Actegories for the working amthematician</fr:link>, section 5</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0006/</fr:uri>
            <fr:display-uri>0006</fr:display-uri>
            <fr:route>/forest/0006/</fr:route>
            <fr:title text="From strong monoidal functors to actegories">From strong monoidal functors to actegories</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be monoidal categories, and let <fr:tex display="inline"><![CDATA[F : \mathcal  E \to  \mathcal  C]]></fr:tex> be a strong monoidal functor. Then we can define an <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link> structure on <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> by <fr:tex display="inline"><![CDATA[X \bullet  M = X \otimes  F (M)]]></fr:tex>.</html:p>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>21</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/0007/</fr:uri>
                <fr:display-uri>0007</fr:display-uri>
                <fr:route>/forest/0007/</fr:route>
                <fr:title text="The golden theorem of actegories">The golden theorem of actegories</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a symmetric monoidal category. Every <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link> that is also a symmetric monoidal category in a compatible way is necessarily <fr:link href="/forest/0006/" title="From strong monoidal functors to actegories" uri="https://julesh.com/forest/0006/" display-uri="0006" type="local">defined by a strong symmetric monoidal functor</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  E \to  \mathcal  C]]></fr:tex>, up to natural isomorphism.</html:p>
                <html:p>Specifically, if <fr:tex display="inline"><![CDATA[\bullet  : \mathcal  C \times  \mathcal  E \to  \mathcal  C]]></fr:tex> is a symmetric monoidal actegory then <fr:tex display="inline"><![CDATA[X \bullet  M \cong  X \otimes  F (M)]]></fr:tex> where <fr:tex display="inline"><![CDATA[F : \mathcal  E \to  \mathcal  C]]></fr:tex> is defined by <fr:tex display="inline"><![CDATA[F (M) = I \bullet  M]]></fr:tex>.</html:p>
                <html:p>This means that in the vast majority of cases, actegories are redundant and strong symmetric monoidal functors suffice.</html:p>
                <html:p>Reference: <fr:link href="https://arxiv.org/abs/2203.16351" type="external">Actegories for the working amthematician</fr:link>, section 5</html:p>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0005/</fr:uri>
            <fr:display-uri>0005</fr:display-uri>
            <fr:route>/forest/0005/</fr:route>
            <fr:title text="Locally graded categories">Locally graded categories</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category. A category <html:strong>locally graded</html:strong> in <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> is a category enriched in the monoidal category of presheaves <fr:tex display="inline"><![CDATA[[\mathcal  E^\mathrm {op}, \mathbf {Set}]]]></fr:tex> with Day convolution.</html:p>
            <html:p>Unwinding the definition, a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> locally graded in <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> is given by the following data:</html:p>
            <html:ul><html:li>A class of objects</html:li>

  <html:li>For each pair of objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and each object <fr:tex display="inline"><![CDATA[M]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>, a set of morphisms #\mathcal  C (X, Y) (M), which we also write <fr:tex display="inline"><![CDATA[\mathcal  C_M (X, Y)]]></fr:tex></html:li>

  <html:li>For each object <fr:tex display="inline"><![CDATA[X]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, an identity morphism in <fr:tex display="inline"><![CDATA[\mathcal  C_I (X, X)]]></fr:tex></html:li>

  <html:li>For morphisms <fr:tex display="inline"><![CDATA[f : \mathcal  C_{M_1} (X, Y)]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \mathcal  C_{M_2} (Y, Z)]]></fr:tex>, a composite morphism <fr:tex display="inline"><![CDATA[fg : \mathcal  C_{M_1 \otimes  M_2} (X, Z)]]></fr:tex></html:li>

  <html:li>Coherence isomorphisms</html:li></html:ul>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>21</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/0008/</fr:uri>
                <fr:display-uri>0008</fr:display-uri>
                <fr:route>/forest/0008/</fr:route>
                <fr:title text="From actegories to locally graded categories">From actegories to locally graded categories</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category and <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> an <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link>. We construct a <fr:link href="/forest/0005/" title="Locally graded categories" uri="https://julesh.com/forest/0005/" display-uri="0005" type="local">locally graded category</fr:link> called <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, which we regard as a <fr:link href="/forest/0002/" title="Para construction" uri="https://julesh.com/forest/0002/" display-uri="0002" type="local">Para construction</fr:link>, as follows:</html:p>
                <html:ul><html:li>The objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>For objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, the hom-object <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C) (X, Y) : \mathcal  E^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_M (X, Y) = \mathcal  C (X \bullet  M, Y)]]></fr:tex></html:li>

  <html:li>The identity morphism in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_I (X, X)]]></fr:tex> is given by the unitor <fr:tex display="inline"><![CDATA[X \bullet  I \to  X]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1} (X, Y)]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_2} (Y, Z)]]></fr:tex> is <fr:tex display="inline"><![CDATA[fg : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1 \otimes  M_2} (X, Z)]]></fr:tex> given by <fr:tex display="block"><![CDATA[X \bullet  (M_1 \otimes  M_2) \to  (X \bullet  M_1) \bullet  M_2 \to  Y \bullet  M_2 \to  Z]]></fr:tex></html:li></html:ul>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0004/</fr:uri>
            <fr:display-uri>0004</fr:display-uri>
            <fr:route>/forest/0004/</fr:route>
            <fr:title text="Actegories">Actegories</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category and <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> a category. An <html:strong>action</html:strong> of <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> on <fr:tex display="inline"><![CDATA[\mathcal  M]]></fr:tex>, also called an <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<html:strong>actegory</html:strong> structure on <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, is given by a functor <fr:tex display="inline"><![CDATA[\bullet  : \mathcal  C \times  \mathcal  E \to  \mathcal  C]]></fr:tex>, together with the following coherence data:</html:p>
            <html:ul><html:li>A natural transformation <fr:tex display="inline"><![CDATA[X \bullet  I \to  X]]></fr:tex> called the <html:strong>unitor</html:strong></html:li>

  <html:li>A natural transformation <fr:tex display="inline"><![CDATA[(X \bullet  M_1) \bullet  M_2 \to  X \bullet  (M_1 \otimes  M_2)]]></fr:tex> called the <html:strong>actor</html:strong></html:li>

  <html:li>Coherence equations</html:li></html:ul>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>21</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/0006/</fr:uri>
                <fr:display-uri>0006</fr:display-uri>
                <fr:route>/forest/0006/</fr:route>
                <fr:title text="From strong monoidal functors to actegories">From strong monoidal functors to actegories</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be monoidal categories, and let <fr:tex display="inline"><![CDATA[F : \mathcal  E \to  \mathcal  C]]></fr:tex> be a strong monoidal functor. Then we can define an <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link> structure on <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> by <fr:tex display="inline"><![CDATA[X \bullet  M = X \otimes  F (M)]]></fr:tex>.</html:p>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>21</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/0007/</fr:uri>
                    <fr:display-uri>0007</fr:display-uri>
                    <fr:route>/forest/0007/</fr:route>
                    <fr:title text="The golden theorem of actegories">The golden theorem of actegories</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a symmetric monoidal category. Every <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link> that is also a symmetric monoidal category in a compatible way is necessarily <fr:link href="/forest/0006/" title="From strong monoidal functors to actegories" uri="https://julesh.com/forest/0006/" display-uri="0006" type="local">defined by a strong symmetric monoidal functor</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  E \to  \mathcal  C]]></fr:tex>, up to natural isomorphism.</html:p>
                    <html:p>Specifically, if <fr:tex display="inline"><![CDATA[\bullet  : \mathcal  C \times  \mathcal  E \to  \mathcal  C]]></fr:tex> is a symmetric monoidal actegory then <fr:tex display="inline"><![CDATA[X \bullet  M \cong  X \otimes  F (M)]]></fr:tex> where <fr:tex display="inline"><![CDATA[F : \mathcal  E \to  \mathcal  C]]></fr:tex> is defined by <fr:tex display="inline"><![CDATA[F (M) = I \bullet  M]]></fr:tex>.</html:p>
                    <html:p>This means that in the vast majority of cases, actegories are redundant and strong symmetric monoidal functors suffice.</html:p>
                    <html:p>Reference: <fr:link href="https://arxiv.org/abs/2203.16351" type="external">Actegories for the working amthematician</fr:link>, section 5</html:p>
                  </fr:mainmatter>
                </fr:tree>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>21</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/0008/</fr:uri>
                <fr:display-uri>0008</fr:display-uri>
                <fr:route>/forest/0008/</fr:route>
                <fr:title text="From actegories to locally graded categories">From actegories to locally graded categories</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category and <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> an <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link>. We construct a <fr:link href="/forest/0005/" title="Locally graded categories" uri="https://julesh.com/forest/0005/" display-uri="0005" type="local">locally graded category</fr:link> called <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, which we regard as a <fr:link href="/forest/0002/" title="Para construction" uri="https://julesh.com/forest/0002/" display-uri="0002" type="local">Para construction</fr:link>, as follows:</html:p>
                <html:ul><html:li>The objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>For objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, the hom-object <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C) (X, Y) : \mathcal  E^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_M (X, Y) = \mathcal  C (X \bullet  M, Y)]]></fr:tex></html:li>

  <html:li>The identity morphism in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_I (X, X)]]></fr:tex> is given by the unitor <fr:tex display="inline"><![CDATA[X \bullet  I \to  X]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1} (X, Y)]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_2} (Y, Z)]]></fr:tex> is <fr:tex display="inline"><![CDATA[fg : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1 \otimes  M_2} (X, Z)]]></fr:tex> given by <fr:tex display="block"><![CDATA[X \bullet  (M_1 \otimes  M_2) \to  (X \bullet  M_1) \bullet  M_2 \to  Y \bullet  M_2 \to  Z]]></fr:tex></html:li></html:ul>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0003/</fr:uri>
            <fr:display-uri>0003</fr:display-uri>
            <fr:route>/forest/0003/</fr:route>
            <fr:title text="Para construction, naively">Para construction, naively</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a monoidal category. For objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, a <html:strong>parametrised morphism</html:strong> <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> consists of:</html:p>
            <html:ul><html:li>An object <fr:tex display="inline"><![CDATA[M]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> called the <html:strong>parameter object</html:strong></html:li>

  <html:li>A morphism <fr:tex display="inline"><![CDATA[f : X \otimes  M \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li></html:ul>
            <html:p>There is a category <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> where:</html:p>
            <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[X \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> are equivalence classes of parametrised morphisms <fr:tex display="inline"><![CDATA[X \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> modulo coherent isomorphisms of the objects <fr:tex display="inline"><![CDATA[M]]></fr:tex>

  <html:li>The identity morphism on <fr:tex display="inline"><![CDATA[X]]></fr:tex> is given by the parameter object <fr:tex display="inline"><![CDATA[I]]></fr:tex> and the canonical isomorphism <fr:tex display="inline"><![CDATA[X \otimes  I \to  X]]></fr:tex></html:li>
  
  <html:li>Composition of <fr:tex display="inline"><![CDATA[X \otimes  M_1 \to  Y]]></fr:tex> and <fr:tex display="inline"><![CDATA[Y \otimes  M_2 \to  Z]]></fr:tex> is given by the parameter object <fr:tex display="inline"><![CDATA[M_1 \otimes  M_2]]></fr:tex> and the morphism <fr:tex display="block"><![CDATA[X \otimes  (M_1 \otimes  M_2) \to  (X \otimes  M_1) \otimes  M_2 \to  Y \otimes  M_2 \to  Z]]></fr:tex></html:li></html:li></html:ul>
            <html:p>However, in practice it is better to define this category as a quotient of a double category, and in greater generality.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0002/</fr:uri>
            <fr:display-uri>0002</fr:display-uri>
            <fr:route>/forest/0002/</fr:route>
            <fr:title text="Para construction">Para construction</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>The term "parameters construction" or "para construction" is used for several related constructions of categories of parametrised morphisms.</html:p>
            <html:p>For a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, a para construction over it will be referred to as <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex>, possibly with subscripts for other data used in the construction.</html:p>
            <html:p>Sometimes we think of these as 1-categories, they are better thought of as double categories.</html:p>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>21</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/0003/</fr:uri>
                <fr:display-uri>0003</fr:display-uri>
                <fr:route>/forest/0003/</fr:route>
                <fr:title text="Para construction, naively">Para construction, naively</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a monoidal category. For objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, a <html:strong>parametrised morphism</html:strong> <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> consists of:</html:p>
                <html:ul><html:li>An object <fr:tex display="inline"><![CDATA[M]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> called the <html:strong>parameter object</html:strong></html:li>

  <html:li>A morphism <fr:tex display="inline"><![CDATA[f : X \otimes  M \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li></html:ul>
                <html:p>There is a category <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> where:</html:p>
                <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[X \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> are equivalence classes of parametrised morphisms <fr:tex display="inline"><![CDATA[X \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> modulo coherent isomorphisms of the objects <fr:tex display="inline"><![CDATA[M]]></fr:tex>

  <html:li>The identity morphism on <fr:tex display="inline"><![CDATA[X]]></fr:tex> is given by the parameter object <fr:tex display="inline"><![CDATA[I]]></fr:tex> and the canonical isomorphism <fr:tex display="inline"><![CDATA[X \otimes  I \to  X]]></fr:tex></html:li>
  
  <html:li>Composition of <fr:tex display="inline"><![CDATA[X \otimes  M_1 \to  Y]]></fr:tex> and <fr:tex display="inline"><![CDATA[Y \otimes  M_2 \to  Z]]></fr:tex> is given by the parameter object <fr:tex display="inline"><![CDATA[M_1 \otimes  M_2]]></fr:tex> and the morphism <fr:tex display="block"><![CDATA[X \otimes  (M_1 \otimes  M_2) \to  (X \otimes  M_1) \otimes  M_2 \to  Y \otimes  M_2 \to  Z]]></fr:tex></html:li></html:li></html:ul>
                <html:p>However, in practice it is better to define this category as a quotient of a double category, and in greater generality.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>21</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/0005/</fr:uri>
                <fr:display-uri>0005</fr:display-uri>
                <fr:route>/forest/0005/</fr:route>
                <fr:title text="Locally graded categories">Locally graded categories</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category. A category <html:strong>locally graded</html:strong> in <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> is a category enriched in the monoidal category of presheaves <fr:tex display="inline"><![CDATA[[\mathcal  E^\mathrm {op}, \mathbf {Set}]]]></fr:tex> with Day convolution.</html:p>
                <html:p>Unwinding the definition, a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> locally graded in <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> is given by the following data:</html:p>
                <html:ul><html:li>A class of objects</html:li>

  <html:li>For each pair of objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and each object <fr:tex display="inline"><![CDATA[M]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>, a set of morphisms #\mathcal  C (X, Y) (M), which we also write <fr:tex display="inline"><![CDATA[\mathcal  C_M (X, Y)]]></fr:tex></html:li>

  <html:li>For each object <fr:tex display="inline"><![CDATA[X]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, an identity morphism in <fr:tex display="inline"><![CDATA[\mathcal  C_I (X, X)]]></fr:tex></html:li>

  <html:li>For morphisms <fr:tex display="inline"><![CDATA[f : \mathcal  C_{M_1} (X, Y)]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \mathcal  C_{M_2} (Y, Z)]]></fr:tex>, a composite morphism <fr:tex display="inline"><![CDATA[fg : \mathcal  C_{M_1 \otimes  M_2} (X, Z)]]></fr:tex></html:li>

  <html:li>Coherence isomorphisms</html:li></html:ul>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>21</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/0008/</fr:uri>
                    <fr:display-uri>0008</fr:display-uri>
                    <fr:route>/forest/0008/</fr:route>
                    <fr:title text="From actegories to locally graded categories">From actegories to locally graded categories</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category and <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> an <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link>. We construct a <fr:link href="/forest/0005/" title="Locally graded categories" uri="https://julesh.com/forest/0005/" display-uri="0005" type="local">locally graded category</fr:link> called <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, which we regard as a <fr:link href="/forest/0002/" title="Para construction" uri="https://julesh.com/forest/0002/" display-uri="0002" type="local">Para construction</fr:link>, as follows:</html:p>
                    <html:ul><html:li>The objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>For objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, the hom-object <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C) (X, Y) : \mathcal  E^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_M (X, Y) = \mathcal  C (X \bullet  M, Y)]]></fr:tex></html:li>

  <html:li>The identity morphism in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_I (X, X)]]></fr:tex> is given by the unitor <fr:tex display="inline"><![CDATA[X \bullet  I \to  X]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1} (X, Y)]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_2} (Y, Z)]]></fr:tex> is <fr:tex display="inline"><![CDATA[fg : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1 \otimes  M_2} (X, Z)]]></fr:tex> given by <fr:tex display="block"><![CDATA[X \bullet  (M_1 \otimes  M_2) \to  (X \bullet  M_1) \bullet  M_2 \to  Y \bullet  M_2 \to  Z]]></fr:tex></html:li></html:ul>
                  </fr:mainmatter>
                </fr:tree>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>20</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0001/</fr:uri>
            <fr:display-uri>0001</fr:display-uri>
            <fr:route>/forest/0001/</fr:route>
            <fr:title text="Test tree">Test tree</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>This tree exists to test table of contents generation.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:uri>https://julesh.com/forest/index/</fr:uri>
            <fr:display-uri>index</fr:display-uri>
            <fr:route>/forest/index/</fr:route>
            <fr:title text="Forest">Forest</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <fr:info>Transclusion loop detected, rendering stopped.</fr:info>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:uri>https://julesh.com/forest/all/</fr:uri>
            <fr:display-uri>all</fr:display-uri>
            <fr:route>/forest/all/</fr:route>
            <fr:title text="Index of all trees in reverse order of creation">Index of all trees in reverse order of creation</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <fr:info>Transclusion loop detected, rendering stopped.</fr:info>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:uri>https://julesh.com/forest/macros/</fr:uri>
            <fr:display-uri>macros</fr:display-uri>
            <fr:route>/forest/macros/</fr:route>
            <fr:title text="Macros">Macros</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>This tree exists to export Forester macros.</html:p>
          </fr:mainmatter>
        </fr:tree>
      </fr:mainmatter>
    </fr:tree>
    <fr:tree show-metadata="false" expanded="false" toc="false">
      <fr:frontmatter>
        <fr:authors />
        <fr:date>
          <fr:year>2025</fr:year>
          <fr:month>10</fr:month>
          <fr:day>21</fr:day>
        </fr:date>
        <fr:uri>https://julesh.com/forest/0002/</fr:uri>
        <fr:display-uri>0002</fr:display-uri>
        <fr:route>/forest/0002/</fr:route>
        <fr:title text="Para construction">Para construction</fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <html:p>The term "parameters construction" or "para construction" is used for several related constructions of categories of parametrised morphisms.</html:p>
        <html:p>For a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, a para construction over it will be referred to as <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex>, possibly with subscripts for other data used in the construction.</html:p>
        <html:p>Sometimes we think of these as 1-categories, they are better thought of as double categories.</html:p>
        <fr:tree show-metadata="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0003/</fr:uri>
            <fr:display-uri>0003</fr:display-uri>
            <fr:route>/forest/0003/</fr:route>
            <fr:title text="Para construction, naively">Para construction, naively</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a monoidal category. For objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, a <html:strong>parametrised morphism</html:strong> <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> consists of:</html:p>
            <html:ul><html:li>An object <fr:tex display="inline"><![CDATA[M]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> called the <html:strong>parameter object</html:strong></html:li>

  <html:li>A morphism <fr:tex display="inline"><![CDATA[f : X \otimes  M \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li></html:ul>
            <html:p>There is a category <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> where:</html:p>
            <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[X \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P} (\mathcal  C)]]></fr:tex> are equivalence classes of parametrised morphisms <fr:tex display="inline"><![CDATA[X \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> modulo coherent isomorphisms of the objects <fr:tex display="inline"><![CDATA[M]]></fr:tex>

  <html:li>The identity morphism on <fr:tex display="inline"><![CDATA[X]]></fr:tex> is given by the parameter object <fr:tex display="inline"><![CDATA[I]]></fr:tex> and the canonical isomorphism <fr:tex display="inline"><![CDATA[X \otimes  I \to  X]]></fr:tex></html:li>
  
  <html:li>Composition of <fr:tex display="inline"><![CDATA[X \otimes  M_1 \to  Y]]></fr:tex> and <fr:tex display="inline"><![CDATA[Y \otimes  M_2 \to  Z]]></fr:tex> is given by the parameter object <fr:tex display="inline"><![CDATA[M_1 \otimes  M_2]]></fr:tex> and the morphism <fr:tex display="block"><![CDATA[X \otimes  (M_1 \otimes  M_2) \to  (X \otimes  M_1) \otimes  M_2 \to  Y \otimes  M_2 \to  Z]]></fr:tex></html:li></html:li></html:ul>
            <html:p>However, in practice it is better to define this category as a quotient of a double category, and in greater generality.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>21</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/0005/</fr:uri>
            <fr:display-uri>0005</fr:display-uri>
            <fr:route>/forest/0005/</fr:route>
            <fr:title text="Locally graded categories">Locally graded categories</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category. A category <html:strong>locally graded</html:strong> in <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> is a category enriched in the monoidal category of presheaves <fr:tex display="inline"><![CDATA[[\mathcal  E^\mathrm {op}, \mathbf {Set}]]]></fr:tex> with Day convolution.</html:p>
            <html:p>Unwinding the definition, a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> locally graded in <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> is given by the following data:</html:p>
            <html:ul><html:li>A class of objects</html:li>

  <html:li>For each pair of objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and each object <fr:tex display="inline"><![CDATA[M]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>, a set of morphisms #\mathcal  C (X, Y) (M), which we also write <fr:tex display="inline"><![CDATA[\mathcal  C_M (X, Y)]]></fr:tex></html:li>

  <html:li>For each object <fr:tex display="inline"><![CDATA[X]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, an identity morphism in <fr:tex display="inline"><![CDATA[\mathcal  C_I (X, X)]]></fr:tex></html:li>

  <html:li>For morphisms <fr:tex display="inline"><![CDATA[f : \mathcal  C_{M_1} (X, Y)]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \mathcal  C_{M_2} (Y, Z)]]></fr:tex>, a composite morphism <fr:tex display="inline"><![CDATA[fg : \mathcal  C_{M_1 \otimes  M_2} (X, Z)]]></fr:tex></html:li>

  <html:li>Coherence isomorphisms</html:li></html:ul>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>21</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/0008/</fr:uri>
                <fr:display-uri>0008</fr:display-uri>
                <fr:route>/forest/0008/</fr:route>
                <fr:title text="From actegories to locally graded categories">From actegories to locally graded categories</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex> be a monoidal category and <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> an <fr:tex display="inline"><![CDATA[\mathcal  E]]></fr:tex>-<fr:link href="/forest/0004/" title="Actegories" uri="https://julesh.com/forest/0004/" display-uri="0004" type="local">actegory</fr:link>. We construct a <fr:link href="/forest/0005/" title="Locally graded categories" uri="https://julesh.com/forest/0005/" display-uri="0005" type="local">locally graded category</fr:link> called <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, which we regard as a <fr:link href="/forest/0002/" title="Para construction" uri="https://julesh.com/forest/0002/" display-uri="0002" type="local">Para construction</fr:link>, as follows:</html:p>
                <html:ul><html:li>The objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>For objects <fr:tex display="inline"><![CDATA[X, Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)]]></fr:tex>, the hom-object <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C) (X, Y) : \mathcal  E^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_M (X, Y) = \mathcal  C (X \bullet  M, Y)]]></fr:tex></html:li>

  <html:li>The identity morphism in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_I (X, X)]]></fr:tex> is given by the unitor <fr:tex display="inline"><![CDATA[X \bullet  I \to  X]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1} (X, Y)]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_2} (Y, Z)]]></fr:tex> is <fr:tex display="inline"><![CDATA[fg : \overset {\leftarrow }{\mathcal  P}_\mathcal  E (\mathcal  C)_{M_1 \otimes  M_2} (X, Z)]]></fr:tex> given by <fr:tex display="block"><![CDATA[X \bullet  (M_1 \otimes  M_2) \to  (X \bullet  M_1) \bullet  M_2 \to  Y \bullet  M_2 \to  Z]]></fr:tex></html:li></html:ul>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
      </fr:mainmatter>
    </fr:tree>
    <fr:tree show-metadata="false" expanded="false" toc="false">
      <fr:frontmatter>
        <fr:authors />
        <fr:date>
          <fr:year>2025</fr:year>
          <fr:month>10</fr:month>
          <fr:day>24</fr:day>
        </fr:date>
        <fr:uri>https://julesh.com/forest/0009/</fr:uri>
        <fr:display-uri>0009</fr:display-uri>
        <fr:route>/forest/0009/</fr:route>
        <fr:title text="Colinks">Colinks</fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <html:p>Colinks, usually called lenses, are pairs of morphisms with the backwards morphism also having an input in the forwards direction. Composition of colinks is an abstraction of the chain rule of calculus.</html:p>
        <html:p>There are many definitions of colinks that apply with different assumptions on the base category. In each of these cases, for a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> with the appropriate structure we will obtain a category <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> whose morphisms are colinks in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
        <fr:tree show-metadata="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000B/</fr:uri>
            <fr:display-uri>000B</fr:display-uri>
            <fr:route>/forest/000B/</fr:route>
            <fr:title text="Simple colinks in the category of sets">Simple colinks in the category of sets</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[X, X', Y, Y']]></fr:tex> be sets. A <html:strong>simple colink</html:strong> <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> is given by:</html:p>
            <html:ul><html:li>A function <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> called the <html:strong>forwards pass</html:strong></html:li>

  <html:li>A function <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex> called the <html:strong>backwards pass</html:strong></html:li></html:ul>
            <html:p>Simple colinks are so-called to distinguish them from indexed colinks, which also exist in the category of sets.</html:p>
            <html:p>Given simple colinks <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \binom {Y'}{Y} \to  \binom {Z'}{Z}]]></fr:tex>, there is a <html:strong>compsite colink</html:strong> <fr:tex display="inline"><![CDATA[fg : \binom {X'}{X} \to  \binom {Z'}{Z}]]></fr:tex> whose forwards pass is the composite function <fr:tex display="inline"><![CDATA[(fg) (x) = g (f (x))]]></fr:tex> and whose backwards pass is the function <fr:tex display="inline"><![CDATA[(fg)' : X \times  Z' \to  X']]></fr:tex> defined by the <html:strong>colink composition law</html:strong>

<fr:tex display="block"><![CDATA[(fg)' (x, z') = f' (x, g' (f (x), z'))]]></fr:tex></html:p>
            <html:p>In this case we can directly prove that colink composition is associative as follows:

<fr:tex display="block"><![CDATA[((fg)h)' (x, w') = (fg)' (x, h' ((fg) (x), w'))]]></fr:tex>

<fr:tex display="block"><![CDATA[= f' (x, g' (f (x), h' (g (f (x)), w')))]]></fr:tex>

<fr:tex display="block"><![CDATA[= f' (x, (gh)' (f (x), w')) = (f(gh))' (x, w')]]></fr:tex></html:p>
            <html:p>Since the category of sets is cartesian closed, the category of colinks in the category of sets can be constructed either as a category of <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">cartesian colinks</fr:link> or as a category of colinks in a monoidal closed category.</html:p>
          </fr:mainmatter>
        </fr:tree>
        <fr:tree show-metadata="false">
          <fr:frontmatter>
            <fr:authors />
            <fr:date>
              <fr:year>2025</fr:year>
              <fr:month>10</fr:month>
              <fr:day>24</fr:day>
            </fr:date>
            <fr:uri>https://julesh.com/forest/000A/</fr:uri>
            <fr:display-uri>000A</fr:display-uri>
            <fr:route>/forest/000A/</fr:route>
            <fr:title text="Cartesian colinks">Cartesian colinks</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X, X', Y, Y']]></fr:tex> be objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. A <html:strong>cartesian colink</html:strong> <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> is given by:</html:p>
            <html:ul><html:li>A morphism <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> called the <html:strong>forwards pass</html:strong></html:li>

  <html:li>A morphism <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex> called the <html:strong>backwards pass</html:strong></html:li></html:ul>
            <html:p>Given colinks <fr:tex display="inline"><![CDATA[f : \binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : \binom {Y'}{Y} \to  \binom {Z'}{Z}]]></fr:tex>, there is a <html:strong>composite colink</html:strong> <fr:tex display="inline"><![CDATA[fg : \binom {X'}{X} \to  \binom {Z'}{Z}]]></fr:tex> whose forwards pass is the composite morphism <fr:tex display="inline"><![CDATA[fg : X \to  Z]]></fr:tex> and whose backwards pass <fr:tex display="inline"><![CDATA[(fg)']]></fr:tex> is the composite

<fr:tex display="block"><![CDATA[X \times  Z' \overset {\Delta _X \times  Z'}\longrightarrow  X \times  X \times  Z' \overset {X \times  f \times  Z'}\longrightarrow  X \times  Y \times  Z' \overset {X \times  g'}\longrightarrow  X \times  Y' \overset {f'}\longrightarrow  X']]></fr:tex></html:p>
            <html:p>It is not obvious from this definition that colink composition is associative. A direct proof is possible but tedious, so we prefer to prove it using machinery of fibred categories.</html:p>
            <html:p>For a category <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> with finite products, there is a category <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> where:</html:p>
            <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> are pairs of objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, written <fr:tex display="inline"><![CDATA[\binom {X'}{X}]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> are colinks <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {Y'}{Y}]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>
  
  <html:li>The identity morphism <fr:tex display="inline"><![CDATA[\binom {X'}{X} \to  \binom {X'}{X}]]></fr:tex> has as forwards pass the identity morphism <fr:tex display="inline"><![CDATA[X \to  X]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and as backwards pass the projection <fr:tex display="inline"><![CDATA[X \times  X' \to  X']]></fr:tex></html:li>

  <html:li>Composite morphisms are given by colink composition</html:li></html:ul>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>24</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000F/</fr:uri>
                <fr:display-uri>000F</fr:display-uri>
                <fr:route>/forest/000F/</fr:route>
                <fr:title text="The simple slice category">The simple slice category</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. We write <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> for the Kleisli category of the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonad</fr:link> <fr:tex display="inline"><![CDATA[\mathbb  P_X : \mathcal  C \to  \mathcal  C]]></fr:tex>.</html:p>
                <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is given as follows:</html:p>
                <html:ul><html:li>Objects of <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> are objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>Morphisms <fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> are morphisms <fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>The identity morphism <fr:tex display="inline"><![CDATA[Y \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is the projection <fr:tex display="inline"><![CDATA[X \times  Y \to  Y]]></fr:tex> in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex></html:li>

  <html:li>The composition of <fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> and <fr:tex display="inline"><![CDATA[g : X \times  Z \to  W]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset \Delta \longrightarrow  X \times  X \times  Y \overset {X \times  f}\longrightarrow  X \times  Z \overset {g}\longrightarrow  W]]></fr:tex></html:li></html:ul>
                <html:p>Reference: <fr:link href="https://pages.jh.edu/rrynasi1/FoundationsOFMath/Literature/Logic/Jacobs1999CategoricalLogic+TypeTheory.pdf" type="external">Categorical logic and type theory</fr:link></html:p>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>24</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000H/</fr:uri>
                    <fr:display-uri>000H</fr:display-uri>
                    <fr:route>/forest/000H/</fr:route>
                    <fr:title text="Products in the simple slice category">Products in the simple slice category</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[X]]></fr:tex> be an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Then the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products, given by the underlying products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                    <html:p>To prove this, we construct the Kleisli adjunction between <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex>.</html:p>
                    <html:p>The left adjoint <fr:tex display="inline"><![CDATA[L : \mathcal  C [X] \to  \mathcal  C]]></fr:tex> is given by:</html:p>
                    <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[L (Y) = X \times  Y]]></fr:tex></html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : X \times  Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[L (f) : X \times  Y \to  X \times  Z]]></fr:tex> given by the pairing of the projection and <fr:tex display="inline"><![CDATA[f]]></fr:tex></html:li></html:ul>
                    <html:p>The right adjoint <fr:tex display="inline"><![CDATA[R : \mathcal  C \to  \mathcal  C [X]]]></fr:tex> is given by:</html:p>
                    <html:ul><html:li><fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects</html:li>

  <html:li><fr:tex display="inline"><![CDATA[f : Y \to  Z]]></fr:tex> is taken to <fr:tex display="inline"><![CDATA[R (f) : X \times  Y \to  Z]]></fr:tex> given by precomposition with the projection</html:li></html:ul>
                    <html:p>The hom-set isomorphism is proven as follows:

<fr:tex display="block"><![CDATA[\mathcal  C (L (Y), Z) = \mathcal  C (X \times  Y, Z) = \mathcal  C [X] (Y, Z) = \mathcal  C [X] (Y, R (Z))]]></fr:tex></html:p>
                    <html:p>Since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is a right adjoint it preserves limits. Since <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has the same objects as <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and since <fr:tex display="inline"><![CDATA[R]]></fr:tex> is identity on objects, this establishes that <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> has finite products given by finite products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                    <fr:tree show-metadata="false">
                      <fr:frontmatter>
                        <fr:authors />
                        <fr:date>
                          <fr:year>2025</fr:year>
                          <fr:month>10</fr:month>
                          <fr:day>24</fr:day>
                        </fr:date>
                        <fr:uri>https://julesh.com/forest/000I/</fr:uri>
                        <fr:display-uri>000I</fr:display-uri>
                        <fr:route>/forest/000I/</fr:route>
                        <fr:title text="Simple slices as polynomial categories">Simple slices as polynomial categories</fr:title>
                      </fr:frontmatter>
                      <fr:mainmatter>
                        <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and <fr:tex display="inline"><![CDATA[X]]></fr:tex> an object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>. Recall that the <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slice category</fr:link> <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">has finite products</fr:link>.</html:p>
                        <html:p>We can universally characterise <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> as the smallest category with finite products that contains <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> and another morphism <fr:tex display="inline"><![CDATA[x : 1 \to  X]]></fr:tex>.</html:p>
                        <html:p>Based on the analogous construction of polynomial rings, the simple slice <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> is sometimes called a <html:strong>polynomial category</html:strong>. This is the origin of its notation.</html:p>
                        <html:p>Reference: Lambek &amp; Scott, Introduction to higher-order categorical logic</html:p>
                      </fr:mainmatter>
                    </fr:tree>
                  </fr:mainmatter>
                </fr:tree>
                <fr:tree show-metadata="false">
                  <fr:frontmatter>
                    <fr:authors />
                    <fr:date>
                      <fr:year>2025</fr:year>
                      <fr:month>10</fr:month>
                      <fr:day>24</fr:day>
                    </fr:date>
                    <fr:uri>https://julesh.com/forest/000G/</fr:uri>
                    <fr:display-uri>000G</fr:display-uri>
                    <fr:route>/forest/000G/</fr:route>
                    <fr:title text="Indexed category structure of simple slices">Indexed category structure of simple slices</fr:title>
                  </fr:frontmatter>
                  <fr:mainmatter>
                    <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products. A morphism <fr:tex display="inline"><![CDATA[f : X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> induces a functor <fr:tex display="inline"><![CDATA[f^* : \mathcal  C [X'] \to  \mathcal  C [X]]]></fr:tex> where:</html:p>
                    <html:ul><html:li><fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects</html:li>

  <html:li>For a morphism <fr:tex display="inline"><![CDATA[g : X' \times  Y \to  Z]]></fr:tex>, <fr:tex display="inline"><![CDATA[f^* (g) : X \times  Y \to  Z]]></fr:tex> is given by
  
  <fr:tex display="block"><![CDATA[X \times  Y \overset {f \times  Y}\longrightarrow  X' \times  Y \overset {g}\longrightarrow  Z]]></fr:tex></html:li></html:ul>
                    <html:p>This yields an indexed category <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex>.</html:p>
                    <html:p>This structure can also be seen as arising from the comonad morphisms <fr:tex display="inline"><![CDATA[f_* : \mathbb  P_X \to  \mathbb  P_Y]]></fr:tex> between the <fr:link href="/forest/000E/" title="The parameters comonad" uri="https://julesh.com/forest/000E/" display-uri="000E" type="local">parameters comonads</fr:link>, since morphisms of comonads lift contravariantly to functors between Kleisli categories.</html:p>
                    <html:p>Since <fr:tex display="inline"><![CDATA[f^*]]></fr:tex> is identity on objects, it also preserves <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">products in simple slice categories</fr:link>. Thus <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> has indexed finite products.</html:p>
                  </fr:mainmatter>
                </fr:tree>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000J/</fr:uri>
                <fr:display-uri>000J</fr:display-uri>
                <fr:route>/forest/000J/</fr:route>
                <fr:title text="Construction of cartesian colinks from simple slices">Construction of cartesian colinks from simple slices</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\mathcal  C [-] : \mathcal  C^\mathrm {op} \to  \mathbf {Cat}]]></fr:tex> be the <fr:link href="/forest/000G/" title="Indexed category structure of simple slices" uri="https://julesh.com/forest/000G/" display-uri="000G" type="local">indexed category</fr:link> of <fr:link href="/forest/000F/" title="The simple slice category" uri="https://julesh.com/forest/000F/" display-uri="000F" type="local">simple slices</fr:link>.</html:p>
                <html:p>We define the <html:strong>category of cartesian colinks</html:strong> <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> as the total category of the opposite indexed category:

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex></html:p>
                <html:p>Notice that since the simple slice categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> all have the same class of objects, namely the objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, an object of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> is a pair <fr:tex display="inline"><![CDATA[\binom {X'}{X}]]></fr:tex> of objects of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000L/</fr:uri>
                <fr:display-uri>000L</fr:display-uri>
                <fr:route>/forest/000L/</fr:route>
                <fr:title text="The forwards fibration for cartesian colinks">The forwards fibration for cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                <html:p>Since <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> <fr:link href="/forest/000J/" title="Construction of cartesian colinks from simple slices" uri="https://julesh.com/forest/000J/" display-uri="000J" type="local">is constructed</fr:link> as the total category of an indexed category

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex>

it is equipped with a fibration <fr:tex display="inline"><![CDATA[\mathbb  F : \overset {\leftarrow }{\mathcal  L} (\mathcal  C) \to  \mathcal  C]]></fr:tex> called the <html:strong>forwards fibration</html:strong>.</html:p>
                <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathbb  F]]></fr:tex> is given as follows:</html:p>
                <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[\mathbb  F \binom {X'}{X} = X]]></fr:tex></html:li>

  <html:li>On morphisms, <fr:tex display="inline"><![CDATA[\mathbb  F]]></fr:tex> takes each cartesian colink to its forwards pass</html:li>

  <html:li>Given an object <fr:tex display="inline"><![CDATA[\binom {Y'}{Y}]]></fr:tex> of <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> and a morphism <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, the cartesian lifting <fr:tex display="inline"><![CDATA[f^* \binom {Y'}{Y} : \binom {Y'}{X} \to  \binom {Y}{Y'}]]></fr:tex> is the colink with forwards pass <fr:tex display="inline"><![CDATA[f]]></fr:tex> and backwards pass the projection <fr:tex display="inline"><![CDATA[X \times  Y' \to  Y']]></fr:tex></html:li></html:ul>
                <html:p>The forwards fibration is closely related to the <fr:link href="/forest/000O/" title="The history functor for cartesian colinks" uri="https://julesh.com/forest/000O/" display-uri="000O" type="local">history functor</fr:link>. They coincide for <fr:link href="/forest/000B/" title="Simple colinks in the category of sets" uri="https://julesh.com/forest/000B/" display-uri="000B" type="local">simple colinks in the category of sets</fr:link>.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000K/</fr:uri>
                <fr:display-uri>000K</fr:display-uri>
                <fr:route>/forest/000K/</fr:route>
                <fr:title text="Tensor product of cartesian colinks">Tensor product of cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Recall the construction of the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link> from the <fr:link href="/forest/000G/" title="Indexed category structure of simple slices" uri="https://julesh.com/forest/000G/" display-uri="000G" type="local">indexed category of simple slices</fr:link>,

<fr:tex display="block"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C) = \int _{X : \mathcal  C} \mathcal  C [X]^\mathrm {op}]]></fr:tex></html:p>
                <html:p>Recall that the simple slice categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]]]></fr:tex> <fr:link href="/forest/000H/" title="Products in the simple slice category" uri="https://julesh.com/forest/000H/" display-uri="000H" type="local">have finite products</fr:link> given by products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and that reindexing preserves them. Therefore the opposite categories <fr:tex display="inline"><![CDATA[\mathcal  C [X]^\mathrm {op}]]></fr:tex> have finite coproducts given by products in <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>, and reindexing preserves them.</html:p>
                <html:p>This structure defines a symmetric monoidal product in <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex>, called the <html:strong>tensor product</html:strong>. In general the tensor product is neither cartesian nor cocartesian.</html:p>
                <html:p>Reference: <fr:link href="https://arxiv.org/abs/0706.1286" type="external">Shulman, Framed bicategories and monoidal fibrations</fr:link></html:p>
                <html:p>Concretely, on objects the tensor product is given by pairwise monoidal product:

<fr:tex display="block"><![CDATA[\binom {X'}{X} \otimes  \binom {Y'}{Y} = \binom {X' \times  Y'}{X \times  Y}]]></fr:tex></html:p>
                <html:p>The monoidal unit is denoted <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>, where <fr:tex display="inline"><![CDATA[1]]></fr:tex> is the terminal object of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex>.</html:p>
                <html:p>The tensor product of cartesian colinks is fibrewise dual to the cartesian product of cartesian links.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000O/</fr:uri>
                <fr:display-uri>000O</fr:display-uri>
                <fr:route>/forest/000O/</fr:route>
                <fr:title text="The history functor for cartesian colinks">The history functor for cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                <html:p>We define the <html:strong>history functor</html:strong> <fr:tex display="inline"><![CDATA[\mathbb  H : \overset {\leftarrow }{\mathcal  L} (\mathcal  C) \to  \mathbf {Set}]]></fr:tex> to be the covariant functor represented by the <fr:link href="/forest/000K/" title="Tensor product of cartesian colinks" uri="https://julesh.com/forest/000K/" display-uri="000K" type="local">tensor unit</fr:link> <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>.</html:p>
                <html:p>Concretely, on objects <fr:tex display="inline"><![CDATA[\mathbb  H]]></fr:tex> is given by <fr:tex display="inline"><![CDATA[\mathbb  H \binom {X'}{X} = \mathcal  C (1, X)]]></fr:tex>.</html:p>
                <html:p><fr:tex display="inline"><![CDATA[\mathbb  H]]></fr:tex> factors through the <fr:link href="/forest/000L/" title="The forwards fibration for cartesian colinks" uri="https://julesh.com/forest/000L/" display-uri="000L" type="local">forwards fibration</fr:link> via the functor <fr:tex display="inline"><![CDATA[\mathcal  C (1, -) : \mathcal  C \to  \mathbf {Set}]]></fr:tex>. For <fr:link href="/forest/000B/" title="Simple colinks in the category of sets" uri="https://julesh.com/forest/000B/" display-uri="000B" type="local">simple colinks in the category of sets</fr:link>, the history functor and the forwards fibration coincide.</html:p>
                <html:p>The dual of the history functor is the <fr:link href="/forest/000N/" title="The continuation functor for cartesian colinks" uri="https://julesh.com/forest/000N/" display-uri="000N" type="local">continuation functor</fr:link>.</html:p>
              </fr:mainmatter>
            </fr:tree>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors />
                <fr:date>
                  <fr:year>2025</fr:year>
                  <fr:month>10</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://julesh.com/forest/000N/</fr:uri>
                <fr:display-uri>000N</fr:display-uri>
                <fr:route>/forest/000N/</fr:route>
                <fr:title text="The continuation functor for cartesian colinks">The continuation functor for cartesian colinks</fr:title>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>Let <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> be a category with finite products, and let <fr:tex display="inline"><![CDATA[\overset {\leftarrow }{\mathcal  L} (\mathcal  C)]]></fr:tex> be the <fr:link href="/forest/000A/" title="Cartesian colinks" uri="https://julesh.com/forest/000A/" display-uri="000A" type="local">category of cartesian colinks</fr:link>.</html:p>
                <html:p>We define the <html:strong>continuation functor</html:strong> <fr:tex display="inline"><![CDATA[\mathbb  K : \overset {\leftarrow }{\mathcal  L} (\mathcal  C)^\mathrm {op} \to  \mathbf {Set}]]></fr:tex> as the contravariant functor represesented by the <fr:link href="/forest/000K/" title="Tensor product of cartesian colinks" uri="https://julesh.com/forest/000K/" display-uri="000K" type="local">tensor unit</fr:link> <fr:tex display="inline"><![CDATA[I = \binom {1}{1}]]></fr:tex>.</html:p>
                <html:p>Concretely, <fr:tex display="inline"><![CDATA[\mathbb  K]]></fr:tex> is given as follows:</html:p>
                <html:ul><html:li>On objects, <fr:tex display="inline"><![CDATA[\mathbb  K \binom {X'}{X} = \mathcal  C (X, X')]]></fr:tex></html:li>

  <html:li>Given a cartesian colink <fr:tex display="inline"><![CDATA[f]]></fr:tex> with forwards pass <fr:tex display="inline"><![CDATA[f : X \to  Y]]></fr:tex> and backwards pass <fr:tex display="inline"><![CDATA[f' : X \times  Y' \to  X']]></fr:tex>, the function <fr:tex display="inline"><![CDATA[\mathbb  K (f) : \mathcal  C (Y, Y') \to  \mathcal  C (X, X')]]></fr:tex> takes a morphism <fr:tex display="inline"><![CDATA[k : Y \to  Y']]></fr:tex> to the composite
  
  <fr:tex display="block"><![CDATA[X \overset \Delta \longrightarrow  X \times  X \overset {X \times  f}\longrightarrow  X \times  Y \overset {X \times  k}\longrightarrow  X \times  Y' \overset {f'}\longrightarrow  X']]></fr:tex></html:li></html:ul>
                <html:p>We use the term <html:strong>continuation</html:strong> to refer to a morphism <fr:tex display="inline"><![CDATA[X \to  X']]></fr:tex> of <fr:tex display="inline"><![CDATA[\mathcal  C]]></fr:tex> when regarded as an element of <fr:tex display="inline"><![CDATA[\mathbb  K \binom {X'}{X}]]></fr:tex>.</html:p>
                <html:p>The dual of the continuation functor is the <fr:link href="/forest/000O/" title="The history functor for cartesian colinks" uri="https://julesh.com/forest/000O/" display-uri="000O" type="local">history functor</fr:link>.</html:p>
              </fr:mainmatter>
            </fr:tree>
          </fr:mainmatter>
        </fr:tree>
      </fr:mainmatter>
    </fr:tree>
  </fr:mainmatter>
  <fr:backmatter>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="References">References</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Context">Context</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Backlinks">Backlinks</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Related">Related</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Contributions">Contributions</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
  </fr:backmatter>
</fr:tree>
