Files
lean-pl-tutorials/references.md

1.8 KiB
Raw Blame History

References

Primary Learning Resources

Abbr Title Link
FPIL Functional Programming in Lean https://lean-lang.org/functional_programming_in_lean/
TPIL Theorem Proving in Lean 4 https://leanprover.github.io/theorem_proving_in_lean4/
MiL Mathematics in Lean https://leanprover-community.github.io/mathematics_in_lean/

PL Semantics Formalizations in Lean 4

Resource What it covers Link
syndikos/lean4-stlc STLC: syntax, semantics, typing, metatheory (Progress + Preservation) https://github.com/syndikos/lean4-stlc
chenson2018/LeanScratch Untyped λ-calculus: de Bruijn + locally nameless, confluence proofs https://github.com/chenson2018/LeanScratch
sdemos/type-inference STLC + HM type inference, soundness & completeness of W https://github.com/sdemos/type-inference
rami3l/PLFaLean PLFA Parts 23 translated to Lean 4 https://github.com/rami3l/PLFaLean

PL Theory (Non-Lean)

Resource Format Link
Software Foundations Vol.2 Rocq book https://softwarefoundations.cis.upenn.edu/
PLFA Part 2 Agda book https://plfa.github.io/
Chris Henson: Beginner Resources for Formalizing Lambda Calculi Blog post https://chrishenson.net/posts/2025-05-10-formalized_lambda_calculus.html

HM Type System

Resource Format Link
Wikipedia: Hindley-Milner type system Reference https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system
Jeff Vaughan: "A proof of correctness for the HM type inference algorithm" PDF (2008) https://www.jeffvaughan.net/docs/hmproof.pdf

Community