A software engineer with a math PhD background shares personal learning notes from diving into the Lean 4 theorem prover. The post covers initial stumbling blocks for someone coming from mainstream programming languages: the three-level type hierarchy (terms, types, universes), the disorienting homoiconicity of dependent types

11m read timeFrom rkirov.github.io
Post cover image
Table of contents
MotivationAudienceIntroLearning the languageThe three-levels of objectsSyntactic separation of the three kinds of objectsOptional names vs optional typesNumeric Literals and Type ClassesObservation on Curry-HowardMy remaining questionsFinal words

Sort: