Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here

foundations-harper

Agda proofs for some of the theorems in Robert Harper's Practical Foundations of Programming Languages.

Subscribe to updates I use foundations-harper


Statistics on foundations-harper

Number of watchers on Github 40
Number of open issues 0
Main language Agda
Open pull requests 0+
Closed pull requests 0+
Last commit over 3 years ago
Repo Created over 3 years ago
Repo Last Updated almost 2 years ago
Size 22 KB
Organization / Authorscmu
Contributors1
Page Updated
Do you use foundations-harper? Leave a review!
View foundations-harper activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating foundations-harper for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

foundations-harper

Agda proofs for some of the theorems in Robert Harper's Practical Foundations of Programming Languages. 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. Gdel's T.
  • Ch 10. Plotkins PCF
  • Ch 20. Girards System F.

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

The proofs represents terms in Arthur Charguraud'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 much easier.

foundations-harper list of languages used
Other projects in Agda