Iowa Type Theory Commute

Iowa Type Theory Commute

Download on the App Store

Iowa Type Theory Commute episodes

  • Autoformalization of Fermat's Last Theorem

    In this episode, I reflect on the recent announcement that Anthropic researchers have autoformalized the proof of Fermat's Last Theorem.  That is, they instructed an LLM to create a computer-checkable proof, in the Lean prover, of this theorem, following existing paper proofs in the literature.  The resulting proof weighs in at 13 million lines of Lean, a staggering amount.

    15 min
  • A Fireball of Alpha

    I talk about my efforts to formalize lambda-calculus with named variables and explicit alpha-equivalence, as originally proposed by Church.  One reason to do that, besides just a love of being ornery, is to be able to state and prove theorems about alpha-equivalence.  One example class of such theorems concern when alpha-equivalence can be avoided, in the sense that beta-reduction can proceed without any variable capture, while not requiring renaming variables.  I have a companion blog post that talks about this, with a link to the repo with my Agda code so far.

    21 min
  • Solving Quadratic Word Equations

    A system of word equations is called quadratic if no variable occurs more than twice in it.  There is an interesting simple algorithm to solve quadratic systems of word equations, which I talk through in this episode.  My source is Chapter 12 of "Algebraic Combinatorics on Words" by Lothaire.

    23 min
  • A little bit about word equations

    The problem of word equations is a rather storied one, including frustrated connections to Hilbert's Tenth problem.  Word equations relate expressions consisting of concatenations of variables and constant symbols.  An example is a X = X a, where X is a variable and a is a constant.  A solution maps variables to strings of constant symbols making the two sides identical.  In this episode, I discuss the problem a little, and what I learned so far about how it is solved.

    18 min
  • Coercive subtyping and coherence

    In this episode, I give further arguments in favor of coercive subtyping from a software-engineering perspective.  I also explain the critical concept of coherence.

    21 min
  • A Strange Deal

    The Curry-Howard isomorphism for the law of excluded middle, as a radio drama.  I first saw a version of this story performed by Phil Wadler and Frank Pfenning (wearing fake horns!) at RTA in Nara, Japan in 2005.  This is my take on it.  In a subsequent episode, I will explain how the story illustrates the computational interpretation of the law of excluded middle.

    3 min
  • Great paper: The Calculated Typer

    I discuss a nice paper I quite enjoyed reading, called The Calculated Typer, by Garby, Bahr, and Hutton.  The authors take a very nice general look at the specification of a type checker, for a very simple expression language.  They then manually derive the actual code for the type checker by effectively trying to prove that this as yet unknown code satisfies its spec.  (This is what is meant by calculating the type checker.)

    24 min
  • Double-negation translations and CPS conversion, part 2

    In this episode, I talk about the control operator callcc, and how it is implemented during compilation using continuation-passing style (CPS).  I sketch how CPS conversion (transforming a program with callcc into one in CPS that does not need callcc any more) corresponds to double-negation translation from classical to intuitionistic logic.  The paper I am referencing is here.

    14 min
  • Double-negation translations and CPS conversion, part 1

    In this episode, I talk about a somewhat more advanced case of the Curry-Howard isomorphism (the connection between logic and programming languages where formulas in logic are identified with types, and proofs with programs).  This is the identification of double-negation translations in logic, which go back to a paper of Kolmogorov's in 1925, with conversion to continuation-passing style (CPS), a compilation technique.  For this episode, we just discuss the idea of double-negation translation: classical theorems can be translated to intuitionistic ones, by adding some double negations.  As an example, we talk through the intuitionistic proof of the double negation of the law of excluded middle: not not (p or not p).

    14 min

About Iowa Type Theory Commute

From the publisher's feed

Aaron Stump talks about type theory, computational logic, and related topics in Computer Science on his short commute.

More shows like Iowa Type Theory Commute

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

286 Listeners

Sean Carroll's Mindscape: Science, Society, Philosophy, Culture, Arts, and Ideas by Sean Carroll

Sean Carroll's Mindscape: Science, Society, Philosophy, Culture, Arts, and Ideas

4,164 Listeners

Interesting Times by New York Times Opinion

Interesting Times

7,120 Listeners

Tech Won't Save Us by Paris Marx

Tech Won't Save Us

575 Listeners

Dwarkesh Podcast by Dwarkesh Patel

Dwarkesh Podcast

565 Listeners

The Ezra Klein Show by New York Times Opinion

The Ezra Klein Show

15,882 Listeners

The Haskell Interlude by Haskell Podcast

The Haskell Interlude

14 Listeners

Software Unscripted by Richard Feldman

Software Unscripted

29 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

66 Listeners