BT00VM

central_binom_strong_upper_of_laws

Alpha body-checked ยท checked-use disabled

Recurrence and totality imply the positive-index strong bound.

Exact expanded PA statement

(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. 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)))))))))) -> (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))

Structural proof guide

Recurrence and totality imply the positive-index strong bound.

Direct prerequisites: one_mul, le_refl, pow_zero, pow_successor_decompose, central_binom_zero, central_binom_strong_upper_step. The authored body proceeds by structural induction (1), case analysis (6), intermediate claims (12), equality transport (6), closed numeral normalization (3).

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 hrecurrence
  2. 0002intro hcentral_exists
  3. 0003induction n
  4. 0004intro c
  5. 0005intro q
  6. 0006intro hcentral
  7. 0007intro hpower
  8. 0008have hzero_exists : exists a. (((exists bcf_lt_gap_bcbsuo_base_central_out_of_range. bcf_lt_gap_bcbsuo_base_central_out_of_range + S (0 + 0) = 0) /\ a = 0) \/ ((exists bcf_le_gap_bcbsuo_base_central_in_range. bcf_le_gap_bcbsuo_base_central_in_range + (0) = 0 + 0) /\ (exists bcf_row_code_code_bcbsuo_base_central bcf_row_code_scale_bcbsuo_base_central bcf_row_scale_code_bcbsuo_base_central bcf_row_scale_scale_bcbsuo_base_central bcf_row_code_bcbsuo_base_central bcf_row_scale_bcbsuo_base_central. ((forall bcf_row_index_bcbsuo_base_central_table. (exists bcf_lt_gap_bcbsuo_base_central_table_row_bound. bcf_lt_gap_bcbsuo_base_central_table_row_bound + S (bcf_row_index_bcbsuo_base_central_table) = S (0 + 0)) -> exists bcf_row_code_bcbsuo_base_central_table bcf_row_scale_bcbsuo_base_central_table. ((((exists bcf_height_bcbsuo_base_central_table_decoded_row_code. bcf_height_bcbsuo_base_central_table_decoded_row_code + S (bcf_row_code_bcbsuo_base_central_table) = S ((S (bcf_row_index_bcbsuo_base_central_table)) * bcf_row_code_scale_bcbsuo_base_central)) /\ exists bcf_quotient_bcbsuo_base_central_table_decoded_row_code. bcf_row_code_code_bcbsuo_base_central = bcf_quotient_bcbsuo_base_central_table_decoded_row_code * S ((S (bcf_row_index_bcbsuo_base_central_table)) * bcf_row_code_scale_bcbsuo_base_central) + (bcf_row_code_bcbsuo_base_central_table))) /\ ((((exists bcf_height_bcbsuo_base_central_table_decoded_row_scale. bcf_height_bcbsuo_base_central_table_decoded_row_scale + S (bcf_row_scale_bcbsuo_base_central_table) = S ((S (bcf_row_index_bcbsuo_base_central_table)) * bcf_row_scale_scale_bcbsuo_base_central)) /\ exists bcf_quotient_bcbsuo_base_central_table_decoded_row_scale. bcf_row_scale_code_bcbsuo_base_central = bcf_quotient_bcbsuo_base_central_table_decoded_row_scale * S ((S (bcf_row_index_bcbsuo_base_central_table)) * bcf_row_scale_scale_bcbsuo_base_central) + (bcf_row_scale_bcbsuo_base_central_table))) /\ ((bcf_row_index_bcbsuo_base_central_table = 0 /\ (forall bcf_index_bcbsuo_base_central_table_zero_row. (exists bcf_lt_gap_bcbsuo_base_central_table_zero_row_bound. bcf_lt_gap_bcbsuo_base_central_table_zero_row_bound + S (bcf_index_bcbsuo_base_central_table_zero_row) = S (0 + 0)) -> exists bcf_value_bcbsuo_base_central_table_zero_row. ((((exists bcf_height_bcbsuo_base_central_table_zero_row_entry. bcf_height_bcbsuo_base_central_table_zero_row_entry + S (bcf_value_bcbsuo_base_central_table_zero_row) = S ((S (bcf_index_bcbsuo_base_central_table_zero_row)) * bcf_row_scale_bcbsuo_base_central_table)) /\ exists bcf_quotient_bcbsuo_base_central_table_zero_row_entry. bcf_row_code_bcbsuo_base_central_table = bcf_quotient_bcbsuo_base_central_table_zero_row_entry * S ((S (bcf_index_bcbsuo_base_central_table_zero_row)) * bcf_row_scale_bcbsuo_base_central_table) + (bcf_value_bcbsuo_base_central_table_zero_row))) /\ ((bcf_index_bcbsuo_base_central_table_zero_row = 0 /\ bcf_value_bcbsuo_base_central_table_zero_row = 1) \/ exists bcf_predecessor_bcbsuo_base_central_table_zero_row. bcf_index_bcbsuo_base_central_table_zero_row = S bcf_predecessor_bcbsuo_base_central_table_zero_row /\ bcf_value_bcbsuo_base_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bcbsuo_base_central_table bcf_previous_code_bcbsuo_base_central_table bcf_previous_scale_bcbsuo_base_central_table. bcf_row_index_bcbsuo_base_central_table = S bcf_predecessor_bcbsuo_base_central_table /\ ((((exists bcf_height_bcbsuo_base_central_table_decoded_previous_code. bcf_height_bcbsuo_base_central_table_decoded_previous_code + S (bcf_previous_code_bcbsuo_base_central_table) = S ((S (bcf_predecessor_bcbsuo_base_central_table)) * bcf_row_code_scale_bcbsuo_base_central)) /\ exists bcf_quotient_bcbsuo_base_central_table_decoded_previous_code. bcf_row_code_code_bcbsuo_base_central = bcf_quotient_bcbsuo_base_central_table_decoded_previous_code * S ((S (bcf_predecessor_bcbsuo_base_central_table)) * bcf_row_code_scale_bcbsuo_base_central) + (bcf_previous_code_bcbsuo_base_central_table))) /\ ((((exists bcf_height_bcbsuo_base_central_table_decoded_previous_scale. bcf_height_bcbsuo_base_central_table_decoded_previous_scale + S (bcf_previous_scale_bcbsuo_base_central_table) = S ((S (bcf_predecessor_bcbsuo_base_central_table)) * bcf_row_scale_scale_bcbsuo_base_central)) /\ exists bcf_quotient_bcbsuo_base_central_table_decoded_previous_scale. bcf_row_scale_code_bcbsuo_base_central = bcf_quotient_bcbsuo_base_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bcbsuo_base_central_table)) * bcf_row_scale_scale_bcbsuo_base_central) + (bcf_previous_scale_bcbsuo_base_central_table))) /\ (forall bcf_index_bcbsuo_base_central_table_row_step. (exists bcf_lt_gap_bcbsuo_base_central_table_row_step_bound. bcf_lt_gap_bcbsuo_base_central_table_row_step_bound + S (bcf_index_bcbsuo_base_central_table_row_step) = S (0 + 0)) -> exists bcf_value_bcbsuo_base_central_table_row_step. ((((exists bcf_height_bcbsuo_base_central_table_row_step_entry. bcf_height_bcbsuo_base_central_table_row_step_entry + S (bcf_value_bcbsuo_base_central_table_row_step) = S ((S (bcf_index_bcbsuo_base_central_table_row_step)) * bcf_row_scale_bcbsuo_base_central_table)) /\ exists bcf_quotient_bcbsuo_base_central_table_row_step_entry. bcf_row_code_bcbsuo_base_central_table = bcf_quotient_bcbsuo_base_central_table_row_step_entry * S ((S (bcf_index_bcbsuo_base_central_table_row_step)) * bcf_row_scale_bcbsuo_base_central_table) + (bcf_value_bcbsuo_base_central_table_row_step))) /\ ((bcf_index_bcbsuo_base_central_table_row_step = 0 /\ bcf_value_bcbsuo_base_central_table_row_step = 1) \/ exists bcf_predecessor_bcbsuo_base_central_table_row_step bcf_left_bcbsuo_base_central_table_row_step bcf_right_bcbsuo_base_central_table_row_step. bcf_index_bcbsuo_base_central_table_row_step = S bcf_predecessor_bcbsuo_base_central_table_row_step /\ ((((exists bcf_height_bcbsuo_base_central_table_row_step_previous_left. bcf_height_bcbsuo_base_central_table_row_step_previous_left + S (bcf_left_bcbsuo_base_central_table_row_step) = S ((S (bcf_predecessor_bcbsuo_base_central_table_row_step)) * bcf_previous_scale_bcbsuo_base_central_table)) /\ exists bcf_quotient_bcbsuo_base_central_table_row_step_previous_left. bcf_previous_code_bcbsuo_base_central_table = bcf_quotient_bcbsuo_base_central_table_row_step_previous_left * S ((S (bcf_predecessor_bcbsuo_base_central_table_row_step)) * bcf_previous_scale_bcbsuo_base_central_table) + (bcf_left_bcbsuo_base_central_table_row_step))) /\ ((((exists bcf_height_bcbsuo_base_central_table_row_step_previous_right. bcf_height_bcbsuo_base_central_table_row_step_previous_right + S (bcf_right_bcbsuo_base_central_table_row_step) = S ((S (S (bcf_predecessor_bcbsuo_base_central_table_row_step))) * bcf_previous_scale_bcbsuo_base_central_table)) /\ exists bcf_quotient_bcbsuo_base_central_table_row_step_previous_right. bcf_previous_code_bcbsuo_base_central_table = bcf_quotient_bcbsuo_base_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcbsuo_base_central_table_row_step))) * bcf_previous_scale_bcbsuo_base_central_table) + (bcf_right_bcbsuo_base_central_table_row_step))) /\ bcf_value_bcbsuo_base_central_table_row_step = bcf_left_bcbsuo_base_central_table_row_step + bcf_right_bcbsuo_base_central_table_row_step))))))))))) /\ ((((exists bcf_height_bcbsuo_base_central_decoded_row_code. bcf_height_bcbsuo_base_central_decoded_row_code + S (bcf_row_code_bcbsuo_base_central) = S ((S (0 + 0)) * bcf_row_code_scale_bcbsuo_base_central)) /\ exists bcf_quotient_bcbsuo_base_central_decoded_row_code. bcf_row_code_code_bcbsuo_base_central = bcf_quotient_bcbsuo_base_central_decoded_row_code * S ((S (0 + 0)) * bcf_row_code_scale_bcbsuo_base_central) + (bcf_row_code_bcbsuo_base_central))) /\ ((((exists bcf_height_bcbsuo_base_central_decoded_row_scale. bcf_height_bcbsuo_base_central_decoded_row_scale + S (bcf_row_scale_bcbsuo_base_central) = S ((S (0 + 0)) * bcf_row_scale_scale_bcbsuo_base_central)) /\ exists bcf_quotient_bcbsuo_base_central_decoded_row_scale. bcf_row_scale_code_bcbsuo_base_central = bcf_quotient_bcbsuo_base_central_decoded_row_scale * S ((S (0 + 0)) * bcf_row_scale_scale_bcbsuo_base_central) + (bcf_row_scale_bcbsuo_base_central))) /\ (((exists bcf_height_bcbsuo_base_central_decoded_value. bcf_height_bcbsuo_base_central_decoded_value + S (a) = S ((S (0)) * bcf_row_scale_bcbsuo_base_central)) /\ exists bcf_quotient_bcbsuo_base_central_decoded_value. bcf_row_code_bcbsuo_base_central = bcf_quotient_bcbsuo_base_central_decoded_value * S ((S (0)) * bcf_row_scale_bcbsuo_base_central) + (a)))))))))
  9. 0009apply hcentral_exists
  10. 0010cases hzero_exists
  11. 0011have hzero_value : x = 1
  12. 0012apply central_binom_zero
  13. 0013exact hzero_exists_witness
  14. 0014have hrecurrence_zero : S 0 * c = (2 * S (0 + 0)) * x
  15. 0015apply hrecurrence
  16. 0016exact hzero_exists_witness
  17. 0017exact hcentral
  18. 0018rewrite hzero_value at hrecurrence_zero
  19. 0019specialize one_mul c
  20. 0020rewrite one_mul at hrecurrence_zero
  21. 0021have hcentral_value : c = 2
  22. 0022trans (2 * S (0 + 0)) * 1
  23. 0023exact hrecurrence_zero
  24. 0024norm_num
  25. 0025have hpower_step : exists r. (exists pa_b_bcbsuo_base_power pa_c_bcbsuo_base_power. ((forall pa_i_bcbsuo_base_power_repeat. (exists pa_lt_bcbsuo_base_power_repeat_bound. pa_lt_bcbsuo_base_power_repeat_bound + S pa_i_bcbsuo_base_power_repeat = 0) -> (((exists pa_h_bcbsuo_base_power_repeat_decoded. pa_h_bcbsuo_base_power_repeat_decoded + S (4) = S ((S (pa_i_bcbsuo_base_power_repeat)) * pa_c_bcbsuo_base_power)) /\ exists pa_q_bcbsuo_base_power_repeat_decoded. pa_b_bcbsuo_base_power = pa_q_bcbsuo_base_power_repeat_decoded * S ((S (pa_i_bcbsuo_base_power_repeat)) * pa_c_bcbsuo_base_power) + (4)))) /\ (exists pa_u_bcbsuo_base_power_product pa_v_bcbsuo_base_power_product. ((((exists pa_h_bcbsuo_base_power_product_start. pa_h_bcbsuo_base_power_product_start + S (1) = S ((S (0)) * pa_v_bcbsuo_base_power_product)) /\ exists pa_q_bcbsuo_base_power_product_start. pa_u_bcbsuo_base_power_product = pa_q_bcbsuo_base_power_product_start * S ((S (0)) * pa_v_bcbsuo_base_power_product) + (1))) /\ ((((exists pa_h_bcbsuo_base_power_product_terminal. pa_h_bcbsuo_base_power_product_terminal + S (r) = S ((S (0)) * pa_v_bcbsuo_base_power_product)) /\ exists pa_q_bcbsuo_base_power_product_terminal. pa_u_bcbsuo_base_power_product = pa_q_bcbsuo_base_power_product_terminal * S ((S (0)) * pa_v_bcbsuo_base_power_product) + (r))) /\ forall pa_i_bcbsuo_base_power_product. (exists pa_lt_bcbsuo_base_power_product_bound. pa_lt_bcbsuo_base_power_product_bound + S pa_i_bcbsuo_base_power_product = 0) -> exists pa_p_bcbsuo_base_power_product pa_r_bcbsuo_base_power_product pa_s_bcbsuo_base_power_product. ((((exists pa_h_bcbsuo_base_power_product_factor. pa_h_bcbsuo_base_power_product_factor + S (pa_p_bcbsuo_base_power_product) = S ((S (pa_i_bcbsuo_base_power_product)) * pa_c_bcbsuo_base_power)) /\ exists pa_q_bcbsuo_base_power_product_factor. pa_b_bcbsuo_base_power = pa_q_bcbsuo_base_power_product_factor * S ((S (pa_i_bcbsuo_base_power_product)) * pa_c_bcbsuo_base_power) + (pa_p_bcbsuo_base_power_product))) /\ ((((exists pa_h_bcbsuo_base_power_product_partial. pa_h_bcbsuo_base_power_product_partial + S (pa_r_bcbsuo_base_power_product) = S ((S (pa_i_bcbsuo_base_power_product)) * pa_v_bcbsuo_base_power_product)) /\ exists pa_q_bcbsuo_base_power_product_partial. pa_u_bcbsuo_base_power_product = pa_q_bcbsuo_base_power_product_partial * S ((S (pa_i_bcbsuo_base_power_product)) * pa_v_bcbsuo_base_power_product) + (pa_r_bcbsuo_base_power_product))) /\ ((((exists pa_h_bcbsuo_base_power_product_successor. pa_h_bcbsuo_base_power_product_successor + S (pa_s_bcbsuo_base_power_product) = S ((S (S pa_i_bcbsuo_base_power_product)) * pa_v_bcbsuo_base_power_product)) /\ exists pa_q_bcbsuo_base_power_product_successor. pa_u_bcbsuo_base_power_product = pa_q_bcbsuo_base_power_product_successor * S ((S (S pa_i_bcbsuo_base_power_product)) * pa_v_bcbsuo_base_power_product) + (pa_s_bcbsuo_base_power_product))) /\ pa_s_bcbsuo_base_power_product = pa_r_bcbsuo_base_power_product * pa_p_bcbsuo_base_power_product)))))))) /\ q = r * 4
  26. 0026specialize pow_successor_decompose 4
  27. 0027specialize pow_successor_decompose 0
  28. 0028specialize pow_successor_decompose 1
  29. 0029specialize pow_successor_decompose q
  30. 0030apply pow_successor_decompose
  31. 0031refl
  32. 0032exact hpower
  33. 0033cases hpower_step
  34. 0034cases hpower_step_witness
  35. 0035have hpower_zero : x1 = 1
  36. 0036specialize pow_zero 4
  37. 0037specialize pow_zero 0
  38. 0038specialize pow_zero x1
  39. 0039apply pow_zero
  40. 0040refl
  41. 0041exact hpower_step_witness_left
  42. 0042have hpower_value : q = 4
  43. 0043rewrite hpower_zero at hpower_step_witness_right
  44. 0044trans 1 * 4
  45. 0045exact hpower_step_witness_right
  46. 0046norm_num
  47. 0047rewrite hcentral_value
  48. 0048rewrite hpower_value
  49. 0049have htwo_two : 2 * 2 = 4
  50. 0050norm_num
  51. 0051rewrite htwo_two
  52. 0052specialize le_refl 4
  53. 0053exact le_refl
  54. 0054intro c
  55. 0055intro q
  56. 0056intro hcentral
  57. 0057intro hpower
  58. 0058have hprevious_exists : exists a. (((exists bcf_lt_gap_bcbsuo_step_central_out_of_range. bcf_lt_gap_bcbsuo_step_central_out_of_range + S (S n + S n) = S n) /\ a = 0) \/ ((exists bcf_le_gap_bcbsuo_step_central_in_range. bcf_le_gap_bcbsuo_step_central_in_range + (S n) = S n + S n) /\ (exists bcf_row_code_code_bcbsuo_step_central bcf_row_code_scale_bcbsuo_step_central bcf_row_scale_code_bcbsuo_step_central bcf_row_scale_scale_bcbsuo_step_central bcf_row_code_bcbsuo_step_central bcf_row_scale_bcbsuo_step_central. ((forall bcf_row_index_bcbsuo_step_central_table. (exists bcf_lt_gap_bcbsuo_step_central_table_row_bound. bcf_lt_gap_bcbsuo_step_central_table_row_bound + S (bcf_row_index_bcbsuo_step_central_table) = S (S n + S n)) -> exists bcf_row_code_bcbsuo_step_central_table bcf_row_scale_bcbsuo_step_central_table. ((((exists bcf_height_bcbsuo_step_central_table_decoded_row_code. bcf_height_bcbsuo_step_central_table_decoded_row_code + S (bcf_row_code_bcbsuo_step_central_table) = S ((S (bcf_row_index_bcbsuo_step_central_table)) * bcf_row_code_scale_bcbsuo_step_central)) /\ exists bcf_quotient_bcbsuo_step_central_table_decoded_row_code. bcf_row_code_code_bcbsuo_step_central = bcf_quotient_bcbsuo_step_central_table_decoded_row_code * S ((S (bcf_row_index_bcbsuo_step_central_table)) * bcf_row_code_scale_bcbsuo_step_central) + (bcf_row_code_bcbsuo_step_central_table))) /\ ((((exists bcf_height_bcbsuo_step_central_table_decoded_row_scale. bcf_height_bcbsuo_step_central_table_decoded_row_scale + S (bcf_row_scale_bcbsuo_step_central_table) = S ((S (bcf_row_index_bcbsuo_step_central_table)) * bcf_row_scale_scale_bcbsuo_step_central)) /\ exists bcf_quotient_bcbsuo_step_central_table_decoded_row_scale. bcf_row_scale_code_bcbsuo_step_central = bcf_quotient_bcbsuo_step_central_table_decoded_row_scale * S ((S (bcf_row_index_bcbsuo_step_central_table)) * bcf_row_scale_scale_bcbsuo_step_central) + (bcf_row_scale_bcbsuo_step_central_table))) /\ ((bcf_row_index_bcbsuo_step_central_table = 0 /\ (forall bcf_index_bcbsuo_step_central_table_zero_row. (exists bcf_lt_gap_bcbsuo_step_central_table_zero_row_bound. bcf_lt_gap_bcbsuo_step_central_table_zero_row_bound + S (bcf_index_bcbsuo_step_central_table_zero_row) = S (S n + S n)) -> exists bcf_value_bcbsuo_step_central_table_zero_row. ((((exists bcf_height_bcbsuo_step_central_table_zero_row_entry. bcf_height_bcbsuo_step_central_table_zero_row_entry + S (bcf_value_bcbsuo_step_central_table_zero_row) = S ((S (bcf_index_bcbsuo_step_central_table_zero_row)) * bcf_row_scale_bcbsuo_step_central_table)) /\ exists bcf_quotient_bcbsuo_step_central_table_zero_row_entry. bcf_row_code_bcbsuo_step_central_table = bcf_quotient_bcbsuo_step_central_table_zero_row_entry * S ((S (bcf_index_bcbsuo_step_central_table_zero_row)) * bcf_row_scale_bcbsuo_step_central_table) + (bcf_value_bcbsuo_step_central_table_zero_row))) /\ ((bcf_index_bcbsuo_step_central_table_zero_row = 0 /\ bcf_value_bcbsuo_step_central_table_zero_row = 1) \/ exists bcf_predecessor_bcbsuo_step_central_table_zero_row. bcf_index_bcbsuo_step_central_table_zero_row = S bcf_predecessor_bcbsuo_step_central_table_zero_row /\ bcf_value_bcbsuo_step_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bcbsuo_step_central_table bcf_previous_code_bcbsuo_step_central_table bcf_previous_scale_bcbsuo_step_central_table. bcf_row_index_bcbsuo_step_central_table = S bcf_predecessor_bcbsuo_step_central_table /\ ((((exists bcf_height_bcbsuo_step_central_table_decoded_previous_code. bcf_height_bcbsuo_step_central_table_decoded_previous_code + S (bcf_previous_code_bcbsuo_step_central_table) = S ((S (bcf_predecessor_bcbsuo_step_central_table)) * bcf_row_code_scale_bcbsuo_step_central)) /\ exists bcf_quotient_bcbsuo_step_central_table_decoded_previous_code. bcf_row_code_code_bcbsuo_step_central = bcf_quotient_bcbsuo_step_central_table_decoded_previous_code * S ((S (bcf_predecessor_bcbsuo_step_central_table)) * bcf_row_code_scale_bcbsuo_step_central) + (bcf_previous_code_bcbsuo_step_central_table))) /\ ((((exists bcf_height_bcbsuo_step_central_table_decoded_previous_scale. bcf_height_bcbsuo_step_central_table_decoded_previous_scale + S (bcf_previous_scale_bcbsuo_step_central_table) = S ((S (bcf_predecessor_bcbsuo_step_central_table)) * bcf_row_scale_scale_bcbsuo_step_central)) /\ exists bcf_quotient_bcbsuo_step_central_table_decoded_previous_scale. bcf_row_scale_code_bcbsuo_step_central = bcf_quotient_bcbsuo_step_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bcbsuo_step_central_table)) * bcf_row_scale_scale_bcbsuo_step_central) + (bcf_previous_scale_bcbsuo_step_central_table))) /\ (forall bcf_index_bcbsuo_step_central_table_row_step. (exists bcf_lt_gap_bcbsuo_step_central_table_row_step_bound. bcf_lt_gap_bcbsuo_step_central_table_row_step_bound + S (bcf_index_bcbsuo_step_central_table_row_step) = S (S n + S n)) -> exists bcf_value_bcbsuo_step_central_table_row_step. ((((exists bcf_height_bcbsuo_step_central_table_row_step_entry. bcf_height_bcbsuo_step_central_table_row_step_entry + S (bcf_value_bcbsuo_step_central_table_row_step) = S ((S (bcf_index_bcbsuo_step_central_table_row_step)) * bcf_row_scale_bcbsuo_step_central_table)) /\ exists bcf_quotient_bcbsuo_step_central_table_row_step_entry. bcf_row_code_bcbsuo_step_central_table = bcf_quotient_bcbsuo_step_central_table_row_step_entry * S ((S (bcf_index_bcbsuo_step_central_table_row_step)) * bcf_row_scale_bcbsuo_step_central_table) + (bcf_value_bcbsuo_step_central_table_row_step))) /\ ((bcf_index_bcbsuo_step_central_table_row_step = 0 /\ bcf_value_bcbsuo_step_central_table_row_step = 1) \/ exists bcf_predecessor_bcbsuo_step_central_table_row_step bcf_left_bcbsuo_step_central_table_row_step bcf_right_bcbsuo_step_central_table_row_step. bcf_index_bcbsuo_step_central_table_row_step = S bcf_predecessor_bcbsuo_step_central_table_row_step /\ ((((exists bcf_height_bcbsuo_step_central_table_row_step_previous_left. bcf_height_bcbsuo_step_central_table_row_step_previous_left + S (bcf_left_bcbsuo_step_central_table_row_step) = S ((S (bcf_predecessor_bcbsuo_step_central_table_row_step)) * bcf_previous_scale_bcbsuo_step_central_table)) /\ exists bcf_quotient_bcbsuo_step_central_table_row_step_previous_left. bcf_previous_code_bcbsuo_step_central_table = bcf_quotient_bcbsuo_step_central_table_row_step_previous_left * S ((S (bcf_predecessor_bcbsuo_step_central_table_row_step)) * bcf_previous_scale_bcbsuo_step_central_table) + (bcf_left_bcbsuo_step_central_table_row_step))) /\ ((((exists bcf_height_bcbsuo_step_central_table_row_step_previous_right. bcf_height_bcbsuo_step_central_table_row_step_previous_right + S (bcf_right_bcbsuo_step_central_table_row_step) = S ((S (S (bcf_predecessor_bcbsuo_step_central_table_row_step))) * bcf_previous_scale_bcbsuo_step_central_table)) /\ exists bcf_quotient_bcbsuo_step_central_table_row_step_previous_right. bcf_previous_code_bcbsuo_step_central_table = bcf_quotient_bcbsuo_step_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcbsuo_step_central_table_row_step))) * bcf_previous_scale_bcbsuo_step_central_table) + (bcf_right_bcbsuo_step_central_table_row_step))) /\ bcf_value_bcbsuo_step_central_table_row_step = bcf_left_bcbsuo_step_central_table_row_step + bcf_right_bcbsuo_step_central_table_row_step))))))))))) /\ ((((exists bcf_height_bcbsuo_step_central_decoded_row_code. bcf_height_bcbsuo_step_central_decoded_row_code + S (bcf_row_code_bcbsuo_step_central) = S ((S (S n + S n)) * bcf_row_code_scale_bcbsuo_step_central)) /\ exists bcf_quotient_bcbsuo_step_central_decoded_row_code. bcf_row_code_code_bcbsuo_step_central = bcf_quotient_bcbsuo_step_central_decoded_row_code * S ((S (S n + S n)) * bcf_row_code_scale_bcbsuo_step_central) + (bcf_row_code_bcbsuo_step_central))) /\ ((((exists bcf_height_bcbsuo_step_central_decoded_row_scale. bcf_height_bcbsuo_step_central_decoded_row_scale + S (bcf_row_scale_bcbsuo_step_central) = S ((S (S n + S n)) * bcf_row_scale_scale_bcbsuo_step_central)) /\ exists bcf_quotient_bcbsuo_step_central_decoded_row_scale. bcf_row_scale_code_bcbsuo_step_central = bcf_quotient_bcbsuo_step_central_decoded_row_scale * S ((S (S n + S n)) * bcf_row_scale_scale_bcbsuo_step_central) + (bcf_row_scale_bcbsuo_step_central))) /\ (((exists bcf_height_bcbsuo_step_central_decoded_value. bcf_height_bcbsuo_step_central_decoded_value + S (a) = S ((S (S n)) * bcf_row_scale_bcbsuo_step_central)) /\ exists bcf_quotient_bcbsuo_step_central_decoded_value. bcf_row_code_bcbsuo_step_central = bcf_quotient_bcbsuo_step_central_decoded_value * S ((S (S n)) * bcf_row_scale_bcbsuo_step_central) + (a)))))))))
  59. 0059apply hcentral_exists
  60. 0060cases hprevious_exists
  61. 0061have hpower_step : exists r. (exists pa_b_bcbsuo_step_power pa_c_bcbsuo_step_power. ((forall pa_i_bcbsuo_step_power_repeat. (exists pa_lt_bcbsuo_step_power_repeat_bound. pa_lt_bcbsuo_step_power_repeat_bound + S pa_i_bcbsuo_step_power_repeat = S n) -> (((exists pa_h_bcbsuo_step_power_repeat_decoded. pa_h_bcbsuo_step_power_repeat_decoded + S (4) = S ((S (pa_i_bcbsuo_step_power_repeat)) * pa_c_bcbsuo_step_power)) /\ exists pa_q_bcbsuo_step_power_repeat_decoded. pa_b_bcbsuo_step_power = pa_q_bcbsuo_step_power_repeat_decoded * S ((S (pa_i_bcbsuo_step_power_repeat)) * pa_c_bcbsuo_step_power) + (4)))) /\ (exists pa_u_bcbsuo_step_power_product pa_v_bcbsuo_step_power_product. ((((exists pa_h_bcbsuo_step_power_product_start. pa_h_bcbsuo_step_power_product_start + S (1) = S ((S (0)) * pa_v_bcbsuo_step_power_product)) /\ exists pa_q_bcbsuo_step_power_product_start. pa_u_bcbsuo_step_power_product = pa_q_bcbsuo_step_power_product_start * S ((S (0)) * pa_v_bcbsuo_step_power_product) + (1))) /\ ((((exists pa_h_bcbsuo_step_power_product_terminal. pa_h_bcbsuo_step_power_product_terminal + S (r) = S ((S (S n)) * pa_v_bcbsuo_step_power_product)) /\ exists pa_q_bcbsuo_step_power_product_terminal. pa_u_bcbsuo_step_power_product = pa_q_bcbsuo_step_power_product_terminal * S ((S (S n)) * pa_v_bcbsuo_step_power_product) + (r))) /\ forall pa_i_bcbsuo_step_power_product. (exists pa_lt_bcbsuo_step_power_product_bound. pa_lt_bcbsuo_step_power_product_bound + S pa_i_bcbsuo_step_power_product = S n) -> exists pa_p_bcbsuo_step_power_product pa_r_bcbsuo_step_power_product pa_s_bcbsuo_step_power_product. ((((exists pa_h_bcbsuo_step_power_product_factor. pa_h_bcbsuo_step_power_product_factor + S (pa_p_bcbsuo_step_power_product) = S ((S (pa_i_bcbsuo_step_power_product)) * pa_c_bcbsuo_step_power)) /\ exists pa_q_bcbsuo_step_power_product_factor. pa_b_bcbsuo_step_power = pa_q_bcbsuo_step_power_product_factor * S ((S (pa_i_bcbsuo_step_power_product)) * pa_c_bcbsuo_step_power) + (pa_p_bcbsuo_step_power_product))) /\ ((((exists pa_h_bcbsuo_step_power_product_partial. pa_h_bcbsuo_step_power_product_partial + S (pa_r_bcbsuo_step_power_product) = S ((S (pa_i_bcbsuo_step_power_product)) * pa_v_bcbsuo_step_power_product)) /\ exists pa_q_bcbsuo_step_power_product_partial. pa_u_bcbsuo_step_power_product = pa_q_bcbsuo_step_power_product_partial * S ((S (pa_i_bcbsuo_step_power_product)) * pa_v_bcbsuo_step_power_product) + (pa_r_bcbsuo_step_power_product))) /\ ((((exists pa_h_bcbsuo_step_power_product_successor. pa_h_bcbsuo_step_power_product_successor + S (pa_s_bcbsuo_step_power_product) = S ((S (S pa_i_bcbsuo_step_power_product)) * pa_v_bcbsuo_step_power_product)) /\ exists pa_q_bcbsuo_step_power_product_successor. pa_u_bcbsuo_step_power_product = pa_q_bcbsuo_step_power_product_successor * S ((S (S pa_i_bcbsuo_step_power_product)) * pa_v_bcbsuo_step_power_product) + (pa_s_bcbsuo_step_power_product))) /\ pa_s_bcbsuo_step_power_product = pa_r_bcbsuo_step_power_product * pa_p_bcbsuo_step_power_product)))))))) /\ q = r * 4
  62. 0062specialize pow_successor_decompose 4
  63. 0063specialize pow_successor_decompose (S n)
  64. 0064specialize pow_successor_decompose (S (S n))
  65. 0065specialize pow_successor_decompose q
  66. 0066apply pow_successor_decompose
  67. 0067refl
  68. 0068exact hpower
  69. 0069cases hpower_step
  70. 0070cases hpower_step_witness
  71. 0071have hprevious_bound : exists k. k + 2 * x = x1
  72. 0072specialize IH x
  73. 0073specialize IH x1
  74. 0074apply IH
  75. 0075exact hprevious_exists_witness
  76. 0076exact hpower_step_witness_left
  77. 0077have hrecurrence_step : S (S n) * c = (2 * S (S n + S n)) * x
  78. 0078apply hrecurrence
  79. 0079exact hprevious_exists_witness
  80. 0080exact hcentral
  81. 0081specialize central_binom_strong_upper_step (S n)
  82. 0082specialize central_binom_strong_upper_step x
  83. 0083specialize central_binom_strong_upper_step c
  84. 0084specialize central_binom_strong_upper_step x1
  85. 0085specialize central_binom_strong_upper_step q
  86. 0086apply central_binom_strong_upper_step
  87. 0087exact hprevious_bound
  88. 0088exact hrecurrence_step
  89. 0089exact hpower_step_witness_right