# Materials ### Books - Types and Programming Languages by Benjamin C. Pierce - Functional Programming in Lean by David Thrane Christiansen (https://lean-lang.org/functional_programming_in_lean/) - Crafting Interpreters by Robert Nystrom (https://craftinginterpreters.com) - Certified Programming with Dependent Types by Adam Chlipala (http://adam.chlipala.net/cpdt/) - Essentials of Compilation by Jeremy G. Siek (https://github.com/IUCompilerCourse/Essentials-of-Compilation) - Theorem Proving in Lean 4 by Jeremy Avigad, Leonardo de Moura, Soonho Kong, Sebastian Ullrich (https://lean-lang.org/theorem_proving_in_lean4/) ### Other - Software Foundations — https://softwarefoundations.cis.upenn.edu - Natural Number Game — https://adam.math.hhu.de - Z3 guide — https://microsoft.github.io/z3guide/ - z3-solver — https://github.com/Z3Prover/z3 - ts-pattern — https://github.com/gvergnaud/ts-pattern