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.
The original division, gcd, cancellation, and factor-existence foundations are exposed through checked wrappers. Unordered uniqueness adds an actual bounded, injective, surjective index map matching repeated prime occurrences. The empty factor list represents one, not zero.
Exact theorem in conservative defined notation
∀ n. ∀ b. ∀ c. ∀ l. PrimeFactorList(n,b,c,S l) → ∃ x. ∃ y. Prime(x) ∧ (BetaAt(b,c,l,x) ∧ (n = y · x ∧ PrimeFactorList(y,b,c,l)))
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.
Named ingredients (2)
01Fix variables and assumptionsL1–5
02Establish hprodL6–6
Establish this local claim before using it. It is not an additional assumption.
- L6
have hprod : Product(b,c,S l,n)Definitions: Product(b,c,S l,n)Original native command in the exact edition
03Separate the logical casesL7–8
04Use earlier factsL9–9
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L9
exact hf_right_left
05Establish hdL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta product succ decompose.
- L10
have hd : ∃ p. ∃ r. BetaAt(b,c,l,p) ∧ (Product(b,c,l,r) ∧ n = r · p)Definitions: BetaAt(b,c,l,p)Product(b,c,l,r)Original native command in the exact edition - L11
specialize beta_product_succ_decompose (b) - L12
specialize beta_product_succ_decompose (c) - L13
specialize beta_product_succ_decompose (l) - L14
specialize beta_product_succ_decompose (n) - L15
apply beta_product_succ_decompose - L16
exact hprod
06Separate the logical casesL17–20
07Construct an explicit witnessL21–22
08Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
split
09Use earlier factsL24–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize factor_permutation_all_prime_entry (b) - L25
specialize factor_permutation_all_prime_entry (c) - L26
specialize factor_permutation_all_prime_entry (S l) - L27
specialize factor_permutation_all_prime_entry (l) - L28
specialize factor_permutation_all_prime_entry (x) - L29
apply factor_permutation_all_prime_entry
10Separate the logical casesL30–31
11Use earlier factsL32–35
12Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
split
13Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact hd_witness_witness_left
14Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
split
15Use earlier factsL39–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hd_witness_witness_right_right - L40
specialize factor_permutation_cancel_last (n) - L41
specialize factor_permutation_cancel_last (x) - L42
specialize factor_permutation_cancel_last (x1) - L43
specialize factor_permutation_cancel_last (b) - L44
specialize factor_permutation_cancel_last (c) - L45
specialize factor_permutation_cancel_last (l) - L46
apply factor_permutation_cancel_last - L47
exact hf - L48
exact hd_witness_witness_left
16Use earlier factsL49–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
exact hd_witness_witness_right_right
Original defined command ledger · 49 lines
- 0001
intro n - 0002
intro b - 0003
intro c - 0004
intro l - 0005
intro hf - 0006
have hprod : Product(b,c,S l,n) - 0007
cases hf - 0008
cases hf_right - 0009
exact hf_right_left - 0010
have hd : ∃ p. ∃ r. BetaAt(b,c,l,p) ∧ (Product(b,c,l,r) ∧ n = r · p) - 0011
specialize beta_product_succ_decompose (b) - 0012
specialize beta_product_succ_decompose (c) - 0013
specialize beta_product_succ_decompose (l) - 0014
specialize beta_product_succ_decompose (n) - 0015
apply beta_product_succ_decompose - 0016
exact hprod - 0017
cases hd - 0018
cases hd_witness - 0019
cases hd_witness_witness - 0020
cases hd_witness_witness_right - 0021
exists x - 0022
exists x1 - 0023
split - 0024
specialize factor_permutation_all_prime_entry (b) - 0025
specialize factor_permutation_all_prime_entry (c) - 0026
specialize factor_permutation_all_prime_entry (S l) - 0027
specialize factor_permutation_all_prime_entry (l) - 0028
specialize factor_permutation_all_prime_entry (x) - 0029
apply factor_permutation_all_prime_entry - 0030
cases hf - 0031
cases hf_right - 0032
exact hf_right_right - 0033
specialize le_refl (S l) - 0034
apply le_refl - 0035
exact hd_witness_witness_left - 0036
split - 0037
exact hd_witness_witness_left - 0038
split - 0039
exact hd_witness_witness_right_right - 0040
specialize factor_permutation_cancel_last (n) - 0041
specialize factor_permutation_cancel_last (x) - 0042
specialize factor_permutation_cancel_last (x1) - 0043
specialize factor_permutation_cancel_last (b) - 0044
specialize factor_permutation_cancel_last (c) - 0045
specialize factor_permutation_cancel_last (l) - 0046
apply factor_permutation_cancel_last - 0047
exact hf - 0048
exact hd_witness_witness_left - 0049
exact hd_witness_witness_right_right