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.
Exact expanded PA statement
forall d n. ~(n = 0) -> (exists q. n = d * q) -> exists k. k + d = nStructural proof guide
Generated structural guide
A divisor of a nonzero natural is bounded by that natural.
Use the direct prerequisites one_le_of_ne_zero as previously established PA formulas.
The proof proceeds by case analysis (2), intermediate claims (3), equality transport (1), certified simplification (1).
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
PA0063 prime_bounded_nonzero_mod_inverse PA0072 gauss_half_range_signed_choices PA0082 prime_positive_bounded_product_coprime PA0089 bounded_nonzero_not_divides PA008B prime_mul_index_map_exists_up_to PA008K prime_range_product_coprime PA009C prime_scaled_inverse_unique PA00AG prime_bounded_square_one_cases PA00D8 distinct_odd_prime_half_products_ne PA00DN prime_nondivisor_bounded_scaled_remainder_nonzeroFormal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.
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 (1)
01Fix variables and assumptionsL1–4
02Separate the logical casesL5–5
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L5
cases hd
03Establish hqL6–13
04Establish h1qL14–16
05Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases h1q
06Establish hsL18–21
07Construct an explicit witnessL22–22
Supply the displayed value, then prove that it has the required property.
- L22
exists d * x1
08Calculate and transport equalitiesL23–24
09Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
apply PA6
10Calculate and transport equalitiesL26–28
11Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
exact hs
12Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
symm
13Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact hd_witness
Original exact command ledger · 31 lines
- 0001
intro d - 0002
intro n - 0003
intro hn - 0004
intro hd - 0005
cases hd - 0006
have hq : ~(x = 0) - 0007
intro hx - 0008
apply hn - 0009
trans d * x - 0010
exact hd_witness - 0011
rewrite hx - 0012
apply PA5 - 0013
specialize one_le_of_ne_zero x - 0014
have h1q : exists k. k + 1 = x - 0015
apply one_le_of_ne_zero - 0016
exact hq - 0017
cases h1q - 0018
have hs : S x1 = x - 0019
trans x1 + 1 - 0020
simp - 0021
exact h1q_witness - 0022
exists d * x1 - 0023
trans d * S x1 - 0024
symm - 0025
apply PA6 - 0026
trans d * x - 0027
congr - 0028
refl - 0029
exact hs - 0030
symm - 0031
exact hd_witness