<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/default.xsl"?>
<fr:tree xmlns:fr="http://www.forester-notes.org" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" root="false" base-url="/">
  <fr:frontmatter>
    <fr:authors>
      <fr:author>
        <fr:link href="/eigil-rischel/" title="Eigil Fjeldgren Rischel" uri="https://erischel.com/eigil-rischel/" display-uri="eigil-rischel" type="local">Eigil Fjeldgren Rischel</fr:link>
      </fr:author>
    </fr:authors>
    <fr:date>
      <fr:year>2021</fr:year>
      <fr:month>4</fr:month>
      <fr:day>18</fr:day>
    </fr:date>
    <fr:uri>https://erischel.com/this-weeks-finds-in-act-20210418/</fr:uri>
    <fr:display-uri>this-weeks-finds-in-act-20210418</fr:display-uri>
    <fr:route>/this-weeks-finds-in-act-20210418/</fr:route>
    <fr:title text="This Week's Finds in ACT">This Week's Finds in ACT</fr:title>
  </fr:frontmatter>
  <fr:mainmatter>
    <html:p>
John Baez wrote a regular blog/column called "<fr:link href="https://math.ucr.edu/home/baez/TWF.html" type="external">This Week's Finds in Mathematical Physics</fr:link>" circa 1993-2012. The entries are really a treasure trove of cool mathematical nuggets, covering everything from hardcore theoretical physics, group theory, climate models, category theory, and more.
</html:p>
    <html:p>
Imitation being the sincerest form of flattery, I decided to shamelessly steal this format, and so this is hopefully the first of many "This Week's Finds in Applied Category Theory". Below, I've summarized a few of the papers/blog post/notes/whatever I read this week. I didn't stick religiously to things I first came across this week, and indeed some of these are pretty old, but they're all things I spent some time mulling over this week.
</html:p>
    <fr:tree show-metadata="false">
      <fr:frontmatter>
        <fr:authors>
          <fr:author>
            <fr:link href="/eigil-rischel/" title="Eigil Fjeldgren Rischel" uri="https://erischel.com/eigil-rischel/" display-uri="eigil-rischel" type="local">Eigil Fjeldgren Rischel</fr:link>
          </fr:author>
        </fr:authors>
        <fr:date>
          <fr:year>2021</fr:year>
          <fr:month>4</fr:month>
          <fr:day>18</fr:day>
        </fr:date>
        <fr:title text="Tom Leinster: Algebraic Closure">
          <fr:link href="https://golem.ph.utexas.edu/category/2021/04/algebraic_closure.html" type="external">Tom Leinster: Algebraic Closure</fr:link>
        </fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <html:p>
  Galois theory is one of the cornerstones of algebra.
  It studies the relationship between _field extensions_ - that is, inclusions <fr:tex display="inline"><![CDATA[F \subseteq  K]]></fr:tex> of one field in another - and subgroups of the group <fr:tex display="inline"><![CDATA[Aut(K/F)]]></fr:tex>, of those automorphisms <fr:tex display="inline"><![CDATA[\phi ]]></fr:tex> of <fr:tex display="inline"><![CDATA[K]]></fr:tex> with <fr:tex display="inline"><![CDATA[\phi (f) = f]]></fr:tex> for all <fr:tex display="inline"><![CDATA[f \in  F]]></fr:tex>.
  It's somewhat clunky to treat this topic using category theory, for the simple reason that a lot of constructions aren't functorial, involving some choices that can't be made canonically.
</html:p>
        <html:p>
  Tom Leinster explains a neat proof of one of the fundamental theorems, namely that all fields admit an algebraic closure. The trick here is to work with _rings_ for as long as possible, and then right at the end quotient by a maximal ideal to pass back to fields.
</html:p>
        <html:p>
  The post ends with a remarkable idea.
  The algebraic closure is not functorial, in the sense that there is no endofunctor <fr:tex display="inline"><![CDATA[\bar {-}: \mathsf {Field} \to  \mathsf {Field}]]></fr:tex> and natural transformation <fr:tex display="inline"><![CDATA[1 \to  \bar {-}]]></fr:tex> so that <fr:tex display="inline"><![CDATA[X \to  \bar {X}]]></fr:tex> is always the inclusion of <fr:tex display="inline"><![CDATA[X]]></fr:tex> in its algebraic closure.
  However, Leinster conjectures that this can be remedied as follows:
  Consider a pair <fr:tex display="inline"><![CDATA[(\mathcal {E},k)]]></fr:tex>, where <fr:tex display="inline"><![CDATA[\mathcal {E}]]></fr:tex> is a topos and <fr:tex display="inline"><![CDATA[k]]></fr:tex> is a field in <fr:tex display="inline"><![CDATA[\mathcal {E}]]></fr:tex> - meaning a ring satisfying the formula <fr:tex display="inline"><![CDATA[\forall  x. x = 0 \vee  \exists  y. xy = 1]]></fr:tex>. Then we can consider the collection of morphisms to pairs <fr:tex display="inline"><![CDATA[(\mathcal {E}',k')]]></fr:tex>, where <fr:tex display="inline"><![CDATA[k']]></fr:tex> is algebraically closed. Then for <fr:tex display="inline"><![CDATA[\mathcal {E} = \mathsf {Set}]]></fr:tex>, <fr:tex display="inline"><![CDATA[k]]></fr:tex> a normal field, there is an initial such map, given by the topos <fr:tex display="inline"><![CDATA[Gal(k)-\mathsf {Set}]]></fr:tex> of sets with an action of the absolute Galois group of <fr:tex display="inline"><![CDATA[k]]></fr:tex>, and <fr:tex display="inline"><![CDATA[\bar {k}]]></fr:tex> equipped with its natural action.
</html:p>
        <html:p>
  Unfortunately, this doesn't hold.
  To see why, first recall why the map of ordinary fields <fr:tex display="inline"><![CDATA[i: k \to  \bar {k}]]></fr:tex> is not initial among maps from <fr:tex display="inline"><![CDATA[k]]></fr:tex> to algebraically closed fields. The reason is simply that <fr:tex display="inline"><![CDATA[Gal(\bar {k}/k)]]></fr:tex> is not trivial, so there are multiple maps <fr:tex display="inline"><![CDATA[\bar {k} \to  \bar {k}]]></fr:tex> from <fr:tex display="inline"><![CDATA[i]]></fr:tex> to <fr:tex display="inline"><![CDATA[i]]></fr:tex>.
</html:p>
        <html:p>
  Now let <fr:tex display="inline"><![CDATA[\phi ]]></fr:tex> be an element of the absolute Galois group, and consider the functor <fr:tex display="inline"><![CDATA[\phi _*: Gal(k)-\mathsf {Set} \to  Gal(k)-\mathsf {Set}]]></fr:tex> that carries a set <fr:tex display="inline"><![CDATA[X]]></fr:tex> to itself with the <fr:tex display="inline"><![CDATA[&phi;]]></fr:tex>-conjugate <fr:tex display="inline"><![CDATA[Gal(k)]]></fr:tex>-action, with <fr:tex display="inline"><![CDATA[(g,x) \mapsto  \phi  g \phi ^{-1} . x]]></fr:tex> (here <fr:tex display="inline"><![CDATA[g.x]]></fr:tex> is the original action).
  This is an equivalence of categories, so certainly a geometric morphism (even "in both directions").
  Now <fr:tex display="inline"><![CDATA[\phi ]]></fr:tex> is a map <fr:tex display="inline"><![CDATA[\bar {k} \to  \bar {k}]]></fr:tex> "over" the inclusion <fr:tex display="inline"><![CDATA[i: k \to  \bar {k}]]></fr:tex>. It's obviously not <fr:tex display="inline"><![CDATA[Gal(k)]]></fr:tex>-equivariant - but it _is_ equivariant from <fr:tex display="inline"><![CDATA[\bar {k} \to  \phi _*\bar {k}]]></fr:tex>.
  Namely, <fr:tex display="inline"><![CDATA[\phi  g \phi ^{-1} .  \phi  . x = \phi  . g.x]]></fr:tex>, which is exactly what should hold.
  Thus, both the identity and <fr:tex display="inline"><![CDATA[(\phi _*,\phi )]]></fr:tex> form maps
</html:p>
        <fr:tex display="block"><![CDATA[(Gal(k)-\mathsf {Set},\bar {k}) \to  (Gal(k)-\mathsf {Set},\bar {k})]]></fr:tex>
        <html:p>
  over <fr:tex display="inline"><![CDATA[(\mathsf {Set},k)]]></fr:tex>
  (To verify commutativity of the geomtric morphisms, the functor <fr:tex display="inline"><![CDATA[\mathsf {Set} \to  Gal(k)-\mathsf {Set}]]></fr:tex> equips a set with the trivial action, and obviously conjugating the trivial action you still get the trivial action). Just as in the normal case, this contradicts initiality.
</html:p>
      </fr:mainmatter>
    </fr:tree>
    <fr:tree show-metadata="false">
      <fr:frontmatter>
        <fr:authors>
          <fr:author>
            <fr:link href="/eigil-rischel/" title="Eigil Fjeldgren Rischel" uri="https://erischel.com/eigil-rischel/" display-uri="eigil-rischel" type="local">Eigil Fjeldgren Rischel</fr:link>
          </fr:author>
        </fr:authors>
        <fr:date>
          <fr:year>2021</fr:year>
          <fr:month>4</fr:month>
          <fr:day>18</fr:day>
        </fr:date>
        <fr:title text="Dan Shiebler Categorical Stochastic Processes and Likelyhood">
          <fr:link href="https://arxiv.org/abs/2005.04735" type="external">Dan Shiebler Categorical Stochastic Processes and Likelyhood</fr:link>
        </fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <html:p>
  In categorical approaches to probability, we usually study categories of stochastic maps given as Kleisli categories of "probability monads" - the ur-example being the Giry monad <fr:tex display="inline"><![CDATA[G: \mathsf {Meas} \to  \mathsf {Meas}]]></fr:tex> which carries a measurable space to the space of probability measures on it.
  This is quite distinct from how something like a stochastic process is usually treated in probability theory. There one would usually consider a function <fr:tex display="inline"><![CDATA[f: X \times  \Omega  \to  Y]]></fr:tex>, where <fr:tex display="inline"><![CDATA[\Omega ]]></fr:tex> is some "background space of samples", equipped with a probability measure.
  This formulation is strictly more expressive, since it allows you to express correlations between <fr:tex display="inline"><![CDATA[f(x)]]></fr:tex> and <fr:tex display="inline"><![CDATA[f(x')]]></fr:tex>, but since this is exactly expressive power that you usually _don't_ want in the usual categorical setups, in some sense the Giry formulation may be more appropriate.
  In any case, Dan Shiebler develops this alternative approach in this paper.
  He also considers how the paradigm of _maximum likelyhood_ statistics fits into the categorical learning framework as developed eg by Fong-Spivak-Tuyeras in <fr:link href="https://arxiv.org/abs/1711.10455" type="external">Backprop as Functor</fr:link> and further by Crutwell-Gavranovic-Ghani-Wilson-Zanasi, <fr:link href="https://arxiv.org/abs/2103.01931" type="external">Categorical Foundations of Gradient-Based Learning</fr:link></html:p>
      </fr:mainmatter>
    </fr:tree>
    <fr:tree show-metadata="false">
      <fr:frontmatter>
        <fr:authors>
          <fr:author>
            <fr:link href="/eigil-rischel/" title="Eigil Fjeldgren Rischel" uri="https://erischel.com/eigil-rischel/" display-uri="eigil-rischel" type="local">Eigil Fjeldgren Rischel</fr:link>
          </fr:author>
        </fr:authors>
        <fr:date>
          <fr:year>2021</fr:year>
          <fr:month>4</fr:month>
          <fr:day>18</fr:day>
        </fr:date>
        <fr:title text="Composing Open Dynamical Systems 2: Undirected Composition">
          <fr:link href="https://www.algebraicjulia.org/blog/post/2021/01/resource_sharers/index.html" type="external">Composing Open Dynamical Systems 2: Undirected Composition</fr:link>
        </fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <html:p>
  A blog post from the AlgebraicJulia project, about implementing certain ideas from ACT in actual software.
  Here, they're discussing a notion of "composing dynamical systems".
  There are different ways of doing this:
</html:p>
        <html:p>
  -   If you have a _parameterized_ dynamical system - one which depends on certain inputs - you can let another dynamical system control those inputs
  -   If you have two dynamical systems, both with a distinguished variable of the same type, you might be able to have them _share_ that variable. This requires that you can somehow "add up" the changes prescribed by each of the dynamical systems. For example, for ODEs you can add the derivatives, and for "difference equations" like <fr:tex display="inline"><![CDATA[y_{n+1} - y_n = F(y_n)]]></fr:tex>, you can add the differences. But of course given a fully general "discrete dynamical system" like <fr:tex display="inline"><![CDATA[y_{n+1} = s(y_n)]]></fr:tex>, you can't do this.
</html:p>
        <html:p>
  The blog posts discusses the implementation of this idea in the `AlgebraicDynamics.jl` package.
</html:p>
      </fr:mainmatter>
    </fr:tree>
    <fr:tree show-metadata="false">
      <fr:frontmatter>
        <fr:authors>
          <fr:author>
            <fr:link href="/eigil-rischel/" title="Eigil Fjeldgren Rischel" uri="https://erischel.com/eigil-rischel/" display-uri="eigil-rischel" type="local">Eigil Fjeldgren Rischel</fr:link>
          </fr:author>
        </fr:authors>
        <fr:date>
          <fr:year>2021</fr:year>
          <fr:month>4</fr:month>
          <fr:day>18</fr:day>
        </fr:date>
        <fr:title text="Realizability as the Connection between Computable and Constructive Mathematics">
          <fr:link href="http://math.andrej.com/2005/08/23/realizability-as-the-connection-between-computable-and-constructive-mathematics/" type="external">Realizability as the Connection between Computable and Constructive Mathematics</fr:link>
        </fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <html:p>
  You probably know that _intuitionistic_ logic is where you don't assume the Law of Excluded middle, <fr:tex display="inline"><![CDATA[P \vee  \neg  P]]></fr:tex> for all formulas <fr:tex display="inline"><![CDATA[P]]></fr:tex>.
  You may have heard this described also as _constructive_ logic, and heard something along the lines of "to prove an existence statement constructively, you have to provide an explicit algorithm for constructing an example".
  Since there are many interesting models of intuitionstic logic that refute LEM, which have nothing to do with algorithms (like toposes), this statement is obviously a bit odd. The right way to interpret it is _realizability logic_, which formalizes the idea of "there is a computable procedure verifying this statement". Then we find that
</html:p>
        <html:p>
  -   In order for <fr:tex display="inline"><![CDATA[\exists  a: P(a)]]></fr:tex> to hold, there must be an algorithm that produces <fr:tex display="inline"><![CDATA[a]]></fr:tex> such that <fr:tex display="inline"><![CDATA[P(a)]]></fr:tex> (in a suitable sense)
  -   The logic obeys the rules of intuitionistic logic (but not in general LEM, because this would require that for any statement, there was an algorithm which figured out whether <fr:tex display="inline"><![CDATA[P(x)]]></fr:tex> or <fr:tex display="inline"><![CDATA[\neg  P(x)]]></fr:tex> holds, which is not true).
</html:p>
      </fr:mainmatter>
    </fr:tree>
  </fr:mainmatter>
  <fr:backmatter>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="References">References</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Context">Context</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Backlinks">Backlinks</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Related">Related</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Contributions">Contributions</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
  </fr:backmatter>
</fr:tree>
