BT00VV

primorial_le_four_pow_bounded

Alpha body-checked ยท checked-use disabled

Every bounded Primorial is at most the matching fourth power.

Exact expanded PA statement

((forall n. exists c. (((exists bcf_lt_gap_bpfpsp_central_exists_out_of_range. bcf_lt_gap_bpfpsp_central_exists_out_of_range + S (n + n) = n) /\ c = 0) \/ ((exists bcf_le_gap_bpfpsp_central_exists_in_range. bcf_le_gap_bpfpsp_central_exists_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bpfpsp_central_exists bcf_row_code_scale_bpfpsp_central_exists bcf_row_scale_code_bpfpsp_central_exists bcf_row_scale_scale_bpfpsp_central_exists bcf_row_code_bpfpsp_central_exists bcf_row_scale_bpfpsp_central_exists. ((forall bcf_row_index_bpfpsp_central_exists_table. (exists bcf_lt_gap_bpfpsp_central_exists_table_row_bound. bcf_lt_gap_bpfpsp_central_exists_table_row_bound + S (bcf_row_index_bpfpsp_central_exists_table) = S (n + n)) -> exists bcf_row_code_bpfpsp_central_exists_table bcf_row_scale_bpfpsp_central_exists_table. ((((exists bcf_height_bpfpsp_central_exists_table_decoded_row_code. bcf_height_bpfpsp_central_exists_table_decoded_row_code + S (bcf_row_code_bpfpsp_central_exists_table) = S ((S (bcf_row_index_bpfpsp_central_exists_table)) * bcf_row_code_scale_bpfpsp_central_exists)) /\ exists bcf_quotient_bpfpsp_central_exists_table_decoded_row_code. bcf_row_code_code_bpfpsp_central_exists = bcf_quotient_bpfpsp_central_exists_table_decoded_row_code * S ((S (bcf_row_index_bpfpsp_central_exists_table)) * bcf_row_code_scale_bpfpsp_central_exists) + (bcf_row_code_bpfpsp_central_exists_table))) /\ ((((exists bcf_height_bpfpsp_central_exists_table_decoded_row_scale. bcf_height_bpfpsp_central_exists_table_decoded_row_scale + S (bcf_row_scale_bpfpsp_central_exists_table) = S ((S (bcf_row_index_bpfpsp_central_exists_table)) * bcf_row_scale_scale_bpfpsp_central_exists)) /\ exists bcf_quotient_bpfpsp_central_exists_table_decoded_row_scale. bcf_row_scale_code_bpfpsp_central_exists = bcf_quotient_bpfpsp_central_exists_table_decoded_row_scale * S ((S (bcf_row_index_bpfpsp_central_exists_table)) * bcf_row_scale_scale_bpfpsp_central_exists) + (bcf_row_scale_bpfpsp_central_exists_table))) /\ ((bcf_row_index_bpfpsp_central_exists_table = 0 /\ (forall bcf_index_bpfpsp_central_exists_table_zero_row. (exists bcf_lt_gap_bpfpsp_central_exists_table_zero_row_bound. bcf_lt_gap_bpfpsp_central_exists_table_zero_row_bound + S (bcf_index_bpfpsp_central_exists_table_zero_row) = S (n + n)) -> exists bcf_value_bpfpsp_central_exists_table_zero_row. ((((exists bcf_height_bpfpsp_central_exists_table_zero_row_entry. bcf_height_bpfpsp_central_exists_table_zero_row_entry + S (bcf_value_bpfpsp_central_exists_table_zero_row) = S ((S (bcf_index_bpfpsp_central_exists_table_zero_row)) * bcf_row_scale_bpfpsp_central_exists_table)) /\ exists bcf_quotient_bpfpsp_central_exists_table_zero_row_entry. bcf_row_code_bpfpsp_central_exists_table = bcf_quotient_bpfpsp_central_exists_table_zero_row_entry * S ((S (bcf_index_bpfpsp_central_exists_table_zero_row)) * bcf_row_scale_bpfpsp_central_exists_table) + (bcf_value_bpfpsp_central_exists_table_zero_row))) /\ ((bcf_index_bpfpsp_central_exists_table_zero_row = 0 /\ bcf_value_bpfpsp_central_exists_table_zero_row = 1) \/ exists bcf_predecessor_bpfpsp_central_exists_table_zero_row. bcf_index_bpfpsp_central_exists_table_zero_row = S bcf_predecessor_bpfpsp_central_exists_table_zero_row /\ bcf_value_bpfpsp_central_exists_table_zero_row = 0)))) \/ exists bcf_predecessor_bpfpsp_central_exists_table bcf_previous_code_bpfpsp_central_exists_table bcf_previous_scale_bpfpsp_central_exists_table. bcf_row_index_bpfpsp_central_exists_table = S bcf_predecessor_bpfpsp_central_exists_table /\ ((((exists bcf_height_bpfpsp_central_exists_table_decoded_previous_code. bcf_height_bpfpsp_central_exists_table_decoded_previous_code + S (bcf_previous_code_bpfpsp_central_exists_table) = S ((S (bcf_predecessor_bpfpsp_central_exists_table)) * bcf_row_code_scale_bpfpsp_central_exists)) /\ exists bcf_quotient_bpfpsp_central_exists_table_decoded_previous_code. bcf_row_code_code_bpfpsp_central_exists = bcf_quotient_bpfpsp_central_exists_table_decoded_previous_code * S ((S (bcf_predecessor_bpfpsp_central_exists_table)) * bcf_row_code_scale_bpfpsp_central_exists) + (bcf_previous_code_bpfpsp_central_exists_table))) /\ ((((exists bcf_height_bpfpsp_central_exists_table_decoded_previous_scale. bcf_height_bpfpsp_central_exists_table_decoded_previous_scale + S (bcf_previous_scale_bpfpsp_central_exists_table) = S ((S (bcf_predecessor_bpfpsp_central_exists_table)) * bcf_row_scale_scale_bpfpsp_central_exists)) /\ exists bcf_quotient_bpfpsp_central_exists_table_decoded_previous_scale. bcf_row_scale_code_bpfpsp_central_exists = bcf_quotient_bpfpsp_central_exists_table_decoded_previous_scale * S ((S (bcf_predecessor_bpfpsp_central_exists_table)) * bcf_row_scale_scale_bpfpsp_central_exists) + (bcf_previous_scale_bpfpsp_central_exists_table))) /\ (forall bcf_index_bpfpsp_central_exists_table_row_step. (exists bcf_lt_gap_bpfpsp_central_exists_table_row_step_bound. bcf_lt_gap_bpfpsp_central_exists_table_row_step_bound + S (bcf_index_bpfpsp_central_exists_table_row_step) = S (n + n)) -> exists bcf_value_bpfpsp_central_exists_table_row_step. ((((exists bcf_height_bpfpsp_central_exists_table_row_step_entry. bcf_height_bpfpsp_central_exists_table_row_step_entry + S (bcf_value_bpfpsp_central_exists_table_row_step) = S ((S (bcf_index_bpfpsp_central_exists_table_row_step)) * bcf_row_scale_bpfpsp_central_exists_table)) /\ exists bcf_quotient_bpfpsp_central_exists_table_row_step_entry. bcf_row_code_bpfpsp_central_exists_table = bcf_quotient_bpfpsp_central_exists_table_row_step_entry * S ((S (bcf_index_bpfpsp_central_exists_table_row_step)) * bcf_row_scale_bpfpsp_central_exists_table) + (bcf_value_bpfpsp_central_exists_table_row_step))) /\ ((bcf_index_bpfpsp_central_exists_table_row_step = 0 /\ bcf_value_bpfpsp_central_exists_table_row_step = 1) \/ exists bcf_predecessor_bpfpsp_central_exists_table_row_step bcf_left_bpfpsp_central_exists_table_row_step bcf_right_bpfpsp_central_exists_table_row_step. bcf_index_bpfpsp_central_exists_table_row_step = S bcf_predecessor_bpfpsp_central_exists_table_row_step /\ ((((exists bcf_height_bpfpsp_central_exists_table_row_step_previous_left. bcf_height_bpfpsp_central_exists_table_row_step_previous_left + S (bcf_left_bpfpsp_central_exists_table_row_step) = S ((S (bcf_predecessor_bpfpsp_central_exists_table_row_step)) * bcf_previous_scale_bpfpsp_central_exists_table)) /\ exists bcf_quotient_bpfpsp_central_exists_table_row_step_previous_left. bcf_previous_code_bpfpsp_central_exists_table = bcf_quotient_bpfpsp_central_exists_table_row_step_previous_left * S ((S (bcf_predecessor_bpfpsp_central_exists_table_row_step)) * bcf_previous_scale_bpfpsp_central_exists_table) + (bcf_left_bpfpsp_central_exists_table_row_step))) /\ ((((exists bcf_height_bpfpsp_central_exists_table_row_step_previous_right. bcf_height_bpfpsp_central_exists_table_row_step_previous_right + S (bcf_right_bpfpsp_central_exists_table_row_step) = S ((S (S (bcf_predecessor_bpfpsp_central_exists_table_row_step))) * bcf_previous_scale_bpfpsp_central_exists_table)) /\ exists bcf_quotient_bpfpsp_central_exists_table_row_step_previous_right. bcf_previous_code_bpfpsp_central_exists_table = bcf_quotient_bpfpsp_central_exists_table_row_step_previous_right * S ((S (S (bcf_predecessor_bpfpsp_central_exists_table_row_step))) * bcf_previous_scale_bpfpsp_central_exists_table) + (bcf_right_bpfpsp_central_exists_table_row_step))) /\ bcf_value_bpfpsp_central_exists_table_row_step = bcf_left_bpfpsp_central_exists_table_row_step + bcf_right_bpfpsp_central_exists_table_row_step))))))))))) /\ ((((exists bcf_height_bpfpsp_central_exists_decoded_row_code. bcf_height_bpfpsp_central_exists_decoded_row_code + S (bcf_row_code_bpfpsp_central_exists) = S ((S (n + n)) * bcf_row_code_scale_bpfpsp_central_exists)) /\ exists bcf_quotient_bpfpsp_central_exists_decoded_row_code. bcf_row_code_code_bpfpsp_central_exists = bcf_quotient_bpfpsp_central_exists_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bpfpsp_central_exists) + (bcf_row_code_bpfpsp_central_exists))) /\ ((((exists bcf_height_bpfpsp_central_exists_decoded_row_scale. bcf_height_bpfpsp_central_exists_decoded_row_scale + S (bcf_row_scale_bpfpsp_central_exists) = S ((S (n + n)) * bcf_row_scale_scale_bpfpsp_central_exists)) /\ exists bcf_quotient_bpfpsp_central_exists_decoded_row_scale. bcf_row_scale_code_bpfpsp_central_exists = bcf_quotient_bpfpsp_central_exists_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bpfpsp_central_exists) + (bcf_row_scale_bpfpsp_central_exists))) /\ (((exists bcf_height_bpfpsp_central_exists_decoded_value. bcf_height_bpfpsp_central_exists_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bpfpsp_central_exists)) /\ exists bcf_quotient_bpfpsp_central_exists_decoded_value. bcf_row_code_bpfpsp_central_exists = bcf_quotient_bpfpsp_central_exists_decoded_value * S ((S (n)) * bcf_row_scale_bpfpsp_central_exists) + (c)))))))))) /\ ((forall n k. exists c. (((exists bcf_lt_gap_bpfpsp_choose_exists_out_of_range. bcf_lt_gap_bpfpsp_choose_exists_out_of_range + S (n) = k) /\ c = 0) \/ ((exists bcf_le_gap_bpfpsp_choose_exists_in_range. bcf_le_gap_bpfpsp_choose_exists_in_range + (k) = n) /\ (exists bcf_row_code_code_bpfpsp_choose_exists bcf_row_code_scale_bpfpsp_choose_exists bcf_row_scale_code_bpfpsp_choose_exists bcf_row_scale_scale_bpfpsp_choose_exists bcf_row_code_bpfpsp_choose_exists bcf_row_scale_bpfpsp_choose_exists. ((forall bcf_row_index_bpfpsp_choose_exists_table. (exists bcf_lt_gap_bpfpsp_choose_exists_table_row_bound. bcf_lt_gap_bpfpsp_choose_exists_table_row_bound + S (bcf_row_index_bpfpsp_choose_exists_table) = S (n)) -> exists bcf_row_code_bpfpsp_choose_exists_table bcf_row_scale_bpfpsp_choose_exists_table. ((((exists bcf_height_bpfpsp_choose_exists_table_decoded_row_code. bcf_height_bpfpsp_choose_exists_table_decoded_row_code + S (bcf_row_code_bpfpsp_choose_exists_table) = S ((S (bcf_row_index_bpfpsp_choose_exists_table)) * bcf_row_code_scale_bpfpsp_choose_exists)) /\ exists bcf_quotient_bpfpsp_choose_exists_table_decoded_row_code. bcf_row_code_code_bpfpsp_choose_exists = bcf_quotient_bpfpsp_choose_exists_table_decoded_row_code * S ((S (bcf_row_index_bpfpsp_choose_exists_table)) * bcf_row_code_scale_bpfpsp_choose_exists) + (bcf_row_code_bpfpsp_choose_exists_table))) /\ ((((exists bcf_height_bpfpsp_choose_exists_table_decoded_row_scale. bcf_height_bpfpsp_choose_exists_table_decoded_row_scale + S (bcf_row_scale_bpfpsp_choose_exists_table) = S ((S (bcf_row_index_bpfpsp_choose_exists_table)) * bcf_row_scale_scale_bpfpsp_choose_exists)) /\ exists bcf_quotient_bpfpsp_choose_exists_table_decoded_row_scale. bcf_row_scale_code_bpfpsp_choose_exists = bcf_quotient_bpfpsp_choose_exists_table_decoded_row_scale * S ((S (bcf_row_index_bpfpsp_choose_exists_table)) * bcf_row_scale_scale_bpfpsp_choose_exists) + (bcf_row_scale_bpfpsp_choose_exists_table))) /\ ((bcf_row_index_bpfpsp_choose_exists_table = 0 /\ (forall bcf_index_bpfpsp_choose_exists_table_zero_row. (exists bcf_lt_gap_bpfpsp_choose_exists_table_zero_row_bound. bcf_lt_gap_bpfpsp_choose_exists_table_zero_row_bound + S (bcf_index_bpfpsp_choose_exists_table_zero_row) = S (n)) -> exists bcf_value_bpfpsp_choose_exists_table_zero_row. ((((exists bcf_height_bpfpsp_choose_exists_table_zero_row_entry. bcf_height_bpfpsp_choose_exists_table_zero_row_entry + S (bcf_value_bpfpsp_choose_exists_table_zero_row) = S ((S (bcf_index_bpfpsp_choose_exists_table_zero_row)) * bcf_row_scale_bpfpsp_choose_exists_table)) /\ exists bcf_quotient_bpfpsp_choose_exists_table_zero_row_entry. bcf_row_code_bpfpsp_choose_exists_table = bcf_quotient_bpfpsp_choose_exists_table_zero_row_entry * S ((S (bcf_index_bpfpsp_choose_exists_table_zero_row)) * bcf_row_scale_bpfpsp_choose_exists_table) + (bcf_value_bpfpsp_choose_exists_table_zero_row))) /\ ((bcf_index_bpfpsp_choose_exists_table_zero_row = 0 /\ bcf_value_bpfpsp_choose_exists_table_zero_row = 1) \/ exists bcf_predecessor_bpfpsp_choose_exists_table_zero_row. bcf_index_bpfpsp_choose_exists_table_zero_row = S bcf_predecessor_bpfpsp_choose_exists_table_zero_row /\ bcf_value_bpfpsp_choose_exists_table_zero_row = 0)))) \/ exists bcf_predecessor_bpfpsp_choose_exists_table bcf_previous_code_bpfpsp_choose_exists_table bcf_previous_scale_bpfpsp_choose_exists_table. bcf_row_index_bpfpsp_choose_exists_table = S bcf_predecessor_bpfpsp_choose_exists_table /\ ((((exists bcf_height_bpfpsp_choose_exists_table_decoded_previous_code. bcf_height_bpfpsp_choose_exists_table_decoded_previous_code + S (bcf_previous_code_bpfpsp_choose_exists_table) = S ((S (bcf_predecessor_bpfpsp_choose_exists_table)) * bcf_row_code_scale_bpfpsp_choose_exists)) /\ exists bcf_quotient_bpfpsp_choose_exists_table_decoded_previous_code. bcf_row_code_code_bpfpsp_choose_exists = bcf_quotient_bpfpsp_choose_exists_table_decoded_previous_code * S ((S (bcf_predecessor_bpfpsp_choose_exists_table)) * bcf_row_code_scale_bpfpsp_choose_exists) + (bcf_previous_code_bpfpsp_choose_exists_table))) /\ ((((exists bcf_height_bpfpsp_choose_exists_table_decoded_previous_scale. bcf_height_bpfpsp_choose_exists_table_decoded_previous_scale + S (bcf_previous_scale_bpfpsp_choose_exists_table) = S ((S (bcf_predecessor_bpfpsp_choose_exists_table)) * bcf_row_scale_scale_bpfpsp_choose_exists)) /\ exists bcf_quotient_bpfpsp_choose_exists_table_decoded_previous_scale. bcf_row_scale_code_bpfpsp_choose_exists = bcf_quotient_bpfpsp_choose_exists_table_decoded_previous_scale * S ((S (bcf_predecessor_bpfpsp_choose_exists_table)) * bcf_row_scale_scale_bpfpsp_choose_exists) + (bcf_previous_scale_bpfpsp_choose_exists_table))) /\ (forall bcf_index_bpfpsp_choose_exists_table_row_step. (exists bcf_lt_gap_bpfpsp_choose_exists_table_row_step_bound. bcf_lt_gap_bpfpsp_choose_exists_table_row_step_bound + S (bcf_index_bpfpsp_choose_exists_table_row_step) = S (n)) -> exists bcf_value_bpfpsp_choose_exists_table_row_step. ((((exists bcf_height_bpfpsp_choose_exists_table_row_step_entry. bcf_height_bpfpsp_choose_exists_table_row_step_entry + S (bcf_value_bpfpsp_choose_exists_table_row_step) = S ((S (bcf_index_bpfpsp_choose_exists_table_row_step)) * bcf_row_scale_bpfpsp_choose_exists_table)) /\ exists bcf_quotient_bpfpsp_choose_exists_table_row_step_entry. bcf_row_code_bpfpsp_choose_exists_table = bcf_quotient_bpfpsp_choose_exists_table_row_step_entry * S ((S (bcf_index_bpfpsp_choose_exists_table_row_step)) * bcf_row_scale_bpfpsp_choose_exists_table) + (bcf_value_bpfpsp_choose_exists_table_row_step))) /\ ((bcf_index_bpfpsp_choose_exists_table_row_step = 0 /\ bcf_value_bpfpsp_choose_exists_table_row_step = 1) \/ exists bcf_predecessor_bpfpsp_choose_exists_table_row_step bcf_left_bpfpsp_choose_exists_table_row_step bcf_right_bpfpsp_choose_exists_table_row_step. bcf_index_bpfpsp_choose_exists_table_row_step = S bcf_predecessor_bpfpsp_choose_exists_table_row_step /\ ((((exists bcf_height_bpfpsp_choose_exists_table_row_step_previous_left. bcf_height_bpfpsp_choose_exists_table_row_step_previous_left + S (bcf_left_bpfpsp_choose_exists_table_row_step) = S ((S (bcf_predecessor_bpfpsp_choose_exists_table_row_step)) * bcf_previous_scale_bpfpsp_choose_exists_table)) /\ exists bcf_quotient_bpfpsp_choose_exists_table_row_step_previous_left. bcf_previous_code_bpfpsp_choose_exists_table = bcf_quotient_bpfpsp_choose_exists_table_row_step_previous_left * S ((S (bcf_predecessor_bpfpsp_choose_exists_table_row_step)) * bcf_previous_scale_bpfpsp_choose_exists_table) + (bcf_left_bpfpsp_choose_exists_table_row_step))) /\ ((((exists bcf_height_bpfpsp_choose_exists_table_row_step_previous_right. bcf_height_bpfpsp_choose_exists_table_row_step_previous_right + S (bcf_right_bpfpsp_choose_exists_table_row_step) = S ((S (S (bcf_predecessor_bpfpsp_choose_exists_table_row_step))) * bcf_previous_scale_bpfpsp_choose_exists_table)) /\ exists bcf_quotient_bpfpsp_choose_exists_table_row_step_previous_right. bcf_previous_code_bpfpsp_choose_exists_table = bcf_quotient_bpfpsp_choose_exists_table_row_step_previous_right * S ((S (S (bcf_predecessor_bpfpsp_choose_exists_table_row_step))) * bcf_previous_scale_bpfpsp_choose_exists_table) + (bcf_right_bpfpsp_choose_exists_table_row_step))) /\ bcf_value_bpfpsp_choose_exists_table_row_step = bcf_left_bpfpsp_choose_exists_table_row_step + bcf_right_bpfpsp_choose_exists_table_row_step))))))))))) /\ ((((exists bcf_height_bpfpsp_choose_exists_decoded_row_code. bcf_height_bpfpsp_choose_exists_decoded_row_code + S (bcf_row_code_bpfpsp_choose_exists) = S ((S (n)) * bcf_row_code_scale_bpfpsp_choose_exists)) /\ exists bcf_quotient_bpfpsp_choose_exists_decoded_row_code. bcf_row_code_code_bpfpsp_choose_exists = bcf_quotient_bpfpsp_choose_exists_decoded_row_code * S ((S (n)) * bcf_row_code_scale_bpfpsp_choose_exists) + (bcf_row_code_bpfpsp_choose_exists))) /\ ((((exists bcf_height_bpfpsp_choose_exists_decoded_row_scale. bcf_height_bpfpsp_choose_exists_decoded_row_scale + S (bcf_row_scale_bpfpsp_choose_exists) = S ((S (n)) * bcf_row_scale_scale_bpfpsp_choose_exists)) /\ exists bcf_quotient_bpfpsp_choose_exists_decoded_row_scale. bcf_row_scale_code_bpfpsp_choose_exists = bcf_quotient_bpfpsp_choose_exists_decoded_row_scale * S ((S (n)) * bcf_row_scale_scale_bpfpsp_choose_exists) + (bcf_row_scale_bpfpsp_choose_exists))) /\ (((exists bcf_height_bpfpsp_choose_exists_decoded_value. bcf_height_bpfpsp_choose_exists_decoded_value + S (c) = S ((S (k)) * bcf_row_scale_bpfpsp_choose_exists)) /\ exists bcf_quotient_bpfpsp_choose_exists_decoded_value. bcf_row_code_bpfpsp_choose_exists = bcf_quotient_bpfpsp_choose_exists_decoded_value * S ((S (k)) * bcf_row_scale_bpfpsp_choose_exists) + (c)))))))))) /\ ((forall a l z. (exists bpr_code_bpfpsp_split_source bpr_scale_bpfpsp_split_source. ((forall bpr_index_bpfpsp_split_source_mask. (exists bpr_gap_bpfpsp_split_source_mask_bound. bpr_gap_bpfpsp_split_source_mask_bound + S (bpr_index_bpfpsp_split_source_mask) = a + l) -> exists bpr_value_bpfpsp_split_source_mask. ((((exists bpr_height_bpfpsp_split_source_mask_decoded. bpr_height_bpfpsp_split_source_mask_decoded + S (bpr_value_bpfpsp_split_source_mask) = S ((S (bpr_index_bpfpsp_split_source_mask)) * bpr_scale_bpfpsp_split_source)) /\ exists bpr_quotient_bpfpsp_split_source_mask_decoded. bpr_code_bpfpsp_split_source = bpr_quotient_bpfpsp_split_source_mask_decoded * S ((S (bpr_index_bpfpsp_split_source_mask)) * bpr_scale_bpfpsp_split_source) + (bpr_value_bpfpsp_split_source_mask))) /\ (((((~(S (bpr_index_bpfpsp_split_source_mask) = 1) /\ forall bpr_left_bpfpsp_split_source_mask_choice_prime bpr_right_bpfpsp_split_source_mask_choice_prime. S (bpr_index_bpfpsp_split_source_mask) = bpr_left_bpfpsp_split_source_mask_choice_prime * bpr_right_bpfpsp_split_source_mask_choice_prime -> bpr_left_bpfpsp_split_source_mask_choice_prime = 1 \/ bpr_right_bpfpsp_split_source_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_split_source_mask = S (bpr_index_bpfpsp_split_source_mask)) \/ (~((~(S (bpr_index_bpfpsp_split_source_mask) = 1) /\ forall bpr_left_bpfpsp_split_source_mask_choice_prime bpr_right_bpfpsp_split_source_mask_choice_prime. S (bpr_index_bpfpsp_split_source_mask) = bpr_left_bpfpsp_split_source_mask_choice_prime * bpr_right_bpfpsp_split_source_mask_choice_prime -> bpr_left_bpfpsp_split_source_mask_choice_prime = 1 \/ bpr_right_bpfpsp_split_source_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_split_source_mask = 1))))) /\ (exists ff_u_bpfpsp_split_source_product ff_v_bpfpsp_split_source_product. ((((exists ff_h_bpfpsp_split_source_product_start. ff_h_bpfpsp_split_source_product_start + S (1) = S ((S (0)) * ff_v_bpfpsp_split_source_product)) /\ exists ff_q_bpfpsp_split_source_product_start. ff_u_bpfpsp_split_source_product = ff_q_bpfpsp_split_source_product_start * S ((S (0)) * ff_v_bpfpsp_split_source_product) + (1))) /\ ((((exists ff_h_bpfpsp_split_source_product_terminal. ff_h_bpfpsp_split_source_product_terminal + S (z) = S ((S (a + l)) * ff_v_bpfpsp_split_source_product)) /\ exists ff_q_bpfpsp_split_source_product_terminal. ff_u_bpfpsp_split_source_product = ff_q_bpfpsp_split_source_product_terminal * S ((S (a + l)) * ff_v_bpfpsp_split_source_product) + (z))) /\ forall ff_i_bpfpsp_split_source_product. (exists ff_lt_bpfpsp_split_source_product_bound. ff_lt_bpfpsp_split_source_product_bound + S ff_i_bpfpsp_split_source_product = a + l) -> exists ff_p_bpfpsp_split_source_product ff_r_bpfpsp_split_source_product ff_s_bpfpsp_split_source_product. ((((exists ff_h_bpfpsp_split_source_product_factor. ff_h_bpfpsp_split_source_product_factor + S (ff_p_bpfpsp_split_source_product) = S ((S (ff_i_bpfpsp_split_source_product)) * bpr_scale_bpfpsp_split_source)) /\ exists ff_q_bpfpsp_split_source_product_factor. bpr_code_bpfpsp_split_source = ff_q_bpfpsp_split_source_product_factor * S ((S (ff_i_bpfpsp_split_source_product)) * bpr_scale_bpfpsp_split_source) + (ff_p_bpfpsp_split_source_product))) /\ ((((exists ff_h_bpfpsp_split_source_product_partial. ff_h_bpfpsp_split_source_product_partial + S (ff_r_bpfpsp_split_source_product) = S ((S (ff_i_bpfpsp_split_source_product)) * ff_v_bpfpsp_split_source_product)) /\ exists ff_q_bpfpsp_split_source_product_partial. ff_u_bpfpsp_split_source_product = ff_q_bpfpsp_split_source_product_partial * S ((S (ff_i_bpfpsp_split_source_product)) * ff_v_bpfpsp_split_source_product) + (ff_r_bpfpsp_split_source_product))) /\ ((((exists ff_h_bpfpsp_split_source_product_successor. ff_h_bpfpsp_split_source_product_successor + S (ff_s_bpfpsp_split_source_product) = S ((S (S ff_i_bpfpsp_split_source_product)) * ff_v_bpfpsp_split_source_product)) /\ exists ff_q_bpfpsp_split_source_product_successor. ff_u_bpfpsp_split_source_product = ff_q_bpfpsp_split_source_product_successor * S ((S (S ff_i_bpfpsp_split_source_product)) * ff_v_bpfpsp_split_source_product) + (ff_s_bpfpsp_split_source_product))) /\ ff_s_bpfpsp_split_source_product = ff_r_bpfpsp_split_source_product * ff_p_bpfpsp_split_source_product)))))))) -> exists x y. (exists bpr_code_bpfpsp_split_prefix bpr_scale_bpfpsp_split_prefix. ((forall bpr_index_bpfpsp_split_prefix_mask. (exists bpr_gap_bpfpsp_split_prefix_mask_bound. bpr_gap_bpfpsp_split_prefix_mask_bound + S (bpr_index_bpfpsp_split_prefix_mask) = a) -> exists bpr_value_bpfpsp_split_prefix_mask. ((((exists bpr_height_bpfpsp_split_prefix_mask_decoded. bpr_height_bpfpsp_split_prefix_mask_decoded + S (bpr_value_bpfpsp_split_prefix_mask) = S ((S (bpr_index_bpfpsp_split_prefix_mask)) * bpr_scale_bpfpsp_split_prefix)) /\ exists bpr_quotient_bpfpsp_split_prefix_mask_decoded. bpr_code_bpfpsp_split_prefix = bpr_quotient_bpfpsp_split_prefix_mask_decoded * S ((S (bpr_index_bpfpsp_split_prefix_mask)) * bpr_scale_bpfpsp_split_prefix) + (bpr_value_bpfpsp_split_prefix_mask))) /\ (((((~(S (bpr_index_bpfpsp_split_prefix_mask) = 1) /\ forall bpr_left_bpfpsp_split_prefix_mask_choice_prime bpr_right_bpfpsp_split_prefix_mask_choice_prime. S (bpr_index_bpfpsp_split_prefix_mask) = bpr_left_bpfpsp_split_prefix_mask_choice_prime * bpr_right_bpfpsp_split_prefix_mask_choice_prime -> bpr_left_bpfpsp_split_prefix_mask_choice_prime = 1 \/ bpr_right_bpfpsp_split_prefix_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_split_prefix_mask = S (bpr_index_bpfpsp_split_prefix_mask)) \/ (~((~(S (bpr_index_bpfpsp_split_prefix_mask) = 1) /\ forall bpr_left_bpfpsp_split_prefix_mask_choice_prime bpr_right_bpfpsp_split_prefix_mask_choice_prime. S (bpr_index_bpfpsp_split_prefix_mask) = bpr_left_bpfpsp_split_prefix_mask_choice_prime * bpr_right_bpfpsp_split_prefix_mask_choice_prime -> bpr_left_bpfpsp_split_prefix_mask_choice_prime = 1 \/ bpr_right_bpfpsp_split_prefix_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_split_prefix_mask = 1))))) /\ (exists ff_u_bpfpsp_split_prefix_product ff_v_bpfpsp_split_prefix_product. ((((exists ff_h_bpfpsp_split_prefix_product_start. ff_h_bpfpsp_split_prefix_product_start + S (1) = S ((S (0)) * ff_v_bpfpsp_split_prefix_product)) /\ exists ff_q_bpfpsp_split_prefix_product_start. ff_u_bpfpsp_split_prefix_product = ff_q_bpfpsp_split_prefix_product_start * S ((S (0)) * ff_v_bpfpsp_split_prefix_product) + (1))) /\ ((((exists ff_h_bpfpsp_split_prefix_product_terminal. ff_h_bpfpsp_split_prefix_product_terminal + S (x) = S ((S (a)) * ff_v_bpfpsp_split_prefix_product)) /\ exists ff_q_bpfpsp_split_prefix_product_terminal. ff_u_bpfpsp_split_prefix_product = ff_q_bpfpsp_split_prefix_product_terminal * S ((S (a)) * ff_v_bpfpsp_split_prefix_product) + (x))) /\ forall ff_i_bpfpsp_split_prefix_product. (exists ff_lt_bpfpsp_split_prefix_product_bound. ff_lt_bpfpsp_split_prefix_product_bound + S ff_i_bpfpsp_split_prefix_product = a) -> exists ff_p_bpfpsp_split_prefix_product ff_r_bpfpsp_split_prefix_product ff_s_bpfpsp_split_prefix_product. ((((exists ff_h_bpfpsp_split_prefix_product_factor. ff_h_bpfpsp_split_prefix_product_factor + S (ff_p_bpfpsp_split_prefix_product) = S ((S (ff_i_bpfpsp_split_prefix_product)) * bpr_scale_bpfpsp_split_prefix)) /\ exists ff_q_bpfpsp_split_prefix_product_factor. bpr_code_bpfpsp_split_prefix = ff_q_bpfpsp_split_prefix_product_factor * S ((S (ff_i_bpfpsp_split_prefix_product)) * bpr_scale_bpfpsp_split_prefix) + (ff_p_bpfpsp_split_prefix_product))) /\ ((((exists ff_h_bpfpsp_split_prefix_product_partial. ff_h_bpfpsp_split_prefix_product_partial + S (ff_r_bpfpsp_split_prefix_product) = S ((S (ff_i_bpfpsp_split_prefix_product)) * ff_v_bpfpsp_split_prefix_product)) /\ exists ff_q_bpfpsp_split_prefix_product_partial. ff_u_bpfpsp_split_prefix_product = ff_q_bpfpsp_split_prefix_product_partial * S ((S (ff_i_bpfpsp_split_prefix_product)) * ff_v_bpfpsp_split_prefix_product) + (ff_r_bpfpsp_split_prefix_product))) /\ ((((exists ff_h_bpfpsp_split_prefix_product_successor. ff_h_bpfpsp_split_prefix_product_successor + S (ff_s_bpfpsp_split_prefix_product) = S ((S (S ff_i_bpfpsp_split_prefix_product)) * ff_v_bpfpsp_split_prefix_product)) /\ exists ff_q_bpfpsp_split_prefix_product_successor. ff_u_bpfpsp_split_prefix_product = ff_q_bpfpsp_split_prefix_product_successor * S ((S (S ff_i_bpfpsp_split_prefix_product)) * ff_v_bpfpsp_split_prefix_product) + (ff_s_bpfpsp_split_prefix_product))) /\ ff_s_bpfpsp_split_prefix_product = ff_r_bpfpsp_split_prefix_product * ff_p_bpfpsp_split_prefix_product)))))))) /\ ((exists bpr_code_bpfpsp_split_interval bpr_scale_bpfpsp_split_interval. ((forall bpr_index_bpfpsp_split_interval_mask. (exists bpr_gap_bpfpsp_split_interval_mask_bound. bpr_gap_bpfpsp_split_interval_mask_bound + S (bpr_index_bpfpsp_split_interval_mask) = l) -> exists bpr_value_bpfpsp_split_interval_mask. ((((exists bpr_height_bpfpsp_split_interval_mask_decoded. bpr_height_bpfpsp_split_interval_mask_decoded + S (bpr_value_bpfpsp_split_interval_mask) = S ((S (bpr_index_bpfpsp_split_interval_mask)) * bpr_scale_bpfpsp_split_interval)) /\ exists bpr_quotient_bpfpsp_split_interval_mask_decoded. bpr_code_bpfpsp_split_interval = bpr_quotient_bpfpsp_split_interval_mask_decoded * S ((S (bpr_index_bpfpsp_split_interval_mask)) * bpr_scale_bpfpsp_split_interval) + (bpr_value_bpfpsp_split_interval_mask))) /\ (((((~(S (a + bpr_index_bpfpsp_split_interval_mask) = 1) /\ forall bpr_left_bpfpsp_split_interval_mask_choice_prime bpr_right_bpfpsp_split_interval_mask_choice_prime. S (a + bpr_index_bpfpsp_split_interval_mask) = bpr_left_bpfpsp_split_interval_mask_choice_prime * bpr_right_bpfpsp_split_interval_mask_choice_prime -> bpr_left_bpfpsp_split_interval_mask_choice_prime = 1 \/ bpr_right_bpfpsp_split_interval_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_split_interval_mask = S (a + bpr_index_bpfpsp_split_interval_mask)) \/ (~((~(S (a + bpr_index_bpfpsp_split_interval_mask) = 1) /\ forall bpr_left_bpfpsp_split_interval_mask_choice_prime bpr_right_bpfpsp_split_interval_mask_choice_prime. S (a + bpr_index_bpfpsp_split_interval_mask) = bpr_left_bpfpsp_split_interval_mask_choice_prime * bpr_right_bpfpsp_split_interval_mask_choice_prime -> bpr_left_bpfpsp_split_interval_mask_choice_prime = 1 \/ bpr_right_bpfpsp_split_interval_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_split_interval_mask = 1))))) /\ (exists ff_u_bpfpsp_split_interval_product ff_v_bpfpsp_split_interval_product. ((((exists ff_h_bpfpsp_split_interval_product_start. ff_h_bpfpsp_split_interval_product_start + S (1) = S ((S (0)) * ff_v_bpfpsp_split_interval_product)) /\ exists ff_q_bpfpsp_split_interval_product_start. ff_u_bpfpsp_split_interval_product = ff_q_bpfpsp_split_interval_product_start * S ((S (0)) * ff_v_bpfpsp_split_interval_product) + (1))) /\ ((((exists ff_h_bpfpsp_split_interval_product_terminal. ff_h_bpfpsp_split_interval_product_terminal + S (y) = S ((S (l)) * ff_v_bpfpsp_split_interval_product)) /\ exists ff_q_bpfpsp_split_interval_product_terminal. ff_u_bpfpsp_split_interval_product = ff_q_bpfpsp_split_interval_product_terminal * S ((S (l)) * ff_v_bpfpsp_split_interval_product) + (y))) /\ forall ff_i_bpfpsp_split_interval_product. (exists ff_lt_bpfpsp_split_interval_product_bound. ff_lt_bpfpsp_split_interval_product_bound + S ff_i_bpfpsp_split_interval_product = l) -> exists ff_p_bpfpsp_split_interval_product ff_r_bpfpsp_split_interval_product ff_s_bpfpsp_split_interval_product. ((((exists ff_h_bpfpsp_split_interval_product_factor. ff_h_bpfpsp_split_interval_product_factor + S (ff_p_bpfpsp_split_interval_product) = S ((S (ff_i_bpfpsp_split_interval_product)) * bpr_scale_bpfpsp_split_interval)) /\ exists ff_q_bpfpsp_split_interval_product_factor. bpr_code_bpfpsp_split_interval = ff_q_bpfpsp_split_interval_product_factor * S ((S (ff_i_bpfpsp_split_interval_product)) * bpr_scale_bpfpsp_split_interval) + (ff_p_bpfpsp_split_interval_product))) /\ ((((exists ff_h_bpfpsp_split_interval_product_partial. ff_h_bpfpsp_split_interval_product_partial + S (ff_r_bpfpsp_split_interval_product) = S ((S (ff_i_bpfpsp_split_interval_product)) * ff_v_bpfpsp_split_interval_product)) /\ exists ff_q_bpfpsp_split_interval_product_partial. ff_u_bpfpsp_split_interval_product = ff_q_bpfpsp_split_interval_product_partial * S ((S (ff_i_bpfpsp_split_interval_product)) * ff_v_bpfpsp_split_interval_product) + (ff_r_bpfpsp_split_interval_product))) /\ ((((exists ff_h_bpfpsp_split_interval_product_successor. ff_h_bpfpsp_split_interval_product_successor + S (ff_s_bpfpsp_split_interval_product) = S ((S (S ff_i_bpfpsp_split_interval_product)) * ff_v_bpfpsp_split_interval_product)) /\ exists ff_q_bpfpsp_split_interval_product_successor. ff_u_bpfpsp_split_interval_product = ff_q_bpfpsp_split_interval_product_successor * S ((S (S ff_i_bpfpsp_split_interval_product)) * ff_v_bpfpsp_split_interval_product) + (ff_s_bpfpsp_split_interval_product))) /\ ff_s_bpfpsp_split_interval_product = ff_r_bpfpsp_split_interval_product * ff_p_bpfpsp_split_interval_product)))))))) /\ z = x * y)) /\ ((forall n z c. (exists bpr_code_bpfpsp_even_interval bpr_scale_bpfpsp_even_interval. ((forall bpr_index_bpfpsp_even_interval_mask. (exists bpr_gap_bpfpsp_even_interval_mask_bound. bpr_gap_bpfpsp_even_interval_mask_bound + S (bpr_index_bpfpsp_even_interval_mask) = n) -> exists bpr_value_bpfpsp_even_interval_mask. ((((exists bpr_height_bpfpsp_even_interval_mask_decoded. bpr_height_bpfpsp_even_interval_mask_decoded + S (bpr_value_bpfpsp_even_interval_mask) = S ((S (bpr_index_bpfpsp_even_interval_mask)) * bpr_scale_bpfpsp_even_interval)) /\ exists bpr_quotient_bpfpsp_even_interval_mask_decoded. bpr_code_bpfpsp_even_interval = bpr_quotient_bpfpsp_even_interval_mask_decoded * S ((S (bpr_index_bpfpsp_even_interval_mask)) * bpr_scale_bpfpsp_even_interval) + (bpr_value_bpfpsp_even_interval_mask))) /\ (((((~(S (n + bpr_index_bpfpsp_even_interval_mask) = 1) /\ forall bpr_left_bpfpsp_even_interval_mask_choice_prime bpr_right_bpfpsp_even_interval_mask_choice_prime. S (n + bpr_index_bpfpsp_even_interval_mask) = bpr_left_bpfpsp_even_interval_mask_choice_prime * bpr_right_bpfpsp_even_interval_mask_choice_prime -> bpr_left_bpfpsp_even_interval_mask_choice_prime = 1 \/ bpr_right_bpfpsp_even_interval_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_even_interval_mask = S (n + bpr_index_bpfpsp_even_interval_mask)) \/ (~((~(S (n + bpr_index_bpfpsp_even_interval_mask) = 1) /\ forall bpr_left_bpfpsp_even_interval_mask_choice_prime bpr_right_bpfpsp_even_interval_mask_choice_prime. S (n + bpr_index_bpfpsp_even_interval_mask) = bpr_left_bpfpsp_even_interval_mask_choice_prime * bpr_right_bpfpsp_even_interval_mask_choice_prime -> bpr_left_bpfpsp_even_interval_mask_choice_prime = 1 \/ bpr_right_bpfpsp_even_interval_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_even_interval_mask = 1))))) /\ (exists ff_u_bpfpsp_even_interval_product ff_v_bpfpsp_even_interval_product. ((((exists ff_h_bpfpsp_even_interval_product_start. ff_h_bpfpsp_even_interval_product_start + S (1) = S ((S (0)) * ff_v_bpfpsp_even_interval_product)) /\ exists ff_q_bpfpsp_even_interval_product_start. ff_u_bpfpsp_even_interval_product = ff_q_bpfpsp_even_interval_product_start * S ((S (0)) * ff_v_bpfpsp_even_interval_product) + (1))) /\ ((((exists ff_h_bpfpsp_even_interval_product_terminal. ff_h_bpfpsp_even_interval_product_terminal + S (z) = S ((S (n)) * ff_v_bpfpsp_even_interval_product)) /\ exists ff_q_bpfpsp_even_interval_product_terminal. ff_u_bpfpsp_even_interval_product = ff_q_bpfpsp_even_interval_product_terminal * S ((S (n)) * ff_v_bpfpsp_even_interval_product) + (z))) /\ forall ff_i_bpfpsp_even_interval_product. (exists ff_lt_bpfpsp_even_interval_product_bound. ff_lt_bpfpsp_even_interval_product_bound + S ff_i_bpfpsp_even_interval_product = n) -> exists ff_p_bpfpsp_even_interval_product ff_r_bpfpsp_even_interval_product ff_s_bpfpsp_even_interval_product. ((((exists ff_h_bpfpsp_even_interval_product_factor. ff_h_bpfpsp_even_interval_product_factor + S (ff_p_bpfpsp_even_interval_product) = S ((S (ff_i_bpfpsp_even_interval_product)) * bpr_scale_bpfpsp_even_interval)) /\ exists ff_q_bpfpsp_even_interval_product_factor. bpr_code_bpfpsp_even_interval = ff_q_bpfpsp_even_interval_product_factor * S ((S (ff_i_bpfpsp_even_interval_product)) * bpr_scale_bpfpsp_even_interval) + (ff_p_bpfpsp_even_interval_product))) /\ ((((exists ff_h_bpfpsp_even_interval_product_partial. ff_h_bpfpsp_even_interval_product_partial + S (ff_r_bpfpsp_even_interval_product) = S ((S (ff_i_bpfpsp_even_interval_product)) * ff_v_bpfpsp_even_interval_product)) /\ exists ff_q_bpfpsp_even_interval_product_partial. ff_u_bpfpsp_even_interval_product = ff_q_bpfpsp_even_interval_product_partial * S ((S (ff_i_bpfpsp_even_interval_product)) * ff_v_bpfpsp_even_interval_product) + (ff_r_bpfpsp_even_interval_product))) /\ ((((exists ff_h_bpfpsp_even_interval_product_successor. ff_h_bpfpsp_even_interval_product_successor + S (ff_s_bpfpsp_even_interval_product) = S ((S (S ff_i_bpfpsp_even_interval_product)) * ff_v_bpfpsp_even_interval_product)) /\ exists ff_q_bpfpsp_even_interval_product_successor. ff_u_bpfpsp_even_interval_product = ff_q_bpfpsp_even_interval_product_successor * S ((S (S ff_i_bpfpsp_even_interval_product)) * ff_v_bpfpsp_even_interval_product) + (ff_s_bpfpsp_even_interval_product))) /\ ff_s_bpfpsp_even_interval_product = ff_r_bpfpsp_even_interval_product * ff_p_bpfpsp_even_interval_product)))))))) -> (((exists bcf_lt_gap_bpfpsp_even_central_out_of_range. bcf_lt_gap_bpfpsp_even_central_out_of_range + S (n + n) = n) /\ c = 0) \/ ((exists bcf_le_gap_bpfpsp_even_central_in_range. bcf_le_gap_bpfpsp_even_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bpfpsp_even_central bcf_row_code_scale_bpfpsp_even_central bcf_row_scale_code_bpfpsp_even_central bcf_row_scale_scale_bpfpsp_even_central bcf_row_code_bpfpsp_even_central bcf_row_scale_bpfpsp_even_central. ((forall bcf_row_index_bpfpsp_even_central_table. (exists bcf_lt_gap_bpfpsp_even_central_table_row_bound. bcf_lt_gap_bpfpsp_even_central_table_row_bound + S (bcf_row_index_bpfpsp_even_central_table) = S (n + n)) -> exists bcf_row_code_bpfpsp_even_central_table bcf_row_scale_bpfpsp_even_central_table. ((((exists bcf_height_bpfpsp_even_central_table_decoded_row_code. bcf_height_bpfpsp_even_central_table_decoded_row_code + S (bcf_row_code_bpfpsp_even_central_table) = S ((S (bcf_row_index_bpfpsp_even_central_table)) * bcf_row_code_scale_bpfpsp_even_central)) /\ exists bcf_quotient_bpfpsp_even_central_table_decoded_row_code. bcf_row_code_code_bpfpsp_even_central = bcf_quotient_bpfpsp_even_central_table_decoded_row_code * S ((S (bcf_row_index_bpfpsp_even_central_table)) * bcf_row_code_scale_bpfpsp_even_central) + (bcf_row_code_bpfpsp_even_central_table))) /\ ((((exists bcf_height_bpfpsp_even_central_table_decoded_row_scale. bcf_height_bpfpsp_even_central_table_decoded_row_scale + S (bcf_row_scale_bpfpsp_even_central_table) = S ((S (bcf_row_index_bpfpsp_even_central_table)) * bcf_row_scale_scale_bpfpsp_even_central)) /\ exists bcf_quotient_bpfpsp_even_central_table_decoded_row_scale. bcf_row_scale_code_bpfpsp_even_central = bcf_quotient_bpfpsp_even_central_table_decoded_row_scale * S ((S (bcf_row_index_bpfpsp_even_central_table)) * bcf_row_scale_scale_bpfpsp_even_central) + (bcf_row_scale_bpfpsp_even_central_table))) /\ ((bcf_row_index_bpfpsp_even_central_table = 0 /\ (forall bcf_index_bpfpsp_even_central_table_zero_row. (exists bcf_lt_gap_bpfpsp_even_central_table_zero_row_bound. bcf_lt_gap_bpfpsp_even_central_table_zero_row_bound + S (bcf_index_bpfpsp_even_central_table_zero_row) = S (n + n)) -> exists bcf_value_bpfpsp_even_central_table_zero_row. ((((exists bcf_height_bpfpsp_even_central_table_zero_row_entry. bcf_height_bpfpsp_even_central_table_zero_row_entry + S (bcf_value_bpfpsp_even_central_table_zero_row) = S ((S (bcf_index_bpfpsp_even_central_table_zero_row)) * bcf_row_scale_bpfpsp_even_central_table)) /\ exists bcf_quotient_bpfpsp_even_central_table_zero_row_entry. bcf_row_code_bpfpsp_even_central_table = bcf_quotient_bpfpsp_even_central_table_zero_row_entry * S ((S (bcf_index_bpfpsp_even_central_table_zero_row)) * bcf_row_scale_bpfpsp_even_central_table) + (bcf_value_bpfpsp_even_central_table_zero_row))) /\ ((bcf_index_bpfpsp_even_central_table_zero_row = 0 /\ bcf_value_bpfpsp_even_central_table_zero_row = 1) \/ exists bcf_predecessor_bpfpsp_even_central_table_zero_row. bcf_index_bpfpsp_even_central_table_zero_row = S bcf_predecessor_bpfpsp_even_central_table_zero_row /\ bcf_value_bpfpsp_even_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bpfpsp_even_central_table bcf_previous_code_bpfpsp_even_central_table bcf_previous_scale_bpfpsp_even_central_table. bcf_row_index_bpfpsp_even_central_table = S bcf_predecessor_bpfpsp_even_central_table /\ ((((exists bcf_height_bpfpsp_even_central_table_decoded_previous_code. bcf_height_bpfpsp_even_central_table_decoded_previous_code + S (bcf_previous_code_bpfpsp_even_central_table) = S ((S (bcf_predecessor_bpfpsp_even_central_table)) * bcf_row_code_scale_bpfpsp_even_central)) /\ exists bcf_quotient_bpfpsp_even_central_table_decoded_previous_code. bcf_row_code_code_bpfpsp_even_central = bcf_quotient_bpfpsp_even_central_table_decoded_previous_code * S ((S (bcf_predecessor_bpfpsp_even_central_table)) * bcf_row_code_scale_bpfpsp_even_central) + (bcf_previous_code_bpfpsp_even_central_table))) /\ ((((exists bcf_height_bpfpsp_even_central_table_decoded_previous_scale. bcf_height_bpfpsp_even_central_table_decoded_previous_scale + S (bcf_previous_scale_bpfpsp_even_central_table) = S ((S (bcf_predecessor_bpfpsp_even_central_table)) * bcf_row_scale_scale_bpfpsp_even_central)) /\ exists bcf_quotient_bpfpsp_even_central_table_decoded_previous_scale. bcf_row_scale_code_bpfpsp_even_central = bcf_quotient_bpfpsp_even_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bpfpsp_even_central_table)) * bcf_row_scale_scale_bpfpsp_even_central) + (bcf_previous_scale_bpfpsp_even_central_table))) /\ (forall bcf_index_bpfpsp_even_central_table_row_step. (exists bcf_lt_gap_bpfpsp_even_central_table_row_step_bound. bcf_lt_gap_bpfpsp_even_central_table_row_step_bound + S (bcf_index_bpfpsp_even_central_table_row_step) = S (n + n)) -> exists bcf_value_bpfpsp_even_central_table_row_step. ((((exists bcf_height_bpfpsp_even_central_table_row_step_entry. bcf_height_bpfpsp_even_central_table_row_step_entry + S (bcf_value_bpfpsp_even_central_table_row_step) = S ((S (bcf_index_bpfpsp_even_central_table_row_step)) * bcf_row_scale_bpfpsp_even_central_table)) /\ exists bcf_quotient_bpfpsp_even_central_table_row_step_entry. bcf_row_code_bpfpsp_even_central_table = bcf_quotient_bpfpsp_even_central_table_row_step_entry * S ((S (bcf_index_bpfpsp_even_central_table_row_step)) * bcf_row_scale_bpfpsp_even_central_table) + (bcf_value_bpfpsp_even_central_table_row_step))) /\ ((bcf_index_bpfpsp_even_central_table_row_step = 0 /\ bcf_value_bpfpsp_even_central_table_row_step = 1) \/ exists bcf_predecessor_bpfpsp_even_central_table_row_step bcf_left_bpfpsp_even_central_table_row_step bcf_right_bpfpsp_even_central_table_row_step. bcf_index_bpfpsp_even_central_table_row_step = S bcf_predecessor_bpfpsp_even_central_table_row_step /\ ((((exists bcf_height_bpfpsp_even_central_table_row_step_previous_left. bcf_height_bpfpsp_even_central_table_row_step_previous_left + S (bcf_left_bpfpsp_even_central_table_row_step) = S ((S (bcf_predecessor_bpfpsp_even_central_table_row_step)) * bcf_previous_scale_bpfpsp_even_central_table)) /\ exists bcf_quotient_bpfpsp_even_central_table_row_step_previous_left. bcf_previous_code_bpfpsp_even_central_table = bcf_quotient_bpfpsp_even_central_table_row_step_previous_left * S ((S (bcf_predecessor_bpfpsp_even_central_table_row_step)) * bcf_previous_scale_bpfpsp_even_central_table) + (bcf_left_bpfpsp_even_central_table_row_step))) /\ ((((exists bcf_height_bpfpsp_even_central_table_row_step_previous_right. bcf_height_bpfpsp_even_central_table_row_step_previous_right + S (bcf_right_bpfpsp_even_central_table_row_step) = S ((S (S (bcf_predecessor_bpfpsp_even_central_table_row_step))) * bcf_previous_scale_bpfpsp_even_central_table)) /\ exists bcf_quotient_bpfpsp_even_central_table_row_step_previous_right. bcf_previous_code_bpfpsp_even_central_table = bcf_quotient_bpfpsp_even_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bpfpsp_even_central_table_row_step))) * bcf_previous_scale_bpfpsp_even_central_table) + (bcf_right_bpfpsp_even_central_table_row_step))) /\ bcf_value_bpfpsp_even_central_table_row_step = bcf_left_bpfpsp_even_central_table_row_step + bcf_right_bpfpsp_even_central_table_row_step))))))))))) /\ ((((exists bcf_height_bpfpsp_even_central_decoded_row_code. bcf_height_bpfpsp_even_central_decoded_row_code + S (bcf_row_code_bpfpsp_even_central) = S ((S (n + n)) * bcf_row_code_scale_bpfpsp_even_central)) /\ exists bcf_quotient_bpfpsp_even_central_decoded_row_code. bcf_row_code_code_bpfpsp_even_central = bcf_quotient_bpfpsp_even_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bpfpsp_even_central) + (bcf_row_code_bpfpsp_even_central))) /\ ((((exists bcf_height_bpfpsp_even_central_decoded_row_scale. bcf_height_bpfpsp_even_central_decoded_row_scale + S (bcf_row_scale_bpfpsp_even_central) = S ((S (n + n)) * bcf_row_scale_scale_bpfpsp_even_central)) /\ exists bcf_quotient_bpfpsp_even_central_decoded_row_scale. bcf_row_scale_code_bpfpsp_even_central = bcf_quotient_bpfpsp_even_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bpfpsp_even_central) + (bcf_row_scale_bpfpsp_even_central))) /\ (((exists bcf_height_bpfpsp_even_central_decoded_value. bcf_height_bpfpsp_even_central_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bpfpsp_even_central)) /\ exists bcf_quotient_bpfpsp_even_central_decoded_value. bcf_row_code_bpfpsp_even_central = bcf_quotient_bpfpsp_even_central_decoded_value * S ((S (n)) * bcf_row_scale_bpfpsp_even_central) + (c))))))))) -> (exists bcf_le_gap_bpfpsp_even_result. bcf_le_gap_bpfpsp_even_result + (z) = c)) /\ ((forall n z c. (exists bpr_code_bpfpsp_odd_interval bpr_scale_bpfpsp_odd_interval. ((forall bpr_index_bpfpsp_odd_interval_mask. (exists bpr_gap_bpfpsp_odd_interval_mask_bound. bpr_gap_bpfpsp_odd_interval_mask_bound + S (bpr_index_bpfpsp_odd_interval_mask) = n) -> exists bpr_value_bpfpsp_odd_interval_mask. ((((exists bpr_height_bpfpsp_odd_interval_mask_decoded. bpr_height_bpfpsp_odd_interval_mask_decoded + S (bpr_value_bpfpsp_odd_interval_mask) = S ((S (bpr_index_bpfpsp_odd_interval_mask)) * bpr_scale_bpfpsp_odd_interval)) /\ exists bpr_quotient_bpfpsp_odd_interval_mask_decoded. bpr_code_bpfpsp_odd_interval = bpr_quotient_bpfpsp_odd_interval_mask_decoded * S ((S (bpr_index_bpfpsp_odd_interval_mask)) * bpr_scale_bpfpsp_odd_interval) + (bpr_value_bpfpsp_odd_interval_mask))) /\ (((((~(S (S n + bpr_index_bpfpsp_odd_interval_mask) = 1) /\ forall bpr_left_bpfpsp_odd_interval_mask_choice_prime bpr_right_bpfpsp_odd_interval_mask_choice_prime. S (S n + bpr_index_bpfpsp_odd_interval_mask) = bpr_left_bpfpsp_odd_interval_mask_choice_prime * bpr_right_bpfpsp_odd_interval_mask_choice_prime -> bpr_left_bpfpsp_odd_interval_mask_choice_prime = 1 \/ bpr_right_bpfpsp_odd_interval_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_odd_interval_mask = S (S n + bpr_index_bpfpsp_odd_interval_mask)) \/ (~((~(S (S n + bpr_index_bpfpsp_odd_interval_mask) = 1) /\ forall bpr_left_bpfpsp_odd_interval_mask_choice_prime bpr_right_bpfpsp_odd_interval_mask_choice_prime. S (S n + bpr_index_bpfpsp_odd_interval_mask) = bpr_left_bpfpsp_odd_interval_mask_choice_prime * bpr_right_bpfpsp_odd_interval_mask_choice_prime -> bpr_left_bpfpsp_odd_interval_mask_choice_prime = 1 \/ bpr_right_bpfpsp_odd_interval_mask_choice_prime = 1)) /\ bpr_value_bpfpsp_odd_interval_mask = 1))))) /\ (exists ff_u_bpfpsp_odd_interval_product ff_v_bpfpsp_odd_interval_product. ((((exists ff_h_bpfpsp_odd_interval_product_start. ff_h_bpfpsp_odd_interval_product_start + S (1) = S ((S (0)) * ff_v_bpfpsp_odd_interval_product)) /\ exists ff_q_bpfpsp_odd_interval_product_start. ff_u_bpfpsp_odd_interval_product = ff_q_bpfpsp_odd_interval_product_start * S ((S (0)) * ff_v_bpfpsp_odd_interval_product) + (1))) /\ ((((exists ff_h_bpfpsp_odd_interval_product_terminal. ff_h_bpfpsp_odd_interval_product_terminal + S (z) = S ((S (n)) * ff_v_bpfpsp_odd_interval_product)) /\ exists ff_q_bpfpsp_odd_interval_product_terminal. ff_u_bpfpsp_odd_interval_product = ff_q_bpfpsp_odd_interval_product_terminal * S ((S (n)) * ff_v_bpfpsp_odd_interval_product) + (z))) /\ forall ff_i_bpfpsp_odd_interval_product. (exists ff_lt_bpfpsp_odd_interval_product_bound. ff_lt_bpfpsp_odd_interval_product_bound + S ff_i_bpfpsp_odd_interval_product = n) -> exists ff_p_bpfpsp_odd_interval_product ff_r_bpfpsp_odd_interval_product ff_s_bpfpsp_odd_interval_product. ((((exists ff_h_bpfpsp_odd_interval_product_factor. ff_h_bpfpsp_odd_interval_product_factor + S (ff_p_bpfpsp_odd_interval_product) = S ((S (ff_i_bpfpsp_odd_interval_product)) * bpr_scale_bpfpsp_odd_interval)) /\ exists ff_q_bpfpsp_odd_interval_product_factor. bpr_code_bpfpsp_odd_interval = ff_q_bpfpsp_odd_interval_product_factor * S ((S (ff_i_bpfpsp_odd_interval_product)) * bpr_scale_bpfpsp_odd_interval) + (ff_p_bpfpsp_odd_interval_product))) /\ ((((exists ff_h_bpfpsp_odd_interval_product_partial. ff_h_bpfpsp_odd_interval_product_partial + S (ff_r_bpfpsp_odd_interval_product) = S ((S (ff_i_bpfpsp_odd_interval_product)) * ff_v_bpfpsp_odd_interval_product)) /\ exists ff_q_bpfpsp_odd_interval_product_partial. ff_u_bpfpsp_odd_interval_product = ff_q_bpfpsp_odd_interval_product_partial * S ((S (ff_i_bpfpsp_odd_interval_product)) * ff_v_bpfpsp_odd_interval_product) + (ff_r_bpfpsp_odd_interval_product))) /\ ((((exists ff_h_bpfpsp_odd_interval_product_successor. ff_h_bpfpsp_odd_interval_product_successor + S (ff_s_bpfpsp_odd_interval_product) = S ((S (S ff_i_bpfpsp_odd_interval_product)) * ff_v_bpfpsp_odd_interval_product)) /\ exists ff_q_bpfpsp_odd_interval_product_successor. ff_u_bpfpsp_odd_interval_product = ff_q_bpfpsp_odd_interval_product_successor * S ((S (S ff_i_bpfpsp_odd_interval_product)) * ff_v_bpfpsp_odd_interval_product) + (ff_s_bpfpsp_odd_interval_product))) /\ ff_s_bpfpsp_odd_interval_product = ff_r_bpfpsp_odd_interval_product * ff_p_bpfpsp_odd_interval_product)))))))) -> (((exists bcf_lt_gap_bpfpsp_odd_middle_out_of_range. bcf_lt_gap_bpfpsp_odd_middle_out_of_range + S (S (n + n)) = n) /\ c = 0) \/ ((exists bcf_le_gap_bpfpsp_odd_middle_in_range. bcf_le_gap_bpfpsp_odd_middle_in_range + (n) = S (n + n)) /\ (exists bcf_row_code_code_bpfpsp_odd_middle bcf_row_code_scale_bpfpsp_odd_middle bcf_row_scale_code_bpfpsp_odd_middle bcf_row_scale_scale_bpfpsp_odd_middle bcf_row_code_bpfpsp_odd_middle bcf_row_scale_bpfpsp_odd_middle. ((forall bcf_row_index_bpfpsp_odd_middle_table. (exists bcf_lt_gap_bpfpsp_odd_middle_table_row_bound. bcf_lt_gap_bpfpsp_odd_middle_table_row_bound + S (bcf_row_index_bpfpsp_odd_middle_table) = S (S (n + n))) -> exists bcf_row_code_bpfpsp_odd_middle_table bcf_row_scale_bpfpsp_odd_middle_table. ((((exists bcf_height_bpfpsp_odd_middle_table_decoded_row_code. bcf_height_bpfpsp_odd_middle_table_decoded_row_code + S (bcf_row_code_bpfpsp_odd_middle_table) = S ((S (bcf_row_index_bpfpsp_odd_middle_table)) * bcf_row_code_scale_bpfpsp_odd_middle)) /\ exists bcf_quotient_bpfpsp_odd_middle_table_decoded_row_code. bcf_row_code_code_bpfpsp_odd_middle = bcf_quotient_bpfpsp_odd_middle_table_decoded_row_code * S ((S (bcf_row_index_bpfpsp_odd_middle_table)) * bcf_row_code_scale_bpfpsp_odd_middle) + (bcf_row_code_bpfpsp_odd_middle_table))) /\ ((((exists bcf_height_bpfpsp_odd_middle_table_decoded_row_scale. bcf_height_bpfpsp_odd_middle_table_decoded_row_scale + S (bcf_row_scale_bpfpsp_odd_middle_table) = S ((S (bcf_row_index_bpfpsp_odd_middle_table)) * bcf_row_scale_scale_bpfpsp_odd_middle)) /\ exists bcf_quotient_bpfpsp_odd_middle_table_decoded_row_scale. bcf_row_scale_code_bpfpsp_odd_middle = bcf_quotient_bpfpsp_odd_middle_table_decoded_row_scale * S ((S (bcf_row_index_bpfpsp_odd_middle_table)) * bcf_row_scale_scale_bpfpsp_odd_middle) + (bcf_row_scale_bpfpsp_odd_middle_table))) /\ ((bcf_row_index_bpfpsp_odd_middle_table = 0 /\ (forall bcf_index_bpfpsp_odd_middle_table_zero_row. (exists bcf_lt_gap_bpfpsp_odd_middle_table_zero_row_bound. bcf_lt_gap_bpfpsp_odd_middle_table_zero_row_bound + S (bcf_index_bpfpsp_odd_middle_table_zero_row) = S (S (n + n))) -> exists bcf_value_bpfpsp_odd_middle_table_zero_row. ((((exists bcf_height_bpfpsp_odd_middle_table_zero_row_entry. bcf_height_bpfpsp_odd_middle_table_zero_row_entry + S (bcf_value_bpfpsp_odd_middle_table_zero_row) = S ((S (bcf_index_bpfpsp_odd_middle_table_zero_row)) * bcf_row_scale_bpfpsp_odd_middle_table)) /\ exists bcf_quotient_bpfpsp_odd_middle_table_zero_row_entry. bcf_row_code_bpfpsp_odd_middle_table = bcf_quotient_bpfpsp_odd_middle_table_zero_row_entry * S ((S (bcf_index_bpfpsp_odd_middle_table_zero_row)) * bcf_row_scale_bpfpsp_odd_middle_table) + (bcf_value_bpfpsp_odd_middle_table_zero_row))) /\ ((bcf_index_bpfpsp_odd_middle_table_zero_row = 0 /\ bcf_value_bpfpsp_odd_middle_table_zero_row = 1) \/ exists bcf_predecessor_bpfpsp_odd_middle_table_zero_row. bcf_index_bpfpsp_odd_middle_table_zero_row = S bcf_predecessor_bpfpsp_odd_middle_table_zero_row /\ bcf_value_bpfpsp_odd_middle_table_zero_row = 0)))) \/ exists bcf_predecessor_bpfpsp_odd_middle_table bcf_previous_code_bpfpsp_odd_middle_table bcf_previous_scale_bpfpsp_odd_middle_table. bcf_row_index_bpfpsp_odd_middle_table = S bcf_predecessor_bpfpsp_odd_middle_table /\ ((((exists bcf_height_bpfpsp_odd_middle_table_decoded_previous_code. bcf_height_bpfpsp_odd_middle_table_decoded_previous_code + S (bcf_previous_code_bpfpsp_odd_middle_table) = S ((S (bcf_predecessor_bpfpsp_odd_middle_table)) * bcf_row_code_scale_bpfpsp_odd_middle)) /\ exists bcf_quotient_bpfpsp_odd_middle_table_decoded_previous_code. bcf_row_code_code_bpfpsp_odd_middle = bcf_quotient_bpfpsp_odd_middle_table_decoded_previous_code * S ((S (bcf_predecessor_bpfpsp_odd_middle_table)) * bcf_row_code_scale_bpfpsp_odd_middle) + (bcf_previous_code_bpfpsp_odd_middle_table))) /\ ((((exists bcf_height_bpfpsp_odd_middle_table_decoded_previous_scale. bcf_height_bpfpsp_odd_middle_table_decoded_previous_scale + S (bcf_previous_scale_bpfpsp_odd_middle_table) = S ((S (bcf_predecessor_bpfpsp_odd_middle_table)) * bcf_row_scale_scale_bpfpsp_odd_middle)) /\ exists bcf_quotient_bpfpsp_odd_middle_table_decoded_previous_scale. bcf_row_scale_code_bpfpsp_odd_middle = bcf_quotient_bpfpsp_odd_middle_table_decoded_previous_scale * S ((S (bcf_predecessor_bpfpsp_odd_middle_table)) * bcf_row_scale_scale_bpfpsp_odd_middle) + (bcf_previous_scale_bpfpsp_odd_middle_table))) /\ (forall bcf_index_bpfpsp_odd_middle_table_row_step. (exists bcf_lt_gap_bpfpsp_odd_middle_table_row_step_bound. bcf_lt_gap_bpfpsp_odd_middle_table_row_step_bound + S (bcf_index_bpfpsp_odd_middle_table_row_step) = S (S (n + n))) -> exists bcf_value_bpfpsp_odd_middle_table_row_step. ((((exists bcf_height_bpfpsp_odd_middle_table_row_step_entry. bcf_height_bpfpsp_odd_middle_table_row_step_entry + S (bcf_value_bpfpsp_odd_middle_table_row_step) = S ((S (bcf_index_bpfpsp_odd_middle_table_row_step)) * bcf_row_scale_bpfpsp_odd_middle_table)) /\ exists bcf_quotient_bpfpsp_odd_middle_table_row_step_entry. bcf_row_code_bpfpsp_odd_middle_table = bcf_quotient_bpfpsp_odd_middle_table_row_step_entry * S ((S (bcf_index_bpfpsp_odd_middle_table_row_step)) * bcf_row_scale_bpfpsp_odd_middle_table) + (bcf_value_bpfpsp_odd_middle_table_row_step))) /\ ((bcf_index_bpfpsp_odd_middle_table_row_step = 0 /\ bcf_value_bpfpsp_odd_middle_table_row_step = 1) \/ exists bcf_predecessor_bpfpsp_odd_middle_table_row_step bcf_left_bpfpsp_odd_middle_table_row_step bcf_right_bpfpsp_odd_middle_table_row_step. bcf_index_bpfpsp_odd_middle_table_row_step = S bcf_predecessor_bpfpsp_odd_middle_table_row_step /\ ((((exists bcf_height_bpfpsp_odd_middle_table_row_step_previous_left. bcf_height_bpfpsp_odd_middle_table_row_step_previous_left + S (bcf_left_bpfpsp_odd_middle_table_row_step) = S ((S (bcf_predecessor_bpfpsp_odd_middle_table_row_step)) * bcf_previous_scale_bpfpsp_odd_middle_table)) /\ exists bcf_quotient_bpfpsp_odd_middle_table_row_step_previous_left. bcf_previous_code_bpfpsp_odd_middle_table = bcf_quotient_bpfpsp_odd_middle_table_row_step_previous_left * S ((S (bcf_predecessor_bpfpsp_odd_middle_table_row_step)) * bcf_previous_scale_bpfpsp_odd_middle_table) + (bcf_left_bpfpsp_odd_middle_table_row_step))) /\ ((((exists bcf_height_bpfpsp_odd_middle_table_row_step_previous_right. bcf_height_bpfpsp_odd_middle_table_row_step_previous_right + S (bcf_right_bpfpsp_odd_middle_table_row_step) = S ((S (S (bcf_predecessor_bpfpsp_odd_middle_table_row_step))) * bcf_previous_scale_bpfpsp_odd_middle_table)) /\ exists bcf_quotient_bpfpsp_odd_middle_table_row_step_previous_right. bcf_previous_code_bpfpsp_odd_middle_table = bcf_quotient_bpfpsp_odd_middle_table_row_step_previous_right * S ((S (S (bcf_predecessor_bpfpsp_odd_middle_table_row_step))) * bcf_previous_scale_bpfpsp_odd_middle_table) + (bcf_right_bpfpsp_odd_middle_table_row_step))) /\ bcf_value_bpfpsp_odd_middle_table_row_step = bcf_left_bpfpsp_odd_middle_table_row_step + bcf_right_bpfpsp_odd_middle_table_row_step))))))))))) /\ ((((exists bcf_height_bpfpsp_odd_middle_decoded_row_code. bcf_height_bpfpsp_odd_middle_decoded_row_code + S (bcf_row_code_bpfpsp_odd_middle) = S ((S (S (n + n))) * bcf_row_code_scale_bpfpsp_odd_middle)) /\ exists bcf_quotient_bpfpsp_odd_middle_decoded_row_code. bcf_row_code_code_bpfpsp_odd_middle = bcf_quotient_bpfpsp_odd_middle_decoded_row_code * S ((S (S (n + n))) * bcf_row_code_scale_bpfpsp_odd_middle) + (bcf_row_code_bpfpsp_odd_middle))) /\ ((((exists bcf_height_bpfpsp_odd_middle_decoded_row_scale. bcf_height_bpfpsp_odd_middle_decoded_row_scale + S (bcf_row_scale_bpfpsp_odd_middle) = S ((S (S (n + n))) * bcf_row_scale_scale_bpfpsp_odd_middle)) /\ exists bcf_quotient_bpfpsp_odd_middle_decoded_row_scale. bcf_row_scale_code_bpfpsp_odd_middle = bcf_quotient_bpfpsp_odd_middle_decoded_row_scale * S ((S (S (n + n))) * bcf_row_scale_scale_bpfpsp_odd_middle) + (bcf_row_scale_bpfpsp_odd_middle))) /\ (((exists bcf_height_bpfpsp_odd_middle_decoded_value. bcf_height_bpfpsp_odd_middle_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bpfpsp_odd_middle)) /\ exists bcf_quotient_bpfpsp_odd_middle_decoded_value. bcf_row_code_bpfpsp_odd_middle = bcf_quotient_bpfpsp_odd_middle_decoded_value * S ((S (n)) * bcf_row_scale_bpfpsp_odd_middle) + (c))))))))) -> (exists bcf_le_gap_bpfpsp_odd_result. bcf_le_gap_bpfpsp_odd_result + (z) = c)) /\ (forall n c q. (((exists bcf_lt_gap_bpfpsp_odd_upper_middle_out_of_range. bcf_lt_gap_bpfpsp_odd_upper_middle_out_of_range + S (S (n + n)) = n) /\ c = 0) \/ ((exists bcf_le_gap_bpfpsp_odd_upper_middle_in_range. bcf_le_gap_bpfpsp_odd_upper_middle_in_range + (n) = S (n + n)) /\ (exists bcf_row_code_code_bpfpsp_odd_upper_middle bcf_row_code_scale_bpfpsp_odd_upper_middle bcf_row_scale_code_bpfpsp_odd_upper_middle bcf_row_scale_scale_bpfpsp_odd_upper_middle bcf_row_code_bpfpsp_odd_upper_middle bcf_row_scale_bpfpsp_odd_upper_middle. ((forall bcf_row_index_bpfpsp_odd_upper_middle_table. (exists bcf_lt_gap_bpfpsp_odd_upper_middle_table_row_bound. bcf_lt_gap_bpfpsp_odd_upper_middle_table_row_bound + S (bcf_row_index_bpfpsp_odd_upper_middle_table) = S (S (n + n))) -> exists bcf_row_code_bpfpsp_odd_upper_middle_table bcf_row_scale_bpfpsp_odd_upper_middle_table. ((((exists bcf_height_bpfpsp_odd_upper_middle_table_decoded_row_code. bcf_height_bpfpsp_odd_upper_middle_table_decoded_row_code + S (bcf_row_code_bpfpsp_odd_upper_middle_table) = S ((S (bcf_row_index_bpfpsp_odd_upper_middle_table)) * bcf_row_code_scale_bpfpsp_odd_upper_middle)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_table_decoded_row_code. bcf_row_code_code_bpfpsp_odd_upper_middle = bcf_quotient_bpfpsp_odd_upper_middle_table_decoded_row_code * S ((S (bcf_row_index_bpfpsp_odd_upper_middle_table)) * bcf_row_code_scale_bpfpsp_odd_upper_middle) + (bcf_row_code_bpfpsp_odd_upper_middle_table))) /\ ((((exists bcf_height_bpfpsp_odd_upper_middle_table_decoded_row_scale. bcf_height_bpfpsp_odd_upper_middle_table_decoded_row_scale + S (bcf_row_scale_bpfpsp_odd_upper_middle_table) = S ((S (bcf_row_index_bpfpsp_odd_upper_middle_table)) * bcf_row_scale_scale_bpfpsp_odd_upper_middle)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_table_decoded_row_scale. bcf_row_scale_code_bpfpsp_odd_upper_middle = bcf_quotient_bpfpsp_odd_upper_middle_table_decoded_row_scale * S ((S (bcf_row_index_bpfpsp_odd_upper_middle_table)) * bcf_row_scale_scale_bpfpsp_odd_upper_middle) + (bcf_row_scale_bpfpsp_odd_upper_middle_table))) /\ ((bcf_row_index_bpfpsp_odd_upper_middle_table = 0 /\ (forall bcf_index_bpfpsp_odd_upper_middle_table_zero_row. (exists bcf_lt_gap_bpfpsp_odd_upper_middle_table_zero_row_bound. bcf_lt_gap_bpfpsp_odd_upper_middle_table_zero_row_bound + S (bcf_index_bpfpsp_odd_upper_middle_table_zero_row) = S (S (n + n))) -> exists bcf_value_bpfpsp_odd_upper_middle_table_zero_row. ((((exists bcf_height_bpfpsp_odd_upper_middle_table_zero_row_entry. bcf_height_bpfpsp_odd_upper_middle_table_zero_row_entry + S (bcf_value_bpfpsp_odd_upper_middle_table_zero_row) = S ((S (bcf_index_bpfpsp_odd_upper_middle_table_zero_row)) * bcf_row_scale_bpfpsp_odd_upper_middle_table)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_table_zero_row_entry. bcf_row_code_bpfpsp_odd_upper_middle_table = bcf_quotient_bpfpsp_odd_upper_middle_table_zero_row_entry * S ((S (bcf_index_bpfpsp_odd_upper_middle_table_zero_row)) * bcf_row_scale_bpfpsp_odd_upper_middle_table) + (bcf_value_bpfpsp_odd_upper_middle_table_zero_row))) /\ ((bcf_index_bpfpsp_odd_upper_middle_table_zero_row = 0 /\ bcf_value_bpfpsp_odd_upper_middle_table_zero_row = 1) \/ exists bcf_predecessor_bpfpsp_odd_upper_middle_table_zero_row. bcf_index_bpfpsp_odd_upper_middle_table_zero_row = S bcf_predecessor_bpfpsp_odd_upper_middle_table_zero_row /\ bcf_value_bpfpsp_odd_upper_middle_table_zero_row = 0)))) \/ exists bcf_predecessor_bpfpsp_odd_upper_middle_table bcf_previous_code_bpfpsp_odd_upper_middle_table bcf_previous_scale_bpfpsp_odd_upper_middle_table. bcf_row_index_bpfpsp_odd_upper_middle_table = S bcf_predecessor_bpfpsp_odd_upper_middle_table /\ ((((exists bcf_height_bpfpsp_odd_upper_middle_table_decoded_previous_code. bcf_height_bpfpsp_odd_upper_middle_table_decoded_previous_code + S (bcf_previous_code_bpfpsp_odd_upper_middle_table) = S ((S (bcf_predecessor_bpfpsp_odd_upper_middle_table)) * bcf_row_code_scale_bpfpsp_odd_upper_middle)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_table_decoded_previous_code. bcf_row_code_code_bpfpsp_odd_upper_middle = bcf_quotient_bpfpsp_odd_upper_middle_table_decoded_previous_code * S ((S (bcf_predecessor_bpfpsp_odd_upper_middle_table)) * bcf_row_code_scale_bpfpsp_odd_upper_middle) + (bcf_previous_code_bpfpsp_odd_upper_middle_table))) /\ ((((exists bcf_height_bpfpsp_odd_upper_middle_table_decoded_previous_scale. bcf_height_bpfpsp_odd_upper_middle_table_decoded_previous_scale + S (bcf_previous_scale_bpfpsp_odd_upper_middle_table) = S ((S (bcf_predecessor_bpfpsp_odd_upper_middle_table)) * bcf_row_scale_scale_bpfpsp_odd_upper_middle)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_table_decoded_previous_scale. bcf_row_scale_code_bpfpsp_odd_upper_middle = bcf_quotient_bpfpsp_odd_upper_middle_table_decoded_previous_scale * S ((S (bcf_predecessor_bpfpsp_odd_upper_middle_table)) * bcf_row_scale_scale_bpfpsp_odd_upper_middle) + (bcf_previous_scale_bpfpsp_odd_upper_middle_table))) /\ (forall bcf_index_bpfpsp_odd_upper_middle_table_row_step. (exists bcf_lt_gap_bpfpsp_odd_upper_middle_table_row_step_bound. bcf_lt_gap_bpfpsp_odd_upper_middle_table_row_step_bound + S (bcf_index_bpfpsp_odd_upper_middle_table_row_step) = S (S (n + n))) -> exists bcf_value_bpfpsp_odd_upper_middle_table_row_step. ((((exists bcf_height_bpfpsp_odd_upper_middle_table_row_step_entry. bcf_height_bpfpsp_odd_upper_middle_table_row_step_entry + S (bcf_value_bpfpsp_odd_upper_middle_table_row_step) = S ((S (bcf_index_bpfpsp_odd_upper_middle_table_row_step)) * bcf_row_scale_bpfpsp_odd_upper_middle_table)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_table_row_step_entry. bcf_row_code_bpfpsp_odd_upper_middle_table = bcf_quotient_bpfpsp_odd_upper_middle_table_row_step_entry * S ((S (bcf_index_bpfpsp_odd_upper_middle_table_row_step)) * bcf_row_scale_bpfpsp_odd_upper_middle_table) + (bcf_value_bpfpsp_odd_upper_middle_table_row_step))) /\ ((bcf_index_bpfpsp_odd_upper_middle_table_row_step = 0 /\ bcf_value_bpfpsp_odd_upper_middle_table_row_step = 1) \/ exists bcf_predecessor_bpfpsp_odd_upper_middle_table_row_step bcf_left_bpfpsp_odd_upper_middle_table_row_step bcf_right_bpfpsp_odd_upper_middle_table_row_step. bcf_index_bpfpsp_odd_upper_middle_table_row_step = S bcf_predecessor_bpfpsp_odd_upper_middle_table_row_step /\ ((((exists bcf_height_bpfpsp_odd_upper_middle_table_row_step_previous_left. bcf_height_bpfpsp_odd_upper_middle_table_row_step_previous_left + S (bcf_left_bpfpsp_odd_upper_middle_table_row_step) = S ((S (bcf_predecessor_bpfpsp_odd_upper_middle_table_row_step)) * bcf_previous_scale_bpfpsp_odd_upper_middle_table)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_table_row_step_previous_left. bcf_previous_code_bpfpsp_odd_upper_middle_table = bcf_quotient_bpfpsp_odd_upper_middle_table_row_step_previous_left * S ((S (bcf_predecessor_bpfpsp_odd_upper_middle_table_row_step)) * bcf_previous_scale_bpfpsp_odd_upper_middle_table) + (bcf_left_bpfpsp_odd_upper_middle_table_row_step))) /\ ((((exists bcf_height_bpfpsp_odd_upper_middle_table_row_step_previous_right. bcf_height_bpfpsp_odd_upper_middle_table_row_step_previous_right + S (bcf_right_bpfpsp_odd_upper_middle_table_row_step) = S ((S (S (bcf_predecessor_bpfpsp_odd_upper_middle_table_row_step))) * bcf_previous_scale_bpfpsp_odd_upper_middle_table)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_table_row_step_previous_right. bcf_previous_code_bpfpsp_odd_upper_middle_table = bcf_quotient_bpfpsp_odd_upper_middle_table_row_step_previous_right * S ((S (S (bcf_predecessor_bpfpsp_odd_upper_middle_table_row_step))) * bcf_previous_scale_bpfpsp_odd_upper_middle_table) + (bcf_right_bpfpsp_odd_upper_middle_table_row_step))) /\ bcf_value_bpfpsp_odd_upper_middle_table_row_step = bcf_left_bpfpsp_odd_upper_middle_table_row_step + bcf_right_bpfpsp_odd_upper_middle_table_row_step))))))))))) /\ ((((exists bcf_height_bpfpsp_odd_upper_middle_decoded_row_code. bcf_height_bpfpsp_odd_upper_middle_decoded_row_code + S (bcf_row_code_bpfpsp_odd_upper_middle) = S ((S (S (n + n))) * bcf_row_code_scale_bpfpsp_odd_upper_middle)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_decoded_row_code. bcf_row_code_code_bpfpsp_odd_upper_middle = bcf_quotient_bpfpsp_odd_upper_middle_decoded_row_code * S ((S (S (n + n))) * bcf_row_code_scale_bpfpsp_odd_upper_middle) + (bcf_row_code_bpfpsp_odd_upper_middle))) /\ ((((exists bcf_height_bpfpsp_odd_upper_middle_decoded_row_scale. bcf_height_bpfpsp_odd_upper_middle_decoded_row_scale + S (bcf_row_scale_bpfpsp_odd_upper_middle) = S ((S (S (n + n))) * bcf_row_scale_scale_bpfpsp_odd_upper_middle)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_decoded_row_scale. bcf_row_scale_code_bpfpsp_odd_upper_middle = bcf_quotient_bpfpsp_odd_upper_middle_decoded_row_scale * S ((S (S (n + n))) * bcf_row_scale_scale_bpfpsp_odd_upper_middle) + (bcf_row_scale_bpfpsp_odd_upper_middle))) /\ (((exists bcf_height_bpfpsp_odd_upper_middle_decoded_value. bcf_height_bpfpsp_odd_upper_middle_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bpfpsp_odd_upper_middle)) /\ exists bcf_quotient_bpfpsp_odd_upper_middle_decoded_value. bcf_row_code_bpfpsp_odd_upper_middle = bcf_quotient_bpfpsp_odd_upper_middle_decoded_value * S ((S (n)) * bcf_row_scale_bpfpsp_odd_upper_middle) + (c))))))))) -> (exists pa_b_bpfpsp_odd_upper_power pa_c_bpfpsp_odd_upper_power. ((forall pa_i_bpfpsp_odd_upper_power_repeat. (exists pa_lt_bpfpsp_odd_upper_power_repeat_bound. pa_lt_bpfpsp_odd_upper_power_repeat_bound + S pa_i_bpfpsp_odd_upper_power_repeat = n) -> (((exists pa_h_bpfpsp_odd_upper_power_repeat_decoded. pa_h_bpfpsp_odd_upper_power_repeat_decoded + S (4) = S ((S (pa_i_bpfpsp_odd_upper_power_repeat)) * pa_c_bpfpsp_odd_upper_power)) /\ exists pa_q_bpfpsp_odd_upper_power_repeat_decoded. pa_b_bpfpsp_odd_upper_power = pa_q_bpfpsp_odd_upper_power_repeat_decoded * S ((S (pa_i_bpfpsp_odd_upper_power_repeat)) * pa_c_bpfpsp_odd_upper_power) + (4)))) /\ (exists pa_u_bpfpsp_odd_upper_power_product pa_v_bpfpsp_odd_upper_power_product. ((((exists pa_h_bpfpsp_odd_upper_power_product_start. pa_h_bpfpsp_odd_upper_power_product_start + S (1) = S ((S (0)) * pa_v_bpfpsp_odd_upper_power_product)) /\ exists pa_q_bpfpsp_odd_upper_power_product_start. pa_u_bpfpsp_odd_upper_power_product = pa_q_bpfpsp_odd_upper_power_product_start * S ((S (0)) * pa_v_bpfpsp_odd_upper_power_product) + (1))) /\ ((((exists pa_h_bpfpsp_odd_upper_power_product_terminal. pa_h_bpfpsp_odd_upper_power_product_terminal + S (q) = S ((S (n)) * pa_v_bpfpsp_odd_upper_power_product)) /\ exists pa_q_bpfpsp_odd_upper_power_product_terminal. pa_u_bpfpsp_odd_upper_power_product = pa_q_bpfpsp_odd_upper_power_product_terminal * S ((S (n)) * pa_v_bpfpsp_odd_upper_power_product) + (q))) /\ forall pa_i_bpfpsp_odd_upper_power_product. (exists pa_lt_bpfpsp_odd_upper_power_product_bound. pa_lt_bpfpsp_odd_upper_power_product_bound + S pa_i_bpfpsp_odd_upper_power_product = n) -> exists pa_p_bpfpsp_odd_upper_power_product pa_r_bpfpsp_odd_upper_power_product pa_s_bpfpsp_odd_upper_power_product. ((((exists pa_h_bpfpsp_odd_upper_power_product_factor. pa_h_bpfpsp_odd_upper_power_product_factor + S (pa_p_bpfpsp_odd_upper_power_product) = S ((S (pa_i_bpfpsp_odd_upper_power_product)) * pa_c_bpfpsp_odd_upper_power)) /\ exists pa_q_bpfpsp_odd_upper_power_product_factor. pa_b_bpfpsp_odd_upper_power = pa_q_bpfpsp_odd_upper_power_product_factor * S ((S (pa_i_bpfpsp_odd_upper_power_product)) * pa_c_bpfpsp_odd_upper_power) + (pa_p_bpfpsp_odd_upper_power_product))) /\ ((((exists pa_h_bpfpsp_odd_upper_power_product_partial. pa_h_bpfpsp_odd_upper_power_product_partial + S (pa_r_bpfpsp_odd_upper_power_product) = S ((S (pa_i_bpfpsp_odd_upper_power_product)) * pa_v_bpfpsp_odd_upper_power_product)) /\ exists pa_q_bpfpsp_odd_upper_power_product_partial. pa_u_bpfpsp_odd_upper_power_product = pa_q_bpfpsp_odd_upper_power_product_partial * S ((S (pa_i_bpfpsp_odd_upper_power_product)) * pa_v_bpfpsp_odd_upper_power_product) + (pa_r_bpfpsp_odd_upper_power_product))) /\ ((((exists pa_h_bpfpsp_odd_upper_power_product_successor. pa_h_bpfpsp_odd_upper_power_product_successor + S (pa_s_bpfpsp_odd_upper_power_product) = S ((S (S pa_i_bpfpsp_odd_upper_power_product)) * pa_v_bpfpsp_odd_upper_power_product)) /\ exists pa_q_bpfpsp_odd_upper_power_product_successor. pa_u_bpfpsp_odd_upper_power_product = pa_q_bpfpsp_odd_upper_power_product_successor * S ((S (S pa_i_bpfpsp_odd_upper_power_product)) * pa_v_bpfpsp_odd_upper_power_product) + (pa_s_bpfpsp_odd_upper_power_product))) /\ pa_s_bpfpsp_odd_upper_power_product = pa_r_bpfpsp_odd_upper_power_product * pa_p_bpfpsp_odd_upper_power_product)))))))) -> (exists bcf_le_gap_bpfpsp_odd_upper_result. bcf_le_gap_bpfpsp_odd_upper_result + (c) = q))))))) -> (forall N n z q. (exists bcf_le_gap_bplfpb_index. bcf_le_gap_bplfpb_index + (n) = N) -> (exists bpr_code_bplfpb_primorial bpr_scale_bplfpb_primorial. ((forall bpr_index_bplfpb_primorial_mask. (exists bpr_gap_bplfpb_primorial_mask_bound. bpr_gap_bplfpb_primorial_mask_bound + S (bpr_index_bplfpb_primorial_mask) = n) -> exists bpr_value_bplfpb_primorial_mask. ((((exists bpr_height_bplfpb_primorial_mask_decoded. bpr_height_bplfpb_primorial_mask_decoded + S (bpr_value_bplfpb_primorial_mask) = S ((S (bpr_index_bplfpb_primorial_mask)) * bpr_scale_bplfpb_primorial)) /\ exists bpr_quotient_bplfpb_primorial_mask_decoded. bpr_code_bplfpb_primorial = bpr_quotient_bplfpb_primorial_mask_decoded * S ((S (bpr_index_bplfpb_primorial_mask)) * bpr_scale_bplfpb_primorial) + (bpr_value_bplfpb_primorial_mask))) /\ (((((~(S (bpr_index_bplfpb_primorial_mask) = 1) /\ forall bpr_left_bplfpb_primorial_mask_choice_prime bpr_right_bplfpb_primorial_mask_choice_prime. S (bpr_index_bplfpb_primorial_mask) = bpr_left_bplfpb_primorial_mask_choice_prime * bpr_right_bplfpb_primorial_mask_choice_prime -> bpr_left_bplfpb_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_primorial_mask = S (bpr_index_bplfpb_primorial_mask)) \/ (~((~(S (bpr_index_bplfpb_primorial_mask) = 1) /\ forall bpr_left_bplfpb_primorial_mask_choice_prime bpr_right_bplfpb_primorial_mask_choice_prime. S (bpr_index_bplfpb_primorial_mask) = bpr_left_bplfpb_primorial_mask_choice_prime * bpr_right_bplfpb_primorial_mask_choice_prime -> bpr_left_bplfpb_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_primorial_mask = 1))))) /\ (exists ff_u_bplfpb_primorial_product ff_v_bplfpb_primorial_product. ((((exists ff_h_bplfpb_primorial_product_start. ff_h_bplfpb_primorial_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_primorial_product)) /\ exists ff_q_bplfpb_primorial_product_start. ff_u_bplfpb_primorial_product = ff_q_bplfpb_primorial_product_start * S ((S (0)) * ff_v_bplfpb_primorial_product) + (1))) /\ ((((exists ff_h_bplfpb_primorial_product_terminal. ff_h_bplfpb_primorial_product_terminal + S (z) = S ((S (n)) * ff_v_bplfpb_primorial_product)) /\ exists ff_q_bplfpb_primorial_product_terminal. ff_u_bplfpb_primorial_product = ff_q_bplfpb_primorial_product_terminal * S ((S (n)) * ff_v_bplfpb_primorial_product) + (z))) /\ forall ff_i_bplfpb_primorial_product. (exists ff_lt_bplfpb_primorial_product_bound. ff_lt_bplfpb_primorial_product_bound + S ff_i_bplfpb_primorial_product = n) -> exists ff_p_bplfpb_primorial_product ff_r_bplfpb_primorial_product ff_s_bplfpb_primorial_product. ((((exists ff_h_bplfpb_primorial_product_factor. ff_h_bplfpb_primorial_product_factor + S (ff_p_bplfpb_primorial_product) = S ((S (ff_i_bplfpb_primorial_product)) * bpr_scale_bplfpb_primorial)) /\ exists ff_q_bplfpb_primorial_product_factor. bpr_code_bplfpb_primorial = ff_q_bplfpb_primorial_product_factor * S ((S (ff_i_bplfpb_primorial_product)) * bpr_scale_bplfpb_primorial) + (ff_p_bplfpb_primorial_product))) /\ ((((exists ff_h_bplfpb_primorial_product_partial. ff_h_bplfpb_primorial_product_partial + S (ff_r_bplfpb_primorial_product) = S ((S (ff_i_bplfpb_primorial_product)) * ff_v_bplfpb_primorial_product)) /\ exists ff_q_bplfpb_primorial_product_partial. ff_u_bplfpb_primorial_product = ff_q_bplfpb_primorial_product_partial * S ((S (ff_i_bplfpb_primorial_product)) * ff_v_bplfpb_primorial_product) + (ff_r_bplfpb_primorial_product))) /\ ((((exists ff_h_bplfpb_primorial_product_successor. ff_h_bplfpb_primorial_product_successor + S (ff_s_bplfpb_primorial_product) = S ((S (S ff_i_bplfpb_primorial_product)) * ff_v_bplfpb_primorial_product)) /\ exists ff_q_bplfpb_primorial_product_successor. ff_u_bplfpb_primorial_product = ff_q_bplfpb_primorial_product_successor * S ((S (S ff_i_bplfpb_primorial_product)) * ff_v_bplfpb_primorial_product) + (ff_s_bplfpb_primorial_product))) /\ ff_s_bplfpb_primorial_product = ff_r_bplfpb_primorial_product * ff_p_bplfpb_primorial_product)))))))) -> (exists pa_b_bplfpb_power pa_c_bplfpb_power. ((forall pa_i_bplfpb_power_repeat. (exists pa_lt_bplfpb_power_repeat_bound. pa_lt_bplfpb_power_repeat_bound + S pa_i_bplfpb_power_repeat = n) -> (((exists pa_h_bplfpb_power_repeat_decoded. pa_h_bplfpb_power_repeat_decoded + S (4) = S ((S (pa_i_bplfpb_power_repeat)) * pa_c_bplfpb_power)) /\ exists pa_q_bplfpb_power_repeat_decoded. pa_b_bplfpb_power = pa_q_bplfpb_power_repeat_decoded * S ((S (pa_i_bplfpb_power_repeat)) * pa_c_bplfpb_power) + (4)))) /\ (exists pa_u_bplfpb_power_product pa_v_bplfpb_power_product. ((((exists pa_h_bplfpb_power_product_start. pa_h_bplfpb_power_product_start + S (1) = S ((S (0)) * pa_v_bplfpb_power_product)) /\ exists pa_q_bplfpb_power_product_start. pa_u_bplfpb_power_product = pa_q_bplfpb_power_product_start * S ((S (0)) * pa_v_bplfpb_power_product) + (1))) /\ ((((exists pa_h_bplfpb_power_product_terminal. pa_h_bplfpb_power_product_terminal + S (q) = S ((S (n)) * pa_v_bplfpb_power_product)) /\ exists pa_q_bplfpb_power_product_terminal. pa_u_bplfpb_power_product = pa_q_bplfpb_power_product_terminal * S ((S (n)) * pa_v_bplfpb_power_product) + (q))) /\ forall pa_i_bplfpb_power_product. (exists pa_lt_bplfpb_power_product_bound. pa_lt_bplfpb_power_product_bound + S pa_i_bplfpb_power_product = n) -> exists pa_p_bplfpb_power_product pa_r_bplfpb_power_product pa_s_bplfpb_power_product. ((((exists pa_h_bplfpb_power_product_factor. pa_h_bplfpb_power_product_factor + S (pa_p_bplfpb_power_product) = S ((S (pa_i_bplfpb_power_product)) * pa_c_bplfpb_power)) /\ exists pa_q_bplfpb_power_product_factor. pa_b_bplfpb_power = pa_q_bplfpb_power_product_factor * S ((S (pa_i_bplfpb_power_product)) * pa_c_bplfpb_power) + (pa_p_bplfpb_power_product))) /\ ((((exists pa_h_bplfpb_power_product_partial. pa_h_bplfpb_power_product_partial + S (pa_r_bplfpb_power_product) = S ((S (pa_i_bplfpb_power_product)) * pa_v_bplfpb_power_product)) /\ exists pa_q_bplfpb_power_product_partial. pa_u_bplfpb_power_product = pa_q_bplfpb_power_product_partial * S ((S (pa_i_bplfpb_power_product)) * pa_v_bplfpb_power_product) + (pa_r_bplfpb_power_product))) /\ ((((exists pa_h_bplfpb_power_product_successor. pa_h_bplfpb_power_product_successor + S (pa_s_bplfpb_power_product) = S ((S (S pa_i_bplfpb_power_product)) * pa_v_bplfpb_power_product)) /\ exists pa_q_bplfpb_power_product_successor. pa_u_bplfpb_power_product = pa_q_bplfpb_power_product_successor * S ((S (S pa_i_bplfpb_power_product)) * pa_v_bplfpb_power_product) + (pa_s_bplfpb_power_product))) /\ pa_s_bplfpb_power_product = pa_r_bplfpb_power_product * pa_p_bplfpb_power_product)))))))) -> (exists bcf_le_gap_bplfpb_result. bcf_le_gap_bplfpb_result + (z) = q))

Structural proof guide

Every bounded Primorial is at most the matching fourth power.

Direct prerequisites: le_zero, le_eq_or_lt, le_of_succ_le_succ, zero_or_succ, le_refl, le_add_right, le_trans, mul_le_mul, two_mul_eq_add_self, add_succ_left, parity_cases, pow_exists, pow_zero, pow_one, pow_add, primorial_index_eq_transport, primorial_zero, primorial_one, double_half_predecessor_data, odd_positive_prefix_predecessor_bound, central_binom_nonzero_strong_upper. The authored body proceeds by structural induction (1), case analysis (23), intermediate claims (42), equality transport (10), closed numeral normalization (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 hpackage
  2. 0002cases hpackage
  3. 0003cases hpackage_right
  4. 0004cases hpackage_right_right
  5. 0005cases hpackage_right_right_right
  6. 0006cases hpackage_right_right_right_right
  7. 0007induction N
  8. 0008intro n
  9. 0009intro z
  10. 0010intro q
  11. 0011intro hbound
  12. 0012intro hprimorial
  13. 0013intro hpower
  14. 0014have hn : n = 0
  15. 0015apply le_zero
  16. 0016exact hbound
  17. 0017have hzero_primorial : exists bpr_code_bplfpb_zero_primorial bpr_scale_bplfpb_zero_primorial. ((forall bpr_index_bplfpb_zero_primorial_mask. (exists bpr_gap_bplfpb_zero_primorial_mask_bound. bpr_gap_bplfpb_zero_primorial_mask_bound + S (bpr_index_bplfpb_zero_primorial_mask) = 0) -> exists bpr_value_bplfpb_zero_primorial_mask. ((((exists bpr_height_bplfpb_zero_primorial_mask_decoded. bpr_height_bplfpb_zero_primorial_mask_decoded + S (bpr_value_bplfpb_zero_primorial_mask) = S ((S (bpr_index_bplfpb_zero_primorial_mask)) * bpr_scale_bplfpb_zero_primorial)) /\ exists bpr_quotient_bplfpb_zero_primorial_mask_decoded. bpr_code_bplfpb_zero_primorial = bpr_quotient_bplfpb_zero_primorial_mask_decoded * S ((S (bpr_index_bplfpb_zero_primorial_mask)) * bpr_scale_bplfpb_zero_primorial) + (bpr_value_bplfpb_zero_primorial_mask))) /\ (((((~(S (bpr_index_bplfpb_zero_primorial_mask) = 1) /\ forall bpr_left_bplfpb_zero_primorial_mask_choice_prime bpr_right_bplfpb_zero_primorial_mask_choice_prime. S (bpr_index_bplfpb_zero_primorial_mask) = bpr_left_bplfpb_zero_primorial_mask_choice_prime * bpr_right_bplfpb_zero_primorial_mask_choice_prime -> bpr_left_bplfpb_zero_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_zero_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_zero_primorial_mask = S (bpr_index_bplfpb_zero_primorial_mask)) \/ (~((~(S (bpr_index_bplfpb_zero_primorial_mask) = 1) /\ forall bpr_left_bplfpb_zero_primorial_mask_choice_prime bpr_right_bplfpb_zero_primorial_mask_choice_prime. S (bpr_index_bplfpb_zero_primorial_mask) = bpr_left_bplfpb_zero_primorial_mask_choice_prime * bpr_right_bplfpb_zero_primorial_mask_choice_prime -> bpr_left_bplfpb_zero_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_zero_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_zero_primorial_mask = 1))))) /\ (exists ff_u_bplfpb_zero_primorial_product ff_v_bplfpb_zero_primorial_product. ((((exists ff_h_bplfpb_zero_primorial_product_start. ff_h_bplfpb_zero_primorial_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_zero_primorial_product)) /\ exists ff_q_bplfpb_zero_primorial_product_start. ff_u_bplfpb_zero_primorial_product = ff_q_bplfpb_zero_primorial_product_start * S ((S (0)) * ff_v_bplfpb_zero_primorial_product) + (1))) /\ ((((exists ff_h_bplfpb_zero_primorial_product_terminal. ff_h_bplfpb_zero_primorial_product_terminal + S (z) = S ((S (0)) * ff_v_bplfpb_zero_primorial_product)) /\ exists ff_q_bplfpb_zero_primorial_product_terminal. ff_u_bplfpb_zero_primorial_product = ff_q_bplfpb_zero_primorial_product_terminal * S ((S (0)) * ff_v_bplfpb_zero_primorial_product) + (z))) /\ forall ff_i_bplfpb_zero_primorial_product. (exists ff_lt_bplfpb_zero_primorial_product_bound. ff_lt_bplfpb_zero_primorial_product_bound + S ff_i_bplfpb_zero_primorial_product = 0) -> exists ff_p_bplfpb_zero_primorial_product ff_r_bplfpb_zero_primorial_product ff_s_bplfpb_zero_primorial_product. ((((exists ff_h_bplfpb_zero_primorial_product_factor. ff_h_bplfpb_zero_primorial_product_factor + S (ff_p_bplfpb_zero_primorial_product) = S ((S (ff_i_bplfpb_zero_primorial_product)) * bpr_scale_bplfpb_zero_primorial)) /\ exists ff_q_bplfpb_zero_primorial_product_factor. bpr_code_bplfpb_zero_primorial = ff_q_bplfpb_zero_primorial_product_factor * S ((S (ff_i_bplfpb_zero_primorial_product)) * bpr_scale_bplfpb_zero_primorial) + (ff_p_bplfpb_zero_primorial_product))) /\ ((((exists ff_h_bplfpb_zero_primorial_product_partial. ff_h_bplfpb_zero_primorial_product_partial + S (ff_r_bplfpb_zero_primorial_product) = S ((S (ff_i_bplfpb_zero_primorial_product)) * ff_v_bplfpb_zero_primorial_product)) /\ exists ff_q_bplfpb_zero_primorial_product_partial. ff_u_bplfpb_zero_primorial_product = ff_q_bplfpb_zero_primorial_product_partial * S ((S (ff_i_bplfpb_zero_primorial_product)) * ff_v_bplfpb_zero_primorial_product) + (ff_r_bplfpb_zero_primorial_product))) /\ ((((exists ff_h_bplfpb_zero_primorial_product_successor. ff_h_bplfpb_zero_primorial_product_successor + S (ff_s_bplfpb_zero_primorial_product) = S ((S (S ff_i_bplfpb_zero_primorial_product)) * ff_v_bplfpb_zero_primorial_product)) /\ exists ff_q_bplfpb_zero_primorial_product_successor. ff_u_bplfpb_zero_primorial_product = ff_q_bplfpb_zero_primorial_product_successor * S ((S (S ff_i_bplfpb_zero_primorial_product)) * ff_v_bplfpb_zero_primorial_product) + (ff_s_bplfpb_zero_primorial_product))) /\ ff_s_bplfpb_zero_primorial_product = ff_r_bplfpb_zero_primorial_product * ff_p_bplfpb_zero_primorial_product)))))))
  18. 0018specialize primorial_index_eq_transport n
  19. 0019specialize primorial_index_eq_transport 0
  20. 0020specialize primorial_index_eq_transport z
  21. 0021apply primorial_index_eq_transport
  22. 0022exact hn
  23. 0023exact hprimorial
  24. 0024have hz : z = 1
  25. 0025apply primorial_zero
  26. 0026exact hzero_primorial
  27. 0027have hq : q = 1
  28. 0028specialize pow_zero 4
  29. 0029specialize pow_zero n
  30. 0030specialize pow_zero q
  31. 0031apply pow_zero
  32. 0032exact hn
  33. 0033exact hpower
  34. 0034rewrite hz
  35. 0035rewrite hq
  36. 0036specialize le_refl 1
  37. 0037exact le_refl
  38. 0038intro n
  39. 0039intro z
  40. 0040intro q
  41. 0041intro hbound
  42. 0042intro hprimorial
  43. 0043intro hpower
  44. 0044have hboundary : n = S N \/ exists g. g + S n = S N
  45. 0045specialize le_eq_or_lt n
  46. 0046specialize le_eq_or_lt (S N)
  47. 0047apply le_eq_or_lt
  48. 0048exact hbound
  49. 0049cases hboundary
  50. 0050have hparity : exists k. n = 2 * k \/ n = 2 * k + 1
  51. 0051specialize parity_cases n
  52. 0052exact parity_cases
  53. 0053cases hparity
  54. 0054cases hparity_witness
  55. 0055have hdouble : S N = 2 * x
  56. 0056trans n
  57. 0057symm
  58. 0058exact hboundary_left
  59. 0059exact hparity_witness_left
  60. 0060have hhalf_data : ~(x = 0) /\ exists g. g + x = N
  61. 0061apply double_half_predecessor_data
  62. 0062exact hdouble
  63. 0063cases hhalf_data
  64. 0064have hsum : n = x + x
  65. 0065trans 2 * x
  66. 0066exact hparity_witness_left
  67. 0067specialize two_mul_eq_add_self x
  68. 0068exact two_mul_eq_add_self
  69. 0069have heven_primorial : exists bpr_code_bplfpb_even_primorial bpr_scale_bplfpb_even_primorial. ((forall bpr_index_bplfpb_even_primorial_mask. (exists bpr_gap_bplfpb_even_primorial_mask_bound. bpr_gap_bplfpb_even_primorial_mask_bound + S (bpr_index_bplfpb_even_primorial_mask) = x + x) -> exists bpr_value_bplfpb_even_primorial_mask. ((((exists bpr_height_bplfpb_even_primorial_mask_decoded. bpr_height_bplfpb_even_primorial_mask_decoded + S (bpr_value_bplfpb_even_primorial_mask) = S ((S (bpr_index_bplfpb_even_primorial_mask)) * bpr_scale_bplfpb_even_primorial)) /\ exists bpr_quotient_bplfpb_even_primorial_mask_decoded. bpr_code_bplfpb_even_primorial = bpr_quotient_bplfpb_even_primorial_mask_decoded * S ((S (bpr_index_bplfpb_even_primorial_mask)) * bpr_scale_bplfpb_even_primorial) + (bpr_value_bplfpb_even_primorial_mask))) /\ (((((~(S (bpr_index_bplfpb_even_primorial_mask) = 1) /\ forall bpr_left_bplfpb_even_primorial_mask_choice_prime bpr_right_bplfpb_even_primorial_mask_choice_prime. S (bpr_index_bplfpb_even_primorial_mask) = bpr_left_bplfpb_even_primorial_mask_choice_prime * bpr_right_bplfpb_even_primorial_mask_choice_prime -> bpr_left_bplfpb_even_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_even_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_even_primorial_mask = S (bpr_index_bplfpb_even_primorial_mask)) \/ (~((~(S (bpr_index_bplfpb_even_primorial_mask) = 1) /\ forall bpr_left_bplfpb_even_primorial_mask_choice_prime bpr_right_bplfpb_even_primorial_mask_choice_prime. S (bpr_index_bplfpb_even_primorial_mask) = bpr_left_bplfpb_even_primorial_mask_choice_prime * bpr_right_bplfpb_even_primorial_mask_choice_prime -> bpr_left_bplfpb_even_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_even_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_even_primorial_mask = 1))))) /\ (exists ff_u_bplfpb_even_primorial_product ff_v_bplfpb_even_primorial_product. ((((exists ff_h_bplfpb_even_primorial_product_start. ff_h_bplfpb_even_primorial_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_even_primorial_product)) /\ exists ff_q_bplfpb_even_primorial_product_start. ff_u_bplfpb_even_primorial_product = ff_q_bplfpb_even_primorial_product_start * S ((S (0)) * ff_v_bplfpb_even_primorial_product) + (1))) /\ ((((exists ff_h_bplfpb_even_primorial_product_terminal. ff_h_bplfpb_even_primorial_product_terminal + S (z) = S ((S (x + x)) * ff_v_bplfpb_even_primorial_product)) /\ exists ff_q_bplfpb_even_primorial_product_terminal. ff_u_bplfpb_even_primorial_product = ff_q_bplfpb_even_primorial_product_terminal * S ((S (x + x)) * ff_v_bplfpb_even_primorial_product) + (z))) /\ forall ff_i_bplfpb_even_primorial_product. (exists ff_lt_bplfpb_even_primorial_product_bound. ff_lt_bplfpb_even_primorial_product_bound + S ff_i_bplfpb_even_primorial_product = x + x) -> exists ff_p_bplfpb_even_primorial_product ff_r_bplfpb_even_primorial_product ff_s_bplfpb_even_primorial_product. ((((exists ff_h_bplfpb_even_primorial_product_factor. ff_h_bplfpb_even_primorial_product_factor + S (ff_p_bplfpb_even_primorial_product) = S ((S (ff_i_bplfpb_even_primorial_product)) * bpr_scale_bplfpb_even_primorial)) /\ exists ff_q_bplfpb_even_primorial_product_factor. bpr_code_bplfpb_even_primorial = ff_q_bplfpb_even_primorial_product_factor * S ((S (ff_i_bplfpb_even_primorial_product)) * bpr_scale_bplfpb_even_primorial) + (ff_p_bplfpb_even_primorial_product))) /\ ((((exists ff_h_bplfpb_even_primorial_product_partial. ff_h_bplfpb_even_primorial_product_partial + S (ff_r_bplfpb_even_primorial_product) = S ((S (ff_i_bplfpb_even_primorial_product)) * ff_v_bplfpb_even_primorial_product)) /\ exists ff_q_bplfpb_even_primorial_product_partial. ff_u_bplfpb_even_primorial_product = ff_q_bplfpb_even_primorial_product_partial * S ((S (ff_i_bplfpb_even_primorial_product)) * ff_v_bplfpb_even_primorial_product) + (ff_r_bplfpb_even_primorial_product))) /\ ((((exists ff_h_bplfpb_even_primorial_product_successor. ff_h_bplfpb_even_primorial_product_successor + S (ff_s_bplfpb_even_primorial_product) = S ((S (S ff_i_bplfpb_even_primorial_product)) * ff_v_bplfpb_even_primorial_product)) /\ exists ff_q_bplfpb_even_primorial_product_successor. ff_u_bplfpb_even_primorial_product = ff_q_bplfpb_even_primorial_product_successor * S ((S (S ff_i_bplfpb_even_primorial_product)) * ff_v_bplfpb_even_primorial_product) + (ff_s_bplfpb_even_primorial_product))) /\ ff_s_bplfpb_even_primorial_product = ff_r_bplfpb_even_primorial_product * ff_p_bplfpb_even_primorial_product)))))))
  70. 0070specialize primorial_index_eq_transport n
  71. 0071specialize primorial_index_eq_transport (x + x)
  72. 0072specialize primorial_index_eq_transport z
  73. 0073apply primorial_index_eq_transport
  74. 0074exact hsum
  75. 0075exact hprimorial
  76. 0076have hsplit : exists a b. (exists bpr_code_bplfpb_even_prefix bpr_scale_bplfpb_even_prefix. ((forall bpr_index_bplfpb_even_prefix_mask. (exists bpr_gap_bplfpb_even_prefix_mask_bound. bpr_gap_bplfpb_even_prefix_mask_bound + S (bpr_index_bplfpb_even_prefix_mask) = x) -> exists bpr_value_bplfpb_even_prefix_mask. ((((exists bpr_height_bplfpb_even_prefix_mask_decoded. bpr_height_bplfpb_even_prefix_mask_decoded + S (bpr_value_bplfpb_even_prefix_mask) = S ((S (bpr_index_bplfpb_even_prefix_mask)) * bpr_scale_bplfpb_even_prefix)) /\ exists bpr_quotient_bplfpb_even_prefix_mask_decoded. bpr_code_bplfpb_even_prefix = bpr_quotient_bplfpb_even_prefix_mask_decoded * S ((S (bpr_index_bplfpb_even_prefix_mask)) * bpr_scale_bplfpb_even_prefix) + (bpr_value_bplfpb_even_prefix_mask))) /\ (((((~(S (bpr_index_bplfpb_even_prefix_mask) = 1) /\ forall bpr_left_bplfpb_even_prefix_mask_choice_prime bpr_right_bplfpb_even_prefix_mask_choice_prime. S (bpr_index_bplfpb_even_prefix_mask) = bpr_left_bplfpb_even_prefix_mask_choice_prime * bpr_right_bplfpb_even_prefix_mask_choice_prime -> bpr_left_bplfpb_even_prefix_mask_choice_prime = 1 \/ bpr_right_bplfpb_even_prefix_mask_choice_prime = 1)) /\ bpr_value_bplfpb_even_prefix_mask = S (bpr_index_bplfpb_even_prefix_mask)) \/ (~((~(S (bpr_index_bplfpb_even_prefix_mask) = 1) /\ forall bpr_left_bplfpb_even_prefix_mask_choice_prime bpr_right_bplfpb_even_prefix_mask_choice_prime. S (bpr_index_bplfpb_even_prefix_mask) = bpr_left_bplfpb_even_prefix_mask_choice_prime * bpr_right_bplfpb_even_prefix_mask_choice_prime -> bpr_left_bplfpb_even_prefix_mask_choice_prime = 1 \/ bpr_right_bplfpb_even_prefix_mask_choice_prime = 1)) /\ bpr_value_bplfpb_even_prefix_mask = 1))))) /\ (exists ff_u_bplfpb_even_prefix_product ff_v_bplfpb_even_prefix_product. ((((exists ff_h_bplfpb_even_prefix_product_start. ff_h_bplfpb_even_prefix_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_even_prefix_product)) /\ exists ff_q_bplfpb_even_prefix_product_start. ff_u_bplfpb_even_prefix_product = ff_q_bplfpb_even_prefix_product_start * S ((S (0)) * ff_v_bplfpb_even_prefix_product) + (1))) /\ ((((exists ff_h_bplfpb_even_prefix_product_terminal. ff_h_bplfpb_even_prefix_product_terminal + S (a) = S ((S (x)) * ff_v_bplfpb_even_prefix_product)) /\ exists ff_q_bplfpb_even_prefix_product_terminal. ff_u_bplfpb_even_prefix_product = ff_q_bplfpb_even_prefix_product_terminal * S ((S (x)) * ff_v_bplfpb_even_prefix_product) + (a))) /\ forall ff_i_bplfpb_even_prefix_product. (exists ff_lt_bplfpb_even_prefix_product_bound. ff_lt_bplfpb_even_prefix_product_bound + S ff_i_bplfpb_even_prefix_product = x) -> exists ff_p_bplfpb_even_prefix_product ff_r_bplfpb_even_prefix_product ff_s_bplfpb_even_prefix_product. ((((exists ff_h_bplfpb_even_prefix_product_factor. ff_h_bplfpb_even_prefix_product_factor + S (ff_p_bplfpb_even_prefix_product) = S ((S (ff_i_bplfpb_even_prefix_product)) * bpr_scale_bplfpb_even_prefix)) /\ exists ff_q_bplfpb_even_prefix_product_factor. bpr_code_bplfpb_even_prefix = ff_q_bplfpb_even_prefix_product_factor * S ((S (ff_i_bplfpb_even_prefix_product)) * bpr_scale_bplfpb_even_prefix) + (ff_p_bplfpb_even_prefix_product))) /\ ((((exists ff_h_bplfpb_even_prefix_product_partial. ff_h_bplfpb_even_prefix_product_partial + S (ff_r_bplfpb_even_prefix_product) = S ((S (ff_i_bplfpb_even_prefix_product)) * ff_v_bplfpb_even_prefix_product)) /\ exists ff_q_bplfpb_even_prefix_product_partial. ff_u_bplfpb_even_prefix_product = ff_q_bplfpb_even_prefix_product_partial * S ((S (ff_i_bplfpb_even_prefix_product)) * ff_v_bplfpb_even_prefix_product) + (ff_r_bplfpb_even_prefix_product))) /\ ((((exists ff_h_bplfpb_even_prefix_product_successor. ff_h_bplfpb_even_prefix_product_successor + S (ff_s_bplfpb_even_prefix_product) = S ((S (S ff_i_bplfpb_even_prefix_product)) * ff_v_bplfpb_even_prefix_product)) /\ exists ff_q_bplfpb_even_prefix_product_successor. ff_u_bplfpb_even_prefix_product = ff_q_bplfpb_even_prefix_product_successor * S ((S (S ff_i_bplfpb_even_prefix_product)) * ff_v_bplfpb_even_prefix_product) + (ff_s_bplfpb_even_prefix_product))) /\ ff_s_bplfpb_even_prefix_product = ff_r_bplfpb_even_prefix_product * ff_p_bplfpb_even_prefix_product)))))))) /\ ((exists bpr_code_bplfpb_even_interval bpr_scale_bplfpb_even_interval. ((forall bpr_index_bplfpb_even_interval_mask. (exists bpr_gap_bplfpb_even_interval_mask_bound. bpr_gap_bplfpb_even_interval_mask_bound + S (bpr_index_bplfpb_even_interval_mask) = x) -> exists bpr_value_bplfpb_even_interval_mask. ((((exists bpr_height_bplfpb_even_interval_mask_decoded. bpr_height_bplfpb_even_interval_mask_decoded + S (bpr_value_bplfpb_even_interval_mask) = S ((S (bpr_index_bplfpb_even_interval_mask)) * bpr_scale_bplfpb_even_interval)) /\ exists bpr_quotient_bplfpb_even_interval_mask_decoded. bpr_code_bplfpb_even_interval = bpr_quotient_bplfpb_even_interval_mask_decoded * S ((S (bpr_index_bplfpb_even_interval_mask)) * bpr_scale_bplfpb_even_interval) + (bpr_value_bplfpb_even_interval_mask))) /\ (((((~(S (x + bpr_index_bplfpb_even_interval_mask) = 1) /\ forall bpr_left_bplfpb_even_interval_mask_choice_prime bpr_right_bplfpb_even_interval_mask_choice_prime. S (x + bpr_index_bplfpb_even_interval_mask) = bpr_left_bplfpb_even_interval_mask_choice_prime * bpr_right_bplfpb_even_interval_mask_choice_prime -> bpr_left_bplfpb_even_interval_mask_choice_prime = 1 \/ bpr_right_bplfpb_even_interval_mask_choice_prime = 1)) /\ bpr_value_bplfpb_even_interval_mask = S (x + bpr_index_bplfpb_even_interval_mask)) \/ (~((~(S (x + bpr_index_bplfpb_even_interval_mask) = 1) /\ forall bpr_left_bplfpb_even_interval_mask_choice_prime bpr_right_bplfpb_even_interval_mask_choice_prime. S (x + bpr_index_bplfpb_even_interval_mask) = bpr_left_bplfpb_even_interval_mask_choice_prime * bpr_right_bplfpb_even_interval_mask_choice_prime -> bpr_left_bplfpb_even_interval_mask_choice_prime = 1 \/ bpr_right_bplfpb_even_interval_mask_choice_prime = 1)) /\ bpr_value_bplfpb_even_interval_mask = 1))))) /\ (exists ff_u_bplfpb_even_interval_product ff_v_bplfpb_even_interval_product. ((((exists ff_h_bplfpb_even_interval_product_start. ff_h_bplfpb_even_interval_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_even_interval_product)) /\ exists ff_q_bplfpb_even_interval_product_start. ff_u_bplfpb_even_interval_product = ff_q_bplfpb_even_interval_product_start * S ((S (0)) * ff_v_bplfpb_even_interval_product) + (1))) /\ ((((exists ff_h_bplfpb_even_interval_product_terminal. ff_h_bplfpb_even_interval_product_terminal + S (b) = S ((S (x)) * ff_v_bplfpb_even_interval_product)) /\ exists ff_q_bplfpb_even_interval_product_terminal. ff_u_bplfpb_even_interval_product = ff_q_bplfpb_even_interval_product_terminal * S ((S (x)) * ff_v_bplfpb_even_interval_product) + (b))) /\ forall ff_i_bplfpb_even_interval_product. (exists ff_lt_bplfpb_even_interval_product_bound. ff_lt_bplfpb_even_interval_product_bound + S ff_i_bplfpb_even_interval_product = x) -> exists ff_p_bplfpb_even_interval_product ff_r_bplfpb_even_interval_product ff_s_bplfpb_even_interval_product. ((((exists ff_h_bplfpb_even_interval_product_factor. ff_h_bplfpb_even_interval_product_factor + S (ff_p_bplfpb_even_interval_product) = S ((S (ff_i_bplfpb_even_interval_product)) * bpr_scale_bplfpb_even_interval)) /\ exists ff_q_bplfpb_even_interval_product_factor. bpr_code_bplfpb_even_interval = ff_q_bplfpb_even_interval_product_factor * S ((S (ff_i_bplfpb_even_interval_product)) * bpr_scale_bplfpb_even_interval) + (ff_p_bplfpb_even_interval_product))) /\ ((((exists ff_h_bplfpb_even_interval_product_partial. ff_h_bplfpb_even_interval_product_partial + S (ff_r_bplfpb_even_interval_product) = S ((S (ff_i_bplfpb_even_interval_product)) * ff_v_bplfpb_even_interval_product)) /\ exists ff_q_bplfpb_even_interval_product_partial. ff_u_bplfpb_even_interval_product = ff_q_bplfpb_even_interval_product_partial * S ((S (ff_i_bplfpb_even_interval_product)) * ff_v_bplfpb_even_interval_product) + (ff_r_bplfpb_even_interval_product))) /\ ((((exists ff_h_bplfpb_even_interval_product_successor. ff_h_bplfpb_even_interval_product_successor + S (ff_s_bplfpb_even_interval_product) = S ((S (S ff_i_bplfpb_even_interval_product)) * ff_v_bplfpb_even_interval_product)) /\ exists ff_q_bplfpb_even_interval_product_successor. ff_u_bplfpb_even_interval_product = ff_q_bplfpb_even_interval_product_successor * S ((S (S ff_i_bplfpb_even_interval_product)) * ff_v_bplfpb_even_interval_product) + (ff_s_bplfpb_even_interval_product))) /\ ff_s_bplfpb_even_interval_product = ff_r_bplfpb_even_interval_product * ff_p_bplfpb_even_interval_product)))))))) /\ z = a * b)
  77. 0077specialize hpackage_right_right_left x
  78. 0078specialize hpackage_right_right_left x
  79. 0079specialize hpackage_right_right_left z
  80. 0080apply hpackage_right_right_left
  81. 0081exact heven_primorial
  82. 0082cases hsplit
  83. 0083cases hsplit_witness
  84. 0084cases hsplit_witness_witness
  85. 0085cases hsplit_witness_witness_right
  86. 0086have hhalf_power : exists r. (exists pa_b_bplfpb_even_power pa_c_bplfpb_even_power. ((forall pa_i_bplfpb_even_power_repeat. (exists pa_lt_bplfpb_even_power_repeat_bound. pa_lt_bplfpb_even_power_repeat_bound + S pa_i_bplfpb_even_power_repeat = x) -> (((exists pa_h_bplfpb_even_power_repeat_decoded. pa_h_bplfpb_even_power_repeat_decoded + S (4) = S ((S (pa_i_bplfpb_even_power_repeat)) * pa_c_bplfpb_even_power)) /\ exists pa_q_bplfpb_even_power_repeat_decoded. pa_b_bplfpb_even_power = pa_q_bplfpb_even_power_repeat_decoded * S ((S (pa_i_bplfpb_even_power_repeat)) * pa_c_bplfpb_even_power) + (4)))) /\ (exists pa_u_bplfpb_even_power_product pa_v_bplfpb_even_power_product. ((((exists pa_h_bplfpb_even_power_product_start. pa_h_bplfpb_even_power_product_start + S (1) = S ((S (0)) * pa_v_bplfpb_even_power_product)) /\ exists pa_q_bplfpb_even_power_product_start. pa_u_bplfpb_even_power_product = pa_q_bplfpb_even_power_product_start * S ((S (0)) * pa_v_bplfpb_even_power_product) + (1))) /\ ((((exists pa_h_bplfpb_even_power_product_terminal. pa_h_bplfpb_even_power_product_terminal + S (r) = S ((S (x)) * pa_v_bplfpb_even_power_product)) /\ exists pa_q_bplfpb_even_power_product_terminal. pa_u_bplfpb_even_power_product = pa_q_bplfpb_even_power_product_terminal * S ((S (x)) * pa_v_bplfpb_even_power_product) + (r))) /\ forall pa_i_bplfpb_even_power_product. (exists pa_lt_bplfpb_even_power_product_bound. pa_lt_bplfpb_even_power_product_bound + S pa_i_bplfpb_even_power_product = x) -> exists pa_p_bplfpb_even_power_product pa_r_bplfpb_even_power_product pa_s_bplfpb_even_power_product. ((((exists pa_h_bplfpb_even_power_product_factor. pa_h_bplfpb_even_power_product_factor + S (pa_p_bplfpb_even_power_product) = S ((S (pa_i_bplfpb_even_power_product)) * pa_c_bplfpb_even_power)) /\ exists pa_q_bplfpb_even_power_product_factor. pa_b_bplfpb_even_power = pa_q_bplfpb_even_power_product_factor * S ((S (pa_i_bplfpb_even_power_product)) * pa_c_bplfpb_even_power) + (pa_p_bplfpb_even_power_product))) /\ ((((exists pa_h_bplfpb_even_power_product_partial. pa_h_bplfpb_even_power_product_partial + S (pa_r_bplfpb_even_power_product) = S ((S (pa_i_bplfpb_even_power_product)) * pa_v_bplfpb_even_power_product)) /\ exists pa_q_bplfpb_even_power_product_partial. pa_u_bplfpb_even_power_product = pa_q_bplfpb_even_power_product_partial * S ((S (pa_i_bplfpb_even_power_product)) * pa_v_bplfpb_even_power_product) + (pa_r_bplfpb_even_power_product))) /\ ((((exists pa_h_bplfpb_even_power_product_successor. pa_h_bplfpb_even_power_product_successor + S (pa_s_bplfpb_even_power_product) = S ((S (S pa_i_bplfpb_even_power_product)) * pa_v_bplfpb_even_power_product)) /\ exists pa_q_bplfpb_even_power_product_successor. pa_u_bplfpb_even_power_product = pa_q_bplfpb_even_power_product_successor * S ((S (S pa_i_bplfpb_even_power_product)) * pa_v_bplfpb_even_power_product) + (pa_s_bplfpb_even_power_product))) /\ pa_s_bplfpb_even_power_product = pa_r_bplfpb_even_power_product * pa_p_bplfpb_even_power_product))))))))
  87. 0087specialize pow_exists 4
  88. 0088specialize pow_exists x
  89. 0089exact pow_exists
  90. 0090cases hhalf_power
  91. 0091have hcentral : exists c. (((exists bcf_lt_gap_bplfpb_even_central_out_of_range. bcf_lt_gap_bplfpb_even_central_out_of_range + S (x + x) = x) /\ c = 0) \/ ((exists bcf_le_gap_bplfpb_even_central_in_range. bcf_le_gap_bplfpb_even_central_in_range + (x) = x + x) /\ (exists bcf_row_code_code_bplfpb_even_central bcf_row_code_scale_bplfpb_even_central bcf_row_scale_code_bplfpb_even_central bcf_row_scale_scale_bplfpb_even_central bcf_row_code_bplfpb_even_central bcf_row_scale_bplfpb_even_central. ((forall bcf_row_index_bplfpb_even_central_table. (exists bcf_lt_gap_bplfpb_even_central_table_row_bound. bcf_lt_gap_bplfpb_even_central_table_row_bound + S (bcf_row_index_bplfpb_even_central_table) = S (x + x)) -> exists bcf_row_code_bplfpb_even_central_table bcf_row_scale_bplfpb_even_central_table. ((((exists bcf_height_bplfpb_even_central_table_decoded_row_code. bcf_height_bplfpb_even_central_table_decoded_row_code + S (bcf_row_code_bplfpb_even_central_table) = S ((S (bcf_row_index_bplfpb_even_central_table)) * bcf_row_code_scale_bplfpb_even_central)) /\ exists bcf_quotient_bplfpb_even_central_table_decoded_row_code. bcf_row_code_code_bplfpb_even_central = bcf_quotient_bplfpb_even_central_table_decoded_row_code * S ((S (bcf_row_index_bplfpb_even_central_table)) * bcf_row_code_scale_bplfpb_even_central) + (bcf_row_code_bplfpb_even_central_table))) /\ ((((exists bcf_height_bplfpb_even_central_table_decoded_row_scale. bcf_height_bplfpb_even_central_table_decoded_row_scale + S (bcf_row_scale_bplfpb_even_central_table) = S ((S (bcf_row_index_bplfpb_even_central_table)) * bcf_row_scale_scale_bplfpb_even_central)) /\ exists bcf_quotient_bplfpb_even_central_table_decoded_row_scale. bcf_row_scale_code_bplfpb_even_central = bcf_quotient_bplfpb_even_central_table_decoded_row_scale * S ((S (bcf_row_index_bplfpb_even_central_table)) * bcf_row_scale_scale_bplfpb_even_central) + (bcf_row_scale_bplfpb_even_central_table))) /\ ((bcf_row_index_bplfpb_even_central_table = 0 /\ (forall bcf_index_bplfpb_even_central_table_zero_row. (exists bcf_lt_gap_bplfpb_even_central_table_zero_row_bound. bcf_lt_gap_bplfpb_even_central_table_zero_row_bound + S (bcf_index_bplfpb_even_central_table_zero_row) = S (x + x)) -> exists bcf_value_bplfpb_even_central_table_zero_row. ((((exists bcf_height_bplfpb_even_central_table_zero_row_entry. bcf_height_bplfpb_even_central_table_zero_row_entry + S (bcf_value_bplfpb_even_central_table_zero_row) = S ((S (bcf_index_bplfpb_even_central_table_zero_row)) * bcf_row_scale_bplfpb_even_central_table)) /\ exists bcf_quotient_bplfpb_even_central_table_zero_row_entry. bcf_row_code_bplfpb_even_central_table = bcf_quotient_bplfpb_even_central_table_zero_row_entry * S ((S (bcf_index_bplfpb_even_central_table_zero_row)) * bcf_row_scale_bplfpb_even_central_table) + (bcf_value_bplfpb_even_central_table_zero_row))) /\ ((bcf_index_bplfpb_even_central_table_zero_row = 0 /\ bcf_value_bplfpb_even_central_table_zero_row = 1) \/ exists bcf_predecessor_bplfpb_even_central_table_zero_row. bcf_index_bplfpb_even_central_table_zero_row = S bcf_predecessor_bplfpb_even_central_table_zero_row /\ bcf_value_bplfpb_even_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bplfpb_even_central_table bcf_previous_code_bplfpb_even_central_table bcf_previous_scale_bplfpb_even_central_table. bcf_row_index_bplfpb_even_central_table = S bcf_predecessor_bplfpb_even_central_table /\ ((((exists bcf_height_bplfpb_even_central_table_decoded_previous_code. bcf_height_bplfpb_even_central_table_decoded_previous_code + S (bcf_previous_code_bplfpb_even_central_table) = S ((S (bcf_predecessor_bplfpb_even_central_table)) * bcf_row_code_scale_bplfpb_even_central)) /\ exists bcf_quotient_bplfpb_even_central_table_decoded_previous_code. bcf_row_code_code_bplfpb_even_central = bcf_quotient_bplfpb_even_central_table_decoded_previous_code * S ((S (bcf_predecessor_bplfpb_even_central_table)) * bcf_row_code_scale_bplfpb_even_central) + (bcf_previous_code_bplfpb_even_central_table))) /\ ((((exists bcf_height_bplfpb_even_central_table_decoded_previous_scale. bcf_height_bplfpb_even_central_table_decoded_previous_scale + S (bcf_previous_scale_bplfpb_even_central_table) = S ((S (bcf_predecessor_bplfpb_even_central_table)) * bcf_row_scale_scale_bplfpb_even_central)) /\ exists bcf_quotient_bplfpb_even_central_table_decoded_previous_scale. bcf_row_scale_code_bplfpb_even_central = bcf_quotient_bplfpb_even_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bplfpb_even_central_table)) * bcf_row_scale_scale_bplfpb_even_central) + (bcf_previous_scale_bplfpb_even_central_table))) /\ (forall bcf_index_bplfpb_even_central_table_row_step. (exists bcf_lt_gap_bplfpb_even_central_table_row_step_bound. bcf_lt_gap_bplfpb_even_central_table_row_step_bound + S (bcf_index_bplfpb_even_central_table_row_step) = S (x + x)) -> exists bcf_value_bplfpb_even_central_table_row_step. ((((exists bcf_height_bplfpb_even_central_table_row_step_entry. bcf_height_bplfpb_even_central_table_row_step_entry + S (bcf_value_bplfpb_even_central_table_row_step) = S ((S (bcf_index_bplfpb_even_central_table_row_step)) * bcf_row_scale_bplfpb_even_central_table)) /\ exists bcf_quotient_bplfpb_even_central_table_row_step_entry. bcf_row_code_bplfpb_even_central_table = bcf_quotient_bplfpb_even_central_table_row_step_entry * S ((S (bcf_index_bplfpb_even_central_table_row_step)) * bcf_row_scale_bplfpb_even_central_table) + (bcf_value_bplfpb_even_central_table_row_step))) /\ ((bcf_index_bplfpb_even_central_table_row_step = 0 /\ bcf_value_bplfpb_even_central_table_row_step = 1) \/ exists bcf_predecessor_bplfpb_even_central_table_row_step bcf_left_bplfpb_even_central_table_row_step bcf_right_bplfpb_even_central_table_row_step. bcf_index_bplfpb_even_central_table_row_step = S bcf_predecessor_bplfpb_even_central_table_row_step /\ ((((exists bcf_height_bplfpb_even_central_table_row_step_previous_left. bcf_height_bplfpb_even_central_table_row_step_previous_left + S (bcf_left_bplfpb_even_central_table_row_step) = S ((S (bcf_predecessor_bplfpb_even_central_table_row_step)) * bcf_previous_scale_bplfpb_even_central_table)) /\ exists bcf_quotient_bplfpb_even_central_table_row_step_previous_left. bcf_previous_code_bplfpb_even_central_table = bcf_quotient_bplfpb_even_central_table_row_step_previous_left * S ((S (bcf_predecessor_bplfpb_even_central_table_row_step)) * bcf_previous_scale_bplfpb_even_central_table) + (bcf_left_bplfpb_even_central_table_row_step))) /\ ((((exists bcf_height_bplfpb_even_central_table_row_step_previous_right. bcf_height_bplfpb_even_central_table_row_step_previous_right + S (bcf_right_bplfpb_even_central_table_row_step) = S ((S (S (bcf_predecessor_bplfpb_even_central_table_row_step))) * bcf_previous_scale_bplfpb_even_central_table)) /\ exists bcf_quotient_bplfpb_even_central_table_row_step_previous_right. bcf_previous_code_bplfpb_even_central_table = bcf_quotient_bplfpb_even_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bplfpb_even_central_table_row_step))) * bcf_previous_scale_bplfpb_even_central_table) + (bcf_right_bplfpb_even_central_table_row_step))) /\ bcf_value_bplfpb_even_central_table_row_step = bcf_left_bplfpb_even_central_table_row_step + bcf_right_bplfpb_even_central_table_row_step))))))))))) /\ ((((exists bcf_height_bplfpb_even_central_decoded_row_code. bcf_height_bplfpb_even_central_decoded_row_code + S (bcf_row_code_bplfpb_even_central) = S ((S (x + x)) * bcf_row_code_scale_bplfpb_even_central)) /\ exists bcf_quotient_bplfpb_even_central_decoded_row_code. bcf_row_code_code_bplfpb_even_central = bcf_quotient_bplfpb_even_central_decoded_row_code * S ((S (x + x)) * bcf_row_code_scale_bplfpb_even_central) + (bcf_row_code_bplfpb_even_central))) /\ ((((exists bcf_height_bplfpb_even_central_decoded_row_scale. bcf_height_bplfpb_even_central_decoded_row_scale + S (bcf_row_scale_bplfpb_even_central) = S ((S (x + x)) * bcf_row_scale_scale_bplfpb_even_central)) /\ exists bcf_quotient_bplfpb_even_central_decoded_row_scale. bcf_row_scale_code_bplfpb_even_central = bcf_quotient_bplfpb_even_central_decoded_row_scale * S ((S (x + x)) * bcf_row_scale_scale_bplfpb_even_central) + (bcf_row_scale_bplfpb_even_central))) /\ (((exists bcf_height_bplfpb_even_central_decoded_value. bcf_height_bplfpb_even_central_decoded_value + S (c) = S ((S (x)) * bcf_row_scale_bplfpb_even_central)) /\ exists bcf_quotient_bplfpb_even_central_decoded_value. bcf_row_code_bplfpb_even_central = bcf_quotient_bplfpb_even_central_decoded_value * S ((S (x)) * bcf_row_scale_bplfpb_even_central) + (c)))))))))
  92. 0092specialize hpackage_left x
  93. 0093exact hpackage_left
  94. 0094cases hcentral
  95. 0095have hprefix_bound : exists g. g + x1 = x3
  96. 0096specialize IH x
  97. 0097specialize IH x1
  98. 0098specialize IH x3
  99. 0099apply IH
  100. 0100exact hhalf_data_right
  101. 0101exact hsplit_witness_witness_left
  102. 0102exact hhalf_power_witness
  103. 0103have hinterval_bound : exists g. g + x2 = x4
  104. 0104specialize hpackage_right_right_right_left x
  105. 0105specialize hpackage_right_right_right_left x2
  106. 0106specialize hpackage_right_right_right_left x4
  107. 0107apply hpackage_right_right_right_left
  108. 0108exact hsplit_witness_witness_right_left
  109. 0109exact hcentral_witness
  110. 0110have hstrong : exists g. g + 2 * x4 = x3
  111. 0111specialize central_binom_nonzero_strong_upper x
  112. 0112specialize central_binom_nonzero_strong_upper x4
  113. 0113specialize central_binom_nonzero_strong_upper x3
  114. 0114apply central_binom_nonzero_strong_upper
  115. 0115exact hhalf_data_left
  116. 0116exact hcentral_witness
  117. 0117exact hhalf_power_witness
  118. 0118have hcentral_double : exists g. g + x4 = 2 * x4
  119. 0119have hcentral_add : exists g. g + x4 = x4 + x4
  120. 0120specialize le_add_right x4
  121. 0121specialize le_add_right x4
  122. 0122exact le_add_right
  123. 0123specialize two_mul_eq_add_self x4
  124. 0124rewrite two_mul_eq_add_self
  125. 0125exact hcentral_add
  126. 0126have hcentral_bound : exists g. g + x4 = x3
  127. 0127specialize le_trans x4
  128. 0128specialize le_trans (2 * x4)
  129. 0129specialize le_trans x3
  130. 0130apply le_trans
  131. 0131exact hcentral_double
  132. 0132exact hstrong
  133. 0133have hinterval_power_bound : exists g. g + x2 = x3
  134. 0134specialize le_trans x2
  135. 0135specialize le_trans x4
  136. 0136specialize le_trans x3
  137. 0137apply le_trans
  138. 0138exact hinterval_bound
  139. 0139exact hcentral_bound
  140. 0140have hproduct_bound : exists g. g + x1 * x2 = x3 * x3
  141. 0141specialize mul_le_mul x1
  142. 0142specialize mul_le_mul x3
  143. 0143specialize mul_le_mul x2
  144. 0144specialize mul_le_mul x3
  145. 0145apply mul_le_mul
  146. 0146exact hprefix_bound
  147. 0147exact hinterval_power_bound
  148. 0148have hpower_product : q = x3 * x3
  149. 0149specialize pow_add 4
  150. 0150specialize pow_add x
  151. 0151specialize pow_add x
  152. 0152specialize pow_add n
  153. 0153specialize pow_add x3
  154. 0154specialize pow_add x3
  155. 0155specialize pow_add q
  156. 0156apply pow_add
  157. 0157exact hsum
  158. 0158exact hhalf_power_witness
  159. 0159exact hhalf_power_witness
  160. 0160exact hpower
  161. 0161rewrite hsplit_witness_witness_right_right
  162. 0162rewrite hpower_product
  163. 0163exact hproduct_bound
  164. 0164have hxcase : x = 0 \/ exists h. x = S h
  165. 0165specialize zero_or_succ x
  166. 0166exact zero_or_succ
  167. 0167cases hxcase
  168. 0168have hone : n = 1
  169. 0169trans 2 * x + 1
  170. 0170exact hparity_witness_right
  171. 0171rewrite hxcase_left
  172. 0172norm_num
  173. 0173have hone_primorial : exists bpr_code_bplfpb_one_primorial bpr_scale_bplfpb_one_primorial. ((forall bpr_index_bplfpb_one_primorial_mask. (exists bpr_gap_bplfpb_one_primorial_mask_bound. bpr_gap_bplfpb_one_primorial_mask_bound + S (bpr_index_bplfpb_one_primorial_mask) = 1) -> exists bpr_value_bplfpb_one_primorial_mask. ((((exists bpr_height_bplfpb_one_primorial_mask_decoded. bpr_height_bplfpb_one_primorial_mask_decoded + S (bpr_value_bplfpb_one_primorial_mask) = S ((S (bpr_index_bplfpb_one_primorial_mask)) * bpr_scale_bplfpb_one_primorial)) /\ exists bpr_quotient_bplfpb_one_primorial_mask_decoded. bpr_code_bplfpb_one_primorial = bpr_quotient_bplfpb_one_primorial_mask_decoded * S ((S (bpr_index_bplfpb_one_primorial_mask)) * bpr_scale_bplfpb_one_primorial) + (bpr_value_bplfpb_one_primorial_mask))) /\ (((((~(S (bpr_index_bplfpb_one_primorial_mask) = 1) /\ forall bpr_left_bplfpb_one_primorial_mask_choice_prime bpr_right_bplfpb_one_primorial_mask_choice_prime. S (bpr_index_bplfpb_one_primorial_mask) = bpr_left_bplfpb_one_primorial_mask_choice_prime * bpr_right_bplfpb_one_primorial_mask_choice_prime -> bpr_left_bplfpb_one_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_one_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_one_primorial_mask = S (bpr_index_bplfpb_one_primorial_mask)) \/ (~((~(S (bpr_index_bplfpb_one_primorial_mask) = 1) /\ forall bpr_left_bplfpb_one_primorial_mask_choice_prime bpr_right_bplfpb_one_primorial_mask_choice_prime. S (bpr_index_bplfpb_one_primorial_mask) = bpr_left_bplfpb_one_primorial_mask_choice_prime * bpr_right_bplfpb_one_primorial_mask_choice_prime -> bpr_left_bplfpb_one_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_one_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_one_primorial_mask = 1))))) /\ (exists ff_u_bplfpb_one_primorial_product ff_v_bplfpb_one_primorial_product. ((((exists ff_h_bplfpb_one_primorial_product_start. ff_h_bplfpb_one_primorial_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_one_primorial_product)) /\ exists ff_q_bplfpb_one_primorial_product_start. ff_u_bplfpb_one_primorial_product = ff_q_bplfpb_one_primorial_product_start * S ((S (0)) * ff_v_bplfpb_one_primorial_product) + (1))) /\ ((((exists ff_h_bplfpb_one_primorial_product_terminal. ff_h_bplfpb_one_primorial_product_terminal + S (z) = S ((S (1)) * ff_v_bplfpb_one_primorial_product)) /\ exists ff_q_bplfpb_one_primorial_product_terminal. ff_u_bplfpb_one_primorial_product = ff_q_bplfpb_one_primorial_product_terminal * S ((S (1)) * ff_v_bplfpb_one_primorial_product) + (z))) /\ forall ff_i_bplfpb_one_primorial_product. (exists ff_lt_bplfpb_one_primorial_product_bound. ff_lt_bplfpb_one_primorial_product_bound + S ff_i_bplfpb_one_primorial_product = 1) -> exists ff_p_bplfpb_one_primorial_product ff_r_bplfpb_one_primorial_product ff_s_bplfpb_one_primorial_product. ((((exists ff_h_bplfpb_one_primorial_product_factor. ff_h_bplfpb_one_primorial_product_factor + S (ff_p_bplfpb_one_primorial_product) = S ((S (ff_i_bplfpb_one_primorial_product)) * bpr_scale_bplfpb_one_primorial)) /\ exists ff_q_bplfpb_one_primorial_product_factor. bpr_code_bplfpb_one_primorial = ff_q_bplfpb_one_primorial_product_factor * S ((S (ff_i_bplfpb_one_primorial_product)) * bpr_scale_bplfpb_one_primorial) + (ff_p_bplfpb_one_primorial_product))) /\ ((((exists ff_h_bplfpb_one_primorial_product_partial. ff_h_bplfpb_one_primorial_product_partial + S (ff_r_bplfpb_one_primorial_product) = S ((S (ff_i_bplfpb_one_primorial_product)) * ff_v_bplfpb_one_primorial_product)) /\ exists ff_q_bplfpb_one_primorial_product_partial. ff_u_bplfpb_one_primorial_product = ff_q_bplfpb_one_primorial_product_partial * S ((S (ff_i_bplfpb_one_primorial_product)) * ff_v_bplfpb_one_primorial_product) + (ff_r_bplfpb_one_primorial_product))) /\ ((((exists ff_h_bplfpb_one_primorial_product_successor. ff_h_bplfpb_one_primorial_product_successor + S (ff_s_bplfpb_one_primorial_product) = S ((S (S ff_i_bplfpb_one_primorial_product)) * ff_v_bplfpb_one_primorial_product)) /\ exists ff_q_bplfpb_one_primorial_product_successor. ff_u_bplfpb_one_primorial_product = ff_q_bplfpb_one_primorial_product_successor * S ((S (S ff_i_bplfpb_one_primorial_product)) * ff_v_bplfpb_one_primorial_product) + (ff_s_bplfpb_one_primorial_product))) /\ ff_s_bplfpb_one_primorial_product = ff_r_bplfpb_one_primorial_product * ff_p_bplfpb_one_primorial_product)))))))
  174. 0174specialize primorial_index_eq_transport n
  175. 0175specialize primorial_index_eq_transport 1
  176. 0176specialize primorial_index_eq_transport z
  177. 0177apply primorial_index_eq_transport
  178. 0178exact hone
  179. 0179exact hprimorial
  180. 0180have hz : z = 1
  181. 0181apply primorial_one
  182. 0182exact hone_primorial
  183. 0183have hq : q = 4
  184. 0184specialize pow_one 4
  185. 0185specialize pow_one n
  186. 0186specialize pow_one q
  187. 0187apply pow_one
  188. 0188exact hone
  189. 0189exact hpower
  190. 0190rewrite hz
  191. 0191rewrite hq
  192. 0192exists 3
  193. 0193norm_num
  194. 0194have hodd : S N = 2 * x + 1
  195. 0195trans n
  196. 0196symm
  197. 0197exact hboundary_left
  198. 0198exact hparity_witness_right
  199. 0199have hprefix_index_bound : exists bcf_le_gap_bplfpb_prefix_index. bcf_le_gap_bplfpb_prefix_index + (S x) = N
  200. 0200apply odd_positive_prefix_predecessor_bound
  201. 0201exact hodd
  202. 0202exact hxcase_right
  203. 0203have hsum : n = S x + x
  204. 0204trans 2 * x + 1
  205. 0205exact hparity_witness_right
  206. 0206simp [two_mul_eq_add_self, add_succ_left]
  207. 0207have hodd_primorial : exists bpr_code_bplfpb_odd_primorial bpr_scale_bplfpb_odd_primorial. ((forall bpr_index_bplfpb_odd_primorial_mask. (exists bpr_gap_bplfpb_odd_primorial_mask_bound. bpr_gap_bplfpb_odd_primorial_mask_bound + S (bpr_index_bplfpb_odd_primorial_mask) = S x + x) -> exists bpr_value_bplfpb_odd_primorial_mask. ((((exists bpr_height_bplfpb_odd_primorial_mask_decoded. bpr_height_bplfpb_odd_primorial_mask_decoded + S (bpr_value_bplfpb_odd_primorial_mask) = S ((S (bpr_index_bplfpb_odd_primorial_mask)) * bpr_scale_bplfpb_odd_primorial)) /\ exists bpr_quotient_bplfpb_odd_primorial_mask_decoded. bpr_code_bplfpb_odd_primorial = bpr_quotient_bplfpb_odd_primorial_mask_decoded * S ((S (bpr_index_bplfpb_odd_primorial_mask)) * bpr_scale_bplfpb_odd_primorial) + (bpr_value_bplfpb_odd_primorial_mask))) /\ (((((~(S (bpr_index_bplfpb_odd_primorial_mask) = 1) /\ forall bpr_left_bplfpb_odd_primorial_mask_choice_prime bpr_right_bplfpb_odd_primorial_mask_choice_prime. S (bpr_index_bplfpb_odd_primorial_mask) = bpr_left_bplfpb_odd_primorial_mask_choice_prime * bpr_right_bplfpb_odd_primorial_mask_choice_prime -> bpr_left_bplfpb_odd_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_odd_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_odd_primorial_mask = S (bpr_index_bplfpb_odd_primorial_mask)) \/ (~((~(S (bpr_index_bplfpb_odd_primorial_mask) = 1) /\ forall bpr_left_bplfpb_odd_primorial_mask_choice_prime bpr_right_bplfpb_odd_primorial_mask_choice_prime. S (bpr_index_bplfpb_odd_primorial_mask) = bpr_left_bplfpb_odd_primorial_mask_choice_prime * bpr_right_bplfpb_odd_primorial_mask_choice_prime -> bpr_left_bplfpb_odd_primorial_mask_choice_prime = 1 \/ bpr_right_bplfpb_odd_primorial_mask_choice_prime = 1)) /\ bpr_value_bplfpb_odd_primorial_mask = 1))))) /\ (exists ff_u_bplfpb_odd_primorial_product ff_v_bplfpb_odd_primorial_product. ((((exists ff_h_bplfpb_odd_primorial_product_start. ff_h_bplfpb_odd_primorial_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_odd_primorial_product)) /\ exists ff_q_bplfpb_odd_primorial_product_start. ff_u_bplfpb_odd_primorial_product = ff_q_bplfpb_odd_primorial_product_start * S ((S (0)) * ff_v_bplfpb_odd_primorial_product) + (1))) /\ ((((exists ff_h_bplfpb_odd_primorial_product_terminal. ff_h_bplfpb_odd_primorial_product_terminal + S (z) = S ((S (S x + x)) * ff_v_bplfpb_odd_primorial_product)) /\ exists ff_q_bplfpb_odd_primorial_product_terminal. ff_u_bplfpb_odd_primorial_product = ff_q_bplfpb_odd_primorial_product_terminal * S ((S (S x + x)) * ff_v_bplfpb_odd_primorial_product) + (z))) /\ forall ff_i_bplfpb_odd_primorial_product. (exists ff_lt_bplfpb_odd_primorial_product_bound. ff_lt_bplfpb_odd_primorial_product_bound + S ff_i_bplfpb_odd_primorial_product = S x + x) -> exists ff_p_bplfpb_odd_primorial_product ff_r_bplfpb_odd_primorial_product ff_s_bplfpb_odd_primorial_product. ((((exists ff_h_bplfpb_odd_primorial_product_factor. ff_h_bplfpb_odd_primorial_product_factor + S (ff_p_bplfpb_odd_primorial_product) = S ((S (ff_i_bplfpb_odd_primorial_product)) * bpr_scale_bplfpb_odd_primorial)) /\ exists ff_q_bplfpb_odd_primorial_product_factor. bpr_code_bplfpb_odd_primorial = ff_q_bplfpb_odd_primorial_product_factor * S ((S (ff_i_bplfpb_odd_primorial_product)) * bpr_scale_bplfpb_odd_primorial) + (ff_p_bplfpb_odd_primorial_product))) /\ ((((exists ff_h_bplfpb_odd_primorial_product_partial. ff_h_bplfpb_odd_primorial_product_partial + S (ff_r_bplfpb_odd_primorial_product) = S ((S (ff_i_bplfpb_odd_primorial_product)) * ff_v_bplfpb_odd_primorial_product)) /\ exists ff_q_bplfpb_odd_primorial_product_partial. ff_u_bplfpb_odd_primorial_product = ff_q_bplfpb_odd_primorial_product_partial * S ((S (ff_i_bplfpb_odd_primorial_product)) * ff_v_bplfpb_odd_primorial_product) + (ff_r_bplfpb_odd_primorial_product))) /\ ((((exists ff_h_bplfpb_odd_primorial_product_successor. ff_h_bplfpb_odd_primorial_product_successor + S (ff_s_bplfpb_odd_primorial_product) = S ((S (S ff_i_bplfpb_odd_primorial_product)) * ff_v_bplfpb_odd_primorial_product)) /\ exists ff_q_bplfpb_odd_primorial_product_successor. ff_u_bplfpb_odd_primorial_product = ff_q_bplfpb_odd_primorial_product_successor * S ((S (S ff_i_bplfpb_odd_primorial_product)) * ff_v_bplfpb_odd_primorial_product) + (ff_s_bplfpb_odd_primorial_product))) /\ ff_s_bplfpb_odd_primorial_product = ff_r_bplfpb_odd_primorial_product * ff_p_bplfpb_odd_primorial_product)))))))
  208. 0208specialize primorial_index_eq_transport n
  209. 0209specialize primorial_index_eq_transport (S x + x)
  210. 0210specialize primorial_index_eq_transport z
  211. 0211apply primorial_index_eq_transport
  212. 0212exact hsum
  213. 0213exact hprimorial
  214. 0214have hsplit : exists a b. (exists bpr_code_bplfpb_odd_prefix bpr_scale_bplfpb_odd_prefix. ((forall bpr_index_bplfpb_odd_prefix_mask. (exists bpr_gap_bplfpb_odd_prefix_mask_bound. bpr_gap_bplfpb_odd_prefix_mask_bound + S (bpr_index_bplfpb_odd_prefix_mask) = S x) -> exists bpr_value_bplfpb_odd_prefix_mask. ((((exists bpr_height_bplfpb_odd_prefix_mask_decoded. bpr_height_bplfpb_odd_prefix_mask_decoded + S (bpr_value_bplfpb_odd_prefix_mask) = S ((S (bpr_index_bplfpb_odd_prefix_mask)) * bpr_scale_bplfpb_odd_prefix)) /\ exists bpr_quotient_bplfpb_odd_prefix_mask_decoded. bpr_code_bplfpb_odd_prefix = bpr_quotient_bplfpb_odd_prefix_mask_decoded * S ((S (bpr_index_bplfpb_odd_prefix_mask)) * bpr_scale_bplfpb_odd_prefix) + (bpr_value_bplfpb_odd_prefix_mask))) /\ (((((~(S (bpr_index_bplfpb_odd_prefix_mask) = 1) /\ forall bpr_left_bplfpb_odd_prefix_mask_choice_prime bpr_right_bplfpb_odd_prefix_mask_choice_prime. S (bpr_index_bplfpb_odd_prefix_mask) = bpr_left_bplfpb_odd_prefix_mask_choice_prime * bpr_right_bplfpb_odd_prefix_mask_choice_prime -> bpr_left_bplfpb_odd_prefix_mask_choice_prime = 1 \/ bpr_right_bplfpb_odd_prefix_mask_choice_prime = 1)) /\ bpr_value_bplfpb_odd_prefix_mask = S (bpr_index_bplfpb_odd_prefix_mask)) \/ (~((~(S (bpr_index_bplfpb_odd_prefix_mask) = 1) /\ forall bpr_left_bplfpb_odd_prefix_mask_choice_prime bpr_right_bplfpb_odd_prefix_mask_choice_prime. S (bpr_index_bplfpb_odd_prefix_mask) = bpr_left_bplfpb_odd_prefix_mask_choice_prime * bpr_right_bplfpb_odd_prefix_mask_choice_prime -> bpr_left_bplfpb_odd_prefix_mask_choice_prime = 1 \/ bpr_right_bplfpb_odd_prefix_mask_choice_prime = 1)) /\ bpr_value_bplfpb_odd_prefix_mask = 1))))) /\ (exists ff_u_bplfpb_odd_prefix_product ff_v_bplfpb_odd_prefix_product. ((((exists ff_h_bplfpb_odd_prefix_product_start. ff_h_bplfpb_odd_prefix_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_odd_prefix_product)) /\ exists ff_q_bplfpb_odd_prefix_product_start. ff_u_bplfpb_odd_prefix_product = ff_q_bplfpb_odd_prefix_product_start * S ((S (0)) * ff_v_bplfpb_odd_prefix_product) + (1))) /\ ((((exists ff_h_bplfpb_odd_prefix_product_terminal. ff_h_bplfpb_odd_prefix_product_terminal + S (a) = S ((S (S x)) * ff_v_bplfpb_odd_prefix_product)) /\ exists ff_q_bplfpb_odd_prefix_product_terminal. ff_u_bplfpb_odd_prefix_product = ff_q_bplfpb_odd_prefix_product_terminal * S ((S (S x)) * ff_v_bplfpb_odd_prefix_product) + (a))) /\ forall ff_i_bplfpb_odd_prefix_product. (exists ff_lt_bplfpb_odd_prefix_product_bound. ff_lt_bplfpb_odd_prefix_product_bound + S ff_i_bplfpb_odd_prefix_product = S x) -> exists ff_p_bplfpb_odd_prefix_product ff_r_bplfpb_odd_prefix_product ff_s_bplfpb_odd_prefix_product. ((((exists ff_h_bplfpb_odd_prefix_product_factor. ff_h_bplfpb_odd_prefix_product_factor + S (ff_p_bplfpb_odd_prefix_product) = S ((S (ff_i_bplfpb_odd_prefix_product)) * bpr_scale_bplfpb_odd_prefix)) /\ exists ff_q_bplfpb_odd_prefix_product_factor. bpr_code_bplfpb_odd_prefix = ff_q_bplfpb_odd_prefix_product_factor * S ((S (ff_i_bplfpb_odd_prefix_product)) * bpr_scale_bplfpb_odd_prefix) + (ff_p_bplfpb_odd_prefix_product))) /\ ((((exists ff_h_bplfpb_odd_prefix_product_partial. ff_h_bplfpb_odd_prefix_product_partial + S (ff_r_bplfpb_odd_prefix_product) = S ((S (ff_i_bplfpb_odd_prefix_product)) * ff_v_bplfpb_odd_prefix_product)) /\ exists ff_q_bplfpb_odd_prefix_product_partial. ff_u_bplfpb_odd_prefix_product = ff_q_bplfpb_odd_prefix_product_partial * S ((S (ff_i_bplfpb_odd_prefix_product)) * ff_v_bplfpb_odd_prefix_product) + (ff_r_bplfpb_odd_prefix_product))) /\ ((((exists ff_h_bplfpb_odd_prefix_product_successor. ff_h_bplfpb_odd_prefix_product_successor + S (ff_s_bplfpb_odd_prefix_product) = S ((S (S ff_i_bplfpb_odd_prefix_product)) * ff_v_bplfpb_odd_prefix_product)) /\ exists ff_q_bplfpb_odd_prefix_product_successor. ff_u_bplfpb_odd_prefix_product = ff_q_bplfpb_odd_prefix_product_successor * S ((S (S ff_i_bplfpb_odd_prefix_product)) * ff_v_bplfpb_odd_prefix_product) + (ff_s_bplfpb_odd_prefix_product))) /\ ff_s_bplfpb_odd_prefix_product = ff_r_bplfpb_odd_prefix_product * ff_p_bplfpb_odd_prefix_product)))))))) /\ ((exists bpr_code_bplfpb_odd_interval bpr_scale_bplfpb_odd_interval. ((forall bpr_index_bplfpb_odd_interval_mask. (exists bpr_gap_bplfpb_odd_interval_mask_bound. bpr_gap_bplfpb_odd_interval_mask_bound + S (bpr_index_bplfpb_odd_interval_mask) = x) -> exists bpr_value_bplfpb_odd_interval_mask. ((((exists bpr_height_bplfpb_odd_interval_mask_decoded. bpr_height_bplfpb_odd_interval_mask_decoded + S (bpr_value_bplfpb_odd_interval_mask) = S ((S (bpr_index_bplfpb_odd_interval_mask)) * bpr_scale_bplfpb_odd_interval)) /\ exists bpr_quotient_bplfpb_odd_interval_mask_decoded. bpr_code_bplfpb_odd_interval = bpr_quotient_bplfpb_odd_interval_mask_decoded * S ((S (bpr_index_bplfpb_odd_interval_mask)) * bpr_scale_bplfpb_odd_interval) + (bpr_value_bplfpb_odd_interval_mask))) /\ (((((~(S (S x + bpr_index_bplfpb_odd_interval_mask) = 1) /\ forall bpr_left_bplfpb_odd_interval_mask_choice_prime bpr_right_bplfpb_odd_interval_mask_choice_prime. S (S x + bpr_index_bplfpb_odd_interval_mask) = bpr_left_bplfpb_odd_interval_mask_choice_prime * bpr_right_bplfpb_odd_interval_mask_choice_prime -> bpr_left_bplfpb_odd_interval_mask_choice_prime = 1 \/ bpr_right_bplfpb_odd_interval_mask_choice_prime = 1)) /\ bpr_value_bplfpb_odd_interval_mask = S (S x + bpr_index_bplfpb_odd_interval_mask)) \/ (~((~(S (S x + bpr_index_bplfpb_odd_interval_mask) = 1) /\ forall bpr_left_bplfpb_odd_interval_mask_choice_prime bpr_right_bplfpb_odd_interval_mask_choice_prime. S (S x + bpr_index_bplfpb_odd_interval_mask) = bpr_left_bplfpb_odd_interval_mask_choice_prime * bpr_right_bplfpb_odd_interval_mask_choice_prime -> bpr_left_bplfpb_odd_interval_mask_choice_prime = 1 \/ bpr_right_bplfpb_odd_interval_mask_choice_prime = 1)) /\ bpr_value_bplfpb_odd_interval_mask = 1))))) /\ (exists ff_u_bplfpb_odd_interval_product ff_v_bplfpb_odd_interval_product. ((((exists ff_h_bplfpb_odd_interval_product_start. ff_h_bplfpb_odd_interval_product_start + S (1) = S ((S (0)) * ff_v_bplfpb_odd_interval_product)) /\ exists ff_q_bplfpb_odd_interval_product_start. ff_u_bplfpb_odd_interval_product = ff_q_bplfpb_odd_interval_product_start * S ((S (0)) * ff_v_bplfpb_odd_interval_product) + (1))) /\ ((((exists ff_h_bplfpb_odd_interval_product_terminal. ff_h_bplfpb_odd_interval_product_terminal + S (b) = S ((S (x)) * ff_v_bplfpb_odd_interval_product)) /\ exists ff_q_bplfpb_odd_interval_product_terminal. ff_u_bplfpb_odd_interval_product = ff_q_bplfpb_odd_interval_product_terminal * S ((S (x)) * ff_v_bplfpb_odd_interval_product) + (b))) /\ forall ff_i_bplfpb_odd_interval_product. (exists ff_lt_bplfpb_odd_interval_product_bound. ff_lt_bplfpb_odd_interval_product_bound + S ff_i_bplfpb_odd_interval_product = x) -> exists ff_p_bplfpb_odd_interval_product ff_r_bplfpb_odd_interval_product ff_s_bplfpb_odd_interval_product. ((((exists ff_h_bplfpb_odd_interval_product_factor. ff_h_bplfpb_odd_interval_product_factor + S (ff_p_bplfpb_odd_interval_product) = S ((S (ff_i_bplfpb_odd_interval_product)) * bpr_scale_bplfpb_odd_interval)) /\ exists ff_q_bplfpb_odd_interval_product_factor. bpr_code_bplfpb_odd_interval = ff_q_bplfpb_odd_interval_product_factor * S ((S (ff_i_bplfpb_odd_interval_product)) * bpr_scale_bplfpb_odd_interval) + (ff_p_bplfpb_odd_interval_product))) /\ ((((exists ff_h_bplfpb_odd_interval_product_partial. ff_h_bplfpb_odd_interval_product_partial + S (ff_r_bplfpb_odd_interval_product) = S ((S (ff_i_bplfpb_odd_interval_product)) * ff_v_bplfpb_odd_interval_product)) /\ exists ff_q_bplfpb_odd_interval_product_partial. ff_u_bplfpb_odd_interval_product = ff_q_bplfpb_odd_interval_product_partial * S ((S (ff_i_bplfpb_odd_interval_product)) * ff_v_bplfpb_odd_interval_product) + (ff_r_bplfpb_odd_interval_product))) /\ ((((exists ff_h_bplfpb_odd_interval_product_successor. ff_h_bplfpb_odd_interval_product_successor + S (ff_s_bplfpb_odd_interval_product) = S ((S (S ff_i_bplfpb_odd_interval_product)) * ff_v_bplfpb_odd_interval_product)) /\ exists ff_q_bplfpb_odd_interval_product_successor. ff_u_bplfpb_odd_interval_product = ff_q_bplfpb_odd_interval_product_successor * S ((S (S ff_i_bplfpb_odd_interval_product)) * ff_v_bplfpb_odd_interval_product) + (ff_s_bplfpb_odd_interval_product))) /\ ff_s_bplfpb_odd_interval_product = ff_r_bplfpb_odd_interval_product * ff_p_bplfpb_odd_interval_product)))))))) /\ z = a * b)
  215. 0215specialize hpackage_right_right_left (S x)
  216. 0216specialize hpackage_right_right_left x
  217. 0217specialize hpackage_right_right_left z
  218. 0218apply hpackage_right_right_left
  219. 0219exact hodd_primorial
  220. 0220cases hsplit
  221. 0221cases hsplit_witness
  222. 0222cases hsplit_witness_witness
  223. 0223cases hsplit_witness_witness_right
  224. 0224have hprefix_power : exists r. (exists pa_b_bplfpb_odd_prefix_power pa_c_bplfpb_odd_prefix_power. ((forall pa_i_bplfpb_odd_prefix_power_repeat. (exists pa_lt_bplfpb_odd_prefix_power_repeat_bound. pa_lt_bplfpb_odd_prefix_power_repeat_bound + S pa_i_bplfpb_odd_prefix_power_repeat = S x) -> (((exists pa_h_bplfpb_odd_prefix_power_repeat_decoded. pa_h_bplfpb_odd_prefix_power_repeat_decoded + S (4) = S ((S (pa_i_bplfpb_odd_prefix_power_repeat)) * pa_c_bplfpb_odd_prefix_power)) /\ exists pa_q_bplfpb_odd_prefix_power_repeat_decoded. pa_b_bplfpb_odd_prefix_power = pa_q_bplfpb_odd_prefix_power_repeat_decoded * S ((S (pa_i_bplfpb_odd_prefix_power_repeat)) * pa_c_bplfpb_odd_prefix_power) + (4)))) /\ (exists pa_u_bplfpb_odd_prefix_power_product pa_v_bplfpb_odd_prefix_power_product. ((((exists pa_h_bplfpb_odd_prefix_power_product_start. pa_h_bplfpb_odd_prefix_power_product_start + S (1) = S ((S (0)) * pa_v_bplfpb_odd_prefix_power_product)) /\ exists pa_q_bplfpb_odd_prefix_power_product_start. pa_u_bplfpb_odd_prefix_power_product = pa_q_bplfpb_odd_prefix_power_product_start * S ((S (0)) * pa_v_bplfpb_odd_prefix_power_product) + (1))) /\ ((((exists pa_h_bplfpb_odd_prefix_power_product_terminal. pa_h_bplfpb_odd_prefix_power_product_terminal + S (r) = S ((S (S x)) * pa_v_bplfpb_odd_prefix_power_product)) /\ exists pa_q_bplfpb_odd_prefix_power_product_terminal. pa_u_bplfpb_odd_prefix_power_product = pa_q_bplfpb_odd_prefix_power_product_terminal * S ((S (S x)) * pa_v_bplfpb_odd_prefix_power_product) + (r))) /\ forall pa_i_bplfpb_odd_prefix_power_product. (exists pa_lt_bplfpb_odd_prefix_power_product_bound. pa_lt_bplfpb_odd_prefix_power_product_bound + S pa_i_bplfpb_odd_prefix_power_product = S x) -> exists pa_p_bplfpb_odd_prefix_power_product pa_r_bplfpb_odd_prefix_power_product pa_s_bplfpb_odd_prefix_power_product. ((((exists pa_h_bplfpb_odd_prefix_power_product_factor. pa_h_bplfpb_odd_prefix_power_product_factor + S (pa_p_bplfpb_odd_prefix_power_product) = S ((S (pa_i_bplfpb_odd_prefix_power_product)) * pa_c_bplfpb_odd_prefix_power)) /\ exists pa_q_bplfpb_odd_prefix_power_product_factor. pa_b_bplfpb_odd_prefix_power = pa_q_bplfpb_odd_prefix_power_product_factor * S ((S (pa_i_bplfpb_odd_prefix_power_product)) * pa_c_bplfpb_odd_prefix_power) + (pa_p_bplfpb_odd_prefix_power_product))) /\ ((((exists pa_h_bplfpb_odd_prefix_power_product_partial. pa_h_bplfpb_odd_prefix_power_product_partial + S (pa_r_bplfpb_odd_prefix_power_product) = S ((S (pa_i_bplfpb_odd_prefix_power_product)) * pa_v_bplfpb_odd_prefix_power_product)) /\ exists pa_q_bplfpb_odd_prefix_power_product_partial. pa_u_bplfpb_odd_prefix_power_product = pa_q_bplfpb_odd_prefix_power_product_partial * S ((S (pa_i_bplfpb_odd_prefix_power_product)) * pa_v_bplfpb_odd_prefix_power_product) + (pa_r_bplfpb_odd_prefix_power_product))) /\ ((((exists pa_h_bplfpb_odd_prefix_power_product_successor. pa_h_bplfpb_odd_prefix_power_product_successor + S (pa_s_bplfpb_odd_prefix_power_product) = S ((S (S pa_i_bplfpb_odd_prefix_power_product)) * pa_v_bplfpb_odd_prefix_power_product)) /\ exists pa_q_bplfpb_odd_prefix_power_product_successor. pa_u_bplfpb_odd_prefix_power_product = pa_q_bplfpb_odd_prefix_power_product_successor * S ((S (S pa_i_bplfpb_odd_prefix_power_product)) * pa_v_bplfpb_odd_prefix_power_product) + (pa_s_bplfpb_odd_prefix_power_product))) /\ pa_s_bplfpb_odd_prefix_power_product = pa_r_bplfpb_odd_prefix_power_product * pa_p_bplfpb_odd_prefix_power_product))))))))
  225. 0225specialize pow_exists 4
  226. 0226specialize pow_exists (S x)
  227. 0227exact pow_exists
  228. 0228cases hprefix_power
  229. 0229have hhalf_power : exists s. (exists pa_b_bplfpb_odd_half_power pa_c_bplfpb_odd_half_power. ((forall pa_i_bplfpb_odd_half_power_repeat. (exists pa_lt_bplfpb_odd_half_power_repeat_bound. pa_lt_bplfpb_odd_half_power_repeat_bound + S pa_i_bplfpb_odd_half_power_repeat = x) -> (((exists pa_h_bplfpb_odd_half_power_repeat_decoded. pa_h_bplfpb_odd_half_power_repeat_decoded + S (4) = S ((S (pa_i_bplfpb_odd_half_power_repeat)) * pa_c_bplfpb_odd_half_power)) /\ exists pa_q_bplfpb_odd_half_power_repeat_decoded. pa_b_bplfpb_odd_half_power = pa_q_bplfpb_odd_half_power_repeat_decoded * S ((S (pa_i_bplfpb_odd_half_power_repeat)) * pa_c_bplfpb_odd_half_power) + (4)))) /\ (exists pa_u_bplfpb_odd_half_power_product pa_v_bplfpb_odd_half_power_product. ((((exists pa_h_bplfpb_odd_half_power_product_start. pa_h_bplfpb_odd_half_power_product_start + S (1) = S ((S (0)) * pa_v_bplfpb_odd_half_power_product)) /\ exists pa_q_bplfpb_odd_half_power_product_start. pa_u_bplfpb_odd_half_power_product = pa_q_bplfpb_odd_half_power_product_start * S ((S (0)) * pa_v_bplfpb_odd_half_power_product) + (1))) /\ ((((exists pa_h_bplfpb_odd_half_power_product_terminal. pa_h_bplfpb_odd_half_power_product_terminal + S (s) = S ((S (x)) * pa_v_bplfpb_odd_half_power_product)) /\ exists pa_q_bplfpb_odd_half_power_product_terminal. pa_u_bplfpb_odd_half_power_product = pa_q_bplfpb_odd_half_power_product_terminal * S ((S (x)) * pa_v_bplfpb_odd_half_power_product) + (s))) /\ forall pa_i_bplfpb_odd_half_power_product. (exists pa_lt_bplfpb_odd_half_power_product_bound. pa_lt_bplfpb_odd_half_power_product_bound + S pa_i_bplfpb_odd_half_power_product = x) -> exists pa_p_bplfpb_odd_half_power_product pa_r_bplfpb_odd_half_power_product pa_s_bplfpb_odd_half_power_product. ((((exists pa_h_bplfpb_odd_half_power_product_factor. pa_h_bplfpb_odd_half_power_product_factor + S (pa_p_bplfpb_odd_half_power_product) = S ((S (pa_i_bplfpb_odd_half_power_product)) * pa_c_bplfpb_odd_half_power)) /\ exists pa_q_bplfpb_odd_half_power_product_factor. pa_b_bplfpb_odd_half_power = pa_q_bplfpb_odd_half_power_product_factor * S ((S (pa_i_bplfpb_odd_half_power_product)) * pa_c_bplfpb_odd_half_power) + (pa_p_bplfpb_odd_half_power_product))) /\ ((((exists pa_h_bplfpb_odd_half_power_product_partial. pa_h_bplfpb_odd_half_power_product_partial + S (pa_r_bplfpb_odd_half_power_product) = S ((S (pa_i_bplfpb_odd_half_power_product)) * pa_v_bplfpb_odd_half_power_product)) /\ exists pa_q_bplfpb_odd_half_power_product_partial. pa_u_bplfpb_odd_half_power_product = pa_q_bplfpb_odd_half_power_product_partial * S ((S (pa_i_bplfpb_odd_half_power_product)) * pa_v_bplfpb_odd_half_power_product) + (pa_r_bplfpb_odd_half_power_product))) /\ ((((exists pa_h_bplfpb_odd_half_power_product_successor. pa_h_bplfpb_odd_half_power_product_successor + S (pa_s_bplfpb_odd_half_power_product) = S ((S (S pa_i_bplfpb_odd_half_power_product)) * pa_v_bplfpb_odd_half_power_product)) /\ exists pa_q_bplfpb_odd_half_power_product_successor. pa_u_bplfpb_odd_half_power_product = pa_q_bplfpb_odd_half_power_product_successor * S ((S (S pa_i_bplfpb_odd_half_power_product)) * pa_v_bplfpb_odd_half_power_product) + (pa_s_bplfpb_odd_half_power_product))) /\ pa_s_bplfpb_odd_half_power_product = pa_r_bplfpb_odd_half_power_product * pa_p_bplfpb_odd_half_power_product))))))))
  230. 0230specialize pow_exists 4
  231. 0231specialize pow_exists x
  232. 0232exact pow_exists
  233. 0233cases hhalf_power
  234. 0234have hprefix_bound : exists g. g + x1 = x3
  235. 0235specialize IH (S x)
  236. 0236specialize IH x1
  237. 0237specialize IH x3
  238. 0238apply IH
  239. 0239exact hprefix_index_bound
  240. 0240exact hsplit_witness_witness_left
  241. 0241exact hprefix_power_witness
  242. 0242have hmiddle : exists c. (((exists bcf_lt_gap_bplfpb_odd_middle_out_of_range. bcf_lt_gap_bplfpb_odd_middle_out_of_range + S (S (x + x)) = x) /\ c = 0) \/ ((exists bcf_le_gap_bplfpb_odd_middle_in_range. bcf_le_gap_bplfpb_odd_middle_in_range + (x) = S (x + x)) /\ (exists bcf_row_code_code_bplfpb_odd_middle bcf_row_code_scale_bplfpb_odd_middle bcf_row_scale_code_bplfpb_odd_middle bcf_row_scale_scale_bplfpb_odd_middle bcf_row_code_bplfpb_odd_middle bcf_row_scale_bplfpb_odd_middle. ((forall bcf_row_index_bplfpb_odd_middle_table. (exists bcf_lt_gap_bplfpb_odd_middle_table_row_bound. bcf_lt_gap_bplfpb_odd_middle_table_row_bound + S (bcf_row_index_bplfpb_odd_middle_table) = S (S (x + x))) -> exists bcf_row_code_bplfpb_odd_middle_table bcf_row_scale_bplfpb_odd_middle_table. ((((exists bcf_height_bplfpb_odd_middle_table_decoded_row_code. bcf_height_bplfpb_odd_middle_table_decoded_row_code + S (bcf_row_code_bplfpb_odd_middle_table) = S ((S (bcf_row_index_bplfpb_odd_middle_table)) * bcf_row_code_scale_bplfpb_odd_middle)) /\ exists bcf_quotient_bplfpb_odd_middle_table_decoded_row_code. bcf_row_code_code_bplfpb_odd_middle = bcf_quotient_bplfpb_odd_middle_table_decoded_row_code * S ((S (bcf_row_index_bplfpb_odd_middle_table)) * bcf_row_code_scale_bplfpb_odd_middle) + (bcf_row_code_bplfpb_odd_middle_table))) /\ ((((exists bcf_height_bplfpb_odd_middle_table_decoded_row_scale. bcf_height_bplfpb_odd_middle_table_decoded_row_scale + S (bcf_row_scale_bplfpb_odd_middle_table) = S ((S (bcf_row_index_bplfpb_odd_middle_table)) * bcf_row_scale_scale_bplfpb_odd_middle)) /\ exists bcf_quotient_bplfpb_odd_middle_table_decoded_row_scale. bcf_row_scale_code_bplfpb_odd_middle = bcf_quotient_bplfpb_odd_middle_table_decoded_row_scale * S ((S (bcf_row_index_bplfpb_odd_middle_table)) * bcf_row_scale_scale_bplfpb_odd_middle) + (bcf_row_scale_bplfpb_odd_middle_table))) /\ ((bcf_row_index_bplfpb_odd_middle_table = 0 /\ (forall bcf_index_bplfpb_odd_middle_table_zero_row. (exists bcf_lt_gap_bplfpb_odd_middle_table_zero_row_bound. bcf_lt_gap_bplfpb_odd_middle_table_zero_row_bound + S (bcf_index_bplfpb_odd_middle_table_zero_row) = S (S (x + x))) -> exists bcf_value_bplfpb_odd_middle_table_zero_row. ((((exists bcf_height_bplfpb_odd_middle_table_zero_row_entry. bcf_height_bplfpb_odd_middle_table_zero_row_entry + S (bcf_value_bplfpb_odd_middle_table_zero_row) = S ((S (bcf_index_bplfpb_odd_middle_table_zero_row)) * bcf_row_scale_bplfpb_odd_middle_table)) /\ exists bcf_quotient_bplfpb_odd_middle_table_zero_row_entry. bcf_row_code_bplfpb_odd_middle_table = bcf_quotient_bplfpb_odd_middle_table_zero_row_entry * S ((S (bcf_index_bplfpb_odd_middle_table_zero_row)) * bcf_row_scale_bplfpb_odd_middle_table) + (bcf_value_bplfpb_odd_middle_table_zero_row))) /\ ((bcf_index_bplfpb_odd_middle_table_zero_row = 0 /\ bcf_value_bplfpb_odd_middle_table_zero_row = 1) \/ exists bcf_predecessor_bplfpb_odd_middle_table_zero_row. bcf_index_bplfpb_odd_middle_table_zero_row = S bcf_predecessor_bplfpb_odd_middle_table_zero_row /\ bcf_value_bplfpb_odd_middle_table_zero_row = 0)))) \/ exists bcf_predecessor_bplfpb_odd_middle_table bcf_previous_code_bplfpb_odd_middle_table bcf_previous_scale_bplfpb_odd_middle_table. bcf_row_index_bplfpb_odd_middle_table = S bcf_predecessor_bplfpb_odd_middle_table /\ ((((exists bcf_height_bplfpb_odd_middle_table_decoded_previous_code. bcf_height_bplfpb_odd_middle_table_decoded_previous_code + S (bcf_previous_code_bplfpb_odd_middle_table) = S ((S (bcf_predecessor_bplfpb_odd_middle_table)) * bcf_row_code_scale_bplfpb_odd_middle)) /\ exists bcf_quotient_bplfpb_odd_middle_table_decoded_previous_code. bcf_row_code_code_bplfpb_odd_middle = bcf_quotient_bplfpb_odd_middle_table_decoded_previous_code * S ((S (bcf_predecessor_bplfpb_odd_middle_table)) * bcf_row_code_scale_bplfpb_odd_middle) + (bcf_previous_code_bplfpb_odd_middle_table))) /\ ((((exists bcf_height_bplfpb_odd_middle_table_decoded_previous_scale. bcf_height_bplfpb_odd_middle_table_decoded_previous_scale + S (bcf_previous_scale_bplfpb_odd_middle_table) = S ((S (bcf_predecessor_bplfpb_odd_middle_table)) * bcf_row_scale_scale_bplfpb_odd_middle)) /\ exists bcf_quotient_bplfpb_odd_middle_table_decoded_previous_scale. bcf_row_scale_code_bplfpb_odd_middle = bcf_quotient_bplfpb_odd_middle_table_decoded_previous_scale * S ((S (bcf_predecessor_bplfpb_odd_middle_table)) * bcf_row_scale_scale_bplfpb_odd_middle) + (bcf_previous_scale_bplfpb_odd_middle_table))) /\ (forall bcf_index_bplfpb_odd_middle_table_row_step. (exists bcf_lt_gap_bplfpb_odd_middle_table_row_step_bound. bcf_lt_gap_bplfpb_odd_middle_table_row_step_bound + S (bcf_index_bplfpb_odd_middle_table_row_step) = S (S (x + x))) -> exists bcf_value_bplfpb_odd_middle_table_row_step. ((((exists bcf_height_bplfpb_odd_middle_table_row_step_entry. bcf_height_bplfpb_odd_middle_table_row_step_entry + S (bcf_value_bplfpb_odd_middle_table_row_step) = S ((S (bcf_index_bplfpb_odd_middle_table_row_step)) * bcf_row_scale_bplfpb_odd_middle_table)) /\ exists bcf_quotient_bplfpb_odd_middle_table_row_step_entry. bcf_row_code_bplfpb_odd_middle_table = bcf_quotient_bplfpb_odd_middle_table_row_step_entry * S ((S (bcf_index_bplfpb_odd_middle_table_row_step)) * bcf_row_scale_bplfpb_odd_middle_table) + (bcf_value_bplfpb_odd_middle_table_row_step))) /\ ((bcf_index_bplfpb_odd_middle_table_row_step = 0 /\ bcf_value_bplfpb_odd_middle_table_row_step = 1) \/ exists bcf_predecessor_bplfpb_odd_middle_table_row_step bcf_left_bplfpb_odd_middle_table_row_step bcf_right_bplfpb_odd_middle_table_row_step. bcf_index_bplfpb_odd_middle_table_row_step = S bcf_predecessor_bplfpb_odd_middle_table_row_step /\ ((((exists bcf_height_bplfpb_odd_middle_table_row_step_previous_left. bcf_height_bplfpb_odd_middle_table_row_step_previous_left + S (bcf_left_bplfpb_odd_middle_table_row_step) = S ((S (bcf_predecessor_bplfpb_odd_middle_table_row_step)) * bcf_previous_scale_bplfpb_odd_middle_table)) /\ exists bcf_quotient_bplfpb_odd_middle_table_row_step_previous_left. bcf_previous_code_bplfpb_odd_middle_table = bcf_quotient_bplfpb_odd_middle_table_row_step_previous_left * S ((S (bcf_predecessor_bplfpb_odd_middle_table_row_step)) * bcf_previous_scale_bplfpb_odd_middle_table) + (bcf_left_bplfpb_odd_middle_table_row_step))) /\ ((((exists bcf_height_bplfpb_odd_middle_table_row_step_previous_right. bcf_height_bplfpb_odd_middle_table_row_step_previous_right + S (bcf_right_bplfpb_odd_middle_table_row_step) = S ((S (S (bcf_predecessor_bplfpb_odd_middle_table_row_step))) * bcf_previous_scale_bplfpb_odd_middle_table)) /\ exists bcf_quotient_bplfpb_odd_middle_table_row_step_previous_right. bcf_previous_code_bplfpb_odd_middle_table = bcf_quotient_bplfpb_odd_middle_table_row_step_previous_right * S ((S (S (bcf_predecessor_bplfpb_odd_middle_table_row_step))) * bcf_previous_scale_bplfpb_odd_middle_table) + (bcf_right_bplfpb_odd_middle_table_row_step))) /\ bcf_value_bplfpb_odd_middle_table_row_step = bcf_left_bplfpb_odd_middle_table_row_step + bcf_right_bplfpb_odd_middle_table_row_step))))))))))) /\ ((((exists bcf_height_bplfpb_odd_middle_decoded_row_code. bcf_height_bplfpb_odd_middle_decoded_row_code + S (bcf_row_code_bplfpb_odd_middle) = S ((S (S (x + x))) * bcf_row_code_scale_bplfpb_odd_middle)) /\ exists bcf_quotient_bplfpb_odd_middle_decoded_row_code. bcf_row_code_code_bplfpb_odd_middle = bcf_quotient_bplfpb_odd_middle_decoded_row_code * S ((S (S (x + x))) * bcf_row_code_scale_bplfpb_odd_middle) + (bcf_row_code_bplfpb_odd_middle))) /\ ((((exists bcf_height_bplfpb_odd_middle_decoded_row_scale. bcf_height_bplfpb_odd_middle_decoded_row_scale + S (bcf_row_scale_bplfpb_odd_middle) = S ((S (S (x + x))) * bcf_row_scale_scale_bplfpb_odd_middle)) /\ exists bcf_quotient_bplfpb_odd_middle_decoded_row_scale. bcf_row_scale_code_bplfpb_odd_middle = bcf_quotient_bplfpb_odd_middle_decoded_row_scale * S ((S (S (x + x))) * bcf_row_scale_scale_bplfpb_odd_middle) + (bcf_row_scale_bplfpb_odd_middle))) /\ (((exists bcf_height_bplfpb_odd_middle_decoded_value. bcf_height_bplfpb_odd_middle_decoded_value + S (c) = S ((S (x)) * bcf_row_scale_bplfpb_odd_middle)) /\ exists bcf_quotient_bplfpb_odd_middle_decoded_value. bcf_row_code_bplfpb_odd_middle = bcf_quotient_bplfpb_odd_middle_decoded_value * S ((S (x)) * bcf_row_scale_bplfpb_odd_middle) + (c)))))))))
  243. 0243specialize hpackage_right_left (S (x + x))
  244. 0244specialize hpackage_right_left x
  245. 0245exact hpackage_right_left
  246. 0246cases hmiddle
  247. 0247have hinterval_bound : exists g. g + x2 = x5
  248. 0248specialize hpackage_right_right_right_right_left x
  249. 0249specialize hpackage_right_right_right_right_left x2
  250. 0250specialize hpackage_right_right_right_right_left x5
  251. 0251apply hpackage_right_right_right_right_left
  252. 0252exact hsplit_witness_witness_right_left
  253. 0253exact hmiddle_witness
  254. 0254have hmiddle_bound : exists g. g + x5 = x4
  255. 0255specialize hpackage_right_right_right_right_right x
  256. 0256specialize hpackage_right_right_right_right_right x5
  257. 0257specialize hpackage_right_right_right_right_right x4
  258. 0258apply hpackage_right_right_right_right_right
  259. 0259exact hmiddle_witness
  260. 0260exact hhalf_power_witness
  261. 0261have hinterval_power_bound : exists g. g + x2 = x4
  262. 0262specialize le_trans x2
  263. 0263specialize le_trans x5
  264. 0264specialize le_trans x4
  265. 0265apply le_trans
  266. 0266exact hinterval_bound
  267. 0267exact hmiddle_bound
  268. 0268have hproduct_bound : exists g. g + x1 * x2 = x3 * x4
  269. 0269specialize mul_le_mul x1
  270. 0270specialize mul_le_mul x3
  271. 0271specialize mul_le_mul x2
  272. 0272specialize mul_le_mul x4
  273. 0273apply mul_le_mul
  274. 0274exact hprefix_bound
  275. 0275exact hinterval_power_bound
  276. 0276have hpower_product : q = x3 * x4
  277. 0277specialize pow_add 4
  278. 0278specialize pow_add (S x)
  279. 0279specialize pow_add x
  280. 0280specialize pow_add n
  281. 0281specialize pow_add x3
  282. 0282specialize pow_add x4
  283. 0283specialize pow_add q
  284. 0284apply pow_add
  285. 0285exact hsum
  286. 0286exact hprefix_power_witness
  287. 0287exact hhalf_power_witness
  288. 0288exact hpower
  289. 0289rewrite hsplit_witness_witness_right_right
  290. 0290rewrite hpower_product
  291. 0291exact hproduct_bound
  292. 0292have hpredecessor_bound : exists g. g + n = N
  293. 0293specialize le_of_succ_le_succ n
  294. 0294specialize le_of_succ_le_succ N
  295. 0295apply le_of_succ_le_succ
  296. 0296exact hboundary_right
  297. 0297specialize IH n
  298. 0298specialize IH z
  299. 0299specialize IH q
  300. 0300apply IH
  301. 0301exact hpredecessor_bound
  302. 0302exact hprimorial
  303. 0303exact hpower