Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
The complementary quotient is witnessed by n=d*q at positive divisors. The actual permutation covers indices zero through n, fixing zero and nondivisors. This is the involution foundation for the separate cancellation and full G007 inversion proofs, not an assumed divisor bijection.
Exact theorem in conservative defined notation
∀ n. ∀ d. ¬n = 0 → Dvd(d,n) → ∃ x. n = d · x ∧ (¬x = 0 ∧ (Dvd(x,n) ∧ (Le(x,n) ∧ (∀ y. n = d · y → y = x))))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 49 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay 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.
01Fix variables and assumptionsL1–4
02Separate the logical casesL5–5
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
cases hd
03Construct an explicit witnessL6–6
Supply the displayed value, then prove that it has the required property.
- L6
exists x
04Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
split
05Use earlier factsL8–8
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
exact hd_witness
06Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
split
07Fix variables and assumptionsL10–10
Work with arbitrary variables or the premises of the current implication.
- L10
intro hqzero
08Use earlier factsL11–17
09Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
split
10Construct an explicit witnessL19–19
Supply the displayed value, then prove that it has the required property.
- L19
exists d
11Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
trans d*x
12Use earlier factsL21–22
13Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
split
14Use earlier factsL24–27
15Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists d
16Calculate and transport equalitiesL29–29
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L29
trans d*x
17Use earlier factsL30–31
18Fix variables and assumptionsL32–33
19Use earlier factsL34–37
20Fix variables and assumptionsL38–38
Work with arbitrary variables or the premises of the current implication.
- L38
intro hdzero
21Use earlier factsL39–45
22Calculate and transport equalitiesL46–47
Original defined command ledger · 49 lines
- 0001
intro n - 0002
intro d - 0003
intro hn - 0004
intro hd - 0005
cases hd - 0006
exists x - 0007
split - 0008
exact hd_witness - 0009
split - 0010
intro hqzero - 0011
specialize factor_nonzero_right (n) - 0012
specialize factor_nonzero_right (d) - 0013
specialize factor_nonzero_right (x) - 0014
apply factor_nonzero_right - 0015
exact hn - 0016
exact hd_witness - 0017
exact hqzero - 0018
split - 0019
exists d - 0020
trans d*x - 0021
exact hd_witness - 0022
apply mul_comm - 0023
split - 0024
specialize divisor_le_nonzero (x) - 0025
specialize divisor_le_nonzero (n) - 0026
apply divisor_le_nonzero - 0027
exact hn - 0028
exists d - 0029
trans d*x - 0030
exact hd_witness - 0031
apply mul_comm - 0032
intro r - 0033
intro hr - 0034
specialize mul_left_cancel_nonzero (d) - 0035
specialize mul_left_cancel_nonzero (r) - 0036
specialize mul_left_cancel_nonzero (x) - 0037
apply mul_left_cancel_nonzero - 0038
intro hdzero - 0039
specialize factor_nonzero_left (n) - 0040
specialize factor_nonzero_left (d) - 0041
specialize factor_nonzero_left (x) - 0042
apply factor_nonzero_left - 0043
exact hn - 0044
exact hd_witness - 0045
exact hdzero - 0046
trans n - 0047
symm - 0048
exact hr - 0049
exact hd_witness