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 h U b c d f L. (exists pa_b_pc_cut_exp_power pa_c_pc_cut_exp_power. ((forall pa_i_pc_cut_exp_power_repeat. (exists pa_lt_pc_cut_exp_power_repeat_bound. pa_lt_pc_cut_exp_power_repeat_bound + S pa_i_pc_cut_exp_power_repeat = h) -> (((exists pa_h_pc_cut_exp_power_repeat_decoded. pa_h_pc_cut_exp_power_repeat_decoded + S (2) = S ((S (pa_i_pc_cut_exp_power_repeat)) * pa_c_pc_cut_exp_power)) /\ exists pa_q_pc_cut_exp_power_repeat_decoded. pa_b_pc_cut_exp_power = pa_q_pc_cut_exp_power_repeat_decoded * S ((S (pa_i_pc_cut_exp_power_repeat)) * pa_c_pc_cut_exp_power) + (2)))) /\ (exists pa_u_pc_cut_exp_power_product pa_v_pc_cut_exp_power_product. ((((exists pa_h_pc_cut_exp_power_product_start. pa_h_pc_cut_exp_power_product_start + S (1) = S ((S (0)) * pa_v_pc_cut_exp_power_product)) /\ exists pa_q_pc_cut_exp_power_product_start. pa_u_pc_cut_exp_power_product = pa_q_pc_cut_exp_power_product_start * S ((S (0)) * pa_v_pc_cut_exp_power_product) + (1))) /\ ((((exists pa_h_pc_cut_exp_power_product_terminal. pa_h_pc_cut_exp_power_product_terminal + S (U) = S ((S (h)) * pa_v_pc_cut_exp_power_product)) /\ exists pa_q_pc_cut_exp_power_product_terminal. pa_u_pc_cut_exp_power_product = pa_q_pc_cut_exp_power_product_terminal * S ((S (h)) * pa_v_pc_cut_exp_power_product) + (U))) /\ forall pa_i_pc_cut_exp_power_product. (exists pa_lt_pc_cut_exp_power_product_bound. pa_lt_pc_cut_exp_power_product_bound + S pa_i_pc_cut_exp_power_product = h) -> exists pa_p_pc_cut_exp_power_product pa_r_pc_cut_exp_power_product pa_s_pc_cut_exp_power_product. ((((exists pa_h_pc_cut_exp_power_product_factor. pa_h_pc_cut_exp_power_product_factor + S (pa_p_pc_cut_exp_power_product) = S ((S (pa_i_pc_cut_exp_power_product)) * pa_c_pc_cut_exp_power)) /\ exists pa_q_pc_cut_exp_power_product_factor. pa_b_pc_cut_exp_power = pa_q_pc_cut_exp_power_product_factor * S ((S (pa_i_pc_cut_exp_power_product)) * pa_c_pc_cut_exp_power) + (pa_p_pc_cut_exp_power_product))) /\ ((((exists pa_h_pc_cut_exp_power_product_partial. pa_h_pc_cut_exp_power_product_partial + S (pa_r_pc_cut_exp_power_product) = S ((S (pa_i_pc_cut_exp_power_product)) * pa_v_pc_cut_exp_power_product)) /\ exists pa_q_pc_cut_exp_power_product_partial. pa_u_pc_cut_exp_power_product = pa_q_pc_cut_exp_power_product_partial * S ((S (pa_i_pc_cut_exp_power_product)) * pa_v_pc_cut_exp_power_product) + (pa_r_pc_cut_exp_power_product))) /\ ((((exists pa_h_pc_cut_exp_power_product_successor. pa_h_pc_cut_exp_power_product_successor + S (pa_s_pc_cut_exp_power_product) = S ((S (S pa_i_pc_cut_exp_power_product)) * pa_v_pc_cut_exp_power_product)) /\ exists pa_q_pc_cut_exp_power_product_successor. pa_u_pc_cut_exp_power_product = pa_q_pc_cut_exp_power_product_successor * S ((S (S pa_i_pc_cut_exp_power_product)) * pa_v_pc_cut_exp_power_product) + (pa_s_pc_cut_exp_power_product))) /\ pa_s_pc_cut_exp_power_product = pa_r_pc_cut_exp_power_product * pa_p_pc_cut_exp_power_product)))))))) -> (forall pc_index_cut_exp_mask. (exists pc_lt_cut_exp_mask_bound. pc_lt_cut_exp_mask_bound + S (pc_index_cut_exp_mask) = (N)) -> exists pc_bit_cut_exp_mask. (((exists fs_h_pc_cut_exp_mask_entry. fs_h_pc_cut_exp_mask_entry + S (pc_bit_cut_exp_mask) = S ((S (pc_index_cut_exp_mask)) * c)) /\ exists fs_q_pc_cut_exp_mask_entry. b = fs_q_pc_cut_exp_mask_entry * S ((S (pc_index_cut_exp_mask)) * c) + (pc_bit_cut_exp_mask))) /\ (((((~(S (pc_index_cut_exp_mask) = 1) /\ forall bpr_left_pc_cut_exp_mask_choice_prime bpr_right_pc_cut_exp_mask_choice_prime. S (pc_index_cut_exp_mask) = bpr_left_pc_cut_exp_mask_choice_prime * bpr_right_pc_cut_exp_mask_choice_prime -> bpr_left_pc_cut_exp_mask_choice_prime = 1 \/ bpr_right_pc_cut_exp_mask_choice_prime = 1)) /\ pc_bit_cut_exp_mask = 1) \/ (~((~(S (pc_index_cut_exp_mask) = 1) /\ forall bpr_left_pc_cut_exp_mask_choice_prime bpr_right_pc_cut_exp_mask_choice_prime. S (pc_index_cut_exp_mask) = bpr_left_pc_cut_exp_mask_choice_prime * bpr_right_pc_cut_exp_mask_choice_prime -> bpr_left_pc_cut_exp_mask_choice_prime = 1 \/ bpr_right_pc_cut_exp_mask_choice_prime = 1)) /\ pc_bit_cut_exp_mask = 0)))) -> (forall pc_index_cut_exp_cutoff. (exists pc_lt_cut_exp_cutoff_bound. pc_lt_cut_exp_cutoff_bound + S (pc_index_cut_exp_cutoff) = (N)) -> exists pc_bit_cut_exp_cutoff. (((exists fs_h_pc_cut_exp_cutoff_entry. fs_h_pc_cut_exp_cutoff_entry + S (pc_bit_cut_exp_cutoff) = S ((S (pc_index_cut_exp_cutoff)) * f)) /\ exists fs_q_pc_cut_exp_cutoff_entry. d = fs_q_pc_cut_exp_cutoff_entry * S ((S (pc_index_cut_exp_cutoff)) * f) + (pc_bit_cut_exp_cutoff))) /\ ((((exists pc_lt_cut_exp_cutoff_choice_below. pc_lt_cut_exp_cutoff_choice_below + S (pc_index_cut_exp_cutoff) = (U)) /\ pc_bit_cut_exp_cutoff = 0) \/ ((exists pc_le_cut_exp_cutoff_choice_above. pc_le_cut_exp_cutoff_choice_above + (U) = (pc_index_cut_exp_cutoff)) /\ (((exists fs_h_pc_cut_exp_cutoff_choice_source. fs_h_pc_cut_exp_cutoff_choice_source + S (pc_bit_cut_exp_cutoff) = S ((S (pc_index_cut_exp_cutoff)) * c)) /\ exists fs_q_pc_cut_exp_cutoff_choice_source. b = fs_q_pc_cut_exp_cutoff_choice_source * S ((S (pc_index_cut_exp_cutoff)) * c) + (pc_bit_cut_exp_cutoff))))))) -> (exists fs_u_pc_cut_exp_count fs_v_pc_cut_exp_count. ((((exists fs_h_pc_cut_exp_count_body_start. fs_h_pc_cut_exp_count_body_start + S (0) = S ((S (0)) * fs_v_pc_cut_exp_count)) /\ exists fs_q_pc_cut_exp_count_body_start. fs_u_pc_cut_exp_count = fs_q_pc_cut_exp_count_body_start * S ((S (0)) * fs_v_pc_cut_exp_count) + (0))) /\ ((((exists fs_h_pc_cut_exp_count_body_terminal. fs_h_pc_cut_exp_count_body_terminal + S (L) = S ((S (N)) * fs_v_pc_cut_exp_count)) /\ exists fs_q_pc_cut_exp_count_body_terminal. fs_u_pc_cut_exp_count = fs_q_pc_cut_exp_count_body_terminal * S ((S (N)) * fs_v_pc_cut_exp_count) + (L))) /\ forall fs_i_pc_cut_exp_count_body_steps. (exists fs_lt_pc_cut_exp_count_body_steps_bound. fs_lt_pc_cut_exp_count_body_steps_bound + S fs_i_pc_cut_exp_count_body_steps = N) -> exists fs_a_pc_cut_exp_count_body_steps fs_r_pc_cut_exp_count_body_steps fs_s_pc_cut_exp_count_body_steps. ((((exists fs_h_pc_cut_exp_count_body_steps_summand. fs_h_pc_cut_exp_count_body_steps_summand + S (fs_a_pc_cut_exp_count_body_steps) = S ((S (fs_i_pc_cut_exp_count_body_steps)) * f)) /\ exists fs_q_pc_cut_exp_count_body_steps_summand. d = fs_q_pc_cut_exp_count_body_steps_summand * S ((S (fs_i_pc_cut_exp_count_body_steps)) * f) + (fs_a_pc_cut_exp_count_body_steps))) /\ ((((exists fs_h_pc_cut_exp_count_body_steps_partial. fs_h_pc_cut_exp_count_body_steps_partial + S (fs_r_pc_cut_exp_count_body_steps) = S ((S (fs_i_pc_cut_exp_count_body_steps)) * fs_v_pc_cut_exp_count)) /\ exists fs_q_pc_cut_exp_count_body_steps_partial. fs_u_pc_cut_exp_count = fs_q_pc_cut_exp_count_body_steps_partial * S ((S (fs_i_pc_cut_exp_count_body_steps)) * fs_v_pc_cut_exp_count) + (fs_r_pc_cut_exp_count_body_steps))) /\ ((((exists fs_h_pc_cut_exp_count_body_steps_successor. fs_h_pc_cut_exp_count_body_steps_successor + S (fs_s_pc_cut_exp_count_body_steps) = S ((S (S fs_i_pc_cut_exp_count_body_steps)) * fs_v_pc_cut_exp_count)) /\ exists fs_q_pc_cut_exp_count_body_steps_successor. fs_u_pc_cut_exp_count = fs_q_pc_cut_exp_count_body_steps_successor * S ((S (S fs_i_pc_cut_exp_count_body_steps)) * fs_v_pc_cut_exp_count) + (fs_s_pc_cut_exp_count_body_steps))) /\ fs_s_pc_cut_exp_count_body_steps = fs_r_pc_cut_exp_count_body_steps + fs_a_pc_cut_exp_count_body_steps)))))) -> (exists pc_le_cut_exp_result. pc_le_cut_exp_result + (h * L) = (N + N))Constructive proof overview
Generated structural guide
At a genuine binary-power cutoff U=2^h, h times the actual upper prime count is at most 2N.
The unchanged tactic script uses 8 declared prerequisites and contains 92 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
primorial_exists Alpha theorem; checked-use authorized pow_exists Stable theorem; checked-use authorized pow_mul_exp Stable theorem; checked-use authorized PC0027 pow_four_equals_binary_double PC0020 primorial_cutoff_count_power_bound primorial_le_four_pow Alpha theorem; checked-use authorized le_trans Stable theorem; checked-use authorized PC0016 binary_power_two_order_reflects_exponentDirect 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–10
02Fix variables and assumptionsL11–12
03Establish hPL13–15
04Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
cases hP
05Establish hQL17–20
06Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases hQ
07Establish hTL22–25
08Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hT
09Establish hRL27–30
10Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases hR
11Establish hWL32–35
12Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases hW
13Establish hflatL37–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow mul exp.
14Use earlier factsL47–49
15Establish hdoubleL50–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow four equals binary double.
16Establish hboundL57–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L57
have hbound : exists g. g + x1 = x3 - L58
specialize le_trans x1 - L59
specialize le_trans x - L60
specialize le_trans x3 - L61
apply le_trans - L62
specialize primorial_cutoff_count_power_bound N - L63
specialize primorial_cutoff_count_power_bound U - L64
specialize primorial_cutoff_count_power_bound b - L65
specialize primorial_cutoff_count_power_bound c - L66
specialize primorial_cutoff_count_power_bound d
17Use earlier factsL67–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
specialize primorial_cutoff_count_power_bound f - L68
specialize primorial_cutoff_count_power_bound L - L69
specialize primorial_cutoff_count_power_bound x - L70
specialize primorial_cutoff_count_power_bound x1 - L71
apply primorial_cutoff_count_power_bound - L72
exact hm - L73
exact hc - L74
exact hL - L75
exact hP_witness - L76
exact hQ_witness
18Use earlier factsL77–82
19Calculate and transport equalitiesL83–84
20Use earlier factsL85–92
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
specialize binary_power_two_order_reflects_exponent (h * L) - L86
specialize binary_power_two_order_reflects_exponent (N + N) - L87
specialize binary_power_two_order_reflects_exponent x2 - L88
specialize binary_power_two_order_reflects_exponent x4 - L89
apply binary_power_two_order_reflects_exponent - L90
exact hT_witness - L91
exact hW_witness - L92
exact hbound
Original exact command ledger · 92 lines
- 0001
intro N - 0002
intro h - 0003
intro U - 0004
intro b - 0005
intro c - 0006
intro d - 0007
intro f - 0008
intro L - 0009
intro hU - 0010
intro hm - 0011
intro hc - 0012
intro hL - 0013
have hP : exists P. exists bpr_code_pc_cut_exp_primorial bpr_scale_pc_cut_exp_primorial. ((forall bpr_index_pc_cut_exp_primorial_mask. (exists bpr_gap_pc_cut_exp_primorial_mask_bound. bpr_gap_pc_cut_exp_primorial_mask_bound + S (bpr_index_pc_cut_exp_primorial_mask) = N) -> exists bpr_value_pc_cut_exp_primorial_mask. ((((exists bpr_height_pc_cut_exp_primorial_mask_decoded. bpr_height_pc_cut_exp_primorial_mask_decoded + S (bpr_value_pc_cut_exp_primorial_mask) = S ((S (bpr_index_pc_cut_exp_primorial_mask)) * bpr_scale_pc_cut_exp_primorial)) /\ exists bpr_quotient_pc_cut_exp_primorial_mask_decoded. bpr_code_pc_cut_exp_primorial = bpr_quotient_pc_cut_exp_primorial_mask_decoded * S ((S (bpr_index_pc_cut_exp_primorial_mask)) * bpr_scale_pc_cut_exp_primorial) + (bpr_value_pc_cut_exp_primorial_mask))) /\ (((((~(S (bpr_index_pc_cut_exp_primorial_mask) = 1) /\ forall bpr_left_pc_cut_exp_primorial_mask_choice_prime bpr_right_pc_cut_exp_primorial_mask_choice_prime. S (bpr_index_pc_cut_exp_primorial_mask) = bpr_left_pc_cut_exp_primorial_mask_choice_prime * bpr_right_pc_cut_exp_primorial_mask_choice_prime -> bpr_left_pc_cut_exp_primorial_mask_choice_prime = 1 \/ bpr_right_pc_cut_exp_primorial_mask_choice_prime = 1)) /\ bpr_value_pc_cut_exp_primorial_mask = S (bpr_index_pc_cut_exp_primorial_mask)) \/ (~((~(S (bpr_index_pc_cut_exp_primorial_mask) = 1) /\ forall bpr_left_pc_cut_exp_primorial_mask_choice_prime bpr_right_pc_cut_exp_primorial_mask_choice_prime. S (bpr_index_pc_cut_exp_primorial_mask) = bpr_left_pc_cut_exp_primorial_mask_choice_prime * bpr_right_pc_cut_exp_primorial_mask_choice_prime -> bpr_left_pc_cut_exp_primorial_mask_choice_prime = 1 \/ bpr_right_pc_cut_exp_primorial_mask_choice_prime = 1)) /\ bpr_value_pc_cut_exp_primorial_mask = 1))))) /\ (exists ff_u_pc_cut_exp_primorial_product ff_v_pc_cut_exp_primorial_product. ((((exists ff_h_pc_cut_exp_primorial_product_start. ff_h_pc_cut_exp_primorial_product_start + S (1) = S ((S (0)) * ff_v_pc_cut_exp_primorial_product)) /\ exists ff_q_pc_cut_exp_primorial_product_start. ff_u_pc_cut_exp_primorial_product = ff_q_pc_cut_exp_primorial_product_start * S ((S (0)) * ff_v_pc_cut_exp_primorial_product) + (1))) /\ ((((exists ff_h_pc_cut_exp_primorial_product_terminal. ff_h_pc_cut_exp_primorial_product_terminal + S (P) = S ((S (N)) * ff_v_pc_cut_exp_primorial_product)) /\ exists ff_q_pc_cut_exp_primorial_product_terminal. ff_u_pc_cut_exp_primorial_product = ff_q_pc_cut_exp_primorial_product_terminal * S ((S (N)) * ff_v_pc_cut_exp_primorial_product) + (P))) /\ forall ff_i_pc_cut_exp_primorial_product. (exists ff_lt_pc_cut_exp_primorial_product_bound. ff_lt_pc_cut_exp_primorial_product_bound + S ff_i_pc_cut_exp_primorial_product = N) -> exists ff_p_pc_cut_exp_primorial_product ff_r_pc_cut_exp_primorial_product ff_s_pc_cut_exp_primorial_product. ((((exists ff_h_pc_cut_exp_primorial_product_factor. ff_h_pc_cut_exp_primorial_product_factor + S (ff_p_pc_cut_exp_primorial_product) = S ((S (ff_i_pc_cut_exp_primorial_product)) * bpr_scale_pc_cut_exp_primorial)) /\ exists ff_q_pc_cut_exp_primorial_product_factor. bpr_code_pc_cut_exp_primorial = ff_q_pc_cut_exp_primorial_product_factor * S ((S (ff_i_pc_cut_exp_primorial_product)) * bpr_scale_pc_cut_exp_primorial) + (ff_p_pc_cut_exp_primorial_product))) /\ ((((exists ff_h_pc_cut_exp_primorial_product_partial. ff_h_pc_cut_exp_primorial_product_partial + S (ff_r_pc_cut_exp_primorial_product) = S ((S (ff_i_pc_cut_exp_primorial_product)) * ff_v_pc_cut_exp_primorial_product)) /\ exists ff_q_pc_cut_exp_primorial_product_partial. ff_u_pc_cut_exp_primorial_product = ff_q_pc_cut_exp_primorial_product_partial * S ((S (ff_i_pc_cut_exp_primorial_product)) * ff_v_pc_cut_exp_primorial_product) + (ff_r_pc_cut_exp_primorial_product))) /\ ((((exists ff_h_pc_cut_exp_primorial_product_successor. ff_h_pc_cut_exp_primorial_product_successor + S (ff_s_pc_cut_exp_primorial_product) = S ((S (S ff_i_pc_cut_exp_primorial_product)) * ff_v_pc_cut_exp_primorial_product)) /\ exists ff_q_pc_cut_exp_primorial_product_successor. ff_u_pc_cut_exp_primorial_product = ff_q_pc_cut_exp_primorial_product_successor * S ((S (S ff_i_pc_cut_exp_primorial_product)) * ff_v_pc_cut_exp_primorial_product) + (ff_s_pc_cut_exp_primorial_product))) /\ ff_s_pc_cut_exp_primorial_product = ff_r_pc_cut_exp_primorial_product * ff_p_pc_cut_exp_primorial_product))))))) - 0014
specialize primorial_exists N - 0015
apply primorial_exists - 0016
cases hP - 0017
have hQ : exists Q. exists pa_b_pc_cut_exp_outer_power pa_c_pc_cut_exp_outer_power. ((forall pa_i_pc_cut_exp_outer_power_repeat. (exists pa_lt_pc_cut_exp_outer_power_repeat_bound. pa_lt_pc_cut_exp_outer_power_repeat_bound + S pa_i_pc_cut_exp_outer_power_repeat = L) -> (((exists pa_h_pc_cut_exp_outer_power_repeat_decoded. pa_h_pc_cut_exp_outer_power_repeat_decoded + S (U) = S ((S (pa_i_pc_cut_exp_outer_power_repeat)) * pa_c_pc_cut_exp_outer_power)) /\ exists pa_q_pc_cut_exp_outer_power_repeat_decoded. pa_b_pc_cut_exp_outer_power = pa_q_pc_cut_exp_outer_power_repeat_decoded * S ((S (pa_i_pc_cut_exp_outer_power_repeat)) * pa_c_pc_cut_exp_outer_power) + (U)))) /\ (exists pa_u_pc_cut_exp_outer_power_product pa_v_pc_cut_exp_outer_power_product. ((((exists pa_h_pc_cut_exp_outer_power_product_start. pa_h_pc_cut_exp_outer_power_product_start + S (1) = S ((S (0)) * pa_v_pc_cut_exp_outer_power_product)) /\ exists pa_q_pc_cut_exp_outer_power_product_start. pa_u_pc_cut_exp_outer_power_product = pa_q_pc_cut_exp_outer_power_product_start * S ((S (0)) * pa_v_pc_cut_exp_outer_power_product) + (1))) /\ ((((exists pa_h_pc_cut_exp_outer_power_product_terminal. pa_h_pc_cut_exp_outer_power_product_terminal + S (Q) = S ((S (L)) * pa_v_pc_cut_exp_outer_power_product)) /\ exists pa_q_pc_cut_exp_outer_power_product_terminal. pa_u_pc_cut_exp_outer_power_product = pa_q_pc_cut_exp_outer_power_product_terminal * S ((S (L)) * pa_v_pc_cut_exp_outer_power_product) + (Q))) /\ forall pa_i_pc_cut_exp_outer_power_product. (exists pa_lt_pc_cut_exp_outer_power_product_bound. pa_lt_pc_cut_exp_outer_power_product_bound + S pa_i_pc_cut_exp_outer_power_product = L) -> exists pa_p_pc_cut_exp_outer_power_product pa_r_pc_cut_exp_outer_power_product pa_s_pc_cut_exp_outer_power_product. ((((exists pa_h_pc_cut_exp_outer_power_product_factor. pa_h_pc_cut_exp_outer_power_product_factor + S (pa_p_pc_cut_exp_outer_power_product) = S ((S (pa_i_pc_cut_exp_outer_power_product)) * pa_c_pc_cut_exp_outer_power)) /\ exists pa_q_pc_cut_exp_outer_power_product_factor. pa_b_pc_cut_exp_outer_power = pa_q_pc_cut_exp_outer_power_product_factor * S ((S (pa_i_pc_cut_exp_outer_power_product)) * pa_c_pc_cut_exp_outer_power) + (pa_p_pc_cut_exp_outer_power_product))) /\ ((((exists pa_h_pc_cut_exp_outer_power_product_partial. pa_h_pc_cut_exp_outer_power_product_partial + S (pa_r_pc_cut_exp_outer_power_product) = S ((S (pa_i_pc_cut_exp_outer_power_product)) * pa_v_pc_cut_exp_outer_power_product)) /\ exists pa_q_pc_cut_exp_outer_power_product_partial. pa_u_pc_cut_exp_outer_power_product = pa_q_pc_cut_exp_outer_power_product_partial * S ((S (pa_i_pc_cut_exp_outer_power_product)) * pa_v_pc_cut_exp_outer_power_product) + (pa_r_pc_cut_exp_outer_power_product))) /\ ((((exists pa_h_pc_cut_exp_outer_power_product_successor. pa_h_pc_cut_exp_outer_power_product_successor + S (pa_s_pc_cut_exp_outer_power_product) = S ((S (S pa_i_pc_cut_exp_outer_power_product)) * pa_v_pc_cut_exp_outer_power_product)) /\ exists pa_q_pc_cut_exp_outer_power_product_successor. pa_u_pc_cut_exp_outer_power_product = pa_q_pc_cut_exp_outer_power_product_successor * S ((S (S pa_i_pc_cut_exp_outer_power_product)) * pa_v_pc_cut_exp_outer_power_product) + (pa_s_pc_cut_exp_outer_power_product))) /\ pa_s_pc_cut_exp_outer_power_product = pa_r_pc_cut_exp_outer_power_product * pa_p_pc_cut_exp_outer_power_product))))))) - 0018
specialize pow_exists U - 0019
specialize pow_exists L - 0020
apply pow_exists - 0021
cases hQ - 0022
have hT : exists T. exists pa_b_pc_cut_exp_flat_power pa_c_pc_cut_exp_flat_power. ((forall pa_i_pc_cut_exp_flat_power_repeat. (exists pa_lt_pc_cut_exp_flat_power_repeat_bound. pa_lt_pc_cut_exp_flat_power_repeat_bound + S pa_i_pc_cut_exp_flat_power_repeat = h * L) -> (((exists pa_h_pc_cut_exp_flat_power_repeat_decoded. pa_h_pc_cut_exp_flat_power_repeat_decoded + S (2) = S ((S (pa_i_pc_cut_exp_flat_power_repeat)) * pa_c_pc_cut_exp_flat_power)) /\ exists pa_q_pc_cut_exp_flat_power_repeat_decoded. pa_b_pc_cut_exp_flat_power = pa_q_pc_cut_exp_flat_power_repeat_decoded * S ((S (pa_i_pc_cut_exp_flat_power_repeat)) * pa_c_pc_cut_exp_flat_power) + (2)))) /\ (exists pa_u_pc_cut_exp_flat_power_product pa_v_pc_cut_exp_flat_power_product. ((((exists pa_h_pc_cut_exp_flat_power_product_start. pa_h_pc_cut_exp_flat_power_product_start + S (1) = S ((S (0)) * pa_v_pc_cut_exp_flat_power_product)) /\ exists pa_q_pc_cut_exp_flat_power_product_start. pa_u_pc_cut_exp_flat_power_product = pa_q_pc_cut_exp_flat_power_product_start * S ((S (0)) * pa_v_pc_cut_exp_flat_power_product) + (1))) /\ ((((exists pa_h_pc_cut_exp_flat_power_product_terminal. pa_h_pc_cut_exp_flat_power_product_terminal + S (T) = S ((S (h * L)) * pa_v_pc_cut_exp_flat_power_product)) /\ exists pa_q_pc_cut_exp_flat_power_product_terminal. pa_u_pc_cut_exp_flat_power_product = pa_q_pc_cut_exp_flat_power_product_terminal * S ((S (h * L)) * pa_v_pc_cut_exp_flat_power_product) + (T))) /\ forall pa_i_pc_cut_exp_flat_power_product. (exists pa_lt_pc_cut_exp_flat_power_product_bound. pa_lt_pc_cut_exp_flat_power_product_bound + S pa_i_pc_cut_exp_flat_power_product = h * L) -> exists pa_p_pc_cut_exp_flat_power_product pa_r_pc_cut_exp_flat_power_product pa_s_pc_cut_exp_flat_power_product. ((((exists pa_h_pc_cut_exp_flat_power_product_factor. pa_h_pc_cut_exp_flat_power_product_factor + S (pa_p_pc_cut_exp_flat_power_product) = S ((S (pa_i_pc_cut_exp_flat_power_product)) * pa_c_pc_cut_exp_flat_power)) /\ exists pa_q_pc_cut_exp_flat_power_product_factor. pa_b_pc_cut_exp_flat_power = pa_q_pc_cut_exp_flat_power_product_factor * S ((S (pa_i_pc_cut_exp_flat_power_product)) * pa_c_pc_cut_exp_flat_power) + (pa_p_pc_cut_exp_flat_power_product))) /\ ((((exists pa_h_pc_cut_exp_flat_power_product_partial. pa_h_pc_cut_exp_flat_power_product_partial + S (pa_r_pc_cut_exp_flat_power_product) = S ((S (pa_i_pc_cut_exp_flat_power_product)) * pa_v_pc_cut_exp_flat_power_product)) /\ exists pa_q_pc_cut_exp_flat_power_product_partial. pa_u_pc_cut_exp_flat_power_product = pa_q_pc_cut_exp_flat_power_product_partial * S ((S (pa_i_pc_cut_exp_flat_power_product)) * pa_v_pc_cut_exp_flat_power_product) + (pa_r_pc_cut_exp_flat_power_product))) /\ ((((exists pa_h_pc_cut_exp_flat_power_product_successor. pa_h_pc_cut_exp_flat_power_product_successor + S (pa_s_pc_cut_exp_flat_power_product) = S ((S (S pa_i_pc_cut_exp_flat_power_product)) * pa_v_pc_cut_exp_flat_power_product)) /\ exists pa_q_pc_cut_exp_flat_power_product_successor. pa_u_pc_cut_exp_flat_power_product = pa_q_pc_cut_exp_flat_power_product_successor * S ((S (S pa_i_pc_cut_exp_flat_power_product)) * pa_v_pc_cut_exp_flat_power_product) + (pa_s_pc_cut_exp_flat_power_product))) /\ pa_s_pc_cut_exp_flat_power_product = pa_r_pc_cut_exp_flat_power_product * pa_p_pc_cut_exp_flat_power_product))))))) - 0023
specialize pow_exists 2 - 0024
specialize pow_exists (h * L) - 0025
apply pow_exists - 0026
cases hT - 0027
have hR : exists R. exists pa_b_pc_cut_exp_four_power pa_c_pc_cut_exp_four_power. ((forall pa_i_pc_cut_exp_four_power_repeat. (exists pa_lt_pc_cut_exp_four_power_repeat_bound. pa_lt_pc_cut_exp_four_power_repeat_bound + S pa_i_pc_cut_exp_four_power_repeat = N) -> (((exists pa_h_pc_cut_exp_four_power_repeat_decoded. pa_h_pc_cut_exp_four_power_repeat_decoded + S (4) = S ((S (pa_i_pc_cut_exp_four_power_repeat)) * pa_c_pc_cut_exp_four_power)) /\ exists pa_q_pc_cut_exp_four_power_repeat_decoded. pa_b_pc_cut_exp_four_power = pa_q_pc_cut_exp_four_power_repeat_decoded * S ((S (pa_i_pc_cut_exp_four_power_repeat)) * pa_c_pc_cut_exp_four_power) + (4)))) /\ (exists pa_u_pc_cut_exp_four_power_product pa_v_pc_cut_exp_four_power_product. ((((exists pa_h_pc_cut_exp_four_power_product_start. pa_h_pc_cut_exp_four_power_product_start + S (1) = S ((S (0)) * pa_v_pc_cut_exp_four_power_product)) /\ exists pa_q_pc_cut_exp_four_power_product_start. pa_u_pc_cut_exp_four_power_product = pa_q_pc_cut_exp_four_power_product_start * S ((S (0)) * pa_v_pc_cut_exp_four_power_product) + (1))) /\ ((((exists pa_h_pc_cut_exp_four_power_product_terminal. pa_h_pc_cut_exp_four_power_product_terminal + S (R) = S ((S (N)) * pa_v_pc_cut_exp_four_power_product)) /\ exists pa_q_pc_cut_exp_four_power_product_terminal. pa_u_pc_cut_exp_four_power_product = pa_q_pc_cut_exp_four_power_product_terminal * S ((S (N)) * pa_v_pc_cut_exp_four_power_product) + (R))) /\ forall pa_i_pc_cut_exp_four_power_product. (exists pa_lt_pc_cut_exp_four_power_product_bound. pa_lt_pc_cut_exp_four_power_product_bound + S pa_i_pc_cut_exp_four_power_product = N) -> exists pa_p_pc_cut_exp_four_power_product pa_r_pc_cut_exp_four_power_product pa_s_pc_cut_exp_four_power_product. ((((exists pa_h_pc_cut_exp_four_power_product_factor. pa_h_pc_cut_exp_four_power_product_factor + S (pa_p_pc_cut_exp_four_power_product) = S ((S (pa_i_pc_cut_exp_four_power_product)) * pa_c_pc_cut_exp_four_power)) /\ exists pa_q_pc_cut_exp_four_power_product_factor. pa_b_pc_cut_exp_four_power = pa_q_pc_cut_exp_four_power_product_factor * S ((S (pa_i_pc_cut_exp_four_power_product)) * pa_c_pc_cut_exp_four_power) + (pa_p_pc_cut_exp_four_power_product))) /\ ((((exists pa_h_pc_cut_exp_four_power_product_partial. pa_h_pc_cut_exp_four_power_product_partial + S (pa_r_pc_cut_exp_four_power_product) = S ((S (pa_i_pc_cut_exp_four_power_product)) * pa_v_pc_cut_exp_four_power_product)) /\ exists pa_q_pc_cut_exp_four_power_product_partial. pa_u_pc_cut_exp_four_power_product = pa_q_pc_cut_exp_four_power_product_partial * S ((S (pa_i_pc_cut_exp_four_power_product)) * pa_v_pc_cut_exp_four_power_product) + (pa_r_pc_cut_exp_four_power_product))) /\ ((((exists pa_h_pc_cut_exp_four_power_product_successor. pa_h_pc_cut_exp_four_power_product_successor + S (pa_s_pc_cut_exp_four_power_product) = S ((S (S pa_i_pc_cut_exp_four_power_product)) * pa_v_pc_cut_exp_four_power_product)) /\ exists pa_q_pc_cut_exp_four_power_product_successor. pa_u_pc_cut_exp_four_power_product = pa_q_pc_cut_exp_four_power_product_successor * S ((S (S pa_i_pc_cut_exp_four_power_product)) * pa_v_pc_cut_exp_four_power_product) + (pa_s_pc_cut_exp_four_power_product))) /\ pa_s_pc_cut_exp_four_power_product = pa_r_pc_cut_exp_four_power_product * pa_p_pc_cut_exp_four_power_product))))))) - 0028
specialize pow_exists 4 - 0029
specialize pow_exists N - 0030
apply pow_exists - 0031
cases hR - 0032
have hW : exists W. exists pa_b_pc_cut_exp_double_power pa_c_pc_cut_exp_double_power. ((forall pa_i_pc_cut_exp_double_power_repeat. (exists pa_lt_pc_cut_exp_double_power_repeat_bound. pa_lt_pc_cut_exp_double_power_repeat_bound + S pa_i_pc_cut_exp_double_power_repeat = N + N) -> (((exists pa_h_pc_cut_exp_double_power_repeat_decoded. pa_h_pc_cut_exp_double_power_repeat_decoded + S (2) = S ((S (pa_i_pc_cut_exp_double_power_repeat)) * pa_c_pc_cut_exp_double_power)) /\ exists pa_q_pc_cut_exp_double_power_repeat_decoded. pa_b_pc_cut_exp_double_power = pa_q_pc_cut_exp_double_power_repeat_decoded * S ((S (pa_i_pc_cut_exp_double_power_repeat)) * pa_c_pc_cut_exp_double_power) + (2)))) /\ (exists pa_u_pc_cut_exp_double_power_product pa_v_pc_cut_exp_double_power_product. ((((exists pa_h_pc_cut_exp_double_power_product_start. pa_h_pc_cut_exp_double_power_product_start + S (1) = S ((S (0)) * pa_v_pc_cut_exp_double_power_product)) /\ exists pa_q_pc_cut_exp_double_power_product_start. pa_u_pc_cut_exp_double_power_product = pa_q_pc_cut_exp_double_power_product_start * S ((S (0)) * pa_v_pc_cut_exp_double_power_product) + (1))) /\ ((((exists pa_h_pc_cut_exp_double_power_product_terminal. pa_h_pc_cut_exp_double_power_product_terminal + S (W) = S ((S (N + N)) * pa_v_pc_cut_exp_double_power_product)) /\ exists pa_q_pc_cut_exp_double_power_product_terminal. pa_u_pc_cut_exp_double_power_product = pa_q_pc_cut_exp_double_power_product_terminal * S ((S (N + N)) * pa_v_pc_cut_exp_double_power_product) + (W))) /\ forall pa_i_pc_cut_exp_double_power_product. (exists pa_lt_pc_cut_exp_double_power_product_bound. pa_lt_pc_cut_exp_double_power_product_bound + S pa_i_pc_cut_exp_double_power_product = N + N) -> exists pa_p_pc_cut_exp_double_power_product pa_r_pc_cut_exp_double_power_product pa_s_pc_cut_exp_double_power_product. ((((exists pa_h_pc_cut_exp_double_power_product_factor. pa_h_pc_cut_exp_double_power_product_factor + S (pa_p_pc_cut_exp_double_power_product) = S ((S (pa_i_pc_cut_exp_double_power_product)) * pa_c_pc_cut_exp_double_power)) /\ exists pa_q_pc_cut_exp_double_power_product_factor. pa_b_pc_cut_exp_double_power = pa_q_pc_cut_exp_double_power_product_factor * S ((S (pa_i_pc_cut_exp_double_power_product)) * pa_c_pc_cut_exp_double_power) + (pa_p_pc_cut_exp_double_power_product))) /\ ((((exists pa_h_pc_cut_exp_double_power_product_partial. pa_h_pc_cut_exp_double_power_product_partial + S (pa_r_pc_cut_exp_double_power_product) = S ((S (pa_i_pc_cut_exp_double_power_product)) * pa_v_pc_cut_exp_double_power_product)) /\ exists pa_q_pc_cut_exp_double_power_product_partial. pa_u_pc_cut_exp_double_power_product = pa_q_pc_cut_exp_double_power_product_partial * S ((S (pa_i_pc_cut_exp_double_power_product)) * pa_v_pc_cut_exp_double_power_product) + (pa_r_pc_cut_exp_double_power_product))) /\ ((((exists pa_h_pc_cut_exp_double_power_product_successor. pa_h_pc_cut_exp_double_power_product_successor + S (pa_s_pc_cut_exp_double_power_product) = S ((S (S pa_i_pc_cut_exp_double_power_product)) * pa_v_pc_cut_exp_double_power_product)) /\ exists pa_q_pc_cut_exp_double_power_product_successor. pa_u_pc_cut_exp_double_power_product = pa_q_pc_cut_exp_double_power_product_successor * S ((S (S pa_i_pc_cut_exp_double_power_product)) * pa_v_pc_cut_exp_double_power_product) + (pa_s_pc_cut_exp_double_power_product))) /\ pa_s_pc_cut_exp_double_power_product = pa_r_pc_cut_exp_double_power_product * pa_p_pc_cut_exp_double_power_product))))))) - 0033
specialize pow_exists 2 - 0034
specialize pow_exists (N + N) - 0035
apply pow_exists - 0036
cases hW - 0037
have hflat : x1 = x2 - 0038
specialize pow_mul_exp 2 - 0039
specialize pow_mul_exp h - 0040
specialize pow_mul_exp L - 0041
specialize pow_mul_exp (h * L) - 0042
specialize pow_mul_exp U - 0043
specialize pow_mul_exp x1 - 0044
specialize pow_mul_exp x2 - 0045
apply pow_mul_exp - 0046
refl - 0047
exact hU - 0048
exact hQ_witness - 0049
exact hT_witness - 0050
have hdouble : x3 = x4 - 0051
specialize pow_four_equals_binary_double N - 0052
specialize pow_four_equals_binary_double x3 - 0053
specialize pow_four_equals_binary_double x4 - 0054
apply pow_four_equals_binary_double - 0055
exact hR_witness - 0056
exact hW_witness - 0057
have hbound : exists g. g + x1 = x3 - 0058
specialize le_trans x1 - 0059
specialize le_trans x - 0060
specialize le_trans x3 - 0061
apply le_trans - 0062
specialize primorial_cutoff_count_power_bound N - 0063
specialize primorial_cutoff_count_power_bound U - 0064
specialize primorial_cutoff_count_power_bound b - 0065
specialize primorial_cutoff_count_power_bound c - 0066
specialize primorial_cutoff_count_power_bound d - 0067
specialize primorial_cutoff_count_power_bound f - 0068
specialize primorial_cutoff_count_power_bound L - 0069
specialize primorial_cutoff_count_power_bound x - 0070
specialize primorial_cutoff_count_power_bound x1 - 0071
apply primorial_cutoff_count_power_bound - 0072
exact hm - 0073
exact hc - 0074
exact hL - 0075
exact hP_witness - 0076
exact hQ_witness - 0077
specialize primorial_le_four_pow N - 0078
specialize primorial_le_four_pow x - 0079
specialize primorial_le_four_pow x3 - 0080
apply primorial_le_four_pow - 0081
exact hP_witness - 0082
exact hR_witness - 0083
rewrite hflat at hbound - 0084
rewrite hdouble at hbound - 0085
specialize binary_power_two_order_reflects_exponent (h * L) - 0086
specialize binary_power_two_order_reflects_exponent (N + N) - 0087
specialize binary_power_two_order_reflects_exponent x2 - 0088
specialize binary_power_two_order_reflects_exponent x4 - 0089
apply binary_power_two_order_reflects_exponent - 0090
exact hT_witness - 0091
exact hW_witness - 0092
exact hbound