Lean (proof assistant)

ID: lean-proof-assistant

Lean (proof assistant) by Ciro Santilli 40 Updated 2026-01-30
Source code:
The way Lean and Coq mix programming and mathematics is a thing of great beauty. This is especially notable in lean as you start to play with with things such as:
  • partialenv lean functions, and using terminates_by to prove that certain functions terminate. Lean requires explicitly known if functions terminate or not to be able to use them in proofs.
  • noncomputable functions. Lean allows you to define mathematical functions which you can't actually execute, and it tracks that explicitly
Their 2025 current installation method is bullshit, recommends VS Code extension on Ubuntu. Lol.
From CLI:
curl https://elan.lean-lang.org/elan-init.sh -sSf | sh
source $HOME/.elan/env
Then when you run:
lean
it downloads the lean executable for you. Insane shit, could only come from a Microsoft mindset.
Lean is a proof assistant and a functional programming language developed primarily for formalizing mathematical theories and verifying the correctness of mathematical proofs. It was created by Leonardo de Moura and is used in both academia and industry for formal verification tasks. Key features of Lean include: 1. **Formal Language**: Lean provides a formal language in which users can write definitions, theorems, and proofs. This language is based on dependent type theory, enabling rich and expressive formulations.

New to topics? Read the docs here!