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.
These are the exact finite integer inequalities with constant 8, for every N≥2. The proof uses constructive binomial and primorial infrastructure; it does not assume logarithms, asymptotic estimates, the prime number theorem, or a factorization oracle.
Exact theorem in conservative defined notation
∀ N. ∀ ell. ∀ k. Lt(7,N) → BitLen(N,ell) → PrimeCount(N,k) → Le(N,8 · k · ell)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 72 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 (3)
01Fix variables and assumptionsL1–6
02Establish hsplitL7–9
03Separate the logical casesL10–12
04Establish hhL13–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary split half lower bound.
05Establish heightL21–24
06Establish hhalfL25–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le add right.
07Establish hexponentL30–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply central binom prime count exponent bound.
- L30
have hexponent : Le(x,ell · k)Definitions: Le(x,ell · k)Original native command in the exact edition - L31
specialize central_binom_prime_count_exponent_bound N - L32
specialize central_binom_prime_count_exponent_bound ell - L33
specialize central_binom_prime_count_exponent_bound k - L34
specialize central_binom_prime_count_exponent_bound x - L35
apply central_binom_prime_count_exponent_bound - L36
exact hh - L37
exact hhalf - L38
exact hl - L39
exact hk
08Establish hpositivehalfL40–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
09Construct an explicit witnessL45–45
Supply the displayed value, then prove that it has the required property.
- L45
exists 3
10Calculate and transport equalitiesL46–46
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L46
norm_num
11Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hh
12Establish hpositiveL48–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L48
have hpositive : Lt(0,ell · k)Definitions: Lt(0,ell · k)Original native command in the exact edition - L49
specialize le_trans 1 - L50
specialize le_trans x - L51
specialize le_trans (ell * k) - L52
apply le_trans - L53
exact hpositivehalf - L54
exact hexponent
13Establish hboundL55–64
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary split eight bound.
- L55
have hbound : Le(N,8 · (ell · k))Definitions: Le(N,8 · (ell · k))Original native command in the exact edition - L56
specialize binary_split_eight_bound N - L57
specialize binary_split_eight_bound x - L58
specialize binary_split_eight_bound x1 - L59
specialize binary_split_eight_bound (ell * k) - L60
apply binary_split_eight_bound - L61
exact hsplit_witness_witness_left - L62
exact hsplit_witness_witness_right - L63
exact hexponent - L64
exact hpositive
14Establish horderL65–65
Establish this local claim before using it. It is not an additional assumption.
- L65
have horder : 8 * (ell * k) = (8 * k) * ell
Original defined command ledger · 72 lines
- 0001
intro N - 0002
intro ell - 0003
intro k - 0004
intro hN - 0005
intro hl - 0006
intro hk - 0007
have hsplit : exists h d. (d = 0 \/ d = 1) /\ N = (h + h) + d - 0008
specialize binary_exponent_split_exists N - 0009
apply binary_exponent_split_exists - 0010
cases hsplit - 0011
cases hsplit_witness - 0012
cases hsplit_witness_witness - 0013
have hh : Lt(3,x) - 0014
specialize binary_split_half_lower_bound N - 0015
specialize binary_split_half_lower_bound x - 0016
specialize binary_split_half_lower_bound x1 - 0017
specialize binary_split_half_lower_bound 4 - 0018
apply binary_split_half_lower_bound - 0019
exact hsplit_witness_witness_left - 0020
exact hsplit_witness_witness_right - 0021
have height : 4 + 4 = 8 - 0022
norm_num - 0023
rewrite height - 0024
exact hN - 0025
have hhalf : Le(x + x,N) - 0026
rewrite hsplit_witness_witness_right - 0027
specialize le_add_right (x + x) - 0028
specialize le_add_right x1 - 0029
apply le_add_right - 0030
have hexponent : Le(x,ell · k) - 0031
specialize central_binom_prime_count_exponent_bound N - 0032
specialize central_binom_prime_count_exponent_bound ell - 0033
specialize central_binom_prime_count_exponent_bound k - 0034
specialize central_binom_prime_count_exponent_bound x - 0035
apply central_binom_prime_count_exponent_bound - 0036
exact hh - 0037
exact hhalf - 0038
exact hl - 0039
exact hk - 0040
have hpositivehalf : Lt(0,x) - 0041
specialize le_trans 1 - 0042
specialize le_trans 4 - 0043
specialize le_trans x - 0044
apply le_trans - 0045
exists 3 - 0046
norm_num - 0047
exact hh - 0048
have hpositive : Lt(0,ell · k) - 0049
specialize le_trans 1 - 0050
specialize le_trans x - 0051
specialize le_trans (ell * k) - 0052
apply le_trans - 0053
exact hpositivehalf - 0054
exact hexponent - 0055
have hbound : Le(N,8 · (ell · k)) - 0056
specialize binary_split_eight_bound N - 0057
specialize binary_split_eight_bound x - 0058
specialize binary_split_eight_bound x1 - 0059
specialize binary_split_eight_bound (ell * k) - 0060
apply binary_split_eight_bound - 0061
exact hsplit_witness_witness_left - 0062
exact hsplit_witness_witness_right - 0063
exact hexponent - 0064
exact hpositive - 0065
have horder : 8 * (ell * k) = (8 * k) * ell - 0066
have hswap : ell * k = k * ell - 0067
apply mul_comm - 0068
rewrite hswap - 0069
symm - 0070
apply mul_assoc - 0071
rewrite horder at hbound - 0072
exact hbound