Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded 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
BT0009 one_mul BT000E le_refl BT0081 pow_zero BT0083 pow_successor_decompose BT00TQ central_binom_zero BT00VK central_binom_strong_upper_stepDirect dependents
Formal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (6)
01Fix variables and assumptionsL1–2
02Induction on nL3–7
03Establish hzero_existsL8–9
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcentral exists.
- L8
have hzero_exists : ∃ a. CentralBinom(0,a)Definitions: CentralBinom - L9
apply hcentral_exists
04Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases hzero_exists
05Establish hzero_valueL11–13
06Establish hrecurrence_zeroL14–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrecurrence.
07Establish hcentral_valueL21–24
08Establish hpower_stepL25–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
09Separate the logical casesL33–34
10Establish hpower_zeroL35–41
11Establish hpower_valueL42–48
12Establish htwo_twoL49–57
13Establish hprevious_existsL58–59
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcentral exists.
- L58
have hprevious_exists : ∃ a. CentralBinom(S n,a)Definitions: CentralBinom - L59
apply hcentral_exists
14Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases hprevious_exists
15Establish hpower_stepL61–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
16Separate the logical casesL69–70
17Establish hprevious_boundL71–76
18Establish hrecurrence_stepL77–86
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrecurrence.
- L77
have hrecurrence_step : S (S n) * c = (2 * S (S n + S n)) * x - L78
apply hrecurrence - L79
exact hprevious_exists_witness - L80
exact hcentral - L81
specialize central_binom_strong_upper_step (S n) - L82
specialize central_binom_strong_upper_step x - L83
specialize central_binom_strong_upper_step c - L84
specialize central_binom_strong_upper_step x1 - L85
specialize central_binom_strong_upper_step q - L86
apply central_binom_strong_upper_step
Original exact command ledger · 89 lines
- 0001
intro hrecurrence - 0002
intro hcentral_exists - 0003
induction n - 0004
intro c - 0005
intro q - 0006
intro hcentral - 0007
intro hpower - 0008
have 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))))))))) - 0009
apply hcentral_exists - 0010
cases hzero_exists - 0011
have hzero_value : x = 1 - 0012
apply central_binom_zero - 0013
exact hzero_exists_witness - 0014
have hrecurrence_zero : S 0 * c = (2 * S (0 + 0)) * x - 0015
apply hrecurrence - 0016
exact hzero_exists_witness - 0017
exact hcentral - 0018
rewrite hzero_value at hrecurrence_zero - 0019
specialize one_mul c - 0020
rewrite one_mul at hrecurrence_zero - 0021
have hcentral_value : c = 2 - 0022
trans (2 * S (0 + 0)) * 1 - 0023
exact hrecurrence_zero - 0024
norm_num - 0025
have 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 - 0026
specialize pow_successor_decompose 4 - 0027
specialize pow_successor_decompose 0 - 0028
specialize pow_successor_decompose 1 - 0029
specialize pow_successor_decompose q - 0030
apply pow_successor_decompose - 0031
refl - 0032
exact hpower - 0033
cases hpower_step - 0034
cases hpower_step_witness - 0035
have hpower_zero : x1 = 1 - 0036
specialize pow_zero 4 - 0037
specialize pow_zero 0 - 0038
specialize pow_zero x1 - 0039
apply pow_zero - 0040
refl - 0041
exact hpower_step_witness_left - 0042
have hpower_value : q = 4 - 0043
rewrite hpower_zero at hpower_step_witness_right - 0044
trans 1 * 4 - 0045
exact hpower_step_witness_right - 0046
norm_num - 0047
rewrite hcentral_value - 0048
rewrite hpower_value - 0049
have htwo_two : 2 * 2 = 4 - 0050
norm_num - 0051
rewrite htwo_two - 0052
specialize le_refl 4 - 0053
exact le_refl - 0054
intro c - 0055
intro q - 0056
intro hcentral - 0057
intro hpower - 0058
have 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))))))))) - 0059
apply hcentral_exists - 0060
cases hprevious_exists - 0061
have 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 - 0062
specialize pow_successor_decompose 4 - 0063
specialize pow_successor_decompose (S n) - 0064
specialize pow_successor_decompose (S (S n)) - 0065
specialize pow_successor_decompose q - 0066
apply pow_successor_decompose - 0067
refl - 0068
exact hpower - 0069
cases hpower_step - 0070
cases hpower_step_witness - 0071
have hprevious_bound : exists k. k + 2 * x = x1 - 0072
specialize IH x - 0073
specialize IH x1 - 0074
apply IH - 0075
exact hprevious_exists_witness - 0076
exact hpower_step_witness_left - 0077
have hrecurrence_step : S (S n) * c = (2 * S (S n + S n)) * x - 0078
apply hrecurrence - 0079
exact hprevious_exists_witness - 0080
exact hcentral - 0081
specialize central_binom_strong_upper_step (S n) - 0082
specialize central_binom_strong_upper_step x - 0083
specialize central_binom_strong_upper_step c - 0084
specialize central_binom_strong_upper_step x1 - 0085
specialize central_binom_strong_upper_step q - 0086
apply central_binom_strong_upper_step - 0087
exact hprevious_bound - 0088
exact hrecurrence_step - 0089
exact hpower_step_witness_right