BT00U4

four_pow_lt_mul_central_binom

Alpha body-checked ยท checked-use disabled

For every index at least four, the fourth power is below the index-weighted central binomial.

Exact expanded PA statement

forall n p c. (exists bcf_le_gap_bfplcb_bound. bcf_le_gap_bfplcb_bound + (4) = n) -> (exists pa_b_bfplcb_power pa_c_bfplcb_power. ((forall pa_i_bfplcb_power_repeat. (exists pa_lt_bfplcb_power_repeat_bound. pa_lt_bfplcb_power_repeat_bound + S pa_i_bfplcb_power_repeat = n) -> (((exists pa_h_bfplcb_power_repeat_decoded. pa_h_bfplcb_power_repeat_decoded + S (4) = S ((S (pa_i_bfplcb_power_repeat)) * pa_c_bfplcb_power)) /\ exists pa_q_bfplcb_power_repeat_decoded. pa_b_bfplcb_power = pa_q_bfplcb_power_repeat_decoded * S ((S (pa_i_bfplcb_power_repeat)) * pa_c_bfplcb_power) + (4)))) /\ (exists pa_u_bfplcb_power_product pa_v_bfplcb_power_product. ((((exists pa_h_bfplcb_power_product_start. pa_h_bfplcb_power_product_start + S (1) = S ((S (0)) * pa_v_bfplcb_power_product)) /\ exists pa_q_bfplcb_power_product_start. pa_u_bfplcb_power_product = pa_q_bfplcb_power_product_start * S ((S (0)) * pa_v_bfplcb_power_product) + (1))) /\ ((((exists pa_h_bfplcb_power_product_terminal. pa_h_bfplcb_power_product_terminal + S (p) = S ((S (n)) * pa_v_bfplcb_power_product)) /\ exists pa_q_bfplcb_power_product_terminal. pa_u_bfplcb_power_product = pa_q_bfplcb_power_product_terminal * S ((S (n)) * pa_v_bfplcb_power_product) + (p))) /\ forall pa_i_bfplcb_power_product. (exists pa_lt_bfplcb_power_product_bound. pa_lt_bfplcb_power_product_bound + S pa_i_bfplcb_power_product = n) -> exists pa_p_bfplcb_power_product pa_r_bfplcb_power_product pa_s_bfplcb_power_product. ((((exists pa_h_bfplcb_power_product_factor. pa_h_bfplcb_power_product_factor + S (pa_p_bfplcb_power_product) = S ((S (pa_i_bfplcb_power_product)) * pa_c_bfplcb_power)) /\ exists pa_q_bfplcb_power_product_factor. pa_b_bfplcb_power = pa_q_bfplcb_power_product_factor * S ((S (pa_i_bfplcb_power_product)) * pa_c_bfplcb_power) + (pa_p_bfplcb_power_product))) /\ ((((exists pa_h_bfplcb_power_product_partial. pa_h_bfplcb_power_product_partial + S (pa_r_bfplcb_power_product) = S ((S (pa_i_bfplcb_power_product)) * pa_v_bfplcb_power_product)) /\ exists pa_q_bfplcb_power_product_partial. pa_u_bfplcb_power_product = pa_q_bfplcb_power_product_partial * S ((S (pa_i_bfplcb_power_product)) * pa_v_bfplcb_power_product) + (pa_r_bfplcb_power_product))) /\ ((((exists pa_h_bfplcb_power_product_successor. pa_h_bfplcb_power_product_successor + S (pa_s_bfplcb_power_product) = S ((S (S pa_i_bfplcb_power_product)) * pa_v_bfplcb_power_product)) /\ exists pa_q_bfplcb_power_product_successor. pa_u_bfplcb_power_product = pa_q_bfplcb_power_product_successor * S ((S (S pa_i_bfplcb_power_product)) * pa_v_bfplcb_power_product) + (pa_s_bfplcb_power_product))) /\ pa_s_bfplcb_power_product = pa_r_bfplcb_power_product * pa_p_bfplcb_power_product)))))))) -> (((exists bcf_lt_gap_bfplcb_central_out_of_range. bcf_lt_gap_bfplcb_central_out_of_range + S (n + n) = n) /\ c = 0) \/ ((exists bcf_le_gap_bfplcb_central_in_range. bcf_le_gap_bfplcb_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bfplcb_central bcf_row_code_scale_bfplcb_central bcf_row_scale_code_bfplcb_central bcf_row_scale_scale_bfplcb_central bcf_row_code_bfplcb_central bcf_row_scale_bfplcb_central. ((forall bcf_row_index_bfplcb_central_table. (exists bcf_lt_gap_bfplcb_central_table_row_bound. bcf_lt_gap_bfplcb_central_table_row_bound + S (bcf_row_index_bfplcb_central_table) = S (n + n)) -> exists bcf_row_code_bfplcb_central_table bcf_row_scale_bfplcb_central_table. ((((exists bcf_height_bfplcb_central_table_decoded_row_code. bcf_height_bfplcb_central_table_decoded_row_code + S (bcf_row_code_bfplcb_central_table) = S ((S (bcf_row_index_bfplcb_central_table)) * bcf_row_code_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_table_decoded_row_code. bcf_row_code_code_bfplcb_central = bcf_quotient_bfplcb_central_table_decoded_row_code * S ((S (bcf_row_index_bfplcb_central_table)) * bcf_row_code_scale_bfplcb_central) + (bcf_row_code_bfplcb_central_table))) /\ ((((exists bcf_height_bfplcb_central_table_decoded_row_scale. bcf_height_bfplcb_central_table_decoded_row_scale + S (bcf_row_scale_bfplcb_central_table) = S ((S (bcf_row_index_bfplcb_central_table)) * bcf_row_scale_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_table_decoded_row_scale. bcf_row_scale_code_bfplcb_central = bcf_quotient_bfplcb_central_table_decoded_row_scale * S ((S (bcf_row_index_bfplcb_central_table)) * bcf_row_scale_scale_bfplcb_central) + (bcf_row_scale_bfplcb_central_table))) /\ ((bcf_row_index_bfplcb_central_table = 0 /\ (forall bcf_index_bfplcb_central_table_zero_row. (exists bcf_lt_gap_bfplcb_central_table_zero_row_bound. bcf_lt_gap_bfplcb_central_table_zero_row_bound + S (bcf_index_bfplcb_central_table_zero_row) = S (n + n)) -> exists bcf_value_bfplcb_central_table_zero_row. ((((exists bcf_height_bfplcb_central_table_zero_row_entry. bcf_height_bfplcb_central_table_zero_row_entry + S (bcf_value_bfplcb_central_table_zero_row) = S ((S (bcf_index_bfplcb_central_table_zero_row)) * bcf_row_scale_bfplcb_central_table)) /\ exists bcf_quotient_bfplcb_central_table_zero_row_entry. bcf_row_code_bfplcb_central_table = bcf_quotient_bfplcb_central_table_zero_row_entry * S ((S (bcf_index_bfplcb_central_table_zero_row)) * bcf_row_scale_bfplcb_central_table) + (bcf_value_bfplcb_central_table_zero_row))) /\ ((bcf_index_bfplcb_central_table_zero_row = 0 /\ bcf_value_bfplcb_central_table_zero_row = 1) \/ exists bcf_predecessor_bfplcb_central_table_zero_row. bcf_index_bfplcb_central_table_zero_row = S bcf_predecessor_bfplcb_central_table_zero_row /\ bcf_value_bfplcb_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bfplcb_central_table bcf_previous_code_bfplcb_central_table bcf_previous_scale_bfplcb_central_table. bcf_row_index_bfplcb_central_table = S bcf_predecessor_bfplcb_central_table /\ ((((exists bcf_height_bfplcb_central_table_decoded_previous_code. bcf_height_bfplcb_central_table_decoded_previous_code + S (bcf_previous_code_bfplcb_central_table) = S ((S (bcf_predecessor_bfplcb_central_table)) * bcf_row_code_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_table_decoded_previous_code. bcf_row_code_code_bfplcb_central = bcf_quotient_bfplcb_central_table_decoded_previous_code * S ((S (bcf_predecessor_bfplcb_central_table)) * bcf_row_code_scale_bfplcb_central) + (bcf_previous_code_bfplcb_central_table))) /\ ((((exists bcf_height_bfplcb_central_table_decoded_previous_scale. bcf_height_bfplcb_central_table_decoded_previous_scale + S (bcf_previous_scale_bfplcb_central_table) = S ((S (bcf_predecessor_bfplcb_central_table)) * bcf_row_scale_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_table_decoded_previous_scale. bcf_row_scale_code_bfplcb_central = bcf_quotient_bfplcb_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bfplcb_central_table)) * bcf_row_scale_scale_bfplcb_central) + (bcf_previous_scale_bfplcb_central_table))) /\ (forall bcf_index_bfplcb_central_table_row_step. (exists bcf_lt_gap_bfplcb_central_table_row_step_bound. bcf_lt_gap_bfplcb_central_table_row_step_bound + S (bcf_index_bfplcb_central_table_row_step) = S (n + n)) -> exists bcf_value_bfplcb_central_table_row_step. ((((exists bcf_height_bfplcb_central_table_row_step_entry. bcf_height_bfplcb_central_table_row_step_entry + S (bcf_value_bfplcb_central_table_row_step) = S ((S (bcf_index_bfplcb_central_table_row_step)) * bcf_row_scale_bfplcb_central_table)) /\ exists bcf_quotient_bfplcb_central_table_row_step_entry. bcf_row_code_bfplcb_central_table = bcf_quotient_bfplcb_central_table_row_step_entry * S ((S (bcf_index_bfplcb_central_table_row_step)) * bcf_row_scale_bfplcb_central_table) + (bcf_value_bfplcb_central_table_row_step))) /\ ((bcf_index_bfplcb_central_table_row_step = 0 /\ bcf_value_bfplcb_central_table_row_step = 1) \/ exists bcf_predecessor_bfplcb_central_table_row_step bcf_left_bfplcb_central_table_row_step bcf_right_bfplcb_central_table_row_step. bcf_index_bfplcb_central_table_row_step = S bcf_predecessor_bfplcb_central_table_row_step /\ ((((exists bcf_height_bfplcb_central_table_row_step_previous_left. bcf_height_bfplcb_central_table_row_step_previous_left + S (bcf_left_bfplcb_central_table_row_step) = S ((S (bcf_predecessor_bfplcb_central_table_row_step)) * bcf_previous_scale_bfplcb_central_table)) /\ exists bcf_quotient_bfplcb_central_table_row_step_previous_left. bcf_previous_code_bfplcb_central_table = bcf_quotient_bfplcb_central_table_row_step_previous_left * S ((S (bcf_predecessor_bfplcb_central_table_row_step)) * bcf_previous_scale_bfplcb_central_table) + (bcf_left_bfplcb_central_table_row_step))) /\ ((((exists bcf_height_bfplcb_central_table_row_step_previous_right. bcf_height_bfplcb_central_table_row_step_previous_right + S (bcf_right_bfplcb_central_table_row_step) = S ((S (S (bcf_predecessor_bfplcb_central_table_row_step))) * bcf_previous_scale_bfplcb_central_table)) /\ exists bcf_quotient_bfplcb_central_table_row_step_previous_right. bcf_previous_code_bfplcb_central_table = bcf_quotient_bfplcb_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bfplcb_central_table_row_step))) * bcf_previous_scale_bfplcb_central_table) + (bcf_right_bfplcb_central_table_row_step))) /\ bcf_value_bfplcb_central_table_row_step = bcf_left_bfplcb_central_table_row_step + bcf_right_bfplcb_central_table_row_step))))))))))) /\ ((((exists bcf_height_bfplcb_central_decoded_row_code. bcf_height_bfplcb_central_decoded_row_code + S (bcf_row_code_bfplcb_central) = S ((S (n + n)) * bcf_row_code_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_decoded_row_code. bcf_row_code_code_bfplcb_central = bcf_quotient_bfplcb_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bfplcb_central) + (bcf_row_code_bfplcb_central))) /\ ((((exists bcf_height_bfplcb_central_decoded_row_scale. bcf_height_bfplcb_central_decoded_row_scale + S (bcf_row_scale_bfplcb_central) = S ((S (n + n)) * bcf_row_scale_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_decoded_row_scale. bcf_row_scale_code_bfplcb_central = bcf_quotient_bfplcb_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bfplcb_central) + (bcf_row_scale_bfplcb_central))) /\ (((exists bcf_height_bfplcb_central_decoded_value. bcf_height_bfplcb_central_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_decoded_value. bcf_row_code_bfplcb_central = bcf_quotient_bfplcb_central_decoded_value * S ((S (n)) * bcf_row_scale_bfplcb_central) + (c))))))))) -> (exists bcf_lt_gap_bfplcb_result. bcf_lt_gap_bfplcb_result + S (p) = n * c)

Structural proof guide

For every index at least four, the fourth power is below the index-weighted central binomial.

Direct prerequisites: lt_not_le, pow_successor_decompose, central_binom_succ_recurrence, four_power_central_recurrence_step, four_pow_central_seed_package. The authored body proceeds by structural induction (5), case analysis (4), intermediate claims (11), equality transport (1), closed numeral normalization (4).

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.

  1. 0001have hzero_lt_four : exists bcf_lt_gap_bfplcb_zero_lt_four. bcf_lt_gap_bfplcb_zero_lt_four + S (0) = 4
  2. 0002exists 3
  3. 0003norm_num
  4. 0004have hone_lt_four : exists bcf_lt_gap_bfplcb_one_lt_four. bcf_lt_gap_bfplcb_one_lt_four + S (1) = 4
  5. 0005exists 2
  6. 0006norm_num
  7. 0007have htwo_lt_four : exists bcf_lt_gap_bfplcb_two_lt_four. bcf_lt_gap_bfplcb_two_lt_four + S (2) = 4
  8. 0008exists 1
  9. 0009norm_num
  10. 0010have hthree_lt_four : exists bcf_lt_gap_bfplcb_three_lt_four. bcf_lt_gap_bfplcb_three_lt_four + S (3) = 4
  11. 0011exists 0
  12. 0012norm_num
  13. 0013have hpackage : (forall n. exists z. (((exists bcf_lt_gap_bcb4we_exists_out_of_range. bcf_lt_gap_bcb4we_exists_out_of_range + S (n + n) = n) /\ z = 0) \/ ((exists bcf_le_gap_bcb4we_exists_in_range. bcf_le_gap_bcb4we_exists_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bcb4we_exists bcf_row_code_scale_bcb4we_exists bcf_row_scale_code_bcb4we_exists bcf_row_scale_scale_bcb4we_exists bcf_row_code_bcb4we_exists bcf_row_scale_bcb4we_exists. ((forall bcf_row_index_bcb4we_exists_table. (exists bcf_lt_gap_bcb4we_exists_table_row_bound. bcf_lt_gap_bcb4we_exists_table_row_bound + S (bcf_row_index_bcb4we_exists_table) = S (n + n)) -> exists bcf_row_code_bcb4we_exists_table bcf_row_scale_bcb4we_exists_table. ((((exists bcf_height_bcb4we_exists_table_decoded_row_code. bcf_height_bcb4we_exists_table_decoded_row_code + S (bcf_row_code_bcb4we_exists_table) = S ((S (bcf_row_index_bcb4we_exists_table)) * bcf_row_code_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_table_decoded_row_code. bcf_row_code_code_bcb4we_exists = bcf_quotient_bcb4we_exists_table_decoded_row_code * S ((S (bcf_row_index_bcb4we_exists_table)) * bcf_row_code_scale_bcb4we_exists) + (bcf_row_code_bcb4we_exists_table))) /\ ((((exists bcf_height_bcb4we_exists_table_decoded_row_scale. bcf_height_bcb4we_exists_table_decoded_row_scale + S (bcf_row_scale_bcb4we_exists_table) = S ((S (bcf_row_index_bcb4we_exists_table)) * bcf_row_scale_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_table_decoded_row_scale. bcf_row_scale_code_bcb4we_exists = bcf_quotient_bcb4we_exists_table_decoded_row_scale * S ((S (bcf_row_index_bcb4we_exists_table)) * bcf_row_scale_scale_bcb4we_exists) + (bcf_row_scale_bcb4we_exists_table))) /\ ((bcf_row_index_bcb4we_exists_table = 0 /\ (forall bcf_index_bcb4we_exists_table_zero_row. (exists bcf_lt_gap_bcb4we_exists_table_zero_row_bound. bcf_lt_gap_bcb4we_exists_table_zero_row_bound + S (bcf_index_bcb4we_exists_table_zero_row) = S (n + n)) -> exists bcf_value_bcb4we_exists_table_zero_row. ((((exists bcf_height_bcb4we_exists_table_zero_row_entry. bcf_height_bcb4we_exists_table_zero_row_entry + S (bcf_value_bcb4we_exists_table_zero_row) = S ((S (bcf_index_bcb4we_exists_table_zero_row)) * bcf_row_scale_bcb4we_exists_table)) /\ exists bcf_quotient_bcb4we_exists_table_zero_row_entry. bcf_row_code_bcb4we_exists_table = bcf_quotient_bcb4we_exists_table_zero_row_entry * S ((S (bcf_index_bcb4we_exists_table_zero_row)) * bcf_row_scale_bcb4we_exists_table) + (bcf_value_bcb4we_exists_table_zero_row))) /\ ((bcf_index_bcb4we_exists_table_zero_row = 0 /\ bcf_value_bcb4we_exists_table_zero_row = 1) \/ exists bcf_predecessor_bcb4we_exists_table_zero_row. bcf_index_bcb4we_exists_table_zero_row = S bcf_predecessor_bcb4we_exists_table_zero_row /\ bcf_value_bcb4we_exists_table_zero_row = 0)))) \/ exists bcf_predecessor_bcb4we_exists_table bcf_previous_code_bcb4we_exists_table bcf_previous_scale_bcb4we_exists_table. bcf_row_index_bcb4we_exists_table = S bcf_predecessor_bcb4we_exists_table /\ ((((exists bcf_height_bcb4we_exists_table_decoded_previous_code. bcf_height_bcb4we_exists_table_decoded_previous_code + S (bcf_previous_code_bcb4we_exists_table) = S ((S (bcf_predecessor_bcb4we_exists_table)) * bcf_row_code_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_table_decoded_previous_code. bcf_row_code_code_bcb4we_exists = bcf_quotient_bcb4we_exists_table_decoded_previous_code * S ((S (bcf_predecessor_bcb4we_exists_table)) * bcf_row_code_scale_bcb4we_exists) + (bcf_previous_code_bcb4we_exists_table))) /\ ((((exists bcf_height_bcb4we_exists_table_decoded_previous_scale. bcf_height_bcb4we_exists_table_decoded_previous_scale + S (bcf_previous_scale_bcb4we_exists_table) = S ((S (bcf_predecessor_bcb4we_exists_table)) * bcf_row_scale_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_table_decoded_previous_scale. bcf_row_scale_code_bcb4we_exists = bcf_quotient_bcb4we_exists_table_decoded_previous_scale * S ((S (bcf_predecessor_bcb4we_exists_table)) * bcf_row_scale_scale_bcb4we_exists) + (bcf_previous_scale_bcb4we_exists_table))) /\ (forall bcf_index_bcb4we_exists_table_row_step. (exists bcf_lt_gap_bcb4we_exists_table_row_step_bound. bcf_lt_gap_bcb4we_exists_table_row_step_bound + S (bcf_index_bcb4we_exists_table_row_step) = S (n + n)) -> exists bcf_value_bcb4we_exists_table_row_step. ((((exists bcf_height_bcb4we_exists_table_row_step_entry. bcf_height_bcb4we_exists_table_row_step_entry + S (bcf_value_bcb4we_exists_table_row_step) = S ((S (bcf_index_bcb4we_exists_table_row_step)) * bcf_row_scale_bcb4we_exists_table)) /\ exists bcf_quotient_bcb4we_exists_table_row_step_entry. bcf_row_code_bcb4we_exists_table = bcf_quotient_bcb4we_exists_table_row_step_entry * S ((S (bcf_index_bcb4we_exists_table_row_step)) * bcf_row_scale_bcb4we_exists_table) + (bcf_value_bcb4we_exists_table_row_step))) /\ ((bcf_index_bcb4we_exists_table_row_step = 0 /\ bcf_value_bcb4we_exists_table_row_step = 1) \/ exists bcf_predecessor_bcb4we_exists_table_row_step bcf_left_bcb4we_exists_table_row_step bcf_right_bcb4we_exists_table_row_step. bcf_index_bcb4we_exists_table_row_step = S bcf_predecessor_bcb4we_exists_table_row_step /\ ((((exists bcf_height_bcb4we_exists_table_row_step_previous_left. bcf_height_bcb4we_exists_table_row_step_previous_left + S (bcf_left_bcb4we_exists_table_row_step) = S ((S (bcf_predecessor_bcb4we_exists_table_row_step)) * bcf_previous_scale_bcb4we_exists_table)) /\ exists bcf_quotient_bcb4we_exists_table_row_step_previous_left. bcf_previous_code_bcb4we_exists_table = bcf_quotient_bcb4we_exists_table_row_step_previous_left * S ((S (bcf_predecessor_bcb4we_exists_table_row_step)) * bcf_previous_scale_bcb4we_exists_table) + (bcf_left_bcb4we_exists_table_row_step))) /\ ((((exists bcf_height_bcb4we_exists_table_row_step_previous_right. bcf_height_bcb4we_exists_table_row_step_previous_right + S (bcf_right_bcb4we_exists_table_row_step) = S ((S (S (bcf_predecessor_bcb4we_exists_table_row_step))) * bcf_previous_scale_bcb4we_exists_table)) /\ exists bcf_quotient_bcb4we_exists_table_row_step_previous_right. bcf_previous_code_bcb4we_exists_table = bcf_quotient_bcb4we_exists_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcb4we_exists_table_row_step))) * bcf_previous_scale_bcb4we_exists_table) + (bcf_right_bcb4we_exists_table_row_step))) /\ bcf_value_bcb4we_exists_table_row_step = bcf_left_bcb4we_exists_table_row_step + bcf_right_bcb4we_exists_table_row_step))))))))))) /\ ((((exists bcf_height_bcb4we_exists_decoded_row_code. bcf_height_bcb4we_exists_decoded_row_code + S (bcf_row_code_bcb4we_exists) = S ((S (n + n)) * bcf_row_code_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_decoded_row_code. bcf_row_code_code_bcb4we_exists = bcf_quotient_bcb4we_exists_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bcb4we_exists) + (bcf_row_code_bcb4we_exists))) /\ ((((exists bcf_height_bcb4we_exists_decoded_row_scale. bcf_height_bcb4we_exists_decoded_row_scale + S (bcf_row_scale_bcb4we_exists) = S ((S (n + n)) * bcf_row_scale_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_decoded_row_scale. bcf_row_scale_code_bcb4we_exists = bcf_quotient_bcb4we_exists_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bcb4we_exists) + (bcf_row_scale_bcb4we_exists))) /\ (((exists bcf_height_bcb4we_exists_decoded_value. bcf_height_bcb4we_exists_decoded_value + S (z) = S ((S (n)) * bcf_row_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_decoded_value. bcf_row_code_bcb4we_exists = bcf_quotient_bcb4we_exists_decoded_value * S ((S (n)) * bcf_row_scale_bcb4we_exists) + (z)))))))))) /\ (forall p c. (exists pa_b_bfplcb4_power pa_c_bfplcb4_power. ((forall pa_i_bfplcb4_power_repeat. (exists pa_lt_bfplcb4_power_repeat_bound. pa_lt_bfplcb4_power_repeat_bound + S pa_i_bfplcb4_power_repeat = 4) -> (((exists pa_h_bfplcb4_power_repeat_decoded. pa_h_bfplcb4_power_repeat_decoded + S (4) = S ((S (pa_i_bfplcb4_power_repeat)) * pa_c_bfplcb4_power)) /\ exists pa_q_bfplcb4_power_repeat_decoded. pa_b_bfplcb4_power = pa_q_bfplcb4_power_repeat_decoded * S ((S (pa_i_bfplcb4_power_repeat)) * pa_c_bfplcb4_power) + (4)))) /\ (exists pa_u_bfplcb4_power_product pa_v_bfplcb4_power_product. ((((exists pa_h_bfplcb4_power_product_start. pa_h_bfplcb4_power_product_start + S (1) = S ((S (0)) * pa_v_bfplcb4_power_product)) /\ exists pa_q_bfplcb4_power_product_start. pa_u_bfplcb4_power_product = pa_q_bfplcb4_power_product_start * S ((S (0)) * pa_v_bfplcb4_power_product) + (1))) /\ ((((exists pa_h_bfplcb4_power_product_terminal. pa_h_bfplcb4_power_product_terminal + S (p) = S ((S (4)) * pa_v_bfplcb4_power_product)) /\ exists pa_q_bfplcb4_power_product_terminal. pa_u_bfplcb4_power_product = pa_q_bfplcb4_power_product_terminal * S ((S (4)) * pa_v_bfplcb4_power_product) + (p))) /\ forall pa_i_bfplcb4_power_product. (exists pa_lt_bfplcb4_power_product_bound. pa_lt_bfplcb4_power_product_bound + S pa_i_bfplcb4_power_product = 4) -> exists pa_p_bfplcb4_power_product pa_r_bfplcb4_power_product pa_s_bfplcb4_power_product. ((((exists pa_h_bfplcb4_power_product_factor. pa_h_bfplcb4_power_product_factor + S (pa_p_bfplcb4_power_product) = S ((S (pa_i_bfplcb4_power_product)) * pa_c_bfplcb4_power)) /\ exists pa_q_bfplcb4_power_product_factor. pa_b_bfplcb4_power = pa_q_bfplcb4_power_product_factor * S ((S (pa_i_bfplcb4_power_product)) * pa_c_bfplcb4_power) + (pa_p_bfplcb4_power_product))) /\ ((((exists pa_h_bfplcb4_power_product_partial. pa_h_bfplcb4_power_product_partial + S (pa_r_bfplcb4_power_product) = S ((S (pa_i_bfplcb4_power_product)) * pa_v_bfplcb4_power_product)) /\ exists pa_q_bfplcb4_power_product_partial. pa_u_bfplcb4_power_product = pa_q_bfplcb4_power_product_partial * S ((S (pa_i_bfplcb4_power_product)) * pa_v_bfplcb4_power_product) + (pa_r_bfplcb4_power_product))) /\ ((((exists pa_h_bfplcb4_power_product_successor. pa_h_bfplcb4_power_product_successor + S (pa_s_bfplcb4_power_product) = S ((S (S pa_i_bfplcb4_power_product)) * pa_v_bfplcb4_power_product)) /\ exists pa_q_bfplcb4_power_product_successor. pa_u_bfplcb4_power_product = pa_q_bfplcb4_power_product_successor * S ((S (S pa_i_bfplcb4_power_product)) * pa_v_bfplcb4_power_product) + (pa_s_bfplcb4_power_product))) /\ pa_s_bfplcb4_power_product = pa_r_bfplcb4_power_product * pa_p_bfplcb4_power_product)))))))) -> (((exists bcf_lt_gap_bfplcb4_central_out_of_range. bcf_lt_gap_bfplcb4_central_out_of_range + S (4 + 4) = 4) /\ c = 0) \/ ((exists bcf_le_gap_bfplcb4_central_in_range. bcf_le_gap_bfplcb4_central_in_range + (4) = 4 + 4) /\ (exists bcf_row_code_code_bfplcb4_central bcf_row_code_scale_bfplcb4_central bcf_row_scale_code_bfplcb4_central bcf_row_scale_scale_bfplcb4_central bcf_row_code_bfplcb4_central bcf_row_scale_bfplcb4_central. ((forall bcf_row_index_bfplcb4_central_table. (exists bcf_lt_gap_bfplcb4_central_table_row_bound. bcf_lt_gap_bfplcb4_central_table_row_bound + S (bcf_row_index_bfplcb4_central_table) = S (4 + 4)) -> exists bcf_row_code_bfplcb4_central_table bcf_row_scale_bfplcb4_central_table. ((((exists bcf_height_bfplcb4_central_table_decoded_row_code. bcf_height_bfplcb4_central_table_decoded_row_code + S (bcf_row_code_bfplcb4_central_table) = S ((S (bcf_row_index_bfplcb4_central_table)) * bcf_row_code_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_table_decoded_row_code. bcf_row_code_code_bfplcb4_central = bcf_quotient_bfplcb4_central_table_decoded_row_code * S ((S (bcf_row_index_bfplcb4_central_table)) * bcf_row_code_scale_bfplcb4_central) + (bcf_row_code_bfplcb4_central_table))) /\ ((((exists bcf_height_bfplcb4_central_table_decoded_row_scale. bcf_height_bfplcb4_central_table_decoded_row_scale + S (bcf_row_scale_bfplcb4_central_table) = S ((S (bcf_row_index_bfplcb4_central_table)) * bcf_row_scale_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_table_decoded_row_scale. bcf_row_scale_code_bfplcb4_central = bcf_quotient_bfplcb4_central_table_decoded_row_scale * S ((S (bcf_row_index_bfplcb4_central_table)) * bcf_row_scale_scale_bfplcb4_central) + (bcf_row_scale_bfplcb4_central_table))) /\ ((bcf_row_index_bfplcb4_central_table = 0 /\ (forall bcf_index_bfplcb4_central_table_zero_row. (exists bcf_lt_gap_bfplcb4_central_table_zero_row_bound. bcf_lt_gap_bfplcb4_central_table_zero_row_bound + S (bcf_index_bfplcb4_central_table_zero_row) = S (4 + 4)) -> exists bcf_value_bfplcb4_central_table_zero_row. ((((exists bcf_height_bfplcb4_central_table_zero_row_entry. bcf_height_bfplcb4_central_table_zero_row_entry + S (bcf_value_bfplcb4_central_table_zero_row) = S ((S (bcf_index_bfplcb4_central_table_zero_row)) * bcf_row_scale_bfplcb4_central_table)) /\ exists bcf_quotient_bfplcb4_central_table_zero_row_entry. bcf_row_code_bfplcb4_central_table = bcf_quotient_bfplcb4_central_table_zero_row_entry * S ((S (bcf_index_bfplcb4_central_table_zero_row)) * bcf_row_scale_bfplcb4_central_table) + (bcf_value_bfplcb4_central_table_zero_row))) /\ ((bcf_index_bfplcb4_central_table_zero_row = 0 /\ bcf_value_bfplcb4_central_table_zero_row = 1) \/ exists bcf_predecessor_bfplcb4_central_table_zero_row. bcf_index_bfplcb4_central_table_zero_row = S bcf_predecessor_bfplcb4_central_table_zero_row /\ bcf_value_bfplcb4_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bfplcb4_central_table bcf_previous_code_bfplcb4_central_table bcf_previous_scale_bfplcb4_central_table. bcf_row_index_bfplcb4_central_table = S bcf_predecessor_bfplcb4_central_table /\ ((((exists bcf_height_bfplcb4_central_table_decoded_previous_code. bcf_height_bfplcb4_central_table_decoded_previous_code + S (bcf_previous_code_bfplcb4_central_table) = S ((S (bcf_predecessor_bfplcb4_central_table)) * bcf_row_code_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_table_decoded_previous_code. bcf_row_code_code_bfplcb4_central = bcf_quotient_bfplcb4_central_table_decoded_previous_code * S ((S (bcf_predecessor_bfplcb4_central_table)) * bcf_row_code_scale_bfplcb4_central) + (bcf_previous_code_bfplcb4_central_table))) /\ ((((exists bcf_height_bfplcb4_central_table_decoded_previous_scale. bcf_height_bfplcb4_central_table_decoded_previous_scale + S (bcf_previous_scale_bfplcb4_central_table) = S ((S (bcf_predecessor_bfplcb4_central_table)) * bcf_row_scale_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_table_decoded_previous_scale. bcf_row_scale_code_bfplcb4_central = bcf_quotient_bfplcb4_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bfplcb4_central_table)) * bcf_row_scale_scale_bfplcb4_central) + (bcf_previous_scale_bfplcb4_central_table))) /\ (forall bcf_index_bfplcb4_central_table_row_step. (exists bcf_lt_gap_bfplcb4_central_table_row_step_bound. bcf_lt_gap_bfplcb4_central_table_row_step_bound + S (bcf_index_bfplcb4_central_table_row_step) = S (4 + 4)) -> exists bcf_value_bfplcb4_central_table_row_step. ((((exists bcf_height_bfplcb4_central_table_row_step_entry. bcf_height_bfplcb4_central_table_row_step_entry + S (bcf_value_bfplcb4_central_table_row_step) = S ((S (bcf_index_bfplcb4_central_table_row_step)) * bcf_row_scale_bfplcb4_central_table)) /\ exists bcf_quotient_bfplcb4_central_table_row_step_entry. bcf_row_code_bfplcb4_central_table = bcf_quotient_bfplcb4_central_table_row_step_entry * S ((S (bcf_index_bfplcb4_central_table_row_step)) * bcf_row_scale_bfplcb4_central_table) + (bcf_value_bfplcb4_central_table_row_step))) /\ ((bcf_index_bfplcb4_central_table_row_step = 0 /\ bcf_value_bfplcb4_central_table_row_step = 1) \/ exists bcf_predecessor_bfplcb4_central_table_row_step bcf_left_bfplcb4_central_table_row_step bcf_right_bfplcb4_central_table_row_step. bcf_index_bfplcb4_central_table_row_step = S bcf_predecessor_bfplcb4_central_table_row_step /\ ((((exists bcf_height_bfplcb4_central_table_row_step_previous_left. bcf_height_bfplcb4_central_table_row_step_previous_left + S (bcf_left_bfplcb4_central_table_row_step) = S ((S (bcf_predecessor_bfplcb4_central_table_row_step)) * bcf_previous_scale_bfplcb4_central_table)) /\ exists bcf_quotient_bfplcb4_central_table_row_step_previous_left. bcf_previous_code_bfplcb4_central_table = bcf_quotient_bfplcb4_central_table_row_step_previous_left * S ((S (bcf_predecessor_bfplcb4_central_table_row_step)) * bcf_previous_scale_bfplcb4_central_table) + (bcf_left_bfplcb4_central_table_row_step))) /\ ((((exists bcf_height_bfplcb4_central_table_row_step_previous_right. bcf_height_bfplcb4_central_table_row_step_previous_right + S (bcf_right_bfplcb4_central_table_row_step) = S ((S (S (bcf_predecessor_bfplcb4_central_table_row_step))) * bcf_previous_scale_bfplcb4_central_table)) /\ exists bcf_quotient_bfplcb4_central_table_row_step_previous_right. bcf_previous_code_bfplcb4_central_table = bcf_quotient_bfplcb4_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bfplcb4_central_table_row_step))) * bcf_previous_scale_bfplcb4_central_table) + (bcf_right_bfplcb4_central_table_row_step))) /\ bcf_value_bfplcb4_central_table_row_step = bcf_left_bfplcb4_central_table_row_step + bcf_right_bfplcb4_central_table_row_step))))))))))) /\ ((((exists bcf_height_bfplcb4_central_decoded_row_code. bcf_height_bfplcb4_central_decoded_row_code + S (bcf_row_code_bfplcb4_central) = S ((S (4 + 4)) * bcf_row_code_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_decoded_row_code. bcf_row_code_code_bfplcb4_central = bcf_quotient_bfplcb4_central_decoded_row_code * S ((S (4 + 4)) * bcf_row_code_scale_bfplcb4_central) + (bcf_row_code_bfplcb4_central))) /\ ((((exists bcf_height_bfplcb4_central_decoded_row_scale. bcf_height_bfplcb4_central_decoded_row_scale + S (bcf_row_scale_bfplcb4_central) = S ((S (4 + 4)) * bcf_row_scale_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_decoded_row_scale. bcf_row_scale_code_bfplcb4_central = bcf_quotient_bfplcb4_central_decoded_row_scale * S ((S (4 + 4)) * bcf_row_scale_scale_bfplcb4_central) + (bcf_row_scale_bfplcb4_central))) /\ (((exists bcf_height_bfplcb4_central_decoded_value. bcf_height_bfplcb4_central_decoded_value + S (c) = S ((S (4)) * bcf_row_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_decoded_value. bcf_row_code_bfplcb4_central = bcf_quotient_bfplcb4_central_decoded_value * S ((S (4)) * bcf_row_scale_bfplcb4_central) + (c))))))))) -> (exists bcf_lt_gap_bfplcb4_result. bcf_lt_gap_bfplcb4_result + S (p) = 4 * c))
  14. 0014apply four_pow_central_seed_package
  15. 0015exact central_binom_succ_recurrence
  16. 0016cases hpackage
  17. 0017induction n
  18. 0018intro p
  19. 0019intro c
  20. 0020intro hbound
  21. 0021intro hpower
  22. 0022intro hcentral
  23. 0023exfalso
  24. 0024specialize lt_not_le 0
  25. 0025specialize lt_not_le 4
  26. 0026apply lt_not_le
  27. 0027exact hzero_lt_four
  28. 0028exact hbound
  29. 0029induction n
  30. 0030intro p
  31. 0031intro c
  32. 0032intro hbound
  33. 0033intro hpower
  34. 0034intro hcentral
  35. 0035exfalso
  36. 0036specialize lt_not_le 1
  37. 0037specialize lt_not_le 4
  38. 0038apply lt_not_le
  39. 0039exact hone_lt_four
  40. 0040exact hbound
  41. 0041induction n
  42. 0042intro p
  43. 0043intro c
  44. 0044intro hbound
  45. 0045intro hpower
  46. 0046intro hcentral
  47. 0047exfalso
  48. 0048specialize lt_not_le 2
  49. 0049specialize lt_not_le 4
  50. 0050apply lt_not_le
  51. 0051exact htwo_lt_four
  52. 0052exact hbound
  53. 0053induction n
  54. 0054intro p
  55. 0055intro c
  56. 0056intro hbound
  57. 0057intro hpower
  58. 0058intro hcentral
  59. 0059exfalso
  60. 0060specialize lt_not_le 3
  61. 0061specialize lt_not_le 4
  62. 0062apply lt_not_le
  63. 0063exact hthree_lt_four
  64. 0064exact hbound
  65. 0065induction n
  66. 0066intro p
  67. 0067intro c
  68. 0068intro hbound
  69. 0069intro hpower
  70. 0070intro hcentral
  71. 0071apply hpackage_right
  72. 0072exact hpower
  73. 0073exact hcentral
  74. 0074intro p
  75. 0075intro c
  76. 0076intro hbound
  77. 0077intro hpower
  78. 0078intro hcentral
  79. 0079have hpower_step : exists r. (exists pa_b_bfplcb_predecessor_power pa_c_bfplcb_predecessor_power. ((forall pa_i_bfplcb_predecessor_power_repeat. (exists pa_lt_bfplcb_predecessor_power_repeat_bound. pa_lt_bfplcb_predecessor_power_repeat_bound + S pa_i_bfplcb_predecessor_power_repeat = S (S (S (S n)))) -> (((exists pa_h_bfplcb_predecessor_power_repeat_decoded. pa_h_bfplcb_predecessor_power_repeat_decoded + S (4) = S ((S (pa_i_bfplcb_predecessor_power_repeat)) * pa_c_bfplcb_predecessor_power)) /\ exists pa_q_bfplcb_predecessor_power_repeat_decoded. pa_b_bfplcb_predecessor_power = pa_q_bfplcb_predecessor_power_repeat_decoded * S ((S (pa_i_bfplcb_predecessor_power_repeat)) * pa_c_bfplcb_predecessor_power) + (4)))) /\ (exists pa_u_bfplcb_predecessor_power_product pa_v_bfplcb_predecessor_power_product. ((((exists pa_h_bfplcb_predecessor_power_product_start. pa_h_bfplcb_predecessor_power_product_start + S (1) = S ((S (0)) * pa_v_bfplcb_predecessor_power_product)) /\ exists pa_q_bfplcb_predecessor_power_product_start. pa_u_bfplcb_predecessor_power_product = pa_q_bfplcb_predecessor_power_product_start * S ((S (0)) * pa_v_bfplcb_predecessor_power_product) + (1))) /\ ((((exists pa_h_bfplcb_predecessor_power_product_terminal. pa_h_bfplcb_predecessor_power_product_terminal + S (r) = S ((S (S (S (S (S n))))) * pa_v_bfplcb_predecessor_power_product)) /\ exists pa_q_bfplcb_predecessor_power_product_terminal. pa_u_bfplcb_predecessor_power_product = pa_q_bfplcb_predecessor_power_product_terminal * S ((S (S (S (S (S n))))) * pa_v_bfplcb_predecessor_power_product) + (r))) /\ forall pa_i_bfplcb_predecessor_power_product. (exists pa_lt_bfplcb_predecessor_power_product_bound. pa_lt_bfplcb_predecessor_power_product_bound + S pa_i_bfplcb_predecessor_power_product = S (S (S (S n)))) -> exists pa_p_bfplcb_predecessor_power_product pa_r_bfplcb_predecessor_power_product pa_s_bfplcb_predecessor_power_product. ((((exists pa_h_bfplcb_predecessor_power_product_factor. pa_h_bfplcb_predecessor_power_product_factor + S (pa_p_bfplcb_predecessor_power_product) = S ((S (pa_i_bfplcb_predecessor_power_product)) * pa_c_bfplcb_predecessor_power)) /\ exists pa_q_bfplcb_predecessor_power_product_factor. pa_b_bfplcb_predecessor_power = pa_q_bfplcb_predecessor_power_product_factor * S ((S (pa_i_bfplcb_predecessor_power_product)) * pa_c_bfplcb_predecessor_power) + (pa_p_bfplcb_predecessor_power_product))) /\ ((((exists pa_h_bfplcb_predecessor_power_product_partial. pa_h_bfplcb_predecessor_power_product_partial + S (pa_r_bfplcb_predecessor_power_product) = S ((S (pa_i_bfplcb_predecessor_power_product)) * pa_v_bfplcb_predecessor_power_product)) /\ exists pa_q_bfplcb_predecessor_power_product_partial. pa_u_bfplcb_predecessor_power_product = pa_q_bfplcb_predecessor_power_product_partial * S ((S (pa_i_bfplcb_predecessor_power_product)) * pa_v_bfplcb_predecessor_power_product) + (pa_r_bfplcb_predecessor_power_product))) /\ ((((exists pa_h_bfplcb_predecessor_power_product_successor. pa_h_bfplcb_predecessor_power_product_successor + S (pa_s_bfplcb_predecessor_power_product) = S ((S (S pa_i_bfplcb_predecessor_power_product)) * pa_v_bfplcb_predecessor_power_product)) /\ exists pa_q_bfplcb_predecessor_power_product_successor. pa_u_bfplcb_predecessor_power_product = pa_q_bfplcb_predecessor_power_product_successor * S ((S (S pa_i_bfplcb_predecessor_power_product)) * pa_v_bfplcb_predecessor_power_product) + (pa_s_bfplcb_predecessor_power_product))) /\ pa_s_bfplcb_predecessor_power_product = pa_r_bfplcb_predecessor_power_product * pa_p_bfplcb_predecessor_power_product)))))))) /\ p = r * 4
  80. 0080apply pow_successor_decompose
  81. 0081refl
  82. 0082exact hpower
  83. 0083cases hpower_step
  84. 0084cases hpower_step_witness
  85. 0085have hpredecessor_exists : exists a. (((exists bcf_lt_gap_bfplcb_predecessor_central_out_of_range. bcf_lt_gap_bfplcb_predecessor_central_out_of_range + S (S S S S n + S S S S n) = S S S S n) /\ a = 0) \/ ((exists bcf_le_gap_bfplcb_predecessor_central_in_range. bcf_le_gap_bfplcb_predecessor_central_in_range + (S S S S n) = S S S S n + S S S S n) /\ (exists bcf_row_code_code_bfplcb_predecessor_central bcf_row_code_scale_bfplcb_predecessor_central bcf_row_scale_code_bfplcb_predecessor_central bcf_row_scale_scale_bfplcb_predecessor_central bcf_row_code_bfplcb_predecessor_central bcf_row_scale_bfplcb_predecessor_central. ((forall bcf_row_index_bfplcb_predecessor_central_table. (exists bcf_lt_gap_bfplcb_predecessor_central_table_row_bound. bcf_lt_gap_bfplcb_predecessor_central_table_row_bound + S (bcf_row_index_bfplcb_predecessor_central_table) = S (S S S S n + S S S S n)) -> exists bcf_row_code_bfplcb_predecessor_central_table bcf_row_scale_bfplcb_predecessor_central_table. ((((exists bcf_height_bfplcb_predecessor_central_table_decoded_row_code. bcf_height_bfplcb_predecessor_central_table_decoded_row_code + S (bcf_row_code_bfplcb_predecessor_central_table) = S ((S (bcf_row_index_bfplcb_predecessor_central_table)) * bcf_row_code_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_decoded_row_code. bcf_row_code_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_table_decoded_row_code * S ((S (bcf_row_index_bfplcb_predecessor_central_table)) * bcf_row_code_scale_bfplcb_predecessor_central) + (bcf_row_code_bfplcb_predecessor_central_table))) /\ ((((exists bcf_height_bfplcb_predecessor_central_table_decoded_row_scale. bcf_height_bfplcb_predecessor_central_table_decoded_row_scale + S (bcf_row_scale_bfplcb_predecessor_central_table) = S ((S (bcf_row_index_bfplcb_predecessor_central_table)) * bcf_row_scale_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_decoded_row_scale. bcf_row_scale_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_table_decoded_row_scale * S ((S (bcf_row_index_bfplcb_predecessor_central_table)) * bcf_row_scale_scale_bfplcb_predecessor_central) + (bcf_row_scale_bfplcb_predecessor_central_table))) /\ ((bcf_row_index_bfplcb_predecessor_central_table = 0 /\ (forall bcf_index_bfplcb_predecessor_central_table_zero_row. (exists bcf_lt_gap_bfplcb_predecessor_central_table_zero_row_bound. bcf_lt_gap_bfplcb_predecessor_central_table_zero_row_bound + S (bcf_index_bfplcb_predecessor_central_table_zero_row) = S (S S S S n + S S S S n)) -> exists bcf_value_bfplcb_predecessor_central_table_zero_row. ((((exists bcf_height_bfplcb_predecessor_central_table_zero_row_entry. bcf_height_bfplcb_predecessor_central_table_zero_row_entry + S (bcf_value_bfplcb_predecessor_central_table_zero_row) = S ((S (bcf_index_bfplcb_predecessor_central_table_zero_row)) * bcf_row_scale_bfplcb_predecessor_central_table)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_zero_row_entry. bcf_row_code_bfplcb_predecessor_central_table = bcf_quotient_bfplcb_predecessor_central_table_zero_row_entry * S ((S (bcf_index_bfplcb_predecessor_central_table_zero_row)) * bcf_row_scale_bfplcb_predecessor_central_table) + (bcf_value_bfplcb_predecessor_central_table_zero_row))) /\ ((bcf_index_bfplcb_predecessor_central_table_zero_row = 0 /\ bcf_value_bfplcb_predecessor_central_table_zero_row = 1) \/ exists bcf_predecessor_bfplcb_predecessor_central_table_zero_row. bcf_index_bfplcb_predecessor_central_table_zero_row = S bcf_predecessor_bfplcb_predecessor_central_table_zero_row /\ bcf_value_bfplcb_predecessor_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bfplcb_predecessor_central_table bcf_previous_code_bfplcb_predecessor_central_table bcf_previous_scale_bfplcb_predecessor_central_table. bcf_row_index_bfplcb_predecessor_central_table = S bcf_predecessor_bfplcb_predecessor_central_table /\ ((((exists bcf_height_bfplcb_predecessor_central_table_decoded_previous_code. bcf_height_bfplcb_predecessor_central_table_decoded_previous_code + S (bcf_previous_code_bfplcb_predecessor_central_table) = S ((S (bcf_predecessor_bfplcb_predecessor_central_table)) * bcf_row_code_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_decoded_previous_code. bcf_row_code_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_table_decoded_previous_code * S ((S (bcf_predecessor_bfplcb_predecessor_central_table)) * bcf_row_code_scale_bfplcb_predecessor_central) + (bcf_previous_code_bfplcb_predecessor_central_table))) /\ ((((exists bcf_height_bfplcb_predecessor_central_table_decoded_previous_scale. bcf_height_bfplcb_predecessor_central_table_decoded_previous_scale + S (bcf_previous_scale_bfplcb_predecessor_central_table) = S ((S (bcf_predecessor_bfplcb_predecessor_central_table)) * bcf_row_scale_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_decoded_previous_scale. bcf_row_scale_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bfplcb_predecessor_central_table)) * bcf_row_scale_scale_bfplcb_predecessor_central) + (bcf_previous_scale_bfplcb_predecessor_central_table))) /\ (forall bcf_index_bfplcb_predecessor_central_table_row_step. (exists bcf_lt_gap_bfplcb_predecessor_central_table_row_step_bound. bcf_lt_gap_bfplcb_predecessor_central_table_row_step_bound + S (bcf_index_bfplcb_predecessor_central_table_row_step) = S (S S S S n + S S S S n)) -> exists bcf_value_bfplcb_predecessor_central_table_row_step. ((((exists bcf_height_bfplcb_predecessor_central_table_row_step_entry. bcf_height_bfplcb_predecessor_central_table_row_step_entry + S (bcf_value_bfplcb_predecessor_central_table_row_step) = S ((S (bcf_index_bfplcb_predecessor_central_table_row_step)) * bcf_row_scale_bfplcb_predecessor_central_table)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_row_step_entry. bcf_row_code_bfplcb_predecessor_central_table = bcf_quotient_bfplcb_predecessor_central_table_row_step_entry * S ((S (bcf_index_bfplcb_predecessor_central_table_row_step)) * bcf_row_scale_bfplcb_predecessor_central_table) + (bcf_value_bfplcb_predecessor_central_table_row_step))) /\ ((bcf_index_bfplcb_predecessor_central_table_row_step = 0 /\ bcf_value_bfplcb_predecessor_central_table_row_step = 1) \/ exists bcf_predecessor_bfplcb_predecessor_central_table_row_step bcf_left_bfplcb_predecessor_central_table_row_step bcf_right_bfplcb_predecessor_central_table_row_step. bcf_index_bfplcb_predecessor_central_table_row_step = S bcf_predecessor_bfplcb_predecessor_central_table_row_step /\ ((((exists bcf_height_bfplcb_predecessor_central_table_row_step_previous_left. bcf_height_bfplcb_predecessor_central_table_row_step_previous_left + S (bcf_left_bfplcb_predecessor_central_table_row_step) = S ((S (bcf_predecessor_bfplcb_predecessor_central_table_row_step)) * bcf_previous_scale_bfplcb_predecessor_central_table)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_row_step_previous_left. bcf_previous_code_bfplcb_predecessor_central_table = bcf_quotient_bfplcb_predecessor_central_table_row_step_previous_left * S ((S (bcf_predecessor_bfplcb_predecessor_central_table_row_step)) * bcf_previous_scale_bfplcb_predecessor_central_table) + (bcf_left_bfplcb_predecessor_central_table_row_step))) /\ ((((exists bcf_height_bfplcb_predecessor_central_table_row_step_previous_right. bcf_height_bfplcb_predecessor_central_table_row_step_previous_right + S (bcf_right_bfplcb_predecessor_central_table_row_step) = S ((S (S (bcf_predecessor_bfplcb_predecessor_central_table_row_step))) * bcf_previous_scale_bfplcb_predecessor_central_table)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_row_step_previous_right. bcf_previous_code_bfplcb_predecessor_central_table = bcf_quotient_bfplcb_predecessor_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bfplcb_predecessor_central_table_row_step))) * bcf_previous_scale_bfplcb_predecessor_central_table) + (bcf_right_bfplcb_predecessor_central_table_row_step))) /\ bcf_value_bfplcb_predecessor_central_table_row_step = bcf_left_bfplcb_predecessor_central_table_row_step + bcf_right_bfplcb_predecessor_central_table_row_step))))))))))) /\ ((((exists bcf_height_bfplcb_predecessor_central_decoded_row_code. bcf_height_bfplcb_predecessor_central_decoded_row_code + S (bcf_row_code_bfplcb_predecessor_central) = S ((S (S S S S n + S S S S n)) * bcf_row_code_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_decoded_row_code. bcf_row_code_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_decoded_row_code * S ((S (S S S S n + S S S S n)) * bcf_row_code_scale_bfplcb_predecessor_central) + (bcf_row_code_bfplcb_predecessor_central))) /\ ((((exists bcf_height_bfplcb_predecessor_central_decoded_row_scale. bcf_height_bfplcb_predecessor_central_decoded_row_scale + S (bcf_row_scale_bfplcb_predecessor_central) = S ((S (S S S S n + S S S S n)) * bcf_row_scale_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_decoded_row_scale. bcf_row_scale_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_decoded_row_scale * S ((S (S S S S n + S S S S n)) * bcf_row_scale_scale_bfplcb_predecessor_central) + (bcf_row_scale_bfplcb_predecessor_central))) /\ (((exists bcf_height_bfplcb_predecessor_central_decoded_value. bcf_height_bfplcb_predecessor_central_decoded_value + S (a) = S ((S (S S S S n)) * bcf_row_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_decoded_value. bcf_row_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_decoded_value * S ((S (S S S S n)) * bcf_row_scale_bfplcb_predecessor_central) + (a)))))))))
  86. 0086apply hpackage_left
  87. 0087cases hpredecessor_exists
  88. 0088have hpredecessor_bound : exists bcf_le_gap_bfplcb_predecessor_bound. bcf_le_gap_bfplcb_predecessor_bound + (4) = S (S (S (S n)))
  89. 0089exists n
  90. 0090simp
  91. 0091have hstrict : exists bcf_lt_gap_bfplcb_predecessor_result. bcf_lt_gap_bfplcb_predecessor_result + S (x) = S (S (S (S n))) * x1
  92. 0092apply IH4
  93. 0093exact hpredecessor_bound
  94. 0094exact hpower_step_witness_left
  95. 0095exact hpredecessor_exists_witness
  96. 0096have hrecurrence : S (S (S (S (S n)))) * c = (2 * S (S (S (S (S n))) + S (S (S (S n))))) * x1
  97. 0097apply central_binom_succ_recurrence
  98. 0098exact hpredecessor_exists_witness
  99. 0099exact hcentral
  100. 0100have hstep : exists bcf_lt_gap_bfplcb_successor_result. bcf_lt_gap_bfplcb_successor_result + S (x * 4) = S (S (S (S (S n)))) * c
  101. 0101apply four_power_central_recurrence_step
  102. 0102exact hstrict
  103. 0103exact hrecurrence
  104. 0104rewrite hpower_step_witness_right
  105. 0105exact hstep