<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Amelia's Blag: Latest articles</title>
        <link>https://amelia.how</link>
        <description><![CDATA[]]></description>
        <atom:link href="https://amelia.how/feed.xml" rel="self"
                   type="application/rss+xml" />
        <lastBuildDate>Fri, 08 Mar 2024 00:00:00 UT</lastBuildDate>
        <item>
    <title>Efficient instance resolution for Agda</title>
    <link>https://amelia.how/posts/efficient-instance-resolution-for-agda.html</link>
    <description><![CDATA[<p>Translating mathematics into code that a proof assistant can understand
is a process that involves a fair bit of friction. There’s quite a big
difference between what humans are willing to suspend disbelief about,
and what a type checker will actually accept without proof. Reducing
this friction is the primary task of the authors of a proof assistant
— but, of course, it would be infeasible to modify the proof assistant
<em>itself</em> to cover a new problem domain every time one comes up. To this
end, we provide users with various mechanisms for automation, through
which users can encode their domain-specific knowledge.</p>]]></description>
    <pubDate>Fri, 08 Mar 2024 00:00:00 UT</pubDate>
    <guid>https://amelia.how/posts/efficient-instance-resolution-for-agda.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>A quickie: Boundaries in Cubical Agda</title>
    <link>https://amelia.how/quick/boundaries-in-cubical-agda.html</link>
    <description><![CDATA[<p>Wonderfully vague title, yes? As some of you might know, I’m now
maintaining the implementation of Cubical Agda. Undoubtedly, if you
know, it’s because I’ve been talking your ear off about it: I’m sorry.
The “little kid with new toy” energy will continue until morale
improves.</p>]]></description>
    <pubDate>Mon, 29 Aug 2022 00:00:00 UT</pubDate>
    <guid>https://amelia.how/quick/boundaries-in-cubical-agda.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>The Adjoint Functor Theorem in Everyday Life</title>
    <link>https://amelia.how/posts/the-adjoint-functor-theorem-in-everyday-life.html</link>
    <description><![CDATA[<p>Here’s a mathematical situation that comes up a lot more often than is
reasonable. Suppose we have some mathematical object <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span>, generally
defined as some structure on a set: a <a href="https://1lab.dev/Algebra.Group.html">group</a>, a <a href="https://1lab.dev/Algebra.Ring.Base.html">ring</a>, a <a href="https://ncatlab.org/nlab/show/topological+space">topological
space</a>. These <em>all</em> have natural categorical structures, so we can - in
a uniform way - talk about their <em>subobjects</em>:</p>]]></description>
    <pubDate>Sun, 13 Mar 2022 00:00:00 UT</pubDate>
    <guid>https://amelia.how/posts/the-adjoint-functor-theorem-in-everyday-life.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>The Complete History of isoToEquiv</title>
    <link>https://amelia.how/posts/the-complete-history-of-isotoequiv.html</link>
    <description><![CDATA[<p>It’s a standard fact in (higher) category theory and homotopy theory
that any equivalence of categories (homotopy equivalence) can be
improved to an <em>adjoint</em> equivalence of categories (strong homotopy
equivalence). Adjoint equivalences (and strong homotopy equivalences)
are “more structured” notions in the sense that the data of an adjoint
equivalence is <em>contractible if inhabited</em>.</p>]]></description>
    <pubDate>Fri, 17 Dec 2021 00:00:00 UT</pubDate>
    <guid>https://amelia.how/posts/the-complete-history-of-isotoequiv.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>Parsing Layout, or: Haskell's Syntax is a Mess</title>
    <link>https://amelia.how/posts/parsing-layout.html</link>
    <description><![CDATA[<p>Hello! Today we’re going to talk about something I’m actually <em>good</em> at, for a change: writing compilers. Specifically, I’m going to demonstrate how to wrangle <a href="https://www.haskell.org/alex/">Alex</a> and <a href="https://www.haskell.org/happy/">Happy</a> to implement a parser for a simple language with the same indentation sensitive parsing behaviour as Haskell, the <em>layout rule</em>.</p>]]></description>
    <pubDate>Fri, 03 Sep 2021 00:00:00 UT</pubDate>
    <guid>https://amelia.how/posts/parsing-layout.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>Cubical Sets</title>
    <link>https://amelia.how/posts/cubical-sets.html</link>
    <description><![CDATA[<p>In which I try to write about semantics. This is not gonna go well, but I’m gonna try my best. I’ve heard it on good authority that the best way to learn something is to explain it to someone else, so in this post I’m going to use you, dear reader, as my rubber duck while I try to understand <em>cubical sets</em>. These are important (to me) because they provide a semantic model of cubical type theory (which I have written about previously), and since we have a semantic model, that theory is (semantically) consistent.</p>]]></description>
    <pubDate>Mon, 21 Jun 2021 00:00:00 UT</pubDate>
    <guid>https://amelia.how/posts/cubical-sets.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>A quickie: Axiom J</title>
    <link>https://amelia.how/quick/axiom-j.html</link>
    <description><![CDATA[<p>Hey y’all, it’s been three months since my last blog post! You know what that means.. or should mean, at least. Yes, I’d quite like to have another long blog post done, but… Life is kinda trash right now, no motivation for writing, whatever. So over the coming week(s) or so, as a coping mechanism for the chaos that is the end of the semester, I’m gonna write a couple of really short posts (like this one) that might not even be coherent at all—this sentence sure isn’t.</p>]]></description>
    <pubDate>Mon, 07 Jun 2021 00:00:00 UT</pubDate>
    <guid>https://amelia.how/quick/axiom-j.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>Cubical Type Theory</title>
    <link>https://amelia.how/posts/cubical-type-theory.html</link>
    <description><![CDATA[<p>Hello, everyone! It’s been a while, hasn’t it? Somehow, after every post, I manage to convince myself that I’m gonna be better and not let a whole season go by between posts, but it never happens. For the last two posts I’ve been going on at length about fancy type theories, and this post, as the title implies, is no exception. In fact, two posts ago I mentioned, offhand, cubical type theory as a possibility for realising HoTT in a constructive way, but 128 days ago I did not understand cubical type theory in the slightest.</p>]]></description>
    <pubDate>Sun, 07 Mar 2021 00:00:00 UT</pubDate>
    <guid>https://amelia.how/posts/cubical-type-theory.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>On Induction</title>
    <link>https://amelia.how/posts/on-induction.html</link>
    <description><![CDATA[<p><a href="/posts/reflections-on-equality.html">Last time</a> on this… thing… I update <em>very occasionally</em>, I talked about possible choices for representing equality in type theory. Equality is very important, since many properties of programs and mathematical operators are stated as equalities (e.g., in the definition of a group). However, expressing properties is useless if we can’t prove them, and this is where inductive types come in.</p>]]></description>
    <pubDate>Fri, 15 Jan 2021 00:00:00 UT</pubDate>
    <guid>https://amelia.how/posts/on-induction.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>
<item>
    <title>Reflections on Equality</title>
    <link>https://amelia.how/posts/reflections-on-equality.html</link>
    <description><![CDATA[<p>When shopping for a dependent type theory, many factors should be taken into consideration: how inductive data is represented (inductive schemas vs W-types), how inductive data <em>computes</em> (eliminators vs case trees), how types of types are represented (universes à la Tarski vs à la Russell). However, the most important is their treatment of equality.</p>]]></description>
    <pubDate>Fri, 30 Oct 2020 00:00:00 UT</pubDate>
    <guid>https://amelia.how/posts/reflections-on-equality.html</guid>
    <dc:creator>Amélia</dc:creator>
</item>

    </channel>
</rss>
