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
∀ n. Prime(n) ∨ ¬Prime(n)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
2 occurrences
In local proof propositions
1 occurrences
Exact expanded native-PA statement
forall n. ((~(n = 1) /\ forall a b. n = a * b -> a = 1 \/ b = 1) \/ ~((~(n = 1) /\ forall a b. n = a * b -> a = 1 \/ b = 1)))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–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro n
02Use earlier factsL2–3
03Establish hn0L4–5
04Separate the logical casesL6–7
05Fix variables and assumptionsL8–8
Work with arbitrary variables or the premises of the current implication.
- L8
intro hp
06Use earlier factsL9–14
07Establish hn1L15–16
08Separate the logical casesL17–18
09Fix variables and assumptionsL19–19
Work with arbitrary variables or the premises of the current implication.
- L19
intro hp
10Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
cases hp
11Use earlier factsL21–23
12Establish hkindL24–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime or composite.
13Separate the logical casesL28–29
14Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact hkind_left
15Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
right
16Fix variables and assumptionsL32–32
Work with arbitrary variables or the premises of the current implication.
- L32
intro hp
17Separate the logical casesL33–37
18Use earlier factsL38–39
19Establish hunitL40–42
20Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hunit
Original defined command ledger · 47 lines
- 0001
intro n - 0002
specialize eq_decidable n - 0003
specialize eq_decidable 0 - 0004
have hn0 : n = 0 \/ ~(n = 0) - 0005
apply eq_decidable - 0006
cases hn0 - 0007
right - 0008
intro hp - 0009
specialize prime_nonzero n - 0010
apply prime_nonzero - 0011
exact hp - 0012
exact hn0_left - 0013
specialize eq_decidable_before n - 0014
specialize eq_decidable_before 1 - 0015
have hn1 : n = 1 \/ ~(n = 1) - 0016
apply eq_decidable_before - 0017
cases hn1 - 0018
right - 0019
intro hp - 0020
cases hp - 0021
apply hp_left - 0022
exact hn1_left - 0023
specialize prime_or_composite n - 0024
have hkind : Prime(n) ∨ (∃ x. ∃ y. ¬x = 1 ∧ ¬y = 1 ∧ n = x · y)Exact native replay line
have hkind : ((~(n = 1) /\ forall a b. n = a * b -> a = 1 \/ b = 1) \/ exists c d. ((~(c = 1) /\ ~(d = 1)) /\ n = c * d)) - 0025
apply prime_or_composite - 0026
exact hn0_right - 0027
exact hn1_right - 0028
cases hkind - 0029
left - 0030
exact hkind_left - 0031
right - 0032
intro hp - 0033
cases hp - 0034
cases hkind_right - 0035
cases hkind_right_witness - 0036
cases hkind_right_witness_witness - 0037
cases hkind_right_witness_witness_left - 0038
specialize hp_right x - 0039
specialize hp_right x1 - 0040
have hunit : x = 1 \/ x1 = 1 - 0041
apply hp_right - 0042
exact hkind_right_witness_witness_right - 0043
cases hunit - 0044
apply hkind_right_witness_witness_left_left - 0045
exact hunit_left - 0046
apply hkind_right_witness_witness_left_right - 0047
exact hunit_right