<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Steven Schaefer</title>
  <id>https://stevenschaefer.net/</id>
  <link rel="alternate" type="text/html" href="https://stevenschaefer.net/"/>
  <link rel="self" type="application/atom+xml" href="https://stevenschaefer.net/feed.xml"/>
  <updated>2026-10-02T00:00:00Z</updated>
  <author><name>Steven Schaefer</name></author>
  <generator uri="https://git.sr.ht/~stschaef/helianthus">helianthus</generator>
  <entry>
    <title>Monoids for Day Convolution</title>
    <id>https://stevenschaefer.net/sss-0003.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/sss-0003.html"/>
    <published>2026-10-02T00:00:00Z</published>
    <updated>2026-10-02T00:00:00Z</updated>
    <content type="html">&lt;p&gt;If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a monoidal, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched category, then monoid objects for the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day Convolution&lt;/a&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are given by lax monoidal functors from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Getting Organized Again: My First Weeknote</title>
    <id>https://stevenschaefer.net/sss-0001.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/sss-0001.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <content type="html">&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;1&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h2 class=&quot;helia-heading&quot;&gt;Notetaking in Helianthus&lt;/h2&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;The running theme this week is that I ought to get organized again. Over the last few weeks, I have experimented a bit writing in Typst rather than LaTeX, and it has been a delight. A document builds in an instant! This gives a much faster feedback loop than TeX, and this makes writing much more enjoyable.&lt;/p&gt;
&lt;p&gt;I have been using &lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://git.sr.ht/~jonsterling/ocaml-forester&quot;&gt;Forester&lt;/a&gt;, which builds atop LaTeX, for a couple of years now. In that time, I have dabbled with some extensions to Forester that met my needs, but none&lt;/p&gt;
&lt;ol&gt;
&lt;li value=&quot;1&quot;&gt;Are maintainable enough to merge upstream, or&lt;/li&gt;
&lt;li value=&quot;2&quot;&gt;that are large enough for me to feel equipped for a Typst rewrite&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;of the tool&lt;/p&gt;
&lt;p&gt;So this last week, I am experimenting with the reality that I might not even need to write the tool myself.&lt;/p&gt;
&lt;p&gt;This resulted in the creation of &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/helianthus.html&quot; data-entry=&quot;helianthus&quot;&gt;Helianthus&lt;/a&gt;, which I am now using to keep my notes and build my personal website.&lt;/p&gt;
&lt;p&gt;I am currently in the process of porting over my old notes, my recent Typst notes, and writing up more on the dependent parser combinators in Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;1&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h2 class=&quot;helia-heading&quot;&gt;Sharing Notes&lt;/h2&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;I was reading Jon Sterling’s &lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://www.jonmsterling.com/01JR/&quot;&gt;Research Group Manual&lt;/a&gt;. One thing he suggest is that everyone in his students write &lt;em&gt;weeknotes&lt;/em&gt;, published in an RSS feed, which he reads before any meetings. He further suggests the everyone should subscribe to each other’s RSS feeds. Should anyone be interested in participating in this process, &lt;a class=&quot;helia-link&quot; href=&quot;https://stevenschaefer.net/feed.xml&quot;&gt;here is my feed&lt;/a&gt;. I would also love to read any other RSS-published notes that anyone else may take, with the selfish goal of being able to intergrate them throughout the rest of my notetaking system.&lt;/p&gt;
&lt;p&gt;This kind of collaborative knowledge sharing is what I’d hoped to get off of the ground with the &lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://um-catlab.github.io/index/index.xml&quot;&gt;lab’s Forest&lt;/a&gt;, but I think there may have been too much friction for that to get off of the ground. Even using Forester myself, I often wouldn’t want to go through the extra effort of polishing my notes for the lab’s Forest, nor did I have much faith that other’s would be reading it. Rather than an external system that needs much buy-in from the rest of the group, I think that a passive system like this has a higher likelihood of benefitting us.&lt;/p&gt;
&lt;p&gt;I am not aiming to ask anyone to change whatever method might work best for them, this is soley an open request for anyone who may be interested. I also am not asking anyone to necessarily ever read them.&lt;/p&gt;
&lt;p&gt;Max seems to prefer Zulip, I could also wire up a hacky Zulip bot (for which people should probably turn notifications off) for relaying notes periodically.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;1&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h2 class=&quot;helia-heading&quot;&gt;Learning about monoids and modules&lt;/h2&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;I spent some time this week learning about monoid object and their modules. After seeing Max and Eric talk about modules for monads, I wanted to figure out if similar ideas had any connection to my parser combinators.&lt;/p&gt;
&lt;p&gt;The first question I wanted to figure out was: what are the monoid objects for the Day monoidal structure? And secondly: what are the modules of these monoid objects?&lt;/p&gt;
&lt;p&gt;(For my own sake, I still need to write these observations up in their own notes)&lt;/p&gt;
&lt;p&gt;I was surprised to learn that the monoid objects in Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; are just monoids with a monoid homomorphism into the alphabet, which is underwhelming.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;</content>
  </entry>
  <entry>
    <title>The Schanuel Topos</title>
    <id>https://stevenschaefer.net/schanuel-topos.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/schanuel-topos.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="category-theory"/>
    <category term="nominal-set"/>
    <content type="html">&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be the category of finite sets and injections. The &lt;em&gt;Schanuel topos&lt;/em&gt; is the category of pullback-preserving functors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Equivalently, it is the category of &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/nominal-set.html&quot; data-entry=&quot;nominal-set&quot;&gt;nominal sets&lt;/a&gt;, which are sets equipped with an action by the group of permutations on a countable set of names &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, such that every element has finite support.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Nominal Sets as Day Quotients</title>
    <id>https://stevenschaefer.net/nominal-sets-quotient.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/nominal-sets-quotient.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="category-theory"/>
    <category term="nominal-set"/>
    <content type="html">&lt;p&gt;In the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/schanuel-topos.html&quot; data-entry=&quot;schanuel-topos&quot;&gt;Schanuel topos&lt;/a&gt;, the underlying category for Day convolution is &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the category of finite sets and injections.&lt;/p&gt;
&lt;p&gt;Given a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/nominal-set.html&quot; data-entry=&quot;nominal-set&quot;&gt;nominal set&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, its presheaf action describes elements supported by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Instead of taking &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; a priori as a presheaf, we can view it as a finitely- supported &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖯𝖾𝗋𝗆&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;-set. We can restrict our attention to the groupoid core &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝖼𝗈𝗋𝖾&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, asking for the support to be &lt;em&gt;exactly&lt;/em&gt; the input:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This family &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is functorial on finite sets and bijections.&lt;/p&gt;
&lt;p&gt;By extending this functor along the inclusions described in &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-quotient-coincidence.html&quot; data-entry=&quot;day-quotient-coincidence&quot;&gt;Quotient Coincidence&lt;/a&gt;, we can extend &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; to both a presheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and a copresheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. This suggests the equivalence:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;I suspect this allows us to describe name abstraction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;clouston_generalised_2013&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/clouston_generalised_2013.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt; —which ordinarily looks like an operation on two presheaves of the same variance—as the quotient of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; by the induced copresheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Concretely, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is usually given by the quotient of the product by an equivalence relation:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mfrac&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∼&lt;/mo&gt;&lt;/mfrac&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;∼&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for permutations &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; fixing &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;On the other hand, the Day quotient computes to a coend:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msup&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;⊎&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;A priori, a coend over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of the product &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;⊎&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is expressed as the quotient of a set of triples by an equivalence relation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≈&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;⊎&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;/&lt;/mi&gt;&lt;mo form=&quot;infix&quot; rspace=&quot;0em&quot;&gt;≈&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;However, because the comprehension formula fixes &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, we reduce to a quotient of pairs:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊎&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;/&lt;/mi&gt;&lt;mo form=&quot;infix&quot; rspace=&quot;0em&quot;&gt;≈&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;I suspect that this quotient will equate to the one given by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, thus resolving the apparent issues with variance. I further suspect that one will need the sheaf condition (pullback-preservation) of nominal sets to establish this equivalence.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Nominal Sets</title>
    <id>https://stevenschaefer.net/nominal-set.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/nominal-set.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="category-theory"/>
    <category term="nominal-set"/>
    <content type="html">&lt;p&gt;Fix a countably infinite set of names &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;em&gt;nominal set&lt;/em&gt; &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;pitts_nominal_sets&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/pitts_nominal_sets.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt; is a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; equipped with an action by the group of finite permutations &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖯𝖾𝗋𝗆&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, such that every element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has a finite &lt;em&gt;support&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;A finite set of names &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; supports &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; if any permutation fixing &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; pointwise also fixes &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The category of nominal sets is equivalent to the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/schanuel-topos.html&quot; data-entry=&quot;schanuel-topos&quot;&gt;Schanuel topos&lt;/a&gt;. Under this equivalence, a nominal set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; corresponds to a functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the category of finite sets and injections, given by mapping a finite set of names &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to the set of elements supported by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mtext&gt;supports&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Navigating This Site</title>
    <id>https://stevenschaefer.net/navigating-this-site.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/navigating-this-site.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <content type="html">&lt;p&gt;This site is a gross amalgamation of a research notebook, reference manager, and personal website, among other things. It holds &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/all-notes.html&quot; data-entry=&quot;all-notes&quot;&gt;112 notes&lt;/a&gt;, &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/all-references.html&quot; data-entry=&quot;all-references&quot;&gt;815 references&lt;/a&gt;, &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/all-people.html&quot; data-entry=&quot;all-people&quot;&gt;2,179 people&lt;/a&gt;, &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/talks.html&quot; data-entry=&quot;talks&quot;&gt;4 talks&lt;/a&gt; and &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/all-recipes.html&quot; data-entry=&quot;all-recipes&quot;&gt;3 recipes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Click a heading to fold or unfold its section. Press &lt;code class=&quot;helia-raw-inline&quot;&gt;Ctrl-K&lt;/code&gt;/&lt;code class=&quot;helia-raw-inline&quot;&gt;⌘K&lt;/code&gt; to search. To follow new entries, subscribe to the &lt;a class=&quot;helia-link&quot; href=&quot;https://stevenschaefer.net/feed.xml&quot;&gt;Atom feed&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Mechanized Category Theory</title>
    <id>https://stevenschaefer.net/mechanized-category-theory.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/mechanized-category-theory.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <content type="html">&lt;p&gt;Our research lab has a library of mechanized category theory in Agda that I help maintain, &lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://github.com/um-catlab/cubical-categorical-logic&quot;&gt;&lt;code class=&quot;helia-raw-inline&quot;&gt;cubical-categorical-logic&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;helia-query helia-collapsible&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-group-summary&quot;&gt;&lt;span class=&quot;helia-group-title&quot;&gt;Cubical categorical logic&lt;/span&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-group-body&quot;&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;onpls-2026-talk&quot; data-date=&quot;20260601&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;onpls-2026-talk&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;onpls-2026-talk&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;Lessons from Mechanizing Categorical Logic in Cubical Agda&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/onpls-2026-talk.html&quot;&gt;onpls-2026-talk&lt;/a&gt;&lt;span class=&quot;helia-byline&quot;&gt;&lt;span class=&quot;helia-speaker&quot;&gt;&lt;strong&gt;&lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;stevenschaefer&quot;&gt;Steven Schaefer&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;, &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;johnsonhe&quot;&gt;Johnson He&lt;/span&gt;, &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;maxsnew&quot;&gt;Max S. New&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;onpls&quot;&gt;ONPLS&lt;/span&gt; · June 1, 2026&lt;/span&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;onpls-2026-talk&quot; data-kind=&quot;talk&quot;&gt;
&lt;div class=&quot;helia-abstract&quot;&gt;We present &lt;code class=&quot;helia-raw-inline&quot;&gt;cubical-categorical-logic&lt;/code&gt;, a library of formalized category theory in Cubical Agda. The library’s core idea is to treat syntax as a free categorical structure whose dependent eliminator is stated via (displayed) universal properties. From the same reusable components we have proven canonicity and conservativity results across several type theories, as well as the coherence theorem for monoidal categories. In this talk, we discuss these applications and reflect on Cubical Agda as a host for mechanized metatheory, where it is sometimes a boon and sometimes a bane.&lt;/div&gt;
&lt;div class=&quot;helia-entry-links&quot;&gt;&lt;span class=&quot;helia-entry-link&quot; data-field=&quot;slides&quot;&gt;&lt;a class=&quot;helia-link&quot; href=&quot;https://stevenschaefer.net/sss-00D2/&quot;&gt;Slides&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/div&gt;
&lt;p&gt;Further, there are plenty of notes and thoughts related to category theory more broadly. Although, these thoughts are often formalized, the formalization is currently not much represented in these notes. Instead, they just talk about math.&lt;/p&gt;
&lt;div class=&quot;helia-query helia-collapsible&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-group-summary&quot;&gt;&lt;span class=&quot;helia-group-title&quot;&gt;Category theory&lt;/span&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-group-body&quot;&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;day-convolution&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;day-convolution&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;day-convolution&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Day Convolution&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot;&gt;day-convolution&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;day-convolution&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a symmetric monoidal closed category that is complete and cocomplete. Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; be a small monoidal &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/category.html&quot; data-entry=&quot;category&quot;&gt;category&lt;/a&gt;. The &lt;em&gt;Day convolution&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the enriched presheaf&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;with unit the representable &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Day convolution makes the enriched presheaf category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; a monoidal category, symmetric when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;day1970construction&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/day1970construction.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt;. It is moreover &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-closed-structure.html&quot; data-entry=&quot;day-closed-structure&quot;&gt;closed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Under the enriched Yoneda embedding the convolution of representables is representable, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, so Day convolution is the cocontinuous extension of the tensor of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;3&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h4 class=&quot;helia-heading&quot;&gt;As a Kan Extension&lt;/h4&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;Equivalently, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the left Kan extension of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;↦&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; along &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;3&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h4 class=&quot;helia-heading&quot;&gt;In &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, we recover the ordinary Day convolution of presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, where the formula simplifies to:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;day-quotient&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;day-quotient&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;day-quotient&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The Quotient and its Right Adjoint in Day Convolution&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/day-quotient.html&quot;&gt;day-quotient&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;day-quotient&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a small monoidal category. Recall that for presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt; provides a closed monoidal structure:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;which forms an adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;For covariant functors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; and presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, we can define the &lt;em&gt;quotient&lt;/em&gt; and its right adjoint, each of which is a presheaf on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msup&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mroot&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;These form the adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mroot&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;day-quotient-coincidence&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;day-quotient-coincidence&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;day-quotient-coincidence&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The Quotient and Residual Coincidence in Day Convolution&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/day-quotient-coincidence.html&quot;&gt;day-quotient-coincidence&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;day-quotient-coincidence&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-quotient.html&quot; data-entry=&quot;day-quotient&quot;&gt;Day quotient&lt;/a&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, takes &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be a covariant functor and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be a contravariant one. While the residual &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; takes both to be contravariant.&lt;/p&gt;
&lt;p&gt;This apparent variance mismatch disappears when we restrict to the groupoid core &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝖼𝗈𝗋𝖾&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, where variance is trivialized since &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;For any functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; on the core, we can freely extend it to both a presheaf and a covariant copresheaf on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; by left Kan extension along the respective inclusions &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∈&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∈&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;By substituting these extensions into the definitions of the residual and the quotient, we obtain a general coincidence for any &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This equivalence states that computing the residual against the presheaf extension of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is perfectly isomorphic to taking the quotient by its covariant extension.&lt;/p&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h3 class=&quot;helia-heading&quot;&gt;The Representable Case&lt;/h3&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;Instantiating the above theorem at a representable functor on the core, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;: the co-Yoneda lemma says that the left Kan extensions compute to the representables on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Applying the general coincidence theorem, the left and right adjoints coincide precisely on (opposite-variance) representables:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the discrete monoidal category of strings, this recovers the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-derivative.html&quot; data-entry=&quot;grammar-derivative&quot;&gt;derivative of formal grammars&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/nominal-sets-quotient.html&quot; data-entry=&quot;nominal-sets-quotient&quot;&gt;nominal sets&lt;/a&gt;, I suspect that this construction also describes name abstraction and the freshness quantifier, although I have not check all of the details of the proof.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;nominal-set&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;nominal-set&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;nominal-set&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Nominal Sets&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/nominal-set.html&quot;&gt;nominal-set&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;nominal-set&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix a countably infinite set of names &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;em&gt;nominal set&lt;/em&gt; &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;pitts_nominal_sets&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/pitts_nominal_sets.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt; is a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; equipped with an action by the group of finite permutations &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖯𝖾𝗋𝗆&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, such that every element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has a finite &lt;em&gt;support&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;A finite set of names &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; supports &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; if any permutation fixing &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; pointwise also fixes &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The category of nominal sets is equivalent to the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/schanuel-topos.html&quot; data-entry=&quot;schanuel-topos&quot;&gt;Schanuel topos&lt;/a&gt;. Under this equivalence, a nominal set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; corresponds to a functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the category of finite sets and injections, given by mapping a finite set of names &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to the set of elements supported by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mtext&gt;supports&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;nominal-sets-quotient&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;nominal-sets-quotient&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;nominal-sets-quotient&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Nominal Sets as Day Quotients&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/nominal-sets-quotient.html&quot;&gt;nominal-sets-quotient&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;nominal-sets-quotient&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;In the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/schanuel-topos.html&quot; data-entry=&quot;schanuel-topos&quot;&gt;Schanuel topos&lt;/a&gt;, the underlying category for Day convolution is &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the category of finite sets and injections.&lt;/p&gt;
&lt;p&gt;Given a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/nominal-set.html&quot; data-entry=&quot;nominal-set&quot;&gt;nominal set&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, its presheaf action describes elements supported by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Instead of taking &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; a priori as a presheaf, we can view it as a finitely- supported &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖯𝖾𝗋𝗆&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;-set. We can restrict our attention to the groupoid core &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝖼𝗈𝗋𝖾&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, asking for the support to be &lt;em&gt;exactly&lt;/em&gt; the input:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This family &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is functorial on finite sets and bijections.&lt;/p&gt;
&lt;p&gt;By extending this functor along the inclusions described in &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-quotient-coincidence.html&quot; data-entry=&quot;day-quotient-coincidence&quot;&gt;Quotient Coincidence&lt;/a&gt;, we can extend &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; to both a presheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and a copresheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. This suggests the equivalence:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;I suspect this allows us to describe name abstraction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;clouston_generalised_2013&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/clouston_generalised_2013.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt; —which ordinarily looks like an operation on two presheaves of the same variance—as the quotient of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; by the induced copresheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Concretely, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is usually given by the quotient of the product by an equivalence relation:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mfrac&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∼&lt;/mo&gt;&lt;/mfrac&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;∼&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for permutations &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; fixing &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;On the other hand, the Day quotient computes to a coend:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;•&lt;/mo&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msup&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;⊎&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;A priori, a coend over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of the product &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;⊎&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is expressed as the quotient of a set of triples by an equivalence relation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≈&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;⊎&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;/&lt;/mi&gt;&lt;mo form=&quot;infix&quot; rspace=&quot;0em&quot;&gt;≈&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;However, because the comprehension formula fixes &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, we reduce to a quotient of pairs:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo fence=&quot;false&quot; stretchy=&quot;true&quot; symmetric=&quot;true&quot;&gt;|&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mtext&gt;𝗌𝗎𝗉𝗉&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊎&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;/&lt;/mi&gt;&lt;mo form=&quot;infix&quot; rspace=&quot;0em&quot;&gt;≈&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;I suspect that this quotient will equate to the one given by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, thus resolving the apparent issues with variance. I further suspect that one will need the sheaf condition (pullback-preservation) of nominal sets to establish this equivalence.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;schanuel-topos&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;schanuel-topos&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;schanuel-topos&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The Schanuel Topos&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/schanuel-topos.html&quot;&gt;schanuel-topos&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;schanuel-topos&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be the category of finite sets and injections. The &lt;em&gt;Schanuel topos&lt;/em&gt; is the category of pullback-preserving functors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝕀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Equivalently, it is the category of &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/nominal-set.html&quot; data-entry=&quot;nominal-set&quot;&gt;nominal sets&lt;/a&gt;, which are sets equipped with an action by the group of permutations on a countable set of names &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝔸&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, such that every element has finite support.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;day-closed-structure&quot; data-date=&quot;20260930&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;day-closed-structure&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;day-closed-structure&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Theorem.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Day Convolution is Closed&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/day-closed-structure.html&quot;&gt;day-closed-structure&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;day-closed-structure&quot; data-kind=&quot;theorem&quot; data-label=&quot;Theorem&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a symmetric monoidal closed category that is complete and cocomplete. Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; be a small monoidal &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched category and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched presheaves on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Define&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Then, for &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊣&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;day-closed-structure-proof&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot; id=&quot;day-closed-structure-proof&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Proof.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Proof that Day Convolution is Closed&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/day-closed-structure-proof.html&quot;&gt;day-closed-structure-proof&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;day-closed-structure-proof&quot; data-kind=&quot;proof&quot; data-label=&quot;Proof&quot; data-numbered=&quot;false&quot;&gt;
&lt;p&gt;For &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the enriched hom in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is given by the end:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtable class=&quot;multiline-equation aligned&quot;&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mo lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;/mtable&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;helia-qed&quot;&gt;∎&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;p&gt;Symmetrically, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⟜&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⟜&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, so the enriched presheaf category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is biclosed &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;day1970construction&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/day1970construction.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;bicategory-of-categories&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;bicategory-of-categories&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;bicategory-of-categories&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The Bicategory of Categories&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/bicategory-of-categories.html&quot;&gt;bicategory-of-categories&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;bicategory-of-categories&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;em&gt;bicategory of categories&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; has&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;as 0-cells, categories (at a fixed pair of universe levels, for objects and for morphisms);&lt;/li&gt;
&lt;li&gt;as hom-category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, the functor category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, so 1-cells are functors and 2-cells are natural transformations;&lt;/li&gt;
&lt;li&gt;as identity 1-cell, the identity functor;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;as composition, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on functors. On natural transformations &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛽&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; the horizontal composite is given directly by its components&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛽&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛽&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Every component of the left unitor, the right unitor and the associator is an identity morphism, and their inverses are identities too. So the only content of the triangle and pentagon is that composites of identities are identities.&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is still a bicategory and not a strict 2-category: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Id&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; agree on objects and on morphisms, but in the formalization they are not the same functor definitionally. The structure cells are there to name that agreement.&lt;/p&gt;
&lt;p&gt;A &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/monad-in-a-bicategory.html&quot; data-entry=&quot;monad-in-a-bicategory&quot;&gt;monad in&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is an ordinary monad on a category, and a prestack is a pseudofunctor into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;corecursive-algebra&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;corecursive-algebra&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;corecursive-algebra&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Corecursive algebra&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/corecursive-algebra.html&quot;&gt;corecursive-algebra&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;corecursive-algebra&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. An &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;corecursive&lt;/em&gt; when for every &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; there is exactly one &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism.html&quot; data-entry=&quot;hylomorphism&quot;&gt;hylomorphism&lt;/a&gt; from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Equivalently, the functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism-profunctor.html&quot; data-entry=&quot;hylomorphism-profunctor&quot;&gt;hylomorphism profunctor&lt;/a&gt; is constantly a singleton. It is the dual of a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/recursive-coalgebra.html&quot; data-entry=&quot;recursive-coalgebra&quot;&gt;recursive coalgebra&lt;/a&gt;: an &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is corecursive exactly when it is recursive as an &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;-coalgebra in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example.&lt;/strong&gt; If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/terminal-coalgebra.html&quot; data-entry=&quot;terminal-coalgebra&quot;&gt;terminal coalgebra&lt;/a&gt;, then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is invertible and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a corecursive algebra: a solution of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msup&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is the same thing as a solution of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, that is, a coalgebra map into the terminal coalgebra, and there is exactly one, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗎𝗇𝖿𝗈𝗅𝖽&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;hylomorphism&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;hylomorphism&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;hylomorphism&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Hylomorphism&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/hylomorphism.html&quot;&gt;hylomorphism&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;hylomorphism&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;em&gt;hylomorphism&lt;/em&gt; (or &lt;em&gt;coalgebra-to-algebra morphism&lt;/em&gt;) from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfying&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 114.802913386 99.56503937&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;11.48em&quot; height=&quot;9.957em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; stroke-dashoffset=&quot;0&quot; stroke-dasharray=&quot;3 3&quot; transform=&quot;translate(25.27581082 14.94)&quot; d=&quot;M 0 0l 63.688196329 0&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(87.079046714 14.940000094)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(87.079046714 12.574519818)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(52.359908985)&quot; d=&quot;M 0 0h 9.76v 10.94h -9.76v -10.94Z &quot;/&gt;&lt;g transform=&quot;translate(52.359908859 -1.6e-8)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(13.71 26.505810907)&quot; d=&quot;M 0 0v 48.464228463&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(11.344519723 73.085078525)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(13.71 73.085078525)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 44.367925139)&quot; d=&quot;M 0 0h 9.71v 12.98h -9.71l 0 -12.98Z &quot;/&gt;&lt;g transform=&quot;translate(-1.1e-7 44.367925076)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-gB51309CEEA1D83C815FD51E59C292E6A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(27.99 84.62503937)&quot; d=&quot;M 0 0h 58.367913291&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(84.472952856 84.62503937)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(84.472952856 82.259559093)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(48.528956646 88.62503937)&quot; d=&quot;M 0 0h 17.53v 10.94h -17.53v -10.94Z &quot;/&gt;&lt;g transform=&quot;translate(48.528956567 88.625039354)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.77 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(100.402913386 26.378906237)&quot; d=&quot;M 0 0m 0 48.831133133v -48.831133133&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(100.402913291 26.378905984)&quot; d=&quot;M 0 0c 0.445120715 0.967761843 1.322770335 1.667127231 2.365480277 1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(98.037433015 26.378905984)&quot; d=&quot;M 0 0m 2.365480277 0c -0.445120715 0.967761843 -1.322770335 1.667127231 -2.365480277 1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(104.402913386 45.204472804)&quot; d=&quot;M 0 0h 10.4v 10.94h -10.4v -10.94Z &quot;/&gt;&lt;g transform=&quot;translate(104.40291337 45.204472788)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(9.315 11.525)&quot; d=&quot;M 0 0h 8.79v 6.83h -8.79v -6.83Z &quot;/&gt;&lt;g transform=&quot;translate(9.314999953 11.52499989)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g12A2C4A82138F063CB64D28271EA96B0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(96.482913386 11.525)&quot; d=&quot;M 0 0h 7.84v 6.83h -7.84v -6.83Z &quot;/&gt;&lt;g transform=&quot;translate(96.482913354 11.52499989)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g181F8068B35E55F9903FDEE0FCB26CAB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(5.43 81.21003937)&quot; d=&quot;M 0 0h 16.56v 6.83h -16.56v -6.83Z &quot;/&gt;&lt;g transform=&quot;translate(5.429999858 81.21003926)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.77 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g12A2C4A82138F063CB64D28271EA96B0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(92.597913386 81.21003937)&quot; d=&quot;M 0 0h 15.61v 6.83h -15.61v -6.83Z &quot;/&gt;&lt;g transform=&quot;translate(92.59791326 81.21003926)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.77 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g181F8068B35E55F9903FDEE0FCB26CAB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia635484a7-gD21D184679260132F2E49FCF5BD09996&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.12 1.38c -0.23 -0.79 -0.55 -1.19 -0.97 -1.19c -0.13 0 -0.2 0.09 -0.2 0.28c 0 0.15 0.06 0.38 0.18 0.69c 0.4 1.07 0.6 1.8 0.6 2.19c 0 0.71 -0.46 1.1 -1.17 1.1c -0.53 0 -0.99 -0.22 -1.38 -0.65l 0.73 2.99c -0.02 0.09 -0.04 0.15 -0.17 0.15c -0.33 0 -1.06 -0.09 -1.19 -0.1c -0.15 -0.02 -0.23 -0.09 -0.23 -0.24c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.21 0 0.44 0.01 0.46 -0.13l -1.46 -5.89c -0.03 -0.11 -0.04 -0.18 -0.04 -0.22c 0 -0.21 0.11 -0.32 0.32 -0.32c 0.2 0 0.34 0.1 0.41 0.29l 0.4 1.64c 0.12 0.49 0.21 0.86 0.28 1.11c 0.03 0.07 0.11 0.21 0.24 0.41c 0.36 0.54 0.8 0.81 1.33 0.81c 0.33 0 0.49 -0.22 0.49 -0.65c 0 -0.41 -0.2 -1.14 -0.6 -2.2c -0.09 -0.23 -0.13 -0.41 -0.13 -0.56c 0 -0.48 0.36 -0.85 0.84 -0.85c 0.44 0 0.79 0.25 1.04 0.76c 0.19 0.4 0.29 0.67 0.29 0.8c 0 0.09 -0.05 0.14 -0.16 0.14c -0.03 0 -0.18 -0.09 -0.18 -0.21Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-gB51309CEEA1D83C815FD51E59C292E6A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.24 3.78c 0.13 0.25 0.19 0.38 0.19 0.39c 0 0.09 -0.05 0.14 -0.16 0.14c -0.07 0 -0.12 -0.03 -0.15 -0.09c -0.35 -0.65 -0.76 -1.57 -1.24 -2.76c -0.04 0.66 -0.17 1.28 -0.39 1.85c -0.29 0.74 -0.74 1.11 -1.35 1.11c -0.63 0 -1.18 -0.42 -1.46 -0.81c -0.33 -0.47 -0.5 -0.82 -0.5 -1.04c 0 -0.09 0.08 -0.14 0.25 -0.14l 0.05 0.07c 0.17 0.52 0.46 0.85 0.87 0.99c 0.28 0.09 0.5 0.14 0.66 0.14c 1.04 0 1.56 -0.82 1.56 -2.47c 0 -0.39 -0.04 -0.71 -0.12 -0.96c -0.34 -1.11 -0.51 -1.82 -0.51 -2.13c 0 -0.15 0.06 -0.22 0.17 -0.22c 0.12 0 0.24 0.21 0.35 0.62c 0.17 0.64 0.29 1.21 0.36 1.71c 0.03 0.15 0.05 0.28 0.08 0.37c 0.36 1.12 0.81 2.2 1.34 3.23Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-g4A04A89222FE1458FDC97F586BC23037&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.99 6.56c 0 -0.1 0.11 -0.15 0.32 -0.15c 0.4 0 0.6 -0.04 0.6 -0.13c 0 -0.03 -0.02 -0.1 -0.05 -0.23l -1.3 -5.23c -0.06 -0.22 -0.16 -0.35 -0.3 -0.4c -0.07 -0.02 -0.25 -0.03 -0.56 -0.03c -0.22 0 -0.32 -0.02 -0.32 -0.23c 0 -0.11 0.06 -0.16 0.19 -0.16l 1.3 0.03l 1.48 -0.03c 0.16 0 0.24 0.08 0.24 0.23c 0 0.17 -0.11 0.16 -0.37 0.16c -0.44 0 -0.69 0.02 -0.75 0.07c -0.03 0.01 -0.04 0.05 -0.04 0.1l 0.64 2.65h 0.93c 0.46 0 0.78 -0.02 0.78 -0.4c 0 -0.13 -0.02 -0.29 -0.07 -0.48c -0.01 -0.03 -0.02 -0.07 -0.03 -0.11c 0 -0.11 0.05 -0.16 0.16 -0.16c 0.05 0.01 0.12 0.08 0.19 0.23l 0.54 2.15c 0.02 0.08 0.03 0.14 0.03 0.17c -0.03 0.09 -0.09 0.14 -0.16 0.14c -0.08 0 -0.14 -0.08 -0.18 -0.23c -0.1 -0.38 -0.24 -0.62 -0.4 -0.74c -0.16 -0.12 -0.44 -0.18 -0.84 -0.18h -0.85l 0.62 2.46c 0.08 0.34 0.08 0.35 0.5 0.35h 1.3c 0.97 0 1.41 -0.15 1.41 -1.04c 0 -0.2 -0.01 -0.38 -0.03 -0.53c -0.01 -0.11 -0.02 -0.17 -0.02 -0.18c 0 -0.11 0.05 -0.16 0.15 -0.16c 0.1 0 0.16 0.09 0.18 0.28l 0.2 1.71c 0.03 0.28 -0.04 0.31 -0.31 0.31h -4.84c -0.23 0 -0.34 -0.01 -0.34 -0.24Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-g12A2C4A82138F063CB64D28271EA96B0&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 8.34 6.83c -0.17 0 -0.76 -0.03 -0.93 -0.03c -0.2 0 -0.9 0.03 -1.1 0.03c -0.15 0 -0.23 -0.08 -0.23 -0.24c 0 -0.09 0.05 -0.14 0.16 -0.15c 0.24 -0.03 0.36 -0.11 0.36 -0.26c 0 -0.09 -0.06 -0.2 -0.18 -0.33l -1.56 -1.68c -0.29 0.68 -0.57 1.35 -0.86 2.03c 0.01 0.02 0.02 0.04 0.05 0.06c 0.09 0.1 0.26 0.16 0.5 0.18c 0.16 0.02 0.24 0.1 0.24 0.23c 0 0.11 -0.06 0.16 -0.19 0.16c -0.24 0 -1.01 -0.03 -1.25 -0.03c -0.21 0 -0.9 0.03 -1.11 0.03c -0.15 0 -0.22 -0.08 -0.22 -0.24c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.45 0 0.59 0 0.71 -0.29l 1.16 -2.73l -2.08 -2.23c -0.03 -0.03 -0.07 -0.07 -0.12 -0.1c -0.41 -0.43 -0.88 -0.67 -1.43 -0.7c -0.17 -0.01 -0.26 -0.1 -0.26 -0.25c 0.03 -0.09 0.04 -0.14 0.17 -0.14c 0.17 0 0.76 0.03 0.93 0.03c 0.21 0 0.9 -0.03 1.11 -0.03c 0.15 0 0.22 0.08 0.22 0.24c 0 0.09 -0.05 0.14 -0.16 0.15c -0.24 0.02 -0.36 0.11 -0.36 0.26c 0 0.1 0.09 0.24 0.26 0.42c 0.62 0.66 1.25 1.32 1.86 1.99c 0.34 -0.81 0.69 -1.61 1.02 -2.43c -0.01 -0.02 -0.02 -0.04 -0.05 -0.07c -0.09 -0.09 -0.25 -0.14 -0.49 -0.17c -0.15 -0.02 -0.23 -0.1 -0.23 -0.23c 0 -0.11 0.06 -0.16 0.19 -0.16l 1.25 0.03c 0.21 0 0.91 -0.03 1.09 -0.03c 0.15 0 0.23 0.08 0.23 0.23c 0 0.1 -0.07 0.15 -0.22 0.16c -0.31 0 -0.51 0.01 -0.58 0.05c -0.07 0.04 -0.15 0.16 -0.23 0.36l -1.27 3.03c 0.68 0.72 1.19 1.26 1.52 1.63c 0.24 0.25 0.4 0.42 0.49 0.49c 0.37 0.31 0.78 0.47 1.23 0.49c 0.21 0.01 0.26 0.06 0.26 0.25c -0.03 0.09 -0.04 0.14 -0.17 0.14Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-g181F8068B35E55F9903FDEE0FCB26CAB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7.56 5.43c 0 0.91 -0.9 1.4 -1.88 1.4h -3.32c -0.23 0 -0.33 -0.01 -0.33 -0.24c 0 -0.16 0.2 -0.15 0.32 -0.15c 0.3 -0.01 0.48 -0.03 0.53 -0.04c 0.05 -0.01 0.07 -0.04 0.07 -0.09c 0 -0.02 -0.01 -0.08 -0.04 -0.18l -1.32 -5.31c -0.05 -0.22 -0.15 -0.35 -0.3 -0.4c -0.07 -0.02 -0.25 -0.03 -0.56 -0.03c -0.21 0 -0.31 -0.08 -0.31 -0.24c 0 -0.1 0.1 -0.15 0.31 -0.15h 3.53c 0.65 0 1.25 0.2 1.82 0.59c 0.63 0.43 0.95 0.96 0.95 1.58c 0 0.79 -0.65 1.27 -1.36 1.41c 0.88 0.21 1.89 0.88 1.89 1.85Z m -2.02 1.01c 0.69 0 1.04 -0.32 1.04 -0.97c 0 -0.51 -0.2 -0.93 -0.62 -1.27c -0.42 -0.34 -0.89 -0.5 -1.4 -0.5h -1.39l 0.6 2.4c 0.08 0.34 0.08 0.34 0.5 0.34Z m 0.28 -3.45c 0.14 -0.23 0.21 -0.46 0.21 -0.71c 0 -0.52 -0.2 -0.97 -0.61 -1.34c -0.41 -0.37 -0.87 -0.55 -1.4 -0.55h -1.35c -0.1 0 -0.17 0 -0.21 0.01c -0.06 0 -0.09 0.02 -0.09 0.05c 0 0.01 0 0.04 0.01 0.08c 0.31 1.27 0.55 2.23 0.71 2.87h 1.84c 0.43 0 0.72 -0.14 0.89 -0.41Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;hylomorphism-profunctor&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;hylomorphism-profunctor&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;hylomorphism-profunctor&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The hylomorphism profunctor&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/hylomorphism-profunctor.html&quot;&gt;hylomorphism-profunctor&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;hylomorphism-profunctor&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism.html&quot; data-entry=&quot;hylomorphism&quot;&gt;Hylomorphisms&lt;/a&gt; form a profunctor from coalgebras to algebras,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;𝖢𝗈𝖺𝗅𝗀&lt;/mtext&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mtext&gt;𝖠𝗅𝗀&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the set of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The action is by composition. If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebra morphism&lt;/a&gt; (&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;) and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra morphism&lt;/a&gt; (&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;), then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is again a hylomorphism:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;In these terms, a coalgebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/recursive-coalgebra.html&quot; data-entry=&quot;recursive-coalgebra&quot;&gt;recursive&lt;/a&gt; when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the terminal functor, and an algebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/corecursive-algebra.html&quot; data-entry=&quot;corecursive-algebra&quot;&gt;corecursive&lt;/a&gt; when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is. For the inverse of an initial algebra the profunctor is representable, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mtext&gt;𝖠𝗅𝗀&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, and dually &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msup&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mtext&gt;𝖢𝗈𝖺𝗅𝗀&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for a terminal coalgebra.&lt;/p&gt;
&lt;p&gt;When &lt;em&gt;every&lt;/em&gt; value of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is a singleton, every divide-and-conquer specification over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has exactly one solution. This is what local contractivity guarantees.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;lax-functor&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;lax-functor&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;lax-functor&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Lax Functor&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/lax-functor.html&quot;&gt;lax-functor&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;lax-functor&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;lax functor&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; between &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/bicategory.html&quot; data-entry=&quot;bicategory&quot;&gt;bicategories&lt;/a&gt; consists of&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;a map on 0-cells, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;↦&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;for all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, acting on 1-cells and 2-cells;&lt;/li&gt;
&lt;li&gt;a &lt;em&gt;unit&lt;/em&gt; comparison, natural 2-cells &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;a &lt;em&gt;composition&lt;/em&gt; comparison, 2-cells &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; natural in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;such that three coherence laws hold, one for each structure cell of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;left unit: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜆&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜆&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;right unit: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;◁&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;associativity: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;◁&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; between 2-cells is vertical composition, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;◁&lt;/mo&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are whiskerings.&lt;/p&gt;
&lt;p&gt;Lax functors compose: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. The coherence laws of the composite follow from those of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and naturality of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, without using the triangle or pentagon of any of the bicategories involved.&lt;/p&gt;
&lt;p&gt;A lax functor whose comparison cells are invertible is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/pseudofunctor.html&quot; data-entry=&quot;pseudofunctor&quot;&gt;pseudofunctor&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;lax-natural-transformation&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;lax-natural-transformation&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;lax-natural-transformation&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Lax and Pseudonatural Transformations&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/lax-natural-transformation.html&quot;&gt;lax-natural-transformation&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;lax-natural-transformation&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lax-functor.html&quot; data-entry=&quot;lax-functor&quot;&gt;lax functors&lt;/a&gt;. A &lt;em&gt;lax natural transformation&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; consists of&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;for each 0-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a 1-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;for each 1-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a 2-cell filling the naturality square,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;;&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;such that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; is natural in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: for a 2-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;▷&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;◁&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;and such that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; respects the comparison cells of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: one law relating &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; and the unitors, and one relating &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; and the associators.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A lax natural transformation is &lt;em&gt;pseudonatural&lt;/em&gt; when every &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; is invertible. As with &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/pseudofunctor.html&quot; data-entry=&quot;pseudofunctor&quot;&gt;pseudofunctors&lt;/a&gt;, this is a property, so the pseudonatural transformations &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are a full subcategory of the category of lax transformations and modifications.&lt;/p&gt;
&lt;p&gt;Between prestacks the 1-cells are taken to be pseudonatural. The reason is biuniversality: a transformation whose components &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; are all equivalences of categories is an equivalence of prestacks only if its naturality cells are invertible, and a biuniversal element should be exactly a representation of a prestack up to such an equivalence.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;locally-discrete-bicategory&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;locally-discrete-bicategory&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;locally-discrete-bicategory&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Locally Discrete Bicategory&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/locally-discrete-bicategory.html&quot;&gt;locally-discrete-bicategory&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;locally-discrete-bicategory&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Every &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/category.html&quot; data-entry=&quot;category&quot;&gt;category&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/bicategory.html&quot; data-entry=&quot;bicategory&quot;&gt;bicategory&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; with only identity 2-cells. Its 0-cells are the objects of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and the hom-category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the discrete category on the set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;: a 2-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a proof that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Composition and identities are those of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;; the unitors and associator are the unit and associativity laws of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Since the homs of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are sets, any two parallel 2-cells are equal, so the triangle and pentagon hold trivially.&lt;/p&gt;
&lt;p&gt;A functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; gives a pseudofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, whose comparison 2-cells are the functor laws of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The locally discrete bicategory is how ordinary indexed categories enter bicategorical language: a prestack on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a pseudofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, and its Grothendieck construction is a displayed category over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;opposite-bicategory&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;opposite-bicategory&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;opposite-bicategory&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Opposite Bicategory&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/opposite-bicategory.html&quot;&gt;opposite-bicategory&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;opposite-bicategory&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;em&gt;opposite&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; of a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/bicategory.html&quot; data-entry=&quot;bicategory&quot;&gt;bicategory&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has the same 0-cells and reverses the 1-cells but not the 2-cells:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Composition swaps its arguments, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The left unitor of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is the right unitor of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and vice versa, and the associator of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is the inverse of the associator of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, with its arguments reversed.&lt;/p&gt;
&lt;p&gt;Since the 2-cells keep their direction, a lax functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a lax (not oplax) functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; with the same action on cells. Reversing the 2-cells instead gives the bicategory &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;co&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, whose hom-categories are the opposites &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Duality saves work: a coherence lemma about &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; can often be obtained by instantiating a companion lemma at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, which swaps left and right.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;pseudofunctor&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;pseudofunctor&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;pseudofunctor&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Pseudofunctor&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/pseudofunctor.html&quot;&gt;pseudofunctor&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;pseudofunctor&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;pseudofunctor&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lax-functor.html&quot; data-entry=&quot;lax-functor&quot;&gt;lax functor&lt;/a&gt; whose unit and composition comparisons&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;are invertible 2-cells. So &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; preserves identities and composition up to coherent isomorphism.&lt;/p&gt;
&lt;p&gt;Being pseudo is a &lt;em&gt;property&lt;/em&gt; of a lax functor: invertibility of a 2-cell is a proposition, since inverses are unique. The data of a pseudofunctor is exactly the data of a lax functor, and everything proved about lax functors applies to pseudofunctors unchanged. Pseudofunctors are closed under composition and identities, as lax functors are, because invertible 2-cells are closed under composition and under the action of a functor on hom-categories.&lt;/p&gt;
&lt;p&gt;The main examples here are prestacks, pseudofunctors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;. When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/locally-discrete-bicategory.html&quot; data-entry=&quot;locally-discrete-bicategory&quot;&gt;locally discrete&lt;/a&gt; on a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, these are the pseudofunctors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; of fibred category theory.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;recursive-coalgebra&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;recursive-coalgebra&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;recursive-coalgebra&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Recursive coalgebra&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/recursive-coalgebra.html&quot;&gt;recursive-coalgebra&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;recursive-coalgebra&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;recursive&lt;/em&gt; when for every &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; there is exactly one &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism.html&quot; data-entry=&quot;hylomorphism&quot;&gt;hylomorphism&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, that is, exactly one solution of&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Equivalently, the functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism-profunctor.html&quot; data-entry=&quot;hylomorphism-profunctor&quot;&gt;hylomorphism profunctor&lt;/a&gt; is constantly a singleton.&lt;/p&gt;
&lt;p&gt;Recursiveness is a coalgebraic form of well-foundedness: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; decomposes each input into subproblems, and recursiveness says that every divide-and-conquer program built on this decomposition has a unique meaning, without mentioning an order on inputs. &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;alexandruIntrinsicallyCorrectAlgorithms2025-preprint&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/alexandruIntrinsicallyCorrectAlgorithms2025-preprint.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt; use recursive coalgebras on categories of indexed families to obtain algorithms that are correct by the type of the map they compute.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example.&lt;/strong&gt; If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/initial-algebra.html&quot; data-entry=&quot;initial-algebra&quot;&gt;initial algebra&lt;/a&gt;, then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is invertible (Lambek’s lemma) and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a recursive coalgebra. Precomposing with the isomorphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, the equation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is equivalent to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, which says &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an algebra map out of the initial algebra; there is exactly one, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖿𝗈𝗅𝖽&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The dual notion is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/corecursive-algebra.html&quot; data-entry=&quot;corecursive-algebra&quot;&gt;corecursive algebra&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;total-bicategory&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;total-bicategory&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;total-bicategory&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Total Bicategory&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/total-bicategory.html&quot;&gt;total-bicategory&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;total-bicategory&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;em&gt;total bicategory&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;∫ overline(cal(K))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 16.476666667 12.275&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;1.648em&quot; height=&quot;1.228em&quot; style=&quot;vertical-align: -0.306em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.215)&quot;&gt;&lt;use xlink:href=&quot;#heliaf2da2700-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.316666667 9.22)&quot;&gt;&lt;use xlink:href=&quot;#heliaf2da2700-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(8.316666667 0.72)&quot; d=&quot;M 0 0h 8.16&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaf2da2700-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.97 8.05c -0.76 0 -1.27 -0.58 -1.53 -1.75c -0.04 -0.17 -0.09 -0.52 -0.16 -1.04l -0.13 -1.01c -0.14 -1.12 -0.23 -1.95 -0.27 -2.5l -0.19 -2.47c -0.07 -0.97 -0.23 -2.04 -1.01 -2.04c -0.21 0 -0.39 0.05 -0.54 0.15c 0.21 0.06 0.32 0.2 0.32 0.42c 0 0.27 -0.18 0.46 -0.45 0.46c -0.3 0 -0.45 -0.16 -0.45 -0.47c 0 -0.53 0.55 -0.86 1.12 -0.86c 0.81 0 1.37 0.6 1.67 1.79c 0.21 0.84 0.4 2.34 0.56 4.51l 0.19 2.47c 0.04 0.57 0.11 1.02 0.2 1.34c 0.13 0.42 0.22 0.7 0.68 0.7c 0.21 0 0.39 -0.05 0.53 -0.15c -0.21 -0.06 -0.32 -0.2 -0.32 -0.42c 0 -0.27 0.18 -0.46 0.45 -0.46c 0.3 0 0.45 0.16 0.45 0.47c 0 0.53 -0.55 0.86 -1.12 0.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf2da2700-g56113480BA9BB5E9D616AC445DCB5941&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7 5.87c 0.01 0 0.53 0.04 0.53 0.54c 0 0.35 -0.2 0.62 -0.57 0.65c -0.06 0 -0.1 -0.01 -0.14 -0.01c -0.93 -0.1 -2.81 -1.23 -3.73 -2.14c -0.25 -0.25 -0.38 -0.42 -0.44 -0.56c -0.05 -0.11 -0.05 -0.18 -0.05 -0.3c 0 -1.01 1.45 -4.27 2.53 -4.27c 1.43 0 2.34 1.04 2.34 1.52c 0 0.11 -0.1 0.12 -0.16 0.12c -0.09 0 -0.45 -0.1 -0.51 -0.37c -0.14 -0.46 -0.62 -0.77 -1.23 -0.77c -0.18 0 -0.29 0.07 -0.45 0.2c -0.83 0.71 -1.85 2.96 -1.85 3.79c 0 0.05 0 0.08 0.01 0.11c 0.18 0.55 2.58 2.17 3.3 2.17c 0.17 0 0.28 -0.16 0.28 -0.37c 0 -0.07 -0.02 -0.13 -0.02 -0.18c 0 -0.09 0.04 -0.13 0.16 -0.13Z m -4.19 0.19c 0.03 0.3 0.07 0.86 0.07 0.9c 0 0.06 -0.06 0.1 -0.14 0.1c -0.18 0 -0.91 -0.39 -1.16 -0.53c -0.16 -0.09 -0.34 -0.23 -0.34 -0.36c 0 -0.08 0.07 -0.11 0.13 -0.11c 0.16 0 0.38 0.13 0.53 0.21l 0.04 0.01c -0.01 -0.13 -0.03 -0.44 -0.06 -0.61c -0.2 -1.43 -0.6 -2.87 -0.94 -3.95c -0.18 -0.54 -0.34 -0.99 -0.46 -1.31c 0 -0.02 -0.19 -0.51 -0.19 -0.53c 0 -0.08 0.06 -0.1 0.13 -0.1c 0.2 0 0.6 0.2 0.75 0.42c 0.1 0.14 1.4 3.54 1.64 5.86Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; of a displayed bicategory &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;overline(cal(K))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 8.16 9.44&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;0.816em&quot; height=&quot;0.944em&quot; style=&quot;vertical-align: -0.022em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.22)&quot;&gt;&lt;use xlink:href=&quot;#heliaca1bb342-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(0 0.72)&quot; d=&quot;M 0 0h 8.16&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaca1bb342-g56113480BA9BB5E9D616AC445DCB5941&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7 5.87c 0.01 0 0.53 0.04 0.53 0.54c 0 0.35 -0.2 0.62 -0.57 0.65c -0.06 0 -0.1 -0.01 -0.14 -0.01c -0.93 -0.1 -2.81 -1.23 -3.73 -2.14c -0.25 -0.25 -0.38 -0.42 -0.44 -0.56c -0.05 -0.11 -0.05 -0.18 -0.05 -0.3c 0 -1.01 1.45 -4.27 2.53 -4.27c 1.43 0 2.34 1.04 2.34 1.52c 0 0.11 -0.1 0.12 -0.16 0.12c -0.09 0 -0.45 -0.1 -0.51 -0.37c -0.14 -0.46 -0.62 -0.77 -1.23 -0.77c -0.18 0 -0.29 0.07 -0.45 0.2c -0.83 0.71 -1.85 2.96 -1.85 3.79c 0 0.05 0 0.08 0.01 0.11c 0.18 0.55 2.58 2.17 3.3 2.17c 0.17 0 0.28 -0.16 0.28 -0.37c 0 -0.07 -0.02 -0.13 -0.02 -0.18c 0 -0.09 0.04 -0.13 0.16 -0.13Z m -4.19 0.19c 0.03 0.3 0.07 0.86 0.07 0.9c 0 0.06 -0.06 0.1 -0.14 0.1c -0.18 0 -0.91 -0.39 -1.16 -0.53c -0.16 -0.09 -0.34 -0.23 -0.34 -0.36c 0 -0.08 0.07 -0.11 0.13 -0.11c 0.16 0 0.38 0.13 0.53 0.21l 0.04 0.01c -0.01 -0.13 -0.03 -0.44 -0.06 -0.61c -0.2 -1.43 -0.6 -2.87 -0.94 -3.95c -0.18 -0.54 -0.34 -0.99 -0.46 -1.31c 0 -0.02 -0.19 -0.51 -0.19 -0.53c 0 -0.08 0.06 -0.1 0.13 -0.1c 0.2 0 0.6 0.2 0.75 0.42c 0.1 0.14 1.4 3.54 1.64 5.86Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; packages the base and the displayed data together, one dimension up from the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/total-category.html&quot; data-entry=&quot;total-category&quot;&gt;total category&lt;/a&gt; of a displayed category.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Its 0-cells are pairs &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(x, overline(x))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 23.666666667 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.367em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.61 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.056666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.056666667 1.62)&quot; d=&quot;M 0 0h 5.72&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.776666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia0c1692cf-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; of a 0-cell of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a displayed 0-cell over it.&lt;/li&gt;
&lt;li&gt;Its hom-category from &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(x, overline(x))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 23.666666667 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.367em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.61 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.056666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.056666667 1.62)&quot; d=&quot;M 0 0h 5.72&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.776666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia0c1692cf-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(y, overline(y))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 22.586666667 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.259em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.07 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.516666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(13.516666667 1.62)&quot; d=&quot;M 0 0h 5.18&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 18.696666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia525d2232-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia525d2232-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia525d2232-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia525d2232-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; is the total category of the displayed hom-category &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;overline(cal(K) (x, y))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 31.286666667 12.12&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;3.129em&quot; height=&quot;1.212em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.16 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.05 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 17.77 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 22.216666667 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.396666667 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(0 0.72)&quot; d=&quot;M 0 0h 31.286666667&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;helia1fd2919c-g56113480BA9BB5E9D616AC445DCB5941&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7 5.87c 0.01 0 0.53 0.04 0.53 0.54c 0 0.35 -0.2 0.62 -0.57 0.65c -0.06 0 -0.1 -0.01 -0.14 -0.01c -0.93 -0.1 -2.81 -1.23 -3.73 -2.14c -0.25 -0.25 -0.38 -0.42 -0.44 -0.56c -0.05 -0.11 -0.05 -0.18 -0.05 -0.3c 0 -1.01 1.45 -4.27 2.53 -4.27c 1.43 0 2.34 1.04 2.34 1.52c 0 0.11 -0.1 0.12 -0.16 0.12c -0.09 0 -0.45 -0.1 -0.51 -0.37c -0.14 -0.46 -0.62 -0.77 -1.23 -0.77c -0.18 0 -0.29 0.07 -0.45 0.2c -0.83 0.71 -1.85 2.96 -1.85 3.79c 0 0.05 0 0.08 0.01 0.11c 0.18 0.55 2.58 2.17 3.3 2.17c 0.17 0 0.28 -0.16 0.28 -0.37c 0 -0.07 -0.02 -0.13 -0.02 -0.18c 0 -0.09 0.04 -0.13 0.16 -0.13Z m -4.19 0.19c 0.03 0.3 0.07 0.86 0.07 0.9c 0 0.06 -0.06 0.1 -0.14 0.1c -0.18 0 -0.91 -0.39 -1.16 -0.53c -0.16 -0.09 -0.34 -0.23 -0.34 -0.36c 0 -0.08 0.07 -0.11 0.13 -0.11c 0.16 0 0.38 0.13 0.53 0.21l 0.04 0.01c -0.01 -0.13 -0.03 -0.44 -0.06 -0.61c -0.2 -1.43 -0.6 -2.87 -0.94 -3.95c -0.18 -0.54 -0.34 -0.99 -0.46 -1.31c 0 -0.02 -0.19 -0.51 -0.19 -0.53c 0 -0.08 0.06 -0.1 0.13 -0.1c 0.2 0 0.6 0.2 0.75 0.42c 0.1 0.14 1.4 3.54 1.64 5.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt;. So a 1-cell is a pair &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(f,
  overline(f))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 26.506666667 14.44&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.651em&quot; height=&quot;1.444em&quot; style=&quot;vertical-align: -0.472em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-gA9FA8C2F14C67767A3B2C96AC01F6145&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.23 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 11.03 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.476666667 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(15.476666667 1.23)&quot; d=&quot;M 0 0h 5.8&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.276666667 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-gDB61CF36309C493571F9F3FD45D85165&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;heliad4c37d5e-gA9FA8C2F14C67767A3B2C96AC01F6145&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.44 -4.72c 0.11 0 0.17 0.06 0.17 0.17c 0 0.06 -0.02 0.1 -0.07 0.13c -0.72 0.55 -1.29 1.48 -1.72 2.78c -0.37 1.11 -0.56 2.21 -0.56 3.28v 1.72c 0 1.07 0.19 2.16 0.56 3.28c 0.43 1.29 1 2.22 1.72 2.78c 0.05 0.03 0.07 0.07 0.07 0.13c 0 0.11 -0.06 0.17 -0.17 0.17c -0.04 0 -0.07 -0.01 -0.1 -0.04c -0.81 -0.63 -1.49 -1.59 -2.02 -2.87c -0.51 -1.21 -0.76 -2.36 -0.76 -3.45v -1.72c 0 -1.09 0.25 -2.24 0.76 -3.45c 0.53 -1.29 1.21 -2.24 2.02 -2.87c 0.03 -0.03 0.06 -0.04 0.1 -0.04Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliad4c37d5e-g69726A5B532D359584B7BE612A255CC8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.52 6.33c 0 0.44 -0.43 0.72 -0.9 0.72c -0.62 0 -1.05 -0.4 -1.28 -1.19c -0.05 -0.18 -0.16 -0.69 -0.32 -1.53h -0.65c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.6l -0.73 -3.87c -0.11 -0.57 -0.21 -0.99 -0.3 -1.27c -0.12 -0.37 -0.29 -0.56 -0.51 -0.56c -0.15 0 -0.27 0.04 -0.38 0.11c 0.32 0.05 0.48 0.24 0.48 0.56c 0 0.26 -0.13 0.39 -0.4 0.39c -0.34 0 -0.58 -0.3 -0.58 -0.64c 0 -0.44 0.41 -0.72 0.88 -0.72c 0.25 0 0.48 0.1 0.67 0.31c 0.32 0.33 0.57 0.8 0.75 1.43c 0.11 0.39 0.21 0.77 0.28 1.15l 0.58 3.11h 0.82c 0.23 0 0.33 0.01 0.33 0.24c 0 0.09 -0.1 0.14 -0.3 0.14h -0.77c 0.06 0.41 0.34 1.92 0.43 2.11c 0.1 0.21 0.24 0.31 0.42 0.31c 0.15 0 0.28 -0.04 0.39 -0.11c -0.31 -0.07 -0.47 -0.25 -0.47 -0.56c 0 -0.26 0.13 -0.39 0.4 -0.39c 0.34 0 0.58 0.3 0.58 0.64Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliad4c37d5e-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliad4c37d5e-gDB61CF36309C493571F9F3FD45D85165&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.89 -4.68c 0.81 0.63 1.49 1.58 2.02 2.87c 0.51 1.21 0.76 2.36 0.76 3.45v 1.72c 0 1.09 -0.25 2.24 -0.76 3.45c -0.53 1.29 -1.21 2.24 -2.02 2.87c -0.04 0.03 -0.07 0.04 -0.1 0.04c -0.11 0 -0.17 -0.06 -0.17 -0.17c 0 -0.05 0.02 -0.1 0.06 -0.13c 0.72 -0.55 1.3 -1.47 1.73 -2.78c 0.37 -1.12 0.56 -2.21 0.56 -3.28v -1.72c 0 -1.07 -0.19 -2.16 -0.56 -3.28c -0.43 -1.31 -1.01 -2.23 -1.73 -2.78c -0.04 -0.03 -0.06 -0.08 -0.06 -0.13c 0 -0.11 0.06 -0.17 0.17 -0.17c 0.03 0 0.07 0.01 0.1 0.04Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; and a 2-cell is a pair &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(alpha, overline(alpha))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 25.026666667 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.503em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 10.29 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.736666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.736666667 1.62)&quot; d=&quot;M 0 0h 6.4&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.136666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia75841bb9-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia75841bb9-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia75841bb9-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia75841bb9-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Identities, composition, unitors and associator are pairs of the base structure and the displayed structure over it, and the triangle and pentagon hold because they hold in the base and, over that, in the displayed bicategory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projecting to first components is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/pseudofunctor.html&quot; data-entry=&quot;pseudofunctor&quot;&gt;pseudofunctor&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;pi : ∫ overline(cal(K)) -&amp;gt;
cal(K)&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 54.477777778 12.275&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;5.448em&quot; height=&quot;1.228em&quot; style=&quot;vertical-align: -0.306em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-gB9F3075ACBCAEFB3576FA8ECDD7BE895&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.727777778 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-gA9ADE189D636B46202D6441478B3AF64&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.285555556 9.215)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 22.602222222 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(22.602222222 0.72)&quot; d=&quot;M 0 0h 8.16&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 33.54 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 46.317777778 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia0e56b942-gB9F3075ACBCAEFB3576FA8ECDD7BE895&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.24 4.31h -3.3c -0.41 0 -0.77 -0.16 -1.06 -0.47c -0.14 -0.15 -0.61 -0.79 -0.61 -0.92c 0.04 -0.07 0.04 -0.13 0.16 -0.13c 0.07 0 0.13 0.04 0.19 0.13c 0.32 0.49 0.73 0.74 1.22 0.74h 0.51c -0.23 -0.87 -0.65 -1.94 -1.25 -3.21c -0.05 -0.12 -0.08 -0.21 -0.08 -0.26c 0 -0.2 0.11 -0.3 0.32 -0.3c 0.19 0 0.33 0.11 0.42 0.32c 0.18 0.57 0.31 1.01 0.38 1.31l 0.55 2.14h 1.03c -0.27 -1.19 -0.41 -2.02 -0.41 -2.49c 0 -0.49 0.11 -1.28 0.48 -1.28c 0.21 0 0.44 0.2 0.44 0.41c 0 0.05 -0.02 0.13 -0.06 0.23c -0.19 0.47 -0.28 1 -0.28 1.61c 0 0.47 0.06 0.98 0.17 1.52h 1.09c 0.35 0 0.52 0.12 0.52 0.37c 0 0.23 -0.18 0.28 -0.43 0.28Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0e56b942-gA9ADE189D636B46202D6441478B3AF64&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.92 3.75c 0 0.3 -0.23 0.56 -0.53 0.56c -0.3 0 -0.53 -0.26 -0.53 -0.56c 0 -0.3 0.23 -0.56 0.53 -0.56c 0.3 0 0.53 0.26 0.53 0.56Z m 0 -3.19c 0 0.3 -0.23 0.56 -0.53 0.56c -0.3 0 -0.53 -0.26 -0.53 -0.56c 0 -0.3 0.23 -0.56 0.53 -0.56c 0.3 0 0.53 0.26 0.53 0.56Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0e56b942-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.97 8.05c -0.76 0 -1.27 -0.58 -1.53 -1.75c -0.04 -0.17 -0.09 -0.52 -0.16 -1.04l -0.13 -1.01c -0.14 -1.12 -0.23 -1.95 -0.27 -2.5l -0.19 -2.47c -0.07 -0.97 -0.23 -2.04 -1.01 -2.04c -0.21 0 -0.39 0.05 -0.54 0.15c 0.21 0.06 0.32 0.2 0.32 0.42c 0 0.27 -0.18 0.46 -0.45 0.46c -0.3 0 -0.45 -0.16 -0.45 -0.47c 0 -0.53 0.55 -0.86 1.12 -0.86c 0.81 0 1.37 0.6 1.67 1.79c 0.21 0.84 0.4 2.34 0.56 4.51l 0.19 2.47c 0.04 0.57 0.11 1.02 0.2 1.34c 0.13 0.42 0.22 0.7 0.68 0.7c 0.21 0 0.39 -0.05 0.53 -0.15c -0.21 -0.06 -0.32 -0.2 -0.32 -0.42c 0 -0.27 0.18 -0.46 0.45 -0.46c 0.3 0 0.45 0.16 0.45 0.47c 0 0.53 -0.55 0.86 -1.12 0.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0e56b942-g56113480BA9BB5E9D616AC445DCB5941&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7 5.87c 0.01 0 0.53 0.04 0.53 0.54c 0 0.35 -0.2 0.62 -0.57 0.65c -0.06 0 -0.1 -0.01 -0.14 -0.01c -0.93 -0.1 -2.81 -1.23 -3.73 -2.14c -0.25 -0.25 -0.38 -0.42 -0.44 -0.56c -0.05 -0.11 -0.05 -0.18 -0.05 -0.3c 0 -1.01 1.45 -4.27 2.53 -4.27c 1.43 0 2.34 1.04 2.34 1.52c 0 0.11 -0.1 0.12 -0.16 0.12c -0.09 0 -0.45 -0.1 -0.51 -0.37c -0.14 -0.46 -0.62 -0.77 -1.23 -0.77c -0.18 0 -0.29 0.07 -0.45 0.2c -0.83 0.71 -1.85 2.96 -1.85 3.79c 0 0.05 0 0.08 0.01 0.11c 0.18 0.55 2.58 2.17 3.3 2.17c 0.17 0 0.28 -0.16 0.28 -0.37c 0 -0.07 -0.02 -0.13 -0.02 -0.18c 0 -0.09 0.04 -0.13 0.16 -0.13Z m -4.19 0.19c 0.03 0.3 0.07 0.86 0.07 0.9c 0 0.06 -0.06 0.1 -0.14 0.1c -0.18 0 -0.91 -0.39 -1.16 -0.53c -0.16 -0.09 -0.34 -0.23 -0.34 -0.36c 0 -0.08 0.07 -0.11 0.13 -0.11c 0.16 0 0.38 0.13 0.53 0.21l 0.04 0.01c -0.01 -0.13 -0.03 -0.44 -0.06 -0.61c -0.2 -1.43 -0.6 -2.87 -0.94 -3.95c -0.18 -0.54 -0.34 -0.99 -0.46 -1.31c 0 -0.02 -0.19 -0.51 -0.19 -0.53c 0 -0.08 0.06 -0.1 0.13 -0.1c 0.2 0 0.6 0.2 0.75 0.42c 0.1 0.14 1.4 3.54 1.64 5.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0e56b942-g2455479B5EAE520D2F120986F003C123&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 9.32 2.34c 0.07 0.03 0.11 0.09 0.11 0.16c 0 0.07 -0.04 0.13 -0.11 0.16c -0.48 0.16 -0.93 0.5 -1.35 1.02c -0.28 0.35 -0.47 0.76 -0.56 1.23c -0.03 0.13 -0.11 0.19 -0.24 0.19c -0.16 0 -0.24 -0.08 -0.24 -0.25l 0.01 -0.02v -0.01c 0.17 -0.87 0.61 -1.56 1.34 -2.08h -7.46c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.16 0.08 -0.24 0.24 -0.24h 7.46c -0.73 -0.52 -1.17 -1.21 -1.34 -2.08v -0.01l -0.01 -0.02c 0 -0.17 0.08 -0.25 0.24 -0.25c 0.13 0 0.21 0.06 0.24 0.19c 0.09 0.47 0.28 0.88 0.56 1.23c 0.42 0.52 0.87 0.86 1.35 1.02Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; whose unit and composition comparisons are identity 2-cells.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;predecessors-simplify-later&quot; data-date=&quot;20260720&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;predecessors-simplify-later&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;predecessors-simplify-later&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;Predecessors simplify later&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/predecessors-simplify-later.html&quot;&gt;predecessors-simplify-later&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;predecessors-simplify-later&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;A &lt;em&gt;predecessor&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a top element of its &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot; data-entry=&quot;strict-downset-sieve&quot;&gt;strict downset&lt;/a&gt;: a strict morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; through which every strict morphism into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; factors uniquely. Equivalently, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; — the downset is representable.&lt;/p&gt;
&lt;p&gt;The Yoneda lemma then collapses &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-presheaf.html&quot; data-entry=&quot;later-presheaf&quot;&gt;later&lt;/a&gt; to evaluation:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; becoming restriction along &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The name is from the naturals: every strict map into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/math&gt;&lt;/span&gt; factors through &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/math&gt;&lt;/span&gt;, so on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; — in the topos of trees — later is just the shift&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;and a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lob-presheaf.html&quot; data-entry=&quot;lob-presheaf&quot;&gt;Löb&lt;/a&gt; step is a base value together with a rule producing the value at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/math&gt;&lt;/span&gt; from the value at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;When this predecessor exists, we can give a simpler description of later, as in the topos of trees, but this may not be possible in all direct categories.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;algebras-displayed&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;algebras-displayed&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;algebras-displayed&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;Algebras as a displayed category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot;&gt;algebras-displayed&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;algebras-displayed&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebras form a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/displayed-category.html&quot; data-entry=&quot;displayed-category&quot;&gt;displayed category&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;AlgStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Over an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a displayed object of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;AlgStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a structure map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a displayed morphism from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛽&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the &lt;em&gt;proposition&lt;/em&gt; that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an algebra homomorphism:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛽&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 115.112913386 103.44503937&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;11.511em&quot; height=&quot;10.345em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(27.145 16.88)&quot; d=&quot;M 0 0m 0 0l 59.865321238 0&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(85.125360636 16.880000094)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(85.125360636 14.514519818)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(48.412660619)&quot; d=&quot;M 0 0h 17.57v 12.88h -17.57v -12.88Z &quot;/&gt;&lt;g transform=&quot;translate(48.412660556 -3.1e-8)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.77 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.4 26.335000094)&quot; d=&quot;M 0 0v 50.34177599&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(12.034519723 74.79181525)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.4 74.79181525)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 46.15588809)&quot; d=&quot;M 0 0h 10.4v 10.94h -10.4v -10.94Z &quot;/&gt;&lt;g transform=&quot;translate(-1.6e-8 46.155888074)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(101.092913386 30.722592148)&quot; d=&quot;M 0 0v 45.458376148&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(98.727433015 74.296007376)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(101.092913291 74.296007376)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(105.092913386 47.186780222)&quot; d=&quot;M 0 0h 10.02v 12.77h -10.02v -12.77Z &quot;/&gt;&lt;g transform=&quot;translate(105.092913291 47.186780112)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g1EE17EA6226BDAE2BFEDCD68E425EDFC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(24.048263285 86.56503937)&quot; d=&quot;M 0 0h 66.66057894&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(88.823881864 86.56503937)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(88.823881864 84.199559093)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(52.598552755 90.56503937)&quot; d=&quot;M 0 0h 9.8v 12.88h -9.8v -12.88Z &quot;/&gt;&lt;g transform=&quot;translate(52.598552645 90.565039339)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(7.655 13.425)&quot; d=&quot;M 0 0h 13.49v 6.91h -13.49v -6.91Z &quot;/&gt;&lt;g transform=&quot;translate(7.65499989 13.424999921)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.87)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.77 6.87)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(94.617913386 12.455)&quot; d=&quot;M 0 0h 12.95v 8.85h -12.95v -8.85Z &quot;/&gt;&lt;g transform=&quot;translate(94.617913276 12.454999906)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.84)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.77 7.84)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(11.54 83.75253937)&quot; d=&quot;M 0 0h 5.72v 5.625h -5.72v -5.625Z &quot;/&gt;&lt;g transform=&quot;translate(11.539999984 83.75253937)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 5.68)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(98.502913386 83.33003937)&quot; d=&quot;M 0 0h 5.18v 6.47h -5.18v -6.47Z &quot;/&gt;&lt;g transform=&quot;translate(98.50291337 83.33003926)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.65)&quot;&gt;&lt;use xlink:href=&quot;#helia402b1e02-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia402b1e02-g4A04A89222FE1458FDC97F586BC23037&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.99 6.56c 0 -0.1 0.11 -0.15 0.32 -0.15c 0.4 0 0.6 -0.04 0.6 -0.13c 0 -0.03 -0.02 -0.1 -0.05 -0.23l -1.3 -5.23c -0.06 -0.22 -0.16 -0.35 -0.3 -0.4c -0.07 -0.02 -0.25 -0.03 -0.56 -0.03c -0.22 0 -0.32 -0.02 -0.32 -0.23c 0 -0.11 0.06 -0.16 0.19 -0.16l 1.3 0.03l 1.48 -0.03c 0.16 0 0.24 0.08 0.24 0.23c 0 0.17 -0.11 0.16 -0.37 0.16c -0.44 0 -0.69 0.02 -0.75 0.07c -0.03 0.01 -0.04 0.05 -0.04 0.1l 0.64 2.65h 0.93c 0.46 0 0.78 -0.02 0.78 -0.4c 0 -0.13 -0.02 -0.29 -0.07 -0.48c -0.01 -0.03 -0.02 -0.07 -0.03 -0.11c 0 -0.11 0.05 -0.16 0.16 -0.16c 0.05 0.01 0.12 0.08 0.19 0.23l 0.54 2.15c 0.02 0.08 0.03 0.14 0.03 0.17c -0.03 0.09 -0.09 0.14 -0.16 0.14c -0.08 0 -0.14 -0.08 -0.18 -0.23c -0.1 -0.38 -0.24 -0.62 -0.4 -0.74c -0.16 -0.12 -0.44 -0.18 -0.84 -0.18h -0.85l 0.62 2.46c 0.08 0.34 0.08 0.35 0.5 0.35h 1.3c 0.97 0 1.41 -0.15 1.41 -1.04c 0 -0.2 -0.01 -0.38 -0.03 -0.53c -0.01 -0.11 -0.02 -0.17 -0.02 -0.18c 0 -0.11 0.05 -0.16 0.15 -0.16c 0.1 0 0.16 0.09 0.18 0.28l 0.2 1.71c 0.03 0.28 -0.04 0.31 -0.31 0.31h -4.84c -0.23 0 -0.34 -0.01 -0.34 -0.24Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia402b1e02-g69726A5B532D359584B7BE612A255CC8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.52 6.33c 0 0.44 -0.43 0.72 -0.9 0.72c -0.62 0 -1.05 -0.4 -1.28 -1.19c -0.05 -0.18 -0.16 -0.69 -0.32 -1.53h -0.65c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.6l -0.73 -3.87c -0.11 -0.57 -0.21 -0.99 -0.3 -1.27c -0.12 -0.37 -0.29 -0.56 -0.51 -0.56c -0.15 0 -0.27 0.04 -0.38 0.11c 0.32 0.05 0.48 0.24 0.48 0.56c 0 0.26 -0.13 0.39 -0.4 0.39c -0.34 0 -0.58 -0.3 -0.58 -0.64c 0 -0.44 0.41 -0.72 0.88 -0.72c 0.25 0 0.48 0.1 0.67 0.31c 0.32 0.33 0.57 0.8 0.75 1.43c 0.11 0.39 0.21 0.77 0.28 1.15l 0.58 3.11h 0.82c 0.23 0 0.33 0.01 0.33 0.24c 0 0.09 -0.1 0.14 -0.3 0.14h -0.77c 0.06 0.41 0.34 1.92 0.43 2.11c 0.1 0.21 0.24 0.31 0.42 0.31c 0.15 0 0.28 -0.04 0.39 -0.11c -0.31 -0.07 -0.47 -0.25 -0.47 -0.56c 0 -0.26 0.13 -0.39 0.4 -0.39c 0.34 0 0.58 0.3 0.58 0.64Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia402b1e02-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia402b1e02-g1EE17EA6226BDAE2BFEDCD68E425EDFC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.27 7.06c -1.29 0 -2.15 -1.53 -2.45 -2.74l -1.52 -6.1c 0 -0.11 0.05 -0.16 0.14 -0.16h 0.05c 0.07 0 0.12 0.03 0.13 0.1l 0.64 2.58c 0.22 -0.58 0.65 -0.87 1.29 -0.87c 0.62 0 1.19 0.19 1.7 0.58c 0.71 0.53 1.07 1.22 1.07 2.05c 0 0.67 -0.23 1.17 -0.69 1.5c 0.57 0.35 0.93 0.8 1.06 1.34c 0.03 0.13 0.05 0.26 0.05 0.37c 0 0.83 -0.67 1.35 -1.47 1.35Z m -1.21 -3.07c 0.05 0.03 0.23 0.04 0.52 0.04c 0.07 0 0.13 -0.01 0.2 -0.02c -0.1 -0.02 -0.19 -0.03 -0.28 -0.03h -0.18c -0.11 0 -0.2 0 -0.26 0.01Z m -1.58 -2.61c 0 0.16 0.02 0.32 0.06 0.48l 0.59 2.4c 0.27 1.08 0.99 2.49 2.13 2.49c 0.57 0 0.85 -0.29 0.85 -0.86c 0 -0.14 -0.02 -0.3 -0.07 -0.49c -0.14 -0.56 -0.4 -0.96 -0.79 -1.19c -0.22 0.08 -0.44 0.12 -0.66 0.12c -0.44 0 -0.89 -0.01 -0.89 -0.37c 0 -0.07 0.03 -0.13 0.08 -0.17c 0.09 -0.07 0.32 -0.11 0.71 -0.11c 0.25 0 0.5 0.04 0.73 0.12c 0.27 -0.22 0.41 -0.56 0.41 -1.02c 0 -0.25 -0.04 -0.54 -0.12 -0.85c -0.23 -0.9 -0.91 -1.76 -1.95 -1.76c -0.68 0 -1.08 0.51 -1.08 1.21Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia402b1e02-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia402b1e02-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;The &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/total-category.html&quot; data-entry=&quot;total-category&quot;&gt;total category&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Alg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mtext&gt;AlgStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the category of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebras.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;co-eilenberg-moore-displayed&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;The co-Eilenberg–Moore category as a displayed category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/co-eilenberg-moore-displayed.html&quot;&gt;co-eilenberg-moore-displayed&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;A comonad on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; &lt;em&gt;is&lt;/em&gt; a monad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;. Everything about its coalgebras is then inherited from the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot; data-entry=&quot;eilenberg-moore-displayed&quot;&gt;Eilenberg–Moore construction&lt;/a&gt;, instantiated at the opposite category — nothing is defined twice.&lt;/p&gt;
&lt;p&gt;Algebras of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; are &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebras&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; of the underlying endofunctor, and the monad algebra laws, read in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, are the comonad coalgebra laws — the unit and multiplication of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, viewed in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, are the counit &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and comultiplication &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽&lt;/mtext&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;The co-Eilenberg–Moore category is the opposite of the total category:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;coEM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;EM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;coalgebras-displayed&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;coalgebras-displayed&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;coalgebras-displayed&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;Coalgebras as a displayed category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot;&gt;coalgebras-displayed&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;coalgebras-displayed&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Coalgebras require no new construction: a coalgebra is an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra&lt;/a&gt; in the opposite category. Define&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;CoalgStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;AlgStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;a displayed category over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; acting on the opposite category.&lt;/p&gt;
&lt;p&gt;Concretely, over an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; a displayed object is a structure map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;The category of coalgebras is the opposite of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/total-category.html&quot; data-entry=&quot;total-category&quot;&gt;total category&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;Coalg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mtext&gt;CoalgStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;The outer opposite returns morphisms to the direction of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;comparison-functor&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;comparison-functor&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;comparison-functor&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The comparison functor of an adjunction&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/comparison-functor.html&quot;&gt;comparison-functor&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;comparison-functor&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;An adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a monad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mtext&gt;𝖨𝖽&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; for the &lt;em&gt;counit&lt;/em&gt; of the adjunction. Every object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; then induces a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra carried by the object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, witnessed by the map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This assignment extends to a functor into the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot; data-entry=&quot;eilenberg-moore-displayed&quot;&gt;Eilenberg–Moore category&lt;/a&gt;,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;EM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;the &lt;em&gt;comparison functor&lt;/em&gt; of the adjunction.&lt;/p&gt;
&lt;p&gt;Dually, an adjunction induces a comonad on the other side and a comparison into the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/co-eilenberg-moore-displayed.html&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot;&gt;co-Eilenberg–Moore category&lt;/a&gt;. When these comparisons are equivalences we say that the adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/monadicity-comonadicity.html&quot; data-entry=&quot;monadicity-comonadicity&quot;&gt;(co)monadic&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;direct-category&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;direct-category&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;direct-category&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Direct categories&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot;&gt;direct-category&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;direct-category&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;well-founded order&lt;/em&gt; is a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with a proposition-valued transitive relation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;&amp;lt;&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; admitting no infinite descent: every element is accessible. Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;&amp;lt;&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;∨&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;em&gt;direct structure&lt;/em&gt; on a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;&amp;lt;&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a functor&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≤&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;into the well-founded order viewed as a poset category. The functor organizes two pieces of data at once: an ordering on the objects, and the invariant that morphisms respect it — &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; forces &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;A direct structure equips the objects with a well-founded strict relation&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;≺&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟺&lt;/mo&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;&amp;lt;&lt;/mo&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Intuitively, direct categories are the right generalization of well-foundedness to the categorical setting: a direct category is essentially one whose underlying graph is a directed acyclic graph, layered by degree, so that data at an object may be defined by recursion from data at all objects strictly below it.&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 196.762244095 123.742913386&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;19.676em&quot; height=&quot;12.374em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(73.580550897 68.232367323)&quot; d=&quot;M 0 0m 0 45.703806998l 49.98127389 -45.703806998&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(123.297922913 68.23236737)&quot; d=&quot;M 0 0m 0.263901811 0c -0.413811268 0.981558134 -0.337670862 2.101193885 0.205217006 3.017692056&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(120.574480891 67.758704843)&quot; d=&quot;M 0 0m 2.987343833 0.473662527c -1.014566631 0.324577704 -2.122942468 0.148837605 -2.987343833 -0.473662527&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(137.540497427 68.186593643)&quot; d=&quot;M 0 0m 48.791746667 44.045986789l -48.791746667 -44.045986789&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(137.540497449 67.69382057)&quot; d=&quot;M 0 0m 0 0.492773225c 1.016623102 0.318077255 2.123851184 0.135246631 2.984250355 -0.492773225&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(137.354599428 68.186593795)&quot; d=&quot;M 0 0m 0.185898021 0c 0.420085171 0.978889228 0.35111257 2.098989154 -0.185898021 3.018943119&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(130.531496063 14.217417796)&quot; d=&quot;M 0 0m 0 38.433119085l 0 -38.433119085&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(130.531496158 14.217418016)&quot; d=&quot;M 0 0c 0.445120715 0.967761843 1.322770335 1.667127231 2.365480277 1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(128.166015881 14.217418016)&quot; d=&quot;M 0 0m 2.365480277 0c -0.445120715 0.967761843 -1.322770335 1.667127231 -2.365480277 1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(67.957014787 10.554391197)&quot; d=&quot;M 0 0m 0 100.297748723c 5.858426388 -38.797711829 25.171502578 -74.300500457 54.56072995 -100.297748723&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(122.239675266 10.555431969)&quot; d=&quot;M 0 0m 0.2789939 0c -0.424983195 0.976772909 -0.361621996 2.097204443 0.170773921 3.019836883&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(119.536924061 10.047716825)&quot; d=&quot;M 0 0m 2.981745104 0.507715144c -1.01820375 0.31298108 -2.124502324 0.124606648 -2.981745104 -0.507715144&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(138.545323594 10.554305343)&quot; d=&quot;M 0 0m 54.536151155 100.138607987c -5.869190963 -38.743412016 -25.173560624 -74.189857447 -54.536151155 -100.138607987&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(138.544398268 10.046231038)&quot; d=&quot;M 0 0m 0 0.509116741c 1.018350509 0.312502282 2.124560111 0.123607824 2.981505301 -0.509116741&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(138.375044106 10.55534778)&quot; d=&quot;M 0 0m 0.169354162 0c 0.425442239 0.97657275 0.362607805 2.097033652 -0.169354162 3.019916039&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 0.1525)&quot; d=&quot;M 0 0h 5l 0 6.745h -5l 0 -6.745Z &quot;/&gt;&lt;g transform=&quot;translate(-1.6e-8 0.152499874)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.745)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-gCA2859890ED68ED37341EB0EC2A7439F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 58.498956693)&quot; d=&quot;M 0 0h 5l 0 6.745h -5l 0 -6.745Z &quot;/&gt;&lt;g transform=&quot;translate(-1.6e-8 58.498956567)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.745)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 116.777913386)&quot; d=&quot;M 0 0h 5l 0 6.88h -5l 0 -6.88Z &quot;/&gt;&lt;g transform=&quot;translate(-1.6e-8 116.77791326)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.855)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g680E3DC13801C480E8C8C20AF58F6722&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(63.870748031 117.405413386)&quot; d=&quot;M 0 0h 5.29v 5.625h -5.29v -5.625Z &quot;/&gt;&lt;g transform=&quot;translate(63.870747953 117.405413386)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 5.68)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g9E7AA3F32BD8846D317A9CBD62B84F64&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(192.332244094 116.692913386)&quot; d=&quot;M 0 0h 4.43v 7.05h -4.43v -7.05Z &quot;/&gt;&lt;g transform=&quot;translate(192.332244032 116.692913291)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.94)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g6B8F6FEB7179D27D0697037F5C04DB43&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(128.241496063 59.058956693)&quot; d=&quot;M 0 0h 4.58v 5.625h -4.58v -5.625Z &quot;/&gt;&lt;g transform=&quot;translate(128.241495953 59.058956693)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 5.68)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g1C95891A0FBD06B1630F1B21FC3E3DF3&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(127.811496063)&quot; d=&quot;M 0 0h 5.44v 7.05h -5.44v -7.05Z &quot;/&gt;&lt;g transform=&quot;translate(127.811495937 -9.4e-8)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.94)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-gAE9FF52A1D42223AC1C1C189F82D6586&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaaac31a55-gCA2859890ED68ED37341EB0EC2A7439F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.37 6.66c -0.51 0 -0.94 -0.18 -1.31 -0.54c -0.37 -0.36 -0.56 -0.78 -0.56 -1.29c 0 -0.34 0.25 -0.59 0.56 -0.59c 0.3 0 0.55 0.26 0.55 0.56c 0 0.33 -0.24 0.56 -0.56 0.56c -0.03 0 -0.05 0 -0.07 -0.01c 0.19 0.49 0.63 0.92 1.26 0.92c 0.82 0 1.28 -0.71 1.28 -1.57c 0 -0.67 -0.34 -1.39 -1.02 -2.15l -1.88 -2.12c -0.13 -0.15 -0.12 -0.14 -0.12 -0.43h 3.71l 0.29 1.8h -0.33c -0.08 -0.51 -0.15 -0.8 -0.21 -0.89c -0.05 -0.05 -0.35 -0.07 -0.9 -0.07h -1.67l 0.97 0.95c 0.68 0.64 1.54 1.33 1.83 1.86c 0.2 0.35 0.3 0.7 0.3 1.05c 0 1.18 -0.92 1.96 -2.12 1.96Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g9895E63CDB1310374A05B4A6DB38230&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.69 6.66c -0.41 -0.42 -1.01 -0.63 -1.8 -0.63v -0.39c 0.52 0 0.95 0.08 1.28 0.24v -5.06c 0 -0.18 -0.04 -0.3 -0.13 -0.35c -0.09 -0.05 -0.34 -0.08 -0.74 -0.08h -0.35v -0.39c 0.25 0.02 0.79 0.03 1.62 0.03c 0.83 0 1.37 -0.01 1.62 -0.03v 0.39h -0.35c -0.41 0 -0.66 0.03 -0.74 0.08c -0.08 0.05 -0.13 0.17 -0.13 0.35v 5.54c 0 0.24 -0.02 0.3 -0.28 0.3Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g680E3DC13801C480E8C8C20AF58F6722&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.49 -0.22c 1.41 0 2.11 1.14 2.11 3.42c 0 1.53 -0.32 2.55 -0.95 3.05c -0.35 0.27 -0.74 0.41 -1.15 0.41c -1.41 0 -2.11 -1.15 -2.11 -3.46c 0 -1.84 0.49 -3.42 2.1 -3.42Z m 1.12 5.46c 0.07 -0.35 0.1 -0.99 0.1 -1.92c 0 -0.92 -0.04 -1.6 -0.11 -2.04c -0.13 -0.8 -0.5 -1.2 -1.11 -1.2c -0.23 0 -0.46 0.09 -0.67 0.26c -0.27 0.23 -0.43 0.7 -0.5 1.42c -0.03 0.25 -0.04 0.77 -0.04 1.56c 0 0.87 0.03 1.48 0.08 1.81c 0.09 0.55 0.27 0.9 0.55 1.05c 0.22 0.12 0.41 0.18 0.58 0.18c 0.65 0 1.01 -0.53 1.12 -1.12Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g9E7AA3F32BD8846D317A9CBD62B84F64&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.98 1.44c 0 0.09 -0.05 0.14 -0.16 0.14c -0.08 0 -0.14 -0.07 -0.17 -0.21c -0.2 -0.79 -0.44 -1.19 -0.71 -1.19c -0.17 0 -0.26 0.14 -0.26 0.42c 0 0.13 0.04 0.37 0.13 0.72l 0.57 2.25c 0.05 0.19 0.07 0.3 0.07 0.35c 0 0.2 -0.11 0.3 -0.33 0.3c -0.21 0 -0.35 -0.12 -0.42 -0.35c -0.21 0.37 -0.51 0.55 -0.89 0.55c -0.65 0 -1.22 -0.33 -1.72 -0.99c -0.46 -0.62 -0.69 -1.26 -0.69 -1.93c 0 -0.87 0.51 -1.61 1.35 -1.61c 0.43 0 0.85 0.23 1.25 0.69c 0.11 -0.38 0.45 -0.69 0.92 -0.69c 0.69 0 0.9 0.81 1.06 1.55Z m -1.57 2.3c 0.09 -0.21 0.14 -0.35 0.14 -0.44c 0 -0.04 -0.01 -0.09 -0.02 -0.16l -0.49 -1.92c -0.03 -0.11 -0.1 -0.23 -0.19 -0.35c -0.37 -0.46 -0.73 -0.69 -1.08 -0.69c -0.39 0 -0.59 0.3 -0.59 0.89c 0 0.24 0.06 0.6 0.18 1.08c 0.21 0.85 0.51 1.42 0.88 1.73c 0.2 0.17 0.39 0.25 0.58 0.25c 0.27 0 0.47 -0.13 0.59 -0.39Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g6B8F6FEB7179D27D0697037F5C04DB43&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.81 4.45c -0.36 0 -0.72 -0.17 -1.07 -0.51l 0.69 2.85c -0.02 0.09 -0.05 0.15 -0.17 0.15c -0.33 0 -1.06 -0.09 -1.19 -0.1c -0.15 -0.02 -0.23 -0.09 -0.23 -0.24c 0 -0.1 0.09 -0.15 0.28 -0.15c 0.19 0 0.45 0.01 0.45 -0.13c 0 -0.04 -0.05 -0.24 -0.14 -0.61l -0.8 -3.22c -0.11 -0.42 -0.16 -0.76 -0.16 -1.01c 0 -0.86 0.46 -1.59 1.28 -1.59c 0.65 0 1.22 0.33 1.72 1c 0.45 0.62 0.68 1.27 0.68 1.94c 0 0.87 -0.51 1.62 -1.34 1.62Z m -0.02 -0.3c 0.39 0 0.58 -0.3 0.58 -0.89c 0 -0.27 -0.06 -0.63 -0.18 -1.08c -0.22 -0.85 -0.51 -1.43 -0.86 -1.74c -0.2 -0.17 -0.39 -0.25 -0.58 -0.25c -0.41 0 -0.61 0.32 -0.61 0.96c 0 0.22 0.05 0.55 0.15 0.99l 0.22 0.9c 0.03 0.15 0.08 0.26 0.14 0.34c 0.39 0.51 0.77 0.77 1.14 0.77Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g1C95891A0FBD06B1630F1B21FC3E3DF3&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.28 3.25c 0 -0.25 0.13 -0.38 0.4 -0.38c 0.36 0 0.59 0.31 0.59 0.67c 0 0.56 -0.59 0.88 -1.19 0.88c -0.69 0 -1.32 -0.3 -1.86 -0.89c -0.54 -0.59 -0.81 -1.24 -0.81 -1.94c 0 -0.98 0.65 -1.7 1.63 -1.7c 0.53 0 1 0.13 1.41 0.38c 0.34 0.21 0.59 0.42 0.75 0.63c 0.07 0.09 0.1 0.16 0.1 0.19c 0 0.11 -0.05 0.17 -0.16 0.17c -0.05 0 -0.1 -0.04 -0.16 -0.12c -0.33 -0.44 -0.74 -0.72 -1.21 -0.84c -0.31 -0.08 -0.54 -0.12 -0.71 -0.12c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.62 0.29 1.52 0.53 1.95c 0.24 0.44 0.75 0.96 1.34 0.96c 0.38 0 0.64 -0.11 0.78 -0.32c -0.31 -0.03 -0.58 -0.23 -0.58 -0.56Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-gAE9FF52A1D42223AC1C1C189F82D6586&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.29 6.32l -0.59 -2.43c -0.21 0.37 -0.5 0.56 -0.89 0.56c -0.65 0 -1.22 -0.33 -1.72 -1c -0.46 -0.62 -0.69 -1.27 -0.69 -1.94c 0 -0.88 0.51 -1.62 1.35 -1.62c 0.43 0 0.85 0.23 1.25 0.7c 0.11 -0.38 0.45 -0.7 0.92 -0.7c 0.69 0 0.91 0.82 1.06 1.56c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.15 -0.07 -0.18 -0.21c -0.2 -0.79 -0.44 -1.19 -0.71 -1.19c -0.17 0 -0.26 0.14 -0.26 0.41c 0 0.15 0.02 0.31 0.06 0.47l 1.42 5.72v 0.04c -0.03 0.07 -0.09 0.11 -0.17 0.11c -0.23 0 -0.65 -0.04 -1.25 -0.11c -0.11 -0.01 -0.17 -0.09 -0.17 -0.23c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.19 0 0.45 0.01 0.45 -0.13Z m -0.88 -2.56c 0.1 -0.21 0.15 -0.35 0.15 -0.44c -0.01 -0.04 -0.02 -0.09 -0.03 -0.16l -0.49 -1.94c -0.03 -0.11 -0.1 -0.23 -0.19 -0.35c -0.37 -0.45 -0.73 -0.68 -1.08 -0.68c -0.39 0 -0.59 0.3 -0.59 0.89c 0 0.24 0.06 0.6 0.18 1.08c 0.21 0.85 0.51 1.43 0.88 1.74c 0.2 0.17 0.39 0.25 0.58 0.25c 0.27 0 0.47 -0.13 0.59 -0.39Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;The degrees order the objects, while the morphisms of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; say &lt;em&gt;how&lt;/em&gt; an object sits over its predecessors.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;earlier-presheaf&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;earlier-presheaf&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;earlier-presheaf&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Earlier on presheaves&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/earlier-presheaf.html&quot;&gt;earlier-presheaf&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;earlier-presheaf&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;&lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-presheaf.html&quot; data-entry=&quot;later-presheaf&quot;&gt;Later&lt;/a&gt; takes a &lt;em&gt;limit&lt;/em&gt; over smaller indices. Dually, the &lt;em&gt;earlier&lt;/em&gt; modality takes a colimit over larger indices: an element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊲&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-element sitting at some object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; strictly above &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, carried down along a chosen morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Earlier is left adjoint to later:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊲&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊣&lt;/mo&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Under this adjunction, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; corresponds to&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗉𝗋𝖾𝗏&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊲&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;eilenberg-moore-displayed&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;eilenberg-moore-displayed&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;eilenberg-moore-displayed&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;The Eilenberg–Moore category as a displayed category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot;&gt;eilenberg-moore-displayed&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;eilenberg-moore-displayed&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;Fix a monad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝜂&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Its Eilenberg–Moore category arises in two displayed layers. The first layer is the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;displayed category of algebras&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;AlgStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; of the underlying endofunctor.&lt;/p&gt;
&lt;p&gt;The second layer, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;EMStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, is displayed over the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/total-category.html&quot; data-entry=&quot;total-category&quot;&gt;total category&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Alg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. Over an algebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; the displayed objects are the &lt;em&gt;propositions&lt;/em&gt; that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfies the monad algebra laws:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝜂&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽&lt;/mtext&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;The Eilenberg–Moore category is the total category of the tower:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;EM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mtext&gt;EMStr&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;initial-algebra&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;initial-algebra&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;initial-algebra&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Initial algebra&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/initial-algebra.html&quot;&gt;initial-algebra&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;initial-algebra&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. An &lt;em&gt;initial &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra&lt;/em&gt;, written &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, is an initial object of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;category of algebras&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Alg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Unfolding the universal property: an initial algebra is an algebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;in&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; such that every algebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; admits a unique morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;fold&lt;/mtext&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfying&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;in&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;fold&lt;/mtext&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;fold&lt;/mtext&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;later-family&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;later-family&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;later-family&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Later on families&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/later-family.html&quot;&gt;later-family&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;later-family&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Conjugation with the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/presheaf-family-adjoint-triple.html&quot; data-entry=&quot;presheaf-family-adjoint-triple&quot;&gt;adjunction between presheaves and families&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; lets us induce a later construction on families from the one on presheaves,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0em&quot;&gt;∘&lt;/mo&gt;&lt;mo&gt;⊳&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Concretely, later on families evaluates to&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∏&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≺&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mtext&gt; &lt;/mtext&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot;&gt;∏&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;later-presheaf&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;later-presheaf&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;later-presheaf&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Later on presheaves&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/later-presheaf.html&quot;&gt;later-presheaf&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;later-presheaf&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;em&gt;later&lt;/em&gt; modality for presheaves on a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct category&lt;/a&gt; is given by the presheaf of natural transformations&lt;/p&gt;
&lt;p&gt;out of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot; data-entry=&quot;strict-downset-sieve&quot;&gt;strict downset&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;An element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a coherent choice of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-elements at all objects strictly smaller than &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Restriction in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; along &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; precomposes with the induced map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. At an object of minimal degree the strict downset is empty, so &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is trivial there.&lt;/p&gt;
&lt;p&gt;Via functoriality, every presheaf restricts to smaller indices. Thus we may define the map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;that sends an element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to the family of all its restrictions along morphisms from strictly lower objects.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;lob-family&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;lob-family&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;lob-family&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Theorem.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Löb induction on families&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/lob-family.html&quot;&gt;lob-family&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;lob-family&quot; data-kind=&quot;theorem&quot; data-label=&quot;Theorem&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Like &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-family.html&quot; data-entry=&quot;later-family&quot;&gt;later on families&lt;/a&gt;, the recursion principle for families is inherited from that on presheaves. Given a family &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a step&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mtext&gt;for each &lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;the construction is a chain of transpositions with &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lob-presheaf.html&quot; data-entry=&quot;lob-presheaf&quot;&gt;Löb for presheaves&lt;/a&gt; used in the middle: &lt;span class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 194.633722222 80.867&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;19.463em&quot; height=&quot;8.087em&quot; role=&quot;img&quot;&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 15.027)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 17.027)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 31.987)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 33.987)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 48.947)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 63.907)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 65.907)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;g transform=&quot;translate(27.169 2.5)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.946777778 9.98)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gF0C36D80D26B0B0857EE4DB6EE3C79AF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.326777778 12.45)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g6C7EA5BE9CFB6D2ED55C7746A26C9BD5&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2F7842FC8315D847FDA1D80D8B014E81&quot; x=&quot;4.571&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2DBE370D0655DFF0661B5BE47B6910FD&quot; x=&quot;8.071&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 54.566555556 9.98)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 64.844333333 9.98)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 77.622111111 9.98)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;translate(112.291111111 15.027)&quot;&gt;&lt;g transform=&quot;translate(4 -0.211225)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 6.822 1.913775)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g49234BD97F8D7B774F89A64C3A887F83&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;4.726&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; x=&quot;8.5&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g249F38933675978CA6BA9B66F5965FA7&quot; x=&quot;11.101&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8C61984FCD6243B0954CAF1A47F80040&quot; x=&quot;13.464&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g249F38933675978CA6BA9B66F5965FA7&quot; x=&quot;18.19&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gA4853A2CA3EA6B1949E4395798CA21DA&quot; x=&quot;20.553&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g249F38933675978CA6BA9B66F5965FA7&quot; x=&quot;23.8595&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; x=&quot;26.2225&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8C61984FCD6243B0954CAF1A47F80040&quot; x=&quot;30.4725&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; x=&quot;38.0205&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; x=&quot;42.2705&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 54.054611111 1.913775)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g16E6FABDC9C80C42F8BE020D5F10A392&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 60.327611111 4.013275)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8702FE1C44ED0DAC9C9EF6F4541A8070&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g9610288EFE742F55BA34B736BFE18222&quot; x=&quot;3.88535&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gCA4C5A596445222C7E188A267E26DAFE&quot; x=&quot;6.86035&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform=&quot;translate(13.1 19.527)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.42 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1296254C25BF8B536B0FB930CA3A255C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.077777778 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gF0C36D80D26B0B0857EE4DB6EE3C79AF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.235555556 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 68.635555556 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 78.913333333 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 91.691111111 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;translate(112.291111111 31.987)&quot;&gt;&lt;g transform=&quot;translate(4 0.77775)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 6.822 2.90275)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1BA453E68118569852F1EE25C23C13AB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.881111111 2.90275)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g3AFC1E1C6084C2978DF3D569E28C9ED8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.435722222 2.90275)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7E076845AD5FB032EAA9080C51DB0589&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; x=&quot;6.137&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; x=&quot;10.387&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g56DA312D17328634B79D1808284C07A8&quot; x=&quot;12.988&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;16.32&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;20.094&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform=&quot;translate(3 36.487)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.777777778 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gF0C36D80D26B0B0857EE4DB6EE3C79AF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.935555556 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 47.335555556 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 57.613333333 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 70.391111111 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 101.791111111 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;translate(112.291111111 48.947)&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 4 2.70725)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g222F734FB41E781BE876FA1D18809A1&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g358F78E45E593FA8755E4767B3FAA37E&quot; x=&quot;4.488&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g340AB27F2C8F6536A22645C5B8782396&quot; x=&quot;9.2735&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform=&quot;translate(23.367777778 51.447)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.687777778 58.927)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gC5E2FF3401D41F849419013CA8730404&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.245555556 58.927)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 50.023333333 58.927)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 81.423333333 58.927)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;translate(112.291111111 63.907)&quot;&gt;&lt;g transform=&quot;translate(4 0.051)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 6.822 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1BA453E68118569852F1EE25C23C13AB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.881111111 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g3AFC1E1C6084C2978DF3D569E28C9ED8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.435722222 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7E076845AD5FB032EAA9080C51DB0589&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; x=&quot;6.137&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; x=&quot;10.387&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g56DA312D17328634B79D1808284C07A8&quot; x=&quot;12.988&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;16.32&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;20.094&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 47.303722222 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g46CE13F1B5A06DB23D1B7850ECE88C30&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 51.083388889 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1BA453E68118569852F1EE25C23C13AB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 57.781388889 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8E1884305EC1C1EEFAD30A43F77A336A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 66.7555 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g34D8608EF6AA267C9C5FB353303AB77&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 75.729611111 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8E1884305EC1C1EEFAD30A43F77A336A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform=&quot;translate(39.067777778 68.407)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 42.387777778 75.887)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gC5E2FF3401D41F849419013CA8730404&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 52.945555556 75.887)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 65.723333333 75.887)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia1f628d16-gF0C36D80D26B0B0857EE4DB6EE3C79AF&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.69 2.29c 0.09 0.04 0.13 0.11 0.13 0.21c 0 0.1 -0.04 0.17 -0.13 0.21l -5.79 2.74c -0.05 0.01 -0.08 0.02 -0.1 0.02c -0.16 0 -0.24 -0.08 -0.24 -0.24v -5.46c 0 -0.16 0.08 -0.24 0.24 -0.24c 0.02 0 0.05 0.01 0.1 0.02Z m -5.66 2.57l 5 -2.36l -5 -2.36Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g6C7EA5BE9CFB6D2ED55C7746A26C9BD5&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.925 4.487h 0.826c 0.497 0 0.819 -0.105 0.98 -0.308c 0.224 -0.273 0.252 -0.532 0.315 -1.029h 0.231l -0.203 1.61h -3.843v -0.273h 0.196c 0.245 0 0.392 -0.014 0.441 -0.049c 0.049 -0.035 0.077 -0.119 0.077 -0.245v -3.626c 0 -0.126 -0.028 -0.21 -0.077 -0.245c -0.049 -0.035 -0.196 -0.049 -0.441 -0.049h -0.196v -0.273c 0.182 0.014 0.539 0.021 1.078 0.021c 0.609 0 1.001 -0.007 1.19 -0.021v 0.273h -0.259c -0.371 0 -0.574 0.035 -0.609 0.112c -0.014 0.035 -0.021 0.098 -0.021 0.189v 1.673h 0.567c 0.301 0 0.497 -0.056 0.581 -0.161c 0.084 -0.105 0.126 -0.315 0.126 -0.644h 0.224v 1.883h -0.224c 0 -0.322 -0.042 -0.539 -0.126 -0.644c -0.084 -0.105 -0.28 -0.161 -0.581 -0.161h -0.567v 1.722c 0 0.252 0.042 0.245 0.315 0.245Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g2F7842FC8315D847FDA1D80D8B014E81&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.381 0.637v 0.413h -0.224v -0.413c 0 -0.273 -0.077 -0.413 -0.224 -0.413c -0.14 0 -0.224 0.175 -0.224 0.315v 1.379c 0 0.245 -0.028 0.427 -0.077 0.553c -0.168 0.413 -0.651 0.665 -1.141 0.665c -0.539 0 -1.071 -0.301 -1.071 -0.805c 0 -0.231 0.119 -0.35 0.35 -0.35c 0.231 0 0.343 0.112 0.343 0.343c 0 0.203 -0.105 0.322 -0.322 0.343c 0.154 0.175 0.385 0.266 0.686 0.266c 0.434 0 0.7 -0.399 0.7 -0.854v -0.231c -0.546 -0.035 -0.959 -0.119 -1.246 -0.252c -0.469 -0.217 -0.707 -0.518 -0.707 -0.917c 0 -0.182 0.07 -0.336 0.203 -0.455c 0.224 -0.203 0.532 -0.301 0.924 -0.301c 0.413 0 0.707 0.175 0.889 0.532c 0.049 -0.266 0.245 -0.497 0.546 -0.497c 0.371 0 0.595 0.294 0.595 0.679Z m -1.981 -0.511c -0.322 0 -0.588 0.238 -0.588 0.56c 0 0.651 0.679 0.931 1.365 0.966v -0.665c 0 -0.469 -0.308 -0.861 -0.777 -0.861Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g2DBE370D0655DFF0661B5BE47B6910FD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.205 2.891c 0.322 0 0.483 -0.245 0.483 -0.742v -1.596c 0 -0.133 -0.021 -0.217 -0.07 -0.245c -0.049 -0.028 -0.21 -0.042 -0.469 -0.042v -0.266l 0.812 0.021l 0.805 -0.021v 0.266c -0.259 0 -0.413 0.014 -0.462 0.042c -0.049 0.028 -0.077 0.112 -0.077 0.245v 1.26c 0 0.56 0.364 1.078 0.903 1.078c 0.329 0 0.49 -0.245 0.49 -0.742v -1.596c 0 -0.133 -0.028 -0.217 -0.077 -0.245c -0.049 -0.028 -0.21 -0.042 -0.469 -0.042v -0.266l 0.812 0.021l 0.805 -0.021v 0.266c -0.224 0 -0.371 0.007 -0.441 0.028c -0.07 0.021 -0.098 0.07 -0.098 0.154v 1.309c 0 0.329 -0.014 0.56 -0.035 0.693c -0.07 0.427 -0.385 0.644 -0.938 0.644c -0.441 0 -0.77 -0.203 -0.994 -0.616c -0.098 0.413 -0.406 0.616 -0.931 0.616c -0.441 0 -0.777 -0.21 -1.001 -0.63v 0.63l -1.029 -0.077v -0.266c 0.252 0 0.406 -0.021 0.462 -0.063c 0.056 -0.042 0.077 -0.133 0.077 -0.294v -1.841c 0 -0.133 -0.028 -0.217 -0.077 -0.245c -0.049 -0.028 -0.203 -0.042 -0.462 -0.042v -0.266l 0.812 0.021l 0.805 -0.021v 0.266c -0.259 0 -0.42 0.014 -0.469 0.042c -0.049 0.028 -0.077 0.112 -0.077 0.245v 1.26c 0 0.567 0.371 1.078 0.91 1.078Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.37 0.03c 0.18 0 0.8 -0.03 0.99 -0.03c 0.15 0 0.22 0.08 0.22 0.23c 0 0.09 -0.06 0.15 -0.19 0.16c -0.29 0.01 -0.43 0.11 -0.43 0.3c 0 0.09 0.09 0.29 0.28 0.59c 0.27 0.45 0.46 0.78 0.59 1h 2.43c 0 -0.07 0.01 -0.21 0.04 -0.43c 0.07 -0.73 0.11 -1.13 0.11 -1.18c 0 -0.19 -0.22 -0.28 -0.67 -0.28c -0.19 0 -0.28 -0.08 -0.28 -0.24c 0 -0.1 0.06 -0.15 0.18 -0.15c 0.24 0 1 0.03 1.24 0.03c 0.2 0 0.91 -0.03 1.11 -0.03c 0.15 0 0.22 0.08 0.22 0.24c 0 0.1 -0.09 0.15 -0.27 0.15c -0.28 0 -0.45 0.02 -0.5 0.05c -0.05 0.03 -0.09 0.12 -0.1 0.27l -0.6 6.18c -0.03 0.19 -0.02 0.27 -0.23 0.27c -0.12 0 -0.22 -0.06 -0.29 -0.19l -3.44 -5.77c -0.3 -0.5 -0.7 -0.77 -1.19 -0.81c -0.16 -0.01 -0.24 -0.09 -0.24 -0.24c 0 -0.1 0.06 -0.15 0.17 -0.15c 0.16 0 0.69 0.03 0.85 0.03Z m 3.55 5.74l 0.3 -3.1h -2.15Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 9.32 2.34c 0.07 0.03 0.11 0.09 0.11 0.16c 0 0.07 -0.04 0.13 -0.11 0.16c -0.48 0.16 -0.93 0.5 -1.35 1.02c -0.28 0.35 -0.47 0.76 -0.56 1.23c -0.03 0.13 -0.11 0.19 -0.24 0.19c -0.16 0 -0.24 -0.08 -0.24 -0.25l 0.01 -0.02v -0.01c 0.17 -0.87 0.61 -1.56 1.34 -2.08h -7.46c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.16 0.08 -0.24 0.24 -0.24h 7.46c -0.73 -0.52 -1.17 -1.21 -1.34 -2.08v -0.01l -0.01 -0.02c 0 -0.17 0.08 -0.25 0.24 -0.25c 0.13 0 0.21 0.06 0.24 0.19c 0.09 0.47 0.28 0.88 0.56 1.23c 0.42 0.52 0.87 0.86 1.35 1.02Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g49234BD97F8D7B774F89A64C3A887F83&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.179 -0.0935l 1.3005 0.0935v 0.323c -0.306 0 -0.4845 0.017 -0.5525 0.068c -0.068 0.051 -0.102 0.1785 -0.102 0.374v 5.134l -1.2665 -0.0935v -0.323c 0.2975 0 0.4845 -0.0255 0.5525 -0.0765c 0.068 -0.051 0.0935 -0.17 0.0935 -0.3655v -1.7255c -0.272 0.3145 -0.612 0.4675 -1.02 0.4675c -0.527 0 -0.9775 -0.187 -1.343 -0.5695c -0.3655 -0.3825 -0.5525 -0.8415 -0.5525 -1.377c 0 -0.5185 0.17 -0.969 0.5185 -1.3515c 0.3485 -0.3825 0.7735 -0.578 1.292 -0.578c 0.4335 0 0.799 0.1615 1.0795 0.493Z m -0.9605 3.621c 0.3655 0 0.663 -0.1615 0.8755 -0.4845c 0.0595 -0.0935 0.085 -0.187 0.085 -0.2975v -1.717c 0 -0.1105 -0.0255 -0.204 -0.085 -0.2975c -0.238 -0.3825 -0.561 -0.5695 -0.9605 -0.5695c -0.3485 0 -0.629 0.17 -0.85 0.5185c -0.153 0.255 -0.2295 0.6375 -0.2295 1.1475c 0 0.9265 0.3145 1.7 1.1645 1.7Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.5275 2.1335c 0 0.9775 -0.5695 1.6745 -1.5215 1.6745c -0.51 0 -0.935 -0.1955 -1.2835 -0.595c -0.323 -0.374 -0.4845 -0.8245 -0.4845 -1.343c 0 -0.5355 0.1785 -0.986 0.5355 -1.377c 0.357 -0.391 0.799 -0.5865 1.326 -0.5865c 0.4845 0 0.8585 0.17 1.1135 0.5015c 0.2125 0.2805 0.3145 0.4845 0.3145 0.6205c 0 0.085 -0.051 0.1275 -0.1445 0.1275c -0.068 0 -0.1105 -0.0425 -0.136 -0.136c -0.187 -0.561 -0.5525 -0.8415 -1.0965 -0.8415c -0.3825 0 -0.68 0.1785 -0.9095 0.544c -0.1615 0.2635 -0.238 0.663 -0.2465 1.207h 2.295c 0.187 0 0.238 0.017 0.238 0.204Z m -0.7565 0.833c 0.0935 -0.2805 0.136 -0.5525 0.136 -0.799h -1.904c 0.0255 0.561 0.17 0.9435 0.425 1.139c 0.2125 0.17 0.3995 0.255 0.578 0.255c 0.3825 0 0.6375 -0.1955 0.765 -0.595Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.2525 5.9925c -0.7565 0 -1.3175 -0.612 -1.3175 -1.3685v -0.935h -0.6545v -0.323h 0.6545v -2.6945c 0 -0.1615 -0.0255 -0.2635 -0.085 -0.2975c -0.0595 -0.034 -0.2465 -0.0425 -0.561 -0.0425v -0.3315l 0.9775 0.0255c 0.357 0.0085 0.7225 0 1.088 -0.0255v 0.3315h -0.204c -0.2805 0 -0.459 0.017 -0.5185 0.0595c -0.0595 0.0425 -0.085 0.1445 -0.085 0.2975v 2.6775h 0.952v 0.323h -0.9775v 0.9435c 0 0.51 0.2635 1.105 0.731 1.105c 0.068 0 0.1275 -0.0085 0.187 -0.0255c -0.1275 -0.068 -0.1955 -0.187 -0.1955 -0.3485c 0 -0.2635 0.1275 -0.3995 0.391 -0.3995c 0.2635 0 0.3995 0.136 0.3995 0.408c 0 0.3825 -0.3995 0.6205 -0.782 0.6205Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g249F38933675978CA6BA9B66F5965FA7&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.649 5.1085c 0 0.255 -0.2125 0.476 -0.4675 0.476c -0.255 0 -0.476 -0.221 -0.476 -0.476c 0 -0.255 0.2125 -0.4845 0.4675 -0.4845c 0.2635 0 0.476 0.221 0.476 0.4845Z m -0.4335 -5.083l 0.884 -0.0255v 0.3315c -0.2805 0 -0.4505 0.017 -0.5015 0.051c -0.051 0.034 -0.068 0.1275 -0.068 0.2805v 3.1195l -1.2155 -0.102v -0.323c 0.2805 0 0.459 -0.0255 0.5185 -0.068c 0.0595 -0.0425 0.085 -0.1615 0.085 -0.357v -2.261c 0 -0.1615 -0.0255 -0.2635 -0.085 -0.2975c -0.0595 -0.034 -0.2465 -0.0425 -0.5525 -0.0425v -0.3315Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g8C61984FCD6243B0954CAF1A47F80040&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.669 3.5105c 0.3825 0 0.578 -0.2975 0.578 -0.901v -1.938c 0 -0.1615 -0.0255 -0.2635 -0.085 -0.2975c -0.0595 -0.034 -0.2465 -0.051 -0.561 -0.051v -0.323l 0.9775 0.0255l 0.969 -0.0255v 0.323c -0.272 0 -0.4505 0.0085 -0.5355 0.034c -0.085 0.0255 -0.119 0.085 -0.119 0.187v 1.5895c 0 0.3995 -0.0085 0.68 -0.034 0.8415c -0.085 0.5185 -0.4675 0.782 -1.139 0.782c -0.5355 0 -0.935 -0.255 -1.1985 -0.765v 0.765l -1.2495 -0.0935v -0.323c 0.306 0 0.493 -0.0255 0.561 -0.0765c 0.068 -0.051 0.0935 -0.1615 0.0935 -0.357v -2.2355c 0 -0.1615 -0.034 -0.2635 -0.0935 -0.2975c -0.0595 -0.034 -0.2465 -0.051 -0.561 -0.051v -0.323l 0.9775 0.0255l 0.969 -0.0255v 0.323c -0.3145 0 -0.493 0.017 -0.5525 0.051c -0.0595 0.034 -0.0935 0.136 -0.0935 0.2975v 1.53c 0 0.6885 0.4335 1.309 1.0965 1.309Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gA4853A2CA3EA6B1949E4395798CA21DA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.822 1.071v 0.51h -0.272v -0.493c 0 -0.425 -0.153 -0.901 -0.527 -0.901c -0.3485 0 -0.5185 0.289 -0.5185 0.867v 2.3035h 1.1815v 0.323h -1.1815v 1.547h -0.272c -0.0085 -0.2805 -0.034 -0.527 -0.0935 -0.748c -0.1445 -0.561 -0.476 -0.85 -0.9775 -0.8755v -0.2465h 0.7055v -2.2865c 0 -0.5015 0.153 -0.8245 0.4505 -0.986c 0.2295 -0.119 0.442 -0.1785 0.6545 -0.1785c 0.561 0 0.85 0.561 0.85 1.1645Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.1165 -0.0935c 0.527 0 0.969 0.187 1.3345 0.561c 0.3655 0.374 0.5525 0.8245 0.5525 1.3515c 0 0.5355 -0.1785 1.003 -0.5355 1.394c -0.357 0.391 -0.8075 0.595 -1.343 0.595c -0.5355 0 -0.9775 -0.204 -1.343 -0.595c -0.3655 -0.391 -0.544 -0.8585 -0.544 -1.394c 0 -0.527 0.1785 -0.9775 0.544 -1.3515c 0.3655 -0.374 0.816 -0.561 1.3345 -0.561Z m 0.0085 0.272c -0.408 0 -0.714 0.1785 -0.9265 0.544c -0.136 0.238 -0.204 0.629 -0.204 1.1645c 0 0.5185 0.068 0.8925 0.1955 1.1305c 0.204 0.3655 0.51 0.544 0.9265 0.544c 0.3995 0 0.7055 -0.1785 0.918 -0.527c 0.1445 -0.238 0.2125 -0.6205 0.2125 -1.1475c 0 -0.986 -0.289 -1.7085 -1.122 -1.7085Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g16E6FABDC9C80C42F8BE020D5F10A392&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.6865 1.9465c 0.0765 0.034 0.1105 0.0935 0.1105 0.1785c 0 0.085 -0.034 0.1445 -0.1105 0.1785l -4.9215 2.329c -0.0425 0.0085 -0.068 0.017 -0.085 0.017c -0.136 0 -0.204 -0.068 -0.204 -0.204v -4.641c 0 -0.136 0.068 -0.204 0.204 -0.204c 0.017 0 0.0425 0.0085 0.085 0.017Z m -4.811 2.1845l 4.25 -2.006l -4.25 -2.006Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g8702FE1C44ED0DAC9C9EF6F4541A8070&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63625 3.81395h 0.7021c 0.42245 0 0.69615 -0.08925 0.833 -0.2618c 0.1904 -0.23205 0.2142 -0.4522 0.26775 -0.87465h 0.19635l -0.17255 1.3685h -3.26655v -0.23205h 0.1666c 0.20825 0 0.3332 -0.0119 0.37485 -0.04165c 0.04165 -0.02975 0.06545 -0.10115 0.06545 -0.20825v -3.0821c 0 -0.1071 -0.0238 -0.1785 -0.06545 -0.20825c -0.04165 -0.02975 -0.1666 -0.04165 -0.37485 -0.04165h -0.1666v -0.23205c 0.1547 0.0119 0.45815 0.01785 0.9163 0.01785c 0.51765 0 0.85085 -0.00595 1.0115 -0.01785v 0.23205h -0.22015c -0.31535 0 -0.4879 0.02975 -0.51765 0.0952c -0.0119 0.02975 -0.01785 0.0833 -0.01785 0.16065v 1.42205h 0.48195c 0.25585 0 0.42245 -0.0476 0.49385 -0.13685c 0.0714 -0.08925 0.1071 -0.26775 0.1071 -0.5474h 0.1904v 1.60055h -0.1904c 0 -0.2737 -0.0357 -0.45815 -0.1071 -0.5474c -0.0714 -0.08925 -0.238 -0.13685 -0.49385 -0.13685h -0.48195v 1.4637c 0 0.2142 0.0357 0.20825 0.26775 0.20825Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g9610288EFE742F55BA34B736BFE18222&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.87385 0.54145v 0.35105h -0.1904v -0.35105c 0 -0.23205 -0.06545 -0.35105 -0.1904 -0.35105c -0.119 0 -0.1904 0.14875 -0.1904 0.26775v 1.17215c 0 0.20825 -0.0238 0.36295 -0.06545 0.47005c -0.1428 0.35105 -0.55335 0.56525 -0.96985 0.56525c -0.45815 0 -0.91035 -0.25585 -0.91035 -0.68425c 0 -0.19635 0.10115 -0.2975 0.2975 -0.2975c 0.19635 0 0.29155 0.0952 0.29155 0.29155c 0 0.17255 -0.08925 0.2737 -0.2737 0.29155c 0.1309 0.14875 0.32725 0.2261 0.5831 0.2261c 0.3689 0 0.595 -0.33915 0.595 -0.7259v -0.19635c -0.4641 -0.02975 -0.81515 -0.10115 -1.0591 -0.2142c -0.39865 -0.18445 -0.60095 -0.4403 -0.60095 -0.77945c 0 -0.1547 0.0595 -0.2856 0.17255 -0.38675c 0.1904 -0.17255 0.4522 -0.25585 0.7854 -0.25585c 0.35105 0 0.60095 0.14875 0.75565 0.4522c 0.04165 -0.2261 0.20825 -0.42245 0.4641 -0.42245c 0.31535 0 0.50575 0.2499 0.50575 0.57715Z m -1.68385 -0.43435c -0.2737 0 -0.4998 0.2023 -0.4998 0.476c 0 0.55335 0.57715 0.79135 1.16025 0.8211v -0.56525c 0 -0.39865 -0.2618 -0.73185 -0.66045 -0.73185Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gCA4C5A596445222C7E188A267E26DAFE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.87425 2.45735c 0.2737 0 0.41055 -0.20825 0.41055 -0.6307v -1.3566c 0 -0.11305 -0.01785 -0.18445 -0.0595 -0.20825c -0.04165 -0.0238 -0.1785 -0.0357 -0.39865 -0.0357v -0.2261l 0.6902 0.01785l 0.68425 -0.01785v 0.2261c -0.22015 0 -0.35105 0.0119 -0.3927 0.0357c -0.04165 0.0238 -0.06545 0.0952 -0.06545 0.20825v 1.071c 0 0.476 0.3094 0.9163 0.76755 0.9163c 0.27965 0 0.4165 -0.20825 0.4165 -0.6307v -1.3566c 0 -0.11305 -0.0238 -0.18445 -0.06545 -0.20825c -0.04165 -0.0238 -0.1785 -0.0357 -0.39865 -0.0357v -0.2261l 0.6902 0.01785l 0.68425 -0.01785v 0.2261c -0.1904 0 -0.31535 0.00595 -0.37485 0.0238c -0.0595 0.01785 -0.0833 0.0595 -0.0833 0.1309v 1.11265c 0 0.27965 -0.0119 0.476 -0.02975 0.58905c -0.0595 0.36295 -0.32725 0.5474 -0.7973 0.5474c -0.37485 0 -0.6545 -0.17255 -0.8449 -0.5236c -0.0833 0.35105 -0.3451 0.5236 -0.79135 0.5236c -0.37485 0 -0.66045 -0.1785 -0.85085 -0.5355v 0.5355l -0.87465 -0.06545v -0.2261c 0.2142 0 0.3451 -0.01785 0.3927 -0.05355c 0.0476 -0.0357 0.06545 -0.11305 0.06545 -0.2499v -1.56485c 0 -0.11305 -0.0238 -0.18445 -0.06545 -0.20825c -0.04165 -0.0238 -0.17255 -0.0357 -0.3927 -0.0357v -0.2261l 0.6902 0.01785l 0.68425 -0.01785v 0.2261c -0.22015 0 -0.357 0.0119 -0.39865 0.0357c -0.04165 0.0238 -0.06545 0.0952 -0.06545 0.20825v 1.071c 0 0.48195 0.31535 0.9163 0.7735 0.9163Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g1296254C25BF8B536B0FB930CA3A255C&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.42 6.8c -0.19 0 -0.83 0.03 -1.02 0.03c -0.15 0 -0.22 -0.08 -0.22 -0.24c 0 -0.09 0.07 -0.14 0.21 -0.15c 0.43 0 0.64 -0.13 0.64 -0.39c 0 -0.06 -0.01 -0.13 -0.03 -0.2l -0.89 -3.53c -0.15 -0.57 -0.44 -1.06 -0.87 -1.48c -0.47 -0.45 -0.99 -0.67 -1.55 -0.67c -0.74 0 -1.17 0.5 -1.17 1.24l 0.01 0.09c 0 0.19 0.03 0.41 0.1 0.67l 0.96 3.85c 0.05 0.21 0.14 0.34 0.27 0.39c 0.06 0.02 0.23 0.03 0.52 0.03c 0.26 0 0.37 0 0.37 0.24c 0 0.1 -0.06 0.15 -0.17 0.15l -1.27 -0.03l -1.27 0.03c -0.16 0 -0.23 -0.09 -0.23 -0.24c 0 -0.07 0.03 -0.12 0.08 -0.13c 0.1 -0.01 0.18 -0.02 0.23 -0.02c 0.31 -0.01 0.49 -0.03 0.54 -0.04c 0.05 -0.01 0.07 -0.04 0.07 -0.09c 0 -0.02 -0.01 -0.09 -0.04 -0.2l -0.95 -3.81c -0.05 -0.19 -0.07 -0.38 -0.07 -0.58c 0 -1.15 0.83 -1.94 1.98 -1.94c 0.65 0 1.25 0.25 1.8 0.76c 0.53 0.48 0.87 1.04 1.03 1.69l 0.88 3.51c 0.13 0.51 0.41 0.69 1.03 0.7c 0.14 0.01 0.21 0.09 0.21 0.24v 0.04c -0.03 0.07 -0.08 0.11 -0.17 0.11c -0.19 0 -0.82 -0.03 -1.01 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.65 4.43v 2.34c 0 0.19 -0.05 0.28 -0.15 0.28c -0.07 0 -0.13 -0.05 -0.19 -0.14l -0.47 -0.69c -0.3 0.31 -0.62 0.53 -0.97 0.67c -0.26 0.11 -0.54 0.16 -0.84 0.16c -0.97 0 -1.8 -0.35 -2.47 -1.07c -0.67 -0.72 -1 -1.57 -1 -2.56c 0 -0.99 0.33 -1.84 0.99 -2.55c 0.67 -0.73 1.5 -1.09 2.48 -1.09c 0.71 0 1.33 0.25 1.85 0.75c 0.52 0.5 0.77 1.1 0.77 1.81c 0 0.14 -0.06 0.21 -0.17 0.21c -0.1 0 -0.15 -0.04 -0.15 -0.13c 0 -0.01 0 -0.03 -0.01 -0.06c -0.06 -1.2 -0.92 -2.19 -2.17 -2.19c -0.37 0 -0.74 0.1 -1.13 0.3c -0.92 0.5 -1.36 1.46 -1.36 2.94c 0 1.4 0.49 2.48 1.36 2.95c 0.39 0.2 0.76 0.3 1.12 0.3c 1.24 0 1.95 -1.13 2.12 -2.31c 0.01 -0.13 0.08 -0.2 0.19 -0.2c 0.2 0 0.2 0.08 0.2 0.28Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g17477BF20E3154367137D1088035D323&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.49 -0.11c 0.62 0 1.14 0.22 1.57 0.66c 0.43 0.44 0.65 0.97 0.65 1.59c 0 0.63 -0.21 1.18 -0.63 1.64c -0.42 0.46 -0.95 0.7 -1.58 0.7c -0.63 0 -1.15 -0.24 -1.58 -0.7c -0.43 -0.46 -0.64 -1.01 -0.64 -1.64c 0 -0.62 0.21 -1.15 0.64 -1.59c 0.43 -0.44 0.96 -0.66 1.57 -0.66Z m 0.01 0.32c -0.48 0 -0.84 0.21 -1.09 0.64c -0.16 0.28 -0.24 0.74 -0.24 1.37c 0 0.61 0.08 1.05 0.23 1.33c 0.24 0.43 0.6 0.64 1.09 0.64c 0.47 0 0.83 -0.21 1.08 -0.62c 0.17 -0.28 0.25 -0.73 0.25 -1.35c 0 -1.16 -0.34 -2.01 -1.32 -2.01Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.65 7.05c -0.89 0 -1.55 -0.72 -1.55 -1.61v -1.1h -0.77v -0.38h 0.77v -3.17c 0 -0.19 -0.03 -0.31 -0.1 -0.35c -0.07 -0.04 -0.29 -0.05 -0.66 -0.05v -0.39l 1.15 0.03c 0.42 0.01 0.85 0 1.28 -0.03v 0.39h -0.24c -0.33 0 -0.54 0.02 -0.61 0.07c -0.07 0.05 -0.1 0.17 -0.1 0.35v 3.15h 1.12v 0.38h -1.15v 1.11c 0 0.6 0.31 1.3 0.86 1.3c 0.08 0 0.15 -0.01 0.22 -0.03c -0.15 -0.08 -0.23 -0.22 -0.23 -0.41c 0 -0.31 0.15 -0.47 0.46 -0.47c 0.31 0 0.47 0.16 0.47 0.48c 0 0.45 -0.47 0.73 -0.92 0.73Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.64 3.78c 0 0.39 -0.37 0.64 -0.76 0.64c -0.51 0 -0.9 -0.3 -1.16 -0.91v 0.91l -1.44 -0.11v -0.38c 0.35 0 0.56 -0.03 0.64 -0.09c 0.08 -0.06 0.12 -0.19 0.12 -0.42v -2.63c 0 -0.19 -0.03 -0.31 -0.1 -0.35c -0.07 -0.04 -0.29 -0.06 -0.66 -0.06v -0.38l 1.15 0.03c 0.42 0.01 0.85 0 1.28 -0.03v 0.38h -0.24c -0.33 0 -0.54 0.03 -0.61 0.08c -0.07 0.05 -0.1 0.17 -0.1 0.35v 1.51c 0 0.43 0.08 0.82 0.23 1.15c 0.2 0.43 0.49 0.65 0.88 0.66c -0.1 -0.1 -0.15 -0.22 -0.15 -0.36c 0 -0.31 0.15 -0.46 0.46 -0.46c 0.27 0 0.46 0.21 0.46 0.47Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.15 2.51c 0 1.15 -0.67 1.97 -1.79 1.97c -0.6 0 -1.1 -0.23 -1.51 -0.7c -0.38 -0.44 -0.57 -0.97 -0.57 -1.58c 0 -0.63 0.21 -1.16 0.63 -1.62c 0.42 -0.46 0.94 -0.69 1.56 -0.69c 0.57 0 1.01 0.2 1.31 0.59c 0.25 0.33 0.37 0.57 0.37 0.73c 0 0.1 -0.06 0.15 -0.17 0.15c -0.08 0 -0.13 -0.05 -0.16 -0.16c -0.22 -0.66 -0.65 -0.99 -1.29 -0.99c -0.45 0 -0.8 0.21 -1.07 0.64c -0.19 0.31 -0.28 0.78 -0.29 1.42h 2.7c 0.22 0 0.28 0.02 0.28 0.24Z m -0.89 0.98c 0.11 -0.33 0.16 -0.65 0.16 -0.94h -2.24c 0.03 0.66 0.2 1.11 0.5 1.34c 0.25 0.2 0.47 0.3 0.68 0.3c 0.45 0 0.75 -0.23 0.9 -0.7Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g1BA453E68118569852F1EE25C23C13AB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.457 5.78c -0.1615 0 -0.7055 0.0255 -0.867 0.0255c -0.1275 0 -0.187 -0.068 -0.187 -0.204c 0 -0.0765 0.0595 -0.119 0.1785 -0.1275c 0.3655 0 0.544 -0.1105 0.544 -0.3315c 0 -0.051 -0.0085 -0.1105 -0.0255 -0.17l -0.7565 -3.0005c -0.1275 -0.4845 -0.374 -0.901 -0.7395 -1.258c -0.3995 -0.3825 -0.8415 -0.5695 -1.3175 -0.5695c -0.629 0 -0.9945 0.425 -0.9945 1.054l 0.0085 0.0765c 0 0.1615 0.0255 0.3485 0.085 0.5695l 0.816 3.2725c 0.0425 0.1785 0.119 0.289 0.2295 0.3315c 0.051 0.017 0.1955 0.0255 0.442 0.0255c 0.221 0 0.3145 0 0.3145 0.204c 0 0.085 -0.051 0.1275 -0.1445 0.1275l -1.0795 -0.0255l -1.0795 0.0255c -0.136 0 -0.1955 -0.0765 -0.1955 -0.204c 0 -0.0595 0.0255 -0.102 0.068 -0.1105c 0.085 -0.0085 0.153 -0.017 0.1955 -0.017c 0.2635 -0.0085 0.4165 -0.0255 0.459 -0.034c 0.0425 -0.0085 0.0595 -0.034 0.0595 -0.0765c 0 -0.017 -0.0085 -0.0765 -0.034 -0.17l -0.8075 -3.2385c -0.0425 -0.1615 -0.0595 -0.323 -0.0595 -0.493c 0 -0.9775 0.7055 -1.649 1.683 -1.649c 0.5525 0 1.0625 0.2125 1.53 0.646c 0.4505 0.408 0.7395 0.884 0.8755 1.4365l 0.748 2.9835c 0.1105 0.4335 0.3485 0.5865 0.8755 0.595c 0.119 0.0085 0.1785 0.0765 0.1785 0.204v 0.034c -0.0255 0.0595 -0.068 0.0935 -0.1445 0.0935c -0.1615 0 -0.697 -0.0255 -0.8585 -0.0255Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g3AFC1E1C6084C2978DF3D569E28C9ED8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.5135 0c 0.136 0 0.204 0.068 0.204 0.204v 5.406c 0 0.136 -0.068 0.204 -0.204 0.204c -0.1275 0 -0.1955 -0.068 -0.1955 -0.204v -2.499h -3.6465c -0.136 0 -0.204 -0.068 -0.204 -0.204c 0 -0.136 0.068 -0.204 0.204 -0.204h 3.6465v -2.499c 0 -0.136 0.068 -0.204 0.1955 -0.204Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g7E076845AD5FB032EAA9080C51DB0589&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.6525 3.7655v 1.989c 0 0.1615 -0.0425 0.238 -0.1275 0.238c -0.0595 0 -0.1105 -0.0425 -0.1615 -0.119l -0.3995 -0.5865c -0.255 0.2635 -0.527 0.4505 -0.8245 0.5695c -0.221 0.0935 -0.459 0.136 -0.714 0.136c -0.8245 0 -1.53 -0.2975 -2.0995 -0.9095c -0.5695 -0.612 -0.85 -1.3345 -0.85 -2.176c 0 -0.8415 0.2805 -1.564 0.8415 -2.1675c 0.5695 -0.6205 1.275 -0.9265 2.108 -0.9265c 0.6035 0 1.1305 0.2125 1.5725 0.6375c 0.442 0.425 0.6545 0.935 0.6545 1.5385c 0 0.119 -0.051 0.1785 -0.1445 0.1785c -0.085 0 -0.1275 -0.034 -0.1275 -0.1105c 0 -0.0085 0 -0.0255 -0.0085 -0.051c -0.051 -1.02 -0.782 -1.8615 -1.8445 -1.8615c -0.3145 0 -0.629 0.085 -0.9605 0.255c -0.782 0.425 -1.156 1.241 -1.156 2.499c 0 1.19 0.4165 2.108 1.156 2.5075c 0.3315 0.17 0.646 0.255 0.952 0.255c 1.054 0 1.6575 -0.9605 1.802 -1.9635c 0.0085 -0.1105 0.068 -0.17 0.1615 -0.17c 0.17 0 0.17 0.068 0.17 0.238Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g56DA312D17328634B79D1808284C07A8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.094 3.213c 0 0.3315 -0.3145 0.544 -0.646 0.544c -0.4335 0 -0.765 -0.255 -0.986 -0.7735v 0.7735l -1.224 -0.0935v -0.323c 0.2975 0 0.476 -0.0255 0.544 -0.0765c 0.068 -0.051 0.102 -0.1615 0.102 -0.357v -2.2355c 0 -0.1615 -0.0255 -0.2635 -0.085 -0.2975c -0.0595 -0.034 -0.2465 -0.051 -0.561 -0.051v -0.323l 0.9775 0.0255c 0.357 0.0085 0.7225 0 1.088 -0.0255v 0.323h -0.204c -0.2805 0 -0.459 0.0255 -0.5185 0.068c -0.0595 0.0425 -0.085 0.1445 -0.085 0.2975v 1.2835c 0 0.3655 0.068 0.697 0.1955 0.9775c 0.17 0.3655 0.4165 0.5525 0.748 0.561c -0.085 -0.085 -0.1275 -0.187 -0.1275 -0.306c 0 -0.2635 0.1275 -0.391 0.391 -0.391c 0.2295 0 0.391 0.1785 0.391 0.3995Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g222F734FB41E781BE876FA1D18809A1&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.2665 0h 1.8105c 0.2295 0 1.0115 -0.017 1.0115 -0.017c 0.085 0.425 0.17 0.9775 0.221 1.4195c -0.085 0.0425 -0.1785 0.0595 -0.2805 0.0425c -0.17 -0.612 -0.4845 -1.1135 -1.3855 -1.1135h -0.5355c -0.3315 0 -0.4845 0.1615 -0.4845 0.595v 3.519c 0 0.7055 0.1445 0.748 0.7395 0.7735c 0.051 0.051 0.051 0.2295 0 0.2805c -0.3825 -0.0085 -0.782 -0.017 -1.105 -0.017c -0.306 0 -0.7055 0.0085 -1.0965 0.017c -0.051 -0.051 -0.051 -0.2295 0 -0.2805c 0.595 -0.0255 0.7395 -0.068 0.7395 -0.7735v -3.4085c 0 -0.7055 -0.1445 -0.748 -0.7395 -0.7735c -0.051 -0.051 -0.051 -0.2295 0 -0.2805c 0.3315 0.0085 0.816 0.017 1.105 0.017Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g358F78E45E593FA8755E4767B3FAA37E&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.4795 1.9975c 0 1.207 -0.969 1.9975 -2.074 1.9975c -1.1815 0 -2.091 -0.8585 -2.091 -2.108c 0 -1.156 0.8755 -1.972 2.023 -1.972c 1.394 0 2.142 0.9775 2.142 2.0825Z m -2.1505 1.717c 0.7565 0 1.411 -0.697 1.411 -1.836c 0 -1.0455 -0.5185 -1.683 -1.275 -1.683c -0.8245 0 -1.411 0.748 -1.411 1.7935c 0 1.1475 0.6375 1.7255 1.275 1.7255Z m -1.0455 1.156c 0 -0.221 0.1785 -0.3995 0.3995 -0.3995c 0.221 0 0.3995 0.1785 0.3995 0.3995c 0 0.221 -0.1785 0.408 -0.3995 0.408c -0.221 0 -0.3995 -0.187 -0.3995 -0.408Z m 1.4365 0c 0 -0.221 0.1785 -0.3995 0.3995 -0.3995c 0.221 0 0.3995 0.1785 0.3995 0.3995c 0 0.221 -0.1785 0.408 -0.3995 0.408c -0.221 0 -0.3995 -0.187 -0.3995 -0.408Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g340AB27F2C8F6536A22645C5B8782396&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.2665 0c 0.255 0 0.697 -0.017 1.173 -0.017c 1.1305 0 1.53 0.4675 1.53 1.0795c 0 0.5525 -0.2805 0.9265 -0.8755 1.0625c 0.34 0.153 0.612 0.5355 0.612 0.867c 0 0.476 -0.221 0.935 -1.4535 0.935c -0.4505 0 -0.748 -0.017 -0.9945 -0.017c -0.2465 0 -0.629 0.0085 -0.9435 0.017c -0.051 -0.051 -0.051 -0.2295 0 -0.2805c 0.5185 -0.034 0.612 -0.068 0.612 -0.7735v -1.836c 0 -0.7055 -0.0935 -0.731 -0.612 -0.7735c -0.051 -0.051 -0.051 -0.2295 0 -0.2805c 0.357 0.0085 0.714 0.017 0.952 0.017Z m 0.3315 1.972h 0.663c 0.7735 0 0.969 -0.391 0.969 -0.85c 0 -0.374 -0.136 -0.8585 -1.003 -0.8585c -0.5525 0 -0.629 0.119 -0.629 0.4335Z m 0 1.326c 0 0.2635 0.0595 0.3485 0.646 0.3485c 0.374 0 0.816 -0.0935 0.816 -0.663c 0 -0.51 -0.2465 -0.731 -0.799 -0.731h -0.663Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gC5E2FF3401D41F849419013CA8730404&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.98 6.64h -6.18c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.15 0.08 -0.23 0.24 -0.23h 2.85v -6.13c 0 -0.16 0.08 -0.24 0.24 -0.24c 0.16 0 0.24 0.08 0.24 0.24v 6.13h 2.85c 0.16 0 0.24 0.08 0.24 0.23c 0 0.13 -0.11 0.24 -0.24 0.24Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g46CE13F1B5A06DB23D1B7850ECE88C30&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.1815 0.901c -0.272 0 -0.4505 -0.204 -0.4505 -0.476c 0 -0.255 0.1955 -0.4675 0.4505 -0.4675c 0.119 0 0.221 0.034 0.2975 0.1105l 0.0085 -0.068c 0 -0.5355 -0.1785 -0.9945 -0.5355 -1.36c -0.0595 -0.068 -0.0935 -0.119 -0.0935 -0.153c 0 -0.085 0.034 -0.1275 0.1105 -0.1275c 0.0765 0 0.1785 0.102 0.323 0.2975c 0.289 0.408 0.4335 0.8585 0.4335 1.343c 0 0.4505 -0.153 0.901 -0.544 0.901Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g8E1884305EC1C1EEFAD30A43F77A336A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.933 5.644h -5.253c -0.136 0 -0.204 -0.068 -0.204 -0.204c 0 -0.1275 0.068 -0.1955 0.204 -0.1955h 2.4225v -5.2105c 0 -0.136 0.068 -0.204 0.204 -0.204c 0.136 0 0.204 0.068 0.204 0.204v 5.2105h 2.4225c 0.136 0 0.204 0.068 0.204 0.1955c 0 0.1105 -0.0935 0.204 -0.204 0.204Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g34D8608EF6AA267C9C5FB353303AB77&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.933 3.1195h -5.253c -0.136 0 -0.204 -0.068 -0.204 -0.1955c 0 -0.1275 0.068 -0.1955 0.204 -0.1955h 5.253c 0.136 0 0.204 0.068 0.204 0.1955c 0 0.102 -0.0935 0.1955 -0.204 0.1955Z m 0 -1.598h -5.253c -0.136 0 -0.204 -0.068 -0.204 -0.1955c 0 -0.1275 0.068 -0.1955 0.204 -0.1955h 5.253c 0.136 0 0.204 0.068 0.204 0.1955c 0 0.1105 -0.0935 0.1955 -0.204 0.1955Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Just as for presheaves, the fixed point constructed above is &lt;em&gt;unique&lt;/em&gt;: the two transpositions are bijections, and the presheaf-level fixed point is already unique.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;lob-presheaf&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;lob-presheaf&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;lob-presheaf&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Theorem.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Löb induction for presheaves on a direct category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/lob-presheaf.html&quot;&gt;lob-presheaf&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;lob-presheaf&quot; data-kind=&quot;theorem&quot; data-label=&quot;Theorem&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct category&lt;/a&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; a presheaf on it. Every map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;has a fixed point: a global element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;and this fixed point is &lt;em&gt;unique&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The hypothesis says: the value of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at any object is determined by its values over the strict past — &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; turns a coherent family over the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot; data-entry=&quot;strict-downset-sieve&quot;&gt;strict downset&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into a value at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The proof is recursion along the well-founded &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≺&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;: at each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the section already constructed over the past assembles into an element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; extends it to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;locally-contractive-functor&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;locally-contractive-functor&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;locally-contractive-functor&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Locally contractive endofunctors&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/locally-contractive-functor.html&quot;&gt;locally-contractive-functor&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;locally-contractive-functor&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; for the presheaf of morphisms &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. An endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on presheaves is &lt;em&gt;locally contractive&lt;/em&gt; when its action on morphisms factors through &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-presheaf.html&quot; data-entry=&quot;later-presheaf&quot;&gt;later&lt;/a&gt;: there is a map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;monadicity-comonadicity&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;monadicity-comonadicity&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;monadicity-comonadicity&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Monadicity and comonadicity&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/monadicity-comonadicity.html&quot;&gt;monadicity-comonadicity&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;monadicity-comonadicity&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;An adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a monad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/comparison-functor.html&quot; data-entry=&quot;comparison-functor&quot;&gt;comparison functor&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;EM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;sending each object of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to the &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra it carries.&lt;/p&gt;
&lt;p&gt;The functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;monadic&lt;/em&gt; when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an equivalence: the adjunction exhibits &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; as objects of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; equipped with algebraic structure for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot; data-entry=&quot;eilenberg-moore-displayed&quot;&gt;Eilenberg–Moore category&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Comonadicity&lt;/em&gt; is monadicity in the opposite category: a left adjoint &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐿&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with right adjoint &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑅&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a comonad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐿&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝑅&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a comparison &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;coEM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; into the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/co-eilenberg-moore-displayed.html&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot;&gt;co-Eilenberg–Moore category&lt;/a&gt;, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐿&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is comonadic when this comparison is an equivalence.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;presheaf-family-adjoint-triple&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;presheaf-family-adjoint-triple&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;presheaf-family-adjoint-triple&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;The adjoint triple between presheaves and families&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/presheaf-family-adjoint-triple.html&quot;&gt;presheaf-family-adjoint-triple&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;presheaf-family-adjoint-triple&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;A &lt;em&gt;family&lt;/em&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for each object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, with no action of morphisms. Families form a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;: a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a function &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Forgetting the restriction maps of a presheaf gives a functor&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;It has both a left and a right adjoint,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;Free&lt;/mtext&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 172.410826772 126.526768869&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;17.241em&quot; height=&quot;12.653em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(17.96965166 14.935899297)&quot; d=&quot;M 0 0m 131.356869159 37.292485166c -13.775285075 -23.311689642 -38.924931448 -37.520808311 -66.001488573 -37.289708553c -27.076557125 0.231099758 -51.980006212 14.867424078 -65.355380587 38.410845945&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(16.878179542 50.531217442)&quot; d=&quot;M 0 0m 1.094131387 2.819831843c 0.10289448 -1.060239753 -0.303054369 -2.106464645 -1.094131387 -2.819831843&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(17.972310929 52.741463277)&quot; d=&quot;M 0 0m 0 0.609586008c 0.871970698 -0.611851869 1.982418251 -0.773985225 2.992927614 -0.436989031&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(71.499533774)&quot; d=&quot;M 0 0h 23.33v 10.94h -23.33v -10.94Z &quot;/&gt;&lt;g transform=&quot;translate(71.499533711 -1.6e-8)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gF9AEBE6DA1F1097B10D99CC8FB53F5BE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;6.53&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;10.45&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;14.89&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(30.56 63.208384371)&quot; d=&quot;M 0 0h 102.120826677&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(130.795866053 63.208384466)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(130.795866053 60.842904189)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(75.800413339 48.158384371)&quot; d=&quot;M 0 0h 11.88v 11.05h -11.88v -11.05Z &quot;/&gt;&lt;g transform=&quot;translate(75.800413339 48.158384293)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g1296254C25BF8B536B0FB930CA3A255C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(17.969651878 73.06724714)&quot; d=&quot;M 0 0m 131.356868941 1.121137392c -13.775285052 23.311689603 -38.924931384 37.520808248 -66.001488464 37.28970849c -27.07655708 -0.231099758 -51.980006125 -14.867424054 -65.355380477 -38.410845882&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(17.972310929 73.065719647)&quot; d=&quot;M 0 0c 0.871970698 0.611851869 1.982418251 0.773985225 2.992927614 0.436989031&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(16.878179542 73.065719647)&quot; d=&quot;M 0 0m 1.094131387 0c 0.10289448 1.060239753 -0.303054369 2.106464645 -1.094131387 2.819831843&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(67.124533774 115.476768869)&quot; d=&quot;M 0 0h 32.08v 11.05h -32.08v -11.05Z &quot;/&gt;&lt;g transform=&quot;translate(67.124533648 115.47676879)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 59.558384371)&quot; d=&quot;M 0 0h 24.56v 7.3h -24.56v -7.3Z &quot;/&gt;&lt;g transform=&quot;translate(-1.1e-7 59.55838434)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.065)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g7D7FDC8E1D49DA4FCB4D52B0C62898CF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gE3566B476A9DE301035F4250C42B0E76&quot; x=&quot;6.39&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g564DC88DC5BA1D5302E0EA1874ACA1CD&quot; x=&quot;10.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 18.71 7.065)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gB2A790FC199AC565D3A3EECA0DDD0297&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(138.920826772 58.228384371)&quot; d=&quot;M 0 0h 33.49v 9.96h -33.49v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(138.92082674 58.228384324)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gF9AEBE6DA1F1097B10D99CC8FB53F5BE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gA3545F7F637992BA7CC51B0AAFFD785B&quot; x=&quot;6.53&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g7C4249FB0E62FBF4220859FA7CB58F5B&quot; x=&quot;11.53&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.86 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.75 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gB2A790FC199AC565D3A3EECA0DDD0297&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.6 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(80.082913386 27.69783319)&quot; d=&quot;M 0 0h 7.78v 6.84h -7.78v -6.84Z &quot;/&gt;&lt;g transform=&quot;translate(80.08291326 27.697833049)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.835)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gC6FDD7363CA38F5BF30CB59930DBB555&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(80.082913386 88.961612718)&quot; d=&quot;M 0 0h 7.78v 6.84h -7.78v -6.84Z &quot;/&gt;&lt;g transform=&quot;translate(80.08291326 88.961612576)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.835)&quot;&gt;&lt;use xlink:href=&quot;#helia69ccfc85-gC6FDD7363CA38F5BF30CB59930DBB555&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia69ccfc85-gF9AEBE6DA1F1097B10D99CC8FB53F5BE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.75 6.41h 1.18c 0.71 0 1.17 -0.15 1.4 -0.44c 0.32 -0.39 0.36 -0.76 0.45 -1.47h 0.33l -0.29 2.3h -5.49v -0.39h 0.28c 0.35 0 0.56 -0.02 0.63 -0.07c 0.07 -0.05 0.11 -0.17 0.11 -0.35v -5.18c 0 -0.18 -0.04 -0.3 -0.11 -0.35c -0.07 -0.05 -0.28 -0.07 -0.63 -0.07h -0.28v -0.39c 0.26 0.02 0.77 0.03 1.54 0.03c 0.87 0 1.43 -0.01 1.7 -0.03v 0.39h -0.37c -0.53 0 -0.82 0.05 -0.87 0.16c -0.02 0.05 -0.03 0.14 -0.03 0.27v 2.39h 0.81c 0.43 0 0.71 -0.08 0.83 -0.23c 0.12 -0.15 0.18 -0.45 0.18 -0.92h 0.32v 2.69h -0.32c 0 -0.46 -0.06 -0.77 -0.18 -0.92c -0.12 -0.15 -0.4 -0.23 -0.83 -0.23h -0.81v 2.46c 0 0.36 0.06 0.35 0.45 0.35Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-g7D695E4CB9BD42D82111A737546DF381&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.64 3.78c 0 0.39 -0.37 0.64 -0.76 0.64c -0.51 0 -0.9 -0.3 -1.16 -0.91v 0.91l -1.44 -0.11v -0.38c 0.35 0 0.56 -0.03 0.64 -0.09c 0.08 -0.06 0.12 -0.19 0.12 -0.42v -2.63c 0 -0.19 -0.03 -0.31 -0.1 -0.35c -0.07 -0.04 -0.29 -0.06 -0.66 -0.06v -0.38l 1.15 0.03c 0.42 0.01 0.85 0 1.28 -0.03v 0.38h -0.24c -0.33 0 -0.54 0.03 -0.61 0.08c -0.07 0.05 -0.1 0.17 -0.1 0.35v 1.51c 0 0.43 0.08 0.82 0.23 1.15c 0.2 0.43 0.49 0.65 0.88 0.66c -0.1 -0.1 -0.15 -0.22 -0.15 -0.36c 0 -0.31 0.15 -0.46 0.46 -0.46c 0.27 0 0.46 0.21 0.46 0.47Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-gB74A9BD98B58914FA51646C39C5D670A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.15 2.51c 0 1.15 -0.67 1.97 -1.79 1.97c -0.6 0 -1.1 -0.23 -1.51 -0.7c -0.38 -0.44 -0.57 -0.97 -0.57 -1.58c 0 -0.63 0.21 -1.16 0.63 -1.62c 0.42 -0.46 0.94 -0.69 1.56 -0.69c 0.57 0 1.01 0.2 1.31 0.59c 0.25 0.33 0.37 0.57 0.37 0.73c 0 0.1 -0.06 0.15 -0.17 0.15c -0.08 0 -0.13 -0.05 -0.16 -0.16c -0.22 -0.66 -0.65 -0.99 -1.29 -0.99c -0.45 0 -0.8 0.21 -1.07 0.64c -0.19 0.31 -0.28 0.78 -0.29 1.42h 2.7c 0.22 0 0.28 0.02 0.28 0.24Z m -0.89 0.98c 0.11 -0.33 0.16 -0.65 0.16 -0.94h -2.24c 0.03 0.66 0.2 1.11 0.5 1.34c 0.25 0.2 0.47 0.3 0.68 0.3c 0.45 0 0.75 -0.23 0.9 -0.7Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-g1296254C25BF8B536B0FB930CA3A255C&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.42 6.8c -0.19 0 -0.83 0.03 -1.02 0.03c -0.15 0 -0.22 -0.08 -0.22 -0.24c 0 -0.09 0.07 -0.14 0.21 -0.15c 0.43 0 0.64 -0.13 0.64 -0.39c 0 -0.06 -0.01 -0.13 -0.03 -0.2l -0.89 -3.53c -0.15 -0.57 -0.44 -1.06 -0.87 -1.48c -0.47 -0.45 -0.99 -0.67 -1.55 -0.67c -0.74 0 -1.17 0.5 -1.17 1.24l 0.01 0.09c 0 0.19 0.03 0.41 0.1 0.67l 0.96 3.85c 0.05 0.21 0.14 0.34 0.27 0.39c 0.06 0.02 0.23 0.03 0.52 0.03c 0.26 0 0.37 0 0.37 0.24c 0 0.1 -0.06 0.15 -0.17 0.15l -1.27 -0.03l -1.27 0.03c -0.16 0 -0.23 -0.09 -0.23 -0.24c 0 -0.07 0.03 -0.12 0.08 -0.13c 0.1 -0.01 0.18 -0.02 0.23 -0.02c 0.31 -0.01 0.49 -0.03 0.54 -0.04c 0.05 -0.01 0.07 -0.04 0.07 -0.09c 0 -0.02 -0.01 -0.09 -0.04 -0.2l -0.95 -3.81c -0.05 -0.19 -0.07 -0.38 -0.07 -0.58c 0 -1.15 0.83 -1.94 1.98 -1.94c 0.65 0 1.25 0.25 1.8 0.76c 0.53 0.48 0.87 1.04 1.03 1.69l 0.88 3.51c 0.13 0.51 0.41 0.69 1.03 0.7c 0.14 0.01 0.21 0.09 0.21 0.24v 0.04c -0.03 0.07 -0.08 0.11 -0.17 0.11c -0.19 0 -0.82 -0.03 -1.01 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-gE7DD9E398F9847AF161CA1897742CCB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.65 4.43v 2.34c 0 0.19 -0.05 0.28 -0.15 0.28c -0.07 0 -0.13 -0.05 -0.19 -0.14l -0.47 -0.69c -0.3 0.31 -0.62 0.53 -0.97 0.67c -0.26 0.11 -0.54 0.16 -0.84 0.16c -0.97 0 -1.8 -0.35 -2.47 -1.07c -0.67 -0.72 -1 -1.57 -1 -2.56c 0 -0.99 0.33 -1.84 0.99 -2.55c 0.67 -0.73 1.5 -1.09 2.48 -1.09c 0.71 0 1.33 0.25 1.85 0.75c 0.52 0.5 0.77 1.1 0.77 1.81c 0 0.14 -0.06 0.21 -0.17 0.21c -0.1 0 -0.15 -0.04 -0.15 -0.13c 0 -0.01 0 -0.03 -0.01 -0.06c -0.06 -1.2 -0.92 -2.19 -2.17 -2.19c -0.37 0 -0.74 0.1 -1.13 0.3c -0.92 0.5 -1.36 1.46 -1.36 2.94c 0 1.4 0.49 2.48 1.36 2.95c 0.39 0.2 0.76 0.3 1.12 0.3c 1.24 0 1.95 -1.13 2.12 -2.31c 0.01 -0.13 0.08 -0.2 0.19 -0.2c 0.2 0 0.2 0.08 0.2 0.28Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-g17477BF20E3154367137D1088035D323&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.49 -0.11c 0.62 0 1.14 0.22 1.57 0.66c 0.43 0.44 0.65 0.97 0.65 1.59c 0 0.63 -0.21 1.18 -0.63 1.64c -0.42 0.46 -0.95 0.7 -1.58 0.7c -0.63 0 -1.15 -0.24 -1.58 -0.7c -0.43 -0.46 -0.64 -1.01 -0.64 -1.64c 0 -0.62 0.21 -1.15 0.64 -1.59c 0.43 -0.44 0.96 -0.66 1.57 -0.66Z m 0.01 0.32c -0.48 0 -0.84 0.21 -1.09 0.64c -0.16 0.28 -0.24 0.74 -0.24 1.37c 0 0.61 0.08 1.05 0.23 1.33c 0.24 0.43 0.6 0.64 1.09 0.64c 0.47 0 0.83 -0.21 1.08 -0.62c 0.17 -0.28 0.25 -0.73 0.25 -1.35c 0 -1.16 -0.34 -2.01 -1.32 -2.01Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.65 7.05c -0.89 0 -1.55 -0.72 -1.55 -1.61v -1.1h -0.77v -0.38h 0.77v -3.17c 0 -0.19 -0.03 -0.31 -0.1 -0.35c -0.07 -0.04 -0.29 -0.05 -0.66 -0.05v -0.39l 1.15 0.03c 0.42 0.01 0.85 0 1.28 -0.03v 0.39h -0.24c -0.33 0 -0.54 0.02 -0.61 0.07c -0.07 0.05 -0.1 0.17 -0.1 0.35v 3.15h 1.12v 0.38h -1.15v 1.11c 0 0.6 0.31 1.3 0.86 1.3c 0.08 0 0.15 -0.01 0.22 -0.03c -0.15 -0.08 -0.23 -0.22 -0.23 -0.41c 0 -0.31 0.15 -0.47 0.46 -0.47c 0.31 0 0.47 0.16 0.47 0.48c 0 0.45 -0.47 0.73 -0.92 0.73Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-g7D7FDC8E1D49DA4FCB4D52B0C62898CF&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.52 2.86c 0.6 0 1.13 0.19 1.58 0.56c 0.48 0.39 0.72 0.89 0.72 1.48c 0 0.61 -0.25 1.11 -0.75 1.5c -0.46 0.36 -1 0.54 -1.62 0.54h -2.49v -6.94h 0.95v 2.86Z m 1.42 2.04c 0 -0.89 -0.78 -1.39 -1.71 -1.39h -1.35v 2.8h 1.35c 0.95 0 1.71 -0.5 1.71 -1.41Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-gE3566B476A9DE301035F4250C42B0E76&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.6 1.3c 0 0.35 -0.12 0.64 -0.36 0.89l -0.03 0.04c -0.27 0.24 -0.66 0.41 -1.16 0.5c -0.41 0.08 -0.67 0.17 -0.78 0.27c -0.11 0.1 -0.17 0.23 -0.17 0.38c 0 0.38 0.26 0.57 0.79 0.57c 0.5 0 0.97 -0.13 1.42 -0.4l 0.13 0.73c -0.47 0.22 -0.96 0.33 -1.45 0.33c -0.93 0 -1.66 -0.39 -1.66 -1.33c 0 -0.63 0.52 -1.14 1.15 -1.28c 0.31 -0.07 0.54 -0.12 0.7 -0.15c 0.33 -0.08 0.65 -0.26 0.65 -0.62c 0 -0.43 -0.29 -0.64 -0.88 -0.64c -0.53 0 -1.04 0.17 -1.54 0.51l -0.13 -0.76c 0.59 -0.3 1.15 -0.45 1.68 -0.45c 0.97 0 1.64 0.46 1.64 1.41Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-g564DC88DC5BA1D5302E0EA1874ACA1CD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.6 3.9c 0.64 0 0.91 -0.34 0.91 -0.98v -2.92h 0.84v 2.99c 0 1.06 -0.46 1.59 -1.38 1.59c -0.54 0 -0.99 -0.21 -1.35 -0.64v 3h -0.81v -6.94h 0.84v 2.46c 0 0.73 0.29 1.44 0.95 1.44Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-gB2A790FC199AC565D3A3EECA0DDD0297&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.75 4.88c 0.19 0.27 0.6 1.12 0.6 1.5c 0 0.49 -0.35 0.68 -0.8 0.68c -1.69 0 -2.84 -1.15 -3.2 -1.6c -0.63 -0.79 -1.23 -2.05 -1.23 -3.42c 0 -1.29 0.61 -2.28 1.9 -2.28c 1.06 0 2.3 0.72 2.92 1.73c 0.03 0.05 0.05 0.09 0.05 0.14c -0.02 0.06 -0.09 0.08 -0.14 0.08c -0.2 0 -0.6 -0.18 -0.79 -0.48c -0.48 -0.76 -1.04 -0.84 -1.37 -0.84h -0.1c -1.04 0 -1.54 0.91 -1.54 2.1c 0 1.28 0.72 3.07 1.71 3.67c 0.27 0.16 0.65 0.27 1.09 0.27c 0.36 0 0.57 -0.12 0.57 -0.47c 0 -0.31 -0.3 -0.89 -0.46 -1.19c -0.05 -0.11 -0.09 -0.19 -0.09 -0.2c 0 -0.08 0.06 -0.11 0.12 -0.11c 0.11 0 0.54 0.09 0.76 0.42Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-gA3545F7F637992BA7CC51B0AAFFD785B&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.83 0.91v 0.59h -0.32v -0.59c 0 -0.39 -0.11 -0.59 -0.32 -0.59c -0.2 0 -0.32 0.25 -0.32 0.45v 1.97c 0 0.35 -0.04 0.61 -0.11 0.79c -0.24 0.59 -0.93 0.95 -1.63 0.95c -0.77 0 -1.53 -0.43 -1.53 -1.15c 0 -0.33 0.17 -0.5 0.5 -0.5c 0.33 0 0.49 0.16 0.49 0.49c 0 0.29 -0.15 0.46 -0.46 0.49c 0.22 0.25 0.55 0.38 0.98 0.38c 0.62 0 1 -0.57 1 -1.22v -0.33c -0.78 -0.05 -1.37 -0.17 -1.78 -0.36c -0.67 -0.31 -1.01 -0.74 -1.01 -1.31c 0 -0.26 0.1 -0.48 0.29 -0.65c 0.32 -0.29 0.76 -0.43 1.32 -0.43c 0.59 0 1.01 0.25 1.27 0.76c 0.07 -0.38 0.35 -0.71 0.78 -0.71c 0.53 0 0.85 0.42 0.85 0.97Z m -2.83 -0.73c -0.46 0 -0.84 0.34 -0.84 0.8c 0 0.93 0.97 1.33 1.95 1.38v -0.95c 0 -0.67 -0.44 -1.23 -1.11 -1.23Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-g7C4249FB0E62FBF4220859FA7CB58F5B&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.15 4.13c 0.46 0 0.69 -0.35 0.69 -1.06v -2.28c 0 -0.19 -0.03 -0.31 -0.1 -0.35c -0.07 -0.04 -0.3 -0.06 -0.67 -0.06v -0.38l 1.16 0.03l 1.15 -0.03v 0.38c -0.37 0 -0.59 0.02 -0.66 0.06c -0.07 0.04 -0.11 0.16 -0.11 0.35v 1.8c 0 0.8 0.52 1.54 1.29 1.54c 0.47 0 0.7 -0.35 0.7 -1.06v -2.28c 0 -0.19 -0.04 -0.31 -0.11 -0.35c -0.07 -0.04 -0.3 -0.06 -0.67 -0.06v -0.38l 1.16 0.03l 1.15 -0.03v 0.38c -0.32 0 -0.53 0.01 -0.63 0.04c -0.1 0.03 -0.14 0.1 -0.14 0.22v 1.87c 0 0.47 -0.02 0.8 -0.05 0.99c -0.1 0.61 -0.55 0.92 -1.34 0.92c -0.63 0 -1.1 -0.29 -1.42 -0.88c -0.14 0.59 -0.58 0.88 -1.33 0.88c -0.63 0 -1.11 -0.3 -1.43 -0.9v 0.9l -1.47 -0.11v -0.38c 0.36 0 0.58 -0.03 0.66 -0.09c 0.08 -0.06 0.11 -0.19 0.11 -0.42v -2.63c 0 -0.19 -0.04 -0.31 -0.11 -0.35c -0.07 -0.04 -0.29 -0.06 -0.66 -0.06v -0.38l 1.16 0.03l 1.15 -0.03v 0.38c -0.37 0 -0.6 0.02 -0.67 0.06c -0.07 0.04 -0.11 0.16 -0.11 0.35v 1.8c 0 0.81 0.53 1.54 1.3 1.54Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia69ccfc85-gC6FDD7363CA38F5BF30CB59930DBB555&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.98 0.47h -2.85v 6.13c 0 0.16 -0.08 0.24 -0.24 0.24c -0.16 0 -0.24 -0.08 -0.24 -0.24v -6.13h -2.85c -0.16 0 -0.24 -0.08 -0.24 -0.23c 0 -0.16 0.08 -0.24 0.24 -0.24h 6.18c 0.16 0 0.24 0.08 0.24 0.24c 0 0.12 -0.11 0.23 -0.24 0.23Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;The two adjoints demonstrate different means of forcing a family to be functorial. The right adjoint universally quantifies over morphisms in,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∏&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/munder&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;with restriction along &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; given by precomposition. The left adjoint instead existentially quantifiers over morphisms out:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;Free&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/munder&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;with restriction acting on the first component. (For &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Free&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; we ask that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; have a &lt;em&gt;set&lt;/em&gt; of objects, so that this sum is a set and thus &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Free&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; defines a &lt;em&gt;presheaf&lt;/em&gt;.)&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;presheaves-monadic-comonadic-over-families&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;presheaves-monadic-comonadic-over-families&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;presheaves-monadic-comonadic-over-families&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Theorem.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Presheaves are monadic and comonadic over families&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/presheaves-monadic-comonadic-over-families.html&quot;&gt;presheaves-monadic-comonadic-over-families&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;presheaves-monadic-comonadic-over-families&quot; data-kind=&quot;theorem&quot; data-label=&quot;Theorem&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/presheaf-family-adjoint-triple.html&quot; data-entry=&quot;presheaf-family-adjoint-triple&quot;&gt;adjoint triple&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Free&lt;/mtext&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; induces a monad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mtext&gt;Free&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; and a comonad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Both &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/comparison-functor.html&quot; data-entry=&quot;comparison-functor&quot;&gt;comparison functors&lt;/a&gt; are equivalences: presheaves are the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot; data-entry=&quot;eilenberg-moore-displayed&quot;&gt;Eilenberg–Moore algebras&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/co-eilenberg-moore-displayed.html&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot;&gt;co-Eilenberg–Moore coalgebras&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;≃&lt;/mo&gt;&lt;mtext&gt;EM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;≃&lt;/mo&gt;&lt;mtext&gt;coEM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;So presheaves are both &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/monadicity-comonadicity.html&quot; data-entry=&quot;monadicity-comonadicity&quot;&gt;monadic and comonadic&lt;/a&gt; over families.&lt;/p&gt;
&lt;p&gt;Reading the algebra structure concretely: a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra on a family &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, subject to the monad algebra laws — that is, exactly a functorial action of restriction.&lt;/p&gt;
&lt;p&gt;The comonadic reading is the same structure seen from the element’s side: a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-coalgebra is a map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∏&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, giving each value its restriction along every morphism into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Where the monad says restriction &lt;em&gt;acts on&lt;/em&gt; values, the comonad says a value &lt;em&gt;already carries&lt;/em&gt; all of its restrictions — and the coalgebra laws say it does so coherently.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;proper-maximal-sieve&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;proper-maximal-sieve&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;proper-maximal-sieve&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Proper and maximal sieves&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/proper-maximal-sieve.html&quot;&gt;proper-maximal-sieve&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;proper-maximal-sieve&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The representable &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is itself a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/sieve.html&quot; data-entry=&quot;sieve&quot;&gt;sieve&lt;/a&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A sieve on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;proper&lt;/em&gt; when it is not equal to the representable.&lt;/p&gt;
&lt;p&gt;Say that a proper sieve is &lt;em&gt;maximal&lt;/em&gt; when it contains all other proper sieves as a sub-sieve.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;sieve&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;sieve&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;sieve&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Sieves&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/sieve.html&quot;&gt;sieve&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;sieve&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;sieve&lt;/em&gt; on an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a subobject of the representable presheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: a presheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with a monic morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;↣&lt;/mo&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Sieves are a generalization from the notion of &lt;em&gt;ideal&lt;/em&gt; found in ring theory to category theory.&lt;/p&gt;
&lt;p&gt;A morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; &lt;em&gt;belongs&lt;/em&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, written &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;∋&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; lies in the image of the inclusion at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Because &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a presheaf and the inclusion is natural, membership is closed under precomposition:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;∋&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;∋&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mtext&gt;for every &lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;A sieve is thus a “downward closed” collection of morphisms into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Sieves on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are ordered by &lt;em&gt;refinement&lt;/em&gt;: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; when every morphism belonging to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; belongs to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;strict-downset-maximal&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;strict-downset-maximal&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;strict-downset-maximal&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Theorem.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Maximality of the strict downset among proper sieves&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/strict-downset-maximal.html&quot;&gt;strict-downset-maximal&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;strict-downset-maximal&quot; data-kind=&quot;theorem&quot; data-label=&quot;Theorem&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Call a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct structure&lt;/a&gt; &lt;em&gt;reflecting&lt;/em&gt; when every morphism between objects of equal degree is a split epimorphism. In a reflecting direct category, every non-invertible-in-degree morphism strictly raises degree, and the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot; data-entry=&quot;strict-downset-sieve&quot;&gt;strict downset&lt;/a&gt; is as large as a proper sieve can be:&lt;/p&gt;
&lt;p&gt;If the direct structure is reflecting, then every &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/proper-maximal-sieve.html&quot; data-entry=&quot;proper-maximal-sieve&quot;&gt;proper sieve&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; refines into the strict downset:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Suppose &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of equal degree. By reflection &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has a section &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and closure under precomposition gives &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽&lt;/mtext&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, contradicting properness.&lt;/p&gt;
&lt;p&gt;So every morphism in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; strictly raises degree. That is, every morphism in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is also a member of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;strict-downset-sieve&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;strict-downset-sieve&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;strict-downset-sieve&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The strict downset sieve of a direct category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot;&gt;strict-downset-sieve&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;strict-downset-sieve&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; carry a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct structure&lt;/a&gt;. The &lt;em&gt;strict downset&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; of an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the presheaf of morphisms into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; from strictly lower objects:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∣&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;≺&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;with restriction by precomposition — well defined since degrees are non-decreasing, so precomposing can only stay strictly below.&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 207.846970254 110.741909449&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;20.785em&quot; height=&quot;11.074em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.777826825 8.035961752)&quot; d=&quot;M 0 0m 0 52.602518005l 80.78441056 -52.602518005&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(95.044499729 8.035961575)&quot; d=&quot;M 0 0m 0.517737752 0c -0.568102007 0.901085865 -0.675271195 2.01817842 -0.28884716 3.010837521&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(92.691875065 7.082234746)&quot; d=&quot;M 0 0m 2.870362416 0.953726829c -1.053874782 0.155059894 -2.118847721 -0.198795514 -2.870362416 -0.953726829&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(110.150039359 10.458730883)&quot; d=&quot;M 0 0m 81.558174577 53.345604474c -32.126329703 -8.747447607 -60.669653104 -27.417076352 -81.558174577 -53.345604474&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(110.151184472 10.425406963)&quot; d=&quot;M 0 0m 0 0.032397352c 0.956300921 0.469238276 2.078458199 0.457218086 3.024488185 -0.032397352&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(109.507546815 10.457804315)&quot; d=&quot;M 0 0m 0.643637657 0c 0.266056824 1.031460023 0.027251897 2.127978899 -0.643637657 2.955386428&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(113.455938912 5.335682213)&quot; d=&quot;M 0 0m 82.210160587 52.335240334c -21.206846946 -25.668820981 -49.978349161 -43.984847521 -82.210160587 -52.335240334&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(113.455566362 3.532991125)&quot; d=&quot;M 0 0m 0 1.804116214c 1.049463219 -0.182545577 1.950199 -0.851915736 2.427703123 -1.804116214&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(113.455566362 5.337107339)&quot; d=&quot;M 0 0c 0.821565224 0.678031356 1.272951912 1.705470607 1.216597471 2.769199949&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(16.566205924 66.828248031)&quot; d=&quot;M 0 0l 174.474558325 0&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(189.155803565 66.828248126)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(189.155803565 64.462767849)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(101.063485127)&quot; d=&quot;M 0 0h 5.72v 5.625h -5.72v -5.625Z &quot;/&gt;&lt;g transform=&quot;translate(101.063485111 0)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 5.68)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 63.383248031)&quot; d=&quot;M 0 0h 9.443v 6.89h -9.443v -6.89Z &quot;/&gt;&lt;g transform=&quot;translate(-6.3e-8 63.383248016)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.86)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 4.9 9.33)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gC9D69096ED7E4087DDB559A2B127F8CA&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(198.403970254 63.383248031)&quot; d=&quot;M 0 0h 9.443v 6.89h -9.443v -6.89Z &quot;/&gt;&lt;g transform=&quot;translate(198.403970191 63.383248016)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.86)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 4.9 9.33)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g72495D86007E29310F1D85ECCEC85B72&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(57.729374016 97.331909449)&quot; d=&quot;M 0 0h 92.388222222v 9.41h -92.388222222v -9.41Z &quot;/&gt;&lt;g transform=&quot;translate(57.729373914 97.331909433)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g54FDDF461649EDA70025EC0C2EA25BB1&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;5.56&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3B0D9EBDFDB1B7196386E126F06F79CE&quot; x=&quot;10&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.666666667 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.566666667 10.59)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gC9D69096ED7E4087DDB559A2B127F8CA&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.109666667 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.556333333 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g54FDDF461649EDA70025EC0C2EA25BB1&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;5.56&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3B0D9EBDFDB1B7196386E126F06F79CE&quot; x=&quot;10&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 47.223 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 52.123 10.59)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g72495D86007E29310F1D85ECCEC85B72&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 59.443777778 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g6060ECD7D90BCF27BE714B82570C6B59&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 70.001555556 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g54FDDF461649EDA70025EC0C2EA25BB1&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;5.56&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3B0D9EBDFDB1B7196386E126F06F79CE&quot; x=&quot;10&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 86.668222222 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaa1c9b06e-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-gC9D69096ED7E4087DDB559A2B127F8CA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.121 4.648c -0.301 -0.294 -0.749 -0.441 -1.358 -0.441v -0.308c 0.413 0 0.742 0.063 0.994 0.182v -3.486c 0 -0.091 -0.007 -0.147 -0.028 -0.175c -0.035 -0.077 -0.245 -0.119 -0.63 -0.119h -0.287v -0.301l 1.246 0.028l 1.253 -0.028v 0.301h -0.287c -0.385 0 -0.595 0.042 -0.637 0.119c -0.014 0.028 -0.021 0.084 -0.021 0.175v 3.829c 0 0.189 -0.028 0.224 -0.245 0.224Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g72495D86007E29310F1D85ECCEC85B72&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.833 2.968c 0.224 0 0.392 0.168 0.392 0.392c 0 0.252 -0.133 0.385 -0.392 0.392c 0.154 0.329 0.504 0.595 0.959 0.595c 0.616 0 1.022 -0.462 1.022 -1.078c 0 -0.336 -0.119 -0.658 -0.364 -0.973c -0.119 -0.161 -0.21 -0.273 -0.273 -0.336l -1.659 -1.645c -0.091 -0.084 -0.077 -0.105 -0.077 -0.315h 2.884l 0.217 1.316h -0.294c -0.049 -0.371 -0.105 -0.588 -0.168 -0.637c -0.035 -0.021 -0.252 -0.035 -0.665 -0.035h -1.19c 0.469 0.413 0.903 0.784 1.316 1.113c 0.315 0.245 0.539 0.462 0.679 0.651c 0.21 0.273 0.315 0.56 0.315 0.861c 0 0.434 -0.168 0.777 -0.511 1.029c -0.301 0.231 -0.679 0.35 -1.127 0.35c -0.385 0 -0.714 -0.112 -1.001 -0.336c -0.301 -0.245 -0.455 -0.553 -0.455 -0.931c 0 -0.238 0.175 -0.413 0.392 -0.413Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g54FDDF461649EDA70025EC0C2EA25BB1&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.74 -0.11l 1.53 0.11v 0.38c -0.36 0 -0.57 0.02 -0.65 0.08c -0.08 0.06 -0.12 0.21 -0.12 0.44v 6.04l -1.49 -0.11v -0.38c 0.35 0 0.57 -0.03 0.65 -0.09c 0.08 -0.06 0.11 -0.2 0.11 -0.43v -2.03c -0.32 0.37 -0.72 0.55 -1.2 0.55c -0.62 0 -1.15 -0.22 -1.58 -0.67c -0.43 -0.45 -0.65 -0.99 -0.65 -1.62c 0 -0.61 0.2 -1.14 0.61 -1.59c 0.41 -0.45 0.91 -0.68 1.52 -0.68c 0.51 0 0.94 0.19 1.27 0.58Z m -1.13 4.26c 0.43 0 0.78 -0.19 1.03 -0.57c 0.07 -0.11 0.1 -0.22 0.1 -0.35v -2.02c 0 -0.13 -0.03 -0.24 -0.1 -0.35c -0.28 -0.45 -0.66 -0.67 -1.13 -0.67c -0.41 0 -0.74 0.2 -1 0.61c -0.18 0.3 -0.27 0.75 -0.27 1.35c 0 1.09 0.37 2 1.37 2Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-gB74A9BD98B58914FA51646C39C5D670A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.15 2.51c 0 1.15 -0.67 1.97 -1.79 1.97c -0.6 0 -1.1 -0.23 -1.51 -0.7c -0.38 -0.44 -0.57 -0.97 -0.57 -1.58c 0 -0.63 0.21 -1.16 0.63 -1.62c 0.42 -0.46 0.94 -0.69 1.56 -0.69c 0.57 0 1.01 0.2 1.31 0.59c 0.25 0.33 0.37 0.57 0.37 0.73c 0 0.1 -0.06 0.15 -0.17 0.15c -0.08 0 -0.13 -0.05 -0.16 -0.16c -0.22 -0.66 -0.65 -0.99 -1.29 -0.99c -0.45 0 -0.8 0.21 -1.07 0.64c -0.19 0.31 -0.28 0.78 -0.29 1.42h 2.7c 0.22 0 0.28 0.02 0.28 0.24Z m -0.89 0.98c 0.11 -0.33 0.16 -0.65 0.16 -0.94h -2.24c 0.03 0.66 0.2 1.11 0.5 1.34c 0.25 0.2 0.47 0.3 0.68 0.3c 0.45 0 0.75 -0.23 0.9 -0.7Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g3B0D9EBDFDB1B7196386E126F06F79CE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.31 4.53c -0.38 0 -0.73 -0.15 -1.05 -0.45c -0.3 0.23 -0.64 0.34 -1.03 0.34c -0.86 0 -1.64 -0.64 -1.64 -1.48c 0 -0.42 0.15 -0.76 0.45 -1.02c -0.19 -0.24 -0.29 -0.51 -0.29 -0.82c 0 -0.38 0.13 -0.67 0.38 -0.86c -0.42 -0.14 -0.85 -0.5 -0.85 -1.01c 0 -0.43 0.28 -0.77 0.83 -1.01c 0.42 -0.19 0.88 -0.28 1.38 -0.28c 0.51 0 0.98 0.09 1.4 0.28c 0.55 0.24 0.82 0.58 0.82 1.03c 0 0.53 -0.22 0.92 -0.66 1.17c -0.46 0.25 -0.97 0.28 -1.71 0.28c -0.44 0 -0.68 0 -0.73 0.01c -0.28 0.04 -0.48 0.31 -0.48 0.62c 0 0.15 0.04 0.29 0.13 0.41c 0.28 -0.19 0.6 -0.29 0.97 -0.29c 0.86 0 1.63 0.64 1.63 1.48c 0 0.39 -0.13 0.71 -0.39 0.96c 0.25 0.23 0.52 0.34 0.81 0.34c -0.05 -0.05 -0.08 -0.13 -0.08 -0.23c 0 -0.22 0.11 -0.33 0.33 -0.33c 0.21 0 0.32 0.11 0.32 0.34c 0 0.31 -0.24 0.52 -0.54 0.52Z m -2.08 -0.42c 0.54 0 0.81 -0.39 0.81 -1.17c 0 -0.79 -0.27 -1.19 -0.81 -1.19c -0.55 0 -0.82 0.39 -0.82 1.18c 0 0.79 0.27 1.18 0.82 1.18Z m -0.59 -4.07h 0.58c 0.52 0 0.94 -0.03 1.26 -0.1c 0.43 -0.09 0.64 -0.33 0.64 -0.71c 0 -0.32 -0.2 -0.57 -0.6 -0.76c -0.31 -0.15 -0.65 -0.22 -1.02 -0.22c -0.36 0 -0.7 0.07 -1.02 0.22c -0.41 0.19 -0.61 0.44 -0.61 0.76c 0 0.42 0.36 0.81 0.77 0.81Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g6060ECD7D90BCF27BE714B82570C6B59&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.66 -0.45c 0.17 -0.07 0.35 0.06 0.35 0.22c 0 0.1 -0.05 0.17 -0.14 0.21l -5.34 2.52l 5.34 2.52c 0.09 0.04 0.14 0.11 0.14 0.2c 0 0.17 -0.08 0.25 -0.24 0.25c -0.04 0 -0.08 -0.01 -0.11 -0.02l -5.74 -2.72c -0.1 -0.05 -0.15 -0.12 -0.15 -0.23c 0 -0.11 0.05 -0.18 0.15 -0.23Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;The evident inclusion &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;↣&lt;/mo&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; makes &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/sieve.html&quot; data-entry=&quot;sieve&quot;&gt;sieve&lt;/a&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. It is moreover a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/proper-maximal-sieve.html&quot; data-entry=&quot;proper-maximal-sieve&quot;&gt;proper&lt;/a&gt; sieve, as it exlcudes the identity.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;terminal-coalgebra&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;terminal-coalgebra&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;terminal-coalgebra&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Terminal coalgebra&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/terminal-coalgebra.html&quot;&gt;terminal-coalgebra&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;terminal-coalgebra&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;em&gt;terminal &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-coalgebra&lt;/em&gt;, written &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, is a terminal object of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;category of coalgebras&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Coalg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; — equivalently, an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/initial-algebra.html&quot; data-entry=&quot;initial-algebra&quot;&gt;initial algebra&lt;/a&gt; for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Unfolding the universal property: a terminal coalgebra is a coalgebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;out&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; such that every coalgebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; admits a unique morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;unfold&lt;/mtext&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfying&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;unfold&lt;/mtext&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mtext&gt;out&lt;/mtext&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;unfold&lt;/mtext&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;well-founded-poset-as-thin&quot; data-date=&quot;20260719&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;well-founded-poset-as-thin&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;well-founded-poset-as-thin&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;Well-founded posets are thin direct categories&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/well-founded-poset-as-thin.html&quot;&gt;well-founded-poset-as-thin&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;well-founded-poset-as-thin&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;Every poset forms a thin category. Similarly, if the poset is well-founded then it induces a thin &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct category&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;category&quot; data-date=&quot;20260613&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;category&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;category&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/category.html&quot;&gt;category&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;category&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;category&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; consists of&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A type of objects &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;For each pair of objects &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; a &lt;em&gt;set&lt;/em&gt; of morphisms &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. We may simply write a morphism with an arrow, denote &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; or &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mover&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mover&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; or similar&lt;/li&gt;
&lt;li&gt;A composition operation on morphisms. For &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, there is a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;For each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, an identity morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽&lt;/mtext&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Left-unitality of composition: for all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, an equality&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽𝖫&lt;/mtext&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽&lt;/mtext&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Right-unitality of composition: for all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, an equality&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽𝖱&lt;/mtext&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽&lt;/mtext&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Associativity of composition: for all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, an equality&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mtext&gt;𝖺𝗌𝗌𝗈𝖼&lt;/mtext&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Concretely, the definition above is meant to model &lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://github.com/agda/cubical/blob/master/Cubical/Categories/Category/Base.agda&quot;&gt;the one used in the Cubical standard library&lt;/a&gt; &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;cubicalagdalib&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/cubicalagdalib.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt;.&lt;/p&gt;
&lt;p&gt;However, the notion of category is flexible. Depending on the context, we may be talking of small, locally small, wild, or any other kind of category that may augment which things we require to be (homotopy) sets, which things we require to be small types, etc. For the most part, the same idea of a category will apply across all of these settings.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;bicategory&quot; data-date=&quot;20260611&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;bicategory&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;bicategory&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Bicategory&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/bicategory.html&quot;&gt;bicategory&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;bicategory&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;bicategory&lt;/em&gt; is a notion of weak 2-category that arises as a category weakly enriched in categories. That is, instead of having hom sets, between any two objects a bicategory has &lt;em&gt;hom categories&lt;/em&gt; such that the enriched category laws hold up to invertible 2-cell rather than strictly.&lt;/p&gt;
&lt;p&gt;A bicategory &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; consists of&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A type of objects &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, or 0-cells&lt;/li&gt;
&lt;li&gt;For all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. We may elide the subscript and simply write this as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. Refer to the objects of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; as 1-cells between &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and we may write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; or &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mover&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mover&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. For &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, refer to the morphisms in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; between &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; as 2-cells and write the morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; or &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mover&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mover&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;For each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, an &lt;em&gt;identity&lt;/em&gt; 1-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;For all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, a &lt;em&gt;composition&lt;/em&gt; functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mo&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. For 1-cells &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, write their composite as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, a natural isomorphism, the &lt;em&gt;associator&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; between the two composite functors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; that compose the leftmost, respectively rightmost, pair first:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msubsup&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mo&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msubsup&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mo&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mtext&gt;id&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mo&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;id&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mo&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;/msubsup&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Its component at 1-cells &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the invertible 2-cell&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, natural isomorphisms, the &lt;em&gt;left unitor&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;em&gt;right unitor&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, each between an endofunctor of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and the identity functor:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msubsup&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mo&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟨&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;id&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟩&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mtext&gt;id&lt;/mtext&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msubsup&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mo&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟨&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;id&lt;/mtext&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟩&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mtext&gt;id&lt;/mtext&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; in the pairings &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟨&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; stretchy=&quot;false&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟩&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; denote the constant functors at the identity 1-cells. The components at a 1-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; are the invertible 2-cells&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝜆&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;such that for all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; the &lt;em&gt;triangle&lt;/em&gt; below commutes in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 209.774817148 94.28903937&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;20.977em&quot; height=&quot;9.429em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(55.044888822 20.054)&quot; d=&quot;M 0 0h 99.445039332&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(152.604967722 20.054000094)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(152.604967722 17.688519818)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(88.833408488)&quot; d=&quot;M 0 0h 32.108v 16.054h -32.108v -16.054Z &quot;/&gt;&lt;g transform=&quot;translate(88.833408472 -7.9e-8)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g5F5C8EA640071DD729DD5527B14BE447&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.824 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.197 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gC9D69096ED7E4087DDB559A2B127F8CA&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.18 13.029)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g4D6885C8936815617AC71C4308828F97&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.227 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 25.6 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g100A286BDB35D6D6D06699D8AA0E33BB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(42.834091558 32.238000094)&quot; d=&quot;M 0 0l 48.989705658 46.785283608&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(88.826895281 78.840560408)&quot; d=&quot;M 0 0m 2.996901947 0.182723214c -1.007298531 -0.346476078 -2.119220656 -0.194783567 -2.996901947 0.408848401&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(91.587436291 76.010744448)&quot; d=&quot;M 0 0m 0.236360938 3.012539174c -0.392454568 -0.990290571 -0.292081798 -2.10801448 0.270529152 -3.012539174&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(31.296688341 58.606281708)&quot; d=&quot;M 0 0h 33.356444444v 14.728h -33.356444444v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(31.296688264 58.606281582)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g3E9A517058DA57D4B1EFBF00E4B71F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.17 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g5F5C8EA640071DD729DD5527B14BE447&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.376222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.848444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.848444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g100A286BDB35D6D6D06699D8AA0E33BB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(117.951019932 32.238000094)&quot; d=&quot;M 0 0m 48.989705658 0l -48.989705658 46.785283608&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(117.68049088 76.010744448)&quot; d=&quot;M 0 0m 0.270529152 3.012539174c 0.392454568 -0.990290571 0.292081798 -2.10801448 -0.270529152 -3.012539174&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(117.951020032 78.840560408)&quot; d=&quot;M 0 0m 0 0.182723214c 1.007298531 -0.346476078 2.119220656 -0.194783567 2.996901947 0.408848401&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(145.121684362 58.606281708)&quot; d=&quot;M 0 0h 34.016444444v 14.728h -34.016444444v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(145.121684332 58.606281582)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g5F5C8EA640071DD729DD5527B14BE447&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.206222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.678444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g5ABAAA13195960EB350F5CB851144A00&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.508444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g100A286BDB35D6D6D06699D8AA0E33BB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 13.87)&quot; d=&quot;M 0 0h 49.044888889v 12.368h -49.044888889v -12.368Z &quot;/&gt;&lt;g transform=&quot;translate(-1.22e-7 13.869999937)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g3B05053223402BD4315F0D0402157EAE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 4.58 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.602222222 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 20.074444444 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 25.074444444 12.069)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.750444444 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gDF051624CBF3E286998C84105B442D99&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 36.552666667 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 44.024888889 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gFBE86858E3D205FC60176DC0E4E4937B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(160.729928259 13.87)&quot; d=&quot;M 0 0h 49.044888889v 12.368h -49.044888889v -12.368Z &quot;/&gt;&lt;g transform=&quot;translate(160.729928137 13.869999937)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.022222222 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.494444444 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g3B05053223402BD4315F0D0402157EAE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 20.074444444 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 25.074444444 12.069)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 31.972666667 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 39.444888889 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gFBE86858E3D205FC60176DC0E4E4937B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 44.464888889 9.599)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gDF051624CBF3E286998C84105B442D99&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(94.630186352 85.18903937)&quot; d=&quot;M 0 0h 20.514444445v 9.1h -20.514444445v -9.1Z &quot;/&gt;&lt;g transform=&quot;translate(94.630186243 85.189039339)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.965)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.022222222 7.965)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.494444444 7.965)&quot;&gt;&lt;use xlink:href=&quot;#helia219abbd7-gFBE86858E3D205FC60176DC0E4E4937B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia219abbd7-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g5F5C8EA640071DD729DD5527B14BE447&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.228 4.41c 0 0.336 -0.35 0.518 -0.714 0.518c -0.168 0 -0.329 -0.049 -0.483 -0.14c -0.259 -0.154 -0.441 -0.434 -0.532 -0.833c -0.035 -0.168 -0.098 -0.476 -0.175 -0.924h -0.525c -0.161 0 -0.252 -0.014 -0.252 -0.175c 0 -0.084 0.077 -0.126 0.238 -0.126h 0.476l -0.595 -3.248c -0.084 -0.441 -0.238 -0.658 -0.455 -0.658h -0.049c -0.077 0.007 -0.14 0.028 -0.189 0.049c 0.133 0.063 0.259 0.224 0.259 0.385c 0 0.168 -0.133 0.287 -0.301 0.287c -0.238 0 -0.42 -0.217 -0.42 -0.455c 0 -0.336 0.343 -0.518 0.7 -0.518c 0.133 0 0.273 0.042 0.406 0.133c 0.182 0.119 0.329 0.287 0.441 0.49c 0.175 0.315 0.315 0.784 0.427 1.414l 0.378 2.121h 0.658c 0.168 0 0.252 0.021 0.252 0.182c 0 0.077 -0.084 0.119 -0.245 0.119h -0.602c 0.14 0.777 0.224 1.232 0.259 1.372c 0.049 0.182 0.154 0.273 0.329 0.273h 0.049c 0.084 -0.007 0.154 -0.028 0.203 -0.049c -0.133 -0.063 -0.259 -0.224 -0.259 -0.385c 0 -0.168 0.133 -0.287 0.301 -0.287c 0.238 0 0.42 0.217 0.42 0.455Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.183 0.805c -0.224 0 -0.399 -0.182 -0.399 -0.413c 0 -0.245 0.168 -0.427 0.406 -0.427c 0.091 0 0.175 0.028 0.245 0.077c -0.014 -0.462 -0.182 -0.854 -0.504 -1.169c -0.035 -0.035 -0.056 -0.063 -0.056 -0.098c 0 -0.084 0.042 -0.126 0.119 -0.126c 0.049 0 0.119 0.056 0.224 0.168c 0.231 0.252 0.455 0.763 0.455 1.218c 0 0.385 -0.14 0.77 -0.49 0.77Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-gC9D69096ED7E4087DDB559A2B127F8CA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.121 4.648c -0.301 -0.294 -0.749 -0.441 -1.358 -0.441v -0.308c 0.413 0 0.742 0.063 0.994 0.182v -3.486c 0 -0.091 -0.007 -0.147 -0.028 -0.175c -0.035 -0.077 -0.245 -0.119 -0.63 -0.119h -0.287v -0.301l 1.246 0.028l 1.253 -0.028v 0.301h -0.287c -0.385 0 -0.595 0.042 -0.637 0.119c -0.014 0.028 -0.021 0.084 -0.021 0.175v 3.829c 0 0.189 -0.028 0.224 -0.245 0.224Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g4D6885C8936815617AC71C4308828F97&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.27 2.21c -0.25 0 -0.455 -0.115 -0.61 -0.34c -0.135 -0.2 -0.205 -0.35 -0.205 -0.445c 0 -0.06 0.04 -0.09 0.125 -0.09c 0.065 0 0.105 0.04 0.13 0.115c 0.075 0.235 0.275 0.555 0.54 0.555c 0.085 0 0.125 -0.055 0.125 -0.17c 0 -0.065 -0.02 -0.145 -0.06 -0.25c -0.195 -0.465 -0.29 -0.79 -0.29 -0.97c 0 -0.265 0.095 -0.45 0.285 -0.555c 0.155 -0.085 0.33 -0.125 0.525 -0.125c 0.205 0 0.395 0.07 0.58 0.205c -0.045 -0.175 -0.1 -0.315 -0.16 -0.425c -0.15 -0.265 -0.44 -0.535 -0.815 -0.535c -0.145 0 -0.26 0.03 -0.34 0.095c 0.12 0.04 0.225 0.175 0.225 0.305c 0 0.145 -0.08 0.22 -0.24 0.22c -0.19 0 -0.33 -0.175 -0.33 -0.365c 0 -0.31 0.345 -0.46 0.685 -0.46c 0.315 0 0.61 0.095 0.875 0.28c 0.28 0.195 0.455 0.44 0.53 0.74l 0.465 1.85c 0.015 0.055 0.02 0.095 0.02 0.12c 0 0.125 -0.065 0.19 -0.2 0.19c -0.195 0 -0.255 -0.16 -0.295 -0.32l -0.255 -1.03c -0.025 -0.09 -0.04 -0.155 -0.05 -0.195c -0.025 -0.045 -0.065 -0.105 -0.12 -0.17c -0.165 -0.2 -0.35 -0.3 -0.55 -0.3c -0.255 0 -0.385 0.135 -0.385 0.405c 0 0.175 0.095 0.505 0.29 0.98c 0.04 0.1 0.06 0.175 0.06 0.23c 0 0.275 -0.265 0.455 -0.555 0.455Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g100A286BDB35D6D6D06699D8AA0E33BB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.75 -0.014c 0.273 0 0.546 0.105 0.812 0.322c -0.196 -0.833 -0.329 -1.484 -1.26 -1.484c -0.175 0 -0.329 0.007 -0.455 0.028c 0.112 0.077 0.168 0.189 0.168 0.336c 0 0.189 -0.098 0.28 -0.294 0.28c -0.238 0 -0.42 -0.21 -0.42 -0.448c 0 -0.21 0.126 -0.343 0.378 -0.392c 0.189 -0.035 0.399 -0.056 0.63 -0.056c 0.378 0 0.714 0.07 1.008 0.21c 0.357 0.175 0.574 0.427 0.658 0.756l 0.749 3.017c 0.021 0.077 0.028 0.126 0.028 0.154c 0 0.161 -0.084 0.245 -0.259 0.245c -0.161 0 -0.266 -0.077 -0.329 -0.224c -0.168 0.238 -0.399 0.357 -0.7 0.357c -0.469 0 -0.882 -0.203 -1.246 -0.609c -0.364 -0.406 -0.546 -0.854 -0.546 -1.337c 0 -0.651 0.427 -1.155 1.078 -1.155Z m 1.057 2.723c 0.161 -0.147 0.238 -0.287 0.245 -0.427l -0.329 -1.344c -0.021 -0.077 -0.063 -0.154 -0.14 -0.245c -0.259 -0.308 -0.525 -0.462 -0.812 -0.462c -0.329 0 -0.49 0.21 -0.49 0.63c 0 0.168 0.042 0.406 0.119 0.707c 0.077 0.301 0.154 0.518 0.238 0.658c 0.245 0.406 0.518 0.609 0.826 0.609c 0.133 0 0.252 -0.042 0.343 -0.126Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g3E9A517058DA57D4B1EFBF00E4B71F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.61 4.42c -1.13 0 -2.07 -1.22 -2.32 -2.22l -0.96 -3.89c -0.02 -0.08 -0.03 -0.13 -0.03 -0.16c 0 -0.21 0.1 -0.31 0.31 -0.31c 0.15 0 0.28 0.08 0.38 0.23l 0.61 2.39c 0.23 -0.39 0.55 -0.59 0.96 -0.59c 0.66 0 1.24 0.32 1.75 0.97c 0.47 0.61 0.71 1.26 0.71 1.93c 0 0.91 -0.53 1.65 -1.41 1.65Z m -0.02 -0.3c 0.43 0 0.64 -0.31 0.64 -0.93c 0 -0.27 -0.06 -0.62 -0.17 -1.07c -0.22 -0.85 -0.53 -1.42 -0.92 -1.72c -0.21 -0.16 -0.4 -0.24 -0.59 -0.24c -0.19 0 -0.36 0.07 -0.49 0.2c -0.21 0.21 -0.31 0.43 -0.31 0.64c 0.01 0.07 0.03 0.19 0.07 0.36c 0.23 0.95 0.43 1.56 0.59 1.84c 0.35 0.61 0.74 0.92 1.18 0.92Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g9057B706B837038C03517701449A5849&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.92 2.94c 0.04 0.02 0.06 0.05 0.06 0.08c 0 0.08 -0.04 0.12 -0.12 0.12l -1.96 -0.33l -0.29 1.96c -0.02 0.06 -0.06 0.09 -0.11 0.09c -0.05 0 -0.09 -0.03 -0.11 -0.09l -0.29 -1.96l -1.96 0.33c -0.08 0 -0.12 -0.04 -0.12 -0.12c 0 -0.03 0.02 -0.06 0.06 -0.08l 1.78 -0.89l -0.92 -1.75c -0.06 -0.09 0.08 -0.22 0.17 -0.13l 1.39 1.41l 1.39 -1.41c 0.09 -0.09 0.22 0.04 0.17 0.13l -0.92 1.75Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g9895E63CDB1310374A05B4A6DB38230&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.69 6.66c -0.41 -0.42 -1.01 -0.63 -1.8 -0.63v -0.39c 0.52 0 0.95 0.08 1.28 0.24v -5.06c 0 -0.18 -0.04 -0.3 -0.13 -0.35c -0.09 -0.05 -0.34 -0.08 -0.74 -0.08h -0.35v -0.39c 0.25 0.02 0.79 0.03 1.62 0.03c 0.83 0 1.37 -0.01 1.62 -0.03v 0.39h -0.35c -0.41 0 -0.66 0.03 -0.74 0.08c -0.08 0.05 -0.13 0.17 -0.13 0.35v 5.54c 0 0.24 -0.02 0.3 -0.28 0.3Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g5ABAAA13195960EB350F5CB851144A00&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.86 -0.13c 0.11 0 0.23 0.07 0.36 0.22l 2.33 2.76c 0.35 -0.96 0.61 -1.68 0.78 -2.17c 0.11 -0.31 0.18 -0.49 0.23 -0.56c 0.11 -0.15 0.3 -0.23 0.56 -0.23h 0.21c 0.1 0.01 0.15 0.05 0.15 0.14c 0 0.02 -0.02 0.06 -0.06 0.11c -0.07 0.07 -0.14 0.22 -0.22 0.45l -2.01 5.62c -0.17 0.49 -0.58 0.73 -1.23 0.73c -0.15 0 -0.22 -0.05 -0.22 -0.15c 0 -0.07 0.06 -0.12 0.17 -0.15c 0.14 -0.04 0.23 -0.09 0.28 -0.15c 0.07 -0.08 0.17 -0.28 0.28 -0.6l 0.95 -2.67l -2.7 -2.69c -0.13 -0.13 -0.19 -0.24 -0.19 -0.33c 0 -0.18 0.15 -0.33 0.33 -0.33Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g3B05053223402BD4315F0D0402157EAE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.8 -3.47c 0.1 0 0.15 0.05 0.15 0.15c 0 0.05 -0.02 0.09 -0.05 0.12c -0.61 0.47 -1.1 1.24 -1.47 2.32c -0.32 0.93 -0.48 1.85 -0.48 2.74v 1.28c 0 0.89 0.16 1.81 0.48 2.74c 0.37 1.08 0.86 1.85 1.47 2.32c 0.03 0.03 0.05 0.07 0.05 0.12c 0 0.1 -0.05 0.15 -0.15 0.15c -0.02 0 -0.05 -0.01 -0.08 -0.03c -0.7 -0.53 -1.28 -1.33 -1.74 -2.4c -0.45 -1.01 -0.67 -1.98 -0.67 -2.9v -1.28c 0 -0.92 0.22 -1.89 0.67 -2.9c 0.46 -1.07 1.04 -1.87 1.74 -2.4c 0.03 -0.02 0.06 -0.03 0.08 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g69726A5B532D359584B7BE612A255CC8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.52 6.33c 0 0.44 -0.43 0.72 -0.9 0.72c -0.62 0 -1.05 -0.4 -1.28 -1.19c -0.05 -0.18 -0.16 -0.69 -0.32 -1.53h -0.65c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.6l -0.73 -3.87c -0.11 -0.57 -0.21 -0.99 -0.3 -1.27c -0.12 -0.37 -0.29 -0.56 -0.51 -0.56c -0.15 0 -0.27 0.04 -0.38 0.11c 0.32 0.05 0.48 0.24 0.48 0.56c 0 0.26 -0.13 0.39 -0.4 0.39c -0.34 0 -0.58 -0.3 -0.58 -0.64c 0 -0.44 0.41 -0.72 0.88 -0.72c 0.25 0 0.48 0.1 0.67 0.31c 0.32 0.33 0.57 0.8 0.75 1.43c 0.11 0.39 0.21 0.77 0.28 1.15l 0.58 3.11h 0.82c 0.23 0 0.33 0.01 0.33 0.24c 0 0.09 -0.1 0.14 -0.3 0.14h -0.77c 0.06 0.41 0.34 1.92 0.43 2.11c 0.1 0.21 0.24 0.31 0.42 0.31c 0.15 0 0.28 -0.04 0.39 -0.11c -0.31 -0.07 -0.47 -0.25 -0.47 -0.56c 0 -0.26 0.13 -0.39 0.4 -0.39c 0.34 0 0.58 0.3 0.58 0.64Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-g437B1AD9322289F82F31143FB21DC777&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.668 3.017c -0.14 0 -0.245 -0.063 -0.308 -0.182c -0.014 -0.021 -0.049 -0.154 -0.112 -0.406l -0.42 -1.68c -0.049 -0.077 -0.091 -0.147 -0.14 -0.203c -0.224 -0.259 -0.455 -0.385 -0.686 -0.385c -0.294 0 -0.441 0.182 -0.441 0.546c 0 0.259 0.119 0.707 0.364 1.33c 0.077 0.21 0.119 0.357 0.119 0.434c 0 0.364 -0.315 0.616 -0.679 0.616c -0.336 0 -0.602 -0.168 -0.798 -0.504c -0.161 -0.273 -0.238 -0.469 -0.238 -0.581c 0 -0.077 0.049 -0.119 0.147 -0.119c 0.077 0 0.126 0.042 0.147 0.133c 0.161 0.546 0.406 0.819 0.721 0.819c 0.091 0 0.14 -0.07 0.14 -0.21c 0 -0.105 -0.028 -0.231 -0.091 -0.392c -0.147 -0.371 -0.231 -0.602 -0.266 -0.693c -0.091 -0.273 -0.133 -0.518 -0.133 -0.721c 0 -0.595 0.385 -0.903 0.98 -0.903c 0.259 0 0.49 0.084 0.707 0.259c -0.105 -0.399 -0.245 -0.707 -0.427 -0.924c -0.252 -0.287 -0.518 -0.427 -0.805 -0.427c -0.217 0 -0.378 0.056 -0.476 0.175c 0.196 0.049 0.357 0.182 0.357 0.406c 0 0.189 -0.098 0.287 -0.301 0.287c -0.252 0 -0.427 -0.231 -0.427 -0.483c 0 -0.413 0.406 -0.637 0.847 -0.637c 0.413 0 0.784 0.14 1.127 0.413c 0.343 0.273 0.56 0.616 0.658 1.015l 0.658 2.611c 0.021 0.077 0.028 0.126 0.028 0.161c 0 0.14 -0.112 0.245 -0.252 0.245Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-gDF051624CBF3E286998C84105B442D99&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.86 -3.44c 0.7 0.53 1.28 1.33 1.74 2.4c 0.45 1.01 0.67 1.98 0.67 2.9v 1.28c 0 0.92 -0.22 1.89 -0.67 2.9c -0.46 1.07 -1.04 1.87 -1.74 2.4c -0.03 0.02 -0.06 0.03 -0.08 0.03c -0.1 0 -0.15 -0.05 -0.15 -0.15c 0 -0.05 0.02 -0.09 0.05 -0.12c 0.61 -0.47 1.1 -1.24 1.47 -2.32c 0.32 -0.93 0.48 -1.85 0.48 -2.74v -1.28c 0 -0.89 -0.16 -1.81 -0.48 -2.74c -0.37 -1.08 -0.86 -1.85 -1.47 -2.32c -0.03 -0.03 -0.05 -0.07 -0.05 -0.12c 0 -0.1 0.05 -0.15 0.15 -0.15c 0.02 0 0.05 0.01 0.08 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia219abbd7-gFBE86858E3D205FC60176DC0E4E4937B&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.15 -1.41c 0 -0.43 0.45 -0.64 1.35 -0.64c 0.47 0 0.91 0.12 1.3 0.35c 0.44 0.26 0.71 0.61 0.82 1.04l 1.09 4.39c 0.02 0.1 0.03 0.16 0.03 0.19c 0 0.2 -0.11 0.3 -0.32 0.3c -0.22 0 -0.36 -0.12 -0.43 -0.35c -0.22 0.37 -0.52 0.55 -0.89 0.55c -0.64 0 -1.21 -0.32 -1.7 -0.96c -0.45 -0.6 -0.68 -1.23 -0.68 -1.88c 0 -0.87 0.51 -1.61 1.35 -1.61c 0.39 0 0.75 0.17 1.08 0.5l -0.3 -1.18c -0.29 -0.69 -0.74 -1.04 -1.37 -1.04c -0.26 0 -0.48 0.02 -0.66 0.06c 0.21 0.11 0.31 0.28 0.31 0.51c 0 0.25 -0.14 0.38 -0.41 0.38c -0.32 0 -0.57 -0.29 -0.57 -0.61Z m 3.41 5.33c 0.2 -0.21 0.3 -0.41 0.3 -0.61c 0 -0.01 -0.01 -0.06 -0.03 -0.13l -0.47 -1.89c -0.06 -0.23 -0.23 -0.47 -0.5 -0.69c -0.27 -0.22 -0.53 -0.33 -0.76 -0.33c -0.4 0 -0.6 0.29 -0.6 0.87c 0 0.55 0.34 1.77 0.54 2.13c 0.31 0.57 0.66 0.85 1.07 0.85c 0.18 0 0.33 -0.07 0.45 -0.2Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;and such that for all composable 1-cells &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; the &lt;em&gt;pentagon&lt;/em&gt; below commutes:&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 438.05 163.07807874&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;43.805em&quot; height=&quot;16.308em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(47.383719886 85.645039465)&quot; d=&quot;M 0 0l 27.415952981 47.517158915&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(71.808754754 132.543843763)&quot; d=&quot;M 0 0m 2.990918002 0.618354536c -0.8691911 -0.615794074 -1.978893039 -0.782954149 -2.990918002 -0.450537267&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(74.785374338 130.347349993)&quot; d=&quot;M 0 0m 0.014298418 2.814848307c -0.098092387 -1.060694769 0.312589854 -2.10507065 1.106889035 -2.814848307&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(9.422549577 111.506569676)&quot; d=&quot;M 0 0h 48.264444444v 14.728h -48.264444444v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(9.422549516 111.50656955)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g5F5C8EA640071DD729DD5527B14BE447&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.824 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.197 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g100A286BDB35D6D6D06699D8AA0E33BB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.145 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.518 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7B2F8D8E72AA856D6F4EC657E98BA9CF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 28.983222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 36.455444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 41.455444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g3FDAE6DE9E8B6522C8746A14275CFA0B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(128.303333249 144.35007874)&quot; d=&quot;M 0 0h 181.203333533&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(307.621706147 144.35007874)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(307.621706147 141.984598464)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(200.770000016 148.35007874)&quot; d=&quot;M 0 0h 36.51v 14.728h -36.51v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(200.769999969 148.350078614)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g5F5C8EA640071DD729DD5527B14BE447&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.824 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.197 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g100A286BDB35D6D6D06699D8AA0E33BB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.145 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g48ADC6DA34818E424ED65C488AF22798&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 22.645 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7B2F8D8E72AA856D6F4EC657E98BA9CF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.328 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.701 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g3FDAE6DE9E8B6522C8746A14275CFA0B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(363.130386499 85.852919825)&quot; d=&quot;M 0 0m 0 47.517158915l 27.415952981 -47.517158915&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(390.532040984 85.852919622)&quot; d=&quot;M 0 0m 0.014298418 0c -0.098092387 1.060694769 0.312589854 2.10507065 1.106889035 2.814848307&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(387.555421399 85.852919622)&quot; d=&quot;M 0 0m 2.990918002 0c -0.8691911 0.615794074 -1.978893039 0.782954149 -2.990918002 0.450537267&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(380.363005979 111.506569676)&quot; d=&quot;M 0 0h 48.264444444v 14.728h -48.264444444v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(380.363005917 111.50656955)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g5F5C8EA640071DD729DD5527B14BE447&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.206222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.678444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 28.078444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g100A286BDB35D6D6D06699D8AA0E33BB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 32.026444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 34.399444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7B2F8D8E72AA856D6F4EC657E98BA9CF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 39.082444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 41.455444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g3FDAE6DE9E8B6522C8746A14275CFA0B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(70.521530648 16.054601409)&quot; d=&quot;M 0 0m 0 47.630438055l 111.053036662 -47.630438055&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(180.708131823 16.054601386)&quot; d=&quot;M 0 0m 0.866435704 0c -0.713954024 0.790547732 -1.010750704 1.872810745 -0.799939608 2.91696339&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(178.90981142 14.623638883)&quot; d=&quot;M 0 0m 2.664756107 1.430962503c -1.064863081 -0.027616724 -2.053551175 -0.558537953 -2.664756107 -1.430962503&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(88.071641607 21.41837453)&quot; d=&quot;M 0 0h 36.51v 14.728h -36.51v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(88.07164156 21.418374404)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g5F5C8EA640071DD729DD5527B14BE447&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.824 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g48ADC6DA34818E424ED65C488AF22798&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.324 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g100A286BDB35D6D6D06699D8AA0E33BB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 20.272 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 22.645 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7B2F8D8E72AA856D6F4EC657E98BA9CF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.328 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.701 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g3FDAE6DE9E8B6522C8746A14275CFA0B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(256.254863981 15.959999906)&quot; d=&quot;M 0 0l 111.053036662 47.630438055&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(364.643144775 63.590437984)&quot; d=&quot;M 0 0m 2.664756107 0c -1.064863081 0.027616724 -2.053551175 0.558537953 -2.664756107 1.430962503&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(366.441465178 60.673474594)&quot; d=&quot;M 0 0m 0.866435704 2.91696339c -0.713954024 -0.790547732 -1.010750704 -1.872810745 -0.799939608 -2.91696339&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(313.468358393 21.41837453)&quot; d=&quot;M 0 0h 36.51v 14.728h -36.51v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(313.468358346 21.418374404)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g5F5C8EA640071DD729DD5527B14BE447&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.824 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.197 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g100A286BDB35D6D6D06699D8AA0E33BB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.145 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.518 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7B2F8D8E72AA856D6F4EC657E98BA9CF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.201 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g48ADC6DA34818E424ED65C488AF22798&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.701 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g3FDAE6DE9E8B6522C8746A14275CFA0B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 69.68503937)&quot; d=&quot;M 0 0h 66.583333333v 9.96h -66.583333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(-4.2e-8 69.685039323)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.78 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.802222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.274444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFBE86858E3D205FC60176DC0E4E4937B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 28.294444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 34.406666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 41.878888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 47.638888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 53.751111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 61.223333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gA58F80FED159F82A020F96DF88776660&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(185.733333333)&quot; d=&quot;M 0 0h 66.583333333v 9.96h -66.583333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(185.733333291 -4.7e-8)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 11.912222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.384444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFBE86858E3D205FC60176DC0E4E4937B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 24.404444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.516666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.988888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 41.878888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 49.861111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 57.333333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gA58F80FED159F82A020F96DF88776660&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 62.693333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(371.466666667 69.68503937)&quot; d=&quot;M 0 0h 66.583333333v 9.96h -66.583333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(371.466666625 69.685039323)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.022222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.494444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.384444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFBE86858E3D205FC60176DC0E4E4937B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.626666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 34.098888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.988888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 45.971111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 53.443333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gA58F80FED159F82A020F96DF88776660&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 58.803333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 62.693333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(55.72 139.37007874)&quot; d=&quot;M 0 0h 66.583333333v 9.96h -66.583333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(55.719999958 139.370078693)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 11.912222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.384444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.274444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFBE86858E3D205FC60176DC0E4E4937B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.516666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.988888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 43.748888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 47.638888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 53.751111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 61.223333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gA58F80FED159F82A020F96DF88776660&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(315.746666667 139.37007874)&quot; d=&quot;M 0 0h 66.583333333v 9.96h -66.583333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(315.746666625 139.370078693)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.022222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.494444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.384444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.274444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gFBE86858E3D205FC60176DC0E4E4937B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.516666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.988888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 43.748888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 49.861111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 57.333333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-gA58F80FED159F82A020F96DF88776660&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 62.693333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaf7f08470-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g5F5C8EA640071DD729DD5527B14BE447&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.228 4.41c 0 0.336 -0.35 0.518 -0.714 0.518c -0.168 0 -0.329 -0.049 -0.483 -0.14c -0.259 -0.154 -0.441 -0.434 -0.532 -0.833c -0.035 -0.168 -0.098 -0.476 -0.175 -0.924h -0.525c -0.161 0 -0.252 -0.014 -0.252 -0.175c 0 -0.084 0.077 -0.126 0.238 -0.126h 0.476l -0.595 -3.248c -0.084 -0.441 -0.238 -0.658 -0.455 -0.658h -0.049c -0.077 0.007 -0.14 0.028 -0.189 0.049c 0.133 0.063 0.259 0.224 0.259 0.385c 0 0.168 -0.133 0.287 -0.301 0.287c -0.238 0 -0.42 -0.217 -0.42 -0.455c 0 -0.336 0.343 -0.518 0.7 -0.518c 0.133 0 0.273 0.042 0.406 0.133c 0.182 0.119 0.329 0.287 0.441 0.49c 0.175 0.315 0.315 0.784 0.427 1.414l 0.378 2.121h 0.658c 0.168 0 0.252 0.021 0.252 0.182c 0 0.077 -0.084 0.119 -0.245 0.119h -0.602c 0.14 0.777 0.224 1.232 0.259 1.372c 0.049 0.182 0.154 0.273 0.329 0.273h 0.049c 0.084 -0.007 0.154 -0.028 0.203 -0.049c -0.133 -0.063 -0.259 -0.224 -0.259 -0.385c 0 -0.168 0.133 -0.287 0.301 -0.287c 0.238 0 0.42 0.217 0.42 0.455Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.183 0.805c -0.224 0 -0.399 -0.182 -0.399 -0.413c 0 -0.245 0.168 -0.427 0.406 -0.427c 0.091 0 0.175 0.028 0.245 0.077c -0.014 -0.462 -0.182 -0.854 -0.504 -1.169c -0.035 -0.035 -0.056 -0.063 -0.056 -0.098c 0 -0.084 0.042 -0.126 0.119 -0.126c 0.049 0 0.119 0.056 0.224 0.168c 0.231 0.252 0.455 0.763 0.455 1.218c 0 0.385 -0.14 0.77 -0.49 0.77Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g100A286BDB35D6D6D06699D8AA0E33BB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.75 -0.014c 0.273 0 0.546 0.105 0.812 0.322c -0.196 -0.833 -0.329 -1.484 -1.26 -1.484c -0.175 0 -0.329 0.007 -0.455 0.028c 0.112 0.077 0.168 0.189 0.168 0.336c 0 0.189 -0.098 0.28 -0.294 0.28c -0.238 0 -0.42 -0.21 -0.42 -0.448c 0 -0.21 0.126 -0.343 0.378 -0.392c 0.189 -0.035 0.399 -0.056 0.63 -0.056c 0.378 0 0.714 0.07 1.008 0.21c 0.357 0.175 0.574 0.427 0.658 0.756l 0.749 3.017c 0.021 0.077 0.028 0.126 0.028 0.154c 0 0.161 -0.084 0.245 -0.259 0.245c -0.161 0 -0.266 -0.077 -0.329 -0.224c -0.168 0.238 -0.399 0.357 -0.7 0.357c -0.469 0 -0.882 -0.203 -1.246 -0.609c -0.364 -0.406 -0.546 -0.854 -0.546 -1.337c 0 -0.651 0.427 -1.155 1.078 -1.155Z m 1.057 2.723c 0.161 -0.147 0.238 -0.287 0.245 -0.427l -0.329 -1.344c -0.021 -0.077 -0.063 -0.154 -0.14 -0.245c -0.259 -0.308 -0.525 -0.462 -0.812 -0.462c -0.329 0 -0.49 0.21 -0.49 0.63c 0 0.168 0.042 0.406 0.119 0.707c 0.077 0.301 0.154 0.518 0.238 0.658c 0.245 0.406 0.518 0.609 0.826 0.609c 0.133 0 0.252 -0.042 0.343 -0.126Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g7B2F8D8E72AA856D6F4EC657E98BA9CF&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.561 4.403c 0 -0.028 -0.007 -0.077 -0.028 -0.147c -0.336 -1.337 -0.658 -2.688 -1.001 -4.018c -0.007 -0.028 -0.007 -0.049 -0.007 -0.056c 0 -0.168 0.084 -0.252 0.259 -0.252c 0.21 0 0.294 0.133 0.357 0.336l 0.231 0.917c 0.077 0.336 0.154 0.714 0.315 0.952c 0.315 0.483 0.672 0.721 1.078 0.721c 0.252 0 0.378 -0.154 0.378 -0.455c 0 -0.273 -0.133 -0.756 -0.399 -1.463c -0.07 -0.189 -0.105 -0.315 -0.105 -0.385c 0 -0.378 0.301 -0.623 0.679 -0.623c 0.329 0 0.595 0.168 0.784 0.511c 0.161 0.287 0.238 0.476 0.238 0.574c 0 0.077 -0.049 0.119 -0.14 0.119c -0.049 -0.007 -0.098 -0.042 -0.147 -0.112c -0.007 -0.007 -0.007 -0.021 -0.007 -0.028c -0.161 -0.539 -0.392 -0.812 -0.707 -0.812c -0.098 0 -0.147 0.07 -0.147 0.21c 0 0.105 0.056 0.287 0.161 0.553c 0.245 0.623 0.364 1.071 0.364 1.344c 0 0.546 -0.308 0.819 -0.924 0.819c -0.399 0 -0.756 -0.168 -1.071 -0.504l 0.497 2.009c 0.007 0.014 0.014 0.056 0.028 0.119c 0 0.084 -0.042 0.126 -0.133 0.126l -0.889 -0.07c -0.119 -0.007 -0.175 -0.07 -0.175 -0.189c 0 -0.077 0.07 -0.119 0.203 -0.119c 0.126 0 0.308 0.007 0.308 -0.077Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g9057B706B837038C03517701449A5849&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.92 2.94c 0.04 0.02 0.06 0.05 0.06 0.08c 0 0.08 -0.04 0.12 -0.12 0.12l -1.96 -0.33l -0.29 1.96c -0.02 0.06 -0.06 0.09 -0.11 0.09c -0.05 0 -0.09 -0.03 -0.11 -0.09l -0.29 -1.96l -1.96 0.33c -0.08 0 -0.12 -0.04 -0.12 -0.12c 0 -0.03 0.02 -0.06 0.06 -0.08l 1.78 -0.89l -0.92 -1.75c -0.06 -0.09 0.08 -0.22 0.17 -0.13l 1.39 1.41l 1.39 -1.41c 0.09 -0.09 0.22 0.04 0.17 0.13l -0.92 1.75Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g9895E63CDB1310374A05B4A6DB38230&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.69 6.66c -0.41 -0.42 -1.01 -0.63 -1.8 -0.63v -0.39c 0.52 0 0.95 0.08 1.28 0.24v -5.06c 0 -0.18 -0.04 -0.3 -0.13 -0.35c -0.09 -0.05 -0.34 -0.08 -0.74 -0.08h -0.35v -0.39c 0.25 0.02 0.79 0.03 1.62 0.03c 0.83 0 1.37 -0.01 1.62 -0.03v 0.39h -0.35c -0.41 0 -0.66 0.03 -0.74 0.08c -0.08 0.05 -0.13 0.17 -0.13 0.35v 5.54c 0 0.24 -0.02 0.3 -0.28 0.3Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g3FDAE6DE9E8B6522C8746A14275CFA0B&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.969 2.597c 0 0.308 -0.252 0.511 -0.56 0.511c -0.315 0 -0.686 -0.203 -1.12 -0.616c -0.315 -0.301 -0.567 -0.497 -0.742 -0.581l 0.672 2.702c 0.007 0.014 0.014 0.056 0.028 0.119c 0 0.084 -0.049 0.126 -0.14 0.126l -0.882 -0.07c -0.119 -0.007 -0.175 -0.07 -0.175 -0.189c 0 -0.077 0.07 -0.119 0.203 -0.119c 0.119 0 0.308 0 0.308 -0.077c 0 -0.028 -0.007 -0.077 -0.028 -0.147c -0.336 -1.337 -0.658 -2.688 -1.001 -4.018c -0.007 -0.028 -0.007 -0.049 -0.007 -0.056c 0 -0.168 0.084 -0.252 0.259 -0.252c 0.175 0 0.287 0.105 0.343 0.308c 0.112 0.427 0.273 1.064 0.336 1.323c 0.553 -0.063 0.833 -0.238 0.833 -0.539c 0 -0.063 -0.042 -0.287 -0.042 -0.35c 0 -0.434 0.329 -0.742 0.756 -0.742c 0.252 0 0.462 0.126 0.623 0.378c 0.147 0.231 0.238 0.462 0.28 0.707c 0 0.077 -0.049 0.119 -0.14 0.119c -0.042 0 -0.07 -0.007 -0.091 -0.021c -0.035 -0.063 -0.063 -0.119 -0.07 -0.168c -0.14 -0.511 -0.336 -0.763 -0.581 -0.763c -0.14 0 -0.21 0.112 -0.21 0.329c 0 0.084 0.014 0.182 0.035 0.301c 0.021 0.077 0.035 0.147 0.035 0.224c 0 0.301 -0.154 0.511 -0.469 0.616c -0.196 0.07 -0.392 0.119 -0.588 0.14c 0.133 0.091 0.301 0.231 0.504 0.413c 0.329 0.294 0.637 0.651 1.064 0.651c 0.077 0 0.133 -0.014 0.175 -0.042c -0.217 -0.056 -0.329 -0.189 -0.329 -0.406c 0 -0.168 0.133 -0.287 0.301 -0.287c 0.252 0 0.42 0.224 0.42 0.476Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g48ADC6DA34818E424ED65C488AF22798&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.295 1.407l -0.637 -1.239c -0.042 -0.077 -0.007 -0.098 0.007 -0.112c 0.014 -0.014 0.049 -0.035 0.112 0.028l 0.973 0.994l 0.98 -0.994c 0.056 -0.063 0.091 -0.042 0.105 -0.028c 0.014 0.014 0.056 0.042 0.014 0.112l -0.644 1.239l 1.246 0.623c 0.077 0.042 0.063 0.077 0.056 0.098c -0.007 0.021 -0.021 0.056 -0.105 0.042l -1.372 -0.231l -0.21 1.379c -0.014 0.084 -0.049 0.084 -0.07 0.084c -0.021 0 -0.063 0 -0.077 -0.084l -0.203 -1.379l -1.379 0.224c -0.077 0.014 -0.091 -0.014 -0.098 -0.035c -0.007 -0.021 -0.021 -0.063 0.056 -0.105Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g69726A5B532D359584B7BE612A255CC8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.52 6.33c 0 0.44 -0.43 0.72 -0.9 0.72c -0.62 0 -1.05 -0.4 -1.28 -1.19c -0.05 -0.18 -0.16 -0.69 -0.32 -1.53h -0.65c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.6l -0.73 -3.87c -0.11 -0.57 -0.21 -0.99 -0.3 -1.27c -0.12 -0.37 -0.29 -0.56 -0.51 -0.56c -0.15 0 -0.27 0.04 -0.38 0.11c 0.32 0.05 0.48 0.24 0.48 0.56c 0 0.26 -0.13 0.39 -0.4 0.39c -0.34 0 -0.58 -0.3 -0.58 -0.64c 0 -0.44 0.41 -0.72 0.88 -0.72c 0.25 0 0.48 0.1 0.67 0.31c 0.32 0.33 0.57 0.8 0.75 1.43c 0.11 0.39 0.21 0.77 0.28 1.15l 0.58 3.11h 0.82c 0.23 0 0.33 0.01 0.33 0.24c 0 0.09 -0.1 0.14 -0.3 0.14h -0.77c 0.06 0.41 0.34 1.92 0.43 2.11c 0.1 0.21 0.24 0.31 0.42 0.31c 0.15 0 0.28 -0.04 0.39 -0.11c -0.31 -0.07 -0.47 -0.25 -0.47 -0.56c 0 -0.26 0.13 -0.39 0.4 -0.39c 0.34 0 0.58 0.3 0.58 0.64Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-gFBE86858E3D205FC60176DC0E4E4937B&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.15 -1.41c 0 -0.43 0.45 -0.64 1.35 -0.64c 0.47 0 0.91 0.12 1.3 0.35c 0.44 0.26 0.71 0.61 0.82 1.04l 1.09 4.39c 0.02 0.1 0.03 0.16 0.03 0.19c 0 0.2 -0.11 0.3 -0.32 0.3c -0.22 0 -0.36 -0.12 -0.43 -0.35c -0.22 0.37 -0.52 0.55 -0.89 0.55c -0.64 0 -1.21 -0.32 -1.7 -0.96c -0.45 -0.6 -0.68 -1.23 -0.68 -1.88c 0 -0.87 0.51 -1.61 1.35 -1.61c 0.39 0 0.75 0.17 1.08 0.5l -0.3 -1.18c -0.29 -0.69 -0.74 -1.04 -1.37 -1.04c -0.26 0 -0.48 0.02 -0.66 0.06c 0.21 0.11 0.31 0.28 0.31 0.51c 0 0.25 -0.14 0.38 -0.41 0.38c -0.32 0 -0.57 -0.29 -0.57 -0.61Z m 3.41 5.33c 0.2 -0.21 0.3 -0.41 0.3 -0.61c 0 -0.01 -0.01 -0.06 -0.03 -0.13l -0.47 -1.89c -0.06 -0.23 -0.23 -0.47 -0.5 -0.69c -0.27 -0.22 -0.53 -0.33 -0.76 -0.33c -0.4 0 -0.6 0.29 -0.6 0.87c 0 0.55 0.34 1.77 0.54 2.13c 0.31 0.57 0.66 0.85 1.07 0.85c 0.18 0 0.33 -0.07 0.45 -0.2Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-gD21D184679260132F2E49FCF5BD09996&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.12 1.38c -0.23 -0.79 -0.55 -1.19 -0.97 -1.19c -0.13 0 -0.2 0.09 -0.2 0.28c 0 0.15 0.06 0.38 0.18 0.69c 0.4 1.07 0.6 1.8 0.6 2.19c 0 0.71 -0.46 1.1 -1.17 1.1c -0.53 0 -0.99 -0.22 -1.38 -0.65l 0.73 2.99c -0.02 0.09 -0.04 0.15 -0.17 0.15c -0.33 0 -1.06 -0.09 -1.19 -0.1c -0.15 -0.02 -0.23 -0.09 -0.23 -0.24c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.21 0 0.44 0.01 0.46 -0.13l -1.46 -5.89c -0.03 -0.11 -0.04 -0.18 -0.04 -0.22c 0 -0.21 0.11 -0.32 0.32 -0.32c 0.2 0 0.34 0.1 0.41 0.29l 0.4 1.64c 0.12 0.49 0.21 0.86 0.28 1.11c 0.03 0.07 0.11 0.21 0.24 0.41c 0.36 0.54 0.8 0.81 1.33 0.81c 0.33 0 0.49 -0.22 0.49 -0.65c 0 -0.41 -0.2 -1.14 -0.6 -2.2c -0.09 -0.23 -0.13 -0.41 -0.13 -0.56c 0 -0.48 0.36 -0.85 0.84 -0.85c 0.44 0 0.79 0.25 1.04 0.76c 0.19 0.4 0.29 0.67 0.29 0.8c 0 0.09 -0.05 0.14 -0.16 0.14c -0.03 0 -0.18 -0.09 -0.18 -0.21Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf7f08470-gA58F80FED159F82A020F96DF88776660&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.09 3.53c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.35 0 0.58 0.31 0.58 0.65c 0 0.39 -0.32 0.66 -0.71 0.66c -0.45 0 -0.93 -0.3 -1.46 -0.89c -0.41 -0.45 -0.74 -0.74 -1.01 -0.87l 1.01 4.1c -0.02 0.09 -0.04 0.15 -0.17 0.15c -0.32 0 -1.08 -0.09 -1.2 -0.1c -0.15 -0.02 -0.22 -0.09 -0.22 -0.24c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.19 0 0.45 0.01 0.45 -0.13l -1.45 -5.89c -0.03 -0.11 -0.04 -0.18 -0.04 -0.22c 0 -0.21 0.11 -0.32 0.32 -0.32c 0.17 0 0.3 0.08 0.37 0.23c 0.05 0.09 0.23 0.8 0.55 2.14c 0.52 -0.05 1.07 -0.3 1.07 -0.8c 0 -0.15 -0.07 -0.45 -0.07 -0.55c 0 -0.57 0.37 -1.02 0.94 -1.02c 0.58 0 0.97 0.52 1.17 1.56c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.15 -0.07 -0.18 -0.21c -0.22 -0.79 -0.49 -1.19 -0.82 -1.19c -0.18 0 -0.27 0.14 -0.27 0.42c 0 0.16 0.12 0.7 0.12 0.86c 0 0.57 -0.46 0.92 -1.39 1.06c 0.23 0.16 0.49 0.39 0.77 0.69c 0.28 0.3 0.48 0.49 0.61 0.6c 0.27 0.22 0.53 0.33 0.76 0.33c 0.1 0 0.18 -0.02 0.24 -0.06c -0.27 -0.05 -0.5 -0.3 -0.5 -0.56Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;monad-in-a-bicategory&quot; data-date=&quot;20260611&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;monad-in-a-bicategory&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;monad-in-a-bicategory&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Monad in a bicategory&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/monad-in-a-bicategory.html&quot;&gt;monad-in-a-bicategory&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;monad-in-a-bicategory&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/bicategory.html&quot; data-entry=&quot;bicategory&quot;&gt;bicategory&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, with composition &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;, identity 1-cells &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, associator &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and unitors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜆&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;em&gt;monad&lt;/em&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; internalises the usual notion of monad: it is an endo-1-cell carrying a multiplication and a unit that satisfy the monoid laws up to the coherence cells of the bicategory.&lt;/p&gt;
&lt;p&gt;A &lt;em&gt;monad&lt;/em&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; consists of&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;a 0-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;object&lt;/em&gt; the monad acts on;&lt;/li&gt;
&lt;li&gt;an endo-1-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;a &lt;em&gt;multiplication&lt;/em&gt; 2-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;a &lt;em&gt;unit&lt;/em&gt; 2-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜂&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;such that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;associative&lt;/em&gt;: the following diagram of 2-cells commutes in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, where the top map is the associator that rebrackets the threefold composite:&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 214.300817148 161.29357874&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;21.43em&quot; height=&quot;16.129em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(57.307889011 18.651)&quot; d=&quot;M 0 0h 99.445039143&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(154.867967533 18.650999906)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(154.867967533 16.285519629)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(94.761408583)&quot; d=&quot;M 0 0h 24.778v 14.651h -24.778v -14.651Z &quot;/&gt;&lt;g transform=&quot;translate(94.761408551 -1.1e-7)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 11.424 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.797 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.821 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.194 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(32.308444444 29.630999906)&quot; d=&quot;M 0 0v 49.280039559&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(29.94296429 77.026078935)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(32.308444567 77.026078935)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 47.706019685)&quot; d=&quot;M 0 0h 28.308444444v 13.37h -28.308444444v -13.37Z &quot;/&gt;&lt;g transform=&quot;translate(-1.08e-7 47.706019669)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g47D1D2A8B9B2FC5EE3DEED493E170721&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 10.252222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 17.724444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 22.724444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(181.992372703 29.630999906)&quot; d=&quot;M 0 0v 49.280039559&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(179.626892322 77.026078935)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(181.992372598 77.026078935)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(185.992372703 47.706019685)&quot; d=&quot;M 0 0h 28.308444444v 13.37h -28.308444444v -13.37Z &quot;/&gt;&lt;g transform=&quot;translate(185.992372595 47.706019669)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.806222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 20.278444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g47D1D2A8B9B2FC5EE3DEED493E170721&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(43.89665929 97.521039465)&quot; d=&quot;M 0 0l 55.274387655 52.280819053&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(96.176147441 149.624356739)&quot; d=&quot;M 0 0m 2.994899552 0.177501623c -1.008954252 -0.341624418 -2.12013344 -0.18458253 -2.994899552 0.423266279&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(98.928693353 146.788052253)&quot; d=&quot;M 0 0m 0.24235364 3.013806109c -0.397215795 -0.988390377 -0.302223251 -2.106584349 0.256028128 -3.013806109&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(58.842394381 126.649933121)&quot; d=&quot;M 0 0h 10.03v 12.99h -10.03l 0 -12.99Z &quot;/&gt;&lt;g transform=&quot;translate(58.842394255 126.649933027)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g47D1D2A8B9B2FC5EE3DEED493E170721&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(115.129769938 97.521039465)&quot; d=&quot;M 0 0m 55.274387921 0l -55.274387921 52.280819304&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(114.873742045 146.788052536)&quot; d=&quot;M 0 0m 0.256028128 3.013806109c 0.397215795 -0.988390377 0.302223251 -2.106584349 -0.256028128 -3.013806109&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(115.129770173 149.624357022)&quot; d=&quot;M 0 0m 0 0.177501623c 1.008954252 -0.341624418 2.12013344 -0.18458253 2.994899552 0.423266279&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(145.428422634 126.649933247)&quot; d=&quot;M 0 0h 10.03v 12.99h -10.03v -12.99Z &quot;/&gt;&lt;g transform=&quot;translate(145.428422508 126.649933153)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g47D1D2A8B9B2FC5EE3DEED493E170721&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(13.309 13.671)&quot; d=&quot;M 0 0h 37.998888889v 9.96h -37.998888889v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(13.308999972 13.670999953)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.722222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 17.194444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 20.804444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.916666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 34.388888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(162.992928259 13.671)&quot; d=&quot;M 0 0h 37.998888889v 9.96h -37.998888889v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(162.992928231 13.670999953)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.832222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.304444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 17.194444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.026666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.498888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 34.108888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(23.851222222 85.06353937)&quot; d=&quot;M 0 0h 16.914444445v 6.545h -16.914444445v -6.545Z &quot;/&gt;&lt;g transform=&quot;translate(23.851222114 85.063539307)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.832222222 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.304444444 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(173.535150481 85.06353937)&quot; d=&quot;M 0 0h 16.914444445v 6.545h -16.914444445v -6.545Z &quot;/&gt;&lt;g transform=&quot;translate(173.535150373 85.063539307)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.832222222 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.304444444 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(105.345408574 154.74857874)&quot; d=&quot;M 0 0h 3.61v 6.545h -3.61v -6.545Z &quot;/&gt;&lt;g transform=&quot;translate(105.345408542 154.748578677)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia2c6594d1-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2c6594d1-g9C145EE93EEB6C368FC387CF793241F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.66 2.912c 0 0.077 -0.077 0.119 -0.231 0.119h -0.616l 0.245 0.994c 0 0.014 0.021 0.084 0.021 0.098c 0 0.168 -0.084 0.252 -0.259 0.252c -0.21 0 -0.329 -0.175 -0.378 -0.413l -0.224 -0.931h -0.679c -0.161 0 -0.245 -0.021 -0.245 -0.175c 0 -0.084 0.077 -0.126 0.231 -0.126h 0.616l -0.392 -1.596c -0.07 -0.28 -0.105 -0.455 -0.105 -0.518c 0 -0.413 0.343 -0.686 0.756 -0.686c 0.357 0 0.665 0.168 0.91 0.511c 0.203 0.287 0.308 0.476 0.308 0.574c 0 0.077 -0.042 0.119 -0.133 0.119c -0.035 0 -0.063 -0.007 -0.084 -0.014c -0.042 -0.049 -0.07 -0.098 -0.084 -0.133c -0.154 -0.343 -0.476 -0.805 -0.896 -0.805c -0.14 0 -0.21 0.105 -0.21 0.308c 0 0.077 0.014 0.168 0.042 0.28l 0.483 1.96h 0.679c 0.161 0 0.245 0.035 0.245 0.182Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2c6594d1-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.183 0.805c -0.224 0 -0.399 -0.182 -0.399 -0.413c 0 -0.245 0.168 -0.427 0.406 -0.427c 0.091 0 0.175 0.028 0.245 0.077c -0.014 -0.462 -0.182 -0.854 -0.504 -1.169c -0.035 -0.035 -0.056 -0.063 -0.056 -0.098c 0 -0.084 0.042 -0.126 0.119 -0.126c 0.049 0 0.119 0.056 0.224 0.168c 0.231 0.252 0.455 0.763 0.455 1.218c 0 0.385 -0.14 0.77 -0.49 0.77Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2c6594d1-g47D1D2A8B9B2FC5EE3DEED493E170721&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.72 1.42c 0 0.09 -0.05 0.14 -0.16 0.14c -0.08 0 -0.14 -0.07 -0.17 -0.2c -0.2 -0.8 -0.44 -1.2 -0.71 -1.2c -0.17 0 -0.26 0.14 -0.26 0.42c 0 0.17 0.06 0.51 0.19 1.01l 0.28 1.07c 0.09 0.36 0.17 0.61 0.23 0.92l 0.06 0.28c 0.02 0.07 0.03 0.12 0.03 0.14c 0 0.21 -0.11 0.31 -0.33 0.31c -0.22 0 -0.36 -0.12 -0.42 -0.37l -0.72 -2.86c 0 -0.11 -0.16 -0.31 -0.48 -0.61c -0.22 -0.21 -0.47 -0.31 -0.76 -0.31c -0.46 0 -0.69 0.27 -0.69 0.82c 0 0.19 0.04 0.46 0.13 0.83l 0.42 1.66c 0.08 0.31 0.13 0.53 0.15 0.64c 0 0.21 -0.11 0.31 -0.33 0.31c -0.22 0 -0.36 -0.13 -0.43 -0.39l -1.42 -5.72c -0.02 -0.08 -0.03 -0.13 -0.03 -0.16c 0 -0.21 0.11 -0.31 0.32 -0.31c 0.15 0 0.27 0.08 0.38 0.23c 0.03 0.07 0.2 0.76 0.53 2.07c 0.24 -0.18 0.55 -0.27 0.93 -0.27c 0.59 0 0.98 0.31 1.29 0.67c 0.11 -0.37 0.44 -0.67 0.91 -0.67c 0.69 0 0.9 0.81 1.06 1.55Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2c6594d1-g9057B706B837038C03517701449A5849&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.92 2.94c 0.04 0.02 0.06 0.05 0.06 0.08c 0 0.08 -0.04 0.12 -0.12 0.12l -1.96 -0.33l -0.29 1.96c -0.02 0.06 -0.06 0.09 -0.11 0.09c -0.05 0 -0.09 -0.03 -0.11 -0.09l -0.29 -1.96l -1.96 0.33c -0.08 0 -0.12 -0.04 -0.12 -0.12c 0 -0.03 0.02 -0.06 0.06 -0.08l 1.78 -0.89l -0.92 -1.75c -0.06 -0.09 0.08 -0.22 0.17 -0.13l 1.39 1.41l 1.39 -1.41c 0.09 -0.09 0.22 0.04 0.17 0.13l -0.92 1.75Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2c6594d1-g9895E63CDB1310374A05B4A6DB38230&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.69 6.66c -0.41 -0.42 -1.01 -0.63 -1.8 -0.63v -0.39c 0.52 0 0.95 0.08 1.28 0.24v -5.06c 0 -0.18 -0.04 -0.3 -0.13 -0.35c -0.09 -0.05 -0.34 -0.08 -0.74 -0.08h -0.35v -0.39c 0.25 0.02 0.79 0.03 1.62 0.03c 0.83 0 1.37 -0.01 1.62 -0.03v 0.39h -0.35c -0.41 0 -0.66 0.03 -0.74 0.08c -0.08 0.05 -0.13 0.17 -0.13 0.35v 5.54c 0 0.24 -0.02 0.3 -0.28 0.3Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2c6594d1-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2c6594d1-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.3 4.19c 0 0.09 -0.1 0.14 -0.31 0.14h -0.81c 0.26 1.04 0.39 1.58 0.39 1.62c 0 0.21 -0.11 0.31 -0.32 0.31c -0.23 0 -0.37 -0.13 -0.43 -0.39l -0.37 -1.54h -0.89c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.81c -0.49 -1.95 -0.73 -2.98 -0.73 -3.11c 0 -0.56 0.38 -0.95 0.94 -0.95c 0.38 0 0.71 0.17 1 0.52c 0.24 0.29 0.41 0.57 0.52 0.84c 0.04 0.11 0.06 0.17 0.06 0.2c 0 0.09 -0.05 0.14 -0.15 0.14c -0.08 0 -0.14 -0.05 -0.18 -0.16c -0.34 -0.83 -0.75 -1.24 -1.24 -1.24c -0.17 0 -0.26 0.14 -0.26 0.41c 0 0.15 0.02 0.31 0.06 0.47l 0.71 2.88h 0.89c 0.26 0 0.33 0.02 0.33 0.24Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2c6594d1-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;and such that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜂&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfy the &lt;em&gt;unit laws&lt;/em&gt;: the following two diagrams commute in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, where the hypotenuses are the left and right unitors:&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 304.470379703 90.32753937&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;30.447em&quot; height=&quot;9.033em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(29.400444444 17.37)&quot; d=&quot;M 0 0h 37.287594831&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(64.803078858 17.370000094)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(64.803078858 15.004519818)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(34.405019638 0)&quot; d=&quot;M 0 0h 27.518444444v 13.37h -27.518444444v -13.37Z &quot;/&gt;&lt;g transform=&quot;translate(34.405019608 -1.6e-8)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g359A0D6049CAAD143BF979194F0EC097&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.462222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.934444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.934444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(81.385261592 26.555000094)&quot; d=&quot;M 0 0l 0 51.075039276&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(79.019781221 75.745078557)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(81.385261498 75.745078557)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(85.385261592 45.717519732)&quot; d=&quot;M 0 0h 10.03v 12.99h -10.03v -12.99Z &quot;/&gt;&lt;g transform=&quot;translate(85.385261466 45.717519638)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g47D1D2A8B9B2FC5EE3DEED493E170721&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(24.211499196 27.970000094)&quot; d=&quot;M 0 0l 49.200848678 50.245521699&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(70.403428002 77.99439778)&quot; d=&quot;M 0 0m 3.008919732 0.221123921c -0.99512198 -0.380037203 -2.11150299 -0.265691665 -3.008919732 0.308189177&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(73.215708973 75.21374024)&quot; d=&quot;M 0 0m 0.196638761 3.001781461c -0.359048384 -1.00288598 -0.221275787 -2.116618521 0.371330829 -3.001781461&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(32.623898599 55.9770608)&quot; d=&quot;M 0 0h 13.414v 13.37h -13.414l 0 -13.37Z &quot;/&gt;&lt;g transform=&quot;translate(32.623898473 55.977060784)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g5ABAAA13195960EB350F5CB851144A00&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.83 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(238.455562555 17.37)&quot; d=&quot;M 0 0h 37.287594831&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(273.858196968 17.370000094)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(273.858196968 15.004519818)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(243.460137748)&quot; d=&quot;M 0 0h 27.518444444v 13.37h -27.518444444v -13.37Z &quot;/&gt;&lt;g transform=&quot;translate(243.460137718 -1.6e-8)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.806222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 20.278444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g359A0D6049CAAD143BF979194F0EC097&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(290.440379703 26.555000094)&quot; d=&quot;M 0 0v 51.075039276&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(288.074899331 75.745078557)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(290.440379608 75.745078557)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(294.440379703 45.717519732)&quot; d=&quot;M 0 0h 10.03v 12.99h -10.03v -12.99Z &quot;/&gt;&lt;g transform=&quot;translate(294.440379577 45.717519638)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g47D1D2A8B9B2FC5EE3DEED493E170721&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(233.266617306 27.970000094)&quot; d=&quot;M 0 0l 49.200848678 50.245521699&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(279.458546112 77.99439778)&quot; d=&quot;M 0 0m 3.008919732 0.221123921c -0.99512198 -0.380037203 -2.11150299 -0.265691665 -3.008919732 0.308189177&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(282.270827083 75.21374024)&quot; d=&quot;M 0 0m 0.196638761 3.001781461c -0.359048384 -1.00288598 -0.221275787 -2.116618521 0.371330829 -3.001781461&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(242.339016709 55.9770608)&quot; d=&quot;M 0 0h 12.754v 13.37h -12.754v -13.37Z &quot;/&gt;&lt;g transform=&quot;translate(242.339016678 55.977060784)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g3E9A517058DA57D4B1EFBF00E4B71F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.17 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9C145EE93EEB6C368FC387CF793241F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 12.77)&quot; d=&quot;M 0 0h 23.400444445v 9.2h -23.400444445v -9.2Z &quot;/&gt;&lt;g transform=&quot;translate(-1.4e-8 12.769999937)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.015)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5 10.485)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.318222222 8.015)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.790444444 8.015)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(72.92803937 14.0975)&quot; d=&quot;M 0 0h 16.914444445v 6.545h -16.914444445v -6.545Z &quot;/&gt;&lt;g transform=&quot;translate(72.928039262 14.097499937)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.832222222 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.304444444 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(79.580261592 83.78253937)&quot; d=&quot;M 0 0h 3.61v 6.545h -3.61v -6.545Z &quot;/&gt;&lt;g transform=&quot;translate(79.580261561 83.782539307)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(209.05511811 12.77)&quot; d=&quot;M 0 0h 23.400444445v 9.2h -23.400444445v -9.2Z &quot;/&gt;&lt;g transform=&quot;translate(209.055118096 12.769999937)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.015)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.832222222 8.015)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.304444444 8.015)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 18.304444444 10.485)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(281.98315748 14.0975)&quot; d=&quot;M 0 0h 16.914444445v 6.545h -16.914444445v -6.545Z &quot;/&gt;&lt;g transform=&quot;translate(281.983157372 14.097499937)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.832222222 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-g9057B706B837038C03517701449A5849&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.304444444 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(288.635379703 83.78253937)&quot; d=&quot;M 0 0h 3.61v 6.545h -3.61v -6.545Z &quot;/&gt;&lt;g transform=&quot;translate(288.635379671 83.782539307)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.6)&quot;&gt;&lt;use xlink:href=&quot;#helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia4dd12f22-g359A0D6049CAAD143BF979194F0EC097&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.79 4.42c -0.61 0 -1.11 -0.27 -1.5 -0.8c -0.07 0.45 -0.42 0.8 -0.93 0.8c -0.41 0 -0.71 -0.33 -0.92 -0.98c -0.1 -0.33 -0.15 -0.52 -0.15 -0.58c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.05 0 0.08 0.01 0.11 0.03c 0.05 0.09 0.08 0.16 0.09 0.23c 0.18 0.76 0.41 1.14 0.68 1.14c 0.18 0 0.27 -0.14 0.27 -0.41c 0 -0.13 -0.05 -0.41 -0.16 -0.82l -0.57 -2.28c -0.03 -0.13 -0.09 -0.39 -0.09 -0.44c 0 -0.2 0.11 -0.3 0.33 -0.3c 0.19 0 0.33 0.1 0.4 0.3c 0.01 0.05 0.07 0.3 0.18 0.73l 0.22 0.89c 0.12 0.49 0.21 0.86 0.28 1.11c 0.03 0.07 0.11 0.21 0.24 0.41c 0.36 0.54 0.8 0.81 1.33 0.81c 0.33 0 0.49 -0.22 0.49 -0.65c 0 -0.15 -0.03 -0.35 -0.1 -0.61l -1.12 -4.55c -0.02 -0.08 -0.03 -0.13 -0.03 -0.16c 0 -0.21 0.11 -0.31 0.32 -0.31c 0.22 0 0.37 0.14 0.44 0.43l 1.12 4.47c 0.05 0.21 0.08 0.41 0.08 0.58c 0 0.72 -0.45 1.1 -1.17 1.1Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia4dd12f22-g9057B706B837038C03517701449A5849&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.92 2.94c 0.04 0.02 0.06 0.05 0.06 0.08c 0 0.08 -0.04 0.12 -0.12 0.12l -1.96 -0.33l -0.29 1.96c -0.02 0.06 -0.06 0.09 -0.11 0.09c -0.05 0 -0.09 -0.03 -0.11 -0.09l -0.29 -1.96l -1.96 0.33c -0.08 0 -0.12 -0.04 -0.12 -0.12c 0 -0.03 0.02 -0.06 0.06 -0.08l 1.78 -0.89l -0.92 -1.75c -0.06 -0.09 0.08 -0.22 0.17 -0.13l 1.39 1.41l 1.39 -1.41c 0.09 -0.09 0.22 0.04 0.17 0.13l -0.92 1.75Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia4dd12f22-g9895E63CDB1310374A05B4A6DB38230&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.69 6.66c -0.41 -0.42 -1.01 -0.63 -1.8 -0.63v -0.39c 0.52 0 0.95 0.08 1.28 0.24v -5.06c 0 -0.18 -0.04 -0.3 -0.13 -0.35c -0.09 -0.05 -0.34 -0.08 -0.74 -0.08h -0.35v -0.39c 0.25 0.02 0.79 0.03 1.62 0.03c 0.83 0 1.37 -0.01 1.62 -0.03v 0.39h -0.35c -0.41 0 -0.66 0.03 -0.74 0.08c -0.08 0.05 -0.13 0.17 -0.13 0.35v 5.54c 0 0.24 -0.02 0.3 -0.28 0.3Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia4dd12f22-g9C145EE93EEB6C368FC387CF793241F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.66 2.912c 0 0.077 -0.077 0.119 -0.231 0.119h -0.616l 0.245 0.994c 0 0.014 0.021 0.084 0.021 0.098c 0 0.168 -0.084 0.252 -0.259 0.252c -0.21 0 -0.329 -0.175 -0.378 -0.413l -0.224 -0.931h -0.679c -0.161 0 -0.245 -0.021 -0.245 -0.175c 0 -0.084 0.077 -0.126 0.231 -0.126h 0.616l -0.392 -1.596c -0.07 -0.28 -0.105 -0.455 -0.105 -0.518c 0 -0.413 0.343 -0.686 0.756 -0.686c 0.357 0 0.665 0.168 0.91 0.511c 0.203 0.287 0.308 0.476 0.308 0.574c 0 0.077 -0.042 0.119 -0.133 0.119c -0.035 0 -0.063 -0.007 -0.084 -0.014c -0.042 -0.049 -0.07 -0.098 -0.084 -0.133c -0.154 -0.343 -0.476 -0.805 -0.896 -0.805c -0.14 0 -0.21 0.105 -0.21 0.308c 0 0.077 0.014 0.168 0.042 0.28l 0.483 1.96h 0.679c 0.161 0 0.245 0.035 0.245 0.182Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia4dd12f22-g47D1D2A8B9B2FC5EE3DEED493E170721&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.72 1.42c 0 0.09 -0.05 0.14 -0.16 0.14c -0.08 0 -0.14 -0.07 -0.17 -0.2c -0.2 -0.8 -0.44 -1.2 -0.71 -1.2c -0.17 0 -0.26 0.14 -0.26 0.42c 0 0.17 0.06 0.51 0.19 1.01l 0.28 1.07c 0.09 0.36 0.17 0.61 0.23 0.92l 0.06 0.28c 0.02 0.07 0.03 0.12 0.03 0.14c 0 0.21 -0.11 0.31 -0.33 0.31c -0.22 0 -0.36 -0.12 -0.42 -0.37l -0.72 -2.86c 0 -0.11 -0.16 -0.31 -0.48 -0.61c -0.22 -0.21 -0.47 -0.31 -0.76 -0.31c -0.46 0 -0.69 0.27 -0.69 0.82c 0 0.19 0.04 0.46 0.13 0.83l 0.42 1.66c 0.08 0.31 0.13 0.53 0.15 0.64c 0 0.21 -0.11 0.31 -0.33 0.31c -0.22 0 -0.36 -0.13 -0.43 -0.39l -1.42 -5.72c -0.02 -0.08 -0.03 -0.13 -0.03 -0.16c 0 -0.21 0.11 -0.31 0.32 -0.31c 0.15 0 0.27 0.08 0.38 0.23c 0.03 0.07 0.2 0.76 0.53 2.07c 0.24 -0.18 0.55 -0.27 0.93 -0.27c 0.59 0 0.98 0.31 1.29 0.67c 0.11 -0.37 0.44 -0.67 0.91 -0.67c 0.69 0 0.9 0.81 1.06 1.55Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia4dd12f22-g5ABAAA13195960EB350F5CB851144A00&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.86 -0.13c 0.11 0 0.23 0.07 0.36 0.22l 2.33 2.76c 0.35 -0.96 0.61 -1.68 0.78 -2.17c 0.11 -0.31 0.18 -0.49 0.23 -0.56c 0.11 -0.15 0.3 -0.23 0.56 -0.23h 0.21c 0.1 0.01 0.15 0.05 0.15 0.14c 0 0.02 -0.02 0.06 -0.06 0.11c -0.07 0.07 -0.14 0.22 -0.22 0.45l -2.01 5.62c -0.17 0.49 -0.58 0.73 -1.23 0.73c -0.15 0 -0.22 -0.05 -0.22 -0.15c 0 -0.07 0.06 -0.12 0.17 -0.15c 0.14 -0.04 0.23 -0.09 0.28 -0.15c 0.07 -0.08 0.17 -0.28 0.28 -0.6l 0.95 -2.67l -2.7 -2.69c -0.13 -0.13 -0.19 -0.24 -0.19 -0.33c 0 -0.18 0.15 -0.33 0.33 -0.33Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia4dd12f22-g3E9A517058DA57D4B1EFBF00E4B71F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.61 4.42c -1.13 0 -2.07 -1.22 -2.32 -2.22l -0.96 -3.89c -0.02 -0.08 -0.03 -0.13 -0.03 -0.16c 0 -0.21 0.1 -0.31 0.31 -0.31c 0.15 0 0.28 0.08 0.38 0.23l 0.61 2.39c 0.23 -0.39 0.55 -0.59 0.96 -0.59c 0.66 0 1.24 0.32 1.75 0.97c 0.47 0.61 0.71 1.26 0.71 1.93c 0 0.91 -0.53 1.65 -1.41 1.65Z m -0.02 -0.3c 0.43 0 0.64 -0.31 0.64 -0.93c 0 -0.27 -0.06 -0.62 -0.17 -1.07c -0.22 -0.85 -0.53 -1.42 -0.92 -1.72c -0.21 -0.16 -0.4 -0.24 -0.59 -0.24c -0.19 0 -0.36 0.07 -0.49 0.2c -0.21 0.21 -0.31 0.43 -0.31 0.64c 0.01 0.07 0.03 0.19 0.07 0.36c 0.23 0.95 0.43 1.56 0.59 1.84c 0.35 0.61 0.74 0.92 1.18 0.92Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia4dd12f22-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.081 2.555c 0 0.357 -0.364 0.532 -0.742 0.532c -0.315 0 -0.574 -0.154 -0.77 -0.462c -0.168 0.308 -0.448 0.462 -0.833 0.462c -0.259 0 -0.532 -0.112 -0.805 -0.343c -0.287 -0.238 -0.434 -0.483 -0.434 -0.735c 0 -0.077 0.049 -0.119 0.14 -0.119c 0.077 0 0.126 0.042 0.161 0.133c 0.126 0.378 0.469 0.819 0.917 0.819c 0.259 0 0.385 -0.14 0.385 -0.427c 0 -0.091 -0.049 -0.329 -0.14 -0.714l -0.238 -0.938c -0.063 -0.266 -0.322 -0.588 -0.623 -0.588c -0.119 0 -0.224 0.021 -0.308 0.07c 0.14 0.063 0.266 0.217 0.266 0.378c 0 0.168 -0.133 0.287 -0.301 0.287c -0.238 0 -0.42 -0.21 -0.42 -0.448c 0 -0.35 0.371 -0.532 0.749 -0.532c 0.322 0 0.581 0.154 0.77 0.462c 0.168 -0.308 0.441 -0.462 0.826 -0.462c 0.385 0 0.693 0.154 0.931 0.462c 0.203 0.273 0.308 0.483 0.308 0.616c 0 0.077 -0.042 0.119 -0.133 0.119c -0.077 0 -0.133 -0.049 -0.161 -0.14c -0.119 -0.371 -0.476 -0.812 -0.917 -0.812c -0.259 0 -0.392 0.14 -0.392 0.42c 0 0.105 0.119 0.63 0.357 1.561c 0.119 0.455 0.329 0.686 0.644 0.686l 0.063 -0.007c 0.084 0 0.168 -0.021 0.245 -0.056c -0.175 -0.077 -0.259 -0.203 -0.259 -0.385c 0 -0.168 0.133 -0.287 0.301 -0.287c 0.238 0 0.413 0.21 0.413 0.448Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia4dd12f22-gF290E072E71BD7F0A06C01DAC9FC4A3B&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.3 4.19c 0 0.09 -0.1 0.14 -0.31 0.14h -0.81c 0.26 1.04 0.39 1.58 0.39 1.62c 0 0.21 -0.11 0.31 -0.32 0.31c -0.23 0 -0.37 -0.13 -0.43 -0.39l -0.37 -1.54h -0.89c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.81c -0.49 -1.95 -0.73 -2.98 -0.73 -3.11c 0 -0.56 0.38 -0.95 0.94 -0.95c 0.38 0 0.71 0.17 1 0.52c 0.24 0.29 0.41 0.57 0.52 0.84c 0.04 0.11 0.06 0.17 0.06 0.2c 0 0.09 -0.05 0.14 -0.15 0.14c -0.08 0 -0.14 -0.05 -0.18 -0.16c -0.34 -0.83 -0.75 -1.24 -1.24 -1.24c -0.17 0 -0.26 0.14 -0.26 0.41c 0 0.15 0.02 0.31 0.06 0.47l 0.71 2.88h 0.89c 0.26 0 0.33 0.02 0.33 0.24Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Taking &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/bicategory-of-categories.html&quot; data-entry=&quot;bicategory-of-categories&quot;&gt;bicategory of categories&lt;/a&gt;, functors, and natural transformations recovers an ordinary monad on a category: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the endofunctor, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; the multiplication, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜂&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; the unit, with the coherence cells all identities.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;free-monoidal-category&quot; data-date=&quot;20260226&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;free-monoidal-category&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;free-monoidal-category&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Free Monoidal Category over a Set&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/free-monoidal-category.html&quot;&gt;free-monoidal-category&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;free-monoidal-category&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The objects of the &lt;em&gt;free monoidal category over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/em&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗋𝖾𝖾𝖬𝗈𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, are generated inductively by the elements of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a unit element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over a binary operation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;. The morphisms are given by a quotient-inductive type. They are generated by associators, unitors, and identity over composition and parallel action over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; then quotiented by associativity and composition equation to satisfy the category laws, equations constraining the associators/unitors to be natural isomorphisms, and pentagon/triangle equations to satiate the axioms of a monoidal category.&lt;/p&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;free-monoidal-category-elimination&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot; id=&quot;free-monoidal-category-elimination&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 0.1.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Global Elimination Principle for the Free Monoidal Category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/free-monoidal-category-elimination.html&quot;&gt;free-monoidal-category-elimination&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;free-monoidal-category-elimination&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Given any displayed monoidal category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝑀&lt;/mi&gt;&lt;mtext&gt;𝙳&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗋𝖾𝖾𝖬𝗈𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; with an interpretation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜄&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇝&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝑀&lt;/mi&gt;&lt;mtext&gt;𝙳&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, we may construct a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/section-of-displayed-category.html&quot; data-entry=&quot;section-of-displayed-category&quot;&gt;global section&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗋𝖾𝖾𝖬𝗈𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝑀&lt;/mi&gt;&lt;mtext&gt;𝙳&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;. We refer to this as the &lt;em&gt;global elimination principle&lt;/em&gt; of &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/free-monoidal-category.html&quot; data-entry=&quot;free-monoidal-category&quot;&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗋𝖾𝖾𝖬𝗈𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;free-monoidal-category-elimination&quot; data-date=&quot;20260226&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;free-monoidal-category-elimination&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Global Elimination Principle for the Free Monoidal Category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/free-monoidal-category-elimination.html&quot;&gt;free-monoidal-category-elimination&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;free-monoidal-category-elimination&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Given any displayed monoidal category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝑀&lt;/mi&gt;&lt;mtext&gt;𝙳&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗋𝖾𝖾𝖬𝗈𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; with an interpretation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜄&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇝&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝑀&lt;/mi&gt;&lt;mtext&gt;𝙳&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, we may construct a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/section-of-displayed-category.html&quot; data-entry=&quot;section-of-displayed-category&quot;&gt;global section&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗋𝖾𝖾𝖬𝗈𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝑀&lt;/mi&gt;&lt;mtext&gt;𝙳&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;. We refer to this as the &lt;em&gt;global elimination principle&lt;/em&gt; of &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/free-monoidal-category.html&quot; data-entry=&quot;free-monoidal-category&quot;&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗋𝖾𝖾𝖬𝗈𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;product-as-total-category&quot; data-date=&quot;20260226&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;product-as-total-category&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;product-as-total-category&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;Products of Categories as Total Categories&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/product-as-total-category.html&quot;&gt;product-as-total-category&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;product-as-total-category&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;Given &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/category.html&quot; data-entry=&quot;category&quot;&gt;categories&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is equivalent to the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/total-category.html&quot; data-entry=&quot;total-category&quot;&gt;total category&lt;/a&gt; of &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/weakening-category.html&quot; data-entry=&quot;weakening-category&quot;&gt;weakening&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;quiver&quot; data-date=&quot;20260226&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;quiver&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;quiver&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Quiver&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/quiver.html&quot;&gt;quiver&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;quiver&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;quiver&lt;/em&gt; is just a directed graph presented via a type of objects, a type of edges, and two projection functions that pick out source and target of an edge.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;thin-category&quot; data-date=&quot;20260226&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;thin-category&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;thin-category&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Thin Category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/thin-category.html&quot;&gt;thin-category&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;thin-category&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;thin&lt;/em&gt; if there is at most one morphism between any two objects.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;element-of-presheaf&quot; data-date=&quot;20250825&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;element-of-presheaf&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;element-of-presheaf&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Element of a Presheaf&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/element-of-presheaf.html&quot;&gt;element-of-presheaf&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;element-of-presheaf&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;An &lt;em&gt;element of a presheaf&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of the set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;universal-element&quot; data-date=&quot;20250825&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;universal-element&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;universal-element&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Universal Element of a Presheaf&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/universal-element.html&quot;&gt;universal-element&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;universal-element&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;universal element&lt;/em&gt; of a presheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/element-of-presheaf.html&quot; data-entry=&quot;element-of-presheaf&quot;&gt;element&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is some object of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, demonstrating that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is representable by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;(Slightly) more concretely, a universal element is captured by the following three pieces of data&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;An element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;A proof that the map sending a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is an equivalence&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This third point states that morphisms from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are uniquely determined by an element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at the domain &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Or equivalently, universal elements are terminal in the category of elements.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;universal-property&quot; data-date=&quot;20250825&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;universal-property&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;universal-property&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;What is a universal property, really?&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/universal-property.html&quot;&gt;universal-property&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;universal-property&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;Universal properties are a convenient method for defining an object in a category up to isomorphism. Rather than giving a concrete, bottom-up construction of an object, we can instead uniquely specify its behavior.&lt;/p&gt;
&lt;p&gt;Consider the example of products in a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. We say that &lt;em&gt;the product&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is any object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; such that the following diagram commutes.&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 145.797230941 146.42007874&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;14.58em&quot; height=&quot;14.642em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(9.986352477 80.459830521)&quot; d=&quot;M 0 0m 55.966184938 0l -55.966184938 55.766825739&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(9.651937223 133.220538637)&quot; d=&quot;M 0 0m 0.334415328 3.006117521c 0.371345199 -0.998397957 0.247269133 -2.11373928 -0.334415328 -3.006117521&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(9.986352551 136.020023343)&quot; d=&quot;M 0 0m 0 0.206632815c 0.999716803 -0.367779895 2.114608239 -0.239724349 3.004904965 0.345141&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(20.818064849 92.294475447)&quot; d=&quot;M 0 0h 14.243v 13.3h -14.243v -13.3Z &quot;/&gt;&lt;g transform=&quot;translate(20.818064833 92.294475368)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-gB9F3075ACBCAEFB3576FA8ECDD7BE895&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.7 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-gC9D69096ED7E4087DDB559A2B127F8CA&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(79.999232116 80.443341322)&quot; d=&quot;M 0 0l 55.242172763 54.765453454&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(132.237390211 135.005108556)&quot; d=&quot;M 0 0m 3.004014907 0.203686153c -1.00065102 -0.365230019 -2.115212223 -0.234332655 -3.004014907 0.352800395&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(135.027617319 132.201834821)&quot; d=&quot;M 0 0m 0.213787799 3.006959887c -0.37388921 -0.997447888 -0.252656964 -2.113101748 0.326750542 -3.006959887&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(110.521681882 91.769894885)&quot; d=&quot;M 0 0h 14.243v 13.3h -14.243v -13.3Z &quot;/&gt;&lt;g transform=&quot;translate(110.521681866 91.769894806)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-gB9F3075ACBCAEFB3576FA8ECDD7BE895&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.7 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-g72495D86007E29310F1D85ECCEC85B72&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(2.459430119 8.948987019)&quot; d=&quot;M 0 0m 62.291845257 0c -41.405837094 27.477517272 -65.04344296 74.927627468 -62.035568137 124.530147465&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(0.252788701 131.725644756)&quot; d=&quot;M 0 0m 2.464586433 1.75339304c -0.497143869 -0.942095204 -1.411564238 -1.592645855 -2.464586433 -1.75339304&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(2.717375134 131.46809978)&quot; d=&quot;M 0 0m 0 2.010938015c 0.391777445 -0.990558345 1.230053428 -1.736664327 2.2593587 -2.010938015&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 47.944147338)&quot; d=&quot;M 0 0h 13.443v 13.3h -13.443l 0 -13.3Z &quot;/&gt;&lt;g transform=&quot;translate(-4.7e-8 47.94414726)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 6.9 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-gC9D69096ED7E4087DDB559A2B127F8CA&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(81.181275435 8.948986747)&quot; d=&quot;M 0 0c 41.20946457 27.08550614 64.874616985 74.068460568 62.108068797 123.304532956&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(141.019313101 130.252637148)&quot; d=&quot;M 0 0m 2.26834997 2.000792553c -0.3962133 -0.988792969 -1.237825258 -1.731134743 -2.26834997 -2.000792553&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(143.287663071 130.489007345)&quot; d=&quot;M 0 0m 0 1.764422356c 0.49291673 -0.944314361 1.404412652 -1.598957151 2.456704332 -1.764422356&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(132.354230941 47.305695397)&quot; d=&quot;M 0 0h 13.443v 13.3h -13.443v -13.3Z &quot;/&gt;&lt;g transform=&quot;translate(132.354230894 47.305695319)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 6.9 11.3)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-g72495D86007E29310F1D85ECCEC85B72&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; stroke-dashoffset=&quot;0&quot; stroke-dasharray=&quot;3 3&quot; transform=&quot;translate(72.966275417 13.049999906)&quot; d=&quot;M 0 0l 0 49.818759264&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(70.600795046 60.983798431)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(72.966275323 60.983798431)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(76.966275417 32.664379537)&quot; d=&quot;M 0 0h 12.34v 10.83h -12.34v -10.83Z &quot;/&gt;&lt;g transform=&quot;translate(76.966275386 32.664379443)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-gF6307231A171FCC1BD5E3E2461E602D8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.56 8.83)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-gC7635463B0AD9133DF9C3EEB9DB75EC3&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(70.751275417)&quot; d=&quot;M 0 0h 4.43l 0 7.05h -4.43l 0 -7.05Z &quot;/&gt;&lt;g transform=&quot;translate(70.751275354 -9.4e-8)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.94)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-g6B8F6FEB7179D27D0697037F5C04DB43&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(70.376275417 70.03003937)&quot; d=&quot;M 0 0h 5.18v 6.36h -5.18v -6.36Z &quot;/&gt;&lt;g transform=&quot;translate(70.376275402 70.030039323)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.595)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-gC761C6A35A27EA89DD272464742972C2&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0.991236047 140.08257874)&quot; d=&quot;M 0 0h 4.58v 5.625h -4.58v -5.625Z &quot;/&gt;&lt;g transform=&quot;translate(0.991235937 140.08257874)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 5.68)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-g1C95891A0FBD06B1630F1B21FC3E3DF3&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(139.931314787 139.37007874)&quot; d=&quot;M 0 0h 5.44v 7.05h -5.44v -7.05Z &quot;/&gt;&lt;g transform=&quot;translate(139.931314661 139.370078646)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.94)&quot;&gt;&lt;use xlink:href=&quot;#heliae7e47287-gAE9FF52A1D42223AC1C1C189F82D6586&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;heliae7e47287-gB9F3075ACBCAEFB3576FA8ECDD7BE895&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.24 4.31h -3.3c -0.41 0 -0.77 -0.16 -1.06 -0.47c -0.14 -0.15 -0.61 -0.79 -0.61 -0.92c 0.04 -0.07 0.04 -0.13 0.16 -0.13c 0.07 0 0.13 0.04 0.19 0.13c 0.32 0.49 0.73 0.74 1.22 0.74h 0.51c -0.23 -0.87 -0.65 -1.94 -1.25 -3.21c -0.05 -0.12 -0.08 -0.21 -0.08 -0.26c 0 -0.2 0.11 -0.3 0.32 -0.3c 0.19 0 0.33 0.11 0.42 0.32c 0.18 0.57 0.31 1.01 0.38 1.31l 0.55 2.14h 1.03c -0.27 -1.19 -0.41 -2.02 -0.41 -2.49c 0 -0.49 0.11 -1.28 0.48 -1.28c 0.21 0 0.44 0.2 0.44 0.41c 0 0.05 -0.02 0.13 -0.06 0.23c -0.19 0.47 -0.28 1 -0.28 1.61c 0 0.47 0.06 0.98 0.17 1.52h 1.09c 0.35 0 0.52 0.12 0.52 0.37c 0 0.23 -0.18 0.28 -0.43 0.28Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-gC9D69096ED7E4087DDB559A2B127F8CA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.121 4.648c -0.301 -0.294 -0.749 -0.441 -1.358 -0.441v -0.308c 0.413 0 0.742 0.063 0.994 0.182v -3.486c 0 -0.091 -0.007 -0.147 -0.028 -0.175c -0.035 -0.077 -0.245 -0.119 -0.63 -0.119h -0.287v -0.301l 1.246 0.028l 1.253 -0.028v 0.301h -0.287c -0.385 0 -0.595 0.042 -0.637 0.119c -0.014 0.028 -0.021 0.084 -0.021 0.175v 3.829c 0 0.189 -0.028 0.224 -0.245 0.224Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-g72495D86007E29310F1D85ECCEC85B72&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.833 2.968c 0.224 0 0.392 0.168 0.392 0.392c 0 0.252 -0.133 0.385 -0.392 0.392c 0.154 0.329 0.504 0.595 0.959 0.595c 0.616 0 1.022 -0.462 1.022 -1.078c 0 -0.336 -0.119 -0.658 -0.364 -0.973c -0.119 -0.161 -0.21 -0.273 -0.273 -0.336l -1.659 -1.645c -0.091 -0.084 -0.077 -0.105 -0.077 -0.315h 2.884l 0.217 1.316h -0.294c -0.049 -0.371 -0.105 -0.588 -0.168 -0.637c -0.035 -0.021 -0.252 -0.035 -0.665 -0.035h -1.19c 0.469 0.413 0.903 0.784 1.316 1.113c 0.315 0.245 0.539 0.462 0.679 0.651c 0.21 0.273 0.315 0.56 0.315 0.861c 0 0.434 -0.168 0.777 -0.511 1.029c -0.301 0.231 -0.679 0.35 -1.127 0.35c -0.385 0 -0.714 -0.112 -1.001 -0.336c -0.301 -0.245 -0.455 -0.553 -0.455 -0.931c 0 -0.238 0.175 -0.413 0.392 -0.413Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-g69726A5B532D359584B7BE612A255CC8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.52 6.33c 0 0.44 -0.43 0.72 -0.9 0.72c -0.62 0 -1.05 -0.4 -1.28 -1.19c -0.05 -0.18 -0.16 -0.69 -0.32 -1.53h -0.65c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.6l -0.73 -3.87c -0.11 -0.57 -0.21 -0.99 -0.3 -1.27c -0.12 -0.37 -0.29 -0.56 -0.51 -0.56c -0.15 0 -0.27 0.04 -0.38 0.11c 0.32 0.05 0.48 0.24 0.48 0.56c 0 0.26 -0.13 0.39 -0.4 0.39c -0.34 0 -0.58 -0.3 -0.58 -0.64c 0 -0.44 0.41 -0.72 0.88 -0.72c 0.25 0 0.48 0.1 0.67 0.31c 0.32 0.33 0.57 0.8 0.75 1.43c 0.11 0.39 0.21 0.77 0.28 1.15l 0.58 3.11h 0.82c 0.23 0 0.33 0.01 0.33 0.24c 0 0.09 -0.1 0.14 -0.3 0.14h -0.77c 0.06 0.41 0.34 1.92 0.43 2.11c 0.1 0.21 0.24 0.31 0.42 0.31c 0.15 0 0.28 -0.04 0.39 -0.11c -0.31 -0.07 -0.47 -0.25 -0.47 -0.56c 0 -0.26 0.13 -0.39 0.4 -0.39c 0.34 0 0.58 0.3 0.58 0.64Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-gF6307231A171FCC1BD5E3E2461E602D8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.76 0c 0.16 0 0.24 0.08 0.24 0.24v 6.36c 0 0.16 -0.08 0.24 -0.24 0.24h -3.96c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.15 0.08 -0.23 0.24 -0.23h 3.73v -2.71h -3.73c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.16 0.08 -0.24 0.24 -0.24h 3.73v -2.71h -3.73c -0.16 0 -0.24 -0.08 -0.24 -0.23c 0 -0.16 0.08 -0.24 0.24 -0.24Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-gC7635463B0AD9133DF9C3EEB9DB75EC3&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 7.16c -0.29 0 -0.56 -0.25 -0.53 -0.55l 0.36 -4.5c 0.01 -0.17 0.07 -0.26 0.17 -0.26c 0.1 0 0.16 0.08 0.17 0.25l 0.36 4.51c 0.03 0.3 -0.24 0.55 -0.53 0.55Z m 0.53 -6.6c 0 0.31 -0.23 0.57 -0.53 0.57c -0.3 0 -0.53 -0.26 -0.53 -0.57c 0 -0.3 0.23 -0.56 0.53 -0.56c 0.3 0 0.53 0.26 0.53 0.56Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-g6B8F6FEB7179D27D0697037F5C04DB43&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.81 4.45c -0.36 0 -0.72 -0.17 -1.07 -0.51l 0.69 2.85c -0.02 0.09 -0.05 0.15 -0.17 0.15c -0.33 0 -1.06 -0.09 -1.19 -0.1c -0.15 -0.02 -0.23 -0.09 -0.23 -0.24c 0 -0.1 0.09 -0.15 0.28 -0.15c 0.19 0 0.45 0.01 0.45 -0.13c 0 -0.04 -0.05 -0.24 -0.14 -0.61l -0.8 -3.22c -0.11 -0.42 -0.16 -0.76 -0.16 -1.01c 0 -0.86 0.46 -1.59 1.28 -1.59c 0.65 0 1.22 0.33 1.72 1c 0.45 0.62 0.68 1.27 0.68 1.94c 0 0.87 -0.51 1.62 -1.34 1.62Z m -0.02 -0.3c 0.39 0 0.58 -0.3 0.58 -0.89c 0 -0.27 -0.06 -0.63 -0.18 -1.08c -0.22 -0.85 -0.51 -1.43 -0.86 -1.74c -0.2 -0.17 -0.39 -0.25 -0.58 -0.25c -0.41 0 -0.61 0.32 -0.61 0.96c 0 0.22 0.05 0.55 0.15 0.99l 0.22 0.9c 0.03 0.15 0.08 0.26 0.14 0.34c 0.39 0.51 0.77 0.77 1.14 0.77Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-gC761C6A35A27EA89DD272464742972C2&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.55 4.42c -0.44 0 -0.86 -0.23 -1.27 -0.69c -0.11 0.46 -0.42 0.69 -0.91 0.69c -0.41 0 -0.71 -0.33 -0.92 -0.98c -0.1 -0.33 -0.15 -0.52 -0.15 -0.58c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.05 0 0.08 0.01 0.11 0.03c 0.05 0.09 0.08 0.16 0.09 0.23c 0.18 0.76 0.41 1.14 0.68 1.14c 0.18 0 0.27 -0.14 0.27 -0.41c 0 -0.15 -0.02 -0.32 -0.07 -0.5l -1.1 -4.39c -0.09 -0.33 -0.1 -0.37 -0.49 -0.37c -0.18 0 -0.27 -0.08 -0.27 -0.23c 0 -0.11 0.06 -0.16 0.17 -0.16c 0.15 0 0.67 0.03 0.82 0.03c 0.19 0 0.79 -0.03 0.98 -0.03c 0.15 0 0.22 0.08 0.22 0.24c 0 0.1 -0.09 0.15 -0.28 0.15c -0.18 0 -0.45 -0.01 -0.45 0.11c 0 0.13 0.41 1.7 0.45 1.87c 0.2 -0.37 0.5 -0.56 0.9 -0.56c 0.65 0 1.22 0.33 1.72 1c 0.46 0.61 0.69 1.26 0.69 1.93c 0 0.87 -0.52 1.62 -1.35 1.62Z m -0.03 -0.3c 0.39 0 0.59 -0.3 0.59 -0.89c 0 -0.27 -0.06 -0.63 -0.17 -1.08c -0.23 -0.87 -0.52 -1.44 -0.87 -1.73c -0.21 -0.17 -0.4 -0.26 -0.59 -0.26c -0.29 0 -0.49 0.13 -0.6 0.4c -0.09 0.21 -0.14 0.36 -0.14 0.44l 0.51 2.09c 0.05 0.22 0.23 0.45 0.51 0.68c 0.28 0.23 0.53 0.35 0.76 0.35Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-g1C95891A0FBD06B1630F1B21FC3E3DF3&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.28 3.25c 0 -0.25 0.13 -0.38 0.4 -0.38c 0.36 0 0.59 0.31 0.59 0.67c 0 0.56 -0.59 0.88 -1.19 0.88c -0.69 0 -1.32 -0.3 -1.86 -0.89c -0.54 -0.59 -0.81 -1.24 -0.81 -1.94c 0 -0.98 0.65 -1.7 1.63 -1.7c 0.53 0 1 0.13 1.41 0.38c 0.34 0.21 0.59 0.42 0.75 0.63c 0.07 0.09 0.1 0.16 0.1 0.19c 0 0.11 -0.05 0.17 -0.16 0.17c -0.05 0 -0.1 -0.04 -0.16 -0.12c -0.33 -0.44 -0.74 -0.72 -1.21 -0.84c -0.31 -0.08 -0.54 -0.12 -0.71 -0.12c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.62 0.29 1.52 0.53 1.95c 0.24 0.44 0.75 0.96 1.34 0.96c 0.38 0 0.64 -0.11 0.78 -0.32c -0.31 -0.03 -0.58 -0.23 -0.58 -0.56Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliae7e47287-gAE9FF52A1D42223AC1C1C189F82D6586&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.29 6.32l -0.59 -2.43c -0.21 0.37 -0.5 0.56 -0.89 0.56c -0.65 0 -1.22 -0.33 -1.72 -1c -0.46 -0.62 -0.69 -1.27 -0.69 -1.94c 0 -0.88 0.51 -1.62 1.35 -1.62c 0.43 0 0.85 0.23 1.25 0.7c 0.11 -0.38 0.45 -0.7 0.92 -0.7c 0.69 0 0.91 0.82 1.06 1.56c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.15 -0.07 -0.18 -0.21c -0.2 -0.79 -0.44 -1.19 -0.71 -1.19c -0.17 0 -0.26 0.14 -0.26 0.41c 0 0.15 0.02 0.31 0.06 0.47l 1.42 5.72v 0.04c -0.03 0.07 -0.09 0.11 -0.17 0.11c -0.23 0 -0.65 -0.04 -1.25 -0.11c -0.11 -0.01 -0.17 -0.09 -0.17 -0.23c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.19 0 0.45 0.01 0.45 -0.13Z m -0.88 -2.56c 0.1 -0.21 0.15 -0.35 0.15 -0.44c -0.01 -0.04 -0.02 -0.09 -0.03 -0.16l -0.49 -1.94c -0.03 -0.11 -0.1 -0.23 -0.19 -0.35c -0.37 -0.45 -0.73 -0.68 -1.08 -0.68c -0.39 0 -0.59 0.3 -0.59 0.89c 0 0.24 0.06 0.6 0.18 1.08c 0.21 0.85 0.51 1.43 0.88 1.74c 0.2 0.17 0.39 0.25 0.58 0.25c 0.27 0 0.47 -0.13 0.59 -0.39Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;We say that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfies the universal property of the product of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Surely this matches our set-based intuition of what a product should behave like. Similarly, we can sketch out constructions of other universal properties like initial objects, terminal objects, exponentials, etc. However, what is precisely meant by the term &lt;em&gt;universal property&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;The notion of a universal property is made precise by the notion of a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/universal-element.html&quot; data-entry=&quot;universal-element&quot;&gt;universal element of a presheaf&lt;/a&gt;. That is, an object satisfies a universal property if we can build a universal element of the appropriate presheaf at that object.&lt;/p&gt;
&lt;p&gt;Let’s look at the universal element characterization of the products example. Note that a map into a product is determined by a map into each component. To map into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, we need both a map into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a map into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, as in the above diagram. That is, to build a map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, we must simultaneously provide elements of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Using the product of presheaves, this means we are providing a single element of the presheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. Quite nicely, the universal element of this presheaf provides the object of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; that is &lt;em&gt;the product&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The universal element, provided that it exists, contains the following data:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;An element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;A proof that the map sending &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to a pair of maps &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an equivalence. Therefore, any element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; factors through &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Recall that the product of presheaves is computed pointwise in the category of sets, so if we expand the type of the element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; above we find that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a pair of maps &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;The first part of this pair is precisely &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;. Correspondingly, the second part of this pair is &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;. Finally, the universality of the element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; (i.e. the proof that any other element factors through &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;) captures our commutative diagram from above.&lt;/p&gt;
&lt;p&gt;This is a very rough sketch of what a universal property is, and has elided for now an important application of the Yoneda lemma. In any case, all a universal property is really saying is that a particular presheaf is representable; and, rather elegantly, a universal element of a presheaf is convenient packaging of that representability proof.&lt;/p&gt;
&lt;p&gt;In summary, &lt;em&gt;universal properties&lt;/em&gt; are not as ad-hoc as they may initially seem, and the language of presheaves provides a reusable and precise definition that can be instantiated to describe a very large class of properties.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;constant-presheaf&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;constant-presheaf&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;constant-presheaf&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Constant Presheaf&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/constant-presheaf.html&quot;&gt;constant-presheaf&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;constant-presheaf&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;em&gt;constant&lt;/em&gt; presheaf of a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; such that&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;I often call this &lt;em&gt;the discrete presheaf for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/em&gt;, but I don’t know if that’s standard.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;finite-cardinal-arithmetic-topos&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;finite-cardinal-arithmetic-topos&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;finite-cardinal-arithmetic-topos&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;Finite Cardinal Arithmetic in a Topos&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/finite-cardinal-arithmetic-topos.html&quot;&gt;finite-cardinal-arithmetic-topos&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;finite-cardinal-arithmetic-topos&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;In a topos with a natural numbers object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑁&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, you can define finite cardinals as objects that arise as the pullback along a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑁&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of the generic finite cardinal. Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for the cardinal corresponding to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The above characterization is a little obtuse and does warrant some more explanation. One way to make it more concrete is that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, and that finite cardinals warrant a nice induction principle. If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a property expressible in the internal language such that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfies &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and that whenever &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfies &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfies &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;; then every finite cardinal satisfies &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. That is, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; forms a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;-closed subobject of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑁&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and thus &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is all of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑁&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;My working mental model is in a presheaf topos, where the natural numbers object can be defined explicitly as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;constant-presheaf&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 0.2.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Constant Presheaf&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/constant-presheaf.html&quot;&gt;constant-presheaf&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;constant-presheaf&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;em&gt;constant&lt;/em&gt; presheaf of a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; such that&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;I often call this &lt;em&gt;the discrete presheaf for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/em&gt;, but I don’t know if that’s standard.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;p&gt;The finite cardinals with respect to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; can be characterized then as,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗌𝗎𝖼&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;These obey nice algebraic properties.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;subobject&quot; data-date=&quot;20250207&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;subobject&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;subobject&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Subobject&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/subobject.html&quot;&gt;subobject&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;subobject&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;In a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a subobject of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an isomorphism class of monomorphisms into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;terminal-object&quot; data-date=&quot;20250207&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;terminal-object&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;terminal-object&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Terminal Object&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/terminal-object.html&quot;&gt;terminal-object&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;terminal-object&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;An object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;terminal&lt;/em&gt; if there is a unique morphism from any other object into it.&lt;/p&gt;
&lt;p&gt;Because terminal objects are unique up to unique isomorphism (as are all universal objects) we often just write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to refer to the terminal object. Likewise, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;postfix&quot;&gt;!&lt;/mo&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; refers to the unique morphism into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;equalizer&quot; data-date=&quot;20250206&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;equalizer&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;equalizer&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Equalizer&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/equalizer.html&quot;&gt;equalizer&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;equalizer&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be objects in a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with two parallel morphisms &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The &lt;em&gt;equalizer&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, if it exists, is the universal object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖾𝗊&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; with the following property:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There is a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;𝖾𝗊&lt;/mtext&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;equalizers-in-type-theory&quot; data-date=&quot;20250206&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;equalizers-in-type-theory&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;equalizers-in-type-theory&quot;&gt;&lt;span class=&quot;helia-title&quot;&gt;Constructing Equalizers in Type Theory&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/equalizers-in-type-theory.html&quot;&gt;equalizers-in-type-theory&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;equalizers-in-type-theory&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;In the presence of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-types, one may construct all &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/equalizer.html&quot; data-entry=&quot;equalizer&quot;&gt;equalizers&lt;/a&gt;. Given types &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with functions &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the equalizer may be constructed as&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mtext&gt;𝖾𝗊&lt;/mtext&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;subobject-classifier&quot; data-date=&quot;20250206&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;subobject-classifier&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;subobject-classifier&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Subobject Classifier&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/subobject-classifier.html&quot;&gt;subobject-classifier&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;subobject-classifier&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Subsets &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; may classically be identified with a characteristic map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜒&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖻𝗈𝗈𝗅&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;. Intuitively, for every &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜒&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; gives a truth value to the statement “&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is in the subset &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;”. In this manner, the domain of the characteristic map, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖻𝗈𝗈𝗅&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, classifies the subsets of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Generalizing over this principle, in a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a subobject classifier if maps into it from some object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; likewise uniquely identify a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/subobject.html&quot; data-entry=&quot;subobject&quot;&gt;subobject&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;We can understand &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to behave like an object of truth values that are not necessarily boolean valued. A morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; can be thought of like a predicate on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; were a set, this would precisely be the characteristic function on it. However, this idea can generalize beyond sets. For instance in the category of graphs, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a cleverly constructed graph such that any graph homomorphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into it picks out a unique subgraph of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;There are always two (suggestively named) disjoint “points” of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, thought of as morphisms out of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/terminal-object.html&quot; data-entry=&quot;terminal-object&quot;&gt;terminal object&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗍𝗋𝗎𝖾&lt;/mtext&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;𝖿𝖺𝗅𝗌𝖾&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. I think if we’re being careful, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗍𝗋𝗎𝖾&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; may properly be the “subobject classifier” but I always use the term to refer to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; itself.&lt;/p&gt;
&lt;p&gt;A subobject &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜙&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;↪&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a unique characteristic morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mi&gt;𝜙&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; such that&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mi&gt;𝜙&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝜙&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝗍𝗋𝗎𝖾&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;postfix&quot;&gt;!&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Moreover, the appropriate square must be a pullback.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;closed-monoidal-category&quot; data-date=&quot;20240806&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;closed-monoidal-category&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;closed-monoidal-category&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Closed Monoidal Structure&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/closed-monoidal-category.html&quot;&gt;closed-monoidal-category&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;closed-monoidal-category&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/monoidal-category.html&quot; data-entry=&quot;monoidal-category&quot;&gt;monoidal category&lt;/a&gt; is &lt;em&gt;left closed&lt;/em&gt; if for each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has a right adjoint &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; forming the left internal-hom out of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;That is, for all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑍&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, there is a natural isomorphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑍&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑍&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;There is an obvious right-handed variant &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⟜&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; that is right adjoint to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is both right and left closed, the monoidal category is simply called &lt;em&gt;closed&lt;/em&gt; (or perhaps &lt;em&gt;biclosed&lt;/em&gt;).&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;monoidal-category&quot; data-date=&quot;20240806&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;monoidal-category&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;monoidal-category&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Monoidal Category&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/monoidal-category.html&quot;&gt;monoidal-category&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;monoidal-category&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A &lt;em&gt;monoidal category&lt;/em&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/category.html&quot; data-entry=&quot;category&quot;&gt;category&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; together with&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;a functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;tensor product&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;unit&lt;/em&gt;;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;natural isomorphisms&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝜆&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;the &lt;em&gt;associator&lt;/em&gt;, &lt;em&gt;left unitor&lt;/em&gt; and &lt;em&gt;right unitor&lt;/em&gt;;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;such that the triangle and the pentagon below commute for all objects &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 178.097970254 77.683748031&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;17.81em&quot; height=&quot;7.768em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(54.458888791 18.728)&quot; d=&quot;M 0 0h 68.940192654&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(121.514121045 18.728000126)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(121.514121045 16.362519849)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(74.895985118)&quot; d=&quot;M 0 0h 28.306v 14.728h -28.306v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(74.895985087 -1.26e-7)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.936 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.309 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g3A64CFA7D2B4546F68B037CBFEE38164&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.257 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.63 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(41.664863467 29.708000126)&quot; d=&quot;M 0 0l 34.470024429 33.847595476&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(73.132592574 63.357375398)&quot; d=&quot;M 0 0m 3.002295237 0.198220162c -1.002384199 -0.360445902 -2.116307363 -0.224225973 -3.002295237 0.367146007&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(75.915431606 60.54710928)&quot; d=&quot;M 0 0m 0.219456205 3.008486279c -0.378649562 -0.995650461 -0.262747986 -2.111870649 0.31238308 -3.008486279&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(19.976512029 49.56995205)&quot; d=&quot;M 0 0h 36.206444444v 14.728h -36.206444444v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(19.976511905 49.569951924)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g3E9A517058DA57D4B1EFBF00E4B71F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.17 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.488222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 24.530444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.530444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(101.963082358 29.708000126)&quot; d=&quot;M 0 0m 34.470024429 0l -34.470024429 33.847595476&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(101.650699345 60.54710928)&quot; d=&quot;M 0 0m 0.31238308 3.008486279c 0.378649562 -0.995650461 0.262747986 -2.111870649 -0.31238308 -3.008486279&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(101.963082425 63.357375398)&quot; d=&quot;M 0 0m 0 0.198220162c 1.002384199 -0.360445902 2.116307363 -0.224225973 3.002295237 0.367146007&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(121.91501378 49.56995205)&quot; d=&quot;M 0 0h 36.866444444v 14.728h -36.866444444v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(121.915013703 49.569951924)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.318222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 24.360444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g5ABAAA13195960EB350F5CB851144A00&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.190444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 13.748)&quot; d=&quot;M 0 0h 48.458888889v 9.96h -48.458888889v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(-9.1e-8 13.747999953)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 11.832222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.874444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g36FA9EC70A3258BF3FA63EE1B701DD0F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.124444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 33.236666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 43.278888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(129.639081365 13.748)&quot; d=&quot;M 0 0h 48.458888889v 9.96h -48.458888889v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(129.639081274 13.747999953)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.942222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 17.984444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.874444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g36FA9EC70A3258BF3FA63EE1B701DD0F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.346666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 39.388888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 44.568888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(77.466762905 69.723748031)&quot; d=&quot;M 0 0h 23.164444445v 7.96h -23.164444445v -7.96Z &quot;/&gt;&lt;g transform=&quot;translate(77.466762812 69.723747906)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.942222222 7.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 17.984444444 7.395)&quot;&gt;&lt;use xlink:href=&quot;#helia2755c7dc-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia2755c7dc-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.081 2.555c 0 0.357 -0.364 0.532 -0.742 0.532c -0.315 0 -0.574 -0.154 -0.77 -0.462c -0.168 0.308 -0.448 0.462 -0.833 0.462c -0.259 0 -0.532 -0.112 -0.805 -0.343c -0.287 -0.238 -0.434 -0.483 -0.434 -0.735c 0 -0.077 0.049 -0.119 0.14 -0.119c 0.077 0 0.126 0.042 0.161 0.133c 0.126 0.378 0.469 0.819 0.917 0.819c 0.259 0 0.385 -0.14 0.385 -0.427c 0 -0.091 -0.049 -0.329 -0.14 -0.714l -0.238 -0.938c -0.063 -0.266 -0.322 -0.588 -0.623 -0.588c -0.119 0 -0.224 0.021 -0.308 0.07c 0.14 0.063 0.266 0.217 0.266 0.378c 0 0.168 -0.133 0.287 -0.301 0.287c -0.238 0 -0.42 -0.21 -0.42 -0.448c 0 -0.35 0.371 -0.532 0.749 -0.532c 0.322 0 0.581 0.154 0.77 0.462c 0.168 -0.308 0.441 -0.462 0.826 -0.462c 0.385 0 0.693 0.154 0.931 0.462c 0.203 0.273 0.308 0.483 0.308 0.616c 0 0.077 -0.042 0.119 -0.133 0.119c -0.077 0 -0.133 -0.049 -0.161 -0.14c -0.119 -0.371 -0.476 -0.812 -0.917 -0.812c -0.259 0 -0.392 0.14 -0.392 0.42c 0 0.105 0.119 0.63 0.357 1.561c 0.119 0.455 0.329 0.686 0.644 0.686l 0.063 -0.007c 0.084 0 0.168 -0.021 0.245 -0.056c -0.175 -0.077 -0.259 -0.203 -0.259 -0.385c 0 -0.168 0.133 -0.287 0.301 -0.287c 0.238 0 0.413 0.21 0.413 0.448Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.183 0.805c -0.224 0 -0.399 -0.182 -0.399 -0.413c 0 -0.245 0.168 -0.427 0.406 -0.427c 0.091 0 0.175 0.028 0.245 0.077c -0.014 -0.462 -0.182 -0.854 -0.504 -1.169c -0.035 -0.035 -0.056 -0.063 -0.056 -0.098c 0 -0.084 0.042 -0.126 0.119 -0.126c 0.049 0 0.119 0.056 0.224 0.168c 0.231 0.252 0.455 0.763 0.455 1.218c 0 0.385 -0.14 0.77 -0.49 0.77Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g3A64CFA7D2B4546F68B037CBFEE38164&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.752 4.648c 0 0.091 -0.049 0.133 -0.14 0.133c -0.294 0 -0.623 -0.035 -0.924 -0.028l -0.476 0.007c -0.091 0 -0.385 0.021 -0.476 0.021c -0.119 0 -0.175 -0.063 -0.175 -0.182c 0 -0.063 0.021 -0.098 0.07 -0.105c 0.077 -0.007 0.14 -0.014 0.182 -0.014c 0.252 -0.014 0.427 -0.007 0.427 -0.084c 0 -0.021 -0.007 -0.07 -0.028 -0.14l -0.917 -3.675c -0.021 -0.084 -0.042 -0.14 -0.063 -0.175c -0.049 -0.07 -0.217 -0.105 -0.504 -0.105c -0.175 0 -0.28 0 -0.28 -0.175v -0.035c 0.021 -0.063 0.063 -0.091 0.14 -0.091c 0.161 0 0.749 0.028 0.924 0.028l 0.476 -0.007c 0.091 0 0.385 -0.021 0.476 -0.021c 0.119 0 0.175 0.063 0.175 0.182c 0 0.077 -0.049 0.112 -0.14 0.119c -0.182 0.007 -0.315 0.014 -0.406 0.014c -0.056 0.007 -0.133 0.035 -0.133 0.077l 0.945 3.808c 0.035 0.14 0.105 0.224 0.203 0.259c 0.035 0.014 0.161 0.021 0.364 0.021c 0.189 0 0.28 0.021 0.28 0.168Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g437B1AD9322289F82F31143FB21DC777&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.668 3.017c -0.14 0 -0.245 -0.063 -0.308 -0.182c -0.014 -0.021 -0.049 -0.154 -0.112 -0.406l -0.42 -1.68c -0.049 -0.077 -0.091 -0.147 -0.14 -0.203c -0.224 -0.259 -0.455 -0.385 -0.686 -0.385c -0.294 0 -0.441 0.182 -0.441 0.546c 0 0.259 0.119 0.707 0.364 1.33c 0.077 0.21 0.119 0.357 0.119 0.434c 0 0.364 -0.315 0.616 -0.679 0.616c -0.336 0 -0.602 -0.168 -0.798 -0.504c -0.161 -0.273 -0.238 -0.469 -0.238 -0.581c 0 -0.077 0.049 -0.119 0.147 -0.119c 0.077 0 0.126 0.042 0.147 0.133c 0.161 0.546 0.406 0.819 0.721 0.819c 0.091 0 0.14 -0.07 0.14 -0.21c 0 -0.105 -0.028 -0.231 -0.091 -0.392c -0.147 -0.371 -0.231 -0.602 -0.266 -0.693c -0.091 -0.273 -0.133 -0.518 -0.133 -0.721c 0 -0.595 0.385 -0.903 0.98 -0.903c 0.259 0 0.49 0.084 0.707 0.259c -0.105 -0.399 -0.245 -0.707 -0.427 -0.924c -0.252 -0.287 -0.518 -0.427 -0.805 -0.427c -0.217 0 -0.378 0.056 -0.476 0.175c 0.196 0.049 0.357 0.182 0.357 0.406c 0 0.189 -0.098 0.287 -0.301 0.287c -0.252 0 -0.427 -0.231 -0.427 -0.483c 0 -0.413 0.406 -0.637 0.847 -0.637c 0.413 0 0.784 0.14 1.127 0.413c 0.343 0.273 0.56 0.616 0.658 1.015l 0.658 2.611c 0.021 0.077 0.028 0.126 0.028 0.161c 0 0.14 -0.112 0.245 -0.252 0.245Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g3E9A517058DA57D4B1EFBF00E4B71F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.61 4.42c -1.13 0 -2.07 -1.22 -2.32 -2.22l -0.96 -3.89c -0.02 -0.08 -0.03 -0.13 -0.03 -0.16c 0 -0.21 0.1 -0.31 0.31 -0.31c 0.15 0 0.28 0.08 0.38 0.23l 0.61 2.39c 0.23 -0.39 0.55 -0.59 0.96 -0.59c 0.66 0 1.24 0.32 1.75 0.97c 0.47 0.61 0.71 1.26 0.71 1.93c 0 0.91 -0.53 1.65 -1.41 1.65Z m -0.02 -0.3c 0.43 0 0.64 -0.31 0.64 -0.93c 0 -0.27 -0.06 -0.62 -0.17 -1.07c -0.22 -0.85 -0.53 -1.42 -0.92 -1.72c -0.21 -0.16 -0.4 -0.24 -0.59 -0.24c -0.19 0 -0.36 0.07 -0.49 0.2c -0.21 0.21 -0.31 0.43 -0.31 0.64c 0.01 0.07 0.03 0.19 0.07 0.36c 0.23 0.95 0.43 1.56 0.59 1.84c 0.35 0.61 0.74 0.92 1.18 0.92Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g748236F10AB3C63FA99C42F7FD92B699&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.48 2.49c 0 -1.89 1.53 -3.42 3.42 -3.42c 1.89 0 3.42 1.53 3.42 3.42c 0 1.89 -1.53 3.42 -3.42 3.42c -1.89 0 -3.42 -1.53 -3.42 -3.42Z m 5.67 -1.91l -1.92 1.92l 1.91 1.91c 0.44 -0.52 0.71 -1.19 0.71 -1.92c 0 -0.73 -0.26 -1.39 -0.7 -1.91Z m -4.17 4.17c 0.52 0.44 1.18 0.7 1.91 0.7c 0.73 0 1.39 -0.26 1.91 -0.7l -1.91 -1.91Z m 3.83 -4.51c -0.52 -0.44 -1.19 -0.71 -1.92 -0.71c -0.73 0 -1.4 0.27 -1.92 0.71l 1.92 1.92Z m -4.17 4.17l 1.91 -1.91l -1.92 -1.92c -0.44 0.52 -0.7 1.18 -0.7 1.91c 0 0.73 0.27 1.4 0.71 1.92Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g9895E63CDB1310374A05B4A6DB38230&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.69 6.66c -0.41 -0.42 -1.01 -0.63 -1.8 -0.63v -0.39c 0.52 0 0.95 0.08 1.28 0.24v -5.06c 0 -0.18 -0.04 -0.3 -0.13 -0.35c -0.09 -0.05 -0.34 -0.08 -0.74 -0.08h -0.35v -0.39c 0.25 0.02 0.79 0.03 1.62 0.03c 0.83 0 1.37 -0.01 1.62 -0.03v 0.39h -0.35c -0.41 0 -0.66 0.03 -0.74 0.08c -0.08 0.05 -0.13 0.17 -0.13 0.35v 5.54c 0 0.24 -0.02 0.3 -0.28 0.3Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g5ABAAA13195960EB350F5CB851144A00&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.86 -0.13c 0.11 0 0.23 0.07 0.36 0.22l 2.33 2.76c 0.35 -0.96 0.61 -1.68 0.78 -2.17c 0.11 -0.31 0.18 -0.49 0.23 -0.56c 0.11 -0.15 0.3 -0.23 0.56 -0.23h 0.21c 0.1 0.01 0.15 0.05 0.15 0.14c 0 0.02 -0.02 0.06 -0.06 0.11c -0.07 0.07 -0.14 0.22 -0.22 0.45l -2.01 5.62c -0.17 0.49 -0.58 0.73 -1.23 0.73c -0.15 0 -0.22 -0.05 -0.22 -0.15c 0 -0.07 0.06 -0.12 0.17 -0.15c 0.14 -0.04 0.23 -0.09 0.28 -0.15c 0.07 -0.08 0.17 -0.28 0.28 -0.6l 0.95 -2.67l -2.7 -2.69c -0.13 -0.13 -0.19 -0.24 -0.19 -0.33c 0 -0.18 0.15 -0.33 0.33 -0.33Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g36FA9EC70A3258BF3FA63EE1B701DD0F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.97 6.67c 0 0.11 -0.06 0.16 -0.19 0.16l -1.29 -0.03l -1.31 0.03c -0.16 0.01 -0.24 -0.07 -0.24 -0.24c 0 -0.1 0.11 -0.15 0.32 -0.15c 0.43 0 0.64 -0.05 0.64 -0.14c 0 -0.05 -0.01 -0.1 -0.02 -0.15l -1.33 -5.33c -0.05 -0.22 -0.15 -0.35 -0.3 -0.4c -0.07 -0.02 -0.25 -0.03 -0.56 -0.03c -0.25 0 -0.35 -0.01 -0.35 -0.24c 0 -0.1 0.06 -0.15 0.19 -0.15l 1.28 0.03l 1.32 -0.03c 0.16 -0.01 0.24 0.07 0.24 0.23c 0 0.16 -0.12 0.16 -0.34 0.16c -0.39 0 -0.63 -0.02 -0.63 0.14c 0 0.05 0.01 0.12 0.04 0.22l 1.32 5.27c 0.05 0.21 0.15 0.34 0.3 0.39c 0.07 0.02 0.25 0.03 0.56 0.03c 0.24 0 0.35 0.01 0.35 0.23Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia2755c7dc-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 435.363664042 135.659496063&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;43.536em&quot; height=&quot;13.566em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(81.618583421 15.941688114)&quot; d=&quot;M 0 0m 92.36658185 0l -92.36658185 33.969531916&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(81.618583559 47.040493116)&quot; d=&quot;M 0 0m 0 2.870726758c 0.754644513 -0.751802946 1.108093425 -1.816911065 0.952631221 -2.870726758&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(81.618583559 49.911219874)&quot; d=&quot;M 0 0c 1.061925598 0.083725952 2.02124415 0.666039747 2.585598012 1.569478029&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(100.404862483 14.485707643)&quot; d=&quot;M 0 0h 51.807444444v 14.728h -51.807444444v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(100.404862375 14.485707517)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC1E4A5A805DF60D04A0F00954EEEE9A0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.182 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.555 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.091 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.464 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.362222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 40.404444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 45.404444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g2974BAAB4CCBA7535C48D7A3EF9FCD4A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(58.797578863 71.935748031)&quot; d=&quot;M 0 0l 29.634115101 33.83520451&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(85.410299297 105.478385056)&quot; d=&quot;M 0 0m 3.021394813 0.292567322c -0.972469189 -0.434740618 -2.093478752 -0.382599591 -3.021394813 0.140532812&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(88.293081611 102.794439995)&quot; d=&quot;M 0 0m 0.138612499 2.976512383c -0.302771798 -1.021285938 -0.103331332 -2.125643048 0.537540811 -2.976512383&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(31.255641051 91.579066188)&quot; d=&quot;M 0 0h 39.429v 14.728h -39.429v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(31.255641051 91.579066062)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC1E4A5A805DF60D04A0F00954EEEE9A0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.182 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.555 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.091 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g99E2B00CECD3B850E8756A10F3F48449&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.537 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.653 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 33.026 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g2974BAAB4CCBA7535C48D7A3EF9FCD4A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(153.387399391 116.931496063)&quot; d=&quot;M 0 0h 128.348865092&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(279.85130388 116.931496063)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(279.85130388 114.566015786)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(191.778109715 120.931496063)&quot; d=&quot;M 0 0h 51.807444444v 14.728h -51.807444444v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(191.778109606 120.931495937)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC1E4A5A805DF60D04A0F00954EEEE9A0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.564222222 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 25.606444444 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 32.006444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 36.542444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 38.915444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 43.031444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 45.404444444 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g2974BAAB4CCBA7535C48D7A3EF9FCD4A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(261.378498604 15.941688052)&quot; d=&quot;M 0 0l 92.366582133 33.969532021&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(351.159482586 49.911219874)&quot; d=&quot;M 0 0m 2.585598012 0c -1.061925598 0.083725952 -2.02124415 0.666039747 -2.585598012 1.569478029&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(352.756437976 47.040493116)&quot; d=&quot;M 0 0m 0.988642623 2.870726758c -0.754644513 -0.751802946 -1.108093425 -1.816911065 -0.952631221 -2.870726758&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(289.34057931 14.485707633)&quot; d=&quot;M 0 0h 39.429v 14.728h -39.429v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(289.34057931 14.485707507)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC1E4A5A805DF60D04A0F00954EEEE9A0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.182 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g99E2B00CECD3B850E8756A10F3F48449&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.628 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 24.164 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.537 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.653 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 33.026 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g2974BAAB4CCBA7535C48D7A3EF9FCD4A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(346.931970078 71.935748031)&quot; d=&quot;M 0 0m 29.634115101 0l -29.634115101 33.83520451&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(346.394429237 102.794439995)&quot; d=&quot;M 0 0m 0.537540811 2.976512383c 0.302771798 -1.021285938 0.103331332 -2.125643048 -0.537540811 -2.976512383&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(346.931970047 105.478385056)&quot; d=&quot;M 0 0m 0 0.292567322c 0.972469189 -0.434740618 2.093478752 -0.382599591 3.021394813 0.140532812&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(364.679022991 91.579066188)&quot; d=&quot;M 0 0h 39.429v 14.728h -39.429v -14.728Z &quot;/&gt;&lt;g transform=&quot;translate(364.679022991 91.579066062)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.4 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC1E4A5A805DF60D04A0F00954EEEE9A0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.182 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.555 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.091 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.464 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g437B1AD9322289F82F31143FB21DC777&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.58 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g99E2B00CECD3B850E8756A10F3F48449&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 33.026 11.3)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g2974BAAB4CCBA7535C48D7A3EF9FCD4A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(179.985165354)&quot; d=&quot;M 0 0h 75.393333333v 9.96h -75.393333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(179.985165344 -4.7e-8)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.78 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g621A634063DE8E99B93DF1CE614A7714&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 17.192222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.234444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 32.954444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 39.066666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 49.108888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 54.288888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 60.401111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 70.443333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g9EAA80CC20636A77386F7A56F7532109&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 55.975748031)&quot; d=&quot;M 0 0h 75.393333333v 9.96h -75.393333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(-1e-8 55.975747984)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g621A634063DE8E99B93DF1CE614A7714&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.302222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.344444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.234444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 35.176666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 45.218888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 50.398888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 54.288888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 60.401111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 70.443333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g9EAA80CC20636A77386F7A56F7532109&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(359.970330709 55.975748031)&quot; d=&quot;M 0 0h 75.393333333v 9.96h -75.393333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(359.970330698 55.975747984)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g621A634063DE8E99B93DF1CE614A7714&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.302222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.344444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.064444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 35.176666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 45.218888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 49.108888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 56.511111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 66.553333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g9EAA80CC20636A77386F7A56F7532109&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 71.503333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(71.994066142 111.951496063)&quot; d=&quot;M 0 0h 75.393333333v 9.96h -75.393333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(71.994066131 111.951496016)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g621A634063DE8E99B93DF1CE614A7714&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.412222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.454444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.344444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.234444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 35.176666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 45.218888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 50.398888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 56.511111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 66.553333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g9EAA80CC20636A77386F7A56F7532109&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 71.503333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(287.976264567 111.951496063)&quot; d=&quot;M 0 0h 75.393333333v 9.96h -75.393333333v -9.96Z &quot;/&gt;&lt;g transform=&quot;translate(287.976264556 111.951496016)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g621A634063DE8E99B93DF1CE614A7714&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.412222222 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.454444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.344444444 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 31.286666667 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 41.328888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 45.218888889 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 52.621111111 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 62.663333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g9EAA80CC20636A77386F7A56F7532109&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 67.613333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 71.503333333 8.395)&quot;&gt;&lt;use xlink:href=&quot;#helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia92ad2b29-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-gC1E4A5A805DF60D04A0F00954EEEE9A0&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.089 3.094c -0.196 0 -0.406 -0.196 -0.406 -0.392c 0 -0.063 0.063 -0.161 0.189 -0.294c 0.126 -0.133 0.189 -0.294 0.189 -0.469c 0 -0.154 -0.084 -0.455 -0.252 -0.91c -0.133 -0.385 -0.448 -0.854 -0.896 -0.854c -0.357 0 -0.532 0.196 -0.532 0.588c 0 0.427 0.294 1.379 0.42 1.841c 0.021 0.091 0.035 0.147 0.035 0.168c 0 0.14 -0.119 0.245 -0.259 0.245c -0.175 0 -0.28 -0.07 -0.322 -0.217c -0.098 -0.343 -0.329 -1.253 -0.343 -1.309c -0.07 -0.28 -0.105 -0.497 -0.112 -0.644c 0.021 -0.119 -0.042 -0.266 -0.189 -0.455c -0.119 -0.147 -0.266 -0.217 -0.441 -0.217c -0.399 0 -0.595 0.203 -0.595 0.609c 0 0.245 0.112 0.644 0.329 1.197c 0.098 0.252 0.147 0.42 0.147 0.497c 0 0.357 -0.322 0.609 -0.686 0.609c -0.336 0 -0.602 -0.168 -0.791 -0.497c -0.161 -0.28 -0.245 -0.476 -0.245 -0.581c 0 -0.077 0.049 -0.119 0.147 -0.119c 0.077 0 0.126 0.042 0.147 0.133c 0.168 0.546 0.406 0.819 0.721 0.819c 0.098 0 0.147 -0.07 0.147 -0.217c 0 -0.098 -0.028 -0.224 -0.091 -0.385c -0.126 -0.322 -0.217 -0.574 -0.28 -0.756c -0.077 -0.245 -0.119 -0.448 -0.119 -0.609c 0 -0.651 0.462 -0.945 1.141 -0.945c 0.315 0 0.574 0.147 0.784 0.434c 0.175 -0.287 0.49 -0.434 0.959 -0.434c 0.448 0 0.812 0.273 1.085 0.826c 0.203 0.399 0.49 1.246 0.49 1.764c 0 0.294 -0.126 0.574 -0.371 0.574Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-gFF1A752086D3C6DF3B3B47BA48DAE568&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.183 0.805c -0.224 0 -0.399 -0.182 -0.399 -0.413c 0 -0.245 0.168 -0.427 0.406 -0.427c 0.091 0 0.175 0.028 0.245 0.077c -0.014 -0.462 -0.182 -0.854 -0.504 -1.169c -0.035 -0.035 -0.056 -0.063 -0.056 -0.098c 0 -0.084 0.042 -0.126 0.119 -0.126c 0.049 0 0.119 0.056 0.224 0.168c 0.231 0.252 0.455 0.763 0.455 1.218c 0 0.385 -0.14 0.77 -0.49 0.77Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g8BCE0A4C7BE36811FD01445BF713FD4C&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.081 2.555c 0 0.357 -0.364 0.532 -0.742 0.532c -0.315 0 -0.574 -0.154 -0.77 -0.462c -0.168 0.308 -0.448 0.462 -0.833 0.462c -0.259 0 -0.532 -0.112 -0.805 -0.343c -0.287 -0.238 -0.434 -0.483 -0.434 -0.735c 0 -0.077 0.049 -0.119 0.14 -0.119c 0.077 0 0.126 0.042 0.161 0.133c 0.126 0.378 0.469 0.819 0.917 0.819c 0.259 0 0.385 -0.14 0.385 -0.427c 0 -0.091 -0.049 -0.329 -0.14 -0.714l -0.238 -0.938c -0.063 -0.266 -0.322 -0.588 -0.623 -0.588c -0.119 0 -0.224 0.021 -0.308 0.07c 0.14 0.063 0.266 0.217 0.266 0.378c 0 0.168 -0.133 0.287 -0.301 0.287c -0.238 0 -0.42 -0.21 -0.42 -0.448c 0 -0.35 0.371 -0.532 0.749 -0.532c 0.322 0 0.581 0.154 0.77 0.462c 0.168 -0.308 0.441 -0.462 0.826 -0.462c 0.385 0 0.693 0.154 0.931 0.462c 0.203 0.273 0.308 0.483 0.308 0.616c 0 0.077 -0.042 0.119 -0.133 0.119c -0.077 0 -0.133 -0.049 -0.161 -0.14c -0.119 -0.371 -0.476 -0.812 -0.917 -0.812c -0.259 0 -0.392 0.14 -0.392 0.42c 0 0.105 0.119 0.63 0.357 1.561c 0.119 0.455 0.329 0.686 0.644 0.686l 0.063 -0.007c 0.084 0 0.168 -0.021 0.245 -0.056c -0.175 -0.077 -0.259 -0.203 -0.259 -0.385c 0 -0.168 0.133 -0.287 0.301 -0.287c 0.238 0 0.413 0.21 0.413 0.448Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g437B1AD9322289F82F31143FB21DC777&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.668 3.017c -0.14 0 -0.245 -0.063 -0.308 -0.182c -0.014 -0.021 -0.049 -0.154 -0.112 -0.406l -0.42 -1.68c -0.049 -0.077 -0.091 -0.147 -0.14 -0.203c -0.224 -0.259 -0.455 -0.385 -0.686 -0.385c -0.294 0 -0.441 0.182 -0.441 0.546c 0 0.259 0.119 0.707 0.364 1.33c 0.077 0.21 0.119 0.357 0.119 0.434c 0 0.364 -0.315 0.616 -0.679 0.616c -0.336 0 -0.602 -0.168 -0.798 -0.504c -0.161 -0.273 -0.238 -0.469 -0.238 -0.581c 0 -0.077 0.049 -0.119 0.147 -0.119c 0.077 0 0.126 0.042 0.147 0.133c 0.161 0.546 0.406 0.819 0.721 0.819c 0.091 0 0.14 -0.07 0.14 -0.21c 0 -0.105 -0.028 -0.231 -0.091 -0.392c -0.147 -0.371 -0.231 -0.602 -0.266 -0.693c -0.091 -0.273 -0.133 -0.518 -0.133 -0.721c 0 -0.595 0.385 -0.903 0.98 -0.903c 0.259 0 0.49 0.084 0.707 0.259c -0.105 -0.399 -0.245 -0.707 -0.427 -0.924c -0.252 -0.287 -0.518 -0.427 -0.805 -0.427c -0.217 0 -0.378 0.056 -0.476 0.175c 0.196 0.049 0.357 0.182 0.357 0.406c 0 0.189 -0.098 0.287 -0.301 0.287c -0.252 0 -0.427 -0.231 -0.427 -0.483c 0 -0.413 0.406 -0.637 0.847 -0.637c 0.413 0 0.784 0.14 1.127 0.413c 0.343 0.273 0.56 0.616 0.658 1.015l 0.658 2.611c 0.021 0.077 0.028 0.126 0.028 0.161c 0 0.14 -0.112 0.245 -0.252 0.245Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g748236F10AB3C63FA99C42F7FD92B699&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.48 2.49c 0 -1.89 1.53 -3.42 3.42 -3.42c 1.89 0 3.42 1.53 3.42 3.42c 0 1.89 -1.53 3.42 -3.42 3.42c -1.89 0 -3.42 -1.53 -3.42 -3.42Z m 5.67 -1.91l -1.92 1.92l 1.91 1.91c 0.44 -0.52 0.71 -1.19 0.71 -1.92c 0 -0.73 -0.26 -1.39 -0.7 -1.91Z m -4.17 4.17c 0.52 0.44 1.18 0.7 1.91 0.7c 0.73 0 1.39 -0.26 1.91 -0.7l -1.91 -1.91Z m 3.83 -4.51c -0.52 -0.44 -1.19 -0.71 -1.92 -0.71c -0.73 0 -1.4 0.27 -1.92 0.71l 1.92 1.92Z m -4.17 4.17l 1.91 -1.91l -1.92 -1.92c -0.44 0.52 -0.7 1.18 -0.7 1.91c 0 0.73 0.27 1.4 0.71 1.92Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g9895E63CDB1310374A05B4A6DB38230&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.69 6.66c -0.41 -0.42 -1.01 -0.63 -1.8 -0.63v -0.39c 0.52 0 0.95 0.08 1.28 0.24v -5.06c 0 -0.18 -0.04 -0.3 -0.13 -0.35c -0.09 -0.05 -0.34 -0.08 -0.74 -0.08h -0.35v -0.39c 0.25 0.02 0.79 0.03 1.62 0.03c 0.83 0 1.37 -0.01 1.62 -0.03v 0.39h -0.35c -0.41 0 -0.66 0.03 -0.74 0.08c -0.08 0.05 -0.13 0.17 -0.13 0.35v 5.54c 0 0.24 -0.02 0.3 -0.28 0.3Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g2974BAAB4CCBA7535C48D7A3EF9FCD4A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.814 2.352c -0.189 -0.189 -0.476 -0.441 -0.882 -0.763c -0.406 -0.322 -0.7 -0.574 -0.882 -0.756c -0.154 -0.154 -0.266 -0.273 -0.343 -0.364c -0.189 -0.217 -0.28 -0.364 -0.28 -0.427c 0 -0.077 0.049 -0.112 0.147 -0.112c 0.056 0 0.105 0.028 0.14 0.084c 0.189 0.273 0.392 0.406 0.609 0.406c 0.105 0 0.217 -0.056 0.343 -0.161c 0.175 -0.154 0.28 -0.238 0.308 -0.259c 0.084 -0.049 0.182 -0.07 0.287 -0.07c 0.231 0 0.448 0.077 0.651 0.231c 0.217 0.168 0.574 0.546 0.574 0.861c 0 0.077 -0.049 0.119 -0.14 0.119c -0.07 0 -0.119 -0.042 -0.154 -0.126c -0.105 -0.287 -0.455 -0.49 -0.847 -0.49c -0.189 0 -0.798 0.147 -0.994 0.14h -0.091c 0.217 0.21 0.49 0.448 0.833 0.721c 0.462 0.371 0.749 0.609 0.868 0.728c 0.455 0.455 0.686 0.742 0.686 0.861c 0 0.077 -0.049 0.112 -0.147 0.112c -0.056 0 -0.105 -0.028 -0.14 -0.084c -0.175 -0.273 -0.343 -0.406 -0.497 -0.406c -0.098 0 -0.238 0.084 -0.427 0.245c -0.189 0.161 -0.357 0.245 -0.511 0.245c -0.203 0 -0.406 -0.091 -0.623 -0.273c -0.217 -0.182 -0.322 -0.364 -0.322 -0.56c 0 -0.077 0.049 -0.112 0.14 -0.112c 0.056 0 0.105 0.028 0.14 0.091c 0.126 0.203 0.238 0.259 0.581 0.259c 0.189 0 0.791 -0.133 0.973 -0.14Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g99E2B00CECD3B850E8756A10F3F48449&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.117 1.75c 0 1.323 -1.071 2.394 -2.394 2.394c -1.323 0 -2.394 -1.071 -2.394 -2.394c 0 -1.323 1.071 -2.394 2.394 -2.394c 1.323 0 2.394 1.071 2.394 2.394Z m -1.071 1.596l -1.323 -1.33l -1.323 1.33c 0.357 0.301 0.819 0.476 1.323 0.476c 0.504 0 0.966 -0.175 1.323 -0.476Z m -2.919 -0.273l 1.33 -1.323l -1.33 -1.323c -0.301 0.357 -0.476 0.819 -0.476 1.323c 0 0.504 0.175 0.966 0.476 1.323Z m 0.273 -2.919l 1.323 1.33l 1.323 -1.33c -0.357 -0.301 -0.819 -0.476 -1.323 -0.476c -0.504 0 -0.966 0.175 -1.323 0.476Z m 2.919 0.273l -1.33 1.323l 1.33 1.323c 0.301 -0.357 0.476 -0.819 0.476 -1.323c 0 -0.504 -0.175 -0.966 -0.476 -1.323Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g621A634063DE8E99B93DF1CE614A7714&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.9 3.91c 0 -0.09 0.05 -0.19 0.16 -0.29c 0.23 -0.22 0.35 -0.49 0.35 -0.81c 0 -0.17 -0.06 -0.44 -0.18 -0.83c -0.37 -1.2 -0.84 -1.8 -1.41 -1.8c -0.47 0 -0.7 0.27 -0.7 0.82c 0 0.19 0.04 0.42 0.11 0.71c 0.18 0.72 0.37 1.43 0.54 2.16c 0.02 0.07 0.03 0.11 0.03 0.14c 0 0.2 -0.11 0.3 -0.33 0.3c -0.2 0 -0.33 -0.1 -0.4 -0.3l -0.4 -1.56c -0.15 -0.58 -0.26 -0.78 -0.26 -1.3c 0 -0.08 0 -0.14 0.01 -0.17c -0.23 -0.53 -0.52 -0.8 -0.87 -0.8c -0.5 0 -0.75 0.29 -0.75 0.86c 0 0.37 0.17 1 0.51 1.89c 0.11 0.3 0.17 0.51 0.17 0.64c 0 0.49 -0.36 0.85 -0.85 0.85c -0.45 0 -0.79 -0.25 -1.04 -0.75c -0.2 -0.39 -0.3 -0.66 -0.3 -0.8c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.13 0 0.15 0.06 0.19 0.2c 0.24 0.8 0.56 1.2 0.96 1.2c 0.14 0 0.21 -0.1 0.21 -0.29c 0 -0.15 -0.06 -0.37 -0.17 -0.67c -0.37 -0.97 -0.56 -1.63 -0.56 -2c 0 -0.85 0.57 -1.28 1.44 -1.28c 0.42 0 0.76 0.21 1.03 0.64c 0.2 -0.43 0.61 -0.64 1.24 -0.64c 0.62 0 1.11 0.41 1.46 1.23c 0.23 0.52 0.66 1.9 0.66 2.57c 0 0.15 -0.01 0.25 -0.02 0.3c -0.04 0.19 -0.23 0.43 -0.45 0.43c -0.26 0 -0.54 -0.25 -0.54 -0.51Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia92ad2b29-g9EAA80CC20636A77386F7A56F7532109&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.62 0.92l -0.17 -0.02c 0.48 0.47 0.85 0.81 1.1 1.04l 0.96 0.89c 0.23 0.21 0.47 0.47 0.7 0.76c 0.31 0.38 0.46 0.61 0.46 0.69c 0 0.09 -0.05 0.14 -0.15 0.14c -0.07 0 -0.13 -0.04 -0.18 -0.13c -0.25 -0.41 -0.48 -0.61 -0.7 -0.61c -0.22 0 -0.38 0.18 -0.47 0.3c -0.24 0.29 -0.48 0.44 -0.71 0.44c -0.26 0 -0.53 -0.12 -0.81 -0.38c -0.28 -0.26 -0.42 -0.52 -0.42 -0.78c 0 -0.1 0.05 -0.15 0.16 -0.15c 0.07 0 0.13 0.05 0.17 0.14c 0.11 0.29 0.38 0.43 0.79 0.43c 0.14 0 0.34 -0.05 0.61 -0.14c 0.24 -0.09 0.47 -0.14 0.68 -0.15c -0.56 -0.55 -0.99 -0.95 -1.3 -1.22l -0.89 -0.83c -0.15 -0.15 -0.34 -0.35 -0.55 -0.6c -0.31 -0.39 -0.47 -0.62 -0.47 -0.71c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.06 0 0.12 0.05 0.19 0.15c 0.25 0.39 0.52 0.59 0.8 0.59c 0.16 0 0.34 -0.12 0.54 -0.37c 0.2 -0.25 0.43 -0.37 0.66 -0.37c 0.34 0 0.68 0.18 1.04 0.53c 0.36 0.35 0.54 0.69 0.54 1.02c 0 0.09 -0.05 0.14 -0.16 0.14c -0.07 0 -0.13 -0.05 -0.18 -0.15c -0.15 -0.43 -0.58 -0.8 -1.14 -0.8c -0.24 0 -1.02 0.29 -1.26 0.29Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;category-of-elements&quot; data-date=&quot;0&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;category-of-elements&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;category-of-elements&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Category of Elements&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/category-of-elements.html&quot;&gt;category-of-elements&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;category-of-elements&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a presheaf on a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/category.html&quot; data-entry=&quot;category&quot;&gt;category&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The &lt;em&gt;category of elements&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/displayed-category.html&quot; data-entry=&quot;displayed-category&quot;&gt;displayed category&lt;/a&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; whose displayed objects over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/element-of-presheaf.html&quot; data-entry=&quot;element-of-presheaf&quot;&gt;elements&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and whose displayed morphisms over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑞&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are proofs that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑞&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Since &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a set, there is at most one displayed morphism over each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; between given elements: a morphism of elements is a morphism of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; that happens to carry &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑞&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; back to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Its &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/total-category.html&quot; data-entry=&quot;total-category&quot;&gt;total category&lt;/a&gt; is the classical category of elements &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/universal-element.html&quot; data-entry=&quot;universal-element&quot;&gt;universal element&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is exactly a terminal object of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Helianthus</title>
    <id>https://stevenschaefer.net/helianthus.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/helianthus.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="helianthus"/>
    <content type="html">&lt;p&gt;Helianthus is a Zettelkasten notetaking tool written in Rust. &lt;em&gt;Helianthus&lt;/em&gt; is the binomial name for the sunflower, after the Greek &lt;em&gt;helios&lt;/em&gt; (sun) + &lt;em&gt;anthos&lt;/em&gt; (flower).&lt;/p&gt;
&lt;p&gt;It owes &lt;strong&gt;a lot&lt;/strong&gt; to &lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://git.sr.ht/~jonsterling/ocaml-forester&quot;&gt;Forester&lt;/a&gt; and &lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://github.com/kodama-community/kodama&quot;&gt;Kodama&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is admittedly a vibecoded tool for personal use, and I have no intention of maintaining it for others to use. This is simply meant to be a tool for my &lt;strong&gt;personal organization&lt;/strong&gt;. I’m usually not well organized, and a big contributor to this is a lack of organizational systems for myself. When met with the obstacle of cognitive burden twoard planning, note taking, and the like, I am inclined to shy away. I don’t love that this is the case, but I am trying to accept that it is. To the end of being a bit more put together than the day before, I will take any help in that direction (even AI-slopped help). Use at your own risk.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Tensor of Grammars</title>
    <id>https://stevenschaefer.net/grammar-tensor.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/grammar-tensor.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="intrinsically-correct"/>
    <category term="lambekd"/>
    <category term="parsing"/>
    <content type="html">&lt;p&gt;For &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/formal-grammar.html&quot; data-entry=&quot;formal-grammar&quot;&gt;formal grammars&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, their tensor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; represents the concatenation of the languages they describe. A parse for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at a string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; consists of a &lt;em&gt;splitting&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into a prefix &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and suffix &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, along with a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Formally, it is defined as:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This operation is exactly the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, where we view formal grammars as presheaves over the monoid of strings.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Grammar Residuals</title>
    <id>https://stevenschaefer.net/grammar-residual.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/grammar-residual.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="lambekd"/>
    <category term="parsing"/>
    <content type="html">&lt;p&gt;For &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/formal-grammar.html&quot; data-entry=&quot;formal-grammar&quot;&gt;formal grammars&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;residual&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; (sometimes called the lollipop or linear implication) is the right adjoint to the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-tensor.html&quot; data-entry=&quot;grammar-tensor&quot;&gt;grammar tensor&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. It describes strings that, when prefixed by a string matching &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, will match &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Formally, it is defined as:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Π&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Intuitively, a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at a string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a function that takes any prefix string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and produces a parse of the full concatenated string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Grammar Quotients</title>
    <id>https://stevenschaefer.net/grammar-quotients.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/grammar-quotients.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="lambekd"/>
    <category term="parsing"/>
    <content type="html">&lt;p&gt;For &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/formal-grammar.html&quot; data-entry=&quot;formal-grammar&quot;&gt;formal grammars&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;quotient&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the grammar of what is left of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; once an &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has been read off the front:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;A parse of the quotient consists of an &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-parses at prefix &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-parse of the full string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;This operation has a right adjoint:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mroot&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Π&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Intuitively, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mroot&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;/math&gt;&lt;/span&gt; parses &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; if: for all splittings of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into a prefix and suffix, if the prefix matches &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; then the suffix must match &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Together, these form the adjunction:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;⟺&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mroot&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This is an instance of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-quotient.html&quot; data-entry=&quot;day-quotient&quot;&gt;Day quotient&lt;/a&gt; over the discrete monoidal category of strings.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Formal Grammar</title>
    <id>https://stevenschaefer.net/formal-grammar.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/formal-grammar.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="lambekd"/>
    <category term="parsing"/>
    <content type="html">&lt;p&gt;For an alphabet &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mo&gt;∗&lt;/mo&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; be the free monoid of strings over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;em&gt;formal grammar&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a family of types indexed by strings:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mo&gt;∗&lt;/mo&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖳𝗒𝗉𝖾&lt;/mtext&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This definition views formal grammars directly as indexed families of types over strings (which equivalently form presheaves on the discrete category of strings). This view forms the central notion of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/intrinsic-verification-of-parsers.html&quot; data-entry=&quot;intrinsic-verification-of-parsers&quot;&gt;Dependent Lambek Calculus&lt;/a&gt;. For a given string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the type &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; represents the type of all valid parse trees for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; according to the grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. If the grammar cannot parse &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the empty type.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Dependent Tensor of Grammars</title>
    <id>https://stevenschaefer.net/dependent-tensor.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/dependent-tensor.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="intrinsically-correct"/>
    <category term="lambekd"/>
    <category term="parsing"/>
    <content type="html">&lt;p&gt;The tensor of grammars,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;is simply typed, so &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; cannot see what &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; matched.&lt;/p&gt;
&lt;p&gt;Just as we have the generalization from the pair type &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to the dependent pair &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, we can define a &lt;em&gt;dependent tensor&lt;/em&gt; operation. It is a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-like generalization over the ordinary tensor, in which the second grammar depends on a parse tree of the first.&lt;/p&gt;
&lt;p&gt;Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖳𝗋𝖾𝖾&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for the type of parse trees of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, each paired with the string it parses.&lt;/p&gt;
&lt;p&gt;For a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a family of grammars &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;𝖳𝗋𝖾𝖾&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐆𝐫&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;dependent tensor&lt;/em&gt; is:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;𝖣&lt;/mtext&gt;&lt;/msup&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;We may also write it as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a constant family, the dependent tensor reduces to the ordinary tensor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Dependence runs left to right here, which fits left-to-right parsing. The other handedness, in which the first grammar depends on a parse of the second, is also definable.&lt;/p&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;1&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h2 class=&quot;helia-heading&quot;&gt;Relation to Day Convolution&lt;/h2&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;Just as the ordinary tensor is given by &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt;, I think there is a similar dependent Day convolution for which this operation is an instance. My best guess is for any &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; presheaf on a monoidal category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; a functor from the category of elements of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into presheaves on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;,&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;𝖣&lt;/mtext&gt;&lt;/msup&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I’m not positive on this though, and I would hope to also extend this to enrichments that aren’t &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; but I don’t see how that could make sense given that I have quantified over the element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in the coend rather than using the tensor of the enriching category.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;</content>
  </entry>
  <entry>
    <title>The Quotient and Residual Coincidence in Day Convolution</title>
    <id>https://stevenschaefer.net/day-quotient-coincidence.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/day-quotient-coincidence.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;The &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-quotient.html&quot; data-entry=&quot;day-quotient&quot;&gt;Day quotient&lt;/a&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, takes &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be a covariant functor and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be a contravariant one. While the residual &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; takes both to be contravariant.&lt;/p&gt;
&lt;p&gt;This apparent variance mismatch disappears when we restrict to the groupoid core &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝖼𝗈𝗋𝖾&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, where variance is trivialized since &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;For any functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; on the core, we can freely extend it to both a presheaf and a covariant copresheaf on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; by left Kan extension along the respective inclusions &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∈&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∈&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;By substituting these extensions into the definitions of the residual and the quotient, we obtain a general coincidence for any &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This equivalence states that computing the residual against the presheaf extension of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is perfectly isomorphic to taking the quotient by its covariant extension.&lt;/p&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;1&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h2 class=&quot;helia-heading&quot;&gt;The Representable Case&lt;/h2&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;Instantiating the above theorem at a representable functor on the core, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;: the co-Yoneda lemma says that the left Kan extensions compute to the representables on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖯𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗆𝗄𝖢𝗈𝗉𝗌𝗁&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Applying the general coincidence theorem, the left and right adjoints coincide precisely on (opposite-variance) representables:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the discrete monoidal category of strings, this recovers the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-derivative.html&quot; data-entry=&quot;grammar-derivative&quot;&gt;derivative of formal grammars&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/nominal-sets-quotient.html&quot; data-entry=&quot;nominal-sets-quotient&quot;&gt;nominal sets&lt;/a&gt;, I suspect that this construction also describes name abstraction and the freshness quantifier, although I have not check all of the details of the proof.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;</content>
  </entry>
  <entry>
    <title>The Quotient and its Right Adjoint in Day Convolution</title>
    <id>https://stevenschaefer.net/day-quotient.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/day-quotient.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="category-theory"/>
    <category term="lambekd"/>
    <category term="parsing"/>
    <content type="html">&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a small monoidal category. Recall that for presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt; provides a closed monoidal structure:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;which forms an adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;For covariant functors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; and presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, we can define the &lt;em&gt;quotient&lt;/em&gt; and its right adjoint, each of which is a presheaf on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msup&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mroot&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;These form the adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mroot&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Day Convolution</title>
    <id>https://stevenschaefer.net/day-convolution.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/day-convolution.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <category term="category-theory"/>
    <category term="presheaf"/>
    <category term="substructural"/>
    <content type="html">&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a symmetric monoidal closed category that is complete and cocomplete. Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; be a small monoidal &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/category.html&quot; data-entry=&quot;category&quot;&gt;category&lt;/a&gt;. The &lt;em&gt;Day convolution&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the enriched presheaf&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;with unit the representable &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Day convolution makes the enriched presheaf category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; a monoidal category, symmetric when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;day1970construction&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/day1970construction.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt;. It is moreover &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-closed-structure.html&quot; data-entry=&quot;day-closed-structure&quot;&gt;closed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Under the enriched Yoneda embedding the convolution of representables is representable, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, so Day convolution is the cocontinuous extension of the tensor of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h3 class=&quot;helia-heading&quot;&gt;As a Kan Extension&lt;/h3&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;Equivalently, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the left Kan extension of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;↦&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; along &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h3 class=&quot;helia-heading&quot;&gt;In &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, we recover the ordinary Day convolution of presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, where the formula simplifies to:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;</content>
  </entry>
  <entry>
    <title>Proof that Day Convolution is Closed</title>
    <id>https://stevenschaefer.net/day-closed-structure-proof.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/day-closed-structure-proof.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <content type="html">&lt;p&gt;For &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the enriched hom in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is given by the end:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtable class=&quot;multiline-equation aligned&quot;&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mo lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;/mtable&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;helia-qed&quot;&gt;∎&lt;/span&gt;&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Correct-by-Construction Parsing</title>
    <id>https://stevenschaefer.net/correct-by-construction-parsing.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/correct-by-construction-parsing.html"/>
    <published>2026-10-01T00:00:00Z</published>
    <updated>2026-10-01T00:00:00Z</updated>
    <content type="html">&lt;p&gt;Parsers are some of the most important pieces of software that we have. You have likely relied on &lt;em&gt;dozens&lt;/em&gt; of parsers to even read this message. Anytime someone writes a piece of high-level code, it must be &lt;em&gt;parsed&lt;/em&gt; into a representation that is workable for the machine.&lt;/p&gt;
&lt;p&gt;Because parsers are so ubiquituous, the correctness of so many other programs is contingent on a bug-free parser. Despite this fundamental reliance, parsers are often &lt;em&gt;unverified&lt;/em&gt;. Buggy parsers have led to many critical security vulnerabilities. Even in otherwise verified software development, parsing is usually unverified (or the final component to become verified).&lt;/p&gt;
&lt;p&gt;To address this gap, we develop Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, a domain-specific programming language for writing &lt;em&gt;intrinsically correct&lt;/em&gt; parsers. That is, if a parser written in Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; compiles then we guarantee the resulting program is sound with respect to its parsing semantics.&lt;/p&gt;
&lt;p&gt;I first explored this idea in &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/intrinsic-verification-of-parsers.html&quot; data-entry=&quot;intrinsic-verification-of-parsers&quot;&gt;Intrinsic Verification of Parsers and Formal Grammar Theory in Dependent Lambek Calculus&lt;/a&gt;, and it will be the focus of my dissertation.&lt;/p&gt;
&lt;p&gt;Notes and sketches of ongoing work in Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; may be found below and throughout this site.&lt;/p&gt;
&lt;div class=&quot;helia-query helia-collapsible&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-group-summary&quot;&gt;&lt;span class=&quot;helia-group-title&quot;&gt;30 entries&lt;/span&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-group-body&quot;&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;day-quotient&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;day-quotient&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;day-quotient&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 1.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The Quotient and its Right Adjoint in Day Convolution&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/day-quotient.html&quot;&gt;day-quotient&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;day-quotient&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a small monoidal category. Recall that for presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt; provides a closed monoidal structure:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;which forms an adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;For covariant functors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; and presheaves &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, we can define the &lt;em&gt;quotient&lt;/em&gt; and its right adjoint, each of which is a presheaf on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msup&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mroot&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;These form the adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mroot&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;dependent-tensor&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;dependent-tensor&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;dependent-tensor&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 2.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Dependent Tensor of Grammars&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/dependent-tensor.html&quot;&gt;dependent-tensor&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;dependent-tensor&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The tensor of grammars,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;is simply typed, so &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; cannot see what &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; matched.&lt;/p&gt;
&lt;p&gt;Just as we have the generalization from the pair type &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to the dependent pair &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, we can define a &lt;em&gt;dependent tensor&lt;/em&gt; operation. It is a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-like generalization over the ordinary tensor, in which the second grammar depends on a parse tree of the first.&lt;/p&gt;
&lt;p&gt;Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖳𝗋𝖾𝖾&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for the type of parse trees of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, each paired with the string it parses.&lt;/p&gt;
&lt;p&gt;For a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a family of grammars &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;𝖳𝗋𝖾𝖾&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐆𝐫&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;dependent tensor&lt;/em&gt; is:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;𝖣&lt;/mtext&gt;&lt;/msup&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;We may also write it as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a constant family, the dependent tensor reduces to the ordinary tensor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Dependence runs left to right here, which fits left-to-right parsing. The other handedness, in which the first grammar depends on a parse of the second, is also definable.&lt;/p&gt;
&lt;section class=&quot;helia-heading-section&quot; data-level=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-heading-summary&quot;&gt;&lt;h3 class=&quot;helia-heading&quot;&gt;Relation to Day Convolution&lt;/h3&gt;
&lt;/summary&gt;
&lt;div class=&quot;helia-heading-body&quot;&gt;
&lt;p&gt;Just as the ordinary tensor is given by &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt;, I think there is a similar dependent Day convolution for which this operation is an instance. My best guess is for any &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; presheaf on a monoidal category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; a functor from the category of elements of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into presheaves on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;,&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;𝖣&lt;/mtext&gt;&lt;/msup&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;msup&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I’m not positive on this though, and I would hope to also extend this to enrichments that aren’t &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; but I don’t see how that could make sense given that I have quantified over the element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in the coend rather than using the tensor of the enriching category.&lt;/p&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;formal-grammar&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;formal-grammar&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;formal-grammar&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 3.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Formal Grammar&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/formal-grammar.html&quot;&gt;formal-grammar&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;formal-grammar&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For an alphabet &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mo&gt;∗&lt;/mo&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; be the free monoid of strings over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;em&gt;formal grammar&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a family of types indexed by strings:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mo&gt;∗&lt;/mo&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖳𝗒𝗉𝖾&lt;/mtext&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This definition views formal grammars directly as indexed families of types over strings (which equivalently form presheaves on the discrete category of strings). This view forms the central notion of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/intrinsic-verification-of-parsers.html&quot; data-entry=&quot;intrinsic-verification-of-parsers&quot;&gt;Dependent Lambek Calculus&lt;/a&gt;. For a given string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the type &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; represents the type of all valid parse trees for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; according to the grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. If the grammar cannot parse &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the empty type.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;grammar-quotients&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;grammar-quotients&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;grammar-quotients&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 4.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Grammar Quotients&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/grammar-quotients.html&quot;&gt;grammar-quotients&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;grammar-quotients&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/formal-grammar.html&quot; data-entry=&quot;formal-grammar&quot;&gt;formal grammars&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;quotient&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the grammar of what is left of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; once an &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has been read off the front:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;A parse of the quotient consists of an &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-parses at prefix &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-parse of the full string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;This operation has a right adjoint:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mroot&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Π&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Intuitively, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mroot&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;/math&gt;&lt;/span&gt; parses &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; if: for all splittings of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into a prefix and suffix, if the prefix matches &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; then the suffix must match &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Together, these form the adjunction:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;⟺&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mroot&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mroot&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This is an instance of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-quotient.html&quot; data-entry=&quot;day-quotient&quot;&gt;Day quotient&lt;/a&gt; over the discrete monoidal category of strings.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;grammar-residual&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;grammar-residual&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;grammar-residual&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 5.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Grammar Residuals&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/grammar-residual.html&quot;&gt;grammar-residual&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;grammar-residual&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/formal-grammar.html&quot; data-entry=&quot;formal-grammar&quot;&gt;formal grammars&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;em&gt;residual&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; (sometimes called the lollipop or linear implication) is the right adjoint to the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-tensor.html&quot; data-entry=&quot;grammar-tensor&quot;&gt;grammar tensor&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. It describes strings that, when prefixed by a string matching &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, will match &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Formally, it is defined as:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Π&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Intuitively, a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at a string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a function that takes any prefix string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and produces a parse of the full concatenated string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;grammar-tensor&quot; data-date=&quot;20261001&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;grammar-tensor&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;grammar-tensor&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 6.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Tensor of Grammars&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/grammar-tensor.html&quot;&gt;grammar-tensor&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;grammar-tensor&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/formal-grammar.html&quot; data-entry=&quot;formal-grammar&quot;&gt;formal grammars&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, their tensor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; represents the concatenation of the languages they describe. A parse for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at a string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; consists of a &lt;em&gt;splitting&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into a prefix &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and suffix &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, along with a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Formally, it is defined as:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This operation is exactly the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, where we view formal grammars as presheaves over the monoid of strings.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;theory-type&quot; data-date=&quot;20260929&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;theory-type&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;theory-type&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 7.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Types over an Algebraic Theory&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/theory-type.html&quot;&gt;theory-type&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;theory-type&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Fix a finitary algebraic theory &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: sorts &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a signature &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, equations, and a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑉&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of generators. Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; for the free &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-model on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑉&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo stretchy=&quot;false&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑴&lt;/mi&gt;&lt;msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; for its carrier at sort &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;em&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-type&lt;/em&gt; of sort &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a family &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖳𝗒𝗉𝖾&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;For &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-types &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of sort &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; we have the additives, defined pointwise,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;along with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and their indexed versions.&lt;/p&gt;
&lt;p&gt;Each operation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;…&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; gives a multiplicative, defined by &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt;,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;…&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;…&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Π&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑖&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;&amp;lt;&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑖&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mi&gt;𝑖&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Each lifted operation also has closed structure: a residual in each of its arguments. Day algebras &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;robinson_wrigley_2026&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/robinson_wrigley_2026.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt; give a more general convolutional definition.&lt;/p&gt;
&lt;p&gt;When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the theory of monoids and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑉&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an alphabet, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-types are formal grammars. Multiplication gives &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;, the unit gives &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and we recover Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;representable-grammar&quot; data-date=&quot;20260824&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;representable-grammar&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;representable-grammar&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 8.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Representable Grammars&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/representable-grammar.html&quot;&gt;representable-grammar&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;representable-grammar&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For any string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, we can define a representable grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; which matches exactly the string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and nothing else. The parse trees for a representable grammar are proofs that the string is exactly equal to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;≡&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;pldi-2025-talk&quot; data-date=&quot;20250619&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;pldi-2025-talk&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;pldi-2025-talk&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;9&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Intrinsic Verification of Parsers and Formal Grammar Theory in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/pldi-2025-talk.html&quot;&gt;pldi-2025-talk&lt;/a&gt;&lt;span class=&quot;helia-byline&quot;&gt;&lt;span class=&quot;helia-speaker&quot;&gt;&lt;strong&gt;&lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;stevenschaefer&quot;&gt;Steven Schaefer&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;, &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;nathanvarner&quot;&gt;Nathan Varner&lt;/span&gt;, &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;pedrohaamorim&quot;&gt;Pedro H. Azevedo de Amorim&lt;/span&gt;, &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;maxsnew&quot;&gt;Max S. New&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;pldi&quot;&gt;PLDI&lt;/span&gt; · June 19, 2025&lt;/span&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;pldi-2025-talk&quot; data-kind=&quot;talk&quot;&gt;
&lt;div class=&quot;helia-abstract&quot;&gt;
&lt;p&gt;We present &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/intrinsic-verification-of-parsers.html&quot; data-entry=&quot;intrinsic-verification-of-parsers&quot;&gt;Dependent Lambek Calculus&lt;/a&gt;, a domain-specific dependent type theory for verified parsing and formal grammar theory. In Dependent Lambek Calculus, linear types are used as a syntax for formal grammars, and parsers can be written as linear terms. The linear typing restriction provides a form of intrinsic verification that a parser yields only valid parse trees for the input string. We demonstrate the expressivity of this system by showing that the combination of inductive linear types and dependency on non-linear data can be used to encode commonly used grammar formalisms such as regular and context-free grammars as well as traces of various types of automata. Using these encodings, we define parsers for regular expressions using deterministic automata, as well as examples of verified parsers of context-free grammars.&lt;/p&gt;
&lt;p&gt;We present a denotational semantics of our type theory that interprets the types as a mathematical notion of formal grammars. Based on this denotational semantics, we have made a prototype implementation of Dependent Lambek Calculus using a shallow embedding in the Agda proof assistant. All of our examples parsers have been implemented in this prototype implementation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-entry-links&quot;&gt;&lt;span class=&quot;helia-entry-link&quot; data-field=&quot;event&quot;&gt;&lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://pldi25.sigplan.org/&quot;&gt;Event&lt;/a&gt;&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-field=&quot;slides&quot;&gt;&lt;a class=&quot;helia-link&quot; href=&quot;https://stevenschaefer.net/assets/b995fc5939a870afd77ccbabcbb45a637e4318b362b19e6f89f3b24f3d6e5255.pdf&quot;&gt;Slides&lt;/a&gt;&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-field=&quot;video&quot;&gt;&lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://www.youtube.com/watch?v=O1eXYHv2VU8&quot;&gt;Video&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;intrinsic-verification-of-parsers&quot; data-date=&quot;20250600&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;intrinsic-verification-of-parsers&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;intrinsic-verification-of-parsers&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;10&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Intrinsic Verification of Parsers and Formal Grammar Theory in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/intrinsic-verification-of-parsers.html&quot;&gt;intrinsic-verification-of-parsers&lt;/a&gt;&lt;span class=&quot;helia-byline&quot;&gt;&lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;pldi&quot;&gt;PLDI&lt;/span&gt; · 2025&lt;/span&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-reference&quot; data-entry=&quot;intrinsic-verification-of-parsers&quot; data-kind=&quot;reference&quot;&gt;
&lt;div class=&quot;helia-abstract&quot;&gt;
&lt;p&gt;We present Dependent Lambek Calculus (Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;), a domain-specific dependent type theory for verified parsing and formal grammar theory. In Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, linear types are used as a syntax for formal grammars, and parsers can be written as linear terms. The linear typing restriction provides a form of intrinsic verification that a parser yields only valid parse trees for the input string. We demonstrate the expressivity of this system by showing that the combination of inductive linear types and dependency on non-linear data can be used to encode commonly used grammar formalisms such as regular and context-free grammars as well as traces of various types of automata. Using these encodings, we define parsers for regular expressions using deterministic automata, as well as examples of verified parsers of context-free grammars.&lt;/p&gt;
&lt;p&gt;We present a denotational semantics of our type theory that interprets the linear types as functions from strings to sets of abstract parse trees and terms as parse transformers. Based on this denotational semantics, we have made a prototype implementation of Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; using a shallow embedding in the Agda proof assistant. All of our examples parsers have been implemented in this prototype implementation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-entry-links&quot;&gt;&lt;span class=&quot;helia-entry-link&quot; data-field=&quot;pdf&quot;&gt;&lt;a class=&quot;helia-link&quot; href=&quot;https://stevenschaefer.net/assets/4818ca36e1d8417310dcca2d3a4c8e1e89b7bbf6f69fd90ec697fc2de48a6d26.pdf&quot;&gt;PDF&lt;/a&gt;&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-field=&quot;doi&quot;&gt;&lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://doi.org/10.1145/3729281&quot;&gt;DOI&lt;/a&gt;&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-field=&quot;eprint&quot;&gt;&lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://arxiv.org/abs/2504.03995&quot;&gt;arXiv (extended version)&lt;/a&gt;&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-field=&quot;code&quot;&gt;&lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://github.com/maxsnew/grammars-and-semantic-actions&quot;&gt;Source code&lt;/a&gt;&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-field=&quot;pldb&quot;&gt;&lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://pldb.kirancodes.me/p/journals/pacmpl/SchaeferVAN25&quot;&gt;pldb&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;finite-cardinal-grammar&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;finite-cardinal-grammar&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;finite-cardinal-grammar&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 11.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;A Grammar of Finite Cardinals&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/finite-cardinal-grammar.html&quot;&gt;finite-cardinal-grammar&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;finite-cardinal-grammar&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Define a grammar for each finite cardinal &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗌𝗎𝖼&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Then define the grammar of all finite cardinals as&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝖥𝗂𝗇&lt;/mtext&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⨁&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;finite-unambiguity&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;finite-unambiguity&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;finite-unambiguity&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 12.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Finite Unambiguity&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/finite-unambiguity.html&quot;&gt;finite-unambiguity&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;finite-unambiguity&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Define a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be &lt;em&gt;finitely unambiguous&lt;/em&gt; if &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;There is likely a better name for this.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;finite-unambiguity-not-unambiguity&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;finite-unambiguity-not-unambiguity&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;finite-unambiguity-not-unambiguity&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;13&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Finite Unambiguity is Not Equivalent to Unambiguity&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/finite-unambiguity-not-unambiguity.html&quot;&gt;finite-unambiguity-not-unambiguity&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;finite-unambiguity-not-unambiguity&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;For a while I believed finite unambiguity to be equivalent to the other definitions of unambiguity.&lt;/p&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;finite-unambiguity&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 13.1.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Finite Unambiguity&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/finite-unambiguity.html&quot;&gt;finite-unambiguity&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;finite-unambiguity&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Define a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be &lt;em&gt;finitely unambiguous&lt;/em&gt; if &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;There is likely a better name for this.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot; id=&quot;unambiguity-as-subterminality&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 13.2.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Unambiguity as Subterminality&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/unambiguity-as-subterminality.html&quot;&gt;unambiguity-as-subterminality&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;unambiguous&lt;/em&gt; if the unique map into the terminal object is a monomorphism. That is, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a subobject of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;unambiguity-as-unique-map&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot; id=&quot;unambiguity-as-unique-map&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 13.3.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Unambiguity as Unique Map into Codomain&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/unambiguity-as-unique-map.html&quot;&gt;unambiguity-as-unique-map&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;unambiguity-as-unique-map&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;unambiguous&lt;/em&gt; if for all grammars &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and maps &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑒&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑒&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; we have &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑒&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑒&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;In a category with terminal objects, this is equivalent to unambiguity defined via subterminality.&lt;/p&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-depth=&quot;3&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h4 class=&quot;helia-transclusion-title&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 13.3.1.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Unambiguity as Subterminality&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/unambiguity-as-subterminality.html&quot;&gt;unambiguity-as-subterminality&lt;/a&gt;&lt;/h4&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;unambiguous&lt;/em&gt; if the unique map into the terminal object is a monomorphism. That is, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a subobject of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;p&gt;We may use an analogy from the category of sets, however I had missed the infinite case when translating this idea to grammars.&lt;/p&gt;
&lt;p&gt;It is true that if a grammar is unambiguous, then it is finitely unambiguous. However, the converse does not hold unless the grammar has finitely many parse trees for each string. This finiteness condition is a semantic one. If this proof of unambiguity were to be internalized, then it could maybe be captured through the lens of some &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/finite-cardinal-grammar.html&quot; data-entry=&quot;finite-cardinal-grammar&quot;&gt;grammar of finite cardinals&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;⨁&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is finitely unambiguous but not unambiguous. The isomorphism between &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; amounts to building a bijection between &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, which is straightforward.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;finiteness-preserving-connectives&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;finiteness-preserving-connectives&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;finiteness-preserving-connectives&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;14&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;What Connectives Preserve Finiteness?&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/finiteness-preserving-connectives.html&quot;&gt;finiteness-preserving-connectives&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;finiteness-preserving-connectives&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;In order to bridge &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/finite-unambiguity-not-unambiguity.html&quot; data-entry=&quot;finite-unambiguity-not-unambiguity&quot;&gt;the gap between finite unambiguity and unambiguity&lt;/a&gt;, we can try to restrict to grammars that have finitely many parse trees. We’d expect this to address the concern semantically, as that fixes the problem when the parses are interpreted in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;We can define &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/internally-finite-grammar.html&quot; data-entry=&quot;internally-finite-grammar&quot;&gt;when a grammar is finite&lt;/a&gt;, and then try to prove that finiteness is preserved on some sane operations on grammars. For instance, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo&gt;&amp;amp;&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊕&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; each preserve finiteness. I haven’t proven this myself (which would be a useful exercise), but the following is substantiated in any topos with a natural numbers object &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/johnstone-2002.html&quot; data-entry=&quot;johnstone-2002&quot;&gt;[johnstone-2002]&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;finite-cardinal-arithmetic-topos&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot; id=&quot;finite-cardinal-arithmetic-topos&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;14.1&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Finite Cardinal Arithmetic in a Topos&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/finite-cardinal-arithmetic-topos.html&quot;&gt;finite-cardinal-arithmetic-topos&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;finite-cardinal-arithmetic-topos&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;In a topos with a natural numbers object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑁&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, you can define finite cardinals as objects that arise as the pullback along a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑁&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of the generic finite cardinal. Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for the cardinal corresponding to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The above characterization is a little obtuse and does warrant some more explanation. One way to make it more concrete is that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, and that finite cardinals warrant a nice induction principle. If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a property expressible in the internal language such that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfies &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and that whenever &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfies &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfies &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;; then every finite cardinal satisfies &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. That is, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; forms a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;-closed subobject of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑁&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and thus &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is all of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑁&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;My working mental model is in a presheaf topos, where the natural numbers object can be defined explicitly as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;constant-presheaf&quot; data-depth=&quot;3&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h4 class=&quot;helia-transclusion-title&quot; id=&quot;constant-presheaf&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 14.1.1.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Constant Presheaf&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/constant-presheaf.html&quot;&gt;constant-presheaf&lt;/a&gt;&lt;/h4&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;constant-presheaf&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;em&gt;constant&lt;/em&gt; presheaf of a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; such that&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;I often call this &lt;em&gt;the discrete presheaf for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;&lt;/em&gt;, but I don’t know if that’s standard.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;p&gt;The finite cardinals with respect to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; can be characterized then as,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗌𝗎𝖼&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;These obey nice algebraic properties.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;p&gt;The case of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; is more problematic. Semantically, for all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;String&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; we may bound the size of the set of parse trees&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo stretchy=&quot;false&quot;&gt;|&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;|&lt;/mo&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mtext&gt;++&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;msub&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;|&lt;/mo&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;|&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Precisely knowing this bound isn’t too important, but certainly it exists. We could capture this behavior by just adding an axiom that if &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are each finite, then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is finite. Although, I’d rather not add an axiom.&lt;/p&gt;
&lt;p&gt;We could directly try to prove that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; preserves finiteness. The statement would follow from showing that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; preserves monomorphisms. That is, if &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;↪&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;↪&lt;/mo&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, it suffices to show that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a monomorphism. This would imply finiteness, because you may then apply this for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗂𝗇&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;. However, you would also need to show that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗂𝗇&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;𝖥𝗂𝗇&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is finite, which isn’t immediately clear.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;internally-finite-grammar&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;internally-finite-grammar&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;internally-finite-grammar&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;15&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Internal Finiteness&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/internally-finite-grammar.html&quot;&gt;internally-finite-grammar&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;internally-finite-grammar&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;Define a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be &lt;em&gt;finite&lt;/em&gt; (or perhaps &lt;em&gt;subfinite&lt;/em&gt;) if it is a subobject of grammar of finite cardinals.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;↪&lt;/mo&gt;&lt;mtext&gt;𝖥𝗂𝗇&lt;/mtext&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖥𝗂𝗇&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is defined as follows.&lt;/p&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;finite-cardinal-grammar&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 15.1.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;A Grammar of Finite Cardinals&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/finite-cardinal-grammar.html&quot;&gt;finite-cardinal-grammar&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;finite-cardinal-grammar&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Define a grammar for each finite cardinal &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗌𝗎𝖼&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Then define the grammar of all finite cardinals as&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝖥𝗂𝗇&lt;/mtext&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⨁&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;star-continuity-semantic-property&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;star-continuity-semantic-property&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;star-continuity-semantic-property&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;16&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Star Continuity is a Semantic Property&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/star-continuity-semantic-property.html&quot;&gt;star-continuity-semantic-property&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;star-continuity-semantic-property&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;&lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/star-continuity-in-dependent-lambek.html&quot; data-entry=&quot;star-continuity-in-dependent-lambek&quot;&gt;Star continuity in Dependent Lambek Calculus&lt;/a&gt; can often be a convenient proof technique, but it’s important to remember that this shouldn’t be the first line of defense.&lt;/p&gt;
&lt;p&gt;Star continuity holds in the Agda model, but does it hold in the syntactic model? I believe that it does because of the presence of the indexed coproducts. So perhaps it isn’t so sinister after all. It is worth noting that much of the reasoning performed by inducting on the length of a Kleene star isn’t very elegant. If a proof necessitates star continuity, then it doesn’t seem to be aided greatly by the type system.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 17.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Unambiguity as Subterminality&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/unambiguity-as-subterminality.html&quot;&gt;unambiguity-as-subterminality&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;unambiguous&lt;/em&gt; if the unique map into the terminal object is a monomorphism. That is, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a subobject of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;unambiguity-as-unique-map&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;unambiguity-as-unique-map&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 18.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Unambiguity as Unique Map into Codomain&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/unambiguity-as-unique-map.html&quot;&gt;unambiguity-as-unique-map&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;unambiguity-as-unique-map&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;unambiguous&lt;/em&gt; if for all grammars &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and maps &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑒&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑒&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; we have &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑒&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑒&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;In a category with terminal objects, this is equivalent to unambiguity defined via subterminality.&lt;/p&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-depth=&quot;2&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h3 class=&quot;helia-transclusion-title&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 18.1.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Unambiguity as Subterminality&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/unambiguity-as-subterminality.html&quot;&gt;unambiguity-as-subterminality&lt;/a&gt;&lt;/h3&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;unambiguity-as-subterminality&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;A grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;unambiguous&lt;/em&gt; if the unique map into the terminal object is a monomorphism. That is, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a subobject of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;unambiguity-via-diagonal&quot; data-date=&quot;20250212&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;unambiguity-via-diagonal&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;unambiguity-via-diagonal&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 19.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Unambiguity via the Diagonal Being an Isomorphism&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/unambiguity-via-diagonal.html&quot;&gt;unambiguity-via-diagonal&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;unambiguity-via-diagonal&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;&lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/finite-unambiguity.html&quot; data-entry=&quot;finite-unambiguity&quot;&gt;Finite unambiguity&lt;/a&gt; does not serve as an adequate definition of unambiguity that is equivalent to &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/unambiguity-as-subterminality.html&quot; data-entry=&quot;unambiguity-as-subterminality&quot;&gt;unambiguity as subterminality&lt;/a&gt; and &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/unambiguity-as-unique-map.html&quot; data-entry=&quot;unambiguity-as-unique-map&quot;&gt;unambiguity as a unique map&lt;/a&gt;. However, the definition attempted via finite unambiguity can be refined to something that is equivalent to these.&lt;/p&gt;
&lt;p&gt;A grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is unambiguous if &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Δ&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an isomorphism. Equivalently, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is unambiguous if &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜋&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are equal.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;subobject-classifier-for-grammars&quot; data-date=&quot;20250206&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;subobject-classifier-for-grammars&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;subobject-classifier-for-grammars&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;20&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Subobject Classifier in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/subobject-classifier-for-grammars.html&quot;&gt;subobject-classifier-for-grammars&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;subobject-classifier-for-grammars&quot; data-kind=&quot;note&quot;&gt;
&lt;p&gt;Previously in Agda we had constructed &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/equalizer.html&quot; data-entry=&quot;equalizer&quot;&gt;equalizers&lt;/a&gt; in Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; using &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/equalizers-in-type-theory.html&quot; data-entry=&quot;equalizers-in-type-theory&quot;&gt;sigma types&lt;/a&gt;. Further, equalizers form &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/subobject.html&quot; data-entry=&quot;subobject&quot;&gt;subobjects&lt;/a&gt;, which may be comprehended as maps from a type into a subobject classifier.&lt;/p&gt;
&lt;p&gt;I believe in our formalization we want to generalize this idea to a broader class of subobjects, maybe even all of them. That is, we could define a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/subobject-classifier.html&quot; data-entry=&quot;subobject-classifier&quot;&gt;subobject classifying grammar&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Then we can internally define any predicate on a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; via a term &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;That is, forall &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;String&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; we have &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟦&lt;/mo&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Ω&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟧&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mtext&gt;𝗁𝖯𝗋𝗈𝗉&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, and&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟦&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗌𝗎𝖻𝗀𝗋𝖺𝗆𝗆𝖺𝗋&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟧&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟦&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟧&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟦&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟧&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;The code for this is nearly identical to the definition of equalizers as sigma types, and I have even built a translation of the equalizers code that is defined with this as its foundation. I have not yet tested if either implementation is preferable.&lt;/p&gt;
&lt;p&gt;It isn’t yet clear how to best expose this sort of construct syntactically. I suppose you could assume some subobject classifying grammar, but then I don’t know if you can then reap the benefits of the propositions internally. That is, how do you reflect the proposition that two terms are equal in the internal language of propositions rather than the external one?&lt;/p&gt;
&lt;p&gt;If nothing else, this code gives me a reusable interface to axiomatize smaller, sandboxed ways in which I’d like to internalize certain types of propositions (such as “two terms are equal” or “does not begin with the character &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;”).&lt;/p&gt;
&lt;p&gt;The hope for this code is that it lets me inductively prove the follow last soundness of Kleene star.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;kleene-star&quot; data-date=&quot;20250203&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;kleene-star&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;kleene-star&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 21.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Kleene Star in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/kleene-star.html&quot;&gt;kleene-star&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;kleene-star&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the Kleene star &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;∗&lt;/mo&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is defined as a least-fixed point,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;mi&gt;𝜖&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;star-continuity-in-dependent-lambek&quot; data-date=&quot;20250203&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;star-continuity-in-dependent-lambek&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;star-continuity-in-dependent-lambek&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 22.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Star Continuity in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/star-continuity-in-dependent-lambek.html&quot;&gt;star-continuity-in-dependent-lambek&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;star-continuity-in-dependent-lambek&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/kleene-star.html&quot; data-entry=&quot;kleene-star&quot;&gt;Kleene star&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;∗&lt;/mo&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is isomorphic to an indexed coproduct.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msup&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;∗&lt;/mo&gt;&lt;/msup&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;⨁&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℕ&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;msup&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;That is, we may view the parses of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;∗&lt;/mo&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; like a linear list comprising parses of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; concatenated together. Further, for each of these lists we may know the precise length.&lt;/p&gt;
&lt;p&gt;When viewing Dependent Lambek Calculus as a model of Kleene algebra, this is precisely the statement that &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/star-continuity.html&quot; data-entry=&quot;star-continuity&quot;&gt;star continuity&lt;/a&gt; holds.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;first-set-in-dependent-lambek&quot; data-date=&quot;20250124&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;first-set-in-dependent-lambek&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;first-set-in-dependent-lambek&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 23.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;First Sets in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/first-set-in-dependent-lambek.html&quot;&gt;first-set-in-dependent-lambek&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;first-set-in-dependent-lambek&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/first-set.html&quot; data-entry=&quot;first-set&quot;&gt;first set&lt;/a&gt; of a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; may be captured in Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; via the following proposition:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;∉&lt;/mo&gt;&lt;mtext&gt;𝖥𝗂𝗋𝗌𝗍&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Or perhaps with ones of the &lt;em&gt;grammars&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;¬&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;¬&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;followlast-set-in-dependent-lambek&quot; data-date=&quot;20250124&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;followlast-set-in-dependent-lambek&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;followlast-set-in-dependent-lambek&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 24.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;FollowLast Sets in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/followlast-set-in-dependent-lambek.html&quot;&gt;followlast-set-in-dependent-lambek&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;followlast-set-in-dependent-lambek&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/followlast-set.html&quot; data-entry=&quot;followlast-set&quot;&gt;followlast set&lt;/a&gt; of a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; may be captured in Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; via the following proposition:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;∉&lt;/mo&gt;&lt;mtext&gt;𝖥𝖫𝖺𝗌𝗍&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Or perhaps with ones of the &lt;em&gt;grammars&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;¬&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mi&gt;'&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;¬&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;nullability-in-dependent-lambek&quot; data-date=&quot;20250124&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;nullability-in-dependent-lambek&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;nullability-in-dependent-lambek&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 25.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Nullability in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/nullability-in-dependent-lambek.html&quot;&gt;nullability-in-dependent-lambek&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;nullability-in-dependent-lambek&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;The &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/nullable-grammar.html&quot; data-entry=&quot;nullable-grammar&quot;&gt;nullability&lt;/a&gt; (&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖭𝗎𝗅𝗅&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋅&lt;/mo&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;) of a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; may be captured in Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; via the following proposition:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo&gt;¬&lt;/mo&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mtext&gt;𝖭𝗎𝗅𝗅&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≔&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝜖&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Or perhaps with one of the &lt;em&gt;grammars&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;¬&lt;/mo&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;¬&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;mwpls-2024-talk&quot; data-date=&quot;20241122&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;mwpls-2024-talk&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;mwpls-2024-talk&quot;&gt;&lt;span class=&quot;helia-number&quot;&gt;26&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Intrinsic Verification of Parsers and Formal Grammar Theory in Dependent Lambek Calculus&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/mwpls-2024-talk.html&quot;&gt;mwpls-2024-talk&lt;/a&gt;&lt;span class=&quot;helia-byline&quot;&gt;&lt;span class=&quot;helia-speaker&quot;&gt;&lt;strong&gt;&lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;stevenschaefer&quot;&gt;Steven Schaefer&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;, &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;nathanvarner&quot;&gt;Nathan Varner&lt;/span&gt;, &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;pedrohaamorim&quot;&gt;Pedro H. Azevedo de Amorim&lt;/span&gt;, &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;maxsnew&quot;&gt;Max S. New&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-entry=&quot;mwpls&quot;&gt;MWPLS&lt;/span&gt; · November 22, 2024&lt;/span&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-entry&quot; data-entry=&quot;mwpls-2024-talk&quot; data-kind=&quot;talk&quot;&gt;
&lt;div class=&quot;helia-abstract&quot;&gt;
&lt;p&gt;We present &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/intrinsic-verification-of-parsers.html&quot; data-entry=&quot;intrinsic-verification-of-parsers&quot;&gt;Dependent Lambek Calculus&lt;/a&gt;, a domain-specific dependent type theory for verified parsing and formal grammar theory. In Dependent Lambek Calculus, linear types are used as a syntax for formal grammars, and parsers can be written as linear terms. The linear typing restriction provides a form of intrinsic verification that a parser yields only valid parse trees for the input string. We demonstrate the expressivity of this system by showing that the combination of inductive linear types and dependency on non-linear data can be used to encode commonly used grammar formalisms such as regular and context-free grammars as well as traces of various types of automata. Using these encodings, we define parsers for regular expressions using deterministic automata, as well as examples of verified parsers of context-free grammars.&lt;/p&gt;
&lt;p&gt;We present a denotational semantics of our type theory that interprets the types as a mathematical notion of formal grammars. Based on this denotational semantics, we have made a prototype implementation of Dependent Lambek Calculus using a shallow embedding in the Agda proof assistant. All of our examples parsers have been implemented in this prototype implementation.&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-entry-links&quot;&gt;&lt;span class=&quot;helia-entry-link&quot; data-field=&quot;event&quot;&gt;&lt;a class=&quot;helia-link helia-external&quot; href=&quot;https://pl.cs.uchicago.edu/PLSummit/2024/&quot;&gt;Event&lt;/a&gt;&lt;/span&gt; · &lt;span class=&quot;helia-entry-link&quot; data-field=&quot;slides&quot;&gt;&lt;a class=&quot;helia-link&quot; href=&quot;https://stevenschaefer.net/assets/ad0b480deea6694195d260b153d14e8dc116aff79d20fdfd26cacb3b6886907e.pdf&quot;&gt;Slides&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;grammar-derivative&quot; data-date=&quot;0&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;grammar-derivative&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;grammar-derivative&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 27.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;The Derivative of a Grammar&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/grammar-derivative.html&quot;&gt;grammar-derivative&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;grammar-derivative&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;When a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-quotients.html&quot; data-entry=&quot;grammar-quotients&quot;&gt;grammar quotient&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is taken with respect to a representable grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; (matching exactly the string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;), it coincides with the residual &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, as established by the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-quotient-coincidence.html&quot; data-entry=&quot;day-quotient-coincidence&quot;&gt;Quotient and Residual Coincidence&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This special case is known as the Brzozowski &lt;em&gt;derivative&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; by the string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, often written as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜕&lt;/mi&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. We have the following coincidence:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;·&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;grammar-later&quot; data-date=&quot;0&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;grammar-later&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;grammar-later&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Definition 28.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Later on Grammars&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/grammar-later.html&quot;&gt;grammar-later&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;grammar-later&quot; data-kind=&quot;definition&quot; data-label=&quot;Definition&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;⊏&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a proper suffix of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, that is, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mtext&gt;++&lt;/mtext&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;≠&lt;/mo&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The &lt;em&gt;later&lt;/em&gt; of a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∏&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊏&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;A parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over every proper suffix of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. In particular &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a singleton.&lt;/p&gt;
&lt;p&gt;This is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-family.html&quot; data-entry=&quot;later-family&quot;&gt;later on families&lt;/a&gt; for strings under the proper-suffix order. That order is well-founded because it strictly decreases length, so it is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/well-founded-poset-as-thin.html&quot; data-entry=&quot;well-founded-poset-as-thin&quot;&gt;thin direct category&lt;/a&gt;. There is at most one map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, so the product over maps from the strict past has one factor per proper suffix. Guarded recursion is modelled by presheaves on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the topos of trees, and more generally by sheaves over a well-founded base &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;birkedalFirstStepsSGDT2012&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/birkedalFirstStepsSGDT2012.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt;. Here the later acts on families, which is what grammars are, and there is no clock.&lt;/p&gt;
&lt;p&gt;Later is the right adjoint of the proper-suffix derivative. Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖭𝖤𝖲&lt;/mtext&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⨁&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≠&lt;/mo&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; be the grammar of non-empty strings. Then the derivative &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝜕&lt;/mi&gt;&lt;mtext&gt;𝖭𝖤𝖲&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≠&lt;/mo&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mtext&gt;++&lt;/mtext&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; has the right adjoint&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mroot&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mtext&gt;𝖭𝖤𝖲&lt;/mtext&gt;&lt;/mroot&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∏&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mtext&gt;++&lt;/mtext&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mtext&gt;𝖭𝖤𝖲&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;so &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜕&lt;/mi&gt;&lt;mtext&gt;𝖭𝖤𝖲&lt;/mtext&gt;&lt;/msub&gt;&lt;mo rspace=&quot;0em&quot;&gt;−&lt;/mo&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;. Splitting &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖭𝖤𝖲&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; into its summands gives the form of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; that the calculus can define:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0.16666666666666666em&quot; largeop=&quot;true&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≠&lt;/mo&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mroot&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/mroot&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;mroot&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/mroot&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot; stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;The component at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; says: if the string begins with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, then the rest parses as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The restriction to non-empty &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is what makes this a later. At &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; the component is &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mroot&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/mroot&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Including it would give a projection &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-lob.html&quot; data-entry=&quot;grammar-lob&quot;&gt;Löb&lt;/a&gt; would then prove every grammar. For the same reason the later is a &lt;em&gt;product&lt;/em&gt; over suffixes. A sum such as &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⨁&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is empty at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; it is &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The identity step &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; would then give Löb a proof of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;In the Agda this is &lt;code class=&quot;helia-raw-inline&quot;&gt;▷&lt;/code&gt; in &lt;code class=&quot;helia-raw-inline&quot;&gt;Grammar/Later/Base.agda&lt;/code&gt;, which is defined as the indexed conjunction of &lt;code class=&quot;helia-raw-inline&quot;&gt;√l-string&lt;/code&gt;. The mirror image &lt;code class=&quot;helia-raw-inline&quot;&gt;▷r&lt;/code&gt;, over proper prefixes, is defined in the same way. See also the bilateral later and the later along an arbitrary well-founded order.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;grammar-lob&quot; data-date=&quot;0&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;grammar-lob&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;grammar-lob&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Theorem 29.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Löb Induction for Grammars&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/grammar-lob.html&quot;&gt;grammar-lob&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;grammar-lob&quot; data-kind=&quot;theorem&quot; data-label=&quot;Theorem&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For every grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and every term &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; is the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-later.html&quot; data-entry=&quot;grammar-later&quot;&gt;later on grammars&lt;/a&gt;, there is a unique global parse &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Here &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; restricts a global parse &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to every proper suffix.&lt;/p&gt;
&lt;p&gt;The proof is recursion on the length of the string. At &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the parses already built at the proper suffixes of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; form an element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; turns it into a parse at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Uniqueness is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lob-family.html&quot; data-entry=&quot;lob-family&quot;&gt;Löb for families&lt;/a&gt; over the proper-suffix order. In the Agda, &lt;code class=&quot;helia-raw-inline&quot;&gt;lob&lt;/code&gt; in &lt;code class=&quot;helia-raw-inline&quot;&gt;Grammar/Later/Base.agda&lt;/code&gt; is this recursion, done by well-founded induction on length.&lt;/p&gt;
&lt;p&gt;To prove an entailment &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; this way, apply Löb to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot; stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The hypothesis &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot; stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐶&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the induction hypothesis at every proper suffix. It becomes usable once a non-nullable grammar has been consumed. If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, then&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;because a parse of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; splits &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mtext&gt;++&lt;/mtext&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; non-empty, so &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;⊏&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. This is &lt;code class=&quot;helia-raw-inline&quot;&gt;▷-app-NE&lt;/code&gt; in &lt;code class=&quot;helia-raw-inline&quot;&gt;Grammar/Later/Properties.agda&lt;/code&gt;. Induction on a Kleene star is the standard use.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;div class=&quot;helia-query-item&quot; data-entry=&quot;grammar-next-presheaf&quot; data-date=&quot;0&quot;&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;grammar-next-presheaf&quot; data-depth=&quot;1&quot;&gt;
&lt;details&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;grammar-next-presheaf&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Theorem 30.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Next on Grammars Is Presheaf Structure&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/grammar-next-presheaf.html&quot;&gt;grammar-next-presheaf&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;grammar-next-presheaf&quot; data-kind=&quot;theorem&quot; data-label=&quot;Theorem&quot; data-numbered=&quot;true&quot;&gt;
&lt;p&gt;For presheaves, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; restricts along the strict past, as in &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-presheaf.html&quot; data-entry=&quot;later-presheaf&quot;&gt;later on presheaves&lt;/a&gt;. A grammar is only a family over strings, so a map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-later.html&quot; data-entry=&quot;grammar-later&quot;&gt;later on grammars&lt;/a&gt; is extra data. It sends a parse over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to parses over every proper suffix of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;□&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, so that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;□&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∏&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊑&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. This is the comonad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; for the suffix order, and presheaves are &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/presheaves-monadic-comonadic-over-families.html&quot; data-entry=&quot;presheaves-monadic-comonadic-over-families&quot;&gt;comonadic over families&lt;/a&gt;. The counit law forces the first component of a coalgebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;□&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to be the identity. Hence:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a presheaf on strings under the suffix order is the same as a grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with a map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; that satisfies coassociativity. Restricting to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and then to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;⊏&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; must agree with restricting to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; directly;&lt;/li&gt;
&lt;li&gt;for a proposition-valued grammar (a language), coassociativity is automatic, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; exists exactly when the language is closed under suffixes. For example, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has one, but &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; does not, since &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is empty.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/grammar-lob.html&quot; data-entry=&quot;grammar-lob&quot;&gt;Löb&lt;/a&gt; does not need &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The fixed-point equation only restricts a &lt;em&gt;global&lt;/em&gt; parse &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo&gt;⊢&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and a global parse can always be restricted. In the Agda, the grammar-level &lt;code class=&quot;helia-raw-inline&quot;&gt;IsCoalgebra&lt;/code&gt; record, with only the field &lt;code class=&quot;helia-raw-inline&quot;&gt;next&lt;/code&gt;, is in &lt;code class=&quot;helia-raw-inline&quot;&gt;Grammar/Later/Coalgebra.agda&lt;/code&gt; on the &lt;code class=&quot;helia-raw-inline&quot;&gt;guarded&lt;/code&gt; branch.&lt;/p&gt;
&lt;p&gt;On presheaves the strict downset of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mtext&gt;++&lt;/mtext&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is represented by &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, because every proper suffix of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mtext&gt;++&lt;/mtext&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a suffix of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. So &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/predecessors-simplify-later.html&quot; data-entry=&quot;predecessors-simplify-later&quot;&gt;predecessors simplify later&lt;/a&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mtext&gt;++&lt;/mtext&gt;&lt;mspace width=&quot;0.2222222222222222em&quot;/&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑡&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. On grammars there is no such simplification, since the factors at different suffixes are unrelated.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Day Convolution is Closed</title>
    <id>https://stevenschaefer.net/day-closed-structure.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/day-closed-structure.html"/>
    <published>2026-09-30T00:00:00Z</published>
    <updated>2026-09-30T00:00:00Z</updated>
    <category term="adjunction"/>
    <category term="category-theory"/>
    <category term="presheaf"/>
    <category term="substructural"/>
    <content type="html">&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a symmetric monoidal closed category that is complete and cocomplete. Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; be a small monoidal &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched category and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-enriched presheaves on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Define&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Then, for &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊣&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;section class=&quot;helia-transclusion&quot; data-entry=&quot;day-closed-structure-proof&quot; data-depth=&quot;1&quot;&gt;
&lt;details open&gt;
&lt;summary class=&quot;helia-transclusion-summary&quot;&gt;&lt;h2 class=&quot;helia-transclusion-title&quot; id=&quot;day-closed-structure-proof&quot;&gt;&lt;span class=&quot;helia-env-label&quot;&gt;Proof.&lt;/span&gt; &lt;span class=&quot;helia-title&quot;&gt;Proof that Day Convolution is Closed&lt;/span&gt;&amp;nbsp;&lt;a class=&quot;helia-slug&quot; href=&quot;https://stevenschaefer.net/day-closed-structure-proof.html&quot;&gt;day-closed-structure-proof&lt;/a&gt;&lt;/h2&gt;&lt;/summary&gt;
&lt;div class=&quot;helia-transclusion-body&quot;&gt;
&lt;div class=&quot;helia-env&quot; data-entry=&quot;day-closed-structure-proof&quot; data-kind=&quot;proof&quot; data-label=&quot;Proof&quot; data-numbered=&quot;false&quot;&gt;
&lt;p&gt;For &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the enriched hom in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is given by the end:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtable class=&quot;multiline-equation aligned&quot;&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mo lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;mtr&gt;&lt;mtd&gt;&lt;/mtd&gt;&lt;mtd&gt;&lt;mo form=&quot;infix&quot;&gt;≅&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/msub&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/mtd&gt;&lt;/mtr&gt;&lt;/mtable&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;&lt;span class=&quot;helia-qed&quot;&gt;∎&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;/section&gt;
&lt;p&gt;Symmetrically, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⟜&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∫&lt;/mo&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊸&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝑣&lt;/mi&gt;&lt;/mrow&gt;&lt;mo&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mtext&gt;Day&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⟜&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, so the enriched presheaf category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒱︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is biclosed &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;day1970construction&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/day1970construction.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Total Bicategory</title>
    <id>https://stevenschaefer.net/total-bicategory.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/total-bicategory.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="bicategory"/>
    <category term="category-theory"/>
    <category term="displayed-category-theory"/>
    <content type="html">&lt;p&gt;The &lt;em&gt;total bicategory&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;∫ overline(cal(K))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 16.476666667 12.275&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;1.648em&quot; height=&quot;1.228em&quot; style=&quot;vertical-align: -0.306em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.215)&quot;&gt;&lt;use xlink:href=&quot;#heliaf2da2700-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.316666667 9.22)&quot;&gt;&lt;use xlink:href=&quot;#heliaf2da2700-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(8.316666667 0.72)&quot; d=&quot;M 0 0h 8.16&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaf2da2700-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.97 8.05c -0.76 0 -1.27 -0.58 -1.53 -1.75c -0.04 -0.17 -0.09 -0.52 -0.16 -1.04l -0.13 -1.01c -0.14 -1.12 -0.23 -1.95 -0.27 -2.5l -0.19 -2.47c -0.07 -0.97 -0.23 -2.04 -1.01 -2.04c -0.21 0 -0.39 0.05 -0.54 0.15c 0.21 0.06 0.32 0.2 0.32 0.42c 0 0.27 -0.18 0.46 -0.45 0.46c -0.3 0 -0.45 -0.16 -0.45 -0.47c 0 -0.53 0.55 -0.86 1.12 -0.86c 0.81 0 1.37 0.6 1.67 1.79c 0.21 0.84 0.4 2.34 0.56 4.51l 0.19 2.47c 0.04 0.57 0.11 1.02 0.2 1.34c 0.13 0.42 0.22 0.7 0.68 0.7c 0.21 0 0.39 -0.05 0.53 -0.15c -0.21 -0.06 -0.32 -0.2 -0.32 -0.42c 0 -0.27 0.18 -0.46 0.45 -0.46c 0.3 0 0.45 0.16 0.45 0.47c 0 0.53 -0.55 0.86 -1.12 0.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaf2da2700-g56113480BA9BB5E9D616AC445DCB5941&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7 5.87c 0.01 0 0.53 0.04 0.53 0.54c 0 0.35 -0.2 0.62 -0.57 0.65c -0.06 0 -0.1 -0.01 -0.14 -0.01c -0.93 -0.1 -2.81 -1.23 -3.73 -2.14c -0.25 -0.25 -0.38 -0.42 -0.44 -0.56c -0.05 -0.11 -0.05 -0.18 -0.05 -0.3c 0 -1.01 1.45 -4.27 2.53 -4.27c 1.43 0 2.34 1.04 2.34 1.52c 0 0.11 -0.1 0.12 -0.16 0.12c -0.09 0 -0.45 -0.1 -0.51 -0.37c -0.14 -0.46 -0.62 -0.77 -1.23 -0.77c -0.18 0 -0.29 0.07 -0.45 0.2c -0.83 0.71 -1.85 2.96 -1.85 3.79c 0 0.05 0 0.08 0.01 0.11c 0.18 0.55 2.58 2.17 3.3 2.17c 0.17 0 0.28 -0.16 0.28 -0.37c 0 -0.07 -0.02 -0.13 -0.02 -0.18c 0 -0.09 0.04 -0.13 0.16 -0.13Z m -4.19 0.19c 0.03 0.3 0.07 0.86 0.07 0.9c 0 0.06 -0.06 0.1 -0.14 0.1c -0.18 0 -0.91 -0.39 -1.16 -0.53c -0.16 -0.09 -0.34 -0.23 -0.34 -0.36c 0 -0.08 0.07 -0.11 0.13 -0.11c 0.16 0 0.38 0.13 0.53 0.21l 0.04 0.01c -0.01 -0.13 -0.03 -0.44 -0.06 -0.61c -0.2 -1.43 -0.6 -2.87 -0.94 -3.95c -0.18 -0.54 -0.34 -0.99 -0.46 -1.31c 0 -0.02 -0.19 -0.51 -0.19 -0.53c 0 -0.08 0.06 -0.1 0.13 -0.1c 0.2 0 0.6 0.2 0.75 0.42c 0.1 0.14 1.4 3.54 1.64 5.86Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; of a displayed bicategory &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;overline(cal(K))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 8.16 9.44&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;0.816em&quot; height=&quot;0.944em&quot; style=&quot;vertical-align: -0.022em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.22)&quot;&gt;&lt;use xlink:href=&quot;#heliaca1bb342-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(0 0.72)&quot; d=&quot;M 0 0h 8.16&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaca1bb342-g56113480BA9BB5E9D616AC445DCB5941&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7 5.87c 0.01 0 0.53 0.04 0.53 0.54c 0 0.35 -0.2 0.62 -0.57 0.65c -0.06 0 -0.1 -0.01 -0.14 -0.01c -0.93 -0.1 -2.81 -1.23 -3.73 -2.14c -0.25 -0.25 -0.38 -0.42 -0.44 -0.56c -0.05 -0.11 -0.05 -0.18 -0.05 -0.3c 0 -1.01 1.45 -4.27 2.53 -4.27c 1.43 0 2.34 1.04 2.34 1.52c 0 0.11 -0.1 0.12 -0.16 0.12c -0.09 0 -0.45 -0.1 -0.51 -0.37c -0.14 -0.46 -0.62 -0.77 -1.23 -0.77c -0.18 0 -0.29 0.07 -0.45 0.2c -0.83 0.71 -1.85 2.96 -1.85 3.79c 0 0.05 0 0.08 0.01 0.11c 0.18 0.55 2.58 2.17 3.3 2.17c 0.17 0 0.28 -0.16 0.28 -0.37c 0 -0.07 -0.02 -0.13 -0.02 -0.18c 0 -0.09 0.04 -0.13 0.16 -0.13Z m -4.19 0.19c 0.03 0.3 0.07 0.86 0.07 0.9c 0 0.06 -0.06 0.1 -0.14 0.1c -0.18 0 -0.91 -0.39 -1.16 -0.53c -0.16 -0.09 -0.34 -0.23 -0.34 -0.36c 0 -0.08 0.07 -0.11 0.13 -0.11c 0.16 0 0.38 0.13 0.53 0.21l 0.04 0.01c -0.01 -0.13 -0.03 -0.44 -0.06 -0.61c -0.2 -1.43 -0.6 -2.87 -0.94 -3.95c -0.18 -0.54 -0.34 -0.99 -0.46 -1.31c 0 -0.02 -0.19 -0.51 -0.19 -0.53c 0 -0.08 0.06 -0.1 0.13 -0.1c 0.2 0 0.6 0.2 0.75 0.42c 0.1 0.14 1.4 3.54 1.64 5.86Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; packages the base and the displayed data together, one dimension up from the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/total-category.html&quot; data-entry=&quot;total-category&quot;&gt;total category&lt;/a&gt; of a displayed category.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Its 0-cells are pairs &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(x, overline(x))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 23.666666667 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.367em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.61 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.056666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.056666667 1.62)&quot; d=&quot;M 0 0h 5.72&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.776666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia0c1692cf-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; of a 0-cell of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒦︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a displayed 0-cell over it.&lt;/li&gt;
&lt;li&gt;Its hom-category from &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(x, overline(x))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 23.666666667 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.367em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.61 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.056666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.056666667 1.62)&quot; d=&quot;M 0 0h 5.72&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.776666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia0c1692cf-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia0c1692cf-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0c1692cf-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(y, overline(y))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 22.586666667 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.259em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.07 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 13.516666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(13.516666667 1.62)&quot; d=&quot;M 0 0h 5.18&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 18.696666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia525d2232-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia525d2232-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia525d2232-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia525d2232-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia525d2232-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; is the total category of the displayed hom-category &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;overline(cal(K) (x, y))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 31.286666667 12.12&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;3.129em&quot; height=&quot;1.212em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.16 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 12.05 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 17.77 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 22.216666667 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.396666667 9.64)&quot;&gt;&lt;use xlink:href=&quot;#helia1fd2919c-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(0 0.72)&quot; d=&quot;M 0 0h 31.286666667&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;helia1fd2919c-g56113480BA9BB5E9D616AC445DCB5941&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7 5.87c 0.01 0 0.53 0.04 0.53 0.54c 0 0.35 -0.2 0.62 -0.57 0.65c -0.06 0 -0.1 -0.01 -0.14 -0.01c -0.93 -0.1 -2.81 -1.23 -3.73 -2.14c -0.25 -0.25 -0.38 -0.42 -0.44 -0.56c -0.05 -0.11 -0.05 -0.18 -0.05 -0.3c 0 -1.01 1.45 -4.27 2.53 -4.27c 1.43 0 2.34 1.04 2.34 1.52c 0 0.11 -0.1 0.12 -0.16 0.12c -0.09 0 -0.45 -0.1 -0.51 -0.37c -0.14 -0.46 -0.62 -0.77 -1.23 -0.77c -0.18 0 -0.29 0.07 -0.45 0.2c -0.83 0.71 -1.85 2.96 -1.85 3.79c 0 0.05 0 0.08 0.01 0.11c 0.18 0.55 2.58 2.17 3.3 2.17c 0.17 0 0.28 -0.16 0.28 -0.37c 0 -0.07 -0.02 -0.13 -0.02 -0.18c 0 -0.09 0.04 -0.13 0.16 -0.13Z m -4.19 0.19c 0.03 0.3 0.07 0.86 0.07 0.9c 0 0.06 -0.06 0.1 -0.14 0.1c -0.18 0 -0.91 -0.39 -1.16 -0.53c -0.16 -0.09 -0.34 -0.23 -0.34 -0.36c 0 -0.08 0.07 -0.11 0.13 -0.11c 0.16 0 0.38 0.13 0.53 0.21l 0.04 0.01c -0.01 -0.13 -0.03 -0.44 -0.06 -0.61c -0.2 -1.43 -0.6 -2.87 -0.94 -3.95c -0.18 -0.54 -0.34 -0.99 -0.46 -1.31c 0 -0.02 -0.19 -0.51 -0.19 -0.53c 0 -0.08 0.06 -0.1 0.13 -0.1c 0.2 0 0.6 0.2 0.75 0.42c 0.1 0.14 1.4 3.54 1.64 5.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1fd2919c-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt;. So a 1-cell is a pair &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(f,
  overline(f))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 26.506666667 14.44&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.651em&quot; height=&quot;1.444em&quot; style=&quot;vertical-align: -0.472em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-gA9FA8C2F14C67767A3B2C96AC01F6145&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.23 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 11.03 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.476666667 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(15.476666667 1.23)&quot; d=&quot;M 0 0h 5.8&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.276666667 9.72)&quot;&gt;&lt;use xlink:href=&quot;#heliad4c37d5e-gDB61CF36309C493571F9F3FD45D85165&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;heliad4c37d5e-gA9FA8C2F14C67767A3B2C96AC01F6145&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.44 -4.72c 0.11 0 0.17 0.06 0.17 0.17c 0 0.06 -0.02 0.1 -0.07 0.13c -0.72 0.55 -1.29 1.48 -1.72 2.78c -0.37 1.11 -0.56 2.21 -0.56 3.28v 1.72c 0 1.07 0.19 2.16 0.56 3.28c 0.43 1.29 1 2.22 1.72 2.78c 0.05 0.03 0.07 0.07 0.07 0.13c 0 0.11 -0.06 0.17 -0.17 0.17c -0.04 0 -0.07 -0.01 -0.1 -0.04c -0.81 -0.63 -1.49 -1.59 -2.02 -2.87c -0.51 -1.21 -0.76 -2.36 -0.76 -3.45v -1.72c 0 -1.09 0.25 -2.24 0.76 -3.45c 0.53 -1.29 1.21 -2.24 2.02 -2.87c 0.03 -0.03 0.06 -0.04 0.1 -0.04Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliad4c37d5e-g69726A5B532D359584B7BE612A255CC8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.52 6.33c 0 0.44 -0.43 0.72 -0.9 0.72c -0.62 0 -1.05 -0.4 -1.28 -1.19c -0.05 -0.18 -0.16 -0.69 -0.32 -1.53h -0.65c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.6l -0.73 -3.87c -0.11 -0.57 -0.21 -0.99 -0.3 -1.27c -0.12 -0.37 -0.29 -0.56 -0.51 -0.56c -0.15 0 -0.27 0.04 -0.38 0.11c 0.32 0.05 0.48 0.24 0.48 0.56c 0 0.26 -0.13 0.39 -0.4 0.39c -0.34 0 -0.58 -0.3 -0.58 -0.64c 0 -0.44 0.41 -0.72 0.88 -0.72c 0.25 0 0.48 0.1 0.67 0.31c 0.32 0.33 0.57 0.8 0.75 1.43c 0.11 0.39 0.21 0.77 0.28 1.15l 0.58 3.11h 0.82c 0.23 0 0.33 0.01 0.33 0.24c 0 0.09 -0.1 0.14 -0.3 0.14h -0.77c 0.06 0.41 0.34 1.92 0.43 2.11c 0.1 0.21 0.24 0.31 0.42 0.31c 0.15 0 0.28 -0.04 0.39 -0.11c -0.31 -0.07 -0.47 -0.25 -0.47 -0.56c 0 -0.26 0.13 -0.39 0.4 -0.39c 0.34 0 0.58 0.3 0.58 0.64Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliad4c37d5e-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliad4c37d5e-gDB61CF36309C493571F9F3FD45D85165&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.89 -4.68c 0.81 0.63 1.49 1.58 2.02 2.87c 0.51 1.21 0.76 2.36 0.76 3.45v 1.72c 0 1.09 -0.25 2.24 -0.76 3.45c -0.53 1.29 -1.21 2.24 -2.02 2.87c -0.04 0.03 -0.07 0.04 -0.1 0.04c -0.11 0 -0.17 -0.06 -0.17 -0.17c 0 -0.05 0.02 -0.1 0.06 -0.13c 0.72 -0.55 1.3 -1.47 1.73 -2.78c 0.37 -1.12 0.56 -2.21 0.56 -3.28v -1.72c 0 -1.07 -0.19 -2.16 -0.56 -3.28c -0.43 -1.31 -1.01 -2.23 -1.73 -2.78c -0.04 -0.03 -0.06 -0.08 -0.06 -0.13c 0 -0.11 0.06 -0.17 0.17 -0.17c 0.03 0 0.07 0.01 0.1 0.04Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; and a 2-cell is a pair &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;(alpha, overline(alpha))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 25.026666667 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;2.503em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 10.29 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.736666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.736666667 1.62)&quot; d=&quot;M 0 0h 6.4&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.136666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia75841bb9-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia75841bb9-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia75841bb9-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia75841bb9-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia75841bb9-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Identities, composition, unitors and associator are pairs of the base structure and the displayed structure over it, and the triangle and pentagon hold because they hold in the base and, over that, in the displayed bicategory.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projecting to first components is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/pseudofunctor.html&quot; data-entry=&quot;pseudofunctor&quot;&gt;pseudofunctor&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;pi : ∫ overline(cal(K)) -&amp;gt;
cal(K)&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 54.477777778 12.275&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;5.448em&quot; height=&quot;1.228em&quot; style=&quot;vertical-align: -0.306em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-gB9F3075ACBCAEFB3576FA8ECDD7BE895&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.727777778 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-gA9ADE189D636B46202D6441478B3AF64&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.285555556 9.215)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 22.602222222 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(22.602222222 0.72)&quot; d=&quot;M 0 0h 8.16&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 33.54 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 46.317777778 9.22)&quot;&gt;&lt;use xlink:href=&quot;#helia0e56b942-g56113480BA9BB5E9D616AC445DCB5941&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia0e56b942-gB9F3075ACBCAEFB3576FA8ECDD7BE895&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.24 4.31h -3.3c -0.41 0 -0.77 -0.16 -1.06 -0.47c -0.14 -0.15 -0.61 -0.79 -0.61 -0.92c 0.04 -0.07 0.04 -0.13 0.16 -0.13c 0.07 0 0.13 0.04 0.19 0.13c 0.32 0.49 0.73 0.74 1.22 0.74h 0.51c -0.23 -0.87 -0.65 -1.94 -1.25 -3.21c -0.05 -0.12 -0.08 -0.21 -0.08 -0.26c 0 -0.2 0.11 -0.3 0.32 -0.3c 0.19 0 0.33 0.11 0.42 0.32c 0.18 0.57 0.31 1.01 0.38 1.31l 0.55 2.14h 1.03c -0.27 -1.19 -0.41 -2.02 -0.41 -2.49c 0 -0.49 0.11 -1.28 0.48 -1.28c 0.21 0 0.44 0.2 0.44 0.41c 0 0.05 -0.02 0.13 -0.06 0.23c -0.19 0.47 -0.28 1 -0.28 1.61c 0 0.47 0.06 0.98 0.17 1.52h 1.09c 0.35 0 0.52 0.12 0.52 0.37c 0 0.23 -0.18 0.28 -0.43 0.28Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0e56b942-gA9ADE189D636B46202D6441478B3AF64&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.92 3.75c 0 0.3 -0.23 0.56 -0.53 0.56c -0.3 0 -0.53 -0.26 -0.53 -0.56c 0 -0.3 0.23 -0.56 0.53 -0.56c 0.3 0 0.53 0.26 0.53 0.56Z m 0 -3.19c 0 0.3 -0.23 0.56 -0.53 0.56c -0.3 0 -0.53 -0.26 -0.53 -0.56c 0 -0.3 0.23 -0.56 0.53 -0.56c 0.3 0 0.53 0.26 0.53 0.56Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0e56b942-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.97 8.05c -0.76 0 -1.27 -0.58 -1.53 -1.75c -0.04 -0.17 -0.09 -0.52 -0.16 -1.04l -0.13 -1.01c -0.14 -1.12 -0.23 -1.95 -0.27 -2.5l -0.19 -2.47c -0.07 -0.97 -0.23 -2.04 -1.01 -2.04c -0.21 0 -0.39 0.05 -0.54 0.15c 0.21 0.06 0.32 0.2 0.32 0.42c 0 0.27 -0.18 0.46 -0.45 0.46c -0.3 0 -0.45 -0.16 -0.45 -0.47c 0 -0.53 0.55 -0.86 1.12 -0.86c 0.81 0 1.37 0.6 1.67 1.79c 0.21 0.84 0.4 2.34 0.56 4.51l 0.19 2.47c 0.04 0.57 0.11 1.02 0.2 1.34c 0.13 0.42 0.22 0.7 0.68 0.7c 0.21 0 0.39 -0.05 0.53 -0.15c -0.21 -0.06 -0.32 -0.2 -0.32 -0.42c 0 -0.27 0.18 -0.46 0.45 -0.46c 0.3 0 0.45 0.16 0.45 0.47c 0 0.53 -0.55 0.86 -1.12 0.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0e56b942-g56113480BA9BB5E9D616AC445DCB5941&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7 5.87c 0.01 0 0.53 0.04 0.53 0.54c 0 0.35 -0.2 0.62 -0.57 0.65c -0.06 0 -0.1 -0.01 -0.14 -0.01c -0.93 -0.1 -2.81 -1.23 -3.73 -2.14c -0.25 -0.25 -0.38 -0.42 -0.44 -0.56c -0.05 -0.11 -0.05 -0.18 -0.05 -0.3c 0 -1.01 1.45 -4.27 2.53 -4.27c 1.43 0 2.34 1.04 2.34 1.52c 0 0.11 -0.1 0.12 -0.16 0.12c -0.09 0 -0.45 -0.1 -0.51 -0.37c -0.14 -0.46 -0.62 -0.77 -1.23 -0.77c -0.18 0 -0.29 0.07 -0.45 0.2c -0.83 0.71 -1.85 2.96 -1.85 3.79c 0 0.05 0 0.08 0.01 0.11c 0.18 0.55 2.58 2.17 3.3 2.17c 0.17 0 0.28 -0.16 0.28 -0.37c 0 -0.07 -0.02 -0.13 -0.02 -0.18c 0 -0.09 0.04 -0.13 0.16 -0.13Z m -4.19 0.19c 0.03 0.3 0.07 0.86 0.07 0.9c 0 0.06 -0.06 0.1 -0.14 0.1c -0.18 0 -0.91 -0.39 -1.16 -0.53c -0.16 -0.09 -0.34 -0.23 -0.34 -0.36c 0 -0.08 0.07 -0.11 0.13 -0.11c 0.16 0 0.38 0.13 0.53 0.21l 0.04 0.01c -0.01 -0.13 -0.03 -0.44 -0.06 -0.61c -0.2 -1.43 -0.6 -2.87 -0.94 -3.95c -0.18 -0.54 -0.34 -0.99 -0.46 -1.31c 0 -0.02 -0.19 -0.51 -0.19 -0.53c 0 -0.08 0.06 -0.1 0.13 -0.1c 0.2 0 0.6 0.2 0.75 0.42c 0.1 0.14 1.4 3.54 1.64 5.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0e56b942-g2455479B5EAE520D2F120986F003C123&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 9.32 2.34c 0.07 0.03 0.11 0.09 0.11 0.16c 0 0.07 -0.04 0.13 -0.11 0.16c -0.48 0.16 -0.93 0.5 -1.35 1.02c -0.28 0.35 -0.47 0.76 -0.56 1.23c -0.03 0.13 -0.11 0.19 -0.24 0.19c -0.16 0 -0.24 -0.08 -0.24 -0.25l 0.01 -0.02v -0.01c 0.17 -0.87 0.61 -1.56 1.34 -2.08h -7.46c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.16 0.08 -0.24 0.24 -0.24h 7.46c -0.73 -0.52 -1.17 -1.21 -1.34 -2.08v -0.01l -0.01 -0.02c 0 -0.17 0.08 -0.25 0.24 -0.25c 0.13 0 0.21 0.06 0.24 0.19c 0.09 0.47 0.28 0.88 0.56 1.23c 0.42 0.52 0.87 0.86 1.35 1.02Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; whose unit and composition comparisons are identity 2-cells.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Types over an Algebraic Theory</title>
    <id>https://stevenschaefer.net/theory-type.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/theory-type.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="intrinsically-correct"/>
    <category term="lambekd"/>
    <content type="html">&lt;p&gt;Fix a finitary algebraic theory &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: sorts &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a signature &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, equations, and a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑉&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of generators. Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; for the free &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-model on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑉&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo stretchy=&quot;false&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑴&lt;/mi&gt;&lt;msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; for its carrier at sort &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;em&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-type&lt;/em&gt; of sort &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a family &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑴&lt;/mi&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;|&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖳𝗒𝗉𝖾&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;For &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-types &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of sort &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; we have the additives, defined pointwise,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;&amp;amp;&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo&gt;⊕&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;along with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;⊥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and their indexed versions.&lt;/p&gt;
&lt;p&gt;Each operation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;…&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; gives a multiplicative, defined by &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/day-convolution.html&quot; data-entry=&quot;day-convolution&quot;&gt;Day convolution&lt;/a&gt;,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⊗&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;…&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Σ&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑜&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msub&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;…&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;Π&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑖&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;&amp;lt;&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mi&gt;𝑖&lt;/mi&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝑚&lt;/mi&gt;&lt;mi&gt;𝑖&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Each lifted operation also has closed structure: a residual in each of its arguments. Day algebras &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;robinson_wrigley_2026&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/robinson_wrigley_2026.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt; give a more general convolutional definition.&lt;/p&gt;
&lt;p&gt;When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the theory of monoids and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑉&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an alphabet, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒯︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-types are formal grammars. Multiplication gives &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊗&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;, the unit gives &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and we recover Lambek&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtable class=&quot;multiline-equation&quot;&gt;&lt;/mtable&gt;&lt;mi&gt;𝙳&lt;/mi&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Functorial egg?</title>
    <id>https://stevenschaefer.net/sss-0002.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/sss-0002.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <content type="html">&lt;p&gt;For the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/mplse-reading-group.html&quot; data-entry=&quot;mplse-reading-group&quot;&gt;MPLSE Reading Group&lt;/a&gt;, this week we read &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/willsey-2021-egg.html&quot; data-entry=&quot;willsey-2021-egg&quot;&gt;egg: Fast and Extensible Equality Saturation&lt;/a&gt;. &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/pranavsrinivasan.html&quot; data-entry=&quot;pranavsrinivasan&quot;&gt;Pranav Srinivasan&lt;/a&gt; and I seemed to think that the &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;e&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;-class analysis into any join semilattice looked a lot like a functor. However, I’m not quite sure what the domain of that functor ought to be.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Recursive coalgebra</title>
    <id>https://stevenschaefer.net/recursive-coalgebra.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/recursive-coalgebra.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="F-algebra"/>
    <category term="F-coalgebra"/>
    <category term="category-theory"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;recursive&lt;/em&gt; when for every &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; there is exactly one &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism.html&quot; data-entry=&quot;hylomorphism&quot;&gt;hylomorphism&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, that is, exactly one solution of&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Equivalently, the functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism-profunctor.html&quot; data-entry=&quot;hylomorphism-profunctor&quot;&gt;hylomorphism profunctor&lt;/a&gt; is constantly a singleton.&lt;/p&gt;
&lt;p&gt;Recursiveness is a coalgebraic form of well-foundedness: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; decomposes each input into subproblems, and recursiveness says that every divide-and-conquer program built on this decomposition has a unique meaning, without mentioning an order on inputs. &lt;cite class=&quot;helia-cite&quot; data-entry=&quot;alexandruIntrinsicallyCorrectAlgorithms2025-preprint&quot;&gt;&lt;a href=&quot;https://stevenschaefer.net/alexandruIntrinsicallyCorrectAlgorithms2025-preprint.html&quot;&gt;[1]&lt;/a&gt;&lt;/cite&gt; use recursive coalgebras on categories of indexed families to obtain algorithms that are correct by the type of the map they compute.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example.&lt;/strong&gt; If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/initial-algebra.html&quot; data-entry=&quot;initial-algebra&quot;&gt;initial algebra&lt;/a&gt;, then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is invertible (Lambek’s lemma) and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜇&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a recursive coalgebra. Precomposing with the isomorphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, the equation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is equivalent to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, which says &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an algebra map out of the initial algebra; there is exactly one, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖿𝗈𝗅𝖽&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The dual notion is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/corecursive-algebra.html&quot; data-entry=&quot;corecursive-algebra&quot;&gt;corecursive algebra&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Pseudofunctor</title>
    <id>https://stevenschaefer.net/pseudofunctor.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/pseudofunctor.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="bicategory"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;A &lt;em&gt;pseudofunctor&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lax-functor.html&quot; data-entry=&quot;lax-functor&quot;&gt;lax functor&lt;/a&gt; whose unit and composition comparisons&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;are invertible 2-cells. So &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; preserves identities and composition up to coherent isomorphism.&lt;/p&gt;
&lt;p&gt;Being pseudo is a &lt;em&gt;property&lt;/em&gt; of a lax functor: invertibility of a 2-cell is a proposition, since inverses are unique. The data of a pseudofunctor is exactly the data of a lax functor, and everything proved about lax functors applies to pseudofunctors unchanged. Pseudofunctors are closed under composition and identities, as lax functors are, because invertible 2-cells are closed under composition and under the action of a functor on hom-categories.&lt;/p&gt;
&lt;p&gt;The main examples here are prestacks, pseudofunctors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;. When &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/locally-discrete-bicategory.html&quot; data-entry=&quot;locally-discrete-bicategory&quot;&gt;locally discrete&lt;/a&gt; on a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, these are the pseudofunctors &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; of fibred category theory.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Opposite Bicategory</title>
    <id>https://stevenschaefer.net/opposite-bicategory.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/opposite-bicategory.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="bicategory"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;The &lt;em&gt;opposite&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; of a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/bicategory.html&quot; data-entry=&quot;bicategory&quot;&gt;bicategory&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has the same 0-cells and reverses the 1-cells but not the 2-cells:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Composition swaps its arguments, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The left unitor of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is the right unitor of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and vice versa, and the associator of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is the inverse of the associator of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, with its arguments reversed.&lt;/p&gt;
&lt;p&gt;Since the 2-cells keep their direction, a lax functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a lax (not oplax) functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; with the same action on cells. Reversing the 2-cells instead gives the bicategory &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;co&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, whose hom-categories are the opposites &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Duality saves work: a coherence lemma about &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; can often be obtained by instantiating a companion lemma at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, which swaps left and right.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Locally Discrete Bicategory</title>
    <id>https://stevenschaefer.net/locally-discrete-bicategory.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/locally-discrete-bicategory.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="bicategory"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;Every &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/category.html&quot; data-entry=&quot;category&quot;&gt;category&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/bicategory.html&quot; data-entry=&quot;bicategory&quot;&gt;bicategory&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; with only identity 2-cells. Its 0-cells are the objects of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and the hom-category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the discrete category on the set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;: a 2-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a proof that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Composition and identities are those of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;; the unitors and associator are the unit and associativity laws of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Since the homs of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are sets, any two parallel 2-cells are equal, so the triangle and pentagon hold trivially.&lt;/p&gt;
&lt;p&gt;A functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; gives a pseudofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, whose comparison 2-cells are the functor laws of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The locally discrete bicategory is how ordinary indexed categories enter bicategorical language: a prestack on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖫𝖣&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a pseudofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;, and its Grothendieck construction is a displayed category over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Lax and Pseudonatural Transformations</title>
    <id>https://stevenschaefer.net/lax-natural-transformation.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/lax-natural-transformation.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="bicategory"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lax-functor.html&quot; data-entry=&quot;lax-functor&quot;&gt;lax functors&lt;/a&gt;. A &lt;em&gt;lax natural transformation&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; consists of&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;for each 0-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a 1-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;for each 1-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a 2-cell filling the naturality square,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;;&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;such that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; is natural in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: for a 2-cell &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;▷&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;◁&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;and such that &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; respects the comparison cells of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: one law relating &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; and the unitors, and one relating &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; and the associators.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A lax natural transformation is &lt;em&gt;pseudonatural&lt;/em&gt; when every &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; is invertible. As with &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/pseudofunctor.html&quot; data-entry=&quot;pseudofunctor&quot;&gt;pseudofunctors&lt;/a&gt;, this is a property, so the pseudonatural transformations &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are a full subcategory of the category of lax transformations and modifications.&lt;/p&gt;
&lt;p&gt;Between prestacks the 1-cells are taken to be pseudonatural. The reason is biuniversality: a transformation whose components &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝜎&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt; are all equivalences of categories is an equivalence of prestacks only if its naturality cells are invertible, and a biuniversal element should be exactly a representation of a prestack up to such an equivalence.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Lax Functor</title>
    <id>https://stevenschaefer.net/lax-functor.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/lax-functor.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="bicategory"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;A &lt;em&gt;lax functor&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; between &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/bicategory.html&quot; data-entry=&quot;bicategory&quot;&gt;bicategories&lt;/a&gt; consists of&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;a map on 0-cells, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;↦&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;for all &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, acting on 1-cells and 2-cells;&lt;/li&gt;
&lt;li&gt;a &lt;em&gt;unit&lt;/em&gt; comparison, natural 2-cells &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;a &lt;em&gt;composition&lt;/em&gt; comparison, 2-cells &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; natural in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;such that three coherence laws hold, one for each structure cell of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℬ︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;left unit: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜆&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜆&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;right unit: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;◁&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/math&gt;&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;associativity: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;◁&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⋆&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; between 2-cells is vertical composition, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;▷&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;◁&lt;/mo&gt;&lt;mi&gt;𝜃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are whiskerings.&lt;/p&gt;
&lt;p&gt;Lax functors compose: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;/msup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msubsup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msubsup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/mrow&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msubsup&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. The coherence laws of the composite follow from those of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and naturality of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;, without using the triangle or pentagon of any of the bicategories involved.&lt;/p&gt;
&lt;p&gt;A lax functor whose comparison cells are invertible is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/pseudofunctor.html&quot; data-entry=&quot;pseudofunctor&quot;&gt;pseudofunctor&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>The hylomorphism profunctor</title>
    <id>https://stevenschaefer.net/hylomorphism-profunctor.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/hylomorphism-profunctor.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="F-algebra"/>
    <category term="F-coalgebra"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism.html&quot; data-entry=&quot;hylomorphism&quot;&gt;Hylomorphisms&lt;/a&gt; form a profunctor from coalgebras to algebras,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;𝖢𝗈𝖺𝗅𝗀&lt;/mtext&gt;&lt;msup&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mtext&gt;𝖠𝗅𝗀&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝐒𝐞𝐭&lt;/mtext&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;where &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the set of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The action is by composition. If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebra morphism&lt;/a&gt; (&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;) and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra morphism&lt;/a&gt; (&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;), then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is again a hylomorphism:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑘&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;In these terms, a coalgebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/recursive-coalgebra.html&quot; data-entry=&quot;recursive-coalgebra&quot;&gt;recursive&lt;/a&gt; when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is the terminal functor, and an algebra &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/corecursive-algebra.html&quot; data-entry=&quot;corecursive-algebra&quot;&gt;corecursive&lt;/a&gt; when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is. For the inverse of an initial algebra the profunctor is representable, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;msup&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mtext&gt;𝖠𝗅𝗀&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗂𝗇&lt;/mtext&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;prefix&quot;&gt;−&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, and dually &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;msup&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mtext&gt;𝖢𝗈𝖺𝗅𝗀&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for a terminal coalgebra.&lt;/p&gt;
&lt;p&gt;When &lt;em&gt;every&lt;/em&gt; value of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is a singleton, every divide-and-conquer specification over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has exactly one solution. This is what local contractivity guarantees.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Hylomorphism</title>
    <id>https://stevenschaefer.net/hylomorphism.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/hylomorphism.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="F-algebra"/>
    <category term="F-coalgebra"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and an &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A &lt;em&gt;hylomorphism&lt;/em&gt; (or &lt;em&gt;coalgebra-to-algebra morphism&lt;/em&gt;) from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; satisfying&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 114.802913386 99.56503937&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;11.48em&quot; height=&quot;9.957em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; stroke-dashoffset=&quot;0&quot; stroke-dasharray=&quot;3 3&quot; transform=&quot;translate(25.27581082 14.94)&quot; d=&quot;M 0 0l 63.688196329 0&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(87.079046714 14.940000094)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(87.079046714 12.574519818)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(52.359908985)&quot; d=&quot;M 0 0h 9.76v 10.94h -9.76v -10.94Z &quot;/&gt;&lt;g transform=&quot;translate(52.359908859 -1.6e-8)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(13.71 26.505810907)&quot; d=&quot;M 0 0v 48.464228463&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(11.344519723 73.085078525)&quot; d=&quot;M 0 0m 2.365480277 1.884960687c -0.445120715 -0.967761843 -1.322770335 -1.667127231 -2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(13.71 73.085078525)&quot; d=&quot;M 0 0m 0 1.884960687c 0.445120715 -0.967761843 1.322770335 -1.667127231 2.365480277 -1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 44.367925139)&quot; d=&quot;M 0 0h 9.71v 12.98h -9.71l 0 -12.98Z &quot;/&gt;&lt;g transform=&quot;translate(-1.1e-7 44.367925076)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-gB51309CEEA1D83C815FD51E59C292E6A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(27.99 84.62503937)&quot; d=&quot;M 0 0h 58.367913291&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(84.472952856 84.62503937)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(84.472952856 82.259559093)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(48.528956646 88.62503937)&quot; d=&quot;M 0 0h 17.53v 10.94h -17.53v -10.94Z &quot;/&gt;&lt;g transform=&quot;translate(48.528956567 88.625039354)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.77 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-gD21D184679260132F2E49FCF5BD09996&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(100.402913386 26.378906237)&quot; d=&quot;M 0 0m 0 48.831133133v -48.831133133&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(100.402913291 26.378905984)&quot; d=&quot;M 0 0c 0.445120715 0.967761843 1.322770335 1.667127231 2.365480277 1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(98.037433015 26.378905984)&quot; d=&quot;M 0 0m 2.365480277 0c -0.445120715 0.967761843 -1.322770335 1.667127231 -2.365480277 1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(104.402913386 45.204472804)&quot; d=&quot;M 0 0h 10.4v 10.94h -10.4v -10.94Z &quot;/&gt;&lt;g transform=&quot;translate(104.40291337 45.204472788)&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 2 8.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-gAC5A68CE7A58A809A6EB923DCFA34943&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(9.315 11.525)&quot; d=&quot;M 0 0h 8.79v 6.83h -8.79v -6.83Z &quot;/&gt;&lt;g transform=&quot;translate(9.314999953 11.52499989)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g12A2C4A82138F063CB64D28271EA96B0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(96.482913386 11.525)&quot; d=&quot;M 0 0h 7.84v 6.83h -7.84v -6.83Z &quot;/&gt;&lt;g transform=&quot;translate(96.482913354 11.52499989)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g181F8068B35E55F9903FDEE0FCB26CAB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(5.43 81.21003937)&quot; d=&quot;M 0 0h 16.56v 6.83h -16.56v -6.83Z &quot;/&gt;&lt;g transform=&quot;translate(5.429999858 81.21003926)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.77 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g12A2C4A82138F063CB64D28271EA96B0&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(92.597913386 81.21003937)&quot; d=&quot;M 0 0h 15.61v 6.83h -15.61v -6.83Z &quot;/&gt;&lt;g transform=&quot;translate(92.59791326 81.21003926)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g4A04A89222FE1458FDC97F586BC23037&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 7.77 6.83)&quot;&gt;&lt;use xlink:href=&quot;#helia635484a7-g181F8068B35E55F9903FDEE0FCB26CAB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia635484a7-gD21D184679260132F2E49FCF5BD09996&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.12 1.38c -0.23 -0.79 -0.55 -1.19 -0.97 -1.19c -0.13 0 -0.2 0.09 -0.2 0.28c 0 0.15 0.06 0.38 0.18 0.69c 0.4 1.07 0.6 1.8 0.6 2.19c 0 0.71 -0.46 1.1 -1.17 1.1c -0.53 0 -0.99 -0.22 -1.38 -0.65l 0.73 2.99c -0.02 0.09 -0.04 0.15 -0.17 0.15c -0.33 0 -1.06 -0.09 -1.19 -0.1c -0.15 -0.02 -0.23 -0.09 -0.23 -0.24c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.21 0 0.44 0.01 0.46 -0.13l -1.46 -5.89c -0.03 -0.11 -0.04 -0.18 -0.04 -0.22c 0 -0.21 0.11 -0.32 0.32 -0.32c 0.2 0 0.34 0.1 0.41 0.29l 0.4 1.64c 0.12 0.49 0.21 0.86 0.28 1.11c 0.03 0.07 0.11 0.21 0.24 0.41c 0.36 0.54 0.8 0.81 1.33 0.81c 0.33 0 0.49 -0.22 0.49 -0.65c 0 -0.41 -0.2 -1.14 -0.6 -2.2c -0.09 -0.23 -0.13 -0.41 -0.13 -0.56c 0 -0.48 0.36 -0.85 0.84 -0.85c 0.44 0 0.79 0.25 1.04 0.76c 0.19 0.4 0.29 0.67 0.29 0.8c 0 0.09 -0.05 0.14 -0.16 0.14c -0.03 0 -0.18 -0.09 -0.18 -0.21Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-gB51309CEEA1D83C815FD51E59C292E6A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.24 3.78c 0.13 0.25 0.19 0.38 0.19 0.39c 0 0.09 -0.05 0.14 -0.16 0.14c -0.07 0 -0.12 -0.03 -0.15 -0.09c -0.35 -0.65 -0.76 -1.57 -1.24 -2.76c -0.04 0.66 -0.17 1.28 -0.39 1.85c -0.29 0.74 -0.74 1.11 -1.35 1.11c -0.63 0 -1.18 -0.42 -1.46 -0.81c -0.33 -0.47 -0.5 -0.82 -0.5 -1.04c 0 -0.09 0.08 -0.14 0.25 -0.14l 0.05 0.07c 0.17 0.52 0.46 0.85 0.87 0.99c 0.28 0.09 0.5 0.14 0.66 0.14c 1.04 0 1.56 -0.82 1.56 -2.47c 0 -0.39 -0.04 -0.71 -0.12 -0.96c -0.34 -1.11 -0.51 -1.82 -0.51 -2.13c 0 -0.15 0.06 -0.22 0.17 -0.22c 0.12 0 0.24 0.21 0.35 0.62c 0.17 0.64 0.29 1.21 0.36 1.71c 0.03 0.15 0.05 0.28 0.08 0.37c 0.36 1.12 0.81 2.2 1.34 3.23Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-g4A04A89222FE1458FDC97F586BC23037&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.99 6.56c 0 -0.1 0.11 -0.15 0.32 -0.15c 0.4 0 0.6 -0.04 0.6 -0.13c 0 -0.03 -0.02 -0.1 -0.05 -0.23l -1.3 -5.23c -0.06 -0.22 -0.16 -0.35 -0.3 -0.4c -0.07 -0.02 -0.25 -0.03 -0.56 -0.03c -0.22 0 -0.32 -0.02 -0.32 -0.23c 0 -0.11 0.06 -0.16 0.19 -0.16l 1.3 0.03l 1.48 -0.03c 0.16 0 0.24 0.08 0.24 0.23c 0 0.17 -0.11 0.16 -0.37 0.16c -0.44 0 -0.69 0.02 -0.75 0.07c -0.03 0.01 -0.04 0.05 -0.04 0.1l 0.64 2.65h 0.93c 0.46 0 0.78 -0.02 0.78 -0.4c 0 -0.13 -0.02 -0.29 -0.07 -0.48c -0.01 -0.03 -0.02 -0.07 -0.03 -0.11c 0 -0.11 0.05 -0.16 0.16 -0.16c 0.05 0.01 0.12 0.08 0.19 0.23l 0.54 2.15c 0.02 0.08 0.03 0.14 0.03 0.17c -0.03 0.09 -0.09 0.14 -0.16 0.14c -0.08 0 -0.14 -0.08 -0.18 -0.23c -0.1 -0.38 -0.24 -0.62 -0.4 -0.74c -0.16 -0.12 -0.44 -0.18 -0.84 -0.18h -0.85l 0.62 2.46c 0.08 0.34 0.08 0.35 0.5 0.35h 1.3c 0.97 0 1.41 -0.15 1.41 -1.04c 0 -0.2 -0.01 -0.38 -0.03 -0.53c -0.01 -0.11 -0.02 -0.17 -0.02 -0.18c 0 -0.11 0.05 -0.16 0.15 -0.16c 0.1 0 0.16 0.09 0.18 0.28l 0.2 1.71c 0.03 0.28 -0.04 0.31 -0.31 0.31h -4.84c -0.23 0 -0.34 -0.01 -0.34 -0.24Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-gAC5A68CE7A58A809A6EB923DCFA34943&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.1 4.42c -0.69 0 -1.31 -0.3 -1.86 -0.89c -0.55 -0.59 -0.83 -1.24 -0.83 -1.94c 0 -0.98 0.66 -1.7 1.64 -1.7c 0.69 0 1.37 0.27 2.05 0.8c 0.15 -0.53 0.46 -0.8 0.92 -0.8c 0.36 0 0.87 0.38 0.87 0.74c 0 0.09 -0.05 0.13 -0.16 0.13c -0.07 0 -0.13 -0.04 -0.16 -0.12c -0.08 -0.21 -0.29 -0.46 -0.52 -0.46c -0.17 0 -0.26 0.32 -0.26 0.97c 0 0.14 0.03 0.25 0.09 0.32c 0.27 0.33 0.51 0.71 0.7 1.13c 0.25 0.54 0.4 0.94 0.44 1.2v 0.04c -0.03 0.07 -0.09 0.1 -0.16 0.1c -0.05 -0.01 -0.11 -0.09 -0.18 -0.23c -0.21 -0.72 -0.5 -1.34 -0.89 -1.85v 0.5c 0 1.16 -0.58 2.06 -1.69 2.06Z m 0.93 -2.31c 0 -0.59 0.01 -0.95 0.02 -1.08c -0.65 -0.57 -1.31 -0.85 -1.98 -0.85c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.58 0.33 1.66 0.56 2.02c 0.38 0.59 0.82 0.89 1.31 0.89c 0.31 0 0.52 -0.12 0.65 -0.36c 0.07 -0.12 0.12 -0.24 0.17 -0.35c 0.08 -0.23 0.12 -0.84 0.12 -1.31Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-g12A2C4A82138F063CB64D28271EA96B0&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 8.34 6.83c -0.17 0 -0.76 -0.03 -0.93 -0.03c -0.2 0 -0.9 0.03 -1.1 0.03c -0.15 0 -0.23 -0.08 -0.23 -0.24c 0 -0.09 0.05 -0.14 0.16 -0.15c 0.24 -0.03 0.36 -0.11 0.36 -0.26c 0 -0.09 -0.06 -0.2 -0.18 -0.33l -1.56 -1.68c -0.29 0.68 -0.57 1.35 -0.86 2.03c 0.01 0.02 0.02 0.04 0.05 0.06c 0.09 0.1 0.26 0.16 0.5 0.18c 0.16 0.02 0.24 0.1 0.24 0.23c 0 0.11 -0.06 0.16 -0.19 0.16c -0.24 0 -1.01 -0.03 -1.25 -0.03c -0.21 0 -0.9 0.03 -1.11 0.03c -0.15 0 -0.22 -0.08 -0.22 -0.24c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.45 0 0.59 0 0.71 -0.29l 1.16 -2.73l -2.08 -2.23c -0.03 -0.03 -0.07 -0.07 -0.12 -0.1c -0.41 -0.43 -0.88 -0.67 -1.43 -0.7c -0.17 -0.01 -0.26 -0.1 -0.26 -0.25c 0.03 -0.09 0.04 -0.14 0.17 -0.14c 0.17 0 0.76 0.03 0.93 0.03c 0.21 0 0.9 -0.03 1.11 -0.03c 0.15 0 0.22 0.08 0.22 0.24c 0 0.09 -0.05 0.14 -0.16 0.15c -0.24 0.02 -0.36 0.11 -0.36 0.26c 0 0.1 0.09 0.24 0.26 0.42c 0.62 0.66 1.25 1.32 1.86 1.99c 0.34 -0.81 0.69 -1.61 1.02 -2.43c -0.01 -0.02 -0.02 -0.04 -0.05 -0.07c -0.09 -0.09 -0.25 -0.14 -0.49 -0.17c -0.15 -0.02 -0.23 -0.1 -0.23 -0.23c 0 -0.11 0.06 -0.16 0.19 -0.16l 1.25 0.03c 0.21 0 0.91 -0.03 1.09 -0.03c 0.15 0 0.23 0.08 0.23 0.23c 0 0.1 -0.07 0.15 -0.22 0.16c -0.31 0 -0.51 0.01 -0.58 0.05c -0.07 0.04 -0.15 0.16 -0.23 0.36l -1.27 3.03c 0.68 0.72 1.19 1.26 1.52 1.63c 0.24 0.25 0.4 0.42 0.49 0.49c 0.37 0.31 0.78 0.47 1.23 0.49c 0.21 0.01 0.26 0.06 0.26 0.25c -0.03 0.09 -0.04 0.14 -0.17 0.14Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia635484a7-g181F8068B35E55F9903FDEE0FCB26CAB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 7.56 5.43c 0 0.91 -0.9 1.4 -1.88 1.4h -3.32c -0.23 0 -0.33 -0.01 -0.33 -0.24c 0 -0.16 0.2 -0.15 0.32 -0.15c 0.3 -0.01 0.48 -0.03 0.53 -0.04c 0.05 -0.01 0.07 -0.04 0.07 -0.09c 0 -0.02 -0.01 -0.08 -0.04 -0.18l -1.32 -5.31c -0.05 -0.22 -0.15 -0.35 -0.3 -0.4c -0.07 -0.02 -0.25 -0.03 -0.56 -0.03c -0.21 0 -0.31 -0.08 -0.31 -0.24c 0 -0.1 0.1 -0.15 0.31 -0.15h 3.53c 0.65 0 1.25 0.2 1.82 0.59c 0.63 0.43 0.95 0.96 0.95 1.58c 0 0.79 -0.65 1.27 -1.36 1.41c 0.88 0.21 1.89 0.88 1.89 1.85Z m -2.02 1.01c 0.69 0 1.04 -0.32 1.04 -0.97c 0 -0.51 -0.2 -0.93 -0.62 -1.27c -0.42 -0.34 -0.89 -0.5 -1.4 -0.5h -1.39l 0.6 2.4c 0.08 0.34 0.08 0.34 0.5 0.34Z m 0.28 -3.45c 0.14 -0.23 0.21 -0.46 0.21 -0.71c 0 -0.52 -0.2 -0.97 -0.61 -1.34c -0.41 -0.37 -0.87 -0.55 -1.4 -0.55h -1.35c -0.1 0 -0.17 0 -0.21 0.01c -0.06 0 -0.09 0.02 -0.09 0.05c 0 0.01 0 0.04 0.01 0.08c 0.31 1.27 0.55 2.23 0.71 2.87h 1.84c 0.43 0 0.72 -0.14 0.89 -0.41Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Corecursive algebra</title>
    <id>https://stevenschaefer.net/corecursive-algebra.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/corecursive-algebra.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="F-algebra"/>
    <category term="F-coalgebra"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;Fix an endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. An &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐵&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;corecursive&lt;/em&gt; when for every &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/coalgebras-displayed.html&quot; data-entry=&quot;coalgebras-displayed&quot;&gt;coalgebra&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; there is exactly one &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism.html&quot; data-entry=&quot;hylomorphism&quot;&gt;hylomorphism&lt;/a&gt; from &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Equivalently, the functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖧𝗒𝗅𝗈&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝛼&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/hylomorphism-profunctor.html&quot; data-entry=&quot;hylomorphism-profunctor&quot;&gt;hylomorphism profunctor&lt;/a&gt; is constantly a singleton. It is the dual of a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/recursive-coalgebra.html&quot; data-entry=&quot;recursive-coalgebra&quot;&gt;recursive coalgebra&lt;/a&gt;: an &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is corecursive exactly when it is recursive as an &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;-coalgebra in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mtext&gt;op&lt;/mtext&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example.&lt;/strong&gt; If &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/terminal-coalgebra.html&quot; data-entry=&quot;terminal-coalgebra&quot;&gt;terminal coalgebra&lt;/a&gt;, then &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is invertible and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msup&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝜈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a corecursive algebra: a solution of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msup&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;mrow&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msup&gt;&lt;/math&gt;&lt;/span&gt; is the same thing as a solution of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mtext&gt;𝗈𝗎𝗍&lt;/mtext&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;ℎ&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, that is, a coalgebra map into the terminal coalgebra, and there is exactly one, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗎𝗇𝖿𝗈𝗅𝖽&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>The Bicategory of Categories</title>
    <id>https://stevenschaefer.net/bicategory-of-categories.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/bicategory-of-categories.html"/>
    <published>2026-09-29T00:00:00Z</published>
    <updated>2026-09-29T00:00:00Z</updated>
    <category term="bicategory"/>
    <category term="category-theory"/>
    <content type="html">&lt;p&gt;The &lt;em&gt;bicategory of categories&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; has&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;as 0-cells, categories (at a fixed pair of universe levels, for objects and for morphisms);&lt;/li&gt;
&lt;li&gt;as hom-category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, the functor category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, so 1-cells are functors and 2-cells are natural transformations;&lt;/li&gt;
&lt;li&gt;as identity 1-cell, the identity functor;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;as composition, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on functors. On natural transformations &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛽&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; the horizontal composite is given directly by its components&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝛽&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐺&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛽&lt;/mi&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;𝛾&lt;/mi&gt;&lt;mrow&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;′&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;𝑐&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Every component of the left unitor, the right unitor and the associator is an identity morphism, and their inverses are identities too. So the only content of the triangle and pentagon is that composites of identities are identities.&lt;/p&gt;
&lt;p&gt;&lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is still a bicategory and not a strict 2-category: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Id&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; agree on objects and on morphisms, but in the formalization they are not the same functor definitionally. The structure cells are there to name that agreement.&lt;/p&gt;
&lt;p&gt;A &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/monad-in-a-bicategory.html&quot; data-entry=&quot;monad-in-a-bicategory&quot;&gt;monad in&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; is an ordinary monad on a category, and a prestack is a pseudofunctor into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖢𝖠𝖳&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Representable Grammars</title>
    <id>https://stevenschaefer.net/representable-grammar.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/representable-grammar.html"/>
    <published>2026-08-24T15:31:37Z</published>
    <updated>2026-08-24T15:31:37Z</updated>
    <category term="intrinsically-correct"/>
    <category term="lambekd"/>
    <category term="parsing"/>
    <content type="html">&lt;p&gt;For any string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, we can define a representable grammar &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; which matches exactly the string &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and nothing else. The parse trees for a representable grammar are proofs that the string is exactly equal to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌈&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⌉&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑢&lt;/mi&gt;&lt;mo&gt;≡&lt;/mo&gt;&lt;mi&gt;𝑤&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Predecessors simplify later</title>
    <id>https://stevenschaefer.net/predecessors-simplify-later.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/predecessors-simplify-later.html"/>
    <published>2026-07-20T18:20:09Z</published>
    <updated>2026-07-20T18:20:09Z</updated>
    <category term="category-theory"/>
    <category term="guarded-recursion"/>
    <category term="presheaf"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;A &lt;em&gt;predecessor&lt;/em&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a top element of its &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot; data-entry=&quot;strict-downset-sieve&quot;&gt;strict downset&lt;/a&gt;: a strict morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; through which every strict morphism into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; factors uniquely. Equivalently, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; — the downset is representable.&lt;/p&gt;
&lt;p&gt;The Yoneda lemma then collapses &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-presheaf.html&quot; data-entry=&quot;later-presheaf&quot;&gt;later&lt;/a&gt; to evaluation:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; becoming restriction along &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The name is from the naturals: every strict map into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/math&gt;&lt;/span&gt; factors through &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/math&gt;&lt;/span&gt;, so on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜔&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; — in the topos of trees — later is just the shift&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mn&gt;0&lt;/mn&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;≅&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;and a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lob-presheaf.html&quot; data-entry=&quot;lob-presheaf&quot;&gt;Löb&lt;/a&gt; step is a base value together with a rule producing the value at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/math&gt;&lt;/span&gt; from the value at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑛&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;When this predecessor exists, we can give a simpler description of later, as in the topos of trees, but this may not be possible in all direct categories.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>The comparison functor of an adjunction</title>
    <id>https://stevenschaefer.net/comparison-functor.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/comparison-functor.html"/>
    <published>2026-07-19T18:48:31Z</published>
    <updated>2026-07-19T18:48:31Z</updated>
    <category term="adjunction"/>
    <category term="category-theory"/>
    <category term="eilenberg-moore"/>
    <content type="html">&lt;p&gt;An adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a monad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mtext&gt;𝖨𝖽&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; for the &lt;em&gt;counit&lt;/em&gt; of the adjunction. Every object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; then induces a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra carried by the object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, witnessed by the map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;𝜀&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mi&gt;𝑑&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;This assignment extends to a functor into the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot; data-entry=&quot;eilenberg-moore-displayed&quot;&gt;Eilenberg–Moore category&lt;/a&gt;,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;EM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;the &lt;em&gt;comparison functor&lt;/em&gt; of the adjunction.&lt;/p&gt;
&lt;p&gt;Dually, an adjunction induces a comonad on the other side and a comparison into the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/co-eilenberg-moore-displayed.html&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot;&gt;co-Eilenberg–Moore category&lt;/a&gt;. When these comparisons are equivalences we say that the adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/monadicity-comonadicity.html&quot; data-entry=&quot;monadicity-comonadicity&quot;&gt;(co)monadic&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Löb induction on families</title>
    <id>https://stevenschaefer.net/lob-family.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/lob-family.html"/>
    <published>2026-07-19T06:01:19Z</published>
    <updated>2026-07-19T06:01:19Z</updated>
    <category term="category-theory"/>
    <category term="families"/>
    <category term="guarded-recursion"/>
    <category term="presheaf"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;Like &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-family.html&quot; data-entry=&quot;later-family&quot;&gt;later on families&lt;/a&gt;, the recursion principle for families is inherited from that on presheaves. Given a family &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and a step&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mtext&gt;for each &lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;the construction is a chain of transpositions with &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/lob-presheaf.html&quot; data-entry=&quot;lob-presheaf&quot;&gt;Löb for presheaves&lt;/a&gt; used in the middle: &lt;span class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 194.633722222 80.867&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;19.463em&quot; height=&quot;8.087em&quot; role=&quot;img&quot;&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 15.027)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 17.027)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 31.987)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 33.987)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 48.947)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 63.907)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.4&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(-0.2 65.907)&quot; d=&quot;M 0 0h 112.691111111&quot;/&gt;&lt;g transform=&quot;translate(27.169 2.5)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 29.946777778 9.98)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gF0C36D80D26B0B0857EE4DB6EE3C79AF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.326777778 12.45)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g6C7EA5BE9CFB6D2ED55C7746A26C9BD5&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2F7842FC8315D847FDA1D80D8B014E81&quot; x=&quot;4.571&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2DBE370D0655DFF0661B5BE47B6910FD&quot; x=&quot;8.071&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 54.566555556 9.98)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 64.844333333 9.98)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 77.622111111 9.98)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;translate(112.291111111 15.027)&quot;&gt;&lt;g transform=&quot;translate(4 -0.211225)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 6.822 1.913775)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g49234BD97F8D7B774F89A64C3A887F83&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;4.726&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; x=&quot;8.5&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g249F38933675978CA6BA9B66F5965FA7&quot; x=&quot;11.101&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8C61984FCD6243B0954CAF1A47F80040&quot; x=&quot;13.464&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g249F38933675978CA6BA9B66F5965FA7&quot; x=&quot;18.19&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gA4853A2CA3EA6B1949E4395798CA21DA&quot; x=&quot;20.553&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g249F38933675978CA6BA9B66F5965FA7&quot; x=&quot;23.8595&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; x=&quot;26.2225&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8C61984FCD6243B0954CAF1A47F80040&quot; x=&quot;30.4725&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; x=&quot;38.0205&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; x=&quot;42.2705&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 54.054611111 1.913775)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g16E6FABDC9C80C42F8BE020D5F10A392&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 60.327611111 4.013275)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8702FE1C44ED0DAC9C9EF6F4541A8070&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g9610288EFE742F55BA34B736BFE18222&quot; x=&quot;3.88535&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gCA4C5A596445222C7E188A267E26DAFE&quot; x=&quot;6.86035&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform=&quot;translate(13.1 19.527)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.42 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1296254C25BF8B536B0FB930CA3A255C&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 27.077777778 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gF0C36D80D26B0B0857EE4DB6EE3C79AF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.235555556 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 68.635555556 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 78.913333333 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 91.691111111 27.007)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;translate(112.291111111 31.987)&quot;&gt;&lt;g transform=&quot;translate(4 0.77775)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 6.822 2.90275)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1BA453E68118569852F1EE25C23C13AB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.881111111 2.90275)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g3AFC1E1C6084C2978DF3D569E28C9ED8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.435722222 2.90275)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7E076845AD5FB032EAA9080C51DB0589&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; x=&quot;6.137&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; x=&quot;10.387&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g56DA312D17328634B79D1808284C07A8&quot; x=&quot;12.988&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;16.32&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;20.094&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform=&quot;translate(3 36.487)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 5.777777778 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gF0C36D80D26B0B0857EE4DB6EE3C79AF&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.935555556 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 47.335555556 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 57.613333333 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 70.391111111 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 101.791111111 43.967)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;translate(112.291111111 48.947)&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 4 2.70725)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g222F734FB41E781BE876FA1D18809A1&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g358F78E45E593FA8755E4767B3FAA37E&quot; x=&quot;4.488&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g340AB27F2C8F6536A22645C5B8782396&quot; x=&quot;9.2735&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform=&quot;translate(23.367777778 51.447)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.687777778 58.927)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gC5E2FF3401D41F849419013CA8730404&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 37.245555556 58.927)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 50.023333333 58.927)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g17477BF20E3154367137D1088035D323&quot; x=&quot;7.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; x=&quot;12.22&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; x=&quot;15.28&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;19.2&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;23.64&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 81.423333333 58.927)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;translate(112.291111111 63.907)&quot;&gt;&lt;g transform=&quot;translate(4 0.051)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 6.822 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1BA453E68118569852F1EE25C23C13AB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 15.881111111 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g3AFC1E1C6084C2978DF3D569E28C9ED8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 23.435722222 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g7E076845AD5FB032EAA9080C51DB0589&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; x=&quot;6.137&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; x=&quot;10.387&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g56DA312D17328634B79D1808284C07A8&quot; x=&quot;12.988&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;16.32&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; x=&quot;20.094&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 47.303722222 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g46CE13F1B5A06DB23D1B7850ECE88C30&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 51.083388889 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g1BA453E68118569852F1EE25C23C13AB&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 57.781388889 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8E1884305EC1C1EEFAD30A43F77A336A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 66.7555 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g34D8608EF6AA267C9C5FB353303AB77&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 75.729611111 2.176)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g8E1884305EC1C1EEFAD30A43F77A336A&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;g transform=&quot;translate(39.067777778 68.407)&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 42.387777778 75.887)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-gC5E2FF3401D41F849419013CA8730404&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 52.945555556 75.887)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 65.723333333 75.887)&quot;&gt;&lt;use xlink:href=&quot;#helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia1f628d16-gF0C36D80D26B0B0857EE4DB6EE3C79AF&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.69 2.29c 0.09 0.04 0.13 0.11 0.13 0.21c 0 0.1 -0.04 0.17 -0.13 0.21l -5.79 2.74c -0.05 0.01 -0.08 0.02 -0.1 0.02c -0.16 0 -0.24 -0.08 -0.24 -0.24v -5.46c 0 -0.16 0.08 -0.24 0.24 -0.24c 0.02 0 0.05 0.01 0.1 0.02Z m -5.66 2.57l 5 -2.36l -5 -2.36Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g6C7EA5BE9CFB6D2ED55C7746A26C9BD5&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.925 4.487h 0.826c 0.497 0 0.819 -0.105 0.98 -0.308c 0.224 -0.273 0.252 -0.532 0.315 -1.029h 0.231l -0.203 1.61h -3.843v -0.273h 0.196c 0.245 0 0.392 -0.014 0.441 -0.049c 0.049 -0.035 0.077 -0.119 0.077 -0.245v -3.626c 0 -0.126 -0.028 -0.21 -0.077 -0.245c -0.049 -0.035 -0.196 -0.049 -0.441 -0.049h -0.196v -0.273c 0.182 0.014 0.539 0.021 1.078 0.021c 0.609 0 1.001 -0.007 1.19 -0.021v 0.273h -0.259c -0.371 0 -0.574 0.035 -0.609 0.112c -0.014 0.035 -0.021 0.098 -0.021 0.189v 1.673h 0.567c 0.301 0 0.497 -0.056 0.581 -0.161c 0.084 -0.105 0.126 -0.315 0.126 -0.644h 0.224v 1.883h -0.224c 0 -0.322 -0.042 -0.539 -0.126 -0.644c -0.084 -0.105 -0.28 -0.161 -0.581 -0.161h -0.567v 1.722c 0 0.252 0.042 0.245 0.315 0.245Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g2F7842FC8315D847FDA1D80D8B014E81&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.381 0.637v 0.413h -0.224v -0.413c 0 -0.273 -0.077 -0.413 -0.224 -0.413c -0.14 0 -0.224 0.175 -0.224 0.315v 1.379c 0 0.245 -0.028 0.427 -0.077 0.553c -0.168 0.413 -0.651 0.665 -1.141 0.665c -0.539 0 -1.071 -0.301 -1.071 -0.805c 0 -0.231 0.119 -0.35 0.35 -0.35c 0.231 0 0.343 0.112 0.343 0.343c 0 0.203 -0.105 0.322 -0.322 0.343c 0.154 0.175 0.385 0.266 0.686 0.266c 0.434 0 0.7 -0.399 0.7 -0.854v -0.231c -0.546 -0.035 -0.959 -0.119 -1.246 -0.252c -0.469 -0.217 -0.707 -0.518 -0.707 -0.917c 0 -0.182 0.07 -0.336 0.203 -0.455c 0.224 -0.203 0.532 -0.301 0.924 -0.301c 0.413 0 0.707 0.175 0.889 0.532c 0.049 -0.266 0.245 -0.497 0.546 -0.497c 0.371 0 0.595 0.294 0.595 0.679Z m -1.981 -0.511c -0.322 0 -0.588 0.238 -0.588 0.56c 0 0.651 0.679 0.931 1.365 0.966v -0.665c 0 -0.469 -0.308 -0.861 -0.777 -0.861Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g2DBE370D0655DFF0661B5BE47B6910FD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.205 2.891c 0.322 0 0.483 -0.245 0.483 -0.742v -1.596c 0 -0.133 -0.021 -0.217 -0.07 -0.245c -0.049 -0.028 -0.21 -0.042 -0.469 -0.042v -0.266l 0.812 0.021l 0.805 -0.021v 0.266c -0.259 0 -0.413 0.014 -0.462 0.042c -0.049 0.028 -0.077 0.112 -0.077 0.245v 1.26c 0 0.56 0.364 1.078 0.903 1.078c 0.329 0 0.49 -0.245 0.49 -0.742v -1.596c 0 -0.133 -0.028 -0.217 -0.077 -0.245c -0.049 -0.028 -0.21 -0.042 -0.469 -0.042v -0.266l 0.812 0.021l 0.805 -0.021v 0.266c -0.224 0 -0.371 0.007 -0.441 0.028c -0.07 0.021 -0.098 0.07 -0.098 0.154v 1.309c 0 0.329 -0.014 0.56 -0.035 0.693c -0.07 0.427 -0.385 0.644 -0.938 0.644c -0.441 0 -0.77 -0.203 -0.994 -0.616c -0.098 0.413 -0.406 0.616 -0.931 0.616c -0.441 0 -0.777 -0.21 -1.001 -0.63v 0.63l -1.029 -0.077v -0.266c 0.252 0 0.406 -0.021 0.462 -0.063c 0.056 -0.042 0.077 -0.133 0.077 -0.294v -1.841c 0 -0.133 -0.028 -0.217 -0.077 -0.245c -0.049 -0.028 -0.203 -0.042 -0.462 -0.042v -0.266l 0.812 0.021l 0.805 -0.021v 0.266c -0.259 0 -0.42 0.014 -0.469 0.042c -0.049 0.028 -0.077 0.112 -0.077 0.245v 1.26c 0 0.567 0.371 1.078 0.91 1.078Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g4F2C437E6F04583D70C40E097B25A27E&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.37 0.03c 0.18 0 0.8 -0.03 0.99 -0.03c 0.15 0 0.22 0.08 0.22 0.23c 0 0.09 -0.06 0.15 -0.19 0.16c -0.29 0.01 -0.43 0.11 -0.43 0.3c 0 0.09 0.09 0.29 0.28 0.59c 0.27 0.45 0.46 0.78 0.59 1h 2.43c 0 -0.07 0.01 -0.21 0.04 -0.43c 0.07 -0.73 0.11 -1.13 0.11 -1.18c 0 -0.19 -0.22 -0.28 -0.67 -0.28c -0.19 0 -0.28 -0.08 -0.28 -0.24c 0 -0.1 0.06 -0.15 0.18 -0.15c 0.24 0 1 0.03 1.24 0.03c 0.2 0 0.91 -0.03 1.11 -0.03c 0.15 0 0.22 0.08 0.22 0.24c 0 0.1 -0.09 0.15 -0.27 0.15c -0.28 0 -0.45 0.02 -0.5 0.05c -0.05 0.03 -0.09 0.12 -0.1 0.27l -0.6 6.18c -0.03 0.19 -0.02 0.27 -0.23 0.27c -0.12 0 -0.22 -0.06 -0.29 -0.19l -3.44 -5.77c -0.3 -0.5 -0.7 -0.77 -1.19 -0.81c -0.16 -0.01 -0.24 -0.09 -0.24 -0.24c 0 -0.1 0.06 -0.15 0.17 -0.15c 0.16 0 0.69 0.03 0.85 0.03Z m 3.55 5.74l 0.3 -3.1h -2.15Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g2455479B5EAE520D2F120986F003C123&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 9.32 2.34c 0.07 0.03 0.11 0.09 0.11 0.16c 0 0.07 -0.04 0.13 -0.11 0.16c -0.48 0.16 -0.93 0.5 -1.35 1.02c -0.28 0.35 -0.47 0.76 -0.56 1.23c -0.03 0.13 -0.11 0.19 -0.24 0.19c -0.16 0 -0.24 -0.08 -0.24 -0.25l 0.01 -0.02v -0.01c 0.17 -0.87 0.61 -1.56 1.34 -2.08h -7.46c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.16 0.08 -0.24 0.24 -0.24h 7.46c -0.73 -0.52 -1.17 -1.21 -1.34 -2.08v -0.01l -0.01 -0.02c 0 -0.17 0.08 -0.25 0.24 -0.25c 0.13 0 0.21 0.06 0.24 0.19c 0.09 0.47 0.28 0.88 0.56 1.23c 0.42 0.52 0.87 0.86 1.35 1.02Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g49234BD97F8D7B774F89A64C3A887F83&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.179 -0.0935l 1.3005 0.0935v 0.323c -0.306 0 -0.4845 0.017 -0.5525 0.068c -0.068 0.051 -0.102 0.1785 -0.102 0.374v 5.134l -1.2665 -0.0935v -0.323c 0.2975 0 0.4845 -0.0255 0.5525 -0.0765c 0.068 -0.051 0.0935 -0.17 0.0935 -0.3655v -1.7255c -0.272 0.3145 -0.612 0.4675 -1.02 0.4675c -0.527 0 -0.9775 -0.187 -1.343 -0.5695c -0.3655 -0.3825 -0.5525 -0.8415 -0.5525 -1.377c 0 -0.5185 0.17 -0.969 0.5185 -1.3515c 0.3485 -0.3825 0.7735 -0.578 1.292 -0.578c 0.4335 0 0.799 0.1615 1.0795 0.493Z m -0.9605 3.621c 0.3655 0 0.663 -0.1615 0.8755 -0.4845c 0.0595 -0.0935 0.085 -0.187 0.085 -0.2975v -1.717c 0 -0.1105 -0.0255 -0.204 -0.085 -0.2975c -0.238 -0.3825 -0.561 -0.5695 -0.9605 -0.5695c -0.3485 0 -0.629 0.17 -0.85 0.5185c -0.153 0.255 -0.2295 0.6375 -0.2295 1.1475c 0 0.9265 0.3145 1.7 1.1645 1.7Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g5BB3FA3778B31D54AEE7893627C324BB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.5275 2.1335c 0 0.9775 -0.5695 1.6745 -1.5215 1.6745c -0.51 0 -0.935 -0.1955 -1.2835 -0.595c -0.323 -0.374 -0.4845 -0.8245 -0.4845 -1.343c 0 -0.5355 0.1785 -0.986 0.5355 -1.377c 0.357 -0.391 0.799 -0.5865 1.326 -0.5865c 0.4845 0 0.8585 0.17 1.1135 0.5015c 0.2125 0.2805 0.3145 0.4845 0.3145 0.6205c 0 0.085 -0.051 0.1275 -0.1445 0.1275c -0.068 0 -0.1105 -0.0425 -0.136 -0.136c -0.187 -0.561 -0.5525 -0.8415 -1.0965 -0.8415c -0.3825 0 -0.68 0.1785 -0.9095 0.544c -0.1615 0.2635 -0.238 0.663 -0.2465 1.207h 2.295c 0.187 0 0.238 0.017 0.238 0.204Z m -0.7565 0.833c 0.0935 -0.2805 0.136 -0.5525 0.136 -0.799h -1.904c 0.0255 0.561 0.17 0.9435 0.425 1.139c 0.2125 0.17 0.3995 0.255 0.578 0.255c 0.3825 0 0.6375 -0.1955 0.765 -0.595Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gBB0FFA600D3925CE23D5FB5F1E6937EE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.2525 5.9925c -0.7565 0 -1.3175 -0.612 -1.3175 -1.3685v -0.935h -0.6545v -0.323h 0.6545v -2.6945c 0 -0.1615 -0.0255 -0.2635 -0.085 -0.2975c -0.0595 -0.034 -0.2465 -0.0425 -0.561 -0.0425v -0.3315l 0.9775 0.0255c 0.357 0.0085 0.7225 0 1.088 -0.0255v 0.3315h -0.204c -0.2805 0 -0.459 0.017 -0.5185 0.0595c -0.0595 0.0425 -0.085 0.1445 -0.085 0.2975v 2.6775h 0.952v 0.323h -0.9775v 0.9435c 0 0.51 0.2635 1.105 0.731 1.105c 0.068 0 0.1275 -0.0085 0.187 -0.0255c -0.1275 -0.068 -0.1955 -0.187 -0.1955 -0.3485c 0 -0.2635 0.1275 -0.3995 0.391 -0.3995c 0.2635 0 0.3995 0.136 0.3995 0.408c 0 0.3825 -0.3995 0.6205 -0.782 0.6205Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g249F38933675978CA6BA9B66F5965FA7&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.649 5.1085c 0 0.255 -0.2125 0.476 -0.4675 0.476c -0.255 0 -0.476 -0.221 -0.476 -0.476c 0 -0.255 0.2125 -0.4845 0.4675 -0.4845c 0.2635 0 0.476 0.221 0.476 0.4845Z m -0.4335 -5.083l 0.884 -0.0255v 0.3315c -0.2805 0 -0.4505 0.017 -0.5015 0.051c -0.051 0.034 -0.068 0.1275 -0.068 0.2805v 3.1195l -1.2155 -0.102v -0.323c 0.2805 0 0.459 -0.0255 0.5185 -0.068c 0.0595 -0.0425 0.085 -0.1615 0.085 -0.357v -2.261c 0 -0.1615 -0.0255 -0.2635 -0.085 -0.2975c -0.0595 -0.034 -0.2465 -0.0425 -0.5525 -0.0425v -0.3315Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g8C61984FCD6243B0954CAF1A47F80040&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.669 3.5105c 0.3825 0 0.578 -0.2975 0.578 -0.901v -1.938c 0 -0.1615 -0.0255 -0.2635 -0.085 -0.2975c -0.0595 -0.034 -0.2465 -0.051 -0.561 -0.051v -0.323l 0.9775 0.0255l 0.969 -0.0255v 0.323c -0.272 0 -0.4505 0.0085 -0.5355 0.034c -0.085 0.0255 -0.119 0.085 -0.119 0.187v 1.5895c 0 0.3995 -0.0085 0.68 -0.034 0.8415c -0.085 0.5185 -0.4675 0.782 -1.139 0.782c -0.5355 0 -0.935 -0.255 -1.1985 -0.765v 0.765l -1.2495 -0.0935v -0.323c 0.306 0 0.493 -0.0255 0.561 -0.0765c 0.068 -0.051 0.0935 -0.1615 0.0935 -0.357v -2.2355c 0 -0.1615 -0.034 -0.2635 -0.0935 -0.2975c -0.0595 -0.034 -0.2465 -0.051 -0.561 -0.051v -0.323l 0.9775 0.0255l 0.969 -0.0255v 0.323c -0.3145 0 -0.493 0.017 -0.5525 0.051c -0.0595 0.034 -0.0935 0.136 -0.0935 0.2975v 1.53c 0 0.6885 0.4335 1.309 1.0965 1.309Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gA4853A2CA3EA6B1949E4395798CA21DA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.822 1.071v 0.51h -0.272v -0.493c 0 -0.425 -0.153 -0.901 -0.527 -0.901c -0.3485 0 -0.5185 0.289 -0.5185 0.867v 2.3035h 1.1815v 0.323h -1.1815v 1.547h -0.272c -0.0085 -0.2805 -0.034 -0.527 -0.0935 -0.748c -0.1445 -0.561 -0.476 -0.85 -0.9775 -0.8755v -0.2465h 0.7055v -2.2865c 0 -0.5015 0.153 -0.8245 0.4505 -0.986c 0.2295 -0.119 0.442 -0.1785 0.6545 -0.1785c 0.561 0 0.85 0.561 0.85 1.1645Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g44D65A17C6855B15CDB9D63DE83F9D99&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.1165 -0.0935c 0.527 0 0.969 0.187 1.3345 0.561c 0.3655 0.374 0.5525 0.8245 0.5525 1.3515c 0 0.5355 -0.1785 1.003 -0.5355 1.394c -0.357 0.391 -0.8075 0.595 -1.343 0.595c -0.5355 0 -0.9775 -0.204 -1.343 -0.595c -0.3655 -0.391 -0.544 -0.8585 -0.544 -1.394c 0 -0.527 0.1785 -0.9775 0.544 -1.3515c 0.3655 -0.374 0.816 -0.561 1.3345 -0.561Z m 0.0085 0.272c -0.408 0 -0.714 0.1785 -0.9265 0.544c -0.136 0.238 -0.204 0.629 -0.204 1.1645c 0 0.5185 0.068 0.8925 0.1955 1.1305c 0.204 0.3655 0.51 0.544 0.9265 0.544c 0.3995 0 0.7055 -0.1785 0.918 -0.527c 0.1445 -0.238 0.2125 -0.6205 0.2125 -1.1475c 0 -0.986 -0.289 -1.7085 -1.122 -1.7085Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g16E6FABDC9C80C42F8BE020D5F10A392&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.6865 1.9465c 0.0765 0.034 0.1105 0.0935 0.1105 0.1785c 0 0.085 -0.034 0.1445 -0.1105 0.1785l -4.9215 2.329c -0.0425 0.0085 -0.068 0.017 -0.085 0.017c -0.136 0 -0.204 -0.068 -0.204 -0.204v -4.641c 0 -0.136 0.068 -0.204 0.204 -0.204c 0.017 0 0.0425 0.0085 0.085 0.017Z m -4.811 2.1845l 4.25 -2.006l -4.25 -2.006Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g8702FE1C44ED0DAC9C9EF6F4541A8070&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63625 3.81395h 0.7021c 0.42245 0 0.69615 -0.08925 0.833 -0.2618c 0.1904 -0.23205 0.2142 -0.4522 0.26775 -0.87465h 0.19635l -0.17255 1.3685h -3.26655v -0.23205h 0.1666c 0.20825 0 0.3332 -0.0119 0.37485 -0.04165c 0.04165 -0.02975 0.06545 -0.10115 0.06545 -0.20825v -3.0821c 0 -0.1071 -0.0238 -0.1785 -0.06545 -0.20825c -0.04165 -0.02975 -0.1666 -0.04165 -0.37485 -0.04165h -0.1666v -0.23205c 0.1547 0.0119 0.45815 0.01785 0.9163 0.01785c 0.51765 0 0.85085 -0.00595 1.0115 -0.01785v 0.23205h -0.22015c -0.31535 0 -0.4879 0.02975 -0.51765 0.0952c -0.0119 0.02975 -0.01785 0.0833 -0.01785 0.16065v 1.42205h 0.48195c 0.25585 0 0.42245 -0.0476 0.49385 -0.13685c 0.0714 -0.08925 0.1071 -0.26775 0.1071 -0.5474h 0.1904v 1.60055h -0.1904c 0 -0.2737 -0.0357 -0.45815 -0.1071 -0.5474c -0.0714 -0.08925 -0.238 -0.13685 -0.49385 -0.13685h -0.48195v 1.4637c 0 0.2142 0.0357 0.20825 0.26775 0.20825Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g9610288EFE742F55BA34B736BFE18222&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.87385 0.54145v 0.35105h -0.1904v -0.35105c 0 -0.23205 -0.06545 -0.35105 -0.1904 -0.35105c -0.119 0 -0.1904 0.14875 -0.1904 0.26775v 1.17215c 0 0.20825 -0.0238 0.36295 -0.06545 0.47005c -0.1428 0.35105 -0.55335 0.56525 -0.96985 0.56525c -0.45815 0 -0.91035 -0.25585 -0.91035 -0.68425c 0 -0.19635 0.10115 -0.2975 0.2975 -0.2975c 0.19635 0 0.29155 0.0952 0.29155 0.29155c 0 0.17255 -0.08925 0.2737 -0.2737 0.29155c 0.1309 0.14875 0.32725 0.2261 0.5831 0.2261c 0.3689 0 0.595 -0.33915 0.595 -0.7259v -0.19635c -0.4641 -0.02975 -0.81515 -0.10115 -1.0591 -0.2142c -0.39865 -0.18445 -0.60095 -0.4403 -0.60095 -0.77945c 0 -0.1547 0.0595 -0.2856 0.17255 -0.38675c 0.1904 -0.17255 0.4522 -0.25585 0.7854 -0.25585c 0.35105 0 0.60095 0.14875 0.75565 0.4522c 0.04165 -0.2261 0.20825 -0.42245 0.4641 -0.42245c 0.31535 0 0.50575 0.2499 0.50575 0.57715Z m -1.68385 -0.43435c -0.2737 0 -0.4998 0.2023 -0.4998 0.476c 0 0.55335 0.57715 0.79135 1.16025 0.8211v -0.56525c 0 -0.39865 -0.2618 -0.73185 -0.66045 -0.73185Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gCA4C5A596445222C7E188A267E26DAFE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.87425 2.45735c 0.2737 0 0.41055 -0.20825 0.41055 -0.6307v -1.3566c 0 -0.11305 -0.01785 -0.18445 -0.0595 -0.20825c -0.04165 -0.0238 -0.1785 -0.0357 -0.39865 -0.0357v -0.2261l 0.6902 0.01785l 0.68425 -0.01785v 0.2261c -0.22015 0 -0.35105 0.0119 -0.3927 0.0357c -0.04165 0.0238 -0.06545 0.0952 -0.06545 0.20825v 1.071c 0 0.476 0.3094 0.9163 0.76755 0.9163c 0.27965 0 0.4165 -0.20825 0.4165 -0.6307v -1.3566c 0 -0.11305 -0.0238 -0.18445 -0.06545 -0.20825c -0.04165 -0.0238 -0.1785 -0.0357 -0.39865 -0.0357v -0.2261l 0.6902 0.01785l 0.68425 -0.01785v 0.2261c -0.1904 0 -0.31535 0.00595 -0.37485 0.0238c -0.0595 0.01785 -0.0833 0.0595 -0.0833 0.1309v 1.11265c 0 0.27965 -0.0119 0.476 -0.02975 0.58905c -0.0595 0.36295 -0.32725 0.5474 -0.7973 0.5474c -0.37485 0 -0.6545 -0.17255 -0.8449 -0.5236c -0.0833 0.35105 -0.3451 0.5236 -0.79135 0.5236c -0.37485 0 -0.66045 -0.1785 -0.85085 -0.5355v 0.5355l -0.87465 -0.06545v -0.2261c 0.2142 0 0.3451 -0.01785 0.3927 -0.05355c 0.0476 -0.0357 0.06545 -0.11305 0.06545 -0.2499v -1.56485c 0 -0.11305 -0.0238 -0.18445 -0.06545 -0.20825c -0.04165 -0.0238 -0.17255 -0.0357 -0.3927 -0.0357v -0.2261l 0.6902 0.01785l 0.68425 -0.01785v 0.2261c -0.22015 0 -0.357 0.0119 -0.39865 0.0357c -0.04165 0.0238 -0.06545 0.0952 -0.06545 0.20825v 1.071c 0 0.48195 0.31535 0.9163 0.7735 0.9163Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g1296254C25BF8B536B0FB930CA3A255C&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.42 6.8c -0.19 0 -0.83 0.03 -1.02 0.03c -0.15 0 -0.22 -0.08 -0.22 -0.24c 0 -0.09 0.07 -0.14 0.21 -0.15c 0.43 0 0.64 -0.13 0.64 -0.39c 0 -0.06 -0.01 -0.13 -0.03 -0.2l -0.89 -3.53c -0.15 -0.57 -0.44 -1.06 -0.87 -1.48c -0.47 -0.45 -0.99 -0.67 -1.55 -0.67c -0.74 0 -1.17 0.5 -1.17 1.24l 0.01 0.09c 0 0.19 0.03 0.41 0.1 0.67l 0.96 3.85c 0.05 0.21 0.14 0.34 0.27 0.39c 0.06 0.02 0.23 0.03 0.52 0.03c 0.26 0 0.37 0 0.37 0.24c 0 0.1 -0.06 0.15 -0.17 0.15l -1.27 -0.03l -1.27 0.03c -0.16 0 -0.23 -0.09 -0.23 -0.24c 0 -0.07 0.03 -0.12 0.08 -0.13c 0.1 -0.01 0.18 -0.02 0.23 -0.02c 0.31 -0.01 0.49 -0.03 0.54 -0.04c 0.05 -0.01 0.07 -0.04 0.07 -0.09c 0 -0.02 -0.01 -0.09 -0.04 -0.2l -0.95 -3.81c -0.05 -0.19 -0.07 -0.38 -0.07 -0.58c 0 -1.15 0.83 -1.94 1.98 -1.94c 0.65 0 1.25 0.25 1.8 0.76c 0.53 0.48 0.87 1.04 1.03 1.69l 0.88 3.51c 0.13 0.51 0.41 0.69 1.03 0.7c 0.14 0.01 0.21 0.09 0.21 0.24v 0.04c -0.03 0.07 -0.08 0.11 -0.17 0.11c -0.19 0 -0.82 -0.03 -1.01 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gE7DD9E398F9847AF161CA1897742CCB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.65 4.43v 2.34c 0 0.19 -0.05 0.28 -0.15 0.28c -0.07 0 -0.13 -0.05 -0.19 -0.14l -0.47 -0.69c -0.3 0.31 -0.62 0.53 -0.97 0.67c -0.26 0.11 -0.54 0.16 -0.84 0.16c -0.97 0 -1.8 -0.35 -2.47 -1.07c -0.67 -0.72 -1 -1.57 -1 -2.56c 0 -0.99 0.33 -1.84 0.99 -2.55c 0.67 -0.73 1.5 -1.09 2.48 -1.09c 0.71 0 1.33 0.25 1.85 0.75c 0.52 0.5 0.77 1.1 0.77 1.81c 0 0.14 -0.06 0.21 -0.17 0.21c -0.1 0 -0.15 -0.04 -0.15 -0.13c 0 -0.01 0 -0.03 -0.01 -0.06c -0.06 -1.2 -0.92 -2.19 -2.17 -2.19c -0.37 0 -0.74 0.1 -1.13 0.3c -0.92 0.5 -1.36 1.46 -1.36 2.94c 0 1.4 0.49 2.48 1.36 2.95c 0.39 0.2 0.76 0.3 1.12 0.3c 1.24 0 1.95 -1.13 2.12 -2.31c 0.01 -0.13 0.08 -0.2 0.19 -0.2c 0.2 0 0.2 0.08 0.2 0.28Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g17477BF20E3154367137D1088035D323&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.49 -0.11c 0.62 0 1.14 0.22 1.57 0.66c 0.43 0.44 0.65 0.97 0.65 1.59c 0 0.63 -0.21 1.18 -0.63 1.64c -0.42 0.46 -0.95 0.7 -1.58 0.7c -0.63 0 -1.15 -0.24 -1.58 -0.7c -0.43 -0.46 -0.64 -1.01 -0.64 -1.64c 0 -0.62 0.21 -1.15 0.64 -1.59c 0.43 -0.44 0.96 -0.66 1.57 -0.66Z m 0.01 0.32c -0.48 0 -0.84 0.21 -1.09 0.64c -0.16 0.28 -0.24 0.74 -0.24 1.37c 0 0.61 0.08 1.05 0.23 1.33c 0.24 0.43 0.6 0.64 1.09 0.64c 0.47 0 0.83 -0.21 1.08 -0.62c 0.17 -0.28 0.25 -0.73 0.25 -1.35c 0 -1.16 -0.34 -2.01 -1.32 -2.01Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g1F9A1B2DDCBB0167924C9676D3DBE2EA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.65 7.05c -0.89 0 -1.55 -0.72 -1.55 -1.61v -1.1h -0.77v -0.38h 0.77v -3.17c 0 -0.19 -0.03 -0.31 -0.1 -0.35c -0.07 -0.04 -0.29 -0.05 -0.66 -0.05v -0.39l 1.15 0.03c 0.42 0.01 0.85 0 1.28 -0.03v 0.39h -0.24c -0.33 0 -0.54 0.02 -0.61 0.07c -0.07 0.05 -0.1 0.17 -0.1 0.35v 3.15h 1.12v 0.38h -1.15v 1.11c 0 0.6 0.31 1.3 0.86 1.3c 0.08 0 0.15 -0.01 0.22 -0.03c -0.15 -0.08 -0.23 -0.22 -0.23 -0.41c 0 -0.31 0.15 -0.47 0.46 -0.47c 0.31 0 0.47 0.16 0.47 0.48c 0 0.45 -0.47 0.73 -0.92 0.73Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g7D695E4CB9BD42D82111A737546DF381&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.64 3.78c 0 0.39 -0.37 0.64 -0.76 0.64c -0.51 0 -0.9 -0.3 -1.16 -0.91v 0.91l -1.44 -0.11v -0.38c 0.35 0 0.56 -0.03 0.64 -0.09c 0.08 -0.06 0.12 -0.19 0.12 -0.42v -2.63c 0 -0.19 -0.03 -0.31 -0.1 -0.35c -0.07 -0.04 -0.29 -0.06 -0.66 -0.06v -0.38l 1.15 0.03c 0.42 0.01 0.85 0 1.28 -0.03v 0.38h -0.24c -0.33 0 -0.54 0.03 -0.61 0.08c -0.07 0.05 -0.1 0.17 -0.1 0.35v 1.51c 0 0.43 0.08 0.82 0.23 1.15c 0.2 0.43 0.49 0.65 0.88 0.66c -0.1 -0.1 -0.15 -0.22 -0.15 -0.36c 0 -0.31 0.15 -0.46 0.46 -0.46c 0.27 0 0.46 0.21 0.46 0.47Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gB74A9BD98B58914FA51646C39C5D670A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.15 2.51c 0 1.15 -0.67 1.97 -1.79 1.97c -0.6 0 -1.1 -0.23 -1.51 -0.7c -0.38 -0.44 -0.57 -0.97 -0.57 -1.58c 0 -0.63 0.21 -1.16 0.63 -1.62c 0.42 -0.46 0.94 -0.69 1.56 -0.69c 0.57 0 1.01 0.2 1.31 0.59c 0.25 0.33 0.37 0.57 0.37 0.73c 0 0.1 -0.06 0.15 -0.17 0.15c -0.08 0 -0.13 -0.05 -0.16 -0.16c -0.22 -0.66 -0.65 -0.99 -1.29 -0.99c -0.45 0 -0.8 0.21 -1.07 0.64c -0.19 0.31 -0.28 0.78 -0.29 1.42h 2.7c 0.22 0 0.28 0.02 0.28 0.24Z m -0.89 0.98c 0.11 -0.33 0.16 -0.65 0.16 -0.94h -2.24c 0.03 0.66 0.2 1.11 0.5 1.34c 0.25 0.2 0.47 0.3 0.68 0.3c 0.45 0 0.75 -0.23 0.9 -0.7Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g1BA453E68118569852F1EE25C23C13AB&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.457 5.78c -0.1615 0 -0.7055 0.0255 -0.867 0.0255c -0.1275 0 -0.187 -0.068 -0.187 -0.204c 0 -0.0765 0.0595 -0.119 0.1785 -0.1275c 0.3655 0 0.544 -0.1105 0.544 -0.3315c 0 -0.051 -0.0085 -0.1105 -0.0255 -0.17l -0.7565 -3.0005c -0.1275 -0.4845 -0.374 -0.901 -0.7395 -1.258c -0.3995 -0.3825 -0.8415 -0.5695 -1.3175 -0.5695c -0.629 0 -0.9945 0.425 -0.9945 1.054l 0.0085 0.0765c 0 0.1615 0.0255 0.3485 0.085 0.5695l 0.816 3.2725c 0.0425 0.1785 0.119 0.289 0.2295 0.3315c 0.051 0.017 0.1955 0.0255 0.442 0.0255c 0.221 0 0.3145 0 0.3145 0.204c 0 0.085 -0.051 0.1275 -0.1445 0.1275l -1.0795 -0.0255l -1.0795 0.0255c -0.136 0 -0.1955 -0.0765 -0.1955 -0.204c 0 -0.0595 0.0255 -0.102 0.068 -0.1105c 0.085 -0.0085 0.153 -0.017 0.1955 -0.017c 0.2635 -0.0085 0.4165 -0.0255 0.459 -0.034c 0.0425 -0.0085 0.0595 -0.034 0.0595 -0.0765c 0 -0.017 -0.0085 -0.0765 -0.034 -0.17l -0.8075 -3.2385c -0.0425 -0.1615 -0.0595 -0.323 -0.0595 -0.493c 0 -0.9775 0.7055 -1.649 1.683 -1.649c 0.5525 0 1.0625 0.2125 1.53 0.646c 0.4505 0.408 0.7395 0.884 0.8755 1.4365l 0.748 2.9835c 0.1105 0.4335 0.3485 0.5865 0.8755 0.595c 0.119 0.0085 0.1785 0.0765 0.1785 0.204v 0.034c -0.0255 0.0595 -0.068 0.0935 -0.1445 0.0935c -0.1615 0 -0.697 -0.0255 -0.8585 -0.0255Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g3AFC1E1C6084C2978DF3D569E28C9ED8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.5135 0c 0.136 0 0.204 0.068 0.204 0.204v 5.406c 0 0.136 -0.068 0.204 -0.204 0.204c -0.1275 0 -0.1955 -0.068 -0.1955 -0.204v -2.499h -3.6465c -0.136 0 -0.204 -0.068 -0.204 -0.204c 0 -0.136 0.068 -0.204 0.204 -0.204h 3.6465v -2.499c 0 -0.136 0.068 -0.204 0.1955 -0.204Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g7E076845AD5FB032EAA9080C51DB0589&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.6525 3.7655v 1.989c 0 0.1615 -0.0425 0.238 -0.1275 0.238c -0.0595 0 -0.1105 -0.0425 -0.1615 -0.119l -0.3995 -0.5865c -0.255 0.2635 -0.527 0.4505 -0.8245 0.5695c -0.221 0.0935 -0.459 0.136 -0.714 0.136c -0.8245 0 -1.53 -0.2975 -2.0995 -0.9095c -0.5695 -0.612 -0.85 -1.3345 -0.85 -2.176c 0 -0.8415 0.2805 -1.564 0.8415 -2.1675c 0.5695 -0.6205 1.275 -0.9265 2.108 -0.9265c 0.6035 0 1.1305 0.2125 1.5725 0.6375c 0.442 0.425 0.6545 0.935 0.6545 1.5385c 0 0.119 -0.051 0.1785 -0.1445 0.1785c -0.085 0 -0.1275 -0.034 -0.1275 -0.1105c 0 -0.0085 0 -0.0255 -0.0085 -0.051c -0.051 -1.02 -0.782 -1.8615 -1.8445 -1.8615c -0.3145 0 -0.629 0.085 -0.9605 0.255c -0.782 0.425 -1.156 1.241 -1.156 2.499c 0 1.19 0.4165 2.108 1.156 2.5075c 0.3315 0.17 0.646 0.255 0.952 0.255c 1.054 0 1.6575 -0.9605 1.802 -1.9635c 0.0085 -0.1105 0.068 -0.17 0.1615 -0.17c 0.17 0 0.17 0.068 0.17 0.238Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g56DA312D17328634B79D1808284C07A8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.094 3.213c 0 0.3315 -0.3145 0.544 -0.646 0.544c -0.4335 0 -0.765 -0.255 -0.986 -0.7735v 0.7735l -1.224 -0.0935v -0.323c 0.2975 0 0.476 -0.0255 0.544 -0.0765c 0.068 -0.051 0.102 -0.1615 0.102 -0.357v -2.2355c 0 -0.1615 -0.0255 -0.2635 -0.085 -0.2975c -0.0595 -0.034 -0.2465 -0.051 -0.561 -0.051v -0.323l 0.9775 0.0255c 0.357 0.0085 0.7225 0 1.088 -0.0255v 0.323h -0.204c -0.2805 0 -0.459 0.0255 -0.5185 0.068c -0.0595 0.0425 -0.085 0.1445 -0.085 0.2975v 1.2835c 0 0.3655 0.068 0.697 0.1955 0.9775c 0.17 0.3655 0.4165 0.5525 0.748 0.561c -0.085 -0.085 -0.1275 -0.187 -0.1275 -0.306c 0 -0.2635 0.1275 -0.391 0.391 -0.391c 0.2295 0 0.391 0.1785 0.391 0.3995Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g222F734FB41E781BE876FA1D18809A1&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.2665 0h 1.8105c 0.2295 0 1.0115 -0.017 1.0115 -0.017c 0.085 0.425 0.17 0.9775 0.221 1.4195c -0.085 0.0425 -0.1785 0.0595 -0.2805 0.0425c -0.17 -0.612 -0.4845 -1.1135 -1.3855 -1.1135h -0.5355c -0.3315 0 -0.4845 0.1615 -0.4845 0.595v 3.519c 0 0.7055 0.1445 0.748 0.7395 0.7735c 0.051 0.051 0.051 0.2295 0 0.2805c -0.3825 -0.0085 -0.782 -0.017 -1.105 -0.017c -0.306 0 -0.7055 0.0085 -1.0965 0.017c -0.051 -0.051 -0.051 -0.2295 0 -0.2805c 0.595 -0.0255 0.7395 -0.068 0.7395 -0.7735v -3.4085c 0 -0.7055 -0.1445 -0.748 -0.7395 -0.7735c -0.051 -0.051 -0.051 -0.2295 0 -0.2805c 0.3315 0.0085 0.816 0.017 1.105 0.017Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g358F78E45E593FA8755E4767B3FAA37E&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.4795 1.9975c 0 1.207 -0.969 1.9975 -2.074 1.9975c -1.1815 0 -2.091 -0.8585 -2.091 -2.108c 0 -1.156 0.8755 -1.972 2.023 -1.972c 1.394 0 2.142 0.9775 2.142 2.0825Z m -2.1505 1.717c 0.7565 0 1.411 -0.697 1.411 -1.836c 0 -1.0455 -0.5185 -1.683 -1.275 -1.683c -0.8245 0 -1.411 0.748 -1.411 1.7935c 0 1.1475 0.6375 1.7255 1.275 1.7255Z m -1.0455 1.156c 0 -0.221 0.1785 -0.3995 0.3995 -0.3995c 0.221 0 0.3995 0.1785 0.3995 0.3995c 0 0.221 -0.1785 0.408 -0.3995 0.408c -0.221 0 -0.3995 -0.187 -0.3995 -0.408Z m 1.4365 0c 0 -0.221 0.1785 -0.3995 0.3995 -0.3995c 0.221 0 0.3995 0.1785 0.3995 0.3995c 0 0.221 -0.1785 0.408 -0.3995 0.408c -0.221 0 -0.3995 -0.187 -0.3995 -0.408Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g340AB27F2C8F6536A22645C5B8782396&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.2665 0c 0.255 0 0.697 -0.017 1.173 -0.017c 1.1305 0 1.53 0.4675 1.53 1.0795c 0 0.5525 -0.2805 0.9265 -0.8755 1.0625c 0.34 0.153 0.612 0.5355 0.612 0.867c 0 0.476 -0.221 0.935 -1.4535 0.935c -0.4505 0 -0.748 -0.017 -0.9945 -0.017c -0.2465 0 -0.629 0.0085 -0.9435 0.017c -0.051 -0.051 -0.051 -0.2295 0 -0.2805c 0.5185 -0.034 0.612 -0.068 0.612 -0.7735v -1.836c 0 -0.7055 -0.0935 -0.731 -0.612 -0.7735c -0.051 -0.051 -0.051 -0.2295 0 -0.2805c 0.357 0.0085 0.714 0.017 0.952 0.017Z m 0.3315 1.972h 0.663c 0.7735 0 0.969 -0.391 0.969 -0.85c 0 -0.374 -0.136 -0.8585 -1.003 -0.8585c -0.5525 0 -0.629 0.119 -0.629 0.4335Z m 0 1.326c 0 0.2635 0.0595 0.3485 0.646 0.3485c 0.374 0 0.816 -0.0935 0.816 -0.663c 0 -0.51 -0.2465 -0.731 -0.799 -0.731h -0.663Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-gC5E2FF3401D41F849419013CA8730404&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.98 6.64h -6.18c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.15 0.08 -0.23 0.24 -0.23h 2.85v -6.13c 0 -0.16 0.08 -0.24 0.24 -0.24c 0.16 0 0.24 0.08 0.24 0.24v 6.13h 2.85c 0.16 0 0.24 0.08 0.24 0.23c 0 0.13 -0.11 0.24 -0.24 0.24Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g46CE13F1B5A06DB23D1B7850ECE88C30&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.1815 0.901c -0.272 0 -0.4505 -0.204 -0.4505 -0.476c 0 -0.255 0.1955 -0.4675 0.4505 -0.4675c 0.119 0 0.221 0.034 0.2975 0.1105l 0.0085 -0.068c 0 -0.5355 -0.1785 -0.9945 -0.5355 -1.36c -0.0595 -0.068 -0.0935 -0.119 -0.0935 -0.153c 0 -0.085 0.034 -0.1275 0.1105 -0.1275c 0.0765 0 0.1785 0.102 0.323 0.2975c 0.289 0.408 0.4335 0.8585 0.4335 1.343c 0 0.4505 -0.153 0.901 -0.544 0.901Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g8E1884305EC1C1EEFAD30A43F77A336A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.933 5.644h -5.253c -0.136 0 -0.204 -0.068 -0.204 -0.204c 0 -0.1275 0.068 -0.1955 0.204 -0.1955h 2.4225v -5.2105c 0 -0.136 0.068 -0.204 0.204 -0.204c 0.136 0 0.204 0.068 0.204 0.204v 5.2105h 2.4225c 0.136 0 0.204 0.068 0.204 0.1955c 0 0.1105 -0.0935 0.204 -0.204 0.204Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia1f628d16-g34D8608EF6AA267C9C5FB353303AB77&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.933 3.1195h -5.253c -0.136 0 -0.204 -0.068 -0.204 -0.1955c 0 -0.1275 0.068 -0.1955 0.204 -0.1955h 5.253c 0.136 0 0.204 0.068 0.204 0.1955c 0 0.102 -0.0935 0.1955 -0.204 0.1955Z m 0 -1.598h -5.253c -0.136 0 -0.204 -0.068 -0.204 -0.1955c 0 -0.1275 0.068 -0.1955 0.204 -0.1955h 5.253c 0.136 0 0.204 0.068 0.204 0.1955c 0 0.1105 -0.0935 0.1955 -0.204 0.1955Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Just as for presheaves, the fixed point constructed above is &lt;em&gt;unique&lt;/em&gt;: the two transpositions are bijections, and the presheaf-level fixed point is already unique.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Later on families</title>
    <id>https://stevenschaefer.net/later-family.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/later-family.html"/>
    <published>2026-07-19T06:01:18Z</published>
    <updated>2026-07-19T06:01:18Z</updated>
    <category term="category-theory"/>
    <category term="families"/>
    <category term="guarded-recursion"/>
    <category term="presheaf"/>
    <category term="right-adjoint"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;Conjugation with the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/presheaf-family-adjoint-triple.html&quot; data-entry=&quot;presheaf-family-adjoint-triple&quot;&gt;adjunction between presheaves and families&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; lets us induce a later construction on families from the one on presheaves,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0em&quot;&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0em&quot;&gt;∘&lt;/mo&gt;&lt;mo&gt;⊳&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Concretely, later on families evaluates to&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;/msub&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≅&lt;/mo&gt;&lt;mspace width=&quot;0.2778em&quot;/&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∏&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≺&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mtext&gt; &lt;/mtext&gt;&lt;munder&gt;&lt;mo form=&quot;prefix&quot;&gt;∏&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;/munder&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Locally contractive endofunctors</title>
    <id>https://stevenschaefer.net/locally-contractive-functor.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/locally-contractive-functor.html"/>
    <published>2026-07-19T06:01:17Z</published>
    <updated>2026-07-19T06:01:17Z</updated>
    <category term="category-theory"/>
    <category term="guarded-recursion"/>
    <category term="presheaf"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; for the presheaf of morphisms &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. An endofunctor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on presheaves is &lt;em&gt;locally contractive&lt;/em&gt; when its action on morphisms factors through &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-presheaf.html&quot; data-entry=&quot;later-presheaf&quot;&gt;later&lt;/a&gt;: there is a map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;msub&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝛿&lt;/mi&gt;&lt;/msub&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑋&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mi&gt;𝑌&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Löb induction for presheaves on a direct category</title>
    <id>https://stevenschaefer.net/lob-presheaf.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/lob-presheaf.html"/>
    <published>2026-07-19T06:01:15Z</published>
    <updated>2026-07-19T06:01:15Z</updated>
    <category term="category-theory"/>
    <category term="guarded-recursion"/>
    <category term="presheaf"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; be a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct category&lt;/a&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; a presheaf on it. Every map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;has a fixed point: a global element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;⊤&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝗅ö𝖻&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;and this fixed point is &lt;em&gt;unique&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The hypothesis says: the value of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at any object is determined by its values over the strict past — &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; turns a coherent family over the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot; data-entry=&quot;strict-downset-sieve&quot;&gt;strict downset&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; into a value at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. The proof is recursion along the well-founded &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≺&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt;: at each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the section already constructed over the past assembles into an element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝜑&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; extends it to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Earlier on presheaves</title>
    <id>https://stevenschaefer.net/earlier-presheaf.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/earlier-presheaf.html"/>
    <published>2026-07-19T06:01:14Z</published>
    <updated>2026-07-19T06:01:14Z</updated>
    <category term="category-theory"/>
    <category term="guarded-recursion"/>
    <category term="left-adjoint"/>
    <category term="presheaf"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;&lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/later-presheaf.html&quot; data-entry=&quot;later-presheaf&quot;&gt;Later&lt;/a&gt; takes a &lt;em&gt;limit&lt;/em&gt; over smaller indices. Dually, the &lt;em&gt;earlier&lt;/em&gt; modality takes a colimit over larger indices: an element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊲&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-element sitting at some object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; strictly above &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, carried down along a chosen morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Earlier is left adjoint to later:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊲&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊣&lt;/mo&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Under this adjunction, &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; corresponds to&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗉𝗋𝖾𝗏&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0em&quot;&gt;:&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊲&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Later on presheaves</title>
    <id>https://stevenschaefer.net/later-presheaf.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/later-presheaf.html"/>
    <published>2026-07-19T05:58:58Z</published>
    <updated>2026-07-19T05:58:58Z</updated>
    <category term="category-theory"/>
    <category term="guarded-recursion"/>
    <category term="presheaf"/>
    <category term="right-adjoint"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;The &lt;em&gt;later&lt;/em&gt; modality for presheaves on a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct category&lt;/a&gt; is given by the presheaf of natural transformations&lt;/p&gt;
&lt;p&gt;out of the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot; data-entry=&quot;strict-downset-sieve&quot;&gt;strict downset&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;An element of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a coherent choice of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-elements at all objects strictly smaller than &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Restriction in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; along &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; precomposes with the induced map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;. At an object of minimal degree the strict downset is empty, so &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is trivial there.&lt;/p&gt;
&lt;p&gt;Via functoriality, every presheaf restricts to smaller indices. Thus we may define the map&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝗇𝖾𝗑𝗍&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;mo rspace=&quot;0em&quot; stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mo lspace=&quot;0em&quot;&gt;⊳&lt;/mo&gt;&lt;mi&gt;𝑃&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;that sends an element &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑝&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to the family of all its restrictions along morphisms from strictly lower objects.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Maximality of the strict downset among proper sieves</title>
    <id>https://stevenschaefer.net/strict-downset-maximal.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/strict-downset-maximal.html"/>
    <published>2026-07-19T05:58:57Z</published>
    <updated>2026-07-19T05:58:57Z</updated>
    <category term="category-theory"/>
    <category term="ideal"/>
    <category term="presheaf"/>
    <category term="subobject"/>
    <content type="html">&lt;p&gt;Call a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct structure&lt;/a&gt; &lt;em&gt;reflecting&lt;/em&gt; when every morphism between objects of equal degree is a split epimorphism. In a reflecting direct category, every non-invertible-in-degree morphism strictly raises degree, and the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/strict-downset-sieve.html&quot; data-entry=&quot;strict-downset-sieve&quot;&gt;strict downset&lt;/a&gt; is as large as a proper sieve can be:&lt;/p&gt;
&lt;p&gt;If the direct structure is reflecting, then every &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/proper-maximal-sieve.html&quot; data-entry=&quot;proper-maximal-sieve&quot;&gt;proper sieve&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; refines into the strict downset:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Suppose &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of equal degree. By reflection &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; has a section &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and closure under precomposition gives &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑠&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mtext&gt;𝗂𝖽&lt;/mtext&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;∈&lt;/mo&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, contradicting properness.&lt;/p&gt;
&lt;p&gt;So every morphism in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; strictly raises degree. That is, every morphism in &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is also a member of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>The strict downset sieve of a direct category</title>
    <id>https://stevenschaefer.net/strict-downset-sieve.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/strict-downset-sieve.html"/>
    <published>2026-07-19T05:58:56Z</published>
    <updated>2026-07-19T05:58:56Z</updated>
    <category term="category-theory"/>
    <category term="ideal"/>
    <category term="presheaf"/>
    <category term="subobject"/>
    <content type="html">&lt;p&gt;Let &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; carry a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct structure&lt;/a&gt;. The &lt;em&gt;strict downset&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; of an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is the presheaf of morphisms into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; from strictly lower objects:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;∣&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;≺&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;mo rspace=&quot;0em&quot;&gt;,&lt;/mo&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;with restriction by precomposition — well defined since degrees are non-decreasing, so precomposing can only stay strictly below.&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 207.846970254 110.741909449&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;20.785em&quot; height=&quot;11.074em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.777826825 8.035961752)&quot; d=&quot;M 0 0m 0 52.602518005l 80.78441056 -52.602518005&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(95.044499729 8.035961575)&quot; d=&quot;M 0 0m 0.517737752 0c -0.568102007 0.901085865 -0.675271195 2.01817842 -0.28884716 3.010837521&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(92.691875065 7.082234746)&quot; d=&quot;M 0 0m 2.870362416 0.953726829c -1.053874782 0.155059894 -2.118847721 -0.198795514 -2.870362416 -0.953726829&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(110.150039359 10.458730883)&quot; d=&quot;M 0 0m 81.558174577 53.345604474c -32.126329703 -8.747447607 -60.669653104 -27.417076352 -81.558174577 -53.345604474&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(110.151184472 10.425406963)&quot; d=&quot;M 0 0m 0 0.032397352c 0.956300921 0.469238276 2.078458199 0.457218086 3.024488185 -0.032397352&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(109.507546815 10.457804315)&quot; d=&quot;M 0 0m 0.643637657 0c 0.266056824 1.031460023 0.027251897 2.127978899 -0.643637657 2.955386428&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(113.455938912 5.335682213)&quot; d=&quot;M 0 0m 82.210160587 52.335240334c -21.206846946 -25.668820981 -49.978349161 -43.984847521 -82.210160587 -52.335240334&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(113.455566362 3.532991125)&quot; d=&quot;M 0 0m 0 1.804116214c 1.049463219 -0.182545577 1.950199 -0.851915736 2.427703123 -1.804116214&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(113.455566362 5.337107339)&quot; d=&quot;M 0 0c 0.821565224 0.678031356 1.272951912 1.705470607 1.216597471 2.769199949&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(16.566205924 66.828248031)&quot; d=&quot;M 0 0l 174.474558325 0&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(189.155803565 66.828248126)&quot; d=&quot;M 0 0m 1.884960687 0c -0.967761843 0.445120715 -1.667127231 1.322770335 -1.884960687 2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(189.155803565 64.462767849)&quot; d=&quot;M 0 0m 1.884960687 2.365480277c -0.967761843 -0.445120715 -1.667127231 -1.322770335 -1.884960687 -2.365480277&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(101.063485127)&quot; d=&quot;M 0 0h 5.72v 5.625h -5.72v -5.625Z &quot;/&gt;&lt;g transform=&quot;translate(101.063485111 0)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 5.68)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 63.383248031)&quot; d=&quot;M 0 0h 9.443v 6.89h -9.443v -6.89Z &quot;/&gt;&lt;g transform=&quot;translate(-6.3e-8 63.383248016)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.86)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 4.9 9.33)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gC9D69096ED7E4087DDB559A2B127F8CA&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(198.403970254 63.383248031)&quot; d=&quot;M 0 0h 9.443v 6.89h -9.443v -6.89Z &quot;/&gt;&lt;g transform=&quot;translate(198.403970191 63.383248016)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.86)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 4.9 9.33)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g72495D86007E29310F1D85ECCEC85B72&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(57.729374016 97.331909449)&quot; d=&quot;M 0 0h 92.388222222v 9.41h -92.388222222v -9.41Z &quot;/&gt;&lt;g transform=&quot;translate(57.729373914 97.331909433)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g54FDDF461649EDA70025EC0C2EA25BB1&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;5.56&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3B0D9EBDFDB1B7196386E126F06F79CE&quot; x=&quot;10&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 16.666666667 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 21.566666667 10.59)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gC9D69096ED7E4087DDB559A2B127F8CA&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.109666667 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 30.556333333 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g54FDDF461649EDA70025EC0C2EA25BB1&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;5.56&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3B0D9EBDFDB1B7196386E126F06F79CE&quot; x=&quot;10&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 47.223 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 52.123 10.59)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g72495D86007E29310F1D85ECCEC85B72&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 59.443777778 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g6060ECD7D90BCF27BE714B82570C6B59&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 70.001555556 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g54FDDF461649EDA70025EC0C2EA25BB1&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-gB74A9BD98B58914FA51646C39C5D670A&quot; x=&quot;5.56&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g3B0D9EBDFDB1B7196386E126F06F79CE&quot; x=&quot;10&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 86.668222222 8.12)&quot;&gt;&lt;use xlink:href=&quot;#heliaa1c9b06e-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaa1c9b06e-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-gC9D69096ED7E4087DDB559A2B127F8CA&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.121 4.648c -0.301 -0.294 -0.749 -0.441 -1.358 -0.441v -0.308c 0.413 0 0.742 0.063 0.994 0.182v -3.486c 0 -0.091 -0.007 -0.147 -0.028 -0.175c -0.035 -0.077 -0.245 -0.119 -0.63 -0.119h -0.287v -0.301l 1.246 0.028l 1.253 -0.028v 0.301h -0.287c -0.385 0 -0.595 0.042 -0.637 0.119c -0.014 0.028 -0.021 0.084 -0.021 0.175v 3.829c 0 0.189 -0.028 0.224 -0.245 0.224Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g72495D86007E29310F1D85ECCEC85B72&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.833 2.968c 0.224 0 0.392 0.168 0.392 0.392c 0 0.252 -0.133 0.385 -0.392 0.392c 0.154 0.329 0.504 0.595 0.959 0.595c 0.616 0 1.022 -0.462 1.022 -1.078c 0 -0.336 -0.119 -0.658 -0.364 -0.973c -0.119 -0.161 -0.21 -0.273 -0.273 -0.336l -1.659 -1.645c -0.091 -0.084 -0.077 -0.105 -0.077 -0.315h 2.884l 0.217 1.316h -0.294c -0.049 -0.371 -0.105 -0.588 -0.168 -0.637c -0.035 -0.021 -0.252 -0.035 -0.665 -0.035h -1.19c 0.469 0.413 0.903 0.784 1.316 1.113c 0.315 0.245 0.539 0.462 0.679 0.651c 0.21 0.273 0.315 0.56 0.315 0.861c 0 0.434 -0.168 0.777 -0.511 1.029c -0.301 0.231 -0.679 0.35 -1.127 0.35c -0.385 0 -0.714 -0.112 -1.001 -0.336c -0.301 -0.245 -0.455 -0.553 -0.455 -0.931c 0 -0.238 0.175 -0.413 0.392 -0.413Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g54FDDF461649EDA70025EC0C2EA25BB1&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.74 -0.11l 1.53 0.11v 0.38c -0.36 0 -0.57 0.02 -0.65 0.08c -0.08 0.06 -0.12 0.21 -0.12 0.44v 6.04l -1.49 -0.11v -0.38c 0.35 0 0.57 -0.03 0.65 -0.09c 0.08 -0.06 0.11 -0.2 0.11 -0.43v -2.03c -0.32 0.37 -0.72 0.55 -1.2 0.55c -0.62 0 -1.15 -0.22 -1.58 -0.67c -0.43 -0.45 -0.65 -0.99 -0.65 -1.62c 0 -0.61 0.2 -1.14 0.61 -1.59c 0.41 -0.45 0.91 -0.68 1.52 -0.68c 0.51 0 0.94 0.19 1.27 0.58Z m -1.13 4.26c 0.43 0 0.78 -0.19 1.03 -0.57c 0.07 -0.11 0.1 -0.22 0.1 -0.35v -2.02c 0 -0.13 -0.03 -0.24 -0.1 -0.35c -0.28 -0.45 -0.66 -0.67 -1.13 -0.67c -0.41 0 -0.74 0.2 -1 0.61c -0.18 0.3 -0.27 0.75 -0.27 1.35c 0 1.09 0.37 2 1.37 2Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-gB74A9BD98B58914FA51646C39C5D670A&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.15 2.51c 0 1.15 -0.67 1.97 -1.79 1.97c -0.6 0 -1.1 -0.23 -1.51 -0.7c -0.38 -0.44 -0.57 -0.97 -0.57 -1.58c 0 -0.63 0.21 -1.16 0.63 -1.62c 0.42 -0.46 0.94 -0.69 1.56 -0.69c 0.57 0 1.01 0.2 1.31 0.59c 0.25 0.33 0.37 0.57 0.37 0.73c 0 0.1 -0.06 0.15 -0.17 0.15c -0.08 0 -0.13 -0.05 -0.16 -0.16c -0.22 -0.66 -0.65 -0.99 -1.29 -0.99c -0.45 0 -0.8 0.21 -1.07 0.64c -0.19 0.31 -0.28 0.78 -0.29 1.42h 2.7c 0.22 0 0.28 0.02 0.28 0.24Z m -0.89 0.98c 0.11 -0.33 0.16 -0.65 0.16 -0.94h -2.24c 0.03 0.66 0.2 1.11 0.5 1.34c 0.25 0.2 0.47 0.3 0.68 0.3c 0.45 0 0.75 -0.23 0.9 -0.7Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g3B0D9EBDFDB1B7196386E126F06F79CE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.31 4.53c -0.38 0 -0.73 -0.15 -1.05 -0.45c -0.3 0.23 -0.64 0.34 -1.03 0.34c -0.86 0 -1.64 -0.64 -1.64 -1.48c 0 -0.42 0.15 -0.76 0.45 -1.02c -0.19 -0.24 -0.29 -0.51 -0.29 -0.82c 0 -0.38 0.13 -0.67 0.38 -0.86c -0.42 -0.14 -0.85 -0.5 -0.85 -1.01c 0 -0.43 0.28 -0.77 0.83 -1.01c 0.42 -0.19 0.88 -0.28 1.38 -0.28c 0.51 0 0.98 0.09 1.4 0.28c 0.55 0.24 0.82 0.58 0.82 1.03c 0 0.53 -0.22 0.92 -0.66 1.17c -0.46 0.25 -0.97 0.28 -1.71 0.28c -0.44 0 -0.68 0 -0.73 0.01c -0.28 0.04 -0.48 0.31 -0.48 0.62c 0 0.15 0.04 0.29 0.13 0.41c 0.28 -0.19 0.6 -0.29 0.97 -0.29c 0.86 0 1.63 0.64 1.63 1.48c 0 0.39 -0.13 0.71 -0.39 0.96c 0.25 0.23 0.52 0.34 0.81 0.34c -0.05 -0.05 -0.08 -0.13 -0.08 -0.23c 0 -0.22 0.11 -0.33 0.33 -0.33c 0.21 0 0.32 0.11 0.32 0.34c 0 0.31 -0.24 0.52 -0.54 0.52Z m -2.08 -0.42c 0.54 0 0.81 -0.39 0.81 -1.17c 0 -0.79 -0.27 -1.19 -0.81 -1.19c -0.55 0 -0.82 0.39 -0.82 1.18c 0 0.79 0.27 1.18 0.82 1.18Z m -0.59 -4.07h 0.58c 0.52 0 0.94 -0.03 1.26 -0.1c 0.43 -0.09 0.64 -0.33 0.64 -0.71c 0 -0.32 -0.2 -0.57 -0.6 -0.76c -0.31 -0.15 -0.65 -0.22 -1.02 -0.22c -0.36 0 -0.7 0.07 -1.02 0.22c -0.41 0.19 -0.61 0.44 -0.61 0.76c 0 0.42 0.36 0.81 0.77 0.81Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaa1c9b06e-g6060ECD7D90BCF27BE714B82570C6B59&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 6.66 -0.45c 0.17 -0.07 0.35 0.06 0.35 0.22c 0 0.1 -0.05 0.17 -0.14 0.21l -5.34 2.52l 5.34 2.52c 0.09 0.04 0.14 0.11 0.14 0.2c 0 0.17 -0.08 0.25 -0.24 0.25c -0.04 0 -0.08 -0.01 -0.11 -0.02l -5.74 -2.72c -0.1 -0.05 -0.15 -0.12 -0.15 -0.23c 0 -0.11 0.05 -0.18 0.15 -0.23Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;The evident inclusion &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;↣&lt;/mo&gt;&lt;mi&gt;よ&lt;/mi&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; makes &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝖲𝗍𝗋𝗂𝖼𝗍𝖣𝗈𝗐𝗇&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/sieve.html&quot; data-entry=&quot;sieve&quot;&gt;sieve&lt;/a&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. It is moreover a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/proper-maximal-sieve.html&quot; data-entry=&quot;proper-maximal-sieve&quot;&gt;proper&lt;/a&gt; sieve, as it exlcudes the identity.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Proper and maximal sieves</title>
    <id>https://stevenschaefer.net/proper-maximal-sieve.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/proper-maximal-sieve.html"/>
    <published>2026-07-19T05:58:54Z</published>
    <updated>2026-07-19T05:58:54Z</updated>
    <category term="category-theory"/>
    <category term="ideal"/>
    <category term="presheaf"/>
    <category term="subobject"/>
    <content type="html">&lt;p&gt;The representable &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is itself a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/sieve.html&quot; data-entry=&quot;sieve&quot;&gt;sieve&lt;/a&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. A sieve on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;proper&lt;/em&gt; when it is not equal to the representable.&lt;/p&gt;
&lt;p&gt;Say that a proper sieve is &lt;em&gt;maximal&lt;/em&gt; when it contains all other proper sieves as a sub-sieve.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Sieves</title>
    <id>https://stevenschaefer.net/sieve.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/sieve.html"/>
    <published>2026-07-19T05:58:53Z</published>
    <updated>2026-07-19T05:58:53Z</updated>
    <category term="category-theory"/>
    <category term="ideal"/>
    <category term="presheaf"/>
    <category term="subobject"/>
    <content type="html">&lt;p&gt;A &lt;em&gt;sieve&lt;/em&gt; on an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a subobject of the representable presheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;: a presheaf &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with a monic morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;↣&lt;/mo&gt;&lt;mtext&gt;𝗒&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Sieves are a generalization from the notion of &lt;em&gt;ideal&lt;/em&gt; found in ring theory to category theory.&lt;/p&gt;
&lt;p&gt;A morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; &lt;em&gt;belongs&lt;/em&gt; to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, written &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;∋&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; lies in the image of the inclusion at &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Because &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a presheaf and the inclusion is natural, membership is closed under precomposition:&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;∋&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⇒&lt;/mo&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;∋&lt;/mo&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;⋆&lt;/mo&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mspace width=&quot;1em&quot;/&gt;&lt;mtext&gt;for every &lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑔&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑧&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;A sieve is thus a “downward closed” collection of morphisms into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Sieves on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; are ordered by &lt;em&gt;refinement&lt;/em&gt;: &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;mo&gt;⊆&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; when every morphism belonging to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑆&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; belongs to &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Total category</title>
    <id>https://stevenschaefer.net/total-category.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/total-category.html"/>
    <published>2026-07-19T05:58:51Z</published>
    <updated>2026-07-19T05:58:51Z</updated>
    <category term="displayed-category-theory"/>
    <content type="html">&lt;p&gt;The &lt;em&gt;total category&lt;/em&gt; &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;∫ overline(cal(D))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 16.296666667 12.055&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;1.63em&quot; height=&quot;1.206em&quot; style=&quot;vertical-align: -0.306em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.995)&quot;&gt;&lt;use xlink:href=&quot;#helia0142e94c-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.316666667 9)&quot;&gt;&lt;use xlink:href=&quot;#helia0142e94c-g289F46B00FC5AB16B346DE352F4C06E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(8.316666667 0.72)&quot; d=&quot;M 0 0h 7.98&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;helia0142e94c-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.97 8.05c -0.76 0 -1.27 -0.58 -1.53 -1.75c -0.04 -0.17 -0.09 -0.52 -0.16 -1.04l -0.13 -1.01c -0.14 -1.12 -0.23 -1.95 -0.27 -2.5l -0.19 -2.47c -0.07 -0.97 -0.23 -2.04 -1.01 -2.04c -0.21 0 -0.39 0.05 -0.54 0.15c 0.21 0.06 0.32 0.2 0.32 0.42c 0 0.27 -0.18 0.46 -0.45 0.46c -0.3 0 -0.45 -0.16 -0.45 -0.47c 0 -0.53 0.55 -0.86 1.12 -0.86c 0.81 0 1.37 0.6 1.67 1.79c 0.21 0.84 0.4 2.34 0.56 4.51l 0.19 2.47c 0.04 0.57 0.11 1.02 0.2 1.34c 0.13 0.42 0.22 0.7 0.68 0.7c 0.21 0 0.39 -0.05 0.53 -0.15c -0.21 -0.06 -0.32 -0.2 -0.32 -0.42c 0 -0.27 0.18 -0.46 0.45 -0.46c 0.3 0 0.45 0.16 0.45 0.47c 0 0.53 -0.55 0.86 -1.12 0.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia0142e94c-g289F46B00FC5AB16B346DE352F4C06E&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.51 0.02c 2.34 0.22 5.15 1.96 5.15 4.49c 0 1.4 -1.03 1.9 -1.59 2.09c -0.68 0.24 -1.28 0.23 -1.99 0.23c -0.2 0 -0.38 0.01 -0.52 0.01c -1.53 0 -2.89 -0.76 -3.27 -1.62c -0.05 -0.12 -0.09 -0.26 -0.09 -0.3c 0 -0.04 0.05 -0.09 0.14 -0.09c 0.14 0 0.39 0.12 0.58 0.25c 0.18 0.16 0.22 0.25 0.24 0.34c 0.04 0.13 0.06 0.19 0.16 0.31c 0.25 0.38 1.06 0.46 1.41 0.48c -0.08 -1.77 -0.67 -3.99 -1.34 -5.61c -0.15 -0.04 -0.33 -0.15 -0.45 -0.26c -0.16 -0.13 -0.21 -0.28 -0.11 -0.33c 0.02 -0.01 0.03 -0.01 0.74 -0.01c 0.71 0 0.73 0 0.94 0.02Z m 1.65 6.18c 1.48 -0.12 2.57 -0.71 2.57 -2.12c 0 -1.43 -1.01 -3.45 -3.78 -3.45h -0.77c 0.71 1.77 1.21 3.39 1.44 5.49v 0.09h 0.2c 0.13 0 0.29 -0.01 0.34 -0.01Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; of a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/displayed-category.html&quot; data-entry=&quot;displayed-category&quot;&gt;displayed category&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;overline(cal(D))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 7.98 9&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;0.798em&quot; height=&quot;0.9em&quot; style=&quot;vertical-align: -0em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9)&quot;&gt;&lt;use xlink:href=&quot;#heliacf1063a4-g289F46B00FC5AB16B346DE352F4C06E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(0 0.72)&quot; d=&quot;M 0 0h 7.98&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;heliacf1063a4-g289F46B00FC5AB16B346DE352F4C06E&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.51 0.02c 2.34 0.22 5.15 1.96 5.15 4.49c 0 1.4 -1.03 1.9 -1.59 2.09c -0.68 0.24 -1.28 0.23 -1.99 0.23c -0.2 0 -0.38 0.01 -0.52 0.01c -1.53 0 -2.89 -0.76 -3.27 -1.62c -0.05 -0.12 -0.09 -0.26 -0.09 -0.3c 0 -0.04 0.05 -0.09 0.14 -0.09c 0.14 0 0.39 0.12 0.58 0.25c 0.18 0.16 0.22 0.25 0.24 0.34c 0.04 0.13 0.06 0.19 0.16 0.31c 0.25 0.38 1.06 0.46 1.41 0.48c -0.08 -1.77 -0.67 -3.99 -1.34 -5.61c -0.15 -0.04 -0.33 -0.15 -0.45 -0.26c -0.16 -0.13 -0.21 -0.28 -0.11 -0.33c 0.02 -0.01 0.03 -0.01 0.74 -0.01c 0.71 0 0.73 0 0.94 0.02Z m 1.65 6.18c 1.48 -0.12 2.57 -0.71 2.57 -2.12c 0 -1.43 -1.01 -3.45 -3.78 -3.45h -0.77c 0.71 1.77 1.21 3.39 1.44 5.49v 0.09h 0.2c 0.13 0 0.29 -0.01 0.34 -0.01Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; collects the displayed data into a single category. Its objects are pairs of an object &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with an object &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;overline(x)&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 5.72 6.69&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;0.572em&quot; height=&quot;0.669em&quot; style=&quot;vertical-align: -0.011em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.58)&quot;&gt;&lt;use xlink:href=&quot;#helia8f5c0125-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(0 0.72)&quot; d=&quot;M 0 0h 5.72&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;helia8f5c0125-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; over it, and its morphisms &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;lr(( x \, overline(x) )) -&amp;gt; lr(( y \, overline(y) ))&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 61.808888889 9.96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;6.181em&quot; height=&quot;0.996em&quot; style=&quot;vertical-align: -0.248em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 3.89 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 9.61 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 14.056666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-g72386A3139BE6DCCE464156E33BF6BAC&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(14.056666667 1.62)&quot; d=&quot;M 0 0h 5.72&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.776666667 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 26.444444444 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 39.222222222 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 43.112222222 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 48.292222222 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-gB407721E70580C723858817FD02253A9&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 52.738888889 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(52.738888889 1.62)&quot; d=&quot;M 0 0h 5.18&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 57.918888889 7.48)&quot;&gt;&lt;use xlink:href=&quot;#helia08351a3d-g7E3CEF427144555D9955756F3C667DEE&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia08351a3d-gC6AC4EF4B3E9B75A18D8B88A9D174F1F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.18 -2.48c 0.09 0 0.14 0.05 0.14 0.14c 0 0.03 -0.02 0.07 -0.05 0.11c -0.52 0.4 -0.94 1.06 -1.25 1.97c -0.27 0.79 -0.41 1.57 -0.41 2.34v 0.84c 0 0.77 0.14 1.55 0.41 2.34c 0.31 0.91 0.73 1.57 1.25 1.97c 0.03 0.03 0.05 0.07 0.05 0.11c 0 0.09 -0.05 0.14 -0.14 0.14c -0.01 0 -0.04 -0.01 -0.07 -0.03c -0.6 -0.46 -1.1 -1.14 -1.51 -2.05c -0.39 -0.87 -0.59 -1.69 -0.59 -2.48v -0.84c 0 -0.79 0.2 -1.61 0.59 -2.48c 0.41 -0.91 0.91 -1.59 1.51 -2.05c 0.03 -0.02 0.06 -0.03 0.07 -0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia08351a3d-g72386A3139BE6DCCE464156E33BF6BAC&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.27 3.73c 0 0.46 -0.45 0.69 -0.95 0.69c -0.43 0 -0.77 -0.23 -1.03 -0.69c -0.21 0.46 -0.56 0.69 -1.07 0.69c -0.49 0 -0.89 -0.23 -1.21 -0.68c -0.27 -0.39 -0.41 -0.68 -0.41 -0.87c 0 -0.09 0.05 -0.14 0.15 -0.14c 0.09 0 0.15 0.05 0.17 0.14c 0.19 0.58 0.61 1.26 1.28 1.26c 0.33 0 0.49 -0.21 0.49 -0.62c 0 -0.21 -0.18 -0.99 -0.53 -2.33c -0.17 -0.67 -0.47 -1 -0.9 -1c -0.14 0 -0.27 0.03 -0.38 0.08c 0.26 0.1 0.39 0.28 0.39 0.54c 0 0.26 -0.13 0.39 -0.4 0.39c -0.33 0 -0.58 -0.28 -0.58 -0.61c 0 -0.46 0.47 -0.69 0.96 -0.69c 0.42 0 0.76 0.23 1.03 0.69c 0.19 -0.46 0.55 -0.69 1.07 -0.69c 0.48 0 0.88 0.23 1.2 0.68c 0.27 0.39 0.41 0.68 0.41 0.87c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.14 -0.05 -0.17 -0.14c -0.17 -0.57 -0.62 -1.26 -1.27 -1.26c -0.33 0 -0.5 0.2 -0.5 0.61c 0 0.13 0.05 0.41 0.16 0.86l 0.34 1.35c 0.19 0.75 0.5 1.13 0.94 1.13c 0.14 0 0.27 -0.03 0.38 -0.08c -0.27 -0.09 -0.4 -0.27 -0.4 -0.54c 0 -0.26 0.14 -0.39 0.41 -0.39c 0.32 0 0.57 0.29 0.57 0.61Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia08351a3d-gB407721E70580C723858817FD02253A9&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.39 1.06c -0.32 0 -0.53 -0.24 -0.53 -0.56c 0 -0.3 0.23 -0.55 0.53 -0.55c 0.14 0 0.26 0.04 0.35 0.13l 0.01 -0.08c 0 -0.63 -0.21 -1.17 -0.63 -1.6c -0.07 -0.08 -0.11 -0.14 -0.11 -0.18c 0 -0.1 0.04 -0.15 0.13 -0.15c 0.09 0 0.21 0.12 0.38 0.35c 0.34 0.48 0.51 1.01 0.51 1.58c 0 0.53 -0.18 1.06 -0.64 1.06Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia08351a3d-g7E3CEF427144555D9955756F3C667DEE&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 0.78 -2.45c 0.6 0.46 1.1 1.14 1.51 2.05c 0.39 0.87 0.59 1.69 0.59 2.48v 0.84c 0 0.79 -0.2 1.61 -0.59 2.48c -0.41 0.91 -0.91 1.59 -1.51 2.05c -0.03 0.02 -0.06 0.03 -0.07 0.03c -0.09 0 -0.14 -0.05 -0.14 -0.14c 0 -0.04 0.02 -0.08 0.05 -0.11c 0.52 -0.4 0.94 -1.06 1.25 -1.97c 0.27 -0.79 0.41 -1.57 0.41 -2.34v -0.84c 0 -0.77 -0.14 -1.55 -0.41 -2.34c -0.31 -0.91 -0.73 -1.57 -1.25 -1.97c -0.03 -0.04 -0.05 -0.08 -0.05 -0.11c 0 -0.09 0.05 -0.14 0.14 -0.14c 0.01 0 0.04 0.01 0.07 0.03Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia08351a3d-g2455479B5EAE520D2F120986F003C123&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 9.32 2.34c 0.07 0.03 0.11 0.09 0.11 0.16c 0 0.07 -0.04 0.13 -0.11 0.16c -0.48 0.16 -0.93 0.5 -1.35 1.02c -0.28 0.35 -0.47 0.76 -0.56 1.23c -0.03 0.13 -0.11 0.19 -0.24 0.19c -0.16 0 -0.24 -0.08 -0.24 -0.25l 0.01 -0.02v -0.01c 0.17 -0.87 0.61 -1.56 1.34 -2.08h -7.46c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.16 0.08 -0.24 0.24 -0.24h 7.46c -0.73 -0.52 -1.17 -1.21 -1.34 -2.08v -0.01l -0.01 -0.02c 0 -0.17 0.08 -0.25 0.24 -0.25c 0.13 0 0.21 0.06 0.24 0.19c 0.09 0.47 0.28 0.88 0.56 1.23c 0.42 0.52 0.87 0.86 1.35 1.02Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia08351a3d-g3EDE42CEABA4749E9317DC9D8A61CFD&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 1.63 4.42c -0.45 0 -0.8 -0.25 -1.05 -0.75c -0.19 -0.39 -0.29 -0.66 -0.29 -0.81c 0 -0.09 0.05 -0.14 0.16 -0.14c 0.14 0 0.15 0.06 0.19 0.21c 0.23 0.79 0.55 1.19 0.96 1.19c 0.13 0 0.2 -0.09 0.2 -0.27c 0 -0.16 -0.05 -0.39 -0.16 -0.68c -0.38 -1.03 -0.57 -1.72 -0.57 -2.09c 0 -0.76 0.47 -1.21 1.24 -1.21c 0.33 0 0.64 0.12 0.92 0.36c -0.35 -1.32 -0.9 -1.98 -1.65 -1.98c -0.34 0 -0.57 0.11 -0.69 0.33c 0.4 0.02 0.6 0.21 0.6 0.57c 0 0.25 -0.13 0.38 -0.4 0.38c -0.37 0 -0.59 -0.31 -0.59 -0.68c 0 -0.55 0.5 -0.9 1.08 -0.9c 1.15 0 2.09 1.06 2.34 2.04l 0.94 3.78c 0.03 0.11 0.04 0.19 0.04 0.24c 0 0.2 -0.11 0.3 -0.32 0.3c -0.16 0 -0.29 -0.08 -0.38 -0.23c -0.06 -0.21 -0.11 -0.39 -0.14 -0.54l -0.64 -2.57c -0.1 -0.36 -0.63 -0.81 -1.08 -0.81c -0.38 0 -0.57 0.25 -0.57 0.76c 0 0.42 0.17 1.06 0.5 1.92c 0.13 0.35 0.2 0.59 0.2 0.73c 0 0.49 -0.35 0.85 -0.84 0.85Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; are pairs of a morphism &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with a displayed morphism &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;overline(f)&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 5.8 11.26&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;0.58em&quot; height=&quot;1.126em&quot; style=&quot;vertical-align: -0.205em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 9.21)&quot;&gt;&lt;use xlink:href=&quot;#helia44d7aa20-g69726A5B532D359584B7BE612A255CC8&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(0 0.72)&quot; d=&quot;M 0 0h 5.8&quot;/&gt;&lt;defs&gt;&lt;symbol id=&quot;helia44d7aa20-g69726A5B532D359584B7BE612A255CC8&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 5.52 6.33c 0 0.44 -0.43 0.72 -0.9 0.72c -0.62 0 -1.05 -0.4 -1.28 -1.19c -0.05 -0.18 -0.16 -0.69 -0.32 -1.53h -0.65c -0.22 0 -0.33 -0.01 -0.33 -0.22c 0 -0.11 0.1 -0.16 0.31 -0.16h 0.6l -0.73 -3.87c -0.11 -0.57 -0.21 -0.99 -0.3 -1.27c -0.12 -0.37 -0.29 -0.56 -0.51 -0.56c -0.15 0 -0.27 0.04 -0.38 0.11c 0.32 0.05 0.48 0.24 0.48 0.56c 0 0.26 -0.13 0.39 -0.4 0.39c -0.34 0 -0.58 -0.3 -0.58 -0.64c 0 -0.44 0.41 -0.72 0.88 -0.72c 0.25 0 0.48 0.1 0.67 0.31c 0.32 0.33 0.57 0.8 0.75 1.43c 0.11 0.39 0.21 0.77 0.28 1.15l 0.58 3.11h 0.82c 0.23 0 0.33 0.01 0.33 0.24c 0 0.09 -0.1 0.14 -0.3 0.14h -0.77c 0.06 0.41 0.34 1.92 0.43 2.11c 0.1 0.21 0.24 0.31 0.42 0.31c 0.15 0 0.28 -0.04 0.39 -0.11c -0.31 -0.07 -0.47 -0.25 -0.47 -0.56c 0 -0.26 0.13 -0.39 0.4 -0.39c 0.34 0 0.58 0.3 0.58 0.64Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Projecting out the first components is a functor &lt;span class=&quot;helia-math helia-math-inline&quot; role=&quot;math&quot; aria-label=&quot;∫ overline(cal(D)) -&amp;gt; cal(C)&quot;&gt;&lt;svg class=&quot;helia-math-svg helia-math-inline&quot; viewBox=&quot;0 0 37.702222222 12.055&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;3.77em&quot; height=&quot;1.206em&quot; style=&quot;vertical-align: -0.306em&quot; role=&quot;img&quot;&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 8.995)&quot;&gt;&lt;use xlink:href=&quot;#helia28922882-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 8.316666667 9)&quot;&gt;&lt;use xlink:href=&quot;#helia28922882-g289F46B00FC5AB16B346DE352F4C06E&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;butt&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(8.316666667 0.72)&quot; d=&quot;M 0 0h 7.98&quot;/&gt;&lt;g transform=&quot;matrix(1 0 0 -1 19.074444444 9)&quot;&gt;&lt;use xlink:href=&quot;#helia28922882-g2455479B5EAE520D2F120986F003C123&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 31.852222222 9)&quot;&gt;&lt;use xlink:href=&quot;#helia28922882-gB2A790FC199AC565D3A3EECA0DDD0297&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;helia28922882-gF49FABB0D86E1AD6E3F46F653EF25F68&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.97 8.05c -0.76 0 -1.27 -0.58 -1.53 -1.75c -0.04 -0.17 -0.09 -0.52 -0.16 -1.04l -0.13 -1.01c -0.14 -1.12 -0.23 -1.95 -0.27 -2.5l -0.19 -2.47c -0.07 -0.97 -0.23 -2.04 -1.01 -2.04c -0.21 0 -0.39 0.05 -0.54 0.15c 0.21 0.06 0.32 0.2 0.32 0.42c 0 0.27 -0.18 0.46 -0.45 0.46c -0.3 0 -0.45 -0.16 -0.45 -0.47c 0 -0.53 0.55 -0.86 1.12 -0.86c 0.81 0 1.37 0.6 1.67 1.79c 0.21 0.84 0.4 2.34 0.56 4.51l 0.19 2.47c 0.04 0.57 0.11 1.02 0.2 1.34c 0.13 0.42 0.22 0.7 0.68 0.7c 0.21 0 0.39 -0.05 0.53 -0.15c -0.21 -0.06 -0.32 -0.2 -0.32 -0.42c 0 -0.27 0.18 -0.46 0.45 -0.46c 0.3 0 0.45 0.16 0.45 0.47c 0 0.53 -0.55 0.86 -1.12 0.86Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia28922882-g289F46B00FC5AB16B346DE352F4C06E&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.51 0.02c 2.34 0.22 5.15 1.96 5.15 4.49c 0 1.4 -1.03 1.9 -1.59 2.09c -0.68 0.24 -1.28 0.23 -1.99 0.23c -0.2 0 -0.38 0.01 -0.52 0.01c -1.53 0 -2.89 -0.76 -3.27 -1.62c -0.05 -0.12 -0.09 -0.26 -0.09 -0.3c 0 -0.04 0.05 -0.09 0.14 -0.09c 0.14 0 0.39 0.12 0.58 0.25c 0.18 0.16 0.22 0.25 0.24 0.34c 0.04 0.13 0.06 0.19 0.16 0.31c 0.25 0.38 1.06 0.46 1.41 0.48c -0.08 -1.77 -0.67 -3.99 -1.34 -5.61c -0.15 -0.04 -0.33 -0.15 -0.45 -0.26c -0.16 -0.13 -0.21 -0.28 -0.11 -0.33c 0.02 -0.01 0.03 -0.01 0.74 -0.01c 0.71 0 0.73 0 0.94 0.02Z m 1.65 6.18c 1.48 -0.12 2.57 -0.71 2.57 -2.12c 0 -1.43 -1.01 -3.45 -3.78 -3.45h -0.77c 0.71 1.77 1.21 3.39 1.44 5.49v 0.09h 0.2c 0.13 0 0.29 -0.01 0.34 -0.01Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia28922882-g2455479B5EAE520D2F120986F003C123&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 9.32 2.34c 0.07 0.03 0.11 0.09 0.11 0.16c 0 0.07 -0.04 0.13 -0.11 0.16c -0.48 0.16 -0.93 0.5 -1.35 1.02c -0.28 0.35 -0.47 0.76 -0.56 1.23c -0.03 0.13 -0.11 0.19 -0.24 0.19c -0.16 0 -0.24 -0.08 -0.24 -0.25l 0.01 -0.02v -0.01c 0.17 -0.87 0.61 -1.56 1.34 -2.08h -7.46c -0.16 0 -0.24 -0.08 -0.24 -0.24c 0 -0.16 0.08 -0.24 0.24 -0.24h 7.46c -0.73 -0.52 -1.17 -1.21 -1.34 -2.08v -0.01l -0.01 -0.02c 0 -0.17 0.08 -0.25 0.24 -0.25c 0.13 0 0.21 0.06 0.24 0.19c 0.09 0.47 0.28 0.88 0.56 1.23c 0.42 0.52 0.87 0.86 1.35 1.02Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;helia28922882-gB2A790FC199AC565D3A3EECA0DDD0297&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.75 4.88c 0.19 0.27 0.6 1.12 0.6 1.5c 0 0.49 -0.35 0.68 -0.8 0.68c -1.69 0 -2.84 -1.15 -3.2 -1.6c -0.63 -0.79 -1.23 -2.05 -1.23 -3.42c 0 -1.29 0.61 -2.28 1.9 -2.28c 1.06 0 2.3 0.72 2.92 1.73c 0.03 0.05 0.05 0.09 0.05 0.14c -0.02 0.06 -0.09 0.08 -0.14 0.08c -0.2 0 -0.6 -0.18 -0.79 -0.48c -0.48 -0.76 -1.04 -0.84 -1.37 -0.84h -0.1c -1.04 0 -1.54 0.91 -1.54 2.1c 0 1.28 0.72 3.07 1.71 3.67c 0.27 0.16 0.65 0.27 1.09 0.27c 0.36 0 0.57 -0.12 0.57 -0.47c 0 -0.31 -0.3 -0.89 -0.46 -1.19c -0.05 -0.11 -0.09 -0.19 -0.09 -0.2c 0 -0.08 0.06 -0.11 0.12 -0.11c 0.11 0 0.54 0.09 0.76 0.42Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/span&gt;. Constructions presented displayed — &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/algebras-displayed.html&quot; data-entry=&quot;algebras-displayed&quot;&gt;algebras&lt;/a&gt;, &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot; data-entry=&quot;eilenberg-moore-displayed&quot;&gt;Eilenberg–Moore categories&lt;/a&gt; — get their &lt;em&gt;forgetful functor&lt;/em&gt; for free as this projection.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Well-founded posets are thin direct categories</title>
    <id>https://stevenschaefer.net/well-founded-poset-as-thin.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/well-founded-poset-as-thin.html"/>
    <published>2026-07-19T05:51:54Z</published>
    <updated>2026-07-19T05:51:54Z</updated>
    <category term="category-theory"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;Every poset forms a thin category. Similarly, if the poset is well-founded then it induces a thin &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/direct-category.html&quot; data-entry=&quot;direct-category&quot;&gt;direct category&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Direct categories</title>
    <id>https://stevenschaefer.net/direct-category.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/direct-category.html"/>
    <published>2026-07-19T05:51:05Z</published>
    <updated>2026-07-19T05:51:05Z</updated>
    <category term="category-theory"/>
    <category term="well-founded"/>
    <content type="html">&lt;p&gt;A &lt;em&gt;well-founded order&lt;/em&gt; is a set &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with a proposition-valued transitive relation &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mo lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;&amp;lt;&lt;/mo&gt;&lt;/math&gt;&lt;/span&gt; admitting no infinite descent: every element is accessible. Write &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;&amp;lt;&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;∨&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑎&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑏&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;A &lt;em&gt;direct structure&lt;/em&gt; on a category &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; over &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;&amp;lt;&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; is a functor&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝐷&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mo form=&quot;infix&quot; lspace=&quot;0em&quot; rspace=&quot;0em&quot;&gt;≤&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;into the well-founded order viewed as a poset category. The functor organizes two pieces of data at once: an ordering on the objects, and the invariant that morphisms respect it — &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑓&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; forces &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;A direct structure equips the objects with a well-founded strict relation&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;≺&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;⟺&lt;/mo&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;&amp;lt;&lt;/mo&gt;&lt;mtext&gt;deg&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;Intuitively, direct categories are the right generalization of well-foundedness to the categorical setting: a direct category is essentially one whose underlying graph is a directed acyclic graph, layered by degree, so that data at an object may be defined by recursion from data at all objects strictly below it.&lt;/p&gt;
&lt;div class=&quot;helia-island helia-svg&quot; data-extern=&quot;typst&quot;&gt;&lt;svg class=&quot;helia-typst-svg&quot; viewBox=&quot;0 0 196.762244095 123.742913386&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xmlns:h5=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;19.676em&quot; height=&quot;12.374em&quot; role=&quot;img&quot;&gt;&lt;g&gt;&lt;g&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(73.580550897 68.232367323)&quot; d=&quot;M 0 0m 0 45.703806998l 49.98127389 -45.703806998&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(123.297922913 68.23236737)&quot; d=&quot;M 0 0m 0.263901811 0c -0.413811268 0.981558134 -0.337670862 2.101193885 0.205217006 3.017692056&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(120.574480891 67.758704843)&quot; d=&quot;M 0 0m 2.987343833 0.473662527c -1.014566631 0.324577704 -2.122942468 0.148837605 -2.987343833 -0.473662527&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(137.540497427 68.186593643)&quot; d=&quot;M 0 0m 48.791746667 44.045986789l -48.791746667 -44.045986789&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(137.540497449 67.69382057)&quot; d=&quot;M 0 0m 0 0.492773225c 1.016623102 0.318077255 2.123851184 0.135246631 2.984250355 -0.492773225&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(137.354599428 68.186593795)&quot; d=&quot;M 0 0m 0.185898021 0c 0.420085171 0.978889228 0.35111257 2.098989154 -0.185898021 3.018943119&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(130.531496063 14.217417796)&quot; d=&quot;M 0 0m 0 38.433119085l 0 -38.433119085&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(130.531496158 14.217418016)&quot; d=&quot;M 0 0c 0.445120715 0.967761843 1.322770335 1.667127231 2.365480277 1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(128.166015881 14.217418016)&quot; d=&quot;M 0 0m 2.365480277 0c -0.445120715 0.967761843 -1.322770335 1.667127231 -2.365480277 1.884960687&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(67.957014787 10.554391197)&quot; d=&quot;M 0 0m 0 100.297748723c 5.858426388 -38.797711829 25.171502578 -74.300500457 54.56072995 -100.297748723&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(122.239675266 10.555431969)&quot; d=&quot;M 0 0m 0.2789939 0c -0.424983195 0.976772909 -0.361621996 2.097204443 0.170773921 3.019836883&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(119.536924061 10.047716825)&quot; d=&quot;M 0 0m 2.981745104 0.507715144c -1.01820375 0.31298108 -2.124502324 0.124606648 -2.981745104 -0.507715144&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(138.545323594 10.554305343)&quot; d=&quot;M 0 0m 54.536151155 100.138607987c -5.869190963 -38.743412016 -25.173560624 -74.189857447 -54.536151155 -100.138607987&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(138.544398268 10.046231038)&quot; d=&quot;M 0 0m 0 0.509116741c 1.018350509 0.312502282 2.124560111 0.123607824 2.981505301 -0.509116741&quot;/&gt;&lt;path fill=&quot;none&quot; stroke=&quot;currentColor&quot; stroke-width=&quot;0.48&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;miter&quot; stroke-miterlimit=&quot;4&quot; transform=&quot;translate(138.375044106 10.55534778)&quot; d=&quot;M 0 0m 0.169354162 0c 0.425442239 0.97657275 0.362607805 2.097033652 -0.169354162 3.019916039&quot;/&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 0.1525)&quot; d=&quot;M 0 0h 5l 0 6.745h -5l 0 -6.745Z &quot;/&gt;&lt;g transform=&quot;translate(-1.6e-8 0.152499874)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.745)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-gCA2859890ED68ED37341EB0EC2A7439F&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 58.498956693)&quot; d=&quot;M 0 0h 5l 0 6.745h -5l 0 -6.745Z &quot;/&gt;&lt;g transform=&quot;translate(-1.6e-8 58.498956567)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.745)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g9895E63CDB1310374A05B4A6DB38230&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(0 116.777913386)&quot; d=&quot;M 0 0h 5l 0 6.88h -5l 0 -6.88Z &quot;/&gt;&lt;g transform=&quot;translate(-1.6e-8 116.77791326)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.855)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g680E3DC13801C480E8C8C20AF58F6722&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;#aaaaaa&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(63.870748031 117.405413386)&quot; d=&quot;M 0 0h 5.29v 5.625h -5.29v -5.625Z &quot;/&gt;&lt;g transform=&quot;translate(63.870747953 117.405413386)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 5.68)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g9E7AA3F32BD8846D317A9CBD62B84F64&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(192.332244094 116.692913386)&quot; d=&quot;M 0 0h 4.43v 7.05h -4.43v -7.05Z &quot;/&gt;&lt;g transform=&quot;translate(192.332244032 116.692913291)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.94)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g6B8F6FEB7179D27D0697037F5C04DB43&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(128.241496063 59.058956693)&quot; d=&quot;M 0 0h 4.58v 5.625h -4.58v -5.625Z &quot;/&gt;&lt;g transform=&quot;translate(128.241495953 59.058956693)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 5.68)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-g1C95891A0FBD06B1630F1B21FC3E3DF3&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;path fill=&quot;none&quot; transform=&quot;translate(127.811496063)&quot; d=&quot;M 0 0h 5.44v 7.05h -5.44v -7.05Z &quot;/&gt;&lt;g transform=&quot;translate(127.811495937 -9.4e-8)&quot;&gt;&lt;g&gt;&lt;g transform=&quot;matrix(1 0 0 -1 0 6.94)&quot;&gt;&lt;use xlink:href=&quot;#heliaaac31a55-gAE9FF52A1D42223AC1C1C189F82D6586&quot; x=&quot;0&quot; y=&quot;0&quot; fill=&quot;currentColor&quot; fill-rule=&quot;nonzero&quot;/&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;symbol id=&quot;heliaaac31a55-gCA2859890ED68ED37341EB0EC2A7439F&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.37 6.66c -0.51 0 -0.94 -0.18 -1.31 -0.54c -0.37 -0.36 -0.56 -0.78 -0.56 -1.29c 0 -0.34 0.25 -0.59 0.56 -0.59c 0.3 0 0.55 0.26 0.55 0.56c 0 0.33 -0.24 0.56 -0.56 0.56c -0.03 0 -0.05 0 -0.07 -0.01c 0.19 0.49 0.63 0.92 1.26 0.92c 0.82 0 1.28 -0.71 1.28 -1.57c 0 -0.67 -0.34 -1.39 -1.02 -2.15l -1.88 -2.12c -0.13 -0.15 -0.12 -0.14 -0.12 -0.43h 3.71l 0.29 1.8h -0.33c -0.08 -0.51 -0.15 -0.8 -0.21 -0.89c -0.05 -0.05 -0.35 -0.07 -0.9 -0.07h -1.67l 0.97 0.95c 0.68 0.64 1.54 1.33 1.83 1.86c 0.2 0.35 0.3 0.7 0.3 1.05c 0 1.18 -0.92 1.96 -2.12 1.96Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g9895E63CDB1310374A05B4A6DB38230&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.69 6.66c -0.41 -0.42 -1.01 -0.63 -1.8 -0.63v -0.39c 0.52 0 0.95 0.08 1.28 0.24v -5.06c 0 -0.18 -0.04 -0.3 -0.13 -0.35c -0.09 -0.05 -0.34 -0.08 -0.74 -0.08h -0.35v -0.39c 0.25 0.02 0.79 0.03 1.62 0.03c 0.83 0 1.37 -0.01 1.62 -0.03v 0.39h -0.35c -0.41 0 -0.66 0.03 -0.74 0.08c -0.08 0.05 -0.13 0.17 -0.13 0.35v 5.54c 0 0.24 -0.02 0.3 -0.28 0.3Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g680E3DC13801C480E8C8C20AF58F6722&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.49 -0.22c 1.41 0 2.11 1.14 2.11 3.42c 0 1.53 -0.32 2.55 -0.95 3.05c -0.35 0.27 -0.74 0.41 -1.15 0.41c -1.41 0 -2.11 -1.15 -2.11 -3.46c 0 -1.84 0.49 -3.42 2.1 -3.42Z m 1.12 5.46c 0.07 -0.35 0.1 -0.99 0.1 -1.92c 0 -0.92 -0.04 -1.6 -0.11 -2.04c -0.13 -0.8 -0.5 -1.2 -1.11 -1.2c -0.23 0 -0.46 0.09 -0.67 0.26c -0.27 0.23 -0.43 0.7 -0.5 1.42c -0.03 0.25 -0.04 0.77 -0.04 1.56c 0 0.87 0.03 1.48 0.08 1.81c 0.09 0.55 0.27 0.9 0.55 1.05c 0.22 0.12 0.41 0.18 0.58 0.18c 0.65 0 1.01 -0.53 1.12 -1.12Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g9E7AA3F32BD8846D317A9CBD62B84F64&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.98 1.44c 0 0.09 -0.05 0.14 -0.16 0.14c -0.08 0 -0.14 -0.07 -0.17 -0.21c -0.2 -0.79 -0.44 -1.19 -0.71 -1.19c -0.17 0 -0.26 0.14 -0.26 0.42c 0 0.13 0.04 0.37 0.13 0.72l 0.57 2.25c 0.05 0.19 0.07 0.3 0.07 0.35c 0 0.2 -0.11 0.3 -0.33 0.3c -0.21 0 -0.35 -0.12 -0.42 -0.35c -0.21 0.37 -0.51 0.55 -0.89 0.55c -0.65 0 -1.22 -0.33 -1.72 -0.99c -0.46 -0.62 -0.69 -1.26 -0.69 -1.93c 0 -0.87 0.51 -1.61 1.35 -1.61c 0.43 0 0.85 0.23 1.25 0.69c 0.11 -0.38 0.45 -0.69 0.92 -0.69c 0.69 0 0.9 0.81 1.06 1.55Z m -1.57 2.3c 0.09 -0.21 0.14 -0.35 0.14 -0.44c 0 -0.04 -0.01 -0.09 -0.02 -0.16l -0.49 -1.92c -0.03 -0.11 -0.1 -0.23 -0.19 -0.35c -0.37 -0.46 -0.73 -0.69 -1.08 -0.69c -0.39 0 -0.59 0.3 -0.59 0.89c 0 0.24 0.06 0.6 0.18 1.08c 0.21 0.85 0.51 1.42 0.88 1.73c 0.2 0.17 0.39 0.25 0.58 0.25c 0.27 0 0.47 -0.13 0.59 -0.39Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g6B8F6FEB7179D27D0697037F5C04DB43&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 2.81 4.45c -0.36 0 -0.72 -0.17 -1.07 -0.51l 0.69 2.85c -0.02 0.09 -0.05 0.15 -0.17 0.15c -0.33 0 -1.06 -0.09 -1.19 -0.1c -0.15 -0.02 -0.23 -0.09 -0.23 -0.24c 0 -0.1 0.09 -0.15 0.28 -0.15c 0.19 0 0.45 0.01 0.45 -0.13c 0 -0.04 -0.05 -0.24 -0.14 -0.61l -0.8 -3.22c -0.11 -0.42 -0.16 -0.76 -0.16 -1.01c 0 -0.86 0.46 -1.59 1.28 -1.59c 0.65 0 1.22 0.33 1.72 1c 0.45 0.62 0.68 1.27 0.68 1.94c 0 0.87 -0.51 1.62 -1.34 1.62Z m -0.02 -0.3c 0.39 0 0.58 -0.3 0.58 -0.89c 0 -0.27 -0.06 -0.63 -0.18 -1.08c -0.22 -0.85 -0.51 -1.43 -0.86 -1.74c -0.2 -0.17 -0.39 -0.25 -0.58 -0.25c -0.41 0 -0.61 0.32 -0.61 0.96c 0 0.22 0.05 0.55 0.15 0.99l 0.22 0.9c 0.03 0.15 0.08 0.26 0.14 0.34c 0.39 0.51 0.77 0.77 1.14 0.77Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-g1C95891A0FBD06B1630F1B21FC3E3DF3&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 3.28 3.25c 0 -0.25 0.13 -0.38 0.4 -0.38c 0.36 0 0.59 0.31 0.59 0.67c 0 0.56 -0.59 0.88 -1.19 0.88c -0.69 0 -1.32 -0.3 -1.86 -0.89c -0.54 -0.59 -0.81 -1.24 -0.81 -1.94c 0 -0.98 0.65 -1.7 1.63 -1.7c 0.53 0 1 0.13 1.41 0.38c 0.34 0.21 0.59 0.42 0.75 0.63c 0.07 0.09 0.1 0.16 0.1 0.19c 0 0.11 -0.05 0.17 -0.16 0.17c -0.05 0 -0.1 -0.04 -0.16 -0.12c -0.33 -0.44 -0.74 -0.72 -1.21 -0.84c -0.31 -0.08 -0.54 -0.12 -0.71 -0.12c -0.57 0 -0.85 0.35 -0.85 1.04c 0 0.62 0.29 1.52 0.53 1.95c 0.24 0.44 0.75 0.96 1.34 0.96c 0.38 0 0.64 -0.11 0.78 -0.32c -0.31 -0.03 -0.58 -0.23 -0.58 -0.56Z &quot;/&gt;&lt;/symbol&gt;&lt;symbol id=&quot;heliaaac31a55-gAE9FF52A1D42223AC1C1C189F82D6586&quot; overflow=&quot;visible&quot;&gt;&lt;path d=&quot;M 0 0m 4.29 6.32l -0.59 -2.43c -0.21 0.37 -0.5 0.56 -0.89 0.56c -0.65 0 -1.22 -0.33 -1.72 -1c -0.46 -0.62 -0.69 -1.27 -0.69 -1.94c 0 -0.88 0.51 -1.62 1.35 -1.62c 0.43 0 0.85 0.23 1.25 0.7c 0.11 -0.38 0.45 -0.7 0.92 -0.7c 0.69 0 0.91 0.82 1.06 1.56c 0 0.09 -0.05 0.14 -0.15 0.14c -0.09 0 -0.15 -0.07 -0.18 -0.21c -0.2 -0.79 -0.44 -1.19 -0.71 -1.19c -0.17 0 -0.26 0.14 -0.26 0.41c 0 0.15 0.02 0.31 0.06 0.47l 1.42 5.72v 0.04c -0.03 0.07 -0.09 0.11 -0.17 0.11c -0.23 0 -0.65 -0.04 -1.25 -0.11c -0.11 -0.01 -0.17 -0.09 -0.17 -0.23c 0 -0.1 0.09 -0.15 0.27 -0.15c 0.19 0 0.45 0.01 0.45 -0.13Z m -0.88 -2.56c 0.1 -0.21 0.15 -0.35 0.15 -0.44c -0.01 -0.04 -0.02 -0.09 -0.03 -0.16l -0.49 -1.94c -0.03 -0.11 -0.1 -0.23 -0.19 -0.35c -0.37 -0.45 -0.73 -0.68 -1.08 -0.68c -0.39 0 -0.59 0.3 -0.59 0.89c 0 0.24 0.06 0.6 0.18 1.08c 0.21 0.85 0.51 1.43 0.88 1.74c 0.2 0.17 0.39 0.25 0.58 0.25c 0.27 0 0.47 -0.13 0.59 -0.39Z &quot;/&gt;&lt;/symbol&gt;&lt;/defs&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;The degrees order the objects, while the morphisms of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; say &lt;em&gt;how&lt;/em&gt; an object sits over its predecessors.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Monadicity and comonadicity</title>
    <id>https://stevenschaefer.net/monadicity-comonadicity.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/monadicity-comonadicity.html"/>
    <published>2026-07-19T05:48:18Z</published>
    <updated>2026-07-19T05:48:18Z</updated>
    <category term="adjunction"/>
    <category term="category-theory"/>
    <category term="eilenberg-moore"/>
    <content type="html">&lt;p&gt;An adjunction &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a monad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝐹&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, and a &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/comparison-functor.html&quot; data-entry=&quot;comparison-functor&quot;&gt;comparison functor&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mi&gt;𝐾&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;EM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;sending each object of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; to the &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra it carries.&lt;/p&gt;
&lt;p&gt;The functor &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is &lt;em&gt;monadic&lt;/em&gt; when &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐾&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is an equivalence: the adjunction exhibits &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; as objects of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; equipped with algebraic structure for &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot; data-entry=&quot;eilenberg-moore-displayed&quot;&gt;Eilenberg–Moore category&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Comonadicity&lt;/em&gt; is monadicity in the opposite category: a left adjoint &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐿&lt;/mi&gt;&lt;mo lspace=&quot;0.2777777777777778em&quot; rspace=&quot;0.2777777777777778em&quot;&gt;:&lt;/mo&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; with right adjoint &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑅&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; induces a comonad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝐿&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mi&gt;𝑅&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, a comparison &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝒟︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mtext&gt;coEM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; into the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/co-eilenberg-moore-displayed.html&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot;&gt;co-Eilenberg–Moore category&lt;/a&gt;, and &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐿&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is comonadic when this comparison is an equivalence.&lt;/p&gt;</content>
  </entry>
  <entry>
    <title>Presheaves are monadic and comonadic over families</title>
    <id>https://stevenschaefer.net/presheaves-monadic-comonadic-over-families.html</id>
    <link rel="alternate" type="text/html" href="https://stevenschaefer.net/presheaves-monadic-comonadic-over-families.html"/>
    <published>2026-07-19T05:45:10Z</published>
    <updated>2026-07-19T05:45:10Z</updated>
    <category term="adjunction"/>
    <category term="category-theory"/>
    <category term="families"/>
    <category term="monad"/>
    <category term="presheaf"/>
    <content type="html">&lt;p&gt;The &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/presheaf-family-adjoint-triple.html&quot; data-entry=&quot;presheaf-family-adjoint-triple&quot;&gt;adjoint triple&lt;/a&gt; &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Free&lt;/mtext&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo&gt;⊣&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; induces a monad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mtext&gt;Free&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; and a comonad &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;𝑈&lt;/mi&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;∘&lt;/mo&gt;&lt;mtext&gt;Cofree&lt;/mtext&gt;&lt;/math&gt;&lt;/span&gt; on &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mtext&gt;Fam&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Both &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/comparison-functor.html&quot; data-entry=&quot;comparison-functor&quot;&gt;comparison functors&lt;/a&gt; are equivalences: presheaves are the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/eilenberg-moore-displayed.html&quot; data-entry=&quot;eilenberg-moore-displayed&quot;&gt;Eilenberg–Moore algebras&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; and the &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/co-eilenberg-moore-displayed.html&quot; data-entry=&quot;co-eilenberg-moore-displayed&quot;&gt;co-Eilenberg–Moore coalgebras&lt;/a&gt; of &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;,&lt;/p&gt;
&lt;div class=&quot;helia-math helia-math-display helia-mathml&quot;&gt;&lt;math display=&quot;block&quot;&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;≃&lt;/mo&gt;&lt;mtext&gt;EM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mspace width=&quot;2em&quot;/&gt;&lt;mtext&gt;𝖯𝗌𝗁&lt;/mtext&gt;&lt;mspace width=&quot;0.1667em&quot;/&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mo&gt;≃&lt;/mo&gt;&lt;mtext&gt;coEM&lt;/mtext&gt;&lt;mspace width=&quot;0.2222em&quot;/&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mi&gt;.&lt;/mi&gt;&lt;/math&gt;&lt;/div&gt;
&lt;p&gt;So presheaves are both &lt;a class=&quot;helia-entry-link&quot; href=&quot;https://stevenschaefer.net/monadicity-comonadicity.html&quot; data-entry=&quot;monadicity-comonadicity&quot;&gt;monadic and comonadic&lt;/a&gt; over families.&lt;/p&gt;
&lt;p&gt;Reading the algebra structure concretely: a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑇&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-algebra on a family &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt; is a map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;msub&gt;&lt;mo lspace=&quot;0em&quot;&gt;∑&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo lspace=&quot;0.2222222222222222em&quot; rspace=&quot;0.2222222222222222em&quot;&gt;×&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt; for each &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;, subject to the monad algebra laws — that is, exactly a functorial action of restriction.&lt;/p&gt;
&lt;p&gt;The comonadic reading is the same structure seen from the element’s side: a &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑊&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;-coalgebra is a map &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;msub&gt;&lt;mo form=&quot;prefix&quot; lspace=&quot;0em&quot;&gt;∏&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;/msub&gt;&lt;mi&gt;𝒞︀&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mrow&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo&gt;,&lt;/mo&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;→&lt;/mo&gt;&lt;mi&gt;𝐴&lt;/mi&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;&lt;mi&gt;𝑦&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/math&gt;&lt;/span&gt;, giving each value its restriction along every morphism into &lt;span class=&quot;helia-math helia-math-inline helia-mathml&quot;&gt;&lt;math&gt;&lt;mi&gt;𝑥&lt;/mi&gt;&lt;/math&gt;&lt;/span&gt;. Where the monad says restriction &lt;em&gt;acts on&lt;/em&gt; values, the comonad says a value &lt;em&gt;already carries&lt;/em&gt; all of its restrictions — and the coalgebra laws say it does so coherently.&lt;/p&gt;</content>
  </entry>
</feed>
