[Agda] Agda Proofs for Harper's Practical Foundations of Programming Languages

Shin-Cheng Mu scm at iis.sinica.edu.tw
Sun Mar 27 10:51:05 CEST 2016


Hi all,

I think this might be useful for some of you, so I am 
posting here.

In this repository:

  https://github.com/scmu/foundations-harper

are Agda proofs for some of the theorems in Robert Harper's 
Practical Foundations of Programming Languages (1st edition.. I
haven't got time to update them to the 2nd edition). Languages 
from the followings chapters of the book are defined:

* Ch 4. Statics: L{num str}.
* Ch 8. Function Definitions and Values: L{num str fun}.
* Ch 9. Gödel's T.
* Ch 10. Plotkin’s PCF
* Ch 20. Girard’s System F.

For each language, I basically define its typing rules, its 
small step semantics, and prove the subject reduction 
(preservation) and progress theorems.

The proofs represents terms in Arthur Charguéraud's locally 
nameless style with cofinite quantification, with my own 
little variation: terms are indexed by number of bound variables. 
Terms are thus always locally closed. I found this made some 
proofs easier.

sincerely,
Shin
scm at iis.sinica.edu.tw





More information about the Agda mailing list