BT00YD

central_binom_prime_valuation_zero_of_exact_double_quotients

Alpha body-checked ยท checked-use disabled

An all-zero carry prefix forces the exact central valuation to zero.

Exact expanded PA statement

forall p n C v q r R s. ((~(p = 1) /\ forall frm_prime_left_bcpvzeq_prime frm_prime_right_bcpvzeq_prime. p = frm_prime_left_bcpvzeq_prime * frm_prime_right_bcpvzeq_prime -> frm_prime_left_bcpvzeq_prime = 1 \/ frm_prime_right_bcpvzeq_prime = 1)) -> (((exists bcf_lt_gap_bcpvzeq_central_out_of_range. bcf_lt_gap_bcpvzeq_central_out_of_range + S (n + n) = n) /\ C = 0) \/ ((exists bcf_le_gap_bcpvzeq_central_in_range. bcf_le_gap_bcpvzeq_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bcpvzeq_central bcf_row_code_scale_bcpvzeq_central bcf_row_scale_code_bcpvzeq_central bcf_row_scale_scale_bcpvzeq_central bcf_row_code_bcpvzeq_central bcf_row_scale_bcpvzeq_central. ((forall bcf_row_index_bcpvzeq_central_table. (exists bcf_lt_gap_bcpvzeq_central_table_row_bound. bcf_lt_gap_bcpvzeq_central_table_row_bound + S (bcf_row_index_bcpvzeq_central_table) = S (n + n)) -> exists bcf_row_code_bcpvzeq_central_table bcf_row_scale_bcpvzeq_central_table. ((((exists bcf_height_bcpvzeq_central_table_decoded_row_code. bcf_height_bcpvzeq_central_table_decoded_row_code + S (bcf_row_code_bcpvzeq_central_table) = S ((S (bcf_row_index_bcpvzeq_central_table)) * bcf_row_code_scale_bcpvzeq_central)) /\ exists bcf_quotient_bcpvzeq_central_table_decoded_row_code. bcf_row_code_code_bcpvzeq_central = bcf_quotient_bcpvzeq_central_table_decoded_row_code * S ((S (bcf_row_index_bcpvzeq_central_table)) * bcf_row_code_scale_bcpvzeq_central) + (bcf_row_code_bcpvzeq_central_table))) /\ ((((exists bcf_height_bcpvzeq_central_table_decoded_row_scale. bcf_height_bcpvzeq_central_table_decoded_row_scale + S (bcf_row_scale_bcpvzeq_central_table) = S ((S (bcf_row_index_bcpvzeq_central_table)) * bcf_row_scale_scale_bcpvzeq_central)) /\ exists bcf_quotient_bcpvzeq_central_table_decoded_row_scale. bcf_row_scale_code_bcpvzeq_central = bcf_quotient_bcpvzeq_central_table_decoded_row_scale * S ((S (bcf_row_index_bcpvzeq_central_table)) * bcf_row_scale_scale_bcpvzeq_central) + (bcf_row_scale_bcpvzeq_central_table))) /\ ((bcf_row_index_bcpvzeq_central_table = 0 /\ (forall bcf_index_bcpvzeq_central_table_zero_row. (exists bcf_lt_gap_bcpvzeq_central_table_zero_row_bound. bcf_lt_gap_bcpvzeq_central_table_zero_row_bound + S (bcf_index_bcpvzeq_central_table_zero_row) = S (n + n)) -> exists bcf_value_bcpvzeq_central_table_zero_row. ((((exists bcf_height_bcpvzeq_central_table_zero_row_entry. bcf_height_bcpvzeq_central_table_zero_row_entry + S (bcf_value_bcpvzeq_central_table_zero_row) = S ((S (bcf_index_bcpvzeq_central_table_zero_row)) * bcf_row_scale_bcpvzeq_central_table)) /\ exists bcf_quotient_bcpvzeq_central_table_zero_row_entry. bcf_row_code_bcpvzeq_central_table = bcf_quotient_bcpvzeq_central_table_zero_row_entry * S ((S (bcf_index_bcpvzeq_central_table_zero_row)) * bcf_row_scale_bcpvzeq_central_table) + (bcf_value_bcpvzeq_central_table_zero_row))) /\ ((bcf_index_bcpvzeq_central_table_zero_row = 0 /\ bcf_value_bcpvzeq_central_table_zero_row = 1) \/ exists bcf_predecessor_bcpvzeq_central_table_zero_row. bcf_index_bcpvzeq_central_table_zero_row = S bcf_predecessor_bcpvzeq_central_table_zero_row /\ bcf_value_bcpvzeq_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bcpvzeq_central_table bcf_previous_code_bcpvzeq_central_table bcf_previous_scale_bcpvzeq_central_table. bcf_row_index_bcpvzeq_central_table = S bcf_predecessor_bcpvzeq_central_table /\ ((((exists bcf_height_bcpvzeq_central_table_decoded_previous_code. bcf_height_bcpvzeq_central_table_decoded_previous_code + S (bcf_previous_code_bcpvzeq_central_table) = S ((S (bcf_predecessor_bcpvzeq_central_table)) * bcf_row_code_scale_bcpvzeq_central)) /\ exists bcf_quotient_bcpvzeq_central_table_decoded_previous_code. bcf_row_code_code_bcpvzeq_central = bcf_quotient_bcpvzeq_central_table_decoded_previous_code * S ((S (bcf_predecessor_bcpvzeq_central_table)) * bcf_row_code_scale_bcpvzeq_central) + (bcf_previous_code_bcpvzeq_central_table))) /\ ((((exists bcf_height_bcpvzeq_central_table_decoded_previous_scale. bcf_height_bcpvzeq_central_table_decoded_previous_scale + S (bcf_previous_scale_bcpvzeq_central_table) = S ((S (bcf_predecessor_bcpvzeq_central_table)) * bcf_row_scale_scale_bcpvzeq_central)) /\ exists bcf_quotient_bcpvzeq_central_table_decoded_previous_scale. bcf_row_scale_code_bcpvzeq_central = bcf_quotient_bcpvzeq_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bcpvzeq_central_table)) * bcf_row_scale_scale_bcpvzeq_central) + (bcf_previous_scale_bcpvzeq_central_table))) /\ (forall bcf_index_bcpvzeq_central_table_row_step. (exists bcf_lt_gap_bcpvzeq_central_table_row_step_bound. bcf_lt_gap_bcpvzeq_central_table_row_step_bound + S (bcf_index_bcpvzeq_central_table_row_step) = S (n + n)) -> exists bcf_value_bcpvzeq_central_table_row_step. ((((exists bcf_height_bcpvzeq_central_table_row_step_entry. bcf_height_bcpvzeq_central_table_row_step_entry + S (bcf_value_bcpvzeq_central_table_row_step) = S ((S (bcf_index_bcpvzeq_central_table_row_step)) * bcf_row_scale_bcpvzeq_central_table)) /\ exists bcf_quotient_bcpvzeq_central_table_row_step_entry. bcf_row_code_bcpvzeq_central_table = bcf_quotient_bcpvzeq_central_table_row_step_entry * S ((S (bcf_index_bcpvzeq_central_table_row_step)) * bcf_row_scale_bcpvzeq_central_table) + (bcf_value_bcpvzeq_central_table_row_step))) /\ ((bcf_index_bcpvzeq_central_table_row_step = 0 /\ bcf_value_bcpvzeq_central_table_row_step = 1) \/ exists bcf_predecessor_bcpvzeq_central_table_row_step bcf_left_bcpvzeq_central_table_row_step bcf_right_bcpvzeq_central_table_row_step. bcf_index_bcpvzeq_central_table_row_step = S bcf_predecessor_bcpvzeq_central_table_row_step /\ ((((exists bcf_height_bcpvzeq_central_table_row_step_previous_left. bcf_height_bcpvzeq_central_table_row_step_previous_left + S (bcf_left_bcpvzeq_central_table_row_step) = S ((S (bcf_predecessor_bcpvzeq_central_table_row_step)) * bcf_previous_scale_bcpvzeq_central_table)) /\ exists bcf_quotient_bcpvzeq_central_table_row_step_previous_left. bcf_previous_code_bcpvzeq_central_table = bcf_quotient_bcpvzeq_central_table_row_step_previous_left * S ((S (bcf_predecessor_bcpvzeq_central_table_row_step)) * bcf_previous_scale_bcpvzeq_central_table) + (bcf_left_bcpvzeq_central_table_row_step))) /\ ((((exists bcf_height_bcpvzeq_central_table_row_step_previous_right. bcf_height_bcpvzeq_central_table_row_step_previous_right + S (bcf_right_bcpvzeq_central_table_row_step) = S ((S (S (bcf_predecessor_bcpvzeq_central_table_row_step))) * bcf_previous_scale_bcpvzeq_central_table)) /\ exists bcf_quotient_bcpvzeq_central_table_row_step_previous_right. bcf_previous_code_bcpvzeq_central_table = bcf_quotient_bcpvzeq_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcpvzeq_central_table_row_step))) * bcf_previous_scale_bcpvzeq_central_table) + (bcf_right_bcpvzeq_central_table_row_step))) /\ bcf_value_bcpvzeq_central_table_row_step = bcf_left_bcpvzeq_central_table_row_step + bcf_right_bcpvzeq_central_table_row_step))))))))))) /\ ((((exists bcf_height_bcpvzeq_central_decoded_row_code. bcf_height_bcpvzeq_central_decoded_row_code + S (bcf_row_code_bcpvzeq_central) = S ((S (n + n)) * bcf_row_code_scale_bcpvzeq_central)) /\ exists bcf_quotient_bcpvzeq_central_decoded_row_code. bcf_row_code_code_bcpvzeq_central = bcf_quotient_bcpvzeq_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bcpvzeq_central) + (bcf_row_code_bcpvzeq_central))) /\ ((((exists bcf_height_bcpvzeq_central_decoded_row_scale. bcf_height_bcpvzeq_central_decoded_row_scale + S (bcf_row_scale_bcpvzeq_central) = S ((S (n + n)) * bcf_row_scale_scale_bcpvzeq_central)) /\ exists bcf_quotient_bcpvzeq_central_decoded_row_scale. bcf_row_scale_code_bcpvzeq_central = bcf_quotient_bcpvzeq_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bcpvzeq_central) + (bcf_row_scale_bcpvzeq_central))) /\ (((exists bcf_height_bcpvzeq_central_decoded_value. bcf_height_bcpvzeq_central_decoded_value + S (C) = S ((S (n)) * bcf_row_scale_bcpvzeq_central)) /\ exists bcf_quotient_bcpvzeq_central_decoded_value. bcf_row_code_bcpvzeq_central = bcf_quotient_bcpvzeq_central_decoded_value * S ((S (n)) * bcf_row_scale_bcpvzeq_central) + (C))))))))) -> (((exists bpv_gap_bcpvzeq_valuation_exponent_bound. bpv_gap_bcpvzeq_valuation_exponent_bound + v = C) /\ (exists bpv_result_bcpvzeq_valuation_selected. ((exists ff_b_bcpvzeq_valuation_selected_power ff_c_bcpvzeq_valuation_selected_power. ((forall ff_i_bcpvzeq_valuation_selected_power_repeat. (exists ff_lt_bcpvzeq_valuation_selected_power_repeat_bound. ff_lt_bcpvzeq_valuation_selected_power_repeat_bound + S ff_i_bcpvzeq_valuation_selected_power_repeat = v) -> (((exists ff_h_bcpvzeq_valuation_selected_power_repeat_decoded. ff_h_bcpvzeq_valuation_selected_power_repeat_decoded + S (p) = S ((S (ff_i_bcpvzeq_valuation_selected_power_repeat)) * ff_c_bcpvzeq_valuation_selected_power)) /\ exists ff_q_bcpvzeq_valuation_selected_power_repeat_decoded. ff_b_bcpvzeq_valuation_selected_power = ff_q_bcpvzeq_valuation_selected_power_repeat_decoded * S ((S (ff_i_bcpvzeq_valuation_selected_power_repeat)) * ff_c_bcpvzeq_valuation_selected_power) + (p)))) /\ (exists ff_u_bcpvzeq_valuation_selected_power_product ff_v_bcpvzeq_valuation_selected_power_product. ((((exists ff_h_bcpvzeq_valuation_selected_power_product_start. ff_h_bcpvzeq_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bcpvzeq_valuation_selected_power_product)) /\ exists ff_q_bcpvzeq_valuation_selected_power_product_start. ff_u_bcpvzeq_valuation_selected_power_product = ff_q_bcpvzeq_valuation_selected_power_product_start * S ((S (0)) * ff_v_bcpvzeq_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bcpvzeq_valuation_selected_power_product_terminal. ff_h_bcpvzeq_valuation_selected_power_product_terminal + S (bpv_result_bcpvzeq_valuation_selected) = S ((S (v)) * ff_v_bcpvzeq_valuation_selected_power_product)) /\ exists ff_q_bcpvzeq_valuation_selected_power_product_terminal. ff_u_bcpvzeq_valuation_selected_power_product = ff_q_bcpvzeq_valuation_selected_power_product_terminal * S ((S (v)) * ff_v_bcpvzeq_valuation_selected_power_product) + (bpv_result_bcpvzeq_valuation_selected))) /\ forall ff_i_bcpvzeq_valuation_selected_power_product. (exists ff_lt_bcpvzeq_valuation_selected_power_product_bound. ff_lt_bcpvzeq_valuation_selected_power_product_bound + S ff_i_bcpvzeq_valuation_selected_power_product = v) -> exists ff_p_bcpvzeq_valuation_selected_power_product ff_r_bcpvzeq_valuation_selected_power_product ff_s_bcpvzeq_valuation_selected_power_product. ((((exists ff_h_bcpvzeq_valuation_selected_power_product_factor. ff_h_bcpvzeq_valuation_selected_power_product_factor + S (ff_p_bcpvzeq_valuation_selected_power_product) = S ((S (ff_i_bcpvzeq_valuation_selected_power_product)) * ff_c_bcpvzeq_valuation_selected_power)) /\ exists ff_q_bcpvzeq_valuation_selected_power_product_factor. ff_b_bcpvzeq_valuation_selected_power = ff_q_bcpvzeq_valuation_selected_power_product_factor * S ((S (ff_i_bcpvzeq_valuation_selected_power_product)) * ff_c_bcpvzeq_valuation_selected_power) + (ff_p_bcpvzeq_valuation_selected_power_product))) /\ ((((exists ff_h_bcpvzeq_valuation_selected_power_product_partial. ff_h_bcpvzeq_valuation_selected_power_product_partial + S (ff_r_bcpvzeq_valuation_selected_power_product) = S ((S (ff_i_bcpvzeq_valuation_selected_power_product)) * ff_v_bcpvzeq_valuation_selected_power_product)) /\ exists ff_q_bcpvzeq_valuation_selected_power_product_partial. ff_u_bcpvzeq_valuation_selected_power_product = ff_q_bcpvzeq_valuation_selected_power_product_partial * S ((S (ff_i_bcpvzeq_valuation_selected_power_product)) * ff_v_bcpvzeq_valuation_selected_power_product) + (ff_r_bcpvzeq_valuation_selected_power_product))) /\ ((((exists ff_h_bcpvzeq_valuation_selected_power_product_successor. ff_h_bcpvzeq_valuation_selected_power_product_successor + S (ff_s_bcpvzeq_valuation_selected_power_product) = S ((S (S ff_i_bcpvzeq_valuation_selected_power_product)) * ff_v_bcpvzeq_valuation_selected_power_product)) /\ exists ff_q_bcpvzeq_valuation_selected_power_product_successor. ff_u_bcpvzeq_valuation_selected_power_product = ff_q_bcpvzeq_valuation_selected_power_product_successor * S ((S (S ff_i_bcpvzeq_valuation_selected_power_product)) * ff_v_bcpvzeq_valuation_selected_power_product) + (ff_s_bcpvzeq_valuation_selected_power_product))) /\ ff_s_bcpvzeq_valuation_selected_power_product = ff_r_bcpvzeq_valuation_selected_power_product * ff_p_bcpvzeq_valuation_selected_power_product)))))))) /\ (exists bpv_factor_bcpvzeq_valuation_selected_divides. C = bpv_result_bcpvzeq_valuation_selected * bpv_factor_bcpvzeq_valuation_selected_divides)))) /\ forall bpv_candidate_bcpvzeq_valuation. (exists bpv_gap_bcpvzeq_valuation_candidate_bound. bpv_gap_bcpvzeq_valuation_candidate_bound + bpv_candidate_bcpvzeq_valuation = C) -> (exists bpv_result_bcpvzeq_valuation_candidate. ((exists ff_b_bcpvzeq_valuation_candidate_power ff_c_bcpvzeq_valuation_candidate_power. ((forall ff_i_bcpvzeq_valuation_candidate_power_repeat. (exists ff_lt_bcpvzeq_valuation_candidate_power_repeat_bound. ff_lt_bcpvzeq_valuation_candidate_power_repeat_bound + S ff_i_bcpvzeq_valuation_candidate_power_repeat = bpv_candidate_bcpvzeq_valuation) -> (((exists ff_h_bcpvzeq_valuation_candidate_power_repeat_decoded. ff_h_bcpvzeq_valuation_candidate_power_repeat_decoded + S (p) = S ((S (ff_i_bcpvzeq_valuation_candidate_power_repeat)) * ff_c_bcpvzeq_valuation_candidate_power)) /\ exists ff_q_bcpvzeq_valuation_candidate_power_repeat_decoded. ff_b_bcpvzeq_valuation_candidate_power = ff_q_bcpvzeq_valuation_candidate_power_repeat_decoded * S ((S (ff_i_bcpvzeq_valuation_candidate_power_repeat)) * ff_c_bcpvzeq_valuation_candidate_power) + (p)))) /\ (exists ff_u_bcpvzeq_valuation_candidate_power_product ff_v_bcpvzeq_valuation_candidate_power_product. ((((exists ff_h_bcpvzeq_valuation_candidate_power_product_start. ff_h_bcpvzeq_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bcpvzeq_valuation_candidate_power_product)) /\ exists ff_q_bcpvzeq_valuation_candidate_power_product_start. ff_u_bcpvzeq_valuation_candidate_power_product = ff_q_bcpvzeq_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bcpvzeq_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bcpvzeq_valuation_candidate_power_product_terminal. ff_h_bcpvzeq_valuation_candidate_power_product_terminal + S (bpv_result_bcpvzeq_valuation_candidate) = S ((S (bpv_candidate_bcpvzeq_valuation)) * ff_v_bcpvzeq_valuation_candidate_power_product)) /\ exists ff_q_bcpvzeq_valuation_candidate_power_product_terminal. ff_u_bcpvzeq_valuation_candidate_power_product = ff_q_bcpvzeq_valuation_candidate_power_product_terminal * S ((S (bpv_candidate_bcpvzeq_valuation)) * ff_v_bcpvzeq_valuation_candidate_power_product) + (bpv_result_bcpvzeq_valuation_candidate))) /\ forall ff_i_bcpvzeq_valuation_candidate_power_product. (exists ff_lt_bcpvzeq_valuation_candidate_power_product_bound. ff_lt_bcpvzeq_valuation_candidate_power_product_bound + S ff_i_bcpvzeq_valuation_candidate_power_product = bpv_candidate_bcpvzeq_valuation) -> exists ff_p_bcpvzeq_valuation_candidate_power_product ff_r_bcpvzeq_valuation_candidate_power_product ff_s_bcpvzeq_valuation_candidate_power_product. ((((exists ff_h_bcpvzeq_valuation_candidate_power_product_factor. ff_h_bcpvzeq_valuation_candidate_power_product_factor + S (ff_p_bcpvzeq_valuation_candidate_power_product) = S ((S (ff_i_bcpvzeq_valuation_candidate_power_product)) * ff_c_bcpvzeq_valuation_candidate_power)) /\ exists ff_q_bcpvzeq_valuation_candidate_power_product_factor. ff_b_bcpvzeq_valuation_candidate_power = ff_q_bcpvzeq_valuation_candidate_power_product_factor * S ((S (ff_i_bcpvzeq_valuation_candidate_power_product)) * ff_c_bcpvzeq_valuation_candidate_power) + (ff_p_bcpvzeq_valuation_candidate_power_product))) /\ ((((exists ff_h_bcpvzeq_valuation_candidate_power_product_partial. ff_h_bcpvzeq_valuation_candidate_power_product_partial + S (ff_r_bcpvzeq_valuation_candidate_power_product) = S ((S (ff_i_bcpvzeq_valuation_candidate_power_product)) * ff_v_bcpvzeq_valuation_candidate_power_product)) /\ exists ff_q_bcpvzeq_valuation_candidate_power_product_partial. ff_u_bcpvzeq_valuation_candidate_power_product = ff_q_bcpvzeq_valuation_candidate_power_product_partial * S ((S (ff_i_bcpvzeq_valuation_candidate_power_product)) * ff_v_bcpvzeq_valuation_candidate_power_product) + (ff_r_bcpvzeq_valuation_candidate_power_product))) /\ ((((exists ff_h_bcpvzeq_valuation_candidate_power_product_successor. ff_h_bcpvzeq_valuation_candidate_power_product_successor + S (ff_s_bcpvzeq_valuation_candidate_power_product) = S ((S (S ff_i_bcpvzeq_valuation_candidate_power_product)) * ff_v_bcpvzeq_valuation_candidate_power_product)) /\ exists ff_q_bcpvzeq_valuation_candidate_power_product_successor. ff_u_bcpvzeq_valuation_candidate_power_product = ff_q_bcpvzeq_valuation_candidate_power_product_successor * S ((S (S ff_i_bcpvzeq_valuation_candidate_power_product)) * ff_v_bcpvzeq_valuation_candidate_power_product) + (ff_s_bcpvzeq_valuation_candidate_power_product))) /\ ff_s_bcpvzeq_valuation_candidate_power_product = ff_r_bcpvzeq_valuation_candidate_power_product * ff_p_bcpvzeq_valuation_candidate_power_product)))))))) /\ (exists bpv_factor_bcpvzeq_valuation_candidate_divides. C = bpv_result_bcpvzeq_valuation_candidate * bpv_factor_bcpvzeq_valuation_candidate_divides))) -> (exists bpv_gap_bcpvzeq_valuation_maximal. bpv_gap_bcpvzeq_valuation_maximal + bpv_candidate_bcpvzeq_valuation = v)) -> (exists bcf_le_gap_bcpvzeq_base. bcf_le_gap_bcpvzeq_base + (1) = p) -> (exists bpvi_b_bcpvzeq_square bpvi_c_bcpvzeq_square. ((forall bpvi_i_bcpvzeq_square. (exists bpvi_repeat_gap_bcpvzeq_square. bpvi_repeat_gap_bcpvzeq_square + S bpvi_i_bcpvzeq_square = 2) -> (((exists bpvi_h_bcpvzeq_square_repeat. bpvi_h_bcpvzeq_square_repeat + S (p) = S ((S (bpvi_i_bcpvzeq_square)) * bpvi_c_bcpvzeq_square)) /\ exists bpvi_q_bcpvzeq_square_repeat. bpvi_b_bcpvzeq_square = bpvi_q_bcpvzeq_square_repeat * S ((S (bpvi_i_bcpvzeq_square)) * bpvi_c_bcpvzeq_square) + (p)))) /\ (exists bpvi_u_bcpvzeq_square bpvi_v_bcpvzeq_square. ((((exists bpvi_h_bcpvzeq_square_start. bpvi_h_bcpvzeq_square_start + S (1) = S ((S (0)) * bpvi_v_bcpvzeq_square)) /\ exists bpvi_q_bcpvzeq_square_start. bpvi_u_bcpvzeq_square = bpvi_q_bcpvzeq_square_start * S ((S (0)) * bpvi_v_bcpvzeq_square) + (1))) /\ ((((exists bpvi_h_bcpvzeq_square_terminal. bpvi_h_bcpvzeq_square_terminal + S (s) = S ((S (2)) * bpvi_v_bcpvzeq_square)) /\ exists bpvi_q_bcpvzeq_square_terminal. bpvi_u_bcpvzeq_square = bpvi_q_bcpvzeq_square_terminal * S ((S (2)) * bpvi_v_bcpvzeq_square) + (s))) /\ forall bpvi_j_bcpvzeq_square. (exists bpvi_product_gap_bcpvzeq_square. bpvi_product_gap_bcpvzeq_square + S bpvi_j_bcpvzeq_square = 2) -> exists bpvi_factor_bcpvzeq_square bpvi_partial_bcpvzeq_square bpvi_successor_bcpvzeq_square. ((((exists bpvi_h_bcpvzeq_square_factor. bpvi_h_bcpvzeq_square_factor + S (bpvi_factor_bcpvzeq_square) = S ((S (bpvi_j_bcpvzeq_square)) * bpvi_c_bcpvzeq_square)) /\ exists bpvi_q_bcpvzeq_square_factor. bpvi_b_bcpvzeq_square = bpvi_q_bcpvzeq_square_factor * S ((S (bpvi_j_bcpvzeq_square)) * bpvi_c_bcpvzeq_square) + (bpvi_factor_bcpvzeq_square))) /\ ((((exists bpvi_h_bcpvzeq_square_partial. bpvi_h_bcpvzeq_square_partial + S (bpvi_partial_bcpvzeq_square) = S ((S (bpvi_j_bcpvzeq_square)) * bpvi_v_bcpvzeq_square)) /\ exists bpvi_q_bcpvzeq_square_partial. bpvi_u_bcpvzeq_square = bpvi_q_bcpvzeq_square_partial * S ((S (bpvi_j_bcpvzeq_square)) * bpvi_v_bcpvzeq_square) + (bpvi_partial_bcpvzeq_square))) /\ ((((exists bpvi_h_bcpvzeq_square_successor. bpvi_h_bcpvzeq_square_successor + S (bpvi_successor_bcpvzeq_square) = S ((S (S bpvi_j_bcpvzeq_square)) * bpvi_v_bcpvzeq_square)) /\ exists bpvi_q_bcpvzeq_square_successor. bpvi_u_bcpvzeq_square = bpvi_q_bcpvzeq_square_successor * S ((S (S bpvi_j_bcpvzeq_square)) * bpvi_v_bcpvzeq_square) + (bpvi_successor_bcpvzeq_square))) /\ bpvi_successor_bcpvzeq_square = bpvi_partial_bcpvzeq_square * bpvi_factor_bcpvzeq_square)))))))) -> (exists bcf_lt_gap_bcpvzeq_strict. bcf_lt_gap_bcpvzeq_strict + S (n + n) = s) -> (((n) = (p) * (q) + (r) /\ (exists bcf_lt_gap_bcpvzeq_first_bound. bcf_lt_gap_bcpvzeq_first_bound + S (r) = p))) -> (((n + n) = (p) * (q + q) + (R) /\ (exists bcf_lt_gap_bcpvzeq_double_bound. bcf_lt_gap_bcpvzeq_double_bound + S (R) = p))) -> v = 0

Structural proof guide

An all-zero carry prefix forces the exact central valuation to zero.

Direct prerequisites: central_binom_carry_bit_count, zero_or_succ, bit_count_positive_last_one, double_quotient_carry_prefix_entries_zero, beta_at_unique. The authored body proceeds by case analysis (14), intermediate claims (5), equality transport (2).

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.

  1. 0001intro p
  2. 0002intro n
  3. 0003intro C
  4. 0004intro v
  5. 0005intro q
  6. 0006intro r
  7. 0007intro R
  8. 0008intro s
  9. 0009intro hp
  10. 0010intro hcentral
  11. 0011intro hvaluation
  12. 0012intro hbase
  13. 0013intro hsquare
  14. 0014intro hstrict
  15. 0015intro hfirst
  16. 0016intro hdouble
  17. 0017have hpackage : exists b c d e f g. (forall bls_index_bcpvzeq_left. (exists bls_gap_bcpvzeq_left_bound. bls_gap_bcpvzeq_left_bound + S (bls_index_bcpvzeq_left) = (n + n)) -> exists bls_power_bcpvzeq_left bls_quotient_bcpvzeq_left bls_remainder_bcpvzeq_left. ((exists bpvi_b_bls_bcpvzeq_left_power bpvi_c_bls_bcpvzeq_left_power. ((forall bpvi_i_bls_bcpvzeq_left_power. (exists bpvi_repeat_gap_bls_bcpvzeq_left_power. bpvi_repeat_gap_bls_bcpvzeq_left_power + S bpvi_i_bls_bcpvzeq_left_power = S bls_index_bcpvzeq_left) -> (((exists bpvi_h_bls_bcpvzeq_left_power_repeat. bpvi_h_bls_bcpvzeq_left_power_repeat + S (p) = S ((S (bpvi_i_bls_bcpvzeq_left_power)) * bpvi_c_bls_bcpvzeq_left_power)) /\ exists bpvi_q_bls_bcpvzeq_left_power_repeat. bpvi_b_bls_bcpvzeq_left_power = bpvi_q_bls_bcpvzeq_left_power_repeat * S ((S (bpvi_i_bls_bcpvzeq_left_power)) * bpvi_c_bls_bcpvzeq_left_power) + (p)))) /\ (exists bpvi_u_bls_bcpvzeq_left_power bpvi_v_bls_bcpvzeq_left_power. ((((exists bpvi_h_bls_bcpvzeq_left_power_start. bpvi_h_bls_bcpvzeq_left_power_start + S (1) = S ((S (0)) * bpvi_v_bls_bcpvzeq_left_power)) /\ exists bpvi_q_bls_bcpvzeq_left_power_start. bpvi_u_bls_bcpvzeq_left_power = bpvi_q_bls_bcpvzeq_left_power_start * S ((S (0)) * bpvi_v_bls_bcpvzeq_left_power) + (1))) /\ ((((exists bpvi_h_bls_bcpvzeq_left_power_terminal. bpvi_h_bls_bcpvzeq_left_power_terminal + S (bls_power_bcpvzeq_left) = S ((S (S bls_index_bcpvzeq_left)) * bpvi_v_bls_bcpvzeq_left_power)) /\ exists bpvi_q_bls_bcpvzeq_left_power_terminal. bpvi_u_bls_bcpvzeq_left_power = bpvi_q_bls_bcpvzeq_left_power_terminal * S ((S (S bls_index_bcpvzeq_left)) * bpvi_v_bls_bcpvzeq_left_power) + (bls_power_bcpvzeq_left))) /\ forall bpvi_j_bls_bcpvzeq_left_power. (exists bpvi_product_gap_bls_bcpvzeq_left_power. bpvi_product_gap_bls_bcpvzeq_left_power + S bpvi_j_bls_bcpvzeq_left_power = S bls_index_bcpvzeq_left) -> exists bpvi_factor_bls_bcpvzeq_left_power bpvi_partial_bls_bcpvzeq_left_power bpvi_successor_bls_bcpvzeq_left_power. ((((exists bpvi_h_bls_bcpvzeq_left_power_factor. bpvi_h_bls_bcpvzeq_left_power_factor + S (bpvi_factor_bls_bcpvzeq_left_power) = S ((S (bpvi_j_bls_bcpvzeq_left_power)) * bpvi_c_bls_bcpvzeq_left_power)) /\ exists bpvi_q_bls_bcpvzeq_left_power_factor. bpvi_b_bls_bcpvzeq_left_power = bpvi_q_bls_bcpvzeq_left_power_factor * S ((S (bpvi_j_bls_bcpvzeq_left_power)) * bpvi_c_bls_bcpvzeq_left_power) + (bpvi_factor_bls_bcpvzeq_left_power))) /\ ((((exists bpvi_h_bls_bcpvzeq_left_power_partial. bpvi_h_bls_bcpvzeq_left_power_partial + S (bpvi_partial_bls_bcpvzeq_left_power) = S ((S (bpvi_j_bls_bcpvzeq_left_power)) * bpvi_v_bls_bcpvzeq_left_power)) /\ exists bpvi_q_bls_bcpvzeq_left_power_partial. bpvi_u_bls_bcpvzeq_left_power = bpvi_q_bls_bcpvzeq_left_power_partial * S ((S (bpvi_j_bls_bcpvzeq_left_power)) * bpvi_v_bls_bcpvzeq_left_power) + (bpvi_partial_bls_bcpvzeq_left_power))) /\ ((((exists bpvi_h_bls_bcpvzeq_left_power_successor. bpvi_h_bls_bcpvzeq_left_power_successor + S (bpvi_successor_bls_bcpvzeq_left_power) = S ((S (S bpvi_j_bls_bcpvzeq_left_power)) * bpvi_v_bls_bcpvzeq_left_power)) /\ exists bpvi_q_bls_bcpvzeq_left_power_successor. bpvi_u_bls_bcpvzeq_left_power = bpvi_q_bls_bcpvzeq_left_power_successor * S ((S (S bpvi_j_bls_bcpvzeq_left_power)) * bpvi_v_bls_bcpvzeq_left_power) + (bpvi_successor_bls_bcpvzeq_left_power))) /\ bpvi_successor_bls_bcpvzeq_left_power = bpvi_partial_bls_bcpvzeq_left_power * bpvi_factor_bls_bcpvzeq_left_power)))))))) /\ ((((exists ff_h_bls_bcpvzeq_left_quotient_entry. ff_h_bls_bcpvzeq_left_quotient_entry + S (bls_quotient_bcpvzeq_left) = S ((S (bls_index_bcpvzeq_left)) * c)) /\ exists ff_q_bls_bcpvzeq_left_quotient_entry. b = ff_q_bls_bcpvzeq_left_quotient_entry * S ((S (bls_index_bcpvzeq_left)) * c) + (bls_quotient_bcpvzeq_left))) /\ ((n = bls_power_bcpvzeq_left * bls_quotient_bcpvzeq_left + bls_remainder_bcpvzeq_left /\ exists bls_remainder_gap_bcpvzeq_left_division. bls_remainder_gap_bcpvzeq_left_division + S (bls_remainder_bcpvzeq_left) = bls_power_bcpvzeq_left))))) /\ ((forall bls_index_bcpvzeq_right. (exists bls_gap_bcpvzeq_right_bound. bls_gap_bcpvzeq_right_bound + S (bls_index_bcpvzeq_right) = (n + n)) -> exists bls_power_bcpvzeq_right bls_quotient_bcpvzeq_right bls_remainder_bcpvzeq_right. ((exists bpvi_b_bls_bcpvzeq_right_power bpvi_c_bls_bcpvzeq_right_power. ((forall bpvi_i_bls_bcpvzeq_right_power. (exists bpvi_repeat_gap_bls_bcpvzeq_right_power. bpvi_repeat_gap_bls_bcpvzeq_right_power + S bpvi_i_bls_bcpvzeq_right_power = S bls_index_bcpvzeq_right) -> (((exists bpvi_h_bls_bcpvzeq_right_power_repeat. bpvi_h_bls_bcpvzeq_right_power_repeat + S (p) = S ((S (bpvi_i_bls_bcpvzeq_right_power)) * bpvi_c_bls_bcpvzeq_right_power)) /\ exists bpvi_q_bls_bcpvzeq_right_power_repeat. bpvi_b_bls_bcpvzeq_right_power = bpvi_q_bls_bcpvzeq_right_power_repeat * S ((S (bpvi_i_bls_bcpvzeq_right_power)) * bpvi_c_bls_bcpvzeq_right_power) + (p)))) /\ (exists bpvi_u_bls_bcpvzeq_right_power bpvi_v_bls_bcpvzeq_right_power. ((((exists bpvi_h_bls_bcpvzeq_right_power_start. bpvi_h_bls_bcpvzeq_right_power_start + S (1) = S ((S (0)) * bpvi_v_bls_bcpvzeq_right_power)) /\ exists bpvi_q_bls_bcpvzeq_right_power_start. bpvi_u_bls_bcpvzeq_right_power = bpvi_q_bls_bcpvzeq_right_power_start * S ((S (0)) * bpvi_v_bls_bcpvzeq_right_power) + (1))) /\ ((((exists bpvi_h_bls_bcpvzeq_right_power_terminal. bpvi_h_bls_bcpvzeq_right_power_terminal + S (bls_power_bcpvzeq_right) = S ((S (S bls_index_bcpvzeq_right)) * bpvi_v_bls_bcpvzeq_right_power)) /\ exists bpvi_q_bls_bcpvzeq_right_power_terminal. bpvi_u_bls_bcpvzeq_right_power = bpvi_q_bls_bcpvzeq_right_power_terminal * S ((S (S bls_index_bcpvzeq_right)) * bpvi_v_bls_bcpvzeq_right_power) + (bls_power_bcpvzeq_right))) /\ forall bpvi_j_bls_bcpvzeq_right_power. (exists bpvi_product_gap_bls_bcpvzeq_right_power. bpvi_product_gap_bls_bcpvzeq_right_power + S bpvi_j_bls_bcpvzeq_right_power = S bls_index_bcpvzeq_right) -> exists bpvi_factor_bls_bcpvzeq_right_power bpvi_partial_bls_bcpvzeq_right_power bpvi_successor_bls_bcpvzeq_right_power. ((((exists bpvi_h_bls_bcpvzeq_right_power_factor. bpvi_h_bls_bcpvzeq_right_power_factor + S (bpvi_factor_bls_bcpvzeq_right_power) = S ((S (bpvi_j_bls_bcpvzeq_right_power)) * bpvi_c_bls_bcpvzeq_right_power)) /\ exists bpvi_q_bls_bcpvzeq_right_power_factor. bpvi_b_bls_bcpvzeq_right_power = bpvi_q_bls_bcpvzeq_right_power_factor * S ((S (bpvi_j_bls_bcpvzeq_right_power)) * bpvi_c_bls_bcpvzeq_right_power) + (bpvi_factor_bls_bcpvzeq_right_power))) /\ ((((exists bpvi_h_bls_bcpvzeq_right_power_partial. bpvi_h_bls_bcpvzeq_right_power_partial + S (bpvi_partial_bls_bcpvzeq_right_power) = S ((S (bpvi_j_bls_bcpvzeq_right_power)) * bpvi_v_bls_bcpvzeq_right_power)) /\ exists bpvi_q_bls_bcpvzeq_right_power_partial. bpvi_u_bls_bcpvzeq_right_power = bpvi_q_bls_bcpvzeq_right_power_partial * S ((S (bpvi_j_bls_bcpvzeq_right_power)) * bpvi_v_bls_bcpvzeq_right_power) + (bpvi_partial_bls_bcpvzeq_right_power))) /\ ((((exists bpvi_h_bls_bcpvzeq_right_power_successor. bpvi_h_bls_bcpvzeq_right_power_successor + S (bpvi_successor_bls_bcpvzeq_right_power) = S ((S (S bpvi_j_bls_bcpvzeq_right_power)) * bpvi_v_bls_bcpvzeq_right_power)) /\ exists bpvi_q_bls_bcpvzeq_right_power_successor. bpvi_u_bls_bcpvzeq_right_power = bpvi_q_bls_bcpvzeq_right_power_successor * S ((S (S bpvi_j_bls_bcpvzeq_right_power)) * bpvi_v_bls_bcpvzeq_right_power) + (bpvi_successor_bls_bcpvzeq_right_power))) /\ bpvi_successor_bls_bcpvzeq_right_power = bpvi_partial_bls_bcpvzeq_right_power * bpvi_factor_bls_bcpvzeq_right_power)))))))) /\ ((((exists ff_h_bls_bcpvzeq_right_quotient_entry. ff_h_bls_bcpvzeq_right_quotient_entry + S (bls_quotient_bcpvzeq_right) = S ((S (bls_index_bcpvzeq_right)) * e)) /\ exists ff_q_bls_bcpvzeq_right_quotient_entry. d = ff_q_bls_bcpvzeq_right_quotient_entry * S ((S (bls_index_bcpvzeq_right)) * e) + (bls_quotient_bcpvzeq_right))) /\ ((n + n = bls_power_bcpvzeq_right * bls_quotient_bcpvzeq_right + bls_remainder_bcpvzeq_right /\ exists bls_remainder_gap_bcpvzeq_right_division. bls_remainder_gap_bcpvzeq_right_division + S (bls_remainder_bcpvzeq_right) = bls_power_bcpvzeq_right))))) /\ ((forall b5cc_index_bcpvzeq_carry. (exists bcf_lt_gap_bcpvzeq_carry_bound. bcf_lt_gap_bcpvzeq_carry_bound + S (b5cc_index_bcpvzeq_carry) = n + n) -> exists b5cc_left_bcpvzeq_carry b5cc_right_bcpvzeq_carry b5cc_bit_bcpvzeq_carry. (((exists fs_h_b5cc_bcpvzeq_carry_left. fs_h_b5cc_bcpvzeq_carry_left + S (b5cc_left_bcpvzeq_carry) = S ((S (b5cc_index_bcpvzeq_carry)) * c)) /\ exists fs_q_b5cc_bcpvzeq_carry_left. b = fs_q_b5cc_bcpvzeq_carry_left * S ((S (b5cc_index_bcpvzeq_carry)) * c) + (b5cc_left_bcpvzeq_carry))) /\ ((((exists fs_h_b5cc_bcpvzeq_carry_right. fs_h_b5cc_bcpvzeq_carry_right + S (b5cc_right_bcpvzeq_carry) = S ((S (b5cc_index_bcpvzeq_carry)) * e)) /\ exists fs_q_b5cc_bcpvzeq_carry_right. d = fs_q_b5cc_bcpvzeq_carry_right * S ((S (b5cc_index_bcpvzeq_carry)) * e) + (b5cc_right_bcpvzeq_carry))) /\ ((((exists fs_h_b5cc_bcpvzeq_carry_bit. fs_h_b5cc_bcpvzeq_carry_bit + S (b5cc_bit_bcpvzeq_carry) = S ((S (b5cc_index_bcpvzeq_carry)) * g)) /\ exists fs_q_b5cc_bcpvzeq_carry_bit. f = fs_q_b5cc_bcpvzeq_carry_bit * S ((S (b5cc_index_bcpvzeq_carry)) * g) + (b5cc_bit_bcpvzeq_carry))) /\ (((b5cc_bit_bcpvzeq_carry = 0 /\ b5cc_right_bcpvzeq_carry = b5cc_left_bcpvzeq_carry + b5cc_left_bcpvzeq_carry) \/ (b5cc_bit_bcpvzeq_carry = 1 /\ b5cc_right_bcpvzeq_carry = S (b5cc_left_bcpvzeq_carry + b5cc_left_bcpvzeq_carry))))))) /\ (((exists ff_u_bcpvzeq_count_sum ff_v_bcpvzeq_count_sum. ((((exists ff_h_bcpvzeq_count_sum_start. ff_h_bcpvzeq_count_sum_start + S (0) = S ((S (0)) * ff_v_bcpvzeq_count_sum)) /\ exists ff_q_bcpvzeq_count_sum_start. ff_u_bcpvzeq_count_sum = ff_q_bcpvzeq_count_sum_start * S ((S (0)) * ff_v_bcpvzeq_count_sum) + (0))) /\ ((((exists ff_h_bcpvzeq_count_sum_terminal. ff_h_bcpvzeq_count_sum_terminal + S ((v)) = S ((S ((n + n))) * ff_v_bcpvzeq_count_sum)) /\ exists ff_q_bcpvzeq_count_sum_terminal. ff_u_bcpvzeq_count_sum = ff_q_bcpvzeq_count_sum_terminal * S ((S ((n + n))) * ff_v_bcpvzeq_count_sum) + ((v)))) /\ forall ff_i_bcpvzeq_count_sum. (exists ff_lt_bcpvzeq_count_sum_bound. ff_lt_bcpvzeq_count_sum_bound + S ff_i_bcpvzeq_count_sum = (n + n)) -> exists ff_a_bcpvzeq_count_sum ff_r_bcpvzeq_count_sum ff_s_bcpvzeq_count_sum. ((((exists ff_h_bcpvzeq_count_sum_summand. ff_h_bcpvzeq_count_sum_summand + S (ff_a_bcpvzeq_count_sum) = S ((S (ff_i_bcpvzeq_count_sum)) * g)) /\ exists ff_q_bcpvzeq_count_sum_summand. f = ff_q_bcpvzeq_count_sum_summand * S ((S (ff_i_bcpvzeq_count_sum)) * g) + (ff_a_bcpvzeq_count_sum))) /\ ((((exists ff_h_bcpvzeq_count_sum_partial. ff_h_bcpvzeq_count_sum_partial + S (ff_r_bcpvzeq_count_sum) = S ((S (ff_i_bcpvzeq_count_sum)) * ff_v_bcpvzeq_count_sum)) /\ exists ff_q_bcpvzeq_count_sum_partial. ff_u_bcpvzeq_count_sum = ff_q_bcpvzeq_count_sum_partial * S ((S (ff_i_bcpvzeq_count_sum)) * ff_v_bcpvzeq_count_sum) + (ff_r_bcpvzeq_count_sum))) /\ ((((exists ff_h_bcpvzeq_count_sum_successor. ff_h_bcpvzeq_count_sum_successor + S (ff_s_bcpvzeq_count_sum) = S ((S (S ff_i_bcpvzeq_count_sum)) * ff_v_bcpvzeq_count_sum)) /\ exists ff_q_bcpvzeq_count_sum_successor. ff_u_bcpvzeq_count_sum = ff_q_bcpvzeq_count_sum_successor * S ((S (S ff_i_bcpvzeq_count_sum)) * ff_v_bcpvzeq_count_sum) + (ff_s_bcpvzeq_count_sum))) /\ ff_s_bcpvzeq_count_sum = ff_r_bcpvzeq_count_sum + ff_a_bcpvzeq_count_sum)))))) /\ (forall ff_i_bcpvzeq_count_bits. (exists ff_lt_bcpvzeq_count_bits_bound. ff_lt_bcpvzeq_count_bits_bound + S ff_i_bcpvzeq_count_bits = (n + n)) -> exists ff_bit_bcpvzeq_count_bits. ((((exists ff_h_bcpvzeq_count_bits_decoded. ff_h_bcpvzeq_count_bits_decoded + S (ff_bit_bcpvzeq_count_bits) = S ((S (ff_i_bcpvzeq_count_bits)) * g)) /\ exists ff_q_bcpvzeq_count_bits_decoded. f = ff_q_bcpvzeq_count_bits_decoded * S ((S (ff_i_bcpvzeq_count_bits)) * g) + (ff_bit_bcpvzeq_count_bits))) /\ (ff_bit_bcpvzeq_count_bits = 0 \/ ff_bit_bcpvzeq_count_bits = 1)))))))
  18. 0018specialize central_binom_carry_bit_count p
  19. 0019specialize central_binom_carry_bit_count n
  20. 0020specialize central_binom_carry_bit_count C
  21. 0021specialize central_binom_carry_bit_count v
  22. 0022apply central_binom_carry_bit_count
  23. 0023exact hp
  24. 0024exact hcentral
  25. 0025exact hvaluation
  26. 0026cases hpackage
  27. 0027cases hpackage_witness
  28. 0028cases hpackage_witness_witness
  29. 0029cases hpackage_witness_witness_witness
  30. 0030cases hpackage_witness_witness_witness_witness
  31. 0031cases hpackage_witness_witness_witness_witness_witness
  32. 0032cases hpackage_witness_witness_witness_witness_witness_witness
  33. 0033cases hpackage_witness_witness_witness_witness_witness_witness_right
  34. 0034cases hpackage_witness_witness_witness_witness_witness_witness_right_right
  35. 0035specialize zero_or_succ v
  36. 0036cases zero_or_succ
  37. 0037exact zero_or_succ_left
  38. 0038cases zero_or_succ_right
  39. 0039rewrite zero_or_succ_right_witness at hpackage_witness_witness_witness_witness_witness_witness_right_right_right
  40. 0040rewrite zero_or_succ_right_witness at hpackage_witness_witness_witness_witness_witness_witness_right_right_right
  41. 0041have hlast : exists i. (exists bcf_lt_gap_bcpvzeq_last_bound. bcf_lt_gap_bcpvzeq_last_bound + S (i) = n + n) /\ ((((exists fs_h_bcpvzeq_last_entry. fs_h_bcpvzeq_last_entry + S (1) = S ((S (i)) * x5)) /\ exists fs_q_bcpvzeq_last_entry. x4 = fs_q_bcpvzeq_last_entry * S ((S (i)) * x5) + (1))) /\ (exists bcf_le_gap_bcpvzeq_last_result. bcf_le_gap_bcpvzeq_last_result + (S x6) = S i))
  42. 0042specialize bit_count_positive_last_one x4
  43. 0043specialize bit_count_positive_last_one x5
  44. 0044specialize bit_count_positive_last_one (n + n)
  45. 0045specialize bit_count_positive_last_one x6
  46. 0046apply bit_count_positive_last_one
  47. 0047exact hpackage_witness_witness_witness_witness_witness_witness_right_right_right
  48. 0048cases hlast
  49. 0049cases hlast_witness
  50. 0050cases hlast_witness_right
  51. 0051have hentries : forall i. (exists bcf_lt_gap_bcpvzeq_zero_bound. bcf_lt_gap_bcpvzeq_zero_bound + S (i) = n + n) -> (((exists fs_h_bcpvzeq_zero_entries. fs_h_bcpvzeq_zero_entries + S (0) = S ((S (i)) * x5)) /\ exists fs_q_bcpvzeq_zero_entries. x4 = fs_q_bcpvzeq_zero_entries * S ((S (i)) * x5) + (0)))
  52. 0052specialize double_quotient_carry_prefix_entries_zero p
  53. 0053specialize double_quotient_carry_prefix_entries_zero n
  54. 0054specialize double_quotient_carry_prefix_entries_zero x
  55. 0055specialize double_quotient_carry_prefix_entries_zero x1
  56. 0056specialize double_quotient_carry_prefix_entries_zero x2
  57. 0057specialize double_quotient_carry_prefix_entries_zero x3
  58. 0058specialize double_quotient_carry_prefix_entries_zero x4
  59. 0059specialize double_quotient_carry_prefix_entries_zero x5
  60. 0060specialize double_quotient_carry_prefix_entries_zero (n + n)
  61. 0061specialize double_quotient_carry_prefix_entries_zero q
  62. 0062specialize double_quotient_carry_prefix_entries_zero r
  63. 0063specialize double_quotient_carry_prefix_entries_zero R
  64. 0064specialize double_quotient_carry_prefix_entries_zero s
  65. 0065apply double_quotient_carry_prefix_entries_zero
  66. 0066exact hbase
  67. 0067exact hsquare
  68. 0068exact hstrict
  69. 0069exact hpackage_witness_witness_witness_witness_witness_witness_left
  70. 0070exact hpackage_witness_witness_witness_witness_witness_witness_right_left
  71. 0071exact hpackage_witness_witness_witness_witness_witness_witness_right_right_left
  72. 0072exact hfirst
  73. 0073exact hdouble
  74. 0074have hzero : ((exists fs_h_bcpvzeq_zero_entry. fs_h_bcpvzeq_zero_entry + S (0) = S ((S (x7)) * x5)) /\ exists fs_q_bcpvzeq_zero_entry. x4 = fs_q_bcpvzeq_zero_entry * S ((S (x7)) * x5) + (0))
  75. 0075specialize hentries x7
  76. 0076apply hentries
  77. 0077exact hlast_witness_left
  78. 0078have hone_zero : 1 = 0
  79. 0079specialize beta_at_unique x4
  80. 0080specialize beta_at_unique x5
  81. 0081specialize beta_at_unique x7
  82. 0082specialize beta_at_unique 1
  83. 0083specialize beta_at_unique 0
  84. 0084apply beta_at_unique
  85. 0085exact hlast_witness_right_left
  86. 0086exact hzero
  87. 0087exfalso
  88. 0088apply PA1
  89. 0089exact hone_zero