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
∀ d. ∀ n. Dvd(d,n) ∨ ¬Dvd(d,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
0 occurrences
Exact expanded native-PA statement
forall d n. (exists q. n = d * q) \/ ~(exists q. n = d * q)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–2
02Use earlier factsL3–4
03Establish hdL5–6
04Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases hd
05Use earlier factsL8–9
06Establish hnL10–11
07Separate the logical casesL12–13
08Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists 0
09Calculate and transport equalitiesL15–15
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L15
trans 0
10Use earlier factsL16–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
exact hn_left
11Calculate and transport equalitiesL17–18
12Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply mul_zero_left
13Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
right
14Fix variables and assumptionsL21–21
Work with arbitrary variables or the premises of the current implication.
- L21
intro hmultiple
15Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hmultiple
16Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
apply hn_right
17Calculate and transport equalitiesL24–24
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L24
trans d * x
18Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact hmultiple_witness
19Calculate and transport equalitiesL26–26
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L26
rewrite hd_left
Original defined command ledger · 29 lines
- 0001
intro d - 0002
intro n - 0003
specialize eq_decidable d - 0004
specialize eq_decidable 0 - 0005
have hd : d = 0 \/ ~(d = 0) - 0006
apply eq_decidable - 0007
cases hd - 0008
specialize eq_decidable_before n - 0009
specialize eq_decidable_before 0 - 0010
have hn : n = 0 \/ ~(n = 0) - 0011
apply eq_decidable_before - 0012
cases hn - 0013
left - 0014
exists 0 - 0015
trans 0 - 0016
exact hn_left - 0017
symm - 0018
rewrite hd_left - 0019
apply mul_zero_left - 0020
right - 0021
intro hmultiple - 0022
cases hmultiple - 0023
apply hn_right - 0024
trans d * x - 0025
exact hmultiple_witness - 0026
rewrite hd_left - 0027
apply mul_zero_left - 0028
apply multiple_decidable_nonzero - 0029
exact hd_right