Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
forall a b. ~(2 = S (S a) * S (S b))Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
0 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall a b. ~(2 = S (S a) * S (S b))Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (3)
01Fix variables and assumptionsL1–3
02Use earlier factsL4–5
03Calculate and transport equalitiesL6–8
04Establish hzeroL9–12
05Establish hzero'L13–15
06Establish hprodL16–20
07Establish hzL21–23
08Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hz
Original defined command ledger · 28 lines
- 0001
intro a - 0002
intro b - 0003
intro h - 0004
specialize mul_succ_left (S a) - 0005
specialize mul_succ_left (S (S b)) - 0006
rewrite mul_succ_left at h - 0007
rewrite PA4 at h - 0008
rewrite PA4 at h - 0009
have hzero : 0 = S a * S (S b) + b - 0010
apply PA2 - 0011
apply PA2 - 0012
exact h - 0013
have hzero' : S a * S (S b) + b = 0 - 0014
symm - 0015
exact hzero - 0016
have hprod : S a * S (S b) = 0 - 0017
apply add_eq_zero_left - 0018
exact hzero' - 0019
specialize mul_eq_zero (S a) - 0020
specialize mul_eq_zero (S (S b)) - 0021
have hz : S a = 0 \/ S (S b) = 0 - 0022
apply mul_eq_zero - 0023
exact hprod - 0024
cases hz - 0025
apply PA1 - 0026
exact hz_left - 0027
apply PA1 - 0028
exact hz_right