Skip to content

Chapter 2. Propositions and Proofs

This chapter introduces the proof layer of Lean.

This chapter introduces the proof layer of Lean. The central idea is that a proposition is a type, and a proof is a term of that type. This principle is often called propositions as types. It gives Lean a uniform foundation: definitions, programs, propositions, and proofs are all checked by the same kernel.

The chapter begins with implication, conjunction, disjunction, negation, truth, falsehood, equality, and quantifiers. These are the ordinary logical forms used in mathematics, but in Lean they also have exact introduction and elimination rules. To prove an implication, introduce its assumption. To prove a conjunction, prove both parts. To use a disjunction, split into cases. To prove an existential statement, provide a witness and a proof that the witness satisfies the property.

The practical goal is to make each logical connective feel mechanical. Once you know the shape of the goal, you know the first move. Once you know the shape of a hypothesis, you know how it can be used. This chapter develops that habit through small proof recipes.

A second theme is the relation between constructive and classical reasoning. Lean is constructive by default, so a proof of existence normally contains data. Classical principles such as excluded middle and proof by contradiction can be used explicitly when needed. The chapter shows where classical reasoning changes the proof shape and how to keep that dependency visible.

Equality receives special attention because it connects logic with computation. Some equalities are solved by reflexivity because both sides reduce to the same expression. Other equalities require rewriting, symmetry, transitivity, or intermediate lemmas. These simple equality patterns become the basis for later automation with rw, simp, and calc.

By the end of the chapter, you should be able to read a Lean goal as an instruction. A goal of the form P -> Q asks for intro. A goal of the form P ∧ Q asks for constructor. A hypothesis of the form P ∨ Q asks for cases. A hypothesis of the form False solves any goal. This correspondence between logical form and proof action is the main skill developed here.

2.1 Propositions as TypesLean identifies propositions with types and proofs with terms.
4 min
2.2 Implication and FunctionsImplication is the first logical connective to understand in Lean because it is also the ordinary function type.
5 min
2.3 ConjunctionConjunction represents "and".
4 min
2.4 DisjunctionDisjunction represents "or".
6 min
2.5 NegationNegation represents "not".
5 min
2.6 False and Contradiction`False` is the proposition with no constructors.
6 min
2.7 True and Trivial Proofs`True` is the proposition that always has a proof.
5 min
2.8 Equality BasicsEquality expresses that two terms are identical.
5 min
2.9 Rewriting with EqualityRewriting is the main way to use equality in Lean.
6 min
2.10 Symmetry and TransitivityEquality supports two structural operations: reversing direction (symmetry) and chaining steps (transitivity).
4 min
2.11 Existential QuantifiersAn existential statement says that some object exists with a given property.
6 min
2.12 Universal QuantifiersA universal statement asserts that a property holds for every element of a type.
5 min
2.13 Classical vs Constructive LogicLean is constructive by default.
4 min
2.14 Proof by ContradictionProof by contradiction is a classical proof pattern.
5 min
2.15 Case AnalysisCase analysis is the proof pattern for using data that has more than one possible constructor.
6 min
2.16 Introduction and Elimination RulesEvery logical connective in Lean has two sides.
7 min
2.17 Proof Structuring PatternsA Lean proof should expose the shape of the argument.
7 min
2.18 Naming ConventionsNames in Lean carry meaning.
5 min
2.19 Local Context ManagementThe local context is the list of variables, hypotheses, instances, and intermediate facts available at a point in a proof.
7 min
2.20 Using Assumptions EffectivelyAn assumption is a local term that Lean may use to solve the current goal or produce another proof.
6 min
2.21 Forward ReasoningForward reasoning starts from the assumptions in the local context and derives new facts until the goal becomes immediate.
6 min
2.22 Backward ReasoningBackward reasoning starts from the goal and reduces it to simpler subgoals.
5 min
2.23 Rewriting StrategiesRewriting with equality is one of the most frequent operations in Lean.
5 min
2.24 Simplification and AutomationLean provides automation to reduce routine proof steps.
5 min
2.25 Common Proof Mistakes and DebuggingLean proofs fail in predictable ways.
5 min