BT00VP

central_binom_odd_middle_le_four_pow

Alpha body-checked ยท checked-use disabled

The odd-row middle coefficient is at most four to the half-row.

Exact expanded PA statement

forall n m q. (((exists bcf_lt_gap_bcomlfp_middle_out_of_range. bcf_lt_gap_bcomlfp_middle_out_of_range + S (S (n + n)) = n) /\ m = 0) \/ ((exists bcf_le_gap_bcomlfp_middle_in_range. bcf_le_gap_bcomlfp_middle_in_range + (n) = S (n + n)) /\ (exists bcf_row_code_code_bcomlfp_middle bcf_row_code_scale_bcomlfp_middle bcf_row_scale_code_bcomlfp_middle bcf_row_scale_scale_bcomlfp_middle bcf_row_code_bcomlfp_middle bcf_row_scale_bcomlfp_middle. ((forall bcf_row_index_bcomlfp_middle_table. (exists bcf_lt_gap_bcomlfp_middle_table_row_bound. bcf_lt_gap_bcomlfp_middle_table_row_bound + S (bcf_row_index_bcomlfp_middle_table) = S (S (n + n))) -> exists bcf_row_code_bcomlfp_middle_table bcf_row_scale_bcomlfp_middle_table. ((((exists bcf_height_bcomlfp_middle_table_decoded_row_code. bcf_height_bcomlfp_middle_table_decoded_row_code + S (bcf_row_code_bcomlfp_middle_table) = S ((S (bcf_row_index_bcomlfp_middle_table)) * bcf_row_code_scale_bcomlfp_middle)) /\ exists bcf_quotient_bcomlfp_middle_table_decoded_row_code. bcf_row_code_code_bcomlfp_middle = bcf_quotient_bcomlfp_middle_table_decoded_row_code * S ((S (bcf_row_index_bcomlfp_middle_table)) * bcf_row_code_scale_bcomlfp_middle) + (bcf_row_code_bcomlfp_middle_table))) /\ ((((exists bcf_height_bcomlfp_middle_table_decoded_row_scale. bcf_height_bcomlfp_middle_table_decoded_row_scale + S (bcf_row_scale_bcomlfp_middle_table) = S ((S (bcf_row_index_bcomlfp_middle_table)) * bcf_row_scale_scale_bcomlfp_middle)) /\ exists bcf_quotient_bcomlfp_middle_table_decoded_row_scale. bcf_row_scale_code_bcomlfp_middle = bcf_quotient_bcomlfp_middle_table_decoded_row_scale * S ((S (bcf_row_index_bcomlfp_middle_table)) * bcf_row_scale_scale_bcomlfp_middle) + (bcf_row_scale_bcomlfp_middle_table))) /\ ((bcf_row_index_bcomlfp_middle_table = 0 /\ (forall bcf_index_bcomlfp_middle_table_zero_row. (exists bcf_lt_gap_bcomlfp_middle_table_zero_row_bound. bcf_lt_gap_bcomlfp_middle_table_zero_row_bound + S (bcf_index_bcomlfp_middle_table_zero_row) = S (S (n + n))) -> exists bcf_value_bcomlfp_middle_table_zero_row. ((((exists bcf_height_bcomlfp_middle_table_zero_row_entry. bcf_height_bcomlfp_middle_table_zero_row_entry + S (bcf_value_bcomlfp_middle_table_zero_row) = S ((S (bcf_index_bcomlfp_middle_table_zero_row)) * bcf_row_scale_bcomlfp_middle_table)) /\ exists bcf_quotient_bcomlfp_middle_table_zero_row_entry. bcf_row_code_bcomlfp_middle_table = bcf_quotient_bcomlfp_middle_table_zero_row_entry * S ((S (bcf_index_bcomlfp_middle_table_zero_row)) * bcf_row_scale_bcomlfp_middle_table) + (bcf_value_bcomlfp_middle_table_zero_row))) /\ ((bcf_index_bcomlfp_middle_table_zero_row = 0 /\ bcf_value_bcomlfp_middle_table_zero_row = 1) \/ exists bcf_predecessor_bcomlfp_middle_table_zero_row. bcf_index_bcomlfp_middle_table_zero_row = S bcf_predecessor_bcomlfp_middle_table_zero_row /\ bcf_value_bcomlfp_middle_table_zero_row = 0)))) \/ exists bcf_predecessor_bcomlfp_middle_table bcf_previous_code_bcomlfp_middle_table bcf_previous_scale_bcomlfp_middle_table. bcf_row_index_bcomlfp_middle_table = S bcf_predecessor_bcomlfp_middle_table /\ ((((exists bcf_height_bcomlfp_middle_table_decoded_previous_code. bcf_height_bcomlfp_middle_table_decoded_previous_code + S (bcf_previous_code_bcomlfp_middle_table) = S ((S (bcf_predecessor_bcomlfp_middle_table)) * bcf_row_code_scale_bcomlfp_middle)) /\ exists bcf_quotient_bcomlfp_middle_table_decoded_previous_code. bcf_row_code_code_bcomlfp_middle = bcf_quotient_bcomlfp_middle_table_decoded_previous_code * S ((S (bcf_predecessor_bcomlfp_middle_table)) * bcf_row_code_scale_bcomlfp_middle) + (bcf_previous_code_bcomlfp_middle_table))) /\ ((((exists bcf_height_bcomlfp_middle_table_decoded_previous_scale. bcf_height_bcomlfp_middle_table_decoded_previous_scale + S (bcf_previous_scale_bcomlfp_middle_table) = S ((S (bcf_predecessor_bcomlfp_middle_table)) * bcf_row_scale_scale_bcomlfp_middle)) /\ exists bcf_quotient_bcomlfp_middle_table_decoded_previous_scale. bcf_row_scale_code_bcomlfp_middle = bcf_quotient_bcomlfp_middle_table_decoded_previous_scale * S ((S (bcf_predecessor_bcomlfp_middle_table)) * bcf_row_scale_scale_bcomlfp_middle) + (bcf_previous_scale_bcomlfp_middle_table))) /\ (forall bcf_index_bcomlfp_middle_table_row_step. (exists bcf_lt_gap_bcomlfp_middle_table_row_step_bound. bcf_lt_gap_bcomlfp_middle_table_row_step_bound + S (bcf_index_bcomlfp_middle_table_row_step) = S (S (n + n))) -> exists bcf_value_bcomlfp_middle_table_row_step. ((((exists bcf_height_bcomlfp_middle_table_row_step_entry. bcf_height_bcomlfp_middle_table_row_step_entry + S (bcf_value_bcomlfp_middle_table_row_step) = S ((S (bcf_index_bcomlfp_middle_table_row_step)) * bcf_row_scale_bcomlfp_middle_table)) /\ exists bcf_quotient_bcomlfp_middle_table_row_step_entry. bcf_row_code_bcomlfp_middle_table = bcf_quotient_bcomlfp_middle_table_row_step_entry * S ((S (bcf_index_bcomlfp_middle_table_row_step)) * bcf_row_scale_bcomlfp_middle_table) + (bcf_value_bcomlfp_middle_table_row_step))) /\ ((bcf_index_bcomlfp_middle_table_row_step = 0 /\ bcf_value_bcomlfp_middle_table_row_step = 1) \/ exists bcf_predecessor_bcomlfp_middle_table_row_step bcf_left_bcomlfp_middle_table_row_step bcf_right_bcomlfp_middle_table_row_step. bcf_index_bcomlfp_middle_table_row_step = S bcf_predecessor_bcomlfp_middle_table_row_step /\ ((((exists bcf_height_bcomlfp_middle_table_row_step_previous_left. bcf_height_bcomlfp_middle_table_row_step_previous_left + S (bcf_left_bcomlfp_middle_table_row_step) = S ((S (bcf_predecessor_bcomlfp_middle_table_row_step)) * bcf_previous_scale_bcomlfp_middle_table)) /\ exists bcf_quotient_bcomlfp_middle_table_row_step_previous_left. bcf_previous_code_bcomlfp_middle_table = bcf_quotient_bcomlfp_middle_table_row_step_previous_left * S ((S (bcf_predecessor_bcomlfp_middle_table_row_step)) * bcf_previous_scale_bcomlfp_middle_table) + (bcf_left_bcomlfp_middle_table_row_step))) /\ ((((exists bcf_height_bcomlfp_middle_table_row_step_previous_right. bcf_height_bcomlfp_middle_table_row_step_previous_right + S (bcf_right_bcomlfp_middle_table_row_step) = S ((S (S (bcf_predecessor_bcomlfp_middle_table_row_step))) * bcf_previous_scale_bcomlfp_middle_table)) /\ exists bcf_quotient_bcomlfp_middle_table_row_step_previous_right. bcf_previous_code_bcomlfp_middle_table = bcf_quotient_bcomlfp_middle_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcomlfp_middle_table_row_step))) * bcf_previous_scale_bcomlfp_middle_table) + (bcf_right_bcomlfp_middle_table_row_step))) /\ bcf_value_bcomlfp_middle_table_row_step = bcf_left_bcomlfp_middle_table_row_step + bcf_right_bcomlfp_middle_table_row_step))))))))))) /\ ((((exists bcf_height_bcomlfp_middle_decoded_row_code. bcf_height_bcomlfp_middle_decoded_row_code + S (bcf_row_code_bcomlfp_middle) = S ((S (S (n + n))) * bcf_row_code_scale_bcomlfp_middle)) /\ exists bcf_quotient_bcomlfp_middle_decoded_row_code. bcf_row_code_code_bcomlfp_middle = bcf_quotient_bcomlfp_middle_decoded_row_code * S ((S (S (n + n))) * bcf_row_code_scale_bcomlfp_middle) + (bcf_row_code_bcomlfp_middle))) /\ ((((exists bcf_height_bcomlfp_middle_decoded_row_scale. bcf_height_bcomlfp_middle_decoded_row_scale + S (bcf_row_scale_bcomlfp_middle) = S ((S (S (n + n))) * bcf_row_scale_scale_bcomlfp_middle)) /\ exists bcf_quotient_bcomlfp_middle_decoded_row_scale. bcf_row_scale_code_bcomlfp_middle = bcf_quotient_bcomlfp_middle_decoded_row_scale * S ((S (S (n + n))) * bcf_row_scale_scale_bcomlfp_middle) + (bcf_row_scale_bcomlfp_middle))) /\ (((exists bcf_height_bcomlfp_middle_decoded_value. bcf_height_bcomlfp_middle_decoded_value + S (m) = S ((S (n)) * bcf_row_scale_bcomlfp_middle)) /\ exists bcf_quotient_bcomlfp_middle_decoded_value. bcf_row_code_bcomlfp_middle = bcf_quotient_bcomlfp_middle_decoded_value * S ((S (n)) * bcf_row_scale_bcomlfp_middle) + (m))))))))) -> (exists pa_b_bcomlfp_power pa_c_bcomlfp_power. ((forall pa_i_bcomlfp_power_repeat. (exists pa_lt_bcomlfp_power_repeat_bound. pa_lt_bcomlfp_power_repeat_bound + S pa_i_bcomlfp_power_repeat = n) -> (((exists pa_h_bcomlfp_power_repeat_decoded. pa_h_bcomlfp_power_repeat_decoded + S (4) = S ((S (pa_i_bcomlfp_power_repeat)) * pa_c_bcomlfp_power)) /\ exists pa_q_bcomlfp_power_repeat_decoded. pa_b_bcomlfp_power = pa_q_bcomlfp_power_repeat_decoded * S ((S (pa_i_bcomlfp_power_repeat)) * pa_c_bcomlfp_power) + (4)))) /\ (exists pa_u_bcomlfp_power_product pa_v_bcomlfp_power_product. ((((exists pa_h_bcomlfp_power_product_start. pa_h_bcomlfp_power_product_start + S (1) = S ((S (0)) * pa_v_bcomlfp_power_product)) /\ exists pa_q_bcomlfp_power_product_start. pa_u_bcomlfp_power_product = pa_q_bcomlfp_power_product_start * S ((S (0)) * pa_v_bcomlfp_power_product) + (1))) /\ ((((exists pa_h_bcomlfp_power_product_terminal. pa_h_bcomlfp_power_product_terminal + S (q) = S ((S (n)) * pa_v_bcomlfp_power_product)) /\ exists pa_q_bcomlfp_power_product_terminal. pa_u_bcomlfp_power_product = pa_q_bcomlfp_power_product_terminal * S ((S (n)) * pa_v_bcomlfp_power_product) + (q))) /\ forall pa_i_bcomlfp_power_product. (exists pa_lt_bcomlfp_power_product_bound. pa_lt_bcomlfp_power_product_bound + S pa_i_bcomlfp_power_product = n) -> exists pa_p_bcomlfp_power_product pa_r_bcomlfp_power_product pa_s_bcomlfp_power_product. ((((exists pa_h_bcomlfp_power_product_factor. pa_h_bcomlfp_power_product_factor + S (pa_p_bcomlfp_power_product) = S ((S (pa_i_bcomlfp_power_product)) * pa_c_bcomlfp_power)) /\ exists pa_q_bcomlfp_power_product_factor. pa_b_bcomlfp_power = pa_q_bcomlfp_power_product_factor * S ((S (pa_i_bcomlfp_power_product)) * pa_c_bcomlfp_power) + (pa_p_bcomlfp_power_product))) /\ ((((exists pa_h_bcomlfp_power_product_partial. pa_h_bcomlfp_power_product_partial + S (pa_r_bcomlfp_power_product) = S ((S (pa_i_bcomlfp_power_product)) * pa_v_bcomlfp_power_product)) /\ exists pa_q_bcomlfp_power_product_partial. pa_u_bcomlfp_power_product = pa_q_bcomlfp_power_product_partial * S ((S (pa_i_bcomlfp_power_product)) * pa_v_bcomlfp_power_product) + (pa_r_bcomlfp_power_product))) /\ ((((exists pa_h_bcomlfp_power_product_successor. pa_h_bcomlfp_power_product_successor + S (pa_s_bcomlfp_power_product) = S ((S (S pa_i_bcomlfp_power_product)) * pa_v_bcomlfp_power_product)) /\ exists pa_q_bcomlfp_power_product_successor. pa_u_bcomlfp_power_product = pa_q_bcomlfp_power_product_successor * S ((S (S pa_i_bcomlfp_power_product)) * pa_v_bcomlfp_power_product) + (pa_s_bcomlfp_power_product))) /\ pa_s_bcomlfp_power_product = pa_r_bcomlfp_power_product * pa_p_bcomlfp_power_product)))))))) -> (exists bcf_le_gap_bcomlfp_result. bcf_le_gap_bcomlfp_result + (m) = q)

Structural proof guide

The odd-row middle coefficient is at most four to the half-row.

Direct prerequisites: mul_add, mul_assoc, mul_comm, two_mul_eq_add_self, mul_le_cancel_left_nonzero, pow_successor_compose, central_binom_upper_support_package, central_binom_strong_upper_of_laws. The authored body proceeds by case analysis (3), intermediate claims (9), equality transport (4), closed numeral normalization (1).

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. 0001intro n
  2. 0002intro m
  3. 0003intro q
  4. 0004intro hmiddle
  5. 0005intro hpower
  6. 0006have hpackage : ((((forall n c d. (((exists bcf_lt_gap_bcbrdb_predecessor_out_of_range. bcf_lt_gap_bcbrdb_predecessor_out_of_range + S (n + n) = n) /\ c = 0) \/ ((exists bcf_le_gap_bcbrdb_predecessor_in_range. bcf_le_gap_bcbrdb_predecessor_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bcbrdb_predecessor bcf_row_code_scale_bcbrdb_predecessor bcf_row_scale_code_bcbrdb_predecessor bcf_row_scale_scale_bcbrdb_predecessor bcf_row_code_bcbrdb_predecessor bcf_row_scale_bcbrdb_predecessor. ((forall bcf_row_index_bcbrdb_predecessor_table. (exists bcf_lt_gap_bcbrdb_predecessor_table_row_bound. bcf_lt_gap_bcbrdb_predecessor_table_row_bound + S (bcf_row_index_bcbrdb_predecessor_table) = S (n + n)) -> exists bcf_row_code_bcbrdb_predecessor_table bcf_row_scale_bcbrdb_predecessor_table. ((((exists bcf_height_bcbrdb_predecessor_table_decoded_row_code. bcf_height_bcbrdb_predecessor_table_decoded_row_code + S (bcf_row_code_bcbrdb_predecessor_table) = S ((S (bcf_row_index_bcbrdb_predecessor_table)) * bcf_row_code_scale_bcbrdb_predecessor)) /\ exists bcf_quotient_bcbrdb_predecessor_table_decoded_row_code. bcf_row_code_code_bcbrdb_predecessor = bcf_quotient_bcbrdb_predecessor_table_decoded_row_code * S ((S (bcf_row_index_bcbrdb_predecessor_table)) * bcf_row_code_scale_bcbrdb_predecessor) + (bcf_row_code_bcbrdb_predecessor_table))) /\ ((((exists bcf_height_bcbrdb_predecessor_table_decoded_row_scale. bcf_height_bcbrdb_predecessor_table_decoded_row_scale + S (bcf_row_scale_bcbrdb_predecessor_table) = S ((S (bcf_row_index_bcbrdb_predecessor_table)) * bcf_row_scale_scale_bcbrdb_predecessor)) /\ exists bcf_quotient_bcbrdb_predecessor_table_decoded_row_scale. bcf_row_scale_code_bcbrdb_predecessor = bcf_quotient_bcbrdb_predecessor_table_decoded_row_scale * S ((S (bcf_row_index_bcbrdb_predecessor_table)) * bcf_row_scale_scale_bcbrdb_predecessor) + (bcf_row_scale_bcbrdb_predecessor_table))) /\ ((bcf_row_index_bcbrdb_predecessor_table = 0 /\ (forall bcf_index_bcbrdb_predecessor_table_zero_row. (exists bcf_lt_gap_bcbrdb_predecessor_table_zero_row_bound. bcf_lt_gap_bcbrdb_predecessor_table_zero_row_bound + S (bcf_index_bcbrdb_predecessor_table_zero_row) = S (n + n)) -> exists bcf_value_bcbrdb_predecessor_table_zero_row. ((((exists bcf_height_bcbrdb_predecessor_table_zero_row_entry. bcf_height_bcbrdb_predecessor_table_zero_row_entry + S (bcf_value_bcbrdb_predecessor_table_zero_row) = S ((S (bcf_index_bcbrdb_predecessor_table_zero_row)) * bcf_row_scale_bcbrdb_predecessor_table)) /\ exists bcf_quotient_bcbrdb_predecessor_table_zero_row_entry. bcf_row_code_bcbrdb_predecessor_table = bcf_quotient_bcbrdb_predecessor_table_zero_row_entry * S ((S (bcf_index_bcbrdb_predecessor_table_zero_row)) * bcf_row_scale_bcbrdb_predecessor_table) + (bcf_value_bcbrdb_predecessor_table_zero_row))) /\ ((bcf_index_bcbrdb_predecessor_table_zero_row = 0 /\ bcf_value_bcbrdb_predecessor_table_zero_row = 1) \/ exists bcf_predecessor_bcbrdb_predecessor_table_zero_row. bcf_index_bcbrdb_predecessor_table_zero_row = S bcf_predecessor_bcbrdb_predecessor_table_zero_row /\ bcf_value_bcbrdb_predecessor_table_zero_row = 0)))) \/ exists bcf_predecessor_bcbrdb_predecessor_table bcf_previous_code_bcbrdb_predecessor_table bcf_previous_scale_bcbrdb_predecessor_table. bcf_row_index_bcbrdb_predecessor_table = S bcf_predecessor_bcbrdb_predecessor_table /\ ((((exists bcf_height_bcbrdb_predecessor_table_decoded_previous_code. bcf_height_bcbrdb_predecessor_table_decoded_previous_code + S (bcf_previous_code_bcbrdb_predecessor_table) = S ((S (bcf_predecessor_bcbrdb_predecessor_table)) * bcf_row_code_scale_bcbrdb_predecessor)) /\ exists bcf_quotient_bcbrdb_predecessor_table_decoded_previous_code. bcf_row_code_code_bcbrdb_predecessor = bcf_quotient_bcbrdb_predecessor_table_decoded_previous_code * S ((S (bcf_predecessor_bcbrdb_predecessor_table)) * bcf_row_code_scale_bcbrdb_predecessor) + (bcf_previous_code_bcbrdb_predecessor_table))) /\ ((((exists bcf_height_bcbrdb_predecessor_table_decoded_previous_scale. bcf_height_bcbrdb_predecessor_table_decoded_previous_scale + S (bcf_previous_scale_bcbrdb_predecessor_table) = S ((S (bcf_predecessor_bcbrdb_predecessor_table)) * bcf_row_scale_scale_bcbrdb_predecessor)) /\ exists bcf_quotient_bcbrdb_predecessor_table_decoded_previous_scale. bcf_row_scale_code_bcbrdb_predecessor = bcf_quotient_bcbrdb_predecessor_table_decoded_previous_scale * S ((S (bcf_predecessor_bcbrdb_predecessor_table)) * bcf_row_scale_scale_bcbrdb_predecessor) + (bcf_previous_scale_bcbrdb_predecessor_table))) /\ (forall bcf_index_bcbrdb_predecessor_table_row_step. (exists bcf_lt_gap_bcbrdb_predecessor_table_row_step_bound. bcf_lt_gap_bcbrdb_predecessor_table_row_step_bound + S (bcf_index_bcbrdb_predecessor_table_row_step) = S (n + n)) -> exists bcf_value_bcbrdb_predecessor_table_row_step. ((((exists bcf_height_bcbrdb_predecessor_table_row_step_entry. bcf_height_bcbrdb_predecessor_table_row_step_entry + S (bcf_value_bcbrdb_predecessor_table_row_step) = S ((S (bcf_index_bcbrdb_predecessor_table_row_step)) * bcf_row_scale_bcbrdb_predecessor_table)) /\ exists bcf_quotient_bcbrdb_predecessor_table_row_step_entry. bcf_row_code_bcbrdb_predecessor_table = bcf_quotient_bcbrdb_predecessor_table_row_step_entry * S ((S (bcf_index_bcbrdb_predecessor_table_row_step)) * bcf_row_scale_bcbrdb_predecessor_table) + (bcf_value_bcbrdb_predecessor_table_row_step))) /\ ((bcf_index_bcbrdb_predecessor_table_row_step = 0 /\ bcf_value_bcbrdb_predecessor_table_row_step = 1) \/ exists bcf_predecessor_bcbrdb_predecessor_table_row_step bcf_left_bcbrdb_predecessor_table_row_step bcf_right_bcbrdb_predecessor_table_row_step. bcf_index_bcbrdb_predecessor_table_row_step = S bcf_predecessor_bcbrdb_predecessor_table_row_step /\ ((((exists bcf_height_bcbrdb_predecessor_table_row_step_previous_left. bcf_height_bcbrdb_predecessor_table_row_step_previous_left + S (bcf_left_bcbrdb_predecessor_table_row_step) = S ((S (bcf_predecessor_bcbrdb_predecessor_table_row_step)) * bcf_previous_scale_bcbrdb_predecessor_table)) /\ exists bcf_quotient_bcbrdb_predecessor_table_row_step_previous_left. bcf_previous_code_bcbrdb_predecessor_table = bcf_quotient_bcbrdb_predecessor_table_row_step_previous_left * S ((S (bcf_predecessor_bcbrdb_predecessor_table_row_step)) * bcf_previous_scale_bcbrdb_predecessor_table) + (bcf_left_bcbrdb_predecessor_table_row_step))) /\ ((((exists bcf_height_bcbrdb_predecessor_table_row_step_previous_right. bcf_height_bcbrdb_predecessor_table_row_step_previous_right + S (bcf_right_bcbrdb_predecessor_table_row_step) = S ((S (S (bcf_predecessor_bcbrdb_predecessor_table_row_step))) * bcf_previous_scale_bcbrdb_predecessor_table)) /\ exists bcf_quotient_bcbrdb_predecessor_table_row_step_previous_right. bcf_previous_code_bcbrdb_predecessor_table = bcf_quotient_bcbrdb_predecessor_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcbrdb_predecessor_table_row_step))) * bcf_previous_scale_bcbrdb_predecessor_table) + (bcf_right_bcbrdb_predecessor_table_row_step))) /\ bcf_value_bcbrdb_predecessor_table_row_step = bcf_left_bcbrdb_predecessor_table_row_step + bcf_right_bcbrdb_predecessor_table_row_step))))))))))) /\ ((((exists bcf_height_bcbrdb_predecessor_decoded_row_code. bcf_height_bcbrdb_predecessor_decoded_row_code + S (bcf_row_code_bcbrdb_predecessor) = S ((S (n + n)) * bcf_row_code_scale_bcbrdb_predecessor)) /\ exists bcf_quotient_bcbrdb_predecessor_decoded_row_code. bcf_row_code_code_bcbrdb_predecessor = bcf_quotient_bcbrdb_predecessor_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bcbrdb_predecessor) + (bcf_row_code_bcbrdb_predecessor))) /\ ((((exists bcf_height_bcbrdb_predecessor_decoded_row_scale. bcf_height_bcbrdb_predecessor_decoded_row_scale + S (bcf_row_scale_bcbrdb_predecessor) = S ((S (n + n)) * bcf_row_scale_scale_bcbrdb_predecessor)) /\ exists bcf_quotient_bcbrdb_predecessor_decoded_row_scale. bcf_row_scale_code_bcbrdb_predecessor = bcf_quotient_bcbrdb_predecessor_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bcbrdb_predecessor) + (bcf_row_scale_bcbrdb_predecessor))) /\ (((exists bcf_height_bcbrdb_predecessor_decoded_value. bcf_height_bcbrdb_predecessor_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bcbrdb_predecessor)) /\ exists bcf_quotient_bcbrdb_predecessor_decoded_value. bcf_row_code_bcbrdb_predecessor = bcf_quotient_bcbrdb_predecessor_decoded_value * S ((S (n)) * bcf_row_scale_bcbrdb_predecessor) + (c))))))))) -> (((exists bcf_lt_gap_bcbrdb_successor_out_of_range. bcf_lt_gap_bcbrdb_successor_out_of_range + S (S n + S n) = S n) /\ d = 0) \/ ((exists bcf_le_gap_bcbrdb_successor_in_range. bcf_le_gap_bcbrdb_successor_in_range + (S n) = S n + S n) /\ (exists bcf_row_code_code_bcbrdb_successor bcf_row_code_scale_bcbrdb_successor bcf_row_scale_code_bcbrdb_successor bcf_row_scale_scale_bcbrdb_successor bcf_row_code_bcbrdb_successor bcf_row_scale_bcbrdb_successor. ((forall bcf_row_index_bcbrdb_successor_table. (exists bcf_lt_gap_bcbrdb_successor_table_row_bound. bcf_lt_gap_bcbrdb_successor_table_row_bound + S (bcf_row_index_bcbrdb_successor_table) = S (S n + S n)) -> exists bcf_row_code_bcbrdb_successor_table bcf_row_scale_bcbrdb_successor_table. ((((exists bcf_height_bcbrdb_successor_table_decoded_row_code. bcf_height_bcbrdb_successor_table_decoded_row_code + S (bcf_row_code_bcbrdb_successor_table) = S ((S (bcf_row_index_bcbrdb_successor_table)) * bcf_row_code_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_table_decoded_row_code. bcf_row_code_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_table_decoded_row_code * S ((S (bcf_row_index_bcbrdb_successor_table)) * bcf_row_code_scale_bcbrdb_successor) + (bcf_row_code_bcbrdb_successor_table))) /\ ((((exists bcf_height_bcbrdb_successor_table_decoded_row_scale. bcf_height_bcbrdb_successor_table_decoded_row_scale + S (bcf_row_scale_bcbrdb_successor_table) = S ((S (bcf_row_index_bcbrdb_successor_table)) * bcf_row_scale_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_table_decoded_row_scale. bcf_row_scale_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_table_decoded_row_scale * S ((S (bcf_row_index_bcbrdb_successor_table)) * bcf_row_scale_scale_bcbrdb_successor) + (bcf_row_scale_bcbrdb_successor_table))) /\ ((bcf_row_index_bcbrdb_successor_table = 0 /\ (forall bcf_index_bcbrdb_successor_table_zero_row. (exists bcf_lt_gap_bcbrdb_successor_table_zero_row_bound. bcf_lt_gap_bcbrdb_successor_table_zero_row_bound + S (bcf_index_bcbrdb_successor_table_zero_row) = S (S n + S n)) -> exists bcf_value_bcbrdb_successor_table_zero_row. ((((exists bcf_height_bcbrdb_successor_table_zero_row_entry. bcf_height_bcbrdb_successor_table_zero_row_entry + S (bcf_value_bcbrdb_successor_table_zero_row) = S ((S (bcf_index_bcbrdb_successor_table_zero_row)) * bcf_row_scale_bcbrdb_successor_table)) /\ exists bcf_quotient_bcbrdb_successor_table_zero_row_entry. bcf_row_code_bcbrdb_successor_table = bcf_quotient_bcbrdb_successor_table_zero_row_entry * S ((S (bcf_index_bcbrdb_successor_table_zero_row)) * bcf_row_scale_bcbrdb_successor_table) + (bcf_value_bcbrdb_successor_table_zero_row))) /\ ((bcf_index_bcbrdb_successor_table_zero_row = 0 /\ bcf_value_bcbrdb_successor_table_zero_row = 1) \/ exists bcf_predecessor_bcbrdb_successor_table_zero_row. bcf_index_bcbrdb_successor_table_zero_row = S bcf_predecessor_bcbrdb_successor_table_zero_row /\ bcf_value_bcbrdb_successor_table_zero_row = 0)))) \/ exists bcf_predecessor_bcbrdb_successor_table bcf_previous_code_bcbrdb_successor_table bcf_previous_scale_bcbrdb_successor_table. bcf_row_index_bcbrdb_successor_table = S bcf_predecessor_bcbrdb_successor_table /\ ((((exists bcf_height_bcbrdb_successor_table_decoded_previous_code. bcf_height_bcbrdb_successor_table_decoded_previous_code + S (bcf_previous_code_bcbrdb_successor_table) = S ((S (bcf_predecessor_bcbrdb_successor_table)) * bcf_row_code_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_table_decoded_previous_code. bcf_row_code_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_table_decoded_previous_code * S ((S (bcf_predecessor_bcbrdb_successor_table)) * bcf_row_code_scale_bcbrdb_successor) + (bcf_previous_code_bcbrdb_successor_table))) /\ ((((exists bcf_height_bcbrdb_successor_table_decoded_previous_scale. bcf_height_bcbrdb_successor_table_decoded_previous_scale + S (bcf_previous_scale_bcbrdb_successor_table) = S ((S (bcf_predecessor_bcbrdb_successor_table)) * bcf_row_scale_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_table_decoded_previous_scale. bcf_row_scale_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_table_decoded_previous_scale * S ((S (bcf_predecessor_bcbrdb_successor_table)) * bcf_row_scale_scale_bcbrdb_successor) + (bcf_previous_scale_bcbrdb_successor_table))) /\ (forall bcf_index_bcbrdb_successor_table_row_step. (exists bcf_lt_gap_bcbrdb_successor_table_row_step_bound. bcf_lt_gap_bcbrdb_successor_table_row_step_bound + S (bcf_index_bcbrdb_successor_table_row_step) = S (S n + S n)) -> exists bcf_value_bcbrdb_successor_table_row_step. ((((exists bcf_height_bcbrdb_successor_table_row_step_entry. bcf_height_bcbrdb_successor_table_row_step_entry + S (bcf_value_bcbrdb_successor_table_row_step) = S ((S (bcf_index_bcbrdb_successor_table_row_step)) * bcf_row_scale_bcbrdb_successor_table)) /\ exists bcf_quotient_bcbrdb_successor_table_row_step_entry. bcf_row_code_bcbrdb_successor_table = bcf_quotient_bcbrdb_successor_table_row_step_entry * S ((S (bcf_index_bcbrdb_successor_table_row_step)) * bcf_row_scale_bcbrdb_successor_table) + (bcf_value_bcbrdb_successor_table_row_step))) /\ ((bcf_index_bcbrdb_successor_table_row_step = 0 /\ bcf_value_bcbrdb_successor_table_row_step = 1) \/ exists bcf_predecessor_bcbrdb_successor_table_row_step bcf_left_bcbrdb_successor_table_row_step bcf_right_bcbrdb_successor_table_row_step. bcf_index_bcbrdb_successor_table_row_step = S bcf_predecessor_bcbrdb_successor_table_row_step /\ ((((exists bcf_height_bcbrdb_successor_table_row_step_previous_left. bcf_height_bcbrdb_successor_table_row_step_previous_left + S (bcf_left_bcbrdb_successor_table_row_step) = S ((S (bcf_predecessor_bcbrdb_successor_table_row_step)) * bcf_previous_scale_bcbrdb_successor_table)) /\ exists bcf_quotient_bcbrdb_successor_table_row_step_previous_left. bcf_previous_code_bcbrdb_successor_table = bcf_quotient_bcbrdb_successor_table_row_step_previous_left * S ((S (bcf_predecessor_bcbrdb_successor_table_row_step)) * bcf_previous_scale_bcbrdb_successor_table) + (bcf_left_bcbrdb_successor_table_row_step))) /\ ((((exists bcf_height_bcbrdb_successor_table_row_step_previous_right. bcf_height_bcbrdb_successor_table_row_step_previous_right + S (bcf_right_bcbrdb_successor_table_row_step) = S ((S (S (bcf_predecessor_bcbrdb_successor_table_row_step))) * bcf_previous_scale_bcbrdb_successor_table)) /\ exists bcf_quotient_bcbrdb_successor_table_row_step_previous_right. bcf_previous_code_bcbrdb_successor_table = bcf_quotient_bcbrdb_successor_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcbrdb_successor_table_row_step))) * bcf_previous_scale_bcbrdb_successor_table) + (bcf_right_bcbrdb_successor_table_row_step))) /\ bcf_value_bcbrdb_successor_table_row_step = bcf_left_bcbrdb_successor_table_row_step + bcf_right_bcbrdb_successor_table_row_step))))))))))) /\ ((((exists bcf_height_bcbrdb_successor_decoded_row_code. bcf_height_bcbrdb_successor_decoded_row_code + S (bcf_row_code_bcbrdb_successor) = S ((S (S n + S n)) * bcf_row_code_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_decoded_row_code. bcf_row_code_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_decoded_row_code * S ((S (S n + S n)) * bcf_row_code_scale_bcbrdb_successor) + (bcf_row_code_bcbrdb_successor))) /\ ((((exists bcf_height_bcbrdb_successor_decoded_row_scale. bcf_height_bcbrdb_successor_decoded_row_scale + S (bcf_row_scale_bcbrdb_successor) = S ((S (S n + S n)) * bcf_row_scale_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_decoded_row_scale. bcf_row_scale_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_decoded_row_scale * S ((S (S n + S n)) * bcf_row_scale_scale_bcbrdb_successor) + (bcf_row_scale_bcbrdb_successor))) /\ (((exists bcf_height_bcbrdb_successor_decoded_value. bcf_height_bcbrdb_successor_decoded_value + S (d) = S ((S (S n)) * bcf_row_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_decoded_value. bcf_row_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_decoded_value * S ((S (S n)) * bcf_row_scale_bcbrdb_successor) + (d))))))))) -> S n * d = (2 * S (n + n)) * c) /\ (forall n d m. (((exists bcf_lt_gap_bcbrdb_successor_out_of_range. bcf_lt_gap_bcbrdb_successor_out_of_range + S (S n + S n) = S n) /\ d = 0) \/ ((exists bcf_le_gap_bcbrdb_successor_in_range. bcf_le_gap_bcbrdb_successor_in_range + (S n) = S n + S n) /\ (exists bcf_row_code_code_bcbrdb_successor bcf_row_code_scale_bcbrdb_successor bcf_row_scale_code_bcbrdb_successor bcf_row_scale_scale_bcbrdb_successor bcf_row_code_bcbrdb_successor bcf_row_scale_bcbrdb_successor. ((forall bcf_row_index_bcbrdb_successor_table. (exists bcf_lt_gap_bcbrdb_successor_table_row_bound. bcf_lt_gap_bcbrdb_successor_table_row_bound + S (bcf_row_index_bcbrdb_successor_table) = S (S n + S n)) -> exists bcf_row_code_bcbrdb_successor_table bcf_row_scale_bcbrdb_successor_table. ((((exists bcf_height_bcbrdb_successor_table_decoded_row_code. bcf_height_bcbrdb_successor_table_decoded_row_code + S (bcf_row_code_bcbrdb_successor_table) = S ((S (bcf_row_index_bcbrdb_successor_table)) * bcf_row_code_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_table_decoded_row_code. bcf_row_code_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_table_decoded_row_code * S ((S (bcf_row_index_bcbrdb_successor_table)) * bcf_row_code_scale_bcbrdb_successor) + (bcf_row_code_bcbrdb_successor_table))) /\ ((((exists bcf_height_bcbrdb_successor_table_decoded_row_scale. bcf_height_bcbrdb_successor_table_decoded_row_scale + S (bcf_row_scale_bcbrdb_successor_table) = S ((S (bcf_row_index_bcbrdb_successor_table)) * bcf_row_scale_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_table_decoded_row_scale. bcf_row_scale_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_table_decoded_row_scale * S ((S (bcf_row_index_bcbrdb_successor_table)) * bcf_row_scale_scale_bcbrdb_successor) + (bcf_row_scale_bcbrdb_successor_table))) /\ ((bcf_row_index_bcbrdb_successor_table = 0 /\ (forall bcf_index_bcbrdb_successor_table_zero_row. (exists bcf_lt_gap_bcbrdb_successor_table_zero_row_bound. bcf_lt_gap_bcbrdb_successor_table_zero_row_bound + S (bcf_index_bcbrdb_successor_table_zero_row) = S (S n + S n)) -> exists bcf_value_bcbrdb_successor_table_zero_row. ((((exists bcf_height_bcbrdb_successor_table_zero_row_entry. bcf_height_bcbrdb_successor_table_zero_row_entry + S (bcf_value_bcbrdb_successor_table_zero_row) = S ((S (bcf_index_bcbrdb_successor_table_zero_row)) * bcf_row_scale_bcbrdb_successor_table)) /\ exists bcf_quotient_bcbrdb_successor_table_zero_row_entry. bcf_row_code_bcbrdb_successor_table = bcf_quotient_bcbrdb_successor_table_zero_row_entry * S ((S (bcf_index_bcbrdb_successor_table_zero_row)) * bcf_row_scale_bcbrdb_successor_table) + (bcf_value_bcbrdb_successor_table_zero_row))) /\ ((bcf_index_bcbrdb_successor_table_zero_row = 0 /\ bcf_value_bcbrdb_successor_table_zero_row = 1) \/ exists bcf_predecessor_bcbrdb_successor_table_zero_row. bcf_index_bcbrdb_successor_table_zero_row = S bcf_predecessor_bcbrdb_successor_table_zero_row /\ bcf_value_bcbrdb_successor_table_zero_row = 0)))) \/ exists bcf_predecessor_bcbrdb_successor_table bcf_previous_code_bcbrdb_successor_table bcf_previous_scale_bcbrdb_successor_table. bcf_row_index_bcbrdb_successor_table = S bcf_predecessor_bcbrdb_successor_table /\ ((((exists bcf_height_bcbrdb_successor_table_decoded_previous_code. bcf_height_bcbrdb_successor_table_decoded_previous_code + S (bcf_previous_code_bcbrdb_successor_table) = S ((S (bcf_predecessor_bcbrdb_successor_table)) * bcf_row_code_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_table_decoded_previous_code. bcf_row_code_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_table_decoded_previous_code * S ((S (bcf_predecessor_bcbrdb_successor_table)) * bcf_row_code_scale_bcbrdb_successor) + (bcf_previous_code_bcbrdb_successor_table))) /\ ((((exists bcf_height_bcbrdb_successor_table_decoded_previous_scale. bcf_height_bcbrdb_successor_table_decoded_previous_scale + S (bcf_previous_scale_bcbrdb_successor_table) = S ((S (bcf_predecessor_bcbrdb_successor_table)) * bcf_row_scale_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_table_decoded_previous_scale. bcf_row_scale_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_table_decoded_previous_scale * S ((S (bcf_predecessor_bcbrdb_successor_table)) * bcf_row_scale_scale_bcbrdb_successor) + (bcf_previous_scale_bcbrdb_successor_table))) /\ (forall bcf_index_bcbrdb_successor_table_row_step. (exists bcf_lt_gap_bcbrdb_successor_table_row_step_bound. bcf_lt_gap_bcbrdb_successor_table_row_step_bound + S (bcf_index_bcbrdb_successor_table_row_step) = S (S n + S n)) -> exists bcf_value_bcbrdb_successor_table_row_step. ((((exists bcf_height_bcbrdb_successor_table_row_step_entry. bcf_height_bcbrdb_successor_table_row_step_entry + S (bcf_value_bcbrdb_successor_table_row_step) = S ((S (bcf_index_bcbrdb_successor_table_row_step)) * bcf_row_scale_bcbrdb_successor_table)) /\ exists bcf_quotient_bcbrdb_successor_table_row_step_entry. bcf_row_code_bcbrdb_successor_table = bcf_quotient_bcbrdb_successor_table_row_step_entry * S ((S (bcf_index_bcbrdb_successor_table_row_step)) * bcf_row_scale_bcbrdb_successor_table) + (bcf_value_bcbrdb_successor_table_row_step))) /\ ((bcf_index_bcbrdb_successor_table_row_step = 0 /\ bcf_value_bcbrdb_successor_table_row_step = 1) \/ exists bcf_predecessor_bcbrdb_successor_table_row_step bcf_left_bcbrdb_successor_table_row_step bcf_right_bcbrdb_successor_table_row_step. bcf_index_bcbrdb_successor_table_row_step = S bcf_predecessor_bcbrdb_successor_table_row_step /\ ((((exists bcf_height_bcbrdb_successor_table_row_step_previous_left. bcf_height_bcbrdb_successor_table_row_step_previous_left + S (bcf_left_bcbrdb_successor_table_row_step) = S ((S (bcf_predecessor_bcbrdb_successor_table_row_step)) * bcf_previous_scale_bcbrdb_successor_table)) /\ exists bcf_quotient_bcbrdb_successor_table_row_step_previous_left. bcf_previous_code_bcbrdb_successor_table = bcf_quotient_bcbrdb_successor_table_row_step_previous_left * S ((S (bcf_predecessor_bcbrdb_successor_table_row_step)) * bcf_previous_scale_bcbrdb_successor_table) + (bcf_left_bcbrdb_successor_table_row_step))) /\ ((((exists bcf_height_bcbrdb_successor_table_row_step_previous_right. bcf_height_bcbrdb_successor_table_row_step_previous_right + S (bcf_right_bcbrdb_successor_table_row_step) = S ((S (S (bcf_predecessor_bcbrdb_successor_table_row_step))) * bcf_previous_scale_bcbrdb_successor_table)) /\ exists bcf_quotient_bcbrdb_successor_table_row_step_previous_right. bcf_previous_code_bcbrdb_successor_table = bcf_quotient_bcbrdb_successor_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcbrdb_successor_table_row_step))) * bcf_previous_scale_bcbrdb_successor_table) + (bcf_right_bcbrdb_successor_table_row_step))) /\ bcf_value_bcbrdb_successor_table_row_step = bcf_left_bcbrdb_successor_table_row_step + bcf_right_bcbrdb_successor_table_row_step))))))))))) /\ ((((exists bcf_height_bcbrdb_successor_decoded_row_code. bcf_height_bcbrdb_successor_decoded_row_code + S (bcf_row_code_bcbrdb_successor) = S ((S (S n + S n)) * bcf_row_code_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_decoded_row_code. bcf_row_code_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_decoded_row_code * S ((S (S n + S n)) * bcf_row_code_scale_bcbrdb_successor) + (bcf_row_code_bcbrdb_successor))) /\ ((((exists bcf_height_bcbrdb_successor_decoded_row_scale. bcf_height_bcbrdb_successor_decoded_row_scale + S (bcf_row_scale_bcbrdb_successor) = S ((S (S n + S n)) * bcf_row_scale_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_decoded_row_scale. bcf_row_scale_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_decoded_row_scale * S ((S (S n + S n)) * bcf_row_scale_scale_bcbrdb_successor) + (bcf_row_scale_bcbrdb_successor))) /\ (((exists bcf_height_bcbrdb_successor_decoded_value. bcf_height_bcbrdb_successor_decoded_value + S (d) = S ((S (S n)) * bcf_row_scale_bcbrdb_successor)) /\ exists bcf_quotient_bcbrdb_successor_decoded_value. bcf_row_code_bcbrdb_successor = bcf_quotient_bcbrdb_successor_decoded_value * S ((S (S n)) * bcf_row_scale_bcbrdb_successor) + (d))))))))) -> (((exists bcf_lt_gap_bcbrdb_middle_out_of_range. bcf_lt_gap_bcbrdb_middle_out_of_range + S (S (n + n)) = n) /\ m = 0) \/ ((exists bcf_le_gap_bcbrdb_middle_in_range. bcf_le_gap_bcbrdb_middle_in_range + (n) = S (n + n)) /\ (exists bcf_row_code_code_bcbrdb_middle bcf_row_code_scale_bcbrdb_middle bcf_row_scale_code_bcbrdb_middle bcf_row_scale_scale_bcbrdb_middle bcf_row_code_bcbrdb_middle bcf_row_scale_bcbrdb_middle. ((forall bcf_row_index_bcbrdb_middle_table. (exists bcf_lt_gap_bcbrdb_middle_table_row_bound. bcf_lt_gap_bcbrdb_middle_table_row_bound + S (bcf_row_index_bcbrdb_middle_table) = S (S (n + n))) -> exists bcf_row_code_bcbrdb_middle_table bcf_row_scale_bcbrdb_middle_table. ((((exists bcf_height_bcbrdb_middle_table_decoded_row_code. bcf_height_bcbrdb_middle_table_decoded_row_code + S (bcf_row_code_bcbrdb_middle_table) = S ((S (bcf_row_index_bcbrdb_middle_table)) * bcf_row_code_scale_bcbrdb_middle)) /\ exists bcf_quotient_bcbrdb_middle_table_decoded_row_code. bcf_row_code_code_bcbrdb_middle = bcf_quotient_bcbrdb_middle_table_decoded_row_code * S ((S (bcf_row_index_bcbrdb_middle_table)) * bcf_row_code_scale_bcbrdb_middle) + (bcf_row_code_bcbrdb_middle_table))) /\ ((((exists bcf_height_bcbrdb_middle_table_decoded_row_scale. bcf_height_bcbrdb_middle_table_decoded_row_scale + S (bcf_row_scale_bcbrdb_middle_table) = S ((S (bcf_row_index_bcbrdb_middle_table)) * bcf_row_scale_scale_bcbrdb_middle)) /\ exists bcf_quotient_bcbrdb_middle_table_decoded_row_scale. bcf_row_scale_code_bcbrdb_middle = bcf_quotient_bcbrdb_middle_table_decoded_row_scale * S ((S (bcf_row_index_bcbrdb_middle_table)) * bcf_row_scale_scale_bcbrdb_middle) + (bcf_row_scale_bcbrdb_middle_table))) /\ ((bcf_row_index_bcbrdb_middle_table = 0 /\ (forall bcf_index_bcbrdb_middle_table_zero_row. (exists bcf_lt_gap_bcbrdb_middle_table_zero_row_bound. bcf_lt_gap_bcbrdb_middle_table_zero_row_bound + S (bcf_index_bcbrdb_middle_table_zero_row) = S (S (n + n))) -> exists bcf_value_bcbrdb_middle_table_zero_row. ((((exists bcf_height_bcbrdb_middle_table_zero_row_entry. bcf_height_bcbrdb_middle_table_zero_row_entry + S (bcf_value_bcbrdb_middle_table_zero_row) = S ((S (bcf_index_bcbrdb_middle_table_zero_row)) * bcf_row_scale_bcbrdb_middle_table)) /\ exists bcf_quotient_bcbrdb_middle_table_zero_row_entry. bcf_row_code_bcbrdb_middle_table = bcf_quotient_bcbrdb_middle_table_zero_row_entry * S ((S (bcf_index_bcbrdb_middle_table_zero_row)) * bcf_row_scale_bcbrdb_middle_table) + (bcf_value_bcbrdb_middle_table_zero_row))) /\ ((bcf_index_bcbrdb_middle_table_zero_row = 0 /\ bcf_value_bcbrdb_middle_table_zero_row = 1) \/ exists bcf_predecessor_bcbrdb_middle_table_zero_row. bcf_index_bcbrdb_middle_table_zero_row = S bcf_predecessor_bcbrdb_middle_table_zero_row /\ bcf_value_bcbrdb_middle_table_zero_row = 0)))) \/ exists bcf_predecessor_bcbrdb_middle_table bcf_previous_code_bcbrdb_middle_table bcf_previous_scale_bcbrdb_middle_table. bcf_row_index_bcbrdb_middle_table = S bcf_predecessor_bcbrdb_middle_table /\ ((((exists bcf_height_bcbrdb_middle_table_decoded_previous_code. bcf_height_bcbrdb_middle_table_decoded_previous_code + S (bcf_previous_code_bcbrdb_middle_table) = S ((S (bcf_predecessor_bcbrdb_middle_table)) * bcf_row_code_scale_bcbrdb_middle)) /\ exists bcf_quotient_bcbrdb_middle_table_decoded_previous_code. bcf_row_code_code_bcbrdb_middle = bcf_quotient_bcbrdb_middle_table_decoded_previous_code * S ((S (bcf_predecessor_bcbrdb_middle_table)) * bcf_row_code_scale_bcbrdb_middle) + (bcf_previous_code_bcbrdb_middle_table))) /\ ((((exists bcf_height_bcbrdb_middle_table_decoded_previous_scale. bcf_height_bcbrdb_middle_table_decoded_previous_scale + S (bcf_previous_scale_bcbrdb_middle_table) = S ((S (bcf_predecessor_bcbrdb_middle_table)) * bcf_row_scale_scale_bcbrdb_middle)) /\ exists bcf_quotient_bcbrdb_middle_table_decoded_previous_scale. bcf_row_scale_code_bcbrdb_middle = bcf_quotient_bcbrdb_middle_table_decoded_previous_scale * S ((S (bcf_predecessor_bcbrdb_middle_table)) * bcf_row_scale_scale_bcbrdb_middle) + (bcf_previous_scale_bcbrdb_middle_table))) /\ (forall bcf_index_bcbrdb_middle_table_row_step. (exists bcf_lt_gap_bcbrdb_middle_table_row_step_bound. bcf_lt_gap_bcbrdb_middle_table_row_step_bound + S (bcf_index_bcbrdb_middle_table_row_step) = S (S (n + n))) -> exists bcf_value_bcbrdb_middle_table_row_step. ((((exists bcf_height_bcbrdb_middle_table_row_step_entry. bcf_height_bcbrdb_middle_table_row_step_entry + S (bcf_value_bcbrdb_middle_table_row_step) = S ((S (bcf_index_bcbrdb_middle_table_row_step)) * bcf_row_scale_bcbrdb_middle_table)) /\ exists bcf_quotient_bcbrdb_middle_table_row_step_entry. bcf_row_code_bcbrdb_middle_table = bcf_quotient_bcbrdb_middle_table_row_step_entry * S ((S (bcf_index_bcbrdb_middle_table_row_step)) * bcf_row_scale_bcbrdb_middle_table) + (bcf_value_bcbrdb_middle_table_row_step))) /\ ((bcf_index_bcbrdb_middle_table_row_step = 0 /\ bcf_value_bcbrdb_middle_table_row_step = 1) \/ exists bcf_predecessor_bcbrdb_middle_table_row_step bcf_left_bcbrdb_middle_table_row_step bcf_right_bcbrdb_middle_table_row_step. bcf_index_bcbrdb_middle_table_row_step = S bcf_predecessor_bcbrdb_middle_table_row_step /\ ((((exists bcf_height_bcbrdb_middle_table_row_step_previous_left. bcf_height_bcbrdb_middle_table_row_step_previous_left + S (bcf_left_bcbrdb_middle_table_row_step) = S ((S (bcf_predecessor_bcbrdb_middle_table_row_step)) * bcf_previous_scale_bcbrdb_middle_table)) /\ exists bcf_quotient_bcbrdb_middle_table_row_step_previous_left. bcf_previous_code_bcbrdb_middle_table = bcf_quotient_bcbrdb_middle_table_row_step_previous_left * S ((S (bcf_predecessor_bcbrdb_middle_table_row_step)) * bcf_previous_scale_bcbrdb_middle_table) + (bcf_left_bcbrdb_middle_table_row_step))) /\ ((((exists bcf_height_bcbrdb_middle_table_row_step_previous_right. bcf_height_bcbrdb_middle_table_row_step_previous_right + S (bcf_right_bcbrdb_middle_table_row_step) = S ((S (S (bcf_predecessor_bcbrdb_middle_table_row_step))) * bcf_previous_scale_bcbrdb_middle_table)) /\ exists bcf_quotient_bcbrdb_middle_table_row_step_previous_right. bcf_previous_code_bcbrdb_middle_table = bcf_quotient_bcbrdb_middle_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcbrdb_middle_table_row_step))) * bcf_previous_scale_bcbrdb_middle_table) + (bcf_right_bcbrdb_middle_table_row_step))) /\ bcf_value_bcbrdb_middle_table_row_step = bcf_left_bcbrdb_middle_table_row_step + bcf_right_bcbrdb_middle_table_row_step))))))))))) /\ ((((exists bcf_height_bcbrdb_middle_decoded_row_code. bcf_height_bcbrdb_middle_decoded_row_code + S (bcf_row_code_bcbrdb_middle) = S ((S (S (n + n))) * bcf_row_code_scale_bcbrdb_middle)) /\ exists bcf_quotient_bcbrdb_middle_decoded_row_code. bcf_row_code_code_bcbrdb_middle = bcf_quotient_bcbrdb_middle_decoded_row_code * S ((S (S (n + n))) * bcf_row_code_scale_bcbrdb_middle) + (bcf_row_code_bcbrdb_middle))) /\ ((((exists bcf_height_bcbrdb_middle_decoded_row_scale. bcf_height_bcbrdb_middle_decoded_row_scale + S (bcf_row_scale_bcbrdb_middle) = S ((S (S (n + n))) * bcf_row_scale_scale_bcbrdb_middle)) /\ exists bcf_quotient_bcbrdb_middle_decoded_row_scale. bcf_row_scale_code_bcbrdb_middle = bcf_quotient_bcbrdb_middle_decoded_row_scale * S ((S (S (n + n))) * bcf_row_scale_scale_bcbrdb_middle) + (bcf_row_scale_bcbrdb_middle))) /\ (((exists bcf_height_bcbrdb_middle_decoded_value. bcf_height_bcbrdb_middle_decoded_value + S (m) = S ((S (n)) * bcf_row_scale_bcbrdb_middle)) /\ exists bcf_quotient_bcbrdb_middle_decoded_value. bcf_row_code_bcbrdb_middle = bcf_quotient_bcbrdb_middle_decoded_value * S ((S (n)) * bcf_row_scale_bcbrdb_middle) + (m))))))))) -> d = m + m))) /\ (forall n. exists z. (((exists bcf_lt_gap_bcbsuo_exists_out_of_range. bcf_lt_gap_bcbsuo_exists_out_of_range + S (n + n) = n) /\ z = 0) \/ ((exists bcf_le_gap_bcbsuo_exists_in_range. bcf_le_gap_bcbsuo_exists_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bcbsuo_exists bcf_row_code_scale_bcbsuo_exists bcf_row_scale_code_bcbsuo_exists bcf_row_scale_scale_bcbsuo_exists bcf_row_code_bcbsuo_exists bcf_row_scale_bcbsuo_exists. ((forall bcf_row_index_bcbsuo_exists_table. (exists bcf_lt_gap_bcbsuo_exists_table_row_bound. bcf_lt_gap_bcbsuo_exists_table_row_bound + S (bcf_row_index_bcbsuo_exists_table) = S (n + n)) -> exists bcf_row_code_bcbsuo_exists_table bcf_row_scale_bcbsuo_exists_table. ((((exists bcf_height_bcbsuo_exists_table_decoded_row_code. bcf_height_bcbsuo_exists_table_decoded_row_code + S (bcf_row_code_bcbsuo_exists_table) = S ((S (bcf_row_index_bcbsuo_exists_table)) * bcf_row_code_scale_bcbsuo_exists)) /\ exists bcf_quotient_bcbsuo_exists_table_decoded_row_code. bcf_row_code_code_bcbsuo_exists = bcf_quotient_bcbsuo_exists_table_decoded_row_code * S ((S (bcf_row_index_bcbsuo_exists_table)) * bcf_row_code_scale_bcbsuo_exists) + (bcf_row_code_bcbsuo_exists_table))) /\ ((((exists bcf_height_bcbsuo_exists_table_decoded_row_scale. bcf_height_bcbsuo_exists_table_decoded_row_scale + S (bcf_row_scale_bcbsuo_exists_table) = S ((S (bcf_row_index_bcbsuo_exists_table)) * bcf_row_scale_scale_bcbsuo_exists)) /\ exists bcf_quotient_bcbsuo_exists_table_decoded_row_scale. bcf_row_scale_code_bcbsuo_exists = bcf_quotient_bcbsuo_exists_table_decoded_row_scale * S ((S (bcf_row_index_bcbsuo_exists_table)) * bcf_row_scale_scale_bcbsuo_exists) + (bcf_row_scale_bcbsuo_exists_table))) /\ ((bcf_row_index_bcbsuo_exists_table = 0 /\ (forall bcf_index_bcbsuo_exists_table_zero_row. (exists bcf_lt_gap_bcbsuo_exists_table_zero_row_bound. bcf_lt_gap_bcbsuo_exists_table_zero_row_bound + S (bcf_index_bcbsuo_exists_table_zero_row) = S (n + n)) -> exists bcf_value_bcbsuo_exists_table_zero_row. ((((exists bcf_height_bcbsuo_exists_table_zero_row_entry. bcf_height_bcbsuo_exists_table_zero_row_entry + S (bcf_value_bcbsuo_exists_table_zero_row) = S ((S (bcf_index_bcbsuo_exists_table_zero_row)) * bcf_row_scale_bcbsuo_exists_table)) /\ exists bcf_quotient_bcbsuo_exists_table_zero_row_entry. bcf_row_code_bcbsuo_exists_table = bcf_quotient_bcbsuo_exists_table_zero_row_entry * S ((S (bcf_index_bcbsuo_exists_table_zero_row)) * bcf_row_scale_bcbsuo_exists_table) + (bcf_value_bcbsuo_exists_table_zero_row))) /\ ((bcf_index_bcbsuo_exists_table_zero_row = 0 /\ bcf_value_bcbsuo_exists_table_zero_row = 1) \/ exists bcf_predecessor_bcbsuo_exists_table_zero_row. bcf_index_bcbsuo_exists_table_zero_row = S bcf_predecessor_bcbsuo_exists_table_zero_row /\ bcf_value_bcbsuo_exists_table_zero_row = 0)))) \/ exists bcf_predecessor_bcbsuo_exists_table bcf_previous_code_bcbsuo_exists_table bcf_previous_scale_bcbsuo_exists_table. bcf_row_index_bcbsuo_exists_table = S bcf_predecessor_bcbsuo_exists_table /\ ((((exists bcf_height_bcbsuo_exists_table_decoded_previous_code. bcf_height_bcbsuo_exists_table_decoded_previous_code + S (bcf_previous_code_bcbsuo_exists_table) = S ((S (bcf_predecessor_bcbsuo_exists_table)) * bcf_row_code_scale_bcbsuo_exists)) /\ exists bcf_quotient_bcbsuo_exists_table_decoded_previous_code. bcf_row_code_code_bcbsuo_exists = bcf_quotient_bcbsuo_exists_table_decoded_previous_code * S ((S (bcf_predecessor_bcbsuo_exists_table)) * bcf_row_code_scale_bcbsuo_exists) + (bcf_previous_code_bcbsuo_exists_table))) /\ ((((exists bcf_height_bcbsuo_exists_table_decoded_previous_scale. bcf_height_bcbsuo_exists_table_decoded_previous_scale + S (bcf_previous_scale_bcbsuo_exists_table) = S ((S (bcf_predecessor_bcbsuo_exists_table)) * bcf_row_scale_scale_bcbsuo_exists)) /\ exists bcf_quotient_bcbsuo_exists_table_decoded_previous_scale. bcf_row_scale_code_bcbsuo_exists = bcf_quotient_bcbsuo_exists_table_decoded_previous_scale * S ((S (bcf_predecessor_bcbsuo_exists_table)) * bcf_row_scale_scale_bcbsuo_exists) + (bcf_previous_scale_bcbsuo_exists_table))) /\ (forall bcf_index_bcbsuo_exists_table_row_step. (exists bcf_lt_gap_bcbsuo_exists_table_row_step_bound. bcf_lt_gap_bcbsuo_exists_table_row_step_bound + S (bcf_index_bcbsuo_exists_table_row_step) = S (n + n)) -> exists bcf_value_bcbsuo_exists_table_row_step. ((((exists bcf_height_bcbsuo_exists_table_row_step_entry. bcf_height_bcbsuo_exists_table_row_step_entry + S (bcf_value_bcbsuo_exists_table_row_step) = S ((S (bcf_index_bcbsuo_exists_table_row_step)) * bcf_row_scale_bcbsuo_exists_table)) /\ exists bcf_quotient_bcbsuo_exists_table_row_step_entry. bcf_row_code_bcbsuo_exists_table = bcf_quotient_bcbsuo_exists_table_row_step_entry * S ((S (bcf_index_bcbsuo_exists_table_row_step)) * bcf_row_scale_bcbsuo_exists_table) + (bcf_value_bcbsuo_exists_table_row_step))) /\ ((bcf_index_bcbsuo_exists_table_row_step = 0 /\ bcf_value_bcbsuo_exists_table_row_step = 1) \/ exists bcf_predecessor_bcbsuo_exists_table_row_step bcf_left_bcbsuo_exists_table_row_step bcf_right_bcbsuo_exists_table_row_step. bcf_index_bcbsuo_exists_table_row_step = S bcf_predecessor_bcbsuo_exists_table_row_step /\ ((((exists bcf_height_bcbsuo_exists_table_row_step_previous_left. bcf_height_bcbsuo_exists_table_row_step_previous_left + S (bcf_left_bcbsuo_exists_table_row_step) = S ((S (bcf_predecessor_bcbsuo_exists_table_row_step)) * bcf_previous_scale_bcbsuo_exists_table)) /\ exists bcf_quotient_bcbsuo_exists_table_row_step_previous_left. bcf_previous_code_bcbsuo_exists_table = bcf_quotient_bcbsuo_exists_table_row_step_previous_left * S ((S (bcf_predecessor_bcbsuo_exists_table_row_step)) * bcf_previous_scale_bcbsuo_exists_table) + (bcf_left_bcbsuo_exists_table_row_step))) /\ ((((exists bcf_height_bcbsuo_exists_table_row_step_previous_right. bcf_height_bcbsuo_exists_table_row_step_previous_right + S (bcf_right_bcbsuo_exists_table_row_step) = S ((S (S (bcf_predecessor_bcbsuo_exists_table_row_step))) * bcf_previous_scale_bcbsuo_exists_table)) /\ exists bcf_quotient_bcbsuo_exists_table_row_step_previous_right. bcf_previous_code_bcbsuo_exists_table = bcf_quotient_bcbsuo_exists_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcbsuo_exists_table_row_step))) * bcf_previous_scale_bcbsuo_exists_table) + (bcf_right_bcbsuo_exists_table_row_step))) /\ bcf_value_bcbsuo_exists_table_row_step = bcf_left_bcbsuo_exists_table_row_step + bcf_right_bcbsuo_exists_table_row_step))))))))))) /\ ((((exists bcf_height_bcbsuo_exists_decoded_row_code. bcf_height_bcbsuo_exists_decoded_row_code + S (bcf_row_code_bcbsuo_exists) = S ((S (n + n)) * bcf_row_code_scale_bcbsuo_exists)) /\ exists bcf_quotient_bcbsuo_exists_decoded_row_code. bcf_row_code_code_bcbsuo_exists = bcf_quotient_bcbsuo_exists_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bcbsuo_exists) + (bcf_row_code_bcbsuo_exists))) /\ ((((exists bcf_height_bcbsuo_exists_decoded_row_scale. bcf_height_bcbsuo_exists_decoded_row_scale + S (bcf_row_scale_bcbsuo_exists) = S ((S (n + n)) * bcf_row_scale_scale_bcbsuo_exists)) /\ exists bcf_quotient_bcbsuo_exists_decoded_row_scale. bcf_row_scale_code_bcbsuo_exists = bcf_quotient_bcbsuo_exists_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bcbsuo_exists) + (bcf_row_scale_bcbsuo_exists))) /\ (((exists bcf_height_bcbsuo_exists_decoded_value. bcf_height_bcbsuo_exists_decoded_value + S (z) = S ((S (n)) * bcf_row_scale_bcbsuo_exists)) /\ exists bcf_quotient_bcbsuo_exists_decoded_value. bcf_row_code_bcbsuo_exists = bcf_quotient_bcbsuo_exists_decoded_value * S ((S (n)) * bcf_row_scale_bcbsuo_exists) + (z)))))))))))
  7. 0007exact central_binom_upper_support_package
  8. 0008cases hpackage
  9. 0009cases hpackage_left
  10. 0010have hcentral_exists : exists d. (((exists bcf_lt_gap_bcomlfp_central_out_of_range. bcf_lt_gap_bcomlfp_central_out_of_range + S (S n + S n) = S n) /\ d = 0) \/ ((exists bcf_le_gap_bcomlfp_central_in_range. bcf_le_gap_bcomlfp_central_in_range + (S n) = S n + S n) /\ (exists bcf_row_code_code_bcomlfp_central bcf_row_code_scale_bcomlfp_central bcf_row_scale_code_bcomlfp_central bcf_row_scale_scale_bcomlfp_central bcf_row_code_bcomlfp_central bcf_row_scale_bcomlfp_central. ((forall bcf_row_index_bcomlfp_central_table. (exists bcf_lt_gap_bcomlfp_central_table_row_bound. bcf_lt_gap_bcomlfp_central_table_row_bound + S (bcf_row_index_bcomlfp_central_table) = S (S n + S n)) -> exists bcf_row_code_bcomlfp_central_table bcf_row_scale_bcomlfp_central_table. ((((exists bcf_height_bcomlfp_central_table_decoded_row_code. bcf_height_bcomlfp_central_table_decoded_row_code + S (bcf_row_code_bcomlfp_central_table) = S ((S (bcf_row_index_bcomlfp_central_table)) * bcf_row_code_scale_bcomlfp_central)) /\ exists bcf_quotient_bcomlfp_central_table_decoded_row_code. bcf_row_code_code_bcomlfp_central = bcf_quotient_bcomlfp_central_table_decoded_row_code * S ((S (bcf_row_index_bcomlfp_central_table)) * bcf_row_code_scale_bcomlfp_central) + (bcf_row_code_bcomlfp_central_table))) /\ ((((exists bcf_height_bcomlfp_central_table_decoded_row_scale. bcf_height_bcomlfp_central_table_decoded_row_scale + S (bcf_row_scale_bcomlfp_central_table) = S ((S (bcf_row_index_bcomlfp_central_table)) * bcf_row_scale_scale_bcomlfp_central)) /\ exists bcf_quotient_bcomlfp_central_table_decoded_row_scale. bcf_row_scale_code_bcomlfp_central = bcf_quotient_bcomlfp_central_table_decoded_row_scale * S ((S (bcf_row_index_bcomlfp_central_table)) * bcf_row_scale_scale_bcomlfp_central) + (bcf_row_scale_bcomlfp_central_table))) /\ ((bcf_row_index_bcomlfp_central_table = 0 /\ (forall bcf_index_bcomlfp_central_table_zero_row. (exists bcf_lt_gap_bcomlfp_central_table_zero_row_bound. bcf_lt_gap_bcomlfp_central_table_zero_row_bound + S (bcf_index_bcomlfp_central_table_zero_row) = S (S n + S n)) -> exists bcf_value_bcomlfp_central_table_zero_row. ((((exists bcf_height_bcomlfp_central_table_zero_row_entry. bcf_height_bcomlfp_central_table_zero_row_entry + S (bcf_value_bcomlfp_central_table_zero_row) = S ((S (bcf_index_bcomlfp_central_table_zero_row)) * bcf_row_scale_bcomlfp_central_table)) /\ exists bcf_quotient_bcomlfp_central_table_zero_row_entry. bcf_row_code_bcomlfp_central_table = bcf_quotient_bcomlfp_central_table_zero_row_entry * S ((S (bcf_index_bcomlfp_central_table_zero_row)) * bcf_row_scale_bcomlfp_central_table) + (bcf_value_bcomlfp_central_table_zero_row))) /\ ((bcf_index_bcomlfp_central_table_zero_row = 0 /\ bcf_value_bcomlfp_central_table_zero_row = 1) \/ exists bcf_predecessor_bcomlfp_central_table_zero_row. bcf_index_bcomlfp_central_table_zero_row = S bcf_predecessor_bcomlfp_central_table_zero_row /\ bcf_value_bcomlfp_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bcomlfp_central_table bcf_previous_code_bcomlfp_central_table bcf_previous_scale_bcomlfp_central_table. bcf_row_index_bcomlfp_central_table = S bcf_predecessor_bcomlfp_central_table /\ ((((exists bcf_height_bcomlfp_central_table_decoded_previous_code. bcf_height_bcomlfp_central_table_decoded_previous_code + S (bcf_previous_code_bcomlfp_central_table) = S ((S (bcf_predecessor_bcomlfp_central_table)) * bcf_row_code_scale_bcomlfp_central)) /\ exists bcf_quotient_bcomlfp_central_table_decoded_previous_code. bcf_row_code_code_bcomlfp_central = bcf_quotient_bcomlfp_central_table_decoded_previous_code * S ((S (bcf_predecessor_bcomlfp_central_table)) * bcf_row_code_scale_bcomlfp_central) + (bcf_previous_code_bcomlfp_central_table))) /\ ((((exists bcf_height_bcomlfp_central_table_decoded_previous_scale. bcf_height_bcomlfp_central_table_decoded_previous_scale + S (bcf_previous_scale_bcomlfp_central_table) = S ((S (bcf_predecessor_bcomlfp_central_table)) * bcf_row_scale_scale_bcomlfp_central)) /\ exists bcf_quotient_bcomlfp_central_table_decoded_previous_scale. bcf_row_scale_code_bcomlfp_central = bcf_quotient_bcomlfp_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bcomlfp_central_table)) * bcf_row_scale_scale_bcomlfp_central) + (bcf_previous_scale_bcomlfp_central_table))) /\ (forall bcf_index_bcomlfp_central_table_row_step. (exists bcf_lt_gap_bcomlfp_central_table_row_step_bound. bcf_lt_gap_bcomlfp_central_table_row_step_bound + S (bcf_index_bcomlfp_central_table_row_step) = S (S n + S n)) -> exists bcf_value_bcomlfp_central_table_row_step. ((((exists bcf_height_bcomlfp_central_table_row_step_entry. bcf_height_bcomlfp_central_table_row_step_entry + S (bcf_value_bcomlfp_central_table_row_step) = S ((S (bcf_index_bcomlfp_central_table_row_step)) * bcf_row_scale_bcomlfp_central_table)) /\ exists bcf_quotient_bcomlfp_central_table_row_step_entry. bcf_row_code_bcomlfp_central_table = bcf_quotient_bcomlfp_central_table_row_step_entry * S ((S (bcf_index_bcomlfp_central_table_row_step)) * bcf_row_scale_bcomlfp_central_table) + (bcf_value_bcomlfp_central_table_row_step))) /\ ((bcf_index_bcomlfp_central_table_row_step = 0 /\ bcf_value_bcomlfp_central_table_row_step = 1) \/ exists bcf_predecessor_bcomlfp_central_table_row_step bcf_left_bcomlfp_central_table_row_step bcf_right_bcomlfp_central_table_row_step. bcf_index_bcomlfp_central_table_row_step = S bcf_predecessor_bcomlfp_central_table_row_step /\ ((((exists bcf_height_bcomlfp_central_table_row_step_previous_left. bcf_height_bcomlfp_central_table_row_step_previous_left + S (bcf_left_bcomlfp_central_table_row_step) = S ((S (bcf_predecessor_bcomlfp_central_table_row_step)) * bcf_previous_scale_bcomlfp_central_table)) /\ exists bcf_quotient_bcomlfp_central_table_row_step_previous_left. bcf_previous_code_bcomlfp_central_table = bcf_quotient_bcomlfp_central_table_row_step_previous_left * S ((S (bcf_predecessor_bcomlfp_central_table_row_step)) * bcf_previous_scale_bcomlfp_central_table) + (bcf_left_bcomlfp_central_table_row_step))) /\ ((((exists bcf_height_bcomlfp_central_table_row_step_previous_right. bcf_height_bcomlfp_central_table_row_step_previous_right + S (bcf_right_bcomlfp_central_table_row_step) = S ((S (S (bcf_predecessor_bcomlfp_central_table_row_step))) * bcf_previous_scale_bcomlfp_central_table)) /\ exists bcf_quotient_bcomlfp_central_table_row_step_previous_right. bcf_previous_code_bcomlfp_central_table = bcf_quotient_bcomlfp_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcomlfp_central_table_row_step))) * bcf_previous_scale_bcomlfp_central_table) + (bcf_right_bcomlfp_central_table_row_step))) /\ bcf_value_bcomlfp_central_table_row_step = bcf_left_bcomlfp_central_table_row_step + bcf_right_bcomlfp_central_table_row_step))))))))))) /\ ((((exists bcf_height_bcomlfp_central_decoded_row_code. bcf_height_bcomlfp_central_decoded_row_code + S (bcf_row_code_bcomlfp_central) = S ((S (S n + S n)) * bcf_row_code_scale_bcomlfp_central)) /\ exists bcf_quotient_bcomlfp_central_decoded_row_code. bcf_row_code_code_bcomlfp_central = bcf_quotient_bcomlfp_central_decoded_row_code * S ((S (S n + S n)) * bcf_row_code_scale_bcomlfp_central) + (bcf_row_code_bcomlfp_central))) /\ ((((exists bcf_height_bcomlfp_central_decoded_row_scale. bcf_height_bcomlfp_central_decoded_row_scale + S (bcf_row_scale_bcomlfp_central) = S ((S (S n + S n)) * bcf_row_scale_scale_bcomlfp_central)) /\ exists bcf_quotient_bcomlfp_central_decoded_row_scale. bcf_row_scale_code_bcomlfp_central = bcf_quotient_bcomlfp_central_decoded_row_scale * S ((S (S n + S n)) * bcf_row_scale_scale_bcomlfp_central) + (bcf_row_scale_bcomlfp_central))) /\ (((exists bcf_height_bcomlfp_central_decoded_value. bcf_height_bcomlfp_central_decoded_value + S (d) = S ((S (S n)) * bcf_row_scale_bcomlfp_central)) /\ exists bcf_quotient_bcomlfp_central_decoded_value. bcf_row_code_bcomlfp_central = bcf_quotient_bcomlfp_central_decoded_value * S ((S (S n)) * bcf_row_scale_bcomlfp_central) + (d)))))))))
  11. 0011apply hpackage_right
  12. 0012cases hcentral_exists
  13. 0013have hdouble : x = m + m
  14. 0014apply hpackage_left_right
  15. 0015exact hcentral_exists_witness
  16. 0016exact hmiddle
  17. 0017have hsuccessor_power : exists pa_b_bcomlfp_successor_power pa_c_bcomlfp_successor_power. ((forall pa_i_bcomlfp_successor_power_repeat. (exists pa_lt_bcomlfp_successor_power_repeat_bound. pa_lt_bcomlfp_successor_power_repeat_bound + S pa_i_bcomlfp_successor_power_repeat = S n) -> (((exists pa_h_bcomlfp_successor_power_repeat_decoded. pa_h_bcomlfp_successor_power_repeat_decoded + S (4) = S ((S (pa_i_bcomlfp_successor_power_repeat)) * pa_c_bcomlfp_successor_power)) /\ exists pa_q_bcomlfp_successor_power_repeat_decoded. pa_b_bcomlfp_successor_power = pa_q_bcomlfp_successor_power_repeat_decoded * S ((S (pa_i_bcomlfp_successor_power_repeat)) * pa_c_bcomlfp_successor_power) + (4)))) /\ (exists pa_u_bcomlfp_successor_power_product pa_v_bcomlfp_successor_power_product. ((((exists pa_h_bcomlfp_successor_power_product_start. pa_h_bcomlfp_successor_power_product_start + S (1) = S ((S (0)) * pa_v_bcomlfp_successor_power_product)) /\ exists pa_q_bcomlfp_successor_power_product_start. pa_u_bcomlfp_successor_power_product = pa_q_bcomlfp_successor_power_product_start * S ((S (0)) * pa_v_bcomlfp_successor_power_product) + (1))) /\ ((((exists pa_h_bcomlfp_successor_power_product_terminal. pa_h_bcomlfp_successor_power_product_terminal + S (q * 4) = S ((S (S n)) * pa_v_bcomlfp_successor_power_product)) /\ exists pa_q_bcomlfp_successor_power_product_terminal. pa_u_bcomlfp_successor_power_product = pa_q_bcomlfp_successor_power_product_terminal * S ((S (S n)) * pa_v_bcomlfp_successor_power_product) + (q * 4))) /\ forall pa_i_bcomlfp_successor_power_product. (exists pa_lt_bcomlfp_successor_power_product_bound. pa_lt_bcomlfp_successor_power_product_bound + S pa_i_bcomlfp_successor_power_product = S n) -> exists pa_p_bcomlfp_successor_power_product pa_r_bcomlfp_successor_power_product pa_s_bcomlfp_successor_power_product. ((((exists pa_h_bcomlfp_successor_power_product_factor. pa_h_bcomlfp_successor_power_product_factor + S (pa_p_bcomlfp_successor_power_product) = S ((S (pa_i_bcomlfp_successor_power_product)) * pa_c_bcomlfp_successor_power)) /\ exists pa_q_bcomlfp_successor_power_product_factor. pa_b_bcomlfp_successor_power = pa_q_bcomlfp_successor_power_product_factor * S ((S (pa_i_bcomlfp_successor_power_product)) * pa_c_bcomlfp_successor_power) + (pa_p_bcomlfp_successor_power_product))) /\ ((((exists pa_h_bcomlfp_successor_power_product_partial. pa_h_bcomlfp_successor_power_product_partial + S (pa_r_bcomlfp_successor_power_product) = S ((S (pa_i_bcomlfp_successor_power_product)) * pa_v_bcomlfp_successor_power_product)) /\ exists pa_q_bcomlfp_successor_power_product_partial. pa_u_bcomlfp_successor_power_product = pa_q_bcomlfp_successor_power_product_partial * S ((S (pa_i_bcomlfp_successor_power_product)) * pa_v_bcomlfp_successor_power_product) + (pa_r_bcomlfp_successor_power_product))) /\ ((((exists pa_h_bcomlfp_successor_power_product_successor. pa_h_bcomlfp_successor_power_product_successor + S (pa_s_bcomlfp_successor_power_product) = S ((S (S pa_i_bcomlfp_successor_power_product)) * pa_v_bcomlfp_successor_power_product)) /\ exists pa_q_bcomlfp_successor_power_product_successor. pa_u_bcomlfp_successor_power_product = pa_q_bcomlfp_successor_power_product_successor * S ((S (S pa_i_bcomlfp_successor_power_product)) * pa_v_bcomlfp_successor_power_product) + (pa_s_bcomlfp_successor_power_product))) /\ pa_s_bcomlfp_successor_power_product = pa_r_bcomlfp_successor_power_product * pa_p_bcomlfp_successor_power_product)))))))
  18. 0018specialize pow_successor_compose 4
  19. 0019specialize pow_successor_compose n
  20. 0020specialize pow_successor_compose q
  21. 0021specialize pow_successor_compose (q * 4)
  22. 0022apply pow_successor_compose
  23. 0023exact hpower
  24. 0024refl
  25. 0025have hstrong_all : forall n c q. (((exists bcf_lt_gap_bcbsuo_central_out_of_range. bcf_lt_gap_bcbsuo_central_out_of_range + S (S n + S n) = S n) /\ c = 0) \/ ((exists bcf_le_gap_bcbsuo_central_in_range. bcf_le_gap_bcbsuo_central_in_range + (S n) = S n + S n) /\ (exists bcf_row_code_code_bcbsuo_central bcf_row_code_scale_bcbsuo_central bcf_row_scale_code_bcbsuo_central bcf_row_scale_scale_bcbsuo_central bcf_row_code_bcbsuo_central bcf_row_scale_bcbsuo_central. ((forall bcf_row_index_bcbsuo_central_table. (exists bcf_lt_gap_bcbsuo_central_table_row_bound. bcf_lt_gap_bcbsuo_central_table_row_bound + S (bcf_row_index_bcbsuo_central_table) = S (S n + S n)) -> exists bcf_row_code_bcbsuo_central_table bcf_row_scale_bcbsuo_central_table. ((((exists bcf_height_bcbsuo_central_table_decoded_row_code. bcf_height_bcbsuo_central_table_decoded_row_code + S (bcf_row_code_bcbsuo_central_table) = S ((S (bcf_row_index_bcbsuo_central_table)) * bcf_row_code_scale_bcbsuo_central)) /\ exists bcf_quotient_bcbsuo_central_table_decoded_row_code. bcf_row_code_code_bcbsuo_central = bcf_quotient_bcbsuo_central_table_decoded_row_code * S ((S (bcf_row_index_bcbsuo_central_table)) * bcf_row_code_scale_bcbsuo_central) + (bcf_row_code_bcbsuo_central_table))) /\ ((((exists bcf_height_bcbsuo_central_table_decoded_row_scale. bcf_height_bcbsuo_central_table_decoded_row_scale + S (bcf_row_scale_bcbsuo_central_table) = S ((S (bcf_row_index_bcbsuo_central_table)) * bcf_row_scale_scale_bcbsuo_central)) /\ exists bcf_quotient_bcbsuo_central_table_decoded_row_scale. bcf_row_scale_code_bcbsuo_central = bcf_quotient_bcbsuo_central_table_decoded_row_scale * S ((S (bcf_row_index_bcbsuo_central_table)) * bcf_row_scale_scale_bcbsuo_central) + (bcf_row_scale_bcbsuo_central_table))) /\ ((bcf_row_index_bcbsuo_central_table = 0 /\ (forall bcf_index_bcbsuo_central_table_zero_row. (exists bcf_lt_gap_bcbsuo_central_table_zero_row_bound. bcf_lt_gap_bcbsuo_central_table_zero_row_bound + S (bcf_index_bcbsuo_central_table_zero_row) = S (S n + S n)) -> exists bcf_value_bcbsuo_central_table_zero_row. ((((exists bcf_height_bcbsuo_central_table_zero_row_entry. bcf_height_bcbsuo_central_table_zero_row_entry + S (bcf_value_bcbsuo_central_table_zero_row) = S ((S (bcf_index_bcbsuo_central_table_zero_row)) * bcf_row_scale_bcbsuo_central_table)) /\ exists bcf_quotient_bcbsuo_central_table_zero_row_entry. bcf_row_code_bcbsuo_central_table = bcf_quotient_bcbsuo_central_table_zero_row_entry * S ((S (bcf_index_bcbsuo_central_table_zero_row)) * bcf_row_scale_bcbsuo_central_table) + (bcf_value_bcbsuo_central_table_zero_row))) /\ ((bcf_index_bcbsuo_central_table_zero_row = 0 /\ bcf_value_bcbsuo_central_table_zero_row = 1) \/ exists bcf_predecessor_bcbsuo_central_table_zero_row. bcf_index_bcbsuo_central_table_zero_row = S bcf_predecessor_bcbsuo_central_table_zero_row /\ bcf_value_bcbsuo_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bcbsuo_central_table bcf_previous_code_bcbsuo_central_table bcf_previous_scale_bcbsuo_central_table. bcf_row_index_bcbsuo_central_table = S bcf_predecessor_bcbsuo_central_table /\ ((((exists bcf_height_bcbsuo_central_table_decoded_previous_code. bcf_height_bcbsuo_central_table_decoded_previous_code + S (bcf_previous_code_bcbsuo_central_table) = S ((S (bcf_predecessor_bcbsuo_central_table)) * bcf_row_code_scale_bcbsuo_central)) /\ exists bcf_quotient_bcbsuo_central_table_decoded_previous_code. bcf_row_code_code_bcbsuo_central = bcf_quotient_bcbsuo_central_table_decoded_previous_code * S ((S (bcf_predecessor_bcbsuo_central_table)) * bcf_row_code_scale_bcbsuo_central) + (bcf_previous_code_bcbsuo_central_table))) /\ ((((exists bcf_height_bcbsuo_central_table_decoded_previous_scale. bcf_height_bcbsuo_central_table_decoded_previous_scale + S (bcf_previous_scale_bcbsuo_central_table) = S ((S (bcf_predecessor_bcbsuo_central_table)) * bcf_row_scale_scale_bcbsuo_central)) /\ exists bcf_quotient_bcbsuo_central_table_decoded_previous_scale. bcf_row_scale_code_bcbsuo_central = bcf_quotient_bcbsuo_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bcbsuo_central_table)) * bcf_row_scale_scale_bcbsuo_central) + (bcf_previous_scale_bcbsuo_central_table))) /\ (forall bcf_index_bcbsuo_central_table_row_step. (exists bcf_lt_gap_bcbsuo_central_table_row_step_bound. bcf_lt_gap_bcbsuo_central_table_row_step_bound + S (bcf_index_bcbsuo_central_table_row_step) = S (S n + S n)) -> exists bcf_value_bcbsuo_central_table_row_step. ((((exists bcf_height_bcbsuo_central_table_row_step_entry. bcf_height_bcbsuo_central_table_row_step_entry + S (bcf_value_bcbsuo_central_table_row_step) = S ((S (bcf_index_bcbsuo_central_table_row_step)) * bcf_row_scale_bcbsuo_central_table)) /\ exists bcf_quotient_bcbsuo_central_table_row_step_entry. bcf_row_code_bcbsuo_central_table = bcf_quotient_bcbsuo_central_table_row_step_entry * S ((S (bcf_index_bcbsuo_central_table_row_step)) * bcf_row_scale_bcbsuo_central_table) + (bcf_value_bcbsuo_central_table_row_step))) /\ ((bcf_index_bcbsuo_central_table_row_step = 0 /\ bcf_value_bcbsuo_central_table_row_step = 1) \/ exists bcf_predecessor_bcbsuo_central_table_row_step bcf_left_bcbsuo_central_table_row_step bcf_right_bcbsuo_central_table_row_step. bcf_index_bcbsuo_central_table_row_step = S bcf_predecessor_bcbsuo_central_table_row_step /\ ((((exists bcf_height_bcbsuo_central_table_row_step_previous_left. bcf_height_bcbsuo_central_table_row_step_previous_left + S (bcf_left_bcbsuo_central_table_row_step) = S ((S (bcf_predecessor_bcbsuo_central_table_row_step)) * bcf_previous_scale_bcbsuo_central_table)) /\ exists bcf_quotient_bcbsuo_central_table_row_step_previous_left. bcf_previous_code_bcbsuo_central_table = bcf_quotient_bcbsuo_central_table_row_step_previous_left * S ((S (bcf_predecessor_bcbsuo_central_table_row_step)) * bcf_previous_scale_bcbsuo_central_table) + (bcf_left_bcbsuo_central_table_row_step))) /\ ((((exists bcf_height_bcbsuo_central_table_row_step_previous_right. bcf_height_bcbsuo_central_table_row_step_previous_right + S (bcf_right_bcbsuo_central_table_row_step) = S ((S (S (bcf_predecessor_bcbsuo_central_table_row_step))) * bcf_previous_scale_bcbsuo_central_table)) /\ exists bcf_quotient_bcbsuo_central_table_row_step_previous_right. bcf_previous_code_bcbsuo_central_table = bcf_quotient_bcbsuo_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcbsuo_central_table_row_step))) * bcf_previous_scale_bcbsuo_central_table) + (bcf_right_bcbsuo_central_table_row_step))) /\ bcf_value_bcbsuo_central_table_row_step = bcf_left_bcbsuo_central_table_row_step + bcf_right_bcbsuo_central_table_row_step))))))))))) /\ ((((exists bcf_height_bcbsuo_central_decoded_row_code. bcf_height_bcbsuo_central_decoded_row_code + S (bcf_row_code_bcbsuo_central) = S ((S (S n + S n)) * bcf_row_code_scale_bcbsuo_central)) /\ exists bcf_quotient_bcbsuo_central_decoded_row_code. bcf_row_code_code_bcbsuo_central = bcf_quotient_bcbsuo_central_decoded_row_code * S ((S (S n + S n)) * bcf_row_code_scale_bcbsuo_central) + (bcf_row_code_bcbsuo_central))) /\ ((((exists bcf_height_bcbsuo_central_decoded_row_scale. bcf_height_bcbsuo_central_decoded_row_scale + S (bcf_row_scale_bcbsuo_central) = S ((S (S n + S n)) * bcf_row_scale_scale_bcbsuo_central)) /\ exists bcf_quotient_bcbsuo_central_decoded_row_scale. bcf_row_scale_code_bcbsuo_central = bcf_quotient_bcbsuo_central_decoded_row_scale * S ((S (S n + S n)) * bcf_row_scale_scale_bcbsuo_central) + (bcf_row_scale_bcbsuo_central))) /\ (((exists bcf_height_bcbsuo_central_decoded_value. bcf_height_bcbsuo_central_decoded_value + S (c) = S ((S (S n)) * bcf_row_scale_bcbsuo_central)) /\ exists bcf_quotient_bcbsuo_central_decoded_value. bcf_row_code_bcbsuo_central = bcf_quotient_bcbsuo_central_decoded_value * S ((S (S n)) * bcf_row_scale_bcbsuo_central) + (c))))))))) -> (exists pa_b_bcbsuo_power pa_c_bcbsuo_power. ((forall pa_i_bcbsuo_power_repeat. (exists pa_lt_bcbsuo_power_repeat_bound. pa_lt_bcbsuo_power_repeat_bound + S pa_i_bcbsuo_power_repeat = S n) -> (((exists pa_h_bcbsuo_power_repeat_decoded. pa_h_bcbsuo_power_repeat_decoded + S (4) = S ((S (pa_i_bcbsuo_power_repeat)) * pa_c_bcbsuo_power)) /\ exists pa_q_bcbsuo_power_repeat_decoded. pa_b_bcbsuo_power = pa_q_bcbsuo_power_repeat_decoded * S ((S (pa_i_bcbsuo_power_repeat)) * pa_c_bcbsuo_power) + (4)))) /\ (exists pa_u_bcbsuo_power_product pa_v_bcbsuo_power_product. ((((exists pa_h_bcbsuo_power_product_start. pa_h_bcbsuo_power_product_start + S (1) = S ((S (0)) * pa_v_bcbsuo_power_product)) /\ exists pa_q_bcbsuo_power_product_start. pa_u_bcbsuo_power_product = pa_q_bcbsuo_power_product_start * S ((S (0)) * pa_v_bcbsuo_power_product) + (1))) /\ ((((exists pa_h_bcbsuo_power_product_terminal. pa_h_bcbsuo_power_product_terminal + S (q) = S ((S (S n)) * pa_v_bcbsuo_power_product)) /\ exists pa_q_bcbsuo_power_product_terminal. pa_u_bcbsuo_power_product = pa_q_bcbsuo_power_product_terminal * S ((S (S n)) * pa_v_bcbsuo_power_product) + (q))) /\ forall pa_i_bcbsuo_power_product. (exists pa_lt_bcbsuo_power_product_bound. pa_lt_bcbsuo_power_product_bound + S pa_i_bcbsuo_power_product = S n) -> exists pa_p_bcbsuo_power_product pa_r_bcbsuo_power_product pa_s_bcbsuo_power_product. ((((exists pa_h_bcbsuo_power_product_factor. pa_h_bcbsuo_power_product_factor + S (pa_p_bcbsuo_power_product) = S ((S (pa_i_bcbsuo_power_product)) * pa_c_bcbsuo_power)) /\ exists pa_q_bcbsuo_power_product_factor. pa_b_bcbsuo_power = pa_q_bcbsuo_power_product_factor * S ((S (pa_i_bcbsuo_power_product)) * pa_c_bcbsuo_power) + (pa_p_bcbsuo_power_product))) /\ ((((exists pa_h_bcbsuo_power_product_partial. pa_h_bcbsuo_power_product_partial + S (pa_r_bcbsuo_power_product) = S ((S (pa_i_bcbsuo_power_product)) * pa_v_bcbsuo_power_product)) /\ exists pa_q_bcbsuo_power_product_partial. pa_u_bcbsuo_power_product = pa_q_bcbsuo_power_product_partial * S ((S (pa_i_bcbsuo_power_product)) * pa_v_bcbsuo_power_product) + (pa_r_bcbsuo_power_product))) /\ ((((exists pa_h_bcbsuo_power_product_successor. pa_h_bcbsuo_power_product_successor + S (pa_s_bcbsuo_power_product) = S ((S (S pa_i_bcbsuo_power_product)) * pa_v_bcbsuo_power_product)) /\ exists pa_q_bcbsuo_power_product_successor. pa_u_bcbsuo_power_product = pa_q_bcbsuo_power_product_successor * S ((S (S pa_i_bcbsuo_power_product)) * pa_v_bcbsuo_power_product) + (pa_s_bcbsuo_power_product))) /\ pa_s_bcbsuo_power_product = pa_r_bcbsuo_power_product * pa_p_bcbsuo_power_product)))))))) -> (exists bcf_le_gap_bcbsuo_result. bcf_le_gap_bcbsuo_result + (2 * c) = q)
  26. 0026apply central_binom_strong_upper_of_laws
  27. 0027exact hpackage_left_left
  28. 0028exact hpackage_right
  29. 0029have hstrong : exists bcf_le_gap_bcomlfp_strong. bcf_le_gap_bcomlfp_strong + (2 * x) = q * 4
  30. 0030specialize hstrong_all n
  31. 0031specialize hstrong_all x
  32. 0032specialize hstrong_all (q * 4)
  33. 0033apply hstrong_all
  34. 0034exact hcentral_exists_witness
  35. 0035exact hsuccessor_power
  36. 0036have hleft : 2 * (m + m) = 4 * m
  37. 0037trans 2 * m + 2 * m
  38. 0038apply mul_add
  39. 0039trans 2 * (2 * m)
  40. 0040specialize two_mul_eq_add_self (2 * m)
  41. 0041symm
  42. 0042exact two_mul_eq_add_self
  43. 0043trans (2 * 2) * m
  44. 0044symm
  45. 0045apply mul_assoc
  46. 0046have htwo_two : 2 * 2 = 4
  47. 0047norm_num
  48. 0048rewrite htwo_two
  49. 0049refl
  50. 0050have hright : q * 4 = 4 * q
  51. 0051apply mul_comm
  52. 0052rewrite hdouble at hstrong
  53. 0053rewrite hleft at hstrong
  54. 0054rewrite hright at hstrong
  55. 0055specialize mul_le_cancel_left_nonzero 4
  56. 0056specialize mul_le_cancel_left_nonzero m
  57. 0057specialize mul_le_cancel_left_nonzero q
  58. 0058apply mul_le_cancel_left_nonzero
  59. 0059intro hfour_zero
  60. 0060apply PA1
  61. 0061exact hfour_zero
  62. 0062exact hstrong