2019-12-12: Conor McBride (MSP)

Tue, 14 Oct 2025 16:51:42 +0000

Conor McBride (MSP)

Potato Powered Proofs

Abstract

Stuart and I have been working on interpreters for predicative calculi which are "potato-powered" in that they work by structural recursion on inductive data which may look suspiciously like types, but are not statically checked to be the actual types of the programs in question. This works because the calculi are presented in a bidirectional style which, by design, causes every redex to carry some "potatoes", which hopefully contain enough inductive carbohydrate to keep you going for the whole of the computation to be done.

Naturally, it would be lovely if we could prove that the interpreter's output is genuinely a reduct of its input, and that well typed input yields normal form output (i.e., that an honest type gives the potatoes required to do the whole computation). How is it done? Potato-powered logical relations, of course! I'll give a crash course on cooking programs and proofs with potatoes.

2019-12-12 13:30:00 UTC
LT1310