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
∀ n. ∀ k. ∀ x. ∀ y. ∀ z. Lt(k,n) → Choose(n,k,x) → Choose(n,S k,y) → Choose(S n,S k,z) → z = x + yEvery 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
4 occurrences
In local proof propositions
21 occurrences
Exact expanded native-PA statement
forall n k x y z. (exists bcf_lt_gap_bcssol_bound. bcf_lt_gap_bcssol_bound + S (k) = n) -> (((exists bcf_lt_gap_bcssol_left_out_of_range. bcf_lt_gap_bcssol_left_out_of_range + S (n) = k) /\ x = 0) \/ ((exists bcf_le_gap_bcssol_left_in_range. bcf_le_gap_bcssol_left_in_range + (k) = n) /\ (exists bcf_row_code_code_bcssol_left bcf_row_code_scale_bcssol_left bcf_row_scale_code_bcssol_left bcf_row_scale_scale_bcssol_left bcf_row_code_bcssol_left bcf_row_scale_bcssol_left. ((forall bcf_row_index_bcssol_left_table. (exists bcf_lt_gap_bcssol_left_table_row_bound. bcf_lt_gap_bcssol_left_table_row_bound + S (bcf_row_index_bcssol_left_table) = S (n)) -> exists bcf_row_code_bcssol_left_table bcf_row_scale_bcssol_left_table. ((((exists bcf_height_bcssol_left_table_decoded_row_code. bcf_height_bcssol_left_table_decoded_row_code + S (bcf_row_code_bcssol_left_table) = S ((S (bcf_row_index_bcssol_left_table)) * bcf_row_code_scale_bcssol_left)) /\ exists bcf_quotient_bcssol_left_table_decoded_row_code. bcf_row_code_code_bcssol_left = bcf_quotient_bcssol_left_table_decoded_row_code * S ((S (bcf_row_index_bcssol_left_table)) * bcf_row_code_scale_bcssol_left) + (bcf_row_code_bcssol_left_table))) /\ ((((exists bcf_height_bcssol_left_table_decoded_row_scale. bcf_height_bcssol_left_table_decoded_row_scale + S (bcf_row_scale_bcssol_left_table) = S ((S (bcf_row_index_bcssol_left_table)) * bcf_row_scale_scale_bcssol_left)) /\ exists bcf_quotient_bcssol_left_table_decoded_row_scale. bcf_row_scale_code_bcssol_left = bcf_quotient_bcssol_left_table_decoded_row_scale * S ((S (bcf_row_index_bcssol_left_table)) * bcf_row_scale_scale_bcssol_left) + (bcf_row_scale_bcssol_left_table))) /\ ((bcf_row_index_bcssol_left_table = 0 /\ (forall bcf_index_bcssol_left_table_zero_row. (exists bcf_lt_gap_bcssol_left_table_zero_row_bound. bcf_lt_gap_bcssol_left_table_zero_row_bound + S (bcf_index_bcssol_left_table_zero_row) = S (n)) -> exists bcf_value_bcssol_left_table_zero_row. ((((exists bcf_height_bcssol_left_table_zero_row_entry. bcf_height_bcssol_left_table_zero_row_entry + S (bcf_value_bcssol_left_table_zero_row) = S ((S (bcf_index_bcssol_left_table_zero_row)) * bcf_row_scale_bcssol_left_table)) /\ exists bcf_quotient_bcssol_left_table_zero_row_entry. bcf_row_code_bcssol_left_table = bcf_quotient_bcssol_left_table_zero_row_entry * S ((S (bcf_index_bcssol_left_table_zero_row)) * bcf_row_scale_bcssol_left_table) + (bcf_value_bcssol_left_table_zero_row))) /\ ((bcf_index_bcssol_left_table_zero_row = 0 /\ bcf_value_bcssol_left_table_zero_row = 1) \/ exists bcf_predecessor_bcssol_left_table_zero_row. bcf_index_bcssol_left_table_zero_row = S bcf_predecessor_bcssol_left_table_zero_row /\ bcf_value_bcssol_left_table_zero_row = 0)))) \/ exists bcf_predecessor_bcssol_left_table bcf_previous_code_bcssol_left_table bcf_previous_scale_bcssol_left_table. bcf_row_index_bcssol_left_table = S bcf_predecessor_bcssol_left_table /\ ((((exists bcf_height_bcssol_left_table_decoded_previous_code. bcf_height_bcssol_left_table_decoded_previous_code + S (bcf_previous_code_bcssol_left_table) = S ((S (bcf_predecessor_bcssol_left_table)) * bcf_row_code_scale_bcssol_left)) /\ exists bcf_quotient_bcssol_left_table_decoded_previous_code. bcf_row_code_code_bcssol_left = bcf_quotient_bcssol_left_table_decoded_previous_code * S ((S (bcf_predecessor_bcssol_left_table)) * bcf_row_code_scale_bcssol_left) + (bcf_previous_code_bcssol_left_table))) /\ ((((exists bcf_height_bcssol_left_table_decoded_previous_scale. bcf_height_bcssol_left_table_decoded_previous_scale + S (bcf_previous_scale_bcssol_left_table) = S ((S (bcf_predecessor_bcssol_left_table)) * bcf_row_scale_scale_bcssol_left)) /\ exists bcf_quotient_bcssol_left_table_decoded_previous_scale. bcf_row_scale_code_bcssol_left = bcf_quotient_bcssol_left_table_decoded_previous_scale * S ((S (bcf_predecessor_bcssol_left_table)) * bcf_row_scale_scale_bcssol_left) + (bcf_previous_scale_bcssol_left_table))) /\ (forall bcf_index_bcssol_left_table_row_step. (exists bcf_lt_gap_bcssol_left_table_row_step_bound. bcf_lt_gap_bcssol_left_table_row_step_bound + S (bcf_index_bcssol_left_table_row_step) = S (n)) -> exists bcf_value_bcssol_left_table_row_step. ((((exists bcf_height_bcssol_left_table_row_step_entry. bcf_height_bcssol_left_table_row_step_entry + S (bcf_value_bcssol_left_table_row_step) = S ((S (bcf_index_bcssol_left_table_row_step)) * bcf_row_scale_bcssol_left_table)) /\ exists bcf_quotient_bcssol_left_table_row_step_entry. bcf_row_code_bcssol_left_table = bcf_quotient_bcssol_left_table_row_step_entry * S ((S (bcf_index_bcssol_left_table_row_step)) * bcf_row_scale_bcssol_left_table) + (bcf_value_bcssol_left_table_row_step))) /\ ((bcf_index_bcssol_left_table_row_step = 0 /\ bcf_value_bcssol_left_table_row_step = 1) \/ exists bcf_predecessor_bcssol_left_table_row_step bcf_left_bcssol_left_table_row_step bcf_right_bcssol_left_table_row_step. bcf_index_bcssol_left_table_row_step = S bcf_predecessor_bcssol_left_table_row_step /\ ((((exists bcf_height_bcssol_left_table_row_step_previous_left. bcf_height_bcssol_left_table_row_step_previous_left + S (bcf_left_bcssol_left_table_row_step) = S ((S (bcf_predecessor_bcssol_left_table_row_step)) * bcf_previous_scale_bcssol_left_table)) /\ exists bcf_quotient_bcssol_left_table_row_step_previous_left. bcf_previous_code_bcssol_left_table = bcf_quotient_bcssol_left_table_row_step_previous_left * S ((S (bcf_predecessor_bcssol_left_table_row_step)) * bcf_previous_scale_bcssol_left_table) + (bcf_left_bcssol_left_table_row_step))) /\ ((((exists bcf_height_bcssol_left_table_row_step_previous_right. bcf_height_bcssol_left_table_row_step_previous_right + S (bcf_right_bcssol_left_table_row_step) = S ((S (S (bcf_predecessor_bcssol_left_table_row_step))) * bcf_previous_scale_bcssol_left_table)) /\ exists bcf_quotient_bcssol_left_table_row_step_previous_right. bcf_previous_code_bcssol_left_table = bcf_quotient_bcssol_left_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcssol_left_table_row_step))) * bcf_previous_scale_bcssol_left_table) + (bcf_right_bcssol_left_table_row_step))) /\ bcf_value_bcssol_left_table_row_step = bcf_left_bcssol_left_table_row_step + bcf_right_bcssol_left_table_row_step))))))))))) /\ ((((exists bcf_height_bcssol_left_decoded_row_code. bcf_height_bcssol_left_decoded_row_code + S (bcf_row_code_bcssol_left) = S ((S (n)) * bcf_row_code_scale_bcssol_left)) /\ exists bcf_quotient_bcssol_left_decoded_row_code. bcf_row_code_code_bcssol_left = bcf_quotient_bcssol_left_decoded_row_code * S ((S (n)) * bcf_row_code_scale_bcssol_left) + (bcf_row_code_bcssol_left))) /\ ((((exists bcf_height_bcssol_left_decoded_row_scale. bcf_height_bcssol_left_decoded_row_scale + S (bcf_row_scale_bcssol_left) = S ((S (n)) * bcf_row_scale_scale_bcssol_left)) /\ exists bcf_quotient_bcssol_left_decoded_row_scale. bcf_row_scale_code_bcssol_left = bcf_quotient_bcssol_left_decoded_row_scale * S ((S (n)) * bcf_row_scale_scale_bcssol_left) + (bcf_row_scale_bcssol_left))) /\ (((exists bcf_height_bcssol_left_decoded_value. bcf_height_bcssol_left_decoded_value + S (x) = S ((S (k)) * bcf_row_scale_bcssol_left)) /\ exists bcf_quotient_bcssol_left_decoded_value. bcf_row_code_bcssol_left = bcf_quotient_bcssol_left_decoded_value * S ((S (k)) * bcf_row_scale_bcssol_left) + (x))))))))) -> (((exists bcf_lt_gap_bcssol_right_out_of_range. bcf_lt_gap_bcssol_right_out_of_range + S (n) = S k) /\ y = 0) \/ ((exists bcf_le_gap_bcssol_right_in_range. bcf_le_gap_bcssol_right_in_range + (S k) = n) /\ (exists bcf_row_code_code_bcssol_right bcf_row_code_scale_bcssol_right bcf_row_scale_code_bcssol_right bcf_row_scale_scale_bcssol_right bcf_row_code_bcssol_right bcf_row_scale_bcssol_right. ((forall bcf_row_index_bcssol_right_table. (exists bcf_lt_gap_bcssol_right_table_row_bound. bcf_lt_gap_bcssol_right_table_row_bound + S (bcf_row_index_bcssol_right_table) = S (n)) -> exists bcf_row_code_bcssol_right_table bcf_row_scale_bcssol_right_table. ((((exists bcf_height_bcssol_right_table_decoded_row_code. bcf_height_bcssol_right_table_decoded_row_code + S (bcf_row_code_bcssol_right_table) = S ((S (bcf_row_index_bcssol_right_table)) * bcf_row_code_scale_bcssol_right)) /\ exists bcf_quotient_bcssol_right_table_decoded_row_code. bcf_row_code_code_bcssol_right = bcf_quotient_bcssol_right_table_decoded_row_code * S ((S (bcf_row_index_bcssol_right_table)) * bcf_row_code_scale_bcssol_right) + (bcf_row_code_bcssol_right_table))) /\ ((((exists bcf_height_bcssol_right_table_decoded_row_scale. bcf_height_bcssol_right_table_decoded_row_scale + S (bcf_row_scale_bcssol_right_table) = S ((S (bcf_row_index_bcssol_right_table)) * bcf_row_scale_scale_bcssol_right)) /\ exists bcf_quotient_bcssol_right_table_decoded_row_scale. bcf_row_scale_code_bcssol_right = bcf_quotient_bcssol_right_table_decoded_row_scale * S ((S (bcf_row_index_bcssol_right_table)) * bcf_row_scale_scale_bcssol_right) + (bcf_row_scale_bcssol_right_table))) /\ ((bcf_row_index_bcssol_right_table = 0 /\ (forall bcf_index_bcssol_right_table_zero_row. (exists bcf_lt_gap_bcssol_right_table_zero_row_bound. bcf_lt_gap_bcssol_right_table_zero_row_bound + S (bcf_index_bcssol_right_table_zero_row) = S (n)) -> exists bcf_value_bcssol_right_table_zero_row. ((((exists bcf_height_bcssol_right_table_zero_row_entry. bcf_height_bcssol_right_table_zero_row_entry + S (bcf_value_bcssol_right_table_zero_row) = S ((S (bcf_index_bcssol_right_table_zero_row)) * bcf_row_scale_bcssol_right_table)) /\ exists bcf_quotient_bcssol_right_table_zero_row_entry. bcf_row_code_bcssol_right_table = bcf_quotient_bcssol_right_table_zero_row_entry * S ((S (bcf_index_bcssol_right_table_zero_row)) * bcf_row_scale_bcssol_right_table) + (bcf_value_bcssol_right_table_zero_row))) /\ ((bcf_index_bcssol_right_table_zero_row = 0 /\ bcf_value_bcssol_right_table_zero_row = 1) \/ exists bcf_predecessor_bcssol_right_table_zero_row. bcf_index_bcssol_right_table_zero_row = S bcf_predecessor_bcssol_right_table_zero_row /\ bcf_value_bcssol_right_table_zero_row = 0)))) \/ exists bcf_predecessor_bcssol_right_table bcf_previous_code_bcssol_right_table bcf_previous_scale_bcssol_right_table. bcf_row_index_bcssol_right_table = S bcf_predecessor_bcssol_right_table /\ ((((exists bcf_height_bcssol_right_table_decoded_previous_code. bcf_height_bcssol_right_table_decoded_previous_code + S (bcf_previous_code_bcssol_right_table) = S ((S (bcf_predecessor_bcssol_right_table)) * bcf_row_code_scale_bcssol_right)) /\ exists bcf_quotient_bcssol_right_table_decoded_previous_code. bcf_row_code_code_bcssol_right = bcf_quotient_bcssol_right_table_decoded_previous_code * S ((S (bcf_predecessor_bcssol_right_table)) * bcf_row_code_scale_bcssol_right) + (bcf_previous_code_bcssol_right_table))) /\ ((((exists bcf_height_bcssol_right_table_decoded_previous_scale. bcf_height_bcssol_right_table_decoded_previous_scale + S (bcf_previous_scale_bcssol_right_table) = S ((S (bcf_predecessor_bcssol_right_table)) * bcf_row_scale_scale_bcssol_right)) /\ exists bcf_quotient_bcssol_right_table_decoded_previous_scale. bcf_row_scale_code_bcssol_right = bcf_quotient_bcssol_right_table_decoded_previous_scale * S ((S (bcf_predecessor_bcssol_right_table)) * bcf_row_scale_scale_bcssol_right) + (bcf_previous_scale_bcssol_right_table))) /\ (forall bcf_index_bcssol_right_table_row_step. (exists bcf_lt_gap_bcssol_right_table_row_step_bound. bcf_lt_gap_bcssol_right_table_row_step_bound + S (bcf_index_bcssol_right_table_row_step) = S (n)) -> exists bcf_value_bcssol_right_table_row_step. ((((exists bcf_height_bcssol_right_table_row_step_entry. bcf_height_bcssol_right_table_row_step_entry + S (bcf_value_bcssol_right_table_row_step) = S ((S (bcf_index_bcssol_right_table_row_step)) * bcf_row_scale_bcssol_right_table)) /\ exists bcf_quotient_bcssol_right_table_row_step_entry. bcf_row_code_bcssol_right_table = bcf_quotient_bcssol_right_table_row_step_entry * S ((S (bcf_index_bcssol_right_table_row_step)) * bcf_row_scale_bcssol_right_table) + (bcf_value_bcssol_right_table_row_step))) /\ ((bcf_index_bcssol_right_table_row_step = 0 /\ bcf_value_bcssol_right_table_row_step = 1) \/ exists bcf_predecessor_bcssol_right_table_row_step bcf_left_bcssol_right_table_row_step bcf_right_bcssol_right_table_row_step. bcf_index_bcssol_right_table_row_step = S bcf_predecessor_bcssol_right_table_row_step /\ ((((exists bcf_height_bcssol_right_table_row_step_previous_left. bcf_height_bcssol_right_table_row_step_previous_left + S (bcf_left_bcssol_right_table_row_step) = S ((S (bcf_predecessor_bcssol_right_table_row_step)) * bcf_previous_scale_bcssol_right_table)) /\ exists bcf_quotient_bcssol_right_table_row_step_previous_left. bcf_previous_code_bcssol_right_table = bcf_quotient_bcssol_right_table_row_step_previous_left * S ((S (bcf_predecessor_bcssol_right_table_row_step)) * bcf_previous_scale_bcssol_right_table) + (bcf_left_bcssol_right_table_row_step))) /\ ((((exists bcf_height_bcssol_right_table_row_step_previous_right. bcf_height_bcssol_right_table_row_step_previous_right + S (bcf_right_bcssol_right_table_row_step) = S ((S (S (bcf_predecessor_bcssol_right_table_row_step))) * bcf_previous_scale_bcssol_right_table)) /\ exists bcf_quotient_bcssol_right_table_row_step_previous_right. bcf_previous_code_bcssol_right_table = bcf_quotient_bcssol_right_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcssol_right_table_row_step))) * bcf_previous_scale_bcssol_right_table) + (bcf_right_bcssol_right_table_row_step))) /\ bcf_value_bcssol_right_table_row_step = bcf_left_bcssol_right_table_row_step + bcf_right_bcssol_right_table_row_step))))))))))) /\ ((((exists bcf_height_bcssol_right_decoded_row_code. bcf_height_bcssol_right_decoded_row_code + S (bcf_row_code_bcssol_right) = S ((S (n)) * bcf_row_code_scale_bcssol_right)) /\ exists bcf_quotient_bcssol_right_decoded_row_code. bcf_row_code_code_bcssol_right = bcf_quotient_bcssol_right_decoded_row_code * S ((S (n)) * bcf_row_code_scale_bcssol_right) + (bcf_row_code_bcssol_right))) /\ ((((exists bcf_height_bcssol_right_decoded_row_scale. bcf_height_bcssol_right_decoded_row_scale + S (bcf_row_scale_bcssol_right) = S ((S (n)) * bcf_row_scale_scale_bcssol_right)) /\ exists bcf_quotient_bcssol_right_decoded_row_scale. bcf_row_scale_code_bcssol_right = bcf_quotient_bcssol_right_decoded_row_scale * S ((S (n)) * bcf_row_scale_scale_bcssol_right) + (bcf_row_scale_bcssol_right))) /\ (((exists bcf_height_bcssol_right_decoded_value. bcf_height_bcssol_right_decoded_value + S (y) = S ((S (S k)) * bcf_row_scale_bcssol_right)) /\ exists bcf_quotient_bcssol_right_decoded_value. bcf_row_code_bcssol_right = bcf_quotient_bcssol_right_decoded_value * S ((S (S k)) * bcf_row_scale_bcssol_right) + (y))))))))) -> (((exists bcf_lt_gap_bcssol_result_out_of_range. bcf_lt_gap_bcssol_result_out_of_range + S (S n) = S k) /\ z = 0) \/ ((exists bcf_le_gap_bcssol_result_in_range. bcf_le_gap_bcssol_result_in_range + (S k) = S n) /\ (exists bcf_row_code_code_bcssol_result bcf_row_code_scale_bcssol_result bcf_row_scale_code_bcssol_result bcf_row_scale_scale_bcssol_result bcf_row_code_bcssol_result bcf_row_scale_bcssol_result. ((forall bcf_row_index_bcssol_result_table. (exists bcf_lt_gap_bcssol_result_table_row_bound. bcf_lt_gap_bcssol_result_table_row_bound + S (bcf_row_index_bcssol_result_table) = S (S n)) -> exists bcf_row_code_bcssol_result_table bcf_row_scale_bcssol_result_table. ((((exists bcf_height_bcssol_result_table_decoded_row_code. bcf_height_bcssol_result_table_decoded_row_code + S (bcf_row_code_bcssol_result_table) = S ((S (bcf_row_index_bcssol_result_table)) * bcf_row_code_scale_bcssol_result)) /\ exists bcf_quotient_bcssol_result_table_decoded_row_code. bcf_row_code_code_bcssol_result = bcf_quotient_bcssol_result_table_decoded_row_code * S ((S (bcf_row_index_bcssol_result_table)) * bcf_row_code_scale_bcssol_result) + (bcf_row_code_bcssol_result_table))) /\ ((((exists bcf_height_bcssol_result_table_decoded_row_scale. bcf_height_bcssol_result_table_decoded_row_scale + S (bcf_row_scale_bcssol_result_table) = S ((S (bcf_row_index_bcssol_result_table)) * bcf_row_scale_scale_bcssol_result)) /\ exists bcf_quotient_bcssol_result_table_decoded_row_scale. bcf_row_scale_code_bcssol_result = bcf_quotient_bcssol_result_table_decoded_row_scale * S ((S (bcf_row_index_bcssol_result_table)) * bcf_row_scale_scale_bcssol_result) + (bcf_row_scale_bcssol_result_table))) /\ ((bcf_row_index_bcssol_result_table = 0 /\ (forall bcf_index_bcssol_result_table_zero_row. (exists bcf_lt_gap_bcssol_result_table_zero_row_bound. bcf_lt_gap_bcssol_result_table_zero_row_bound + S (bcf_index_bcssol_result_table_zero_row) = S (S n)) -> exists bcf_value_bcssol_result_table_zero_row. ((((exists bcf_height_bcssol_result_table_zero_row_entry. bcf_height_bcssol_result_table_zero_row_entry + S (bcf_value_bcssol_result_table_zero_row) = S ((S (bcf_index_bcssol_result_table_zero_row)) * bcf_row_scale_bcssol_result_table)) /\ exists bcf_quotient_bcssol_result_table_zero_row_entry. bcf_row_code_bcssol_result_table = bcf_quotient_bcssol_result_table_zero_row_entry * S ((S (bcf_index_bcssol_result_table_zero_row)) * bcf_row_scale_bcssol_result_table) + (bcf_value_bcssol_result_table_zero_row))) /\ ((bcf_index_bcssol_result_table_zero_row = 0 /\ bcf_value_bcssol_result_table_zero_row = 1) \/ exists bcf_predecessor_bcssol_result_table_zero_row. bcf_index_bcssol_result_table_zero_row = S bcf_predecessor_bcssol_result_table_zero_row /\ bcf_value_bcssol_result_table_zero_row = 0)))) \/ exists bcf_predecessor_bcssol_result_table bcf_previous_code_bcssol_result_table bcf_previous_scale_bcssol_result_table. bcf_row_index_bcssol_result_table = S bcf_predecessor_bcssol_result_table /\ ((((exists bcf_height_bcssol_result_table_decoded_previous_code. bcf_height_bcssol_result_table_decoded_previous_code + S (bcf_previous_code_bcssol_result_table) = S ((S (bcf_predecessor_bcssol_result_table)) * bcf_row_code_scale_bcssol_result)) /\ exists bcf_quotient_bcssol_result_table_decoded_previous_code. bcf_row_code_code_bcssol_result = bcf_quotient_bcssol_result_table_decoded_previous_code * S ((S (bcf_predecessor_bcssol_result_table)) * bcf_row_code_scale_bcssol_result) + (bcf_previous_code_bcssol_result_table))) /\ ((((exists bcf_height_bcssol_result_table_decoded_previous_scale. bcf_height_bcssol_result_table_decoded_previous_scale + S (bcf_previous_scale_bcssol_result_table) = S ((S (bcf_predecessor_bcssol_result_table)) * bcf_row_scale_scale_bcssol_result)) /\ exists bcf_quotient_bcssol_result_table_decoded_previous_scale. bcf_row_scale_code_bcssol_result = bcf_quotient_bcssol_result_table_decoded_previous_scale * S ((S (bcf_predecessor_bcssol_result_table)) * bcf_row_scale_scale_bcssol_result) + (bcf_previous_scale_bcssol_result_table))) /\ (forall bcf_index_bcssol_result_table_row_step. (exists bcf_lt_gap_bcssol_result_table_row_step_bound. bcf_lt_gap_bcssol_result_table_row_step_bound + S (bcf_index_bcssol_result_table_row_step) = S (S n)) -> exists bcf_value_bcssol_result_table_row_step. ((((exists bcf_height_bcssol_result_table_row_step_entry. bcf_height_bcssol_result_table_row_step_entry + S (bcf_value_bcssol_result_table_row_step) = S ((S (bcf_index_bcssol_result_table_row_step)) * bcf_row_scale_bcssol_result_table)) /\ exists bcf_quotient_bcssol_result_table_row_step_entry. bcf_row_code_bcssol_result_table = bcf_quotient_bcssol_result_table_row_step_entry * S ((S (bcf_index_bcssol_result_table_row_step)) * bcf_row_scale_bcssol_result_table) + (bcf_value_bcssol_result_table_row_step))) /\ ((bcf_index_bcssol_result_table_row_step = 0 /\ bcf_value_bcssol_result_table_row_step = 1) \/ exists bcf_predecessor_bcssol_result_table_row_step bcf_left_bcssol_result_table_row_step bcf_right_bcssol_result_table_row_step. bcf_index_bcssol_result_table_row_step = S bcf_predecessor_bcssol_result_table_row_step /\ ((((exists bcf_height_bcssol_result_table_row_step_previous_left. bcf_height_bcssol_result_table_row_step_previous_left + S (bcf_left_bcssol_result_table_row_step) = S ((S (bcf_predecessor_bcssol_result_table_row_step)) * bcf_previous_scale_bcssol_result_table)) /\ exists bcf_quotient_bcssol_result_table_row_step_previous_left. bcf_previous_code_bcssol_result_table = bcf_quotient_bcssol_result_table_row_step_previous_left * S ((S (bcf_predecessor_bcssol_result_table_row_step)) * bcf_previous_scale_bcssol_result_table) + (bcf_left_bcssol_result_table_row_step))) /\ ((((exists bcf_height_bcssol_result_table_row_step_previous_right. bcf_height_bcssol_result_table_row_step_previous_right + S (bcf_right_bcssol_result_table_row_step) = S ((S (S (bcf_predecessor_bcssol_result_table_row_step))) * bcf_previous_scale_bcssol_result_table)) /\ exists bcf_quotient_bcssol_result_table_row_step_previous_right. bcf_previous_code_bcssol_result_table = bcf_quotient_bcssol_result_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcssol_result_table_row_step))) * bcf_previous_scale_bcssol_result_table) + (bcf_right_bcssol_result_table_row_step))) /\ bcf_value_bcssol_result_table_row_step = bcf_left_bcssol_result_table_row_step + bcf_right_bcssol_result_table_row_step))))))))))) /\ ((((exists bcf_height_bcssol_result_decoded_row_code. bcf_height_bcssol_result_decoded_row_code + S (bcf_row_code_bcssol_result) = S ((S (S n)) * bcf_row_code_scale_bcssol_result)) /\ exists bcf_quotient_bcssol_result_decoded_row_code. bcf_row_code_code_bcssol_result = bcf_quotient_bcssol_result_decoded_row_code * S ((S (S n)) * bcf_row_code_scale_bcssol_result) + (bcf_row_code_bcssol_result))) /\ ((((exists bcf_height_bcssol_result_decoded_row_scale. bcf_height_bcssol_result_decoded_row_scale + S (bcf_row_scale_bcssol_result) = S ((S (S n)) * bcf_row_scale_scale_bcssol_result)) /\ exists bcf_quotient_bcssol_result_decoded_row_scale. bcf_row_scale_code_bcssol_result = bcf_quotient_bcssol_result_decoded_row_scale * S ((S (S n)) * bcf_row_scale_scale_bcssol_result) + (bcf_row_scale_bcssol_result))) /\ (((exists bcf_height_bcssol_result_decoded_value. bcf_height_bcssol_result_decoded_value + S (z) = S ((S (S k)) * bcf_row_scale_bcssol_result)) /\ exists bcf_quotient_bcssol_result_decoded_value. bcf_row_code_bcssol_result = bcf_quotient_bcssol_result_decoded_value * S ((S (S k)) * bcf_row_scale_bcssol_result) + (z))))))))) -> z = x + yProof neighborhood
Direct theorem prerequisites
BT001I lt_not_le BT0019 lt_to_le BT000E le_refl BT0018 le_succ BT0016 succ_le_succ BT00TB beta_pascal_table_row_pointwise_functional BT00TH beta_pascal_table_successor_cell_recurrenceDirect 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 (7)
01Fix variables and assumptionsL1–9
02Separate the logical casesL10–12
03Establish hleft_leL13–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt to le.
04Separate the logical casesL23–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases hleft_right - L24
cases hleft_right_right - L25
cases hleft_right_right_witness - L26
cases hleft_right_right_witness_witness - L27
cases hleft_right_right_witness_witness_witness - L28
cases hleft_right_right_witness_witness_witness_witness - L29
cases hleft_right_right_witness_witness_witness_witness_witness - L30
cases hleft_right_right_witness_witness_witness_witness_witness_witness - L31
cases hleft_right_right_witness_witness_witness_witness_witness_witness_right - L32
cases hleft_right_right_witness_witness_witness_witness_witness_witness_right_right
05Separate the logical casesL33–35
06Use earlier factsL36–40
07Separate the logical casesL41–50
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
cases hright_right - L42
cases hright_right_right - L43
cases hright_right_right_witness - L44
cases hright_right_right_witness_witness - L45
cases hright_right_right_witness_witness_witness - L46
cases hright_right_right_witness_witness_witness_witness - L47
cases hright_right_right_witness_witness_witness_witness_witness - L48
cases hright_right_right_witness_witness_witness_witness_witness_witness - L49
cases hright_right_right_witness_witness_witness_witness_witness_witness_right - L50
cases hright_right_right_witness_witness_witness_witness_witness_witness_right_right
08Establish htarget_rangeL51–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le succ.
09Separate the logical casesL56–58
10Use earlier factsL59–63
11Separate the logical casesL64–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L64
cases htarget_right - L65
cases htarget_right_right - L66
cases htarget_right_right_witness - L67
cases htarget_right_right_witness_witness - L68
cases htarget_right_right_witness_witness_witness - L69
cases htarget_right_right_witness_witness_witness_witness - L70
cases htarget_right_right_witness_witness_witness_witness_witness - L71
cases htarget_right_right_witness_witness_witness_witness_witness_witness - L72
cases htarget_right_right_witness_witness_witness_witness_witness_witness_right - L73
cases htarget_right_right_witness_witness_witness_witness_witness_witness_right_right
12Establish hcurrent_row_boundL74–76
Establish this local claim before using it. It is not an additional assumption.
- L74
have hcurrent_row_bound : Lt(S n,S S n)Definitions: Lt(S n,S S n)Original native command in the exact edition - L75
specialize le_refl (S (S n)) - L76
exact le_refl
13Establish hcurrent_cell_boundL77–81
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ le succ.
- L77
have hcurrent_cell_bound : Lt(S k,S S n)Definitions: Lt(S k,S S n)Original native command in the exact edition - L78
specialize succ_le_succ (S k) - L79
specialize succ_le_succ (S n) - L80
apply succ_le_succ - L81
exact htarget_range
14Establish hrecurrenceL82–91
Establish this local claim before using it. It is not an additional assumption.
- L82Definitions: BetaAt(x13,x14,n,bcf_previous_code_bcssol_recurrence_result)BetaAt(x15,x16,n,bcf_previous_scale_bcssol_recurrence_result)BetaAt(bcf_previous_code_bcssol_recurrence_result,bcf_previous_scale_bcssol_recurrence_result,k,bcf_left_value_bcssol_recurrence_result)BetaAt(bcf_previous_code_bcssol_recurrence_result,bcf_previous_scale_bcssol_recurrence_result,S k,bcf_right_value_bcssol_recurrence_result)Original native command in the exact edition
have hrecurrence · expand full local formula (699 characters)
have hrecurrence : ∃ bcf_previous_code_bcssol_recurrence_result. ∃ bcf_previous_scale_bcssol_recurrence_result. ∃ bcf_left_value_bcssol_recurrence_result. ∃ bcf_right_value_bcssol_recurrence_result. BetaAt(x13,x14,n,bcf_previous_code_bcssol_recurrence_result) ∧ (BetaAt(x15,x16,n,bcf_previous_scale_bcssol_recurrence_result) ∧ (BetaAt(bcf_previous_code_bcssol_recurrence_result,bcf_previous_scale_bcssol_recurrence_result,k,bcf_left_value_bcssol_recurrence_result) ∧ (BetaAt(bcf_previous_code_bcssol_recurrence_result,bcf_previous_scale_bcssol_recurrence_result,S k,bcf_right_value_bcssol_recurrence_result) ∧ z = bcf_left_value_bcssol_recurrence_result + bcf_right_value_bcssol_recurrence_result))) - L83
specialize beta_pascal_table_successor_cell_recurrence x13 - L84
specialize beta_pascal_table_successor_cell_recurrence x14 - L85
specialize beta_pascal_table_successor_cell_recurrence x15 - L86
specialize beta_pascal_table_successor_cell_recurrence x16 - L87
specialize beta_pascal_table_successor_cell_recurrence (S (S n)) - L88
specialize beta_pascal_table_successor_cell_recurrence (S (S n)) - L89
specialize beta_pascal_table_successor_cell_recurrence n - L90
specialize beta_pascal_table_successor_cell_recurrence k - L91
specialize beta_pascal_table_successor_cell_recurrence x17
15Use earlier factsL92–100
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L92
specialize beta_pascal_table_successor_cell_recurrence x18 - L93
specialize beta_pascal_table_successor_cell_recurrence z - L94
apply beta_pascal_table_successor_cell_recurrence - L95
exact htarget_right_right_witness_witness_witness_witness_witness_witness_left - L96
exact hcurrent_row_bound - L97
exact hcurrent_cell_bound - L98
exact htarget_right_right_witness_witness_witness_witness_witness_witness_right_left - L99
exact htarget_right_right_witness_witness_witness_witness_witness_witness_right_right_left - L100
exact htarget_right_right_witness_witness_witness_witness_witness_witness_right_right_right
16Separate the logical casesL101–108
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L101
cases hrecurrence - L102
cases hrecurrence_witness - L103
cases hrecurrence_witness_witness - L104
cases hrecurrence_witness_witness_witness - L105
cases hrecurrence_witness_witness_witness_witness - L106
cases hrecurrence_witness_witness_witness_witness_right - L107
cases hrecurrence_witness_witness_witness_witness_right_right - L108
cases hrecurrence_witness_witness_witness_witness_right_right_right
17Establish hpredecessor_row_boundL109–114
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le succ.
- L109
have hpredecessor_row_bound : Lt(n,S S n)Definitions: Lt(n,S S n)Original native command in the exact edition - L110
specialize le_succ (S n) - L111
specialize le_succ (S n) - L112
apply le_succ - L113
specialize le_refl (S n) - L114
exact le_refl
18Establish hsource_row_boundL115–117
Establish this local claim before using it. It is not an additional assumption.
- L115
have hsource_row_bound : Lt(n,S n)Definitions: Lt(n,S n)Original native command in the exact edition - L116
specialize le_refl (S n) - L117
exact le_refl
19Establish hresult_left_boundL118–122
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le succ.
- L118
have hresult_left_bound : Lt(k,S S n)Definitions: Lt(k,S S n)Original native command in the exact edition - L119
specialize le_succ (S k) - L120
specialize le_succ (S n) - L121
apply le_succ - L122
exact htarget_range
20Establish hsource_left_boundL123–124
Establish this local claim before using it. It is not an additional assumption.
- L123
have hsource_left_bound : Lt(k,S n)Definitions: Lt(k,S n)Original native command in the exact edition - L124
exact htarget_range
21Establish hsource_right_boundL125–129
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ le succ.
- L125
have hsource_right_bound : Lt(S k,S n)Definitions: Lt(S k,S n)Original native command in the exact edition - L126
specialize succ_le_succ (S k) - L127
specialize succ_le_succ n - L128
apply succ_le_succ - L129
exact hbound
22Establish hleft_agreementL130–139
Establish this local claim before using it. It is not an additional assumption.
- L130
have hleft_agreement : ∀ bcf_index_bcssol_left_agreement. ∀ bcf_left_value_bcssol_left_agreement. ∀ bcf_right_value_bcssol_left_agreement. Lt(bcf_index_bcssol_left_agreement,S S n) → Lt(bcf_index_bcssol_left_agreement,S n) → BetaAt(x19,x20,bcf_index_bcssol_left_agreement,bcf_left_value_bcssol_left_agreement) → BetaAt(x5,x6,bcf_index_bcssol_left_agreement,bcf_right_value_bcssol_left_agreement) → bcf_left_value_bcssol_left_agreement = bcf_right_value_bcssol_left_agreementDefinitions: Lt(bcf_index_bcssol_left_agreement,S S n)Lt(bcf_index_bcssol_left_agreement,S n)BetaAt(x19,x20,bcf_index_bcssol_left_agreement,bcf_left_value_bcssol_left_agreement)BetaAt(x5,x6,bcf_index_bcssol_left_agreement,bcf_right_value_bcssol_left_agreement)Original native command in the exact edition - L131
specialize beta_pascal_table_row_pointwise_functional x13 - L132
specialize beta_pascal_table_row_pointwise_functional x14 - L133
specialize beta_pascal_table_row_pointwise_functional x15 - L134
specialize beta_pascal_table_row_pointwise_functional x16 - L135
specialize beta_pascal_table_row_pointwise_functional (S (S n)) - L136
specialize beta_pascal_table_row_pointwise_functional (S (S n)) - L137
specialize beta_pascal_table_row_pointwise_functional x1 - L138
specialize beta_pascal_table_row_pointwise_functional x2 - L139
specialize beta_pascal_table_row_pointwise_functional x3
23Use earlier factsL140–149
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L140
specialize beta_pascal_table_row_pointwise_functional x4 - L141
specialize beta_pascal_table_row_pointwise_functional (S n) - L142
specialize beta_pascal_table_row_pointwise_functional (S n) - L143
specialize beta_pascal_table_row_pointwise_functional n - L144
specialize beta_pascal_table_row_pointwise_functional x19 - L145
specialize beta_pascal_table_row_pointwise_functional x20 - L146
specialize beta_pascal_table_row_pointwise_functional x5 - L147
specialize beta_pascal_table_row_pointwise_functional x6 - L148
apply beta_pascal_table_row_pointwise_functional - L149
exact htarget_right_right_witness_witness_witness_witness_witness_witness_left
24Use earlier factsL150–156
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L150
exact hleft_right_right_witness_witness_witness_witness_witness_witness_left - L151
exact hpredecessor_row_bound - L152
exact hsource_row_bound - L153
exact hrecurrence_witness_witness_witness_witness_left - L154
exact hrecurrence_witness_witness_witness_witness_right_left - L155
exact hleft_right_right_witness_witness_witness_witness_witness_witness_right_left - L156
exact hleft_right_right_witness_witness_witness_witness_witness_witness_right_right_left
25Establish hleft_valueL157–165
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hleft agreement.
- L157
have hleft_value : x21 = x - L158
specialize hleft_agreement k - L159
specialize hleft_agreement x21 - L160
specialize hleft_agreement x - L161
apply hleft_agreement - L162
exact hresult_left_bound - L163
exact hsource_left_bound - L164
exact hrecurrence_witness_witness_witness_witness_right_right_left - L165
exact hleft_right_right_witness_witness_witness_witness_witness_witness_right_right_right
26Establish hright_agreementL166–175
Establish this local claim before using it. It is not an additional assumption.
- L166
have hright_agreement : ∀ bcf_index_bcssol_right_agreement. ∀ bcf_left_value_bcssol_right_agreement. ∀ bcf_right_value_bcssol_right_agreement. Lt(bcf_index_bcssol_right_agreement,S S n) → Lt(bcf_index_bcssol_right_agreement,S n) → BetaAt(x19,x20,bcf_index_bcssol_right_agreement,bcf_left_value_bcssol_right_agreement) → BetaAt(x11,x12,bcf_index_bcssol_right_agreement,bcf_right_value_bcssol_right_agreement) → bcf_left_value_bcssol_right_agreement = bcf_right_value_bcssol_right_agreementDefinitions: Lt(bcf_index_bcssol_right_agreement,S S n)Lt(bcf_index_bcssol_right_agreement,S n)BetaAt(x19,x20,bcf_index_bcssol_right_agreement,bcf_left_value_bcssol_right_agreement)BetaAt(x11,x12,bcf_index_bcssol_right_agreement,bcf_right_value_bcssol_right_agreement)Original native command in the exact edition - L167
specialize beta_pascal_table_row_pointwise_functional x13 - L168
specialize beta_pascal_table_row_pointwise_functional x14 - L169
specialize beta_pascal_table_row_pointwise_functional x15 - L170
specialize beta_pascal_table_row_pointwise_functional x16 - L171
specialize beta_pascal_table_row_pointwise_functional (S (S n)) - L172
specialize beta_pascal_table_row_pointwise_functional (S (S n)) - L173
specialize beta_pascal_table_row_pointwise_functional x7 - L174
specialize beta_pascal_table_row_pointwise_functional x8 - L175
specialize beta_pascal_table_row_pointwise_functional x9
27Use earlier factsL176–185
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L176
specialize beta_pascal_table_row_pointwise_functional x10 - L177
specialize beta_pascal_table_row_pointwise_functional (S n) - L178
specialize beta_pascal_table_row_pointwise_functional (S n) - L179
specialize beta_pascal_table_row_pointwise_functional n - L180
specialize beta_pascal_table_row_pointwise_functional x19 - L181
specialize beta_pascal_table_row_pointwise_functional x20 - L182
specialize beta_pascal_table_row_pointwise_functional x11 - L183
specialize beta_pascal_table_row_pointwise_functional x12 - L184
apply beta_pascal_table_row_pointwise_functional - L185
exact htarget_right_right_witness_witness_witness_witness_witness_witness_left
28Use earlier factsL186–192
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L186
exact hright_right_right_witness_witness_witness_witness_witness_witness_left - L187
exact hpredecessor_row_bound - L188
exact hsource_row_bound - L189
exact hrecurrence_witness_witness_witness_witness_left - L190
exact hrecurrence_witness_witness_witness_witness_right_left - L191
exact hright_right_right_witness_witness_witness_witness_witness_witness_right_left - L192
exact hright_right_right_witness_witness_witness_witness_witness_witness_right_right_left
29Establish hright_valueL193–202
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hright agreement.
- L193
have hright_value : x22 = y - L194
specialize hright_agreement (S k) - L195
specialize hright_agreement x22 - L196
specialize hright_agreement y - L197
apply hright_agreement - L198
exact hcurrent_cell_bound - L199
exact hsource_right_bound - L200
exact hrecurrence_witness_witness_witness_witness_right_right_right_left - L201
exact hright_right_right_witness_witness_witness_witness_witness_witness_right_right_right - L202
trans x21 + x22
30Use earlier factsL203–203
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L203
exact hrecurrence_witness_witness_witness_witness_right_right_right_right
31Calculate and transport equalitiesL204–204
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L204
congr
Original defined command ledger · 206 lines
- 0001
intro n - 0002
intro k - 0003
intro x - 0004
intro y - 0005
intro z - 0006
intro hbound - 0007
intro hleft - 0008
intro hright - 0009
intro htarget - 0010
cases hleft - 0011
cases hleft_left - 0012
exfalso - 0013
have hleft_le : Le(k,n)Exact native replay line
have hleft_le : exists bcf_le_gap_bcssol_left_le. bcf_le_gap_bcssol_left_le + (k) = n - 0014
specialize lt_to_le k - 0015
specialize lt_to_le n - 0016
apply lt_to_le - 0017
exact hbound - 0018
specialize lt_not_le n - 0019
specialize lt_not_le k - 0020
apply lt_not_le - 0021
exact hleft_left_left - 0022
exact hleft_le - 0023
cases hleft_right - 0024
cases hleft_right_right - 0025
cases hleft_right_right_witness - 0026
cases hleft_right_right_witness_witness - 0027
cases hleft_right_right_witness_witness_witness - 0028
cases hleft_right_right_witness_witness_witness_witness - 0029
cases hleft_right_right_witness_witness_witness_witness_witness - 0030
cases hleft_right_right_witness_witness_witness_witness_witness_witness - 0031
cases hleft_right_right_witness_witness_witness_witness_witness_witness_right - 0032
cases hleft_right_right_witness_witness_witness_witness_witness_witness_right_right - 0033
cases hright - 0034
cases hright_left - 0035
exfalso - 0036
specialize lt_not_le n - 0037
specialize lt_not_le (S k) - 0038
apply lt_not_le - 0039
exact hright_left_left - 0040
exact hbound - 0041
cases hright_right - 0042
cases hright_right_right - 0043
cases hright_right_right_witness - 0044
cases hright_right_right_witness_witness - 0045
cases hright_right_right_witness_witness_witness - 0046
cases hright_right_right_witness_witness_witness_witness - 0047
cases hright_right_right_witness_witness_witness_witness_witness - 0048
cases hright_right_right_witness_witness_witness_witness_witness_witness - 0049
cases hright_right_right_witness_witness_witness_witness_witness_witness_right - 0050
cases hright_right_right_witness_witness_witness_witness_witness_witness_right_right - 0051
have htarget_range : Lt(k,S n)Exact native replay line
have htarget_range : exists bcf_le_gap_bcssol_target_range. bcf_le_gap_bcssol_target_range + (S k) = S n - 0052
specialize le_succ (S k) - 0053
specialize le_succ n - 0054
apply le_succ - 0055
exact hbound - 0056
cases htarget - 0057
cases htarget_left - 0058
exfalso - 0059
specialize lt_not_le (S n) - 0060
specialize lt_not_le (S k) - 0061
apply lt_not_le - 0062
exact htarget_left_left - 0063
exact htarget_range - 0064
cases htarget_right - 0065
cases htarget_right_right - 0066
cases htarget_right_right_witness - 0067
cases htarget_right_right_witness_witness - 0068
cases htarget_right_right_witness_witness_witness - 0069
cases htarget_right_right_witness_witness_witness_witness - 0070
cases htarget_right_right_witness_witness_witness_witness_witness - 0071
cases htarget_right_right_witness_witness_witness_witness_witness_witness - 0072
cases htarget_right_right_witness_witness_witness_witness_witness_witness_right - 0073
cases htarget_right_right_witness_witness_witness_witness_witness_witness_right_right - 0074
have hcurrent_row_bound : Lt(S n,S S n)Exact native replay line
have hcurrent_row_bound : exists bcf_lt_gap_bcssol_current_row_bound. bcf_lt_gap_bcssol_current_row_bound + S (S n) = S (S n) - 0075
specialize le_refl (S (S n)) - 0076
exact le_refl - 0077
have hcurrent_cell_bound : Lt(S k,S S n)Exact native replay line
have hcurrent_cell_bound : exists bcf_lt_gap_bcssol_current_cell_bound. bcf_lt_gap_bcssol_current_cell_bound + S (S k) = S (S n) - 0078
specialize succ_le_succ (S k) - 0079
specialize succ_le_succ (S n) - 0080
apply succ_le_succ - 0081
exact htarget_range - 0082
have hrecurrence : ∃ bcf_previous_code_bcssol_recurrence_result. ∃ bcf_previous_scale_bcssol_recurrence_result. ∃ bcf_left_value_bcssol_recurrence_result. ∃ bcf_right_value_bcssol_recurrence_result. BetaAt(x13,x14,n,bcf_previous_code_bcssol_recurrence_result) ∧ (BetaAt(x15,x16,n,bcf_previous_scale_bcssol_recurrence_result) ∧ (BetaAt(bcf_previous_code_bcssol_recurrence_result,bcf_previous_scale_bcssol_recurrence_result,k,bcf_left_value_bcssol_recurrence_result) ∧ (BetaAt(bcf_previous_code_bcssol_recurrence_result,bcf_previous_scale_bcssol_recurrence_result,S k,bcf_right_value_bcssol_recurrence_result) ∧ z = bcf_left_value_bcssol_recurrence_result + bcf_right_value_bcssol_recurrence_result)))Exact native replay line
have hrecurrence : exists bcf_previous_code_bcssol_recurrence_result bcf_previous_scale_bcssol_recurrence_result bcf_left_value_bcssol_recurrence_result bcf_right_value_bcssol_recurrence_result. (((exists bcf_height_bcssol_recurrence_result_previous_code_at. bcf_height_bcssol_recurrence_result_previous_code_at + S (bcf_previous_code_bcssol_recurrence_result) = S ((S (n)) * x14)) /\ exists bcf_quotient_bcssol_recurrence_result_previous_code_at. x13 = bcf_quotient_bcssol_recurrence_result_previous_code_at * S ((S (n)) * x14) + (bcf_previous_code_bcssol_recurrence_result))) /\ ((((exists bcf_height_bcssol_recurrence_result_previous_scale_at. bcf_height_bcssol_recurrence_result_previous_scale_at + S (bcf_previous_scale_bcssol_recurrence_result) = S ((S (n)) * x16)) /\ exists bcf_quotient_bcssol_recurrence_result_previous_scale_at. x15 = bcf_quotient_bcssol_recurrence_result_previous_scale_at * S ((S (n)) * x16) + (bcf_previous_scale_bcssol_recurrence_result))) /\ ((((exists bcf_height_bcssol_recurrence_result_left_at. bcf_height_bcssol_recurrence_result_left_at + S (bcf_left_value_bcssol_recurrence_result) = S ((S (k)) * bcf_previous_scale_bcssol_recurrence_result)) /\ exists bcf_quotient_bcssol_recurrence_result_left_at. bcf_previous_code_bcssol_recurrence_result = bcf_quotient_bcssol_recurrence_result_left_at * S ((S (k)) * bcf_previous_scale_bcssol_recurrence_result) + (bcf_left_value_bcssol_recurrence_result))) /\ ((((exists bcf_height_bcssol_recurrence_result_right_at. bcf_height_bcssol_recurrence_result_right_at + S (bcf_right_value_bcssol_recurrence_result) = S ((S (S (k))) * bcf_previous_scale_bcssol_recurrence_result)) /\ exists bcf_quotient_bcssol_recurrence_result_right_at. bcf_previous_code_bcssol_recurrence_result = bcf_quotient_bcssol_recurrence_result_right_at * S ((S (S (k))) * bcf_previous_scale_bcssol_recurrence_result) + (bcf_right_value_bcssol_recurrence_result))) /\ z = bcf_left_value_bcssol_recurrence_result + bcf_right_value_bcssol_recurrence_result))) - 0083
specialize beta_pascal_table_successor_cell_recurrence x13 - 0084
specialize beta_pascal_table_successor_cell_recurrence x14 - 0085
specialize beta_pascal_table_successor_cell_recurrence x15 - 0086
specialize beta_pascal_table_successor_cell_recurrence x16 - 0087
specialize beta_pascal_table_successor_cell_recurrence (S (S n)) - 0088
specialize beta_pascal_table_successor_cell_recurrence (S (S n)) - 0089
specialize beta_pascal_table_successor_cell_recurrence n - 0090
specialize beta_pascal_table_successor_cell_recurrence k - 0091
specialize beta_pascal_table_successor_cell_recurrence x17 - 0092
specialize beta_pascal_table_successor_cell_recurrence x18 - 0093
specialize beta_pascal_table_successor_cell_recurrence z - 0094
apply beta_pascal_table_successor_cell_recurrence - 0095
exact htarget_right_right_witness_witness_witness_witness_witness_witness_left - 0096
exact hcurrent_row_bound - 0097
exact hcurrent_cell_bound - 0098
exact htarget_right_right_witness_witness_witness_witness_witness_witness_right_left - 0099
exact htarget_right_right_witness_witness_witness_witness_witness_witness_right_right_left - 0100
exact htarget_right_right_witness_witness_witness_witness_witness_witness_right_right_right - 0101
cases hrecurrence - 0102
cases hrecurrence_witness - 0103
cases hrecurrence_witness_witness - 0104
cases hrecurrence_witness_witness_witness - 0105
cases hrecurrence_witness_witness_witness_witness - 0106
cases hrecurrence_witness_witness_witness_witness_right - 0107
cases hrecurrence_witness_witness_witness_witness_right_right - 0108
cases hrecurrence_witness_witness_witness_witness_right_right_right - 0109
have hpredecessor_row_bound : Lt(n,S S n)Exact native replay line
have hpredecessor_row_bound : exists bcf_lt_gap_bcssol_predecessor_row_bound. bcf_lt_gap_bcssol_predecessor_row_bound + S (n) = S (S n) - 0110
specialize le_succ (S n) - 0111
specialize le_succ (S n) - 0112
apply le_succ - 0113
specialize le_refl (S n) - 0114
exact le_refl - 0115
have hsource_row_bound : Lt(n,S n)Exact native replay line
have hsource_row_bound : exists bcf_lt_gap_bcssol_source_row_bound. bcf_lt_gap_bcssol_source_row_bound + S (n) = S n - 0116
specialize le_refl (S n) - 0117
exact le_refl - 0118
have hresult_left_bound : Lt(k,S S n)Exact native replay line
have hresult_left_bound : exists bcf_lt_gap_bcssol_result_left_bound. bcf_lt_gap_bcssol_result_left_bound + S (k) = S (S n) - 0119
specialize le_succ (S k) - 0120
specialize le_succ (S n) - 0121
apply le_succ - 0122
exact htarget_range - 0123
have hsource_left_bound : Lt(k,S n)Exact native replay line
have hsource_left_bound : exists bcf_lt_gap_bcssol_source_left_bound. bcf_lt_gap_bcssol_source_left_bound + S (k) = S n - 0124
exact htarget_range - 0125
have hsource_right_bound : Lt(S k,S n)Exact native replay line
have hsource_right_bound : exists bcf_lt_gap_bcssol_source_right_bound. bcf_lt_gap_bcssol_source_right_bound + S (S k) = S n - 0126
specialize succ_le_succ (S k) - 0127
specialize succ_le_succ n - 0128
apply succ_le_succ - 0129
exact hbound - 0130
have hleft_agreement : ∀ bcf_index_bcssol_left_agreement. ∀ bcf_left_value_bcssol_left_agreement. ∀ bcf_right_value_bcssol_left_agreement. Lt(bcf_index_bcssol_left_agreement,S S n) → Lt(bcf_index_bcssol_left_agreement,S n) → BetaAt(x19,x20,bcf_index_bcssol_left_agreement,bcf_left_value_bcssol_left_agreement) → BetaAt(x5,x6,bcf_index_bcssol_left_agreement,bcf_right_value_bcssol_left_agreement) → bcf_left_value_bcssol_left_agreement = bcf_right_value_bcssol_left_agreementExact native replay line
have hleft_agreement : forall bcf_index_bcssol_left_agreement bcf_left_value_bcssol_left_agreement bcf_right_value_bcssol_left_agreement. (exists bcf_lt_gap_bcssol_left_agreement_left_bound. bcf_lt_gap_bcssol_left_agreement_left_bound + S (bcf_index_bcssol_left_agreement) = S (S n)) -> (exists bcf_lt_gap_bcssol_left_agreement_right_bound. bcf_lt_gap_bcssol_left_agreement_right_bound + S (bcf_index_bcssol_left_agreement) = S n) -> (((exists bcf_height_bcssol_left_agreement_left_at. bcf_height_bcssol_left_agreement_left_at + S (bcf_left_value_bcssol_left_agreement) = S ((S (bcf_index_bcssol_left_agreement)) * x20)) /\ exists bcf_quotient_bcssol_left_agreement_left_at. x19 = bcf_quotient_bcssol_left_agreement_left_at * S ((S (bcf_index_bcssol_left_agreement)) * x20) + (bcf_left_value_bcssol_left_agreement))) -> (((exists bcf_height_bcssol_left_agreement_right_at. bcf_height_bcssol_left_agreement_right_at + S (bcf_right_value_bcssol_left_agreement) = S ((S (bcf_index_bcssol_left_agreement)) * x6)) /\ exists bcf_quotient_bcssol_left_agreement_right_at. x5 = bcf_quotient_bcssol_left_agreement_right_at * S ((S (bcf_index_bcssol_left_agreement)) * x6) + (bcf_right_value_bcssol_left_agreement))) -> bcf_left_value_bcssol_left_agreement = bcf_right_value_bcssol_left_agreement - 0131
specialize beta_pascal_table_row_pointwise_functional x13 - 0132
specialize beta_pascal_table_row_pointwise_functional x14 - 0133
specialize beta_pascal_table_row_pointwise_functional x15 - 0134
specialize beta_pascal_table_row_pointwise_functional x16 - 0135
specialize beta_pascal_table_row_pointwise_functional (S (S n)) - 0136
specialize beta_pascal_table_row_pointwise_functional (S (S n)) - 0137
specialize beta_pascal_table_row_pointwise_functional x1 - 0138
specialize beta_pascal_table_row_pointwise_functional x2 - 0139
specialize beta_pascal_table_row_pointwise_functional x3 - 0140
specialize beta_pascal_table_row_pointwise_functional x4 - 0141
specialize beta_pascal_table_row_pointwise_functional (S n) - 0142
specialize beta_pascal_table_row_pointwise_functional (S n) - 0143
specialize beta_pascal_table_row_pointwise_functional n - 0144
specialize beta_pascal_table_row_pointwise_functional x19 - 0145
specialize beta_pascal_table_row_pointwise_functional x20 - 0146
specialize beta_pascal_table_row_pointwise_functional x5 - 0147
specialize beta_pascal_table_row_pointwise_functional x6 - 0148
apply beta_pascal_table_row_pointwise_functional - 0149
exact htarget_right_right_witness_witness_witness_witness_witness_witness_left - 0150
exact hleft_right_right_witness_witness_witness_witness_witness_witness_left - 0151
exact hpredecessor_row_bound - 0152
exact hsource_row_bound - 0153
exact hrecurrence_witness_witness_witness_witness_left - 0154
exact hrecurrence_witness_witness_witness_witness_right_left - 0155
exact hleft_right_right_witness_witness_witness_witness_witness_witness_right_left - 0156
exact hleft_right_right_witness_witness_witness_witness_witness_witness_right_right_left - 0157
have hleft_value : x21 = x - 0158
specialize hleft_agreement k - 0159
specialize hleft_agreement x21 - 0160
specialize hleft_agreement x - 0161
apply hleft_agreement - 0162
exact hresult_left_bound - 0163
exact hsource_left_bound - 0164
exact hrecurrence_witness_witness_witness_witness_right_right_left - 0165
exact hleft_right_right_witness_witness_witness_witness_witness_witness_right_right_right - 0166
have hright_agreement : ∀ bcf_index_bcssol_right_agreement. ∀ bcf_left_value_bcssol_right_agreement. ∀ bcf_right_value_bcssol_right_agreement. Lt(bcf_index_bcssol_right_agreement,S S n) → Lt(bcf_index_bcssol_right_agreement,S n) → BetaAt(x19,x20,bcf_index_bcssol_right_agreement,bcf_left_value_bcssol_right_agreement) → BetaAt(x11,x12,bcf_index_bcssol_right_agreement,bcf_right_value_bcssol_right_agreement) → bcf_left_value_bcssol_right_agreement = bcf_right_value_bcssol_right_agreementExact native replay line
have hright_agreement : forall bcf_index_bcssol_right_agreement bcf_left_value_bcssol_right_agreement bcf_right_value_bcssol_right_agreement. (exists bcf_lt_gap_bcssol_right_agreement_left_bound. bcf_lt_gap_bcssol_right_agreement_left_bound + S (bcf_index_bcssol_right_agreement) = S (S n)) -> (exists bcf_lt_gap_bcssol_right_agreement_right_bound. bcf_lt_gap_bcssol_right_agreement_right_bound + S (bcf_index_bcssol_right_agreement) = S n) -> (((exists bcf_height_bcssol_right_agreement_left_at. bcf_height_bcssol_right_agreement_left_at + S (bcf_left_value_bcssol_right_agreement) = S ((S (bcf_index_bcssol_right_agreement)) * x20)) /\ exists bcf_quotient_bcssol_right_agreement_left_at. x19 = bcf_quotient_bcssol_right_agreement_left_at * S ((S (bcf_index_bcssol_right_agreement)) * x20) + (bcf_left_value_bcssol_right_agreement))) -> (((exists bcf_height_bcssol_right_agreement_right_at. bcf_height_bcssol_right_agreement_right_at + S (bcf_right_value_bcssol_right_agreement) = S ((S (bcf_index_bcssol_right_agreement)) * x12)) /\ exists bcf_quotient_bcssol_right_agreement_right_at. x11 = bcf_quotient_bcssol_right_agreement_right_at * S ((S (bcf_index_bcssol_right_agreement)) * x12) + (bcf_right_value_bcssol_right_agreement))) -> bcf_left_value_bcssol_right_agreement = bcf_right_value_bcssol_right_agreement - 0167
specialize beta_pascal_table_row_pointwise_functional x13 - 0168
specialize beta_pascal_table_row_pointwise_functional x14 - 0169
specialize beta_pascal_table_row_pointwise_functional x15 - 0170
specialize beta_pascal_table_row_pointwise_functional x16 - 0171
specialize beta_pascal_table_row_pointwise_functional (S (S n)) - 0172
specialize beta_pascal_table_row_pointwise_functional (S (S n)) - 0173
specialize beta_pascal_table_row_pointwise_functional x7 - 0174
specialize beta_pascal_table_row_pointwise_functional x8 - 0175
specialize beta_pascal_table_row_pointwise_functional x9 - 0176
specialize beta_pascal_table_row_pointwise_functional x10 - 0177
specialize beta_pascal_table_row_pointwise_functional (S n) - 0178
specialize beta_pascal_table_row_pointwise_functional (S n) - 0179
specialize beta_pascal_table_row_pointwise_functional n - 0180
specialize beta_pascal_table_row_pointwise_functional x19 - 0181
specialize beta_pascal_table_row_pointwise_functional x20 - 0182
specialize beta_pascal_table_row_pointwise_functional x11 - 0183
specialize beta_pascal_table_row_pointwise_functional x12 - 0184
apply beta_pascal_table_row_pointwise_functional - 0185
exact htarget_right_right_witness_witness_witness_witness_witness_witness_left - 0186
exact hright_right_right_witness_witness_witness_witness_witness_witness_left - 0187
exact hpredecessor_row_bound - 0188
exact hsource_row_bound - 0189
exact hrecurrence_witness_witness_witness_witness_left - 0190
exact hrecurrence_witness_witness_witness_witness_right_left - 0191
exact hright_right_right_witness_witness_witness_witness_witness_witness_right_left - 0192
exact hright_right_right_witness_witness_witness_witness_witness_witness_right_right_left - 0193
have hright_value : x22 = y - 0194
specialize hright_agreement (S k) - 0195
specialize hright_agreement x22 - 0196
specialize hright_agreement y - 0197
apply hright_agreement - 0198
exact hcurrent_cell_bound - 0199
exact hsource_right_bound - 0200
exact hrecurrence_witness_witness_witness_witness_right_right_right_left - 0201
exact hright_right_right_witness_witness_witness_witness_witness_witness_right_right_right - 0202
trans x21 + x22 - 0203
exact hrecurrence_witness_witness_witness_witness_right_right_right_right - 0204
congr - 0205
exact hleft_value - 0206
exact hright_value