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,l) → n = 1 → l = 0
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 19 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–6
02Separate the logical casesL7–8
03Establish hiffL9–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta all prime product one iff length zero.
- L9
have hiff : (n = 1 -> l = 0) /\ (l = 0 -> n = 1) - L10
specialize beta_all_prime_product_one_iff_length_zero (b) - L11
specialize beta_all_prime_product_one_iff_length_zero (c) - L12
specialize beta_all_prime_product_one_iff_length_zero (l) - L13
specialize beta_all_prime_product_one_iff_length_zero (n) - L14
apply beta_all_prime_product_one_iff_length_zero - L15
exact hf_right_right - L16
exact hf_right_left
04Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hiff
Original defined command ledger · 19 lines
- 0001
intro n - 0002
intro b - 0003
intro c - 0004
intro l - 0005
intro hf - 0006
intro hunit - 0007
cases hf - 0008
cases hf_right - 0009
have hiff : (n = 1 -> l = 0) /\ (l = 0 -> n = 1) - 0010
specialize beta_all_prime_product_one_iff_length_zero (b) - 0011
specialize beta_all_prime_product_one_iff_length_zero (c) - 0012
specialize beta_all_prime_product_one_iff_length_zero (l) - 0013
specialize beta_all_prime_product_one_iff_length_zero (n) - 0014
apply beta_all_prime_product_one_iff_length_zero - 0015
exact hf_right_right - 0016
exact hf_right_left - 0017
cases hiff - 0018
apply hiff_left - 0019
exact hunit