Iowa Type Theory Commute cover art

All Episodes

Iowa Type Theory Commute — 186 episodes

#
Title
1

A Strange Deal, Explained

2

A Strange Deal

3

Great paper: The Calculated Typer

4

Double-negation translations and CPS conversion, part 2

5

Double-negation translations and CPS conversion, part 1

6

What are commuting conversions in proof theory?

7

What is Control Flow Analysis for Lambda Calculus?

8

Measure Functions and Termination of STLC

9

Schematic Affine Recursion, Oh My!

10

The Stunner: Linear System T is Diverging!

11

Terminating Computation First?

12

Correction: the Correct Author of the Proof from Last Episode, and an AI flop

13

Krivine's Proof of FD, Using Intersection Types

14

A Measure-Based Proof of Finite Developments

15

Introduction to the Finite Developments Theorem

16

Nominal Isabelle/HOL

17

The Locally Nameless Representation

18

POPLmark Reloaded, Part 2

19

POPLmark Reloaded, Part 1

20

Introduction to Formalizing Programming Languages Theory

21

Turing's proof of normalization for STLC

22

Introduction to normalization for STLC

23

The curious case of exponentiation in simply typed lambda calculus

24

Arithmetic operations in simply typed lambda calculus

25

More on basics of simple types

26

Begin Chapter on Simple Type Theory

27

Some advanced examples in DCS

28

DCS compared to termination checkers for type theories

29

Getting started with DCS

30

Introduction to DCS

31

Semantics of subtyping

32

More on type inference for simple subtypes

33

Subtyping, the golden key

34

Type inference with simple subtypes

35

Basics of subtyping

36

Begin chapter on subtyping

37

Last episode discussing Observational Equality Now for Good

38

More on observational type theory

39

Introduction to Observational Type Theory

40

Interjection: The Liquid Tensor Experiment

41

Extensional Martin-Loef Type Theory

42

Begin chapter on extensionality

43

Papers from Formal Methods for Blockchains 2021

44

Mi-Cho-Coq: Michelson formalized and applied, in Coq

45

Verification of Tezos smart contracts with K-Michelson

46

Start of Season 4: Formal Methods for Blockchain

47

Separation Logic II: recursive predicates

48

Separation Logic 1

49

Let's talk about Rust

50

Region-Based Memory Management

51

Introduction to verified memory management

52

More on Metamath

53

Metamath

54

The Seventeen Provers of the World

55

More on Lean

56

The Lean Prover

57

More on Isabelle, and the Complexity of ITPs

58

Isabelle/HOL

59

More on Agda

60

A look at Agda

61

More reflections on Coq

62

The Coq Proof Assistant

63

Introduction to Interactive Theorem Provers

64

The proof-theoretic ordinal of Peano Arithmetic is Epsilon-0

65

The proof-theoretic ordinal of a logical theory

66

Introduction to Ordinal Analysis

67

An analogy for multiplicative disjunction

68

Linear conjunctions and disjunctions

69

A taste of linear logic

70

Structural rules, or the Curse of the Bound Variable

71

Why Cut Elimination is More Complicated than Normalization

72

Introduction to Cut Elimination

73

Normalization of detours for implication inferences

74

Normalization in natural deduction

75

A Brief Look at Sequent Calculus

76

Natural deduction: or, the bad news!

77

Implication rules for natural deduction

78

Natural Deduction

79

Rules of proof, standard proof systems

80

Different proof systems, distinguishing logical rules from domain axioms

81

Introduction to Proof Theory (Start of Season 3)

82

Modula-2

83

Decomposing recursions using algebras

84

Reassembling datatypes from functors using a fixed-point

85

Decomposing datatypes into functors

86

Modular datatypes: introducing Swierstra's paper "Datatypes à la Carte"

87

Modules for Mathematical Theories (MMT)

88

Some thoughts on module systems so far

89

A look at Agda's module system

90

Standard ML: the Newmar King-Aire of module systems

91

A look at Haskell's module system

92

Let's talk about modules!

93

Church-style Typing and Intersection Types: Glimpses of Benjamin Pierce's Dissertation

94

Intersections and Unions in Practice; Failure of Type Preservation with Unions

95

Normal terms are typable with intersection types

96

Intersection Types Preserved Under Beta-Expansion

97

Introduction to Intersection Types

98

Deriving disjointness of constructor ranges in RelTT

99

Software Design and Intrinsic Identity

100

Identity Inclusion in Relational Type Theory

101

On the paper "The Girard-Reynolds Isomorphism" by Philip Wadler

102

Equivalence of inductive and parametric naturals in RelTT

103

Examples in Relational Type Theory

104

The Semantics of Relational Types

105

The Types of Relational Type Theory

106

Introducing Relational Type Theory

107

On the paper "Types, Abstraction, and Parametric Polymorphism"

108

Parametric models and representation independence

109

Explaining my encoding of a HOAS datatype, part 2

110

Explaining my encoding of a HOAS datatype, part 1

111

Term models for higher-order signatures

112

Lambda applicative structures and interpretations of lambda abstractions

113

The Basic Lemma

114

Logical relations are not closed under composition

115

The definition of a logical relation

116

Introduction to Logical Relations

117

Lamping's abstract algorithm

118

Examples showing non-optimality of Haskell

119

Lambda graphs with duplicators and start of Lamping's abstract algorithm

120

Duplicating redexes as the central problem of optimal reduction

121

Introduction to optimal beta reduction

122

Lexicographic termination

123

Mendler-style iteration

124

Well-founded recursion

125

Compositional termination checking with sized types

126

Noncompositionality of syntactic structural-recursion checks

127

Structural termination

128

Proving Confluence for Untyped Lambda Calculus II

129

Proving Confluence for Untyped Lambda Calculus I

130

Confluence, and its use for conversion checking

131

Normalization and logical consistency

132

Normalization in type theory: where it is needed, and where not

133

Introduction to normalization

134

Proving type safety; upcoming metatheoretic properties

135

The progress property and the problem of axioms in type theory

136

Introduction to type safety

137

Introduction to metatheory

138

Definition of the Mendler encoding

139

The Mendler encoding and the problem of explicit recursion

140

The Scott encoding

141

More on the Parigot encoding

142

Introduction to the Parigot encoding

143

Church-encoding natural numbers

144

Church encoding of lists

145

Church encoding of the booleans

146

Introduction to Church encoding

147

Functional encodings turning the world inside out

148

More benefits of lambda encodings

149

Introduction to lambda encodings

150

Adding a top type and allowing non-normalizing terms

151

Intersection types using Curry-style typing

152

Curry-style versus Church-style, and the nature of type annotations

153

More on Computation First, and Basic Idea of Realizability

154

Types should be erased for executing and reasoning about programs

155

Why go beyond GADTs?

156

GADTs for programming with representations of types

157

Using GADTs for typed subsetting of your language

158

Example of programming with indexed types: binary search trees

159

Programming with indexed types using singletons

160

Limitations of indexed types that are not truly dependent

161

Programming with Indexed Types

162

Program Termination and the Curry-Howard Isomorphism

163

Why Curry-Howard for classical proofs is a bad idea for programming

164

Curry-Howard for classical logic

165

Dependent types and design by contract

166

Indexed types and Curry-Howard for first-order quantifiers

167

The Curry-Howard Isomorphism for Propositional Logic

168

The Curry-Howard Isomorphism for Induction

169

Constructive proofs as programs

170

Introduction to the Curry-Howard Isomorphism

171

Functors and catamorphisms

172

Structured Recursion Schemes for Point-Free Recursion

173

More on point-free programming and category theory

174

Point-free programming and category theory

175

Concise code through point-free programming

176

More on FP and concise code

177

Functional Programming and Concise Code: Type Inference

178

Introduction to Functional Programming

179

Software Engineering Considerations for Formal Methods

180

Power of Computer-Checked Proofs for Software

181

Technical reasons for lack of adoption of computer-checked proofs

182

Why Computer-Checked Proofs are Not Used More in Mathematics

183

Computer-Checked Proofs in American Research

184

Computer-checked proofs about software

185

More on Computer-Checked Proofs

186

Computer-checked proofs