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(1,N) → BitLen(N,ell) → PrimeCount(N,k) → Le(k · ell,8 · N)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 145 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 (8)
01Fix variables and assumptionsL1–6
02Establish hcL7–10
03Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
cases hc
04Establish hsmallL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul.
- L12
have hsmall : Le(k · ell,N · 4)Definitions: Le(k · ell,N · 4)Original native command in the exact edition - L13
specialize mul_le_mul k - L14
specialize mul_le_mul N - L15
specialize mul_le_mul ell - L16
specialize mul_le_mul 4 - L17
apply mul_le_mul - L18
specialize prime_count_bounded N - L19
specialize prime_count_bounded k - L20
apply prime_count_bounded - L21
exact hk
05Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
exact hc_left
06Establish hscaleL23–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul left.
- L23
have hscale : Le(N · 4,N · 8)Definitions: Le(N · 4,N · 8)Original native command in the exact edition - L24
specialize mul_le_mul_left 4 - L25
specialize mul_le_mul_left 8 - L26
specialize mul_le_mul_left N - L27
apply mul_le_mul_left
07Construct an explicit witnessL28–28
Supply the displayed value, then prove that it has the required property.
- L28
exists 4
08Calculate and transport equalitiesL29–29
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L29
norm_num
09Establish hswapL30–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.
10Establish hdataL39–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary length nonzero components.
- L39
have hdata : ∃ e. ∃ v. ∃ w. ell = S e ∧ (PowTwo(e,v) ∧ (PowTwo(ell,w) ∧ (Le(v,N) ∧ Lt(N,w))))Definitions: PowTwo(e,v)PowTwo(ell,w)Le(v,N)Lt(N,w)Original native command in the exact edition - L40
specialize binary_length_nonzero_components N - L41
specialize binary_length_nonzero_components ell - L42
apply binary_length_nonzero_components - L43
intro hz
11Establish hbadL44–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply PA1.
12Separate the logical casesL52–58
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
13Establish hsplitL59–61
14Separate the logical casesL62–64
15Establish hUL65–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow exists.
16Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
cases hU
17Establish hscaleL70–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary half scale bounds.
- L70
have hscale : Lt(1,x3) ∧ (Le(x5 · x5,N) ∧ (Le(ell,2 · x5) ∧ Le(ell,3 · x3)))Definitions: Lt(1,x3)Le(x5 · x5,N)Le(ell,2 · x5)Le(ell,3 · x3)Original native command in the exact edition - L71
specialize binary_half_scale_bounds N - L72
specialize binary_half_scale_bounds ell - L73
specialize binary_half_scale_bounds x - L74
specialize binary_half_scale_bounds x3 - L75
specialize binary_half_scale_bounds x4 - L76
specialize binary_half_scale_bounds x5 - L77
specialize binary_half_scale_bounds x1 - L78
apply binary_half_scale_bounds - L79
exact hdata_witness_witness_witness_left
18Use earlier factsL80–85
Instantiate or apply named facts and discharge the corresponding proof obligations.
19Separate the logical casesL86–91
20Establish hcutL92–97
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta cutoff prefix exists.
- L92
have hcut : ∃ d. ∃ f. BetaCutoffPrefix(x5,x6,x7,d,f,N)Definitions: BetaCutoffPrefix(x5,x6,x7,d,f,N)Original native command in the exact edition - L93
specialize beta_cutoff_prefix_exists x5 - L94
specialize beta_cutoff_prefix_exists x6 - L95
specialize beta_cutoff_prefix_exists x7 - L96
specialize beta_cutoff_prefix_exists N - L97
apply beta_cutoff_prefix_exists
21Separate the logical casesL98–99
22Establish hsumL100–104
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum exists.
- L100
have hsum : ∃ L. Sum(x8,x9,N,L)Definitions: Sum(x8,x9,N,L)Original native command in the exact edition - L101
specialize beta_sum_exists x8 - L102
specialize beta_sum_exists x9 - L103
specialize beta_sum_exists N - L104
apply beta_sum_exists
23Separate the logical casesL105–105
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L105
cases hsum
24Use earlier factsL106–115
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L106
specialize chebyshev_upper_arithmetic N - L107
specialize chebyshev_upper_arithmetic ell - L108
specialize chebyshev_upper_arithmetic k - L109
specialize chebyshev_upper_arithmetic x3 - L110
specialize chebyshev_upper_arithmetic x5 - L111
specialize chebyshev_upper_arithmetic x10 - L112
apply chebyshev_upper_arithmetic - L113
specialize beta_cutoff_count_comparison x5 - L114
specialize beta_cutoff_count_comparison x6 - L115
specialize beta_cutoff_count_comparison x7
25Use earlier factsL116–125
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L116
specialize beta_cutoff_count_comparison x8 - L117
specialize beta_cutoff_count_comparison x9 - L118
specialize beta_cutoff_count_comparison N - L119
specialize beta_cutoff_count_comparison k - L120
specialize beta_cutoff_count_comparison x10 - L121
apply beta_cutoff_count_comparison - L122
specialize prime_bit_prefix_all_bits x6 - L123
specialize prime_bit_prefix_all_bits x7 - L124
specialize prime_bit_prefix_all_bits N - L125
apply prime_bit_prefix_all_bits
26Use earlier factsL126–135
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L126
exact hk_witness_witness_left - L127
exact hcut_witness_witness - L128
exact hk_witness_witness_right - L129
exact hsum_witness - L130
exact hscale_right_left - L131
exact hscale_right_right_left - L132
exact hscale_right_right_right - L133
specialize prime_cutoff_exponent_bound N - L134
specialize prime_cutoff_exponent_bound x3 - L135
specialize prime_cutoff_exponent_bound x5
27Use earlier factsL136–145
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L136
specialize prime_cutoff_exponent_bound x6 - L137
specialize prime_cutoff_exponent_bound x7 - L138
specialize prime_cutoff_exponent_bound x8 - L139
specialize prime_cutoff_exponent_bound x9 - L140
specialize prime_cutoff_exponent_bound x10 - L141
apply prime_cutoff_exponent_bound - L142
exact hU_witness - L143
exact hk_witness_witness_left - L144
exact hcut_witness_witness - L145
exact hsum_witness
Original defined command ledger · 145 lines
- 0001
intro N - 0002
intro ell - 0003
intro k - 0004
intro hN - 0005
intro hl - 0006
intro hk - 0007
have hc : Le(ell,4) ∨ Lt(4,ell) - 0008
specialize le_or_lt ell - 0009
specialize le_or_lt 4 - 0010
apply le_or_lt - 0011
cases hc - 0012
have hsmall : Le(k · ell,N · 4) - 0013
specialize mul_le_mul k - 0014
specialize mul_le_mul N - 0015
specialize mul_le_mul ell - 0016
specialize mul_le_mul 4 - 0017
apply mul_le_mul - 0018
specialize prime_count_bounded N - 0019
specialize prime_count_bounded k - 0020
apply prime_count_bounded - 0021
exact hk - 0022
exact hc_left - 0023
have hscale : Le(N · 4,N · 8) - 0024
specialize mul_le_mul_left 4 - 0025
specialize mul_le_mul_left 8 - 0026
specialize mul_le_mul_left N - 0027
apply mul_le_mul_left - 0028
exists 4 - 0029
norm_num - 0030
have hswap : N * 8 = 8 * N - 0031
apply mul_comm - 0032
rewrite hswap at hscale - 0033
specialize le_trans (k * ell) - 0034
specialize le_trans (N * 4) - 0035
specialize le_trans (8 * N) - 0036
apply le_trans - 0037
exact hsmall - 0038
exact hscale - 0039
have hdata : ∃ e. ∃ v. ∃ w. ell = S e ∧ (PowTwo(e,v) ∧ (PowTwo(ell,w) ∧ (Le(v,N) ∧ Lt(N,w)))) - 0040
specialize binary_length_nonzero_components N - 0041
specialize binary_length_nonzero_components ell - 0042
apply binary_length_nonzero_components - 0043
intro hz - 0044
have hbad : Lt(1,0) - 0045
rewrite hz at hN - 0046
exact hN - 0047
apply PA1 - 0048
specialize le_zero 2 - 0049
apply le_zero - 0050
exact hbad - 0051
exact hl - 0052
cases hdata - 0053
cases hdata_witness - 0054
cases hdata_witness_witness - 0055
cases hdata_witness_witness_witness - 0056
cases hdata_witness_witness_witness_right - 0057
cases hdata_witness_witness_witness_right_right - 0058
cases hdata_witness_witness_witness_right_right_right - 0059
have hsplit : exists h d. (d = 0 \/ d = 1) /\ x = (h + h) + d - 0060
specialize binary_exponent_split_exists x - 0061
apply binary_exponent_split_exists - 0062
cases hsplit - 0063
cases hsplit_witness - 0064
cases hsplit_witness_witness - 0065
have hU : ∃ U. PowTwo(x3,U) - 0066
specialize pow_exists 2 - 0067
specialize pow_exists x3 - 0068
apply pow_exists - 0069
cases hU - 0070
have hscale : Lt(1,x3) ∧ (Le(x5 · x5,N) ∧ (Le(ell,2 · x5) ∧ Le(ell,3 · x3))) - 0071
specialize binary_half_scale_bounds N - 0072
specialize binary_half_scale_bounds ell - 0073
specialize binary_half_scale_bounds x - 0074
specialize binary_half_scale_bounds x3 - 0075
specialize binary_half_scale_bounds x4 - 0076
specialize binary_half_scale_bounds x5 - 0077
specialize binary_half_scale_bounds x1 - 0078
apply binary_half_scale_bounds - 0079
exact hdata_witness_witness_witness_left - 0080
exact hsplit_witness_witness_right - 0081
exact hsplit_witness_witness_left - 0082
exact hc_right - 0083
exact hU_witness - 0084
exact hdata_witness_witness_witness_right_left - 0085
exact hdata_witness_witness_witness_right_right_right_left - 0086
cases hscale - 0087
cases hscale_right - 0088
cases hscale_right_right - 0089
cases hk - 0090
cases hk_witness - 0091
cases hk_witness_witness - 0092
have hcut : ∃ d. ∃ f. BetaCutoffPrefix(x5,x6,x7,d,f,N) - 0093
specialize beta_cutoff_prefix_exists x5 - 0094
specialize beta_cutoff_prefix_exists x6 - 0095
specialize beta_cutoff_prefix_exists x7 - 0096
specialize beta_cutoff_prefix_exists N - 0097
apply beta_cutoff_prefix_exists - 0098
cases hcut - 0099
cases hcut_witness - 0100
have hsum : ∃ L. Sum(x8,x9,N,L) - 0101
specialize beta_sum_exists x8 - 0102
specialize beta_sum_exists x9 - 0103
specialize beta_sum_exists N - 0104
apply beta_sum_exists - 0105
cases hsum - 0106
specialize chebyshev_upper_arithmetic N - 0107
specialize chebyshev_upper_arithmetic ell - 0108
specialize chebyshev_upper_arithmetic k - 0109
specialize chebyshev_upper_arithmetic x3 - 0110
specialize chebyshev_upper_arithmetic x5 - 0111
specialize chebyshev_upper_arithmetic x10 - 0112
apply chebyshev_upper_arithmetic - 0113
specialize beta_cutoff_count_comparison x5 - 0114
specialize beta_cutoff_count_comparison x6 - 0115
specialize beta_cutoff_count_comparison x7 - 0116
specialize beta_cutoff_count_comparison x8 - 0117
specialize beta_cutoff_count_comparison x9 - 0118
specialize beta_cutoff_count_comparison N - 0119
specialize beta_cutoff_count_comparison k - 0120
specialize beta_cutoff_count_comparison x10 - 0121
apply beta_cutoff_count_comparison - 0122
specialize prime_bit_prefix_all_bits x6 - 0123
specialize prime_bit_prefix_all_bits x7 - 0124
specialize prime_bit_prefix_all_bits N - 0125
apply prime_bit_prefix_all_bits - 0126
exact hk_witness_witness_left - 0127
exact hcut_witness_witness - 0128
exact hk_witness_witness_right - 0129
exact hsum_witness - 0130
exact hscale_right_left - 0131
exact hscale_right_right_left - 0132
exact hscale_right_right_right - 0133
specialize prime_cutoff_exponent_bound N - 0134
specialize prime_cutoff_exponent_bound x3 - 0135
specialize prime_cutoff_exponent_bound x5 - 0136
specialize prime_cutoff_exponent_bound x6 - 0137
specialize prime_cutoff_exponent_bound x7 - 0138
specialize prime_cutoff_exponent_bound x8 - 0139
specialize prime_cutoff_exponent_bound x9 - 0140
specialize prime_cutoff_exponent_bound x10 - 0141
apply prime_cutoff_exponent_bound - 0142
exact hU_witness - 0143
exact hk_witness_witness_left - 0144
exact hcut_witness_witness - 0145
exact hsum_witness