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.
All displayed hypotheses are required. Powers and positive differences are actual existential outputs. The proof constructs second-order correction identities and iterates the prime step; no binomial expansion or LTE oracle is assumed. The 2-adic variants remain separate open targets.
Exact theorem in conservative defined notation
∀ p. ∀ d. ∀ r. ∀ R. ∀ T. ∀ Q. ∀ C. ∀ H. ¬p = 1 ∧ (∀ x. ∀ y. p = x · y → x = 1 ∨ y = 1) → ¬p = 2 → Dvd(p,d) → ¬Dvd(p,R) → Q = p · R + d · C → 2 · C = p · r · T + d · H → ∃ x. Q = p · x ∧ ¬Dvd(p,x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 67 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–10
02Fix variables and assumptionsL11–14
03Establish hdivL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lte prime divides correction.
- L15
- L16
specialize lte_prime_divides_correction (p) - L17
specialize lte_prime_divides_correction (d) - L18
specialize lte_prime_divides_correction (r) - L19
specialize lte_prime_divides_correction (T) - L20
specialize lte_prime_divides_correction (C) - L21
specialize lte_prime_divides_correction (H) - L22
apply lte_prime_divides_correction - L23
exact hp - L24
exact hne
04Use earlier factsL25–26
05Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases hdiv
06Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists R + d * x
07Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
split
08Calculate and transport equalitiesL30–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
09Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
apply mul_comm
10Calculate and transport equalitiesL38–47
11Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
apply mul_comm
12Calculate and transport equalitiesL49–52
13Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
apply natural_mul_swap_right_tail
14Calculate and transport equalitiesL54–58
15Fix variables and assumptionsL59–59
Work with arbitrary variables or the premises of the current implication.
- L59
intro hunit
16Use earlier factsL60–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 67 lines
- 0001
intro p - 0002
intro d - 0003
intro r - 0004
intro R - 0005
intro T - 0006
intro Q - 0007
intro C - 0008
intro H - 0009
intro hp - 0010
intro hne - 0011
intro hd - 0012
intro hR - 0013
intro hQ - 0014
intro hC - 0015
have hdiv : Dvd(p,C) - 0016
specialize lte_prime_divides_correction (p) - 0017
specialize lte_prime_divides_correction (d) - 0018
specialize lte_prime_divides_correction (r) - 0019
specialize lte_prime_divides_correction (T) - 0020
specialize lte_prime_divides_correction (C) - 0021
specialize lte_prime_divides_correction (H) - 0022
apply lte_prime_divides_correction - 0023
exact hp - 0024
exact hne - 0025
exact hd - 0026
exact hC - 0027
cases hdiv - 0028
exists R + d * x - 0029
split - 0030
rewrite hQ - 0031
rewrite hdiv_witness - 0032
trans ((((p) * (R))) + (((d) * (((p) * (x)))))) - 0033
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0034
trans ((((R) * (p))) + (((d) * (((p) * (x)))))) - 0035
congr - 0036
trans ((R) * (p)) - 0037
apply mul_comm - 0038
congr - 0039
refl - 0040
refl - 0041
refl - 0042
trans ((((R) * (p))) + (((d) * (((p) * (x)))))) - 0043
refl - 0044
trans ((((p) * (R))) + (((p) * (((d) * (x)))))) - 0045
symm - 0046
congr - 0047
trans ((R) * (p)) - 0048
apply mul_comm - 0049
congr - 0050
refl - 0051
refl - 0052
trans ((d) * (((p) * (x)))) - 0053
apply natural_mul_swap_right_tail - 0054
congr - 0055
refl - 0056
refl - 0057
symm - 0058
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0059
intro hunit - 0060
specialize lte_nondivisor_add_multiple (p) - 0061
specialize lte_nondivisor_add_multiple (R) - 0062
specialize lte_nondivisor_add_multiple (d) - 0063
specialize lte_nondivisor_add_multiple (x) - 0064
apply lte_nondivisor_add_multiple - 0065
exact hR - 0066
exact hd - 0067
exact hunit