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 first-order arithmetic statement
forall N ell k. (exists pc_le_cheb_large_input. pc_le_cheb_large_input + (8) = (N)) -> ((((N) = 0 /\ (ell) = 1) \/ exists ff_exponent_bl_pc_cheb_large_length ff_lower_bl_pc_cheb_large_length ff_upper_bl_pc_cheb_large_length. (((ell) = S ff_exponent_bl_pc_cheb_large_length) /\ ((exists ff_positive_bl_pc_cheb_large_length. ff_positive_bl_pc_cheb_large_length + 1 = (N)) /\ ((exists pa_b_bl_pc_cheb_large_length_lower pa_c_bl_pc_cheb_large_length_lower. ((forall pa_i_bl_pc_cheb_large_length_lower_repeat. (exists pa_lt_bl_pc_cheb_large_length_lower_repeat_bound. pa_lt_bl_pc_cheb_large_length_lower_repeat_bound + S pa_i_bl_pc_cheb_large_length_lower_repeat = ff_exponent_bl_pc_cheb_large_length) -> (((exists pa_h_bl_pc_cheb_large_length_lower_repeat_decoded. pa_h_bl_pc_cheb_large_length_lower_repeat_decoded + S (2) = S ((S (pa_i_bl_pc_cheb_large_length_lower_repeat)) * pa_c_bl_pc_cheb_large_length_lower)) /\ exists pa_q_bl_pc_cheb_large_length_lower_repeat_decoded. pa_b_bl_pc_cheb_large_length_lower = pa_q_bl_pc_cheb_large_length_lower_repeat_decoded * S ((S (pa_i_bl_pc_cheb_large_length_lower_repeat)) * pa_c_bl_pc_cheb_large_length_lower) + (2)))) /\ (exists pa_u_bl_pc_cheb_large_length_lower_product pa_v_bl_pc_cheb_large_length_lower_product. ((((exists pa_h_bl_pc_cheb_large_length_lower_product_start. pa_h_bl_pc_cheb_large_length_lower_product_start + S (1) = S ((S (0)) * pa_v_bl_pc_cheb_large_length_lower_product)) /\ exists pa_q_bl_pc_cheb_large_length_lower_product_start. pa_u_bl_pc_cheb_large_length_lower_product = pa_q_bl_pc_cheb_large_length_lower_product_start * S ((S (0)) * pa_v_bl_pc_cheb_large_length_lower_product) + (1))) /\ ((((exists pa_h_bl_pc_cheb_large_length_lower_product_terminal. pa_h_bl_pc_cheb_large_length_lower_product_terminal + S (ff_lower_bl_pc_cheb_large_length) = S ((S (ff_exponent_bl_pc_cheb_large_length)) * pa_v_bl_pc_cheb_large_length_lower_product)) /\ exists pa_q_bl_pc_cheb_large_length_lower_product_terminal. pa_u_bl_pc_cheb_large_length_lower_product = pa_q_bl_pc_cheb_large_length_lower_product_terminal * S ((S (ff_exponent_bl_pc_cheb_large_length)) * pa_v_bl_pc_cheb_large_length_lower_product) + (ff_lower_bl_pc_cheb_large_length))) /\ forall pa_i_bl_pc_cheb_large_length_lower_product. (exists pa_lt_bl_pc_cheb_large_length_lower_product_bound. pa_lt_bl_pc_cheb_large_length_lower_product_bound + S pa_i_bl_pc_cheb_large_length_lower_product = ff_exponent_bl_pc_cheb_large_length) -> exists pa_p_bl_pc_cheb_large_length_lower_product pa_r_bl_pc_cheb_large_length_lower_product pa_s_bl_pc_cheb_large_length_lower_product. ((((exists pa_h_bl_pc_cheb_large_length_lower_product_factor. pa_h_bl_pc_cheb_large_length_lower_product_factor + S (pa_p_bl_pc_cheb_large_length_lower_product) = S ((S (pa_i_bl_pc_cheb_large_length_lower_product)) * pa_c_bl_pc_cheb_large_length_lower)) /\ exists pa_q_bl_pc_cheb_large_length_lower_product_factor. pa_b_bl_pc_cheb_large_length_lower = pa_q_bl_pc_cheb_large_length_lower_product_factor * S ((S (pa_i_bl_pc_cheb_large_length_lower_product)) * pa_c_bl_pc_cheb_large_length_lower) + (pa_p_bl_pc_cheb_large_length_lower_product))) /\ ((((exists pa_h_bl_pc_cheb_large_length_lower_product_partial. pa_h_bl_pc_cheb_large_length_lower_product_partial + S (pa_r_bl_pc_cheb_large_length_lower_product) = S ((S (pa_i_bl_pc_cheb_large_length_lower_product)) * pa_v_bl_pc_cheb_large_length_lower_product)) /\ exists pa_q_bl_pc_cheb_large_length_lower_product_partial. pa_u_bl_pc_cheb_large_length_lower_product = pa_q_bl_pc_cheb_large_length_lower_product_partial * S ((S (pa_i_bl_pc_cheb_large_length_lower_product)) * pa_v_bl_pc_cheb_large_length_lower_product) + (pa_r_bl_pc_cheb_large_length_lower_product))) /\ ((((exists pa_h_bl_pc_cheb_large_length_lower_product_successor. pa_h_bl_pc_cheb_large_length_lower_product_successor + S (pa_s_bl_pc_cheb_large_length_lower_product) = S ((S (S pa_i_bl_pc_cheb_large_length_lower_product)) * pa_v_bl_pc_cheb_large_length_lower_product)) /\ exists pa_q_bl_pc_cheb_large_length_lower_product_successor. pa_u_bl_pc_cheb_large_length_lower_product = pa_q_bl_pc_cheb_large_length_lower_product_successor * S ((S (S pa_i_bl_pc_cheb_large_length_lower_product)) * pa_v_bl_pc_cheb_large_length_lower_product) + (pa_s_bl_pc_cheb_large_length_lower_product))) /\ pa_s_bl_pc_cheb_large_length_lower_product = pa_r_bl_pc_cheb_large_length_lower_product * pa_p_bl_pc_cheb_large_length_lower_product)))))))) /\ ((exists pa_b_bl_pc_cheb_large_length_upper pa_c_bl_pc_cheb_large_length_upper. ((forall pa_i_bl_pc_cheb_large_length_upper_repeat. (exists pa_lt_bl_pc_cheb_large_length_upper_repeat_bound. pa_lt_bl_pc_cheb_large_length_upper_repeat_bound + S pa_i_bl_pc_cheb_large_length_upper_repeat = ell) -> (((exists pa_h_bl_pc_cheb_large_length_upper_repeat_decoded. pa_h_bl_pc_cheb_large_length_upper_repeat_decoded + S (2) = S ((S (pa_i_bl_pc_cheb_large_length_upper_repeat)) * pa_c_bl_pc_cheb_large_length_upper)) /\ exists pa_q_bl_pc_cheb_large_length_upper_repeat_decoded. pa_b_bl_pc_cheb_large_length_upper = pa_q_bl_pc_cheb_large_length_upper_repeat_decoded * S ((S (pa_i_bl_pc_cheb_large_length_upper_repeat)) * pa_c_bl_pc_cheb_large_length_upper) + (2)))) /\ (exists pa_u_bl_pc_cheb_large_length_upper_product pa_v_bl_pc_cheb_large_length_upper_product. ((((exists pa_h_bl_pc_cheb_large_length_upper_product_start. pa_h_bl_pc_cheb_large_length_upper_product_start + S (1) = S ((S (0)) * pa_v_bl_pc_cheb_large_length_upper_product)) /\ exists pa_q_bl_pc_cheb_large_length_upper_product_start. pa_u_bl_pc_cheb_large_length_upper_product = pa_q_bl_pc_cheb_large_length_upper_product_start * S ((S (0)) * pa_v_bl_pc_cheb_large_length_upper_product) + (1))) /\ ((((exists pa_h_bl_pc_cheb_large_length_upper_product_terminal. pa_h_bl_pc_cheb_large_length_upper_product_terminal + S (ff_upper_bl_pc_cheb_large_length) = S ((S (ell)) * pa_v_bl_pc_cheb_large_length_upper_product)) /\ exists pa_q_bl_pc_cheb_large_length_upper_product_terminal. pa_u_bl_pc_cheb_large_length_upper_product = pa_q_bl_pc_cheb_large_length_upper_product_terminal * S ((S (ell)) * pa_v_bl_pc_cheb_large_length_upper_product) + (ff_upper_bl_pc_cheb_large_length))) /\ forall pa_i_bl_pc_cheb_large_length_upper_product. (exists pa_lt_bl_pc_cheb_large_length_upper_product_bound. pa_lt_bl_pc_cheb_large_length_upper_product_bound + S pa_i_bl_pc_cheb_large_length_upper_product = ell) -> exists pa_p_bl_pc_cheb_large_length_upper_product pa_r_bl_pc_cheb_large_length_upper_product pa_s_bl_pc_cheb_large_length_upper_product. ((((exists pa_h_bl_pc_cheb_large_length_upper_product_factor. pa_h_bl_pc_cheb_large_length_upper_product_factor + S (pa_p_bl_pc_cheb_large_length_upper_product) = S ((S (pa_i_bl_pc_cheb_large_length_upper_product)) * pa_c_bl_pc_cheb_large_length_upper)) /\ exists pa_q_bl_pc_cheb_large_length_upper_product_factor. pa_b_bl_pc_cheb_large_length_upper = pa_q_bl_pc_cheb_large_length_upper_product_factor * S ((S (pa_i_bl_pc_cheb_large_length_upper_product)) * pa_c_bl_pc_cheb_large_length_upper) + (pa_p_bl_pc_cheb_large_length_upper_product))) /\ ((((exists pa_h_bl_pc_cheb_large_length_upper_product_partial. pa_h_bl_pc_cheb_large_length_upper_product_partial + S (pa_r_bl_pc_cheb_large_length_upper_product) = S ((S (pa_i_bl_pc_cheb_large_length_upper_product)) * pa_v_bl_pc_cheb_large_length_upper_product)) /\ exists pa_q_bl_pc_cheb_large_length_upper_product_partial. pa_u_bl_pc_cheb_large_length_upper_product = pa_q_bl_pc_cheb_large_length_upper_product_partial * S ((S (pa_i_bl_pc_cheb_large_length_upper_product)) * pa_v_bl_pc_cheb_large_length_upper_product) + (pa_r_bl_pc_cheb_large_length_upper_product))) /\ ((((exists pa_h_bl_pc_cheb_large_length_upper_product_successor. pa_h_bl_pc_cheb_large_length_upper_product_successor + S (pa_s_bl_pc_cheb_large_length_upper_product) = S ((S (S pa_i_bl_pc_cheb_large_length_upper_product)) * pa_v_bl_pc_cheb_large_length_upper_product)) /\ exists pa_q_bl_pc_cheb_large_length_upper_product_successor. pa_u_bl_pc_cheb_large_length_upper_product = pa_q_bl_pc_cheb_large_length_upper_product_successor * S ((S (S pa_i_bl_pc_cheb_large_length_upper_product)) * pa_v_bl_pc_cheb_large_length_upper_product) + (pa_s_bl_pc_cheb_large_length_upper_product))) /\ pa_s_bl_pc_cheb_large_length_upper_product = pa_r_bl_pc_cheb_large_length_upper_product * pa_p_bl_pc_cheb_large_length_upper_product)))))))) /\ ((exists ff_lower_gap_bl_pc_cheb_large_length. ff_lower_gap_bl_pc_cheb_large_length + (ff_lower_bl_pc_cheb_large_length) = (N)) /\ (exists ff_upper_gap_bl_pc_cheb_large_length. ff_upper_gap_bl_pc_cheb_large_length + S (N) = (ff_upper_bl_pc_cheb_large_length))))))))) -> (exists pc_code_cheb_large_count pc_scale_cheb_large_count. (forall pc_index_cheb_large_count_mask. (exists pc_lt_cheb_large_count_mask_bound. pc_lt_cheb_large_count_mask_bound + S (pc_index_cheb_large_count_mask) = (N)) -> exists pc_bit_cheb_large_count_mask. (((exists fs_h_pc_cheb_large_count_mask_entry. fs_h_pc_cheb_large_count_mask_entry + S (pc_bit_cheb_large_count_mask) = S ((S (pc_index_cheb_large_count_mask)) * pc_scale_cheb_large_count)) /\ exists fs_q_pc_cheb_large_count_mask_entry. pc_code_cheb_large_count = fs_q_pc_cheb_large_count_mask_entry * S ((S (pc_index_cheb_large_count_mask)) * pc_scale_cheb_large_count) + (pc_bit_cheb_large_count_mask))) /\ (((((~(S (pc_index_cheb_large_count_mask) = 1) /\ forall bpr_left_pc_cheb_large_count_mask_choice_prime bpr_right_pc_cheb_large_count_mask_choice_prime. S (pc_index_cheb_large_count_mask) = bpr_left_pc_cheb_large_count_mask_choice_prime * bpr_right_pc_cheb_large_count_mask_choice_prime -> bpr_left_pc_cheb_large_count_mask_choice_prime = 1 \/ bpr_right_pc_cheb_large_count_mask_choice_prime = 1)) /\ pc_bit_cheb_large_count_mask = 1) \/ (~((~(S (pc_index_cheb_large_count_mask) = 1) /\ forall bpr_left_pc_cheb_large_count_mask_choice_prime bpr_right_pc_cheb_large_count_mask_choice_prime. S (pc_index_cheb_large_count_mask) = bpr_left_pc_cheb_large_count_mask_choice_prime * bpr_right_pc_cheb_large_count_mask_choice_prime -> bpr_left_pc_cheb_large_count_mask_choice_prime = 1 \/ bpr_right_pc_cheb_large_count_mask_choice_prime = 1)) /\ pc_bit_cheb_large_count_mask = 0)))) /\ (exists fs_u_pc_cheb_large_count_sum fs_v_pc_cheb_large_count_sum. ((((exists fs_h_pc_cheb_large_count_sum_body_start. fs_h_pc_cheb_large_count_sum_body_start + S (0) = S ((S (0)) * fs_v_pc_cheb_large_count_sum)) /\ exists fs_q_pc_cheb_large_count_sum_body_start. fs_u_pc_cheb_large_count_sum = fs_q_pc_cheb_large_count_sum_body_start * S ((S (0)) * fs_v_pc_cheb_large_count_sum) + (0))) /\ ((((exists fs_h_pc_cheb_large_count_sum_body_terminal. fs_h_pc_cheb_large_count_sum_body_terminal + S (k) = S ((S (N)) * fs_v_pc_cheb_large_count_sum)) /\ exists fs_q_pc_cheb_large_count_sum_body_terminal. fs_u_pc_cheb_large_count_sum = fs_q_pc_cheb_large_count_sum_body_terminal * S ((S (N)) * fs_v_pc_cheb_large_count_sum) + (k))) /\ forall fs_i_pc_cheb_large_count_sum_body_steps. (exists fs_lt_pc_cheb_large_count_sum_body_steps_bound. fs_lt_pc_cheb_large_count_sum_body_steps_bound + S fs_i_pc_cheb_large_count_sum_body_steps = N) -> exists fs_a_pc_cheb_large_count_sum_body_steps fs_r_pc_cheb_large_count_sum_body_steps fs_s_pc_cheb_large_count_sum_body_steps. ((((exists fs_h_pc_cheb_large_count_sum_body_steps_summand. fs_h_pc_cheb_large_count_sum_body_steps_summand + S (fs_a_pc_cheb_large_count_sum_body_steps) = S ((S (fs_i_pc_cheb_large_count_sum_body_steps)) * pc_scale_cheb_large_count)) /\ exists fs_q_pc_cheb_large_count_sum_body_steps_summand. pc_code_cheb_large_count = fs_q_pc_cheb_large_count_sum_body_steps_summand * S ((S (fs_i_pc_cheb_large_count_sum_body_steps)) * pc_scale_cheb_large_count) + (fs_a_pc_cheb_large_count_sum_body_steps))) /\ ((((exists fs_h_pc_cheb_large_count_sum_body_steps_partial. fs_h_pc_cheb_large_count_sum_body_steps_partial + S (fs_r_pc_cheb_large_count_sum_body_steps) = S ((S (fs_i_pc_cheb_large_count_sum_body_steps)) * fs_v_pc_cheb_large_count_sum)) /\ exists fs_q_pc_cheb_large_count_sum_body_steps_partial. fs_u_pc_cheb_large_count_sum = fs_q_pc_cheb_large_count_sum_body_steps_partial * S ((S (fs_i_pc_cheb_large_count_sum_body_steps)) * fs_v_pc_cheb_large_count_sum) + (fs_r_pc_cheb_large_count_sum_body_steps))) /\ ((((exists fs_h_pc_cheb_large_count_sum_body_steps_successor. fs_h_pc_cheb_large_count_sum_body_steps_successor + S (fs_s_pc_cheb_large_count_sum_body_steps) = S ((S (S fs_i_pc_cheb_large_count_sum_body_steps)) * fs_v_pc_cheb_large_count_sum)) /\ exists fs_q_pc_cheb_large_count_sum_body_steps_successor. fs_u_pc_cheb_large_count_sum = fs_q_pc_cheb_large_count_sum_body_steps_successor * S ((S (S fs_i_pc_cheb_large_count_sum_body_steps)) * fs_v_pc_cheb_large_count_sum) + (fs_s_pc_cheb_large_count_sum_body_steps))) /\ fs_s_pc_cheb_large_count_sum_body_steps = fs_r_pc_cheb_large_count_sum_body_steps + fs_a_pc_cheb_large_count_sum_body_steps))))))) -> (exists pc_le_cheb_large_result. pc_le_cheb_large_result + (N) = (8 * k * ell))Constructive proof overview
Generated structural guide
The required lower prime-count bound for all N at least eight, using the actual binary half and central coefficient.
The unchanged tactic script uses 8 declared prerequisites and contains 72 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
binary_exponent_split_exists Alpha theorem; checked-use authorized PC0021 binary_split_half_lower_bound le_add_right Stable theorem; checked-use authorized PC002E central_binom_prime_count_exponent_bound le_trans Stable theorem; checked-use authorized PC002D binary_split_eight_bound mul_comm Stable theorem; checked-use authorized mul_assoc Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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.
- L13
have hh : exists g. g + 4 = x - L14
specialize binary_split_half_lower_bound N - L15
specialize binary_split_half_lower_bound x - L16
specialize binary_split_half_lower_bound x1 - L17
specialize binary_split_half_lower_bound 4 - L18
apply binary_split_half_lower_bound - L19
exact hsplit_witness_witness_left - L20
exact hsplit_witness_witness_right
05Establish heightL21–24
06Establish hhalfL25–29
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 : exists g. g + x = ell * k - 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
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.
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 : exists g. g + N = 8 * (ell * k) - 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 exact 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 : exists g. g + 4 = 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 : exists g. g + (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 : exists g. g + 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 : exists g. g + 1 = 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 : exists g. g + 1 = 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 : exists g. g + 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