Iowa Type Theory Commute Podcast By Aaron Stump cover art

Iowa Type Theory Commute

Iowa Type Theory Commute

By: Aaron Stump
Listen for free

Aaron Stump talks about type theory, computational logic, and related topics in Computer Science on his short commute.© 2026 Iowa Type Theory Commute Mathematics Science
Episodes
  • Double-negation translations and CPS conversion, part 2
    Apr 2 2026

    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.

    Show more Show less
    14 mins
  • Double-negation translations and CPS conversion, part 1
    Mar 31 2026

    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).

    Show more Show less
    14 mins
  • What are commuting conversions in proof theory?
    Mar 3 2026

    Commuting conversions are transformations on proofs in natural deduction, that move certain stuck inferences out of the way, so that the normal detour reductions (which correspond to beta-reduction under Curry-Howard) are enabled. The stuck inferences are uses of disjunction elimination. In programming terms, if you have an if-then-else (a simple case of or-elimination) where the then- and else-branches are lambda abstractions, and you apply that if-then-else to an argument, you need commuting conversions to move the argument into the branches, so you can call the functions (in the then- and else-branches) with it.

    See Section 10.1 of Girard's Proofs and Types for more on the problem, and a nice paper by de Groote on strong normalization with commuting conversions.

    Show more Show less
    22 mins
No reviews yet