Lean is a proof assistant and a functional programming language.
It is based on the calculus of constructions with inductive types.
