Skip to content
The Lumenary
Grades 9–12ComputationPlanned

First steps in Lean

Stating and proving simple results in the Lean 4 proof assistant: propositions and proofs, rewriting, induction on natural numbers and reading Mathlib statements, with attention to what a machine check does and does not guarantee.

math.comp.intro-lean

The lesson for this topic has not been written yet. The outline below is part of the curriculum map and has not been reviewed.

Builds on

Required prerequisites, all the way down: 15

You will learn to

  • Write and check short Lean proofs of propositional tautologies and simple equalities using rfl, rw and simp.
  • Prove a statement about natural numbers by induction in Lean, such as 0 + n = n.
  • Read a Mathlib theorem statement, and distinguish applying a library theorem from proving a result independently.

Definition

  • A proof assistant is a program that checks proofs written in a formal language.
  • In Lean, a proposition is a type and a proof of it is a term of that type.
  • A tactic is a command that builds part of a proof, such as rw (rewrite) or induction.

Theorem

  • A Lean proof that compiles without sorry and without added axioms has been checked by Lean's kernel relative to Lean's logic.
  • A formal proof is only as meaningful as its formal statement: a mis-stated theorem can be proved correctly.
  • For Lean's natural numbers, n + 0 = n holds by definition (rfl), while 0 + n = n needs a proof by induction.

Common misconceptions

  • Believing a machine-checked proof guarantees that the statement says what was intended.
  • Thinking a proof containing sorry is finished.
  • Confusing the use of a Mathlib lemma with proving the result from more basic facts.

Leads to

Optional discoveries

Learning pathways

Further reading