• A Measure-Based Proof of Finite Developments
    Apr 16 2025

    I discuss the paper "A Direct Proof of the Finite Developments Theorem", by Roel de Vrijer. See also the write-up at my blog.

    Show more Show less
    23 mins
  • Introduction to the Finite Developments Theorem
    Mar 27 2025

    The finite developments theorem in pure lambda calculus says that if you select as set of redexes in a lambda term and reduce only those and their residuals (redexes that can be traced back as existing in the original set), then this process will always terminate. In this episode, I discuss the theorem and why I got interested in it.

    Show more Show less
    16 mins
  • Nominal Isabelle/HOL
    Jan 31 2025

    In this episode, I discuss the paper Nominal Techniques in Isabelle/HOL, by Christian Urban. This paper shows how to reason with terms modulo alpha-equivalence, using ideas from nominal logic. The basic idea is that instead of renamings, one works with permutations of names.

    Show more Show less
    16 mins
  • The Locally Nameless Representation
    Jan 3 2025

    I discuss what is called the locally nameless representation of syntax with binders, following the first couple of sections of the very nicely written paper "The Locally Nameless Representation," by Charguéraud. I complain due to the statement in the paper that "the theory of λ-calculus identifies terms that are α-equivalent," which is simply not true if one is considering lambda calculus as defined by Church, where renaming is an explicit reduction step, on a par with beta-reduction. I also answer a listener's question about what "computational type theory" means.

    Feel free to email me any time at aaron.stump@bc.edu, or join the Telegram group for the podcast.

    Show more Show less
    20 mins
  • POPLmark Reloaded, Part 2
    Dec 23 2024

    I continue the discussion of POPLmark Reloaded , discussing the solutions proposed to the benchmark problem. The solutions are in the Beluga, Coq (recently renamed Rocq), and Agda provers.

    Show more Show less
    14 mins
  • POPLmark Reloaded, Part 1
    Dec 23 2024

    I discuss the paper POPLmark Reloaded: Mechanizing Proofs by Logical Relations, which proposes a benchmark problem for mechanizing Programming Language theory.

    Show more Show less
    15 mins
  • Introduction to Formalizing Programming Languages Theory
    Nov 25 2024

    In this episode, I begin discussing the question and history of formalizing results in Programming Languages Theory using interactive theorem provers like Rocq (formerly Coq) and Agda.

    Show more Show less
    12 mins
  • Turing's proof of normalization for STLC
    May 21 2024

    In this episode, I describe the first proof of normalization for STLC, written by Alan Turing in the 1940s. See this short note for Turing's original proof and some historical comments.

    Show more Show less
    18 mins
adbl_web_global_use_to_activate_webcro768_stickypopup