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.
Statement with defined notation
(∀ x. ∀ y. ∀ z. CentralBinom(x,y) → CentralBinom(S x,z) → S x · z = 2 · S (x + x) · y) → (∀ x. ∃ y. CentralBinom(x,y)) → ∀ x. ∀ y. ∀ z. CentralBinom(S x,y) → Pow(4,S x,z) → Le(2 · y,z)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
6 occurrences
In local proof propositions
5 occurrences
Exact expanded native-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))Proof neighborhood
Direct theorem prerequisites
BT0009 one_mul BT000E le_refl BT0081 pow_zero BT0083 pow_successor_decompose BT00TQ central_binom_zero BT00VK central_binom_strong_upper_stepDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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(0,a)Original native command in the exact edition - 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.
- L25
have hpower_step : ∃ r. Pow(4,0,r) ∧ q = r · 4Definitions: Pow(4,0,r)Original native command in the exact edition - L26
specialize pow_successor_decompose 4 - L27
specialize pow_successor_decompose 0 - L28
specialize pow_successor_decompose 1 - L29
specialize pow_successor_decompose q - L30
apply pow_successor_decompose - L31
refl - L32
exact hpower
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(S n,a)Original native command in the exact edition - 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.
- L61
have hpower_step : ∃ r. Pow(4,S n,r) ∧ q = r · 4Definitions: Pow(4,S n,r)Original native command in the exact edition - L62
specialize pow_successor_decompose 4 - L63
specialize pow_successor_decompose (S n) - L64
specialize pow_successor_decompose (S (S n)) - L65
specialize pow_successor_decompose q - L66
apply pow_successor_decompose - L67
refl - L68
exact hpower
16Separate the logical casesL69–70
17Establish hprevious_boundL71–76
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L71
have hprevious_bound : Le(2 · x,x1)Definitions: Le(2 · x,x1)Original native command in the exact edition - L72
specialize IH x - L73
specialize IH x1 - L74
apply IH - L75
exact hprevious_exists_witness - L76
exact hpower_step_witness_left
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 defined 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 : ∃ a. CentralBinom(0,a)Exact native replay line
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 : ∃ r. Pow(4,0,r) ∧ q = r · 4Exact native replay line
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 : ∃ a. CentralBinom(S n,a)Exact native replay line
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 : ∃ r. Pow(4,S n,r) ∧ q = r · 4Exact native replay line
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 : Le(2 · x,x1)Exact native replay line
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