Exact expanded PA statement
forall n z c. (exists bpr_code_bpeidc_interval bpr_scale_bpeidc_interval. ((forall bpr_index_bpeidc_interval_mask. (exists bpr_gap_bpeidc_interval_mask_bound. bpr_gap_bpeidc_interval_mask_bound + S (bpr_index_bpeidc_interval_mask) = n) -> exists bpr_value_bpeidc_interval_mask. ((((exists bpr_height_bpeidc_interval_mask_decoded. bpr_height_bpeidc_interval_mask_decoded + S (bpr_value_bpeidc_interval_mask) = S ((S (bpr_index_bpeidc_interval_mask)) * bpr_scale_bpeidc_interval)) /\ exists bpr_quotient_bpeidc_interval_mask_decoded. bpr_code_bpeidc_interval = bpr_quotient_bpeidc_interval_mask_decoded * S ((S (bpr_index_bpeidc_interval_mask)) * bpr_scale_bpeidc_interval) + (bpr_value_bpeidc_interval_mask))) /\ (((((~(S (n + bpr_index_bpeidc_interval_mask) = 1) /\ forall bpr_left_bpeidc_interval_mask_choice_prime bpr_right_bpeidc_interval_mask_choice_prime. S (n + bpr_index_bpeidc_interval_mask) = bpr_left_bpeidc_interval_mask_choice_prime * bpr_right_bpeidc_interval_mask_choice_prime -> bpr_left_bpeidc_interval_mask_choice_prime = 1 \/ bpr_right_bpeidc_interval_mask_choice_prime = 1)) /\ bpr_value_bpeidc_interval_mask = S (n + bpr_index_bpeidc_interval_mask)) \/ (~((~(S (n + bpr_index_bpeidc_interval_mask) = 1) /\ forall bpr_left_bpeidc_interval_mask_choice_prime bpr_right_bpeidc_interval_mask_choice_prime. S (n + bpr_index_bpeidc_interval_mask) = bpr_left_bpeidc_interval_mask_choice_prime * bpr_right_bpeidc_interval_mask_choice_prime -> bpr_left_bpeidc_interval_mask_choice_prime = 1 \/ bpr_right_bpeidc_interval_mask_choice_prime = 1)) /\ bpr_value_bpeidc_interval_mask = 1))))) /\ (exists ff_u_bpeidc_interval_product ff_v_bpeidc_interval_product. ((((exists ff_h_bpeidc_interval_product_start. ff_h_bpeidc_interval_product_start + S (1) = S ((S (0)) * ff_v_bpeidc_interval_product)) /\ exists ff_q_bpeidc_interval_product_start. ff_u_bpeidc_interval_product = ff_q_bpeidc_interval_product_start * S ((S (0)) * ff_v_bpeidc_interval_product) + (1))) /\ ((((exists ff_h_bpeidc_interval_product_terminal. ff_h_bpeidc_interval_product_terminal + S (z) = S ((S (n)) * ff_v_bpeidc_interval_product)) /\ exists ff_q_bpeidc_interval_product_terminal. ff_u_bpeidc_interval_product = ff_q_bpeidc_interval_product_terminal * S ((S (n)) * ff_v_bpeidc_interval_product) + (z))) /\ forall ff_i_bpeidc_interval_product. (exists ff_lt_bpeidc_interval_product_bound. ff_lt_bpeidc_interval_product_bound + S ff_i_bpeidc_interval_product = n) -> exists ff_p_bpeidc_interval_product ff_r_bpeidc_interval_product ff_s_bpeidc_interval_product. ((((exists ff_h_bpeidc_interval_product_factor. ff_h_bpeidc_interval_product_factor + S (ff_p_bpeidc_interval_product) = S ((S (ff_i_bpeidc_interval_product)) * bpr_scale_bpeidc_interval)) /\ exists ff_q_bpeidc_interval_product_factor. bpr_code_bpeidc_interval = ff_q_bpeidc_interval_product_factor * S ((S (ff_i_bpeidc_interval_product)) * bpr_scale_bpeidc_interval) + (ff_p_bpeidc_interval_product))) /\ ((((exists ff_h_bpeidc_interval_product_partial. ff_h_bpeidc_interval_product_partial + S (ff_r_bpeidc_interval_product) = S ((S (ff_i_bpeidc_interval_product)) * ff_v_bpeidc_interval_product)) /\ exists ff_q_bpeidc_interval_product_partial. ff_u_bpeidc_interval_product = ff_q_bpeidc_interval_product_partial * S ((S (ff_i_bpeidc_interval_product)) * ff_v_bpeidc_interval_product) + (ff_r_bpeidc_interval_product))) /\ ((((exists ff_h_bpeidc_interval_product_successor. ff_h_bpeidc_interval_product_successor + S (ff_s_bpeidc_interval_product) = S ((S (S ff_i_bpeidc_interval_product)) * ff_v_bpeidc_interval_product)) /\ exists ff_q_bpeidc_interval_product_successor. ff_u_bpeidc_interval_product = ff_q_bpeidc_interval_product_successor * S ((S (S ff_i_bpeidc_interval_product)) * ff_v_bpeidc_interval_product) + (ff_s_bpeidc_interval_product))) /\ ff_s_bpeidc_interval_product = ff_r_bpeidc_interval_product * ff_p_bpeidc_interval_product)))))))) -> (((exists bcf_lt_gap_bpeidc_central_out_of_range. bcf_lt_gap_bpeidc_central_out_of_range + S (n + n) = n) /\ c = 0) \/ ((exists bcf_le_gap_bpeidc_central_in_range. bcf_le_gap_bpeidc_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bpeidc_central bcf_row_code_scale_bpeidc_central bcf_row_scale_code_bpeidc_central bcf_row_scale_scale_bpeidc_central bcf_row_code_bpeidc_central bcf_row_scale_bpeidc_central. ((forall bcf_row_index_bpeidc_central_table. (exists bcf_lt_gap_bpeidc_central_table_row_bound. bcf_lt_gap_bpeidc_central_table_row_bound + S (bcf_row_index_bpeidc_central_table) = S (n + n)) -> exists bcf_row_code_bpeidc_central_table bcf_row_scale_bpeidc_central_table. ((((exists bcf_height_bpeidc_central_table_decoded_row_code. bcf_height_bpeidc_central_table_decoded_row_code + S (bcf_row_code_bpeidc_central_table) = S ((S (bcf_row_index_bpeidc_central_table)) * bcf_row_code_scale_bpeidc_central)) /\ exists bcf_quotient_bpeidc_central_table_decoded_row_code. bcf_row_code_code_bpeidc_central = bcf_quotient_bpeidc_central_table_decoded_row_code * S ((S (bcf_row_index_bpeidc_central_table)) * bcf_row_code_scale_bpeidc_central) + (bcf_row_code_bpeidc_central_table))) /\ ((((exists bcf_height_bpeidc_central_table_decoded_row_scale. bcf_height_bpeidc_central_table_decoded_row_scale + S (bcf_row_scale_bpeidc_central_table) = S ((S (bcf_row_index_bpeidc_central_table)) * bcf_row_scale_scale_bpeidc_central)) /\ exists bcf_quotient_bpeidc_central_table_decoded_row_scale. bcf_row_scale_code_bpeidc_central = bcf_quotient_bpeidc_central_table_decoded_row_scale * S ((S (bcf_row_index_bpeidc_central_table)) * bcf_row_scale_scale_bpeidc_central) + (bcf_row_scale_bpeidc_central_table))) /\ ((bcf_row_index_bpeidc_central_table = 0 /\ (forall bcf_index_bpeidc_central_table_zero_row. (exists bcf_lt_gap_bpeidc_central_table_zero_row_bound. bcf_lt_gap_bpeidc_central_table_zero_row_bound + S (bcf_index_bpeidc_central_table_zero_row) = S (n + n)) -> exists bcf_value_bpeidc_central_table_zero_row. ((((exists bcf_height_bpeidc_central_table_zero_row_entry. bcf_height_bpeidc_central_table_zero_row_entry + S (bcf_value_bpeidc_central_table_zero_row) = S ((S (bcf_index_bpeidc_central_table_zero_row)) * bcf_row_scale_bpeidc_central_table)) /\ exists bcf_quotient_bpeidc_central_table_zero_row_entry. bcf_row_code_bpeidc_central_table = bcf_quotient_bpeidc_central_table_zero_row_entry * S ((S (bcf_index_bpeidc_central_table_zero_row)) * bcf_row_scale_bpeidc_central_table) + (bcf_value_bpeidc_central_table_zero_row))) /\ ((bcf_index_bpeidc_central_table_zero_row = 0 /\ bcf_value_bpeidc_central_table_zero_row = 1) \/ exists bcf_predecessor_bpeidc_central_table_zero_row. bcf_index_bpeidc_central_table_zero_row = S bcf_predecessor_bpeidc_central_table_zero_row /\ bcf_value_bpeidc_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bpeidc_central_table bcf_previous_code_bpeidc_central_table bcf_previous_scale_bpeidc_central_table. bcf_row_index_bpeidc_central_table = S bcf_predecessor_bpeidc_central_table /\ ((((exists bcf_height_bpeidc_central_table_decoded_previous_code. bcf_height_bpeidc_central_table_decoded_previous_code + S (bcf_previous_code_bpeidc_central_table) = S ((S (bcf_predecessor_bpeidc_central_table)) * bcf_row_code_scale_bpeidc_central)) /\ exists bcf_quotient_bpeidc_central_table_decoded_previous_code. bcf_row_code_code_bpeidc_central = bcf_quotient_bpeidc_central_table_decoded_previous_code * S ((S (bcf_predecessor_bpeidc_central_table)) * bcf_row_code_scale_bpeidc_central) + (bcf_previous_code_bpeidc_central_table))) /\ ((((exists bcf_height_bpeidc_central_table_decoded_previous_scale. bcf_height_bpeidc_central_table_decoded_previous_scale + S (bcf_previous_scale_bpeidc_central_table) = S ((S (bcf_predecessor_bpeidc_central_table)) * bcf_row_scale_scale_bpeidc_central)) /\ exists bcf_quotient_bpeidc_central_table_decoded_previous_scale. bcf_row_scale_code_bpeidc_central = bcf_quotient_bpeidc_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bpeidc_central_table)) * bcf_row_scale_scale_bpeidc_central) + (bcf_previous_scale_bpeidc_central_table))) /\ (forall bcf_index_bpeidc_central_table_row_step. (exists bcf_lt_gap_bpeidc_central_table_row_step_bound. bcf_lt_gap_bpeidc_central_table_row_step_bound + S (bcf_index_bpeidc_central_table_row_step) = S (n + n)) -> exists bcf_value_bpeidc_central_table_row_step. ((((exists bcf_height_bpeidc_central_table_row_step_entry. bcf_height_bpeidc_central_table_row_step_entry + S (bcf_value_bpeidc_central_table_row_step) = S ((S (bcf_index_bpeidc_central_table_row_step)) * bcf_row_scale_bpeidc_central_table)) /\ exists bcf_quotient_bpeidc_central_table_row_step_entry. bcf_row_code_bpeidc_central_table = bcf_quotient_bpeidc_central_table_row_step_entry * S ((S (bcf_index_bpeidc_central_table_row_step)) * bcf_row_scale_bpeidc_central_table) + (bcf_value_bpeidc_central_table_row_step))) /\ ((bcf_index_bpeidc_central_table_row_step = 0 /\ bcf_value_bpeidc_central_table_row_step = 1) \/ exists bcf_predecessor_bpeidc_central_table_row_step bcf_left_bpeidc_central_table_row_step bcf_right_bpeidc_central_table_row_step. bcf_index_bpeidc_central_table_row_step = S bcf_predecessor_bpeidc_central_table_row_step /\ ((((exists bcf_height_bpeidc_central_table_row_step_previous_left. bcf_height_bpeidc_central_table_row_step_previous_left + S (bcf_left_bpeidc_central_table_row_step) = S ((S (bcf_predecessor_bpeidc_central_table_row_step)) * bcf_previous_scale_bpeidc_central_table)) /\ exists bcf_quotient_bpeidc_central_table_row_step_previous_left. bcf_previous_code_bpeidc_central_table = bcf_quotient_bpeidc_central_table_row_step_previous_left * S ((S (bcf_predecessor_bpeidc_central_table_row_step)) * bcf_previous_scale_bpeidc_central_table) + (bcf_left_bpeidc_central_table_row_step))) /\ ((((exists bcf_height_bpeidc_central_table_row_step_previous_right. bcf_height_bpeidc_central_table_row_step_previous_right + S (bcf_right_bpeidc_central_table_row_step) = S ((S (S (bcf_predecessor_bpeidc_central_table_row_step))) * bcf_previous_scale_bpeidc_central_table)) /\ exists bcf_quotient_bpeidc_central_table_row_step_previous_right. bcf_previous_code_bpeidc_central_table = bcf_quotient_bpeidc_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bpeidc_central_table_row_step))) * bcf_previous_scale_bpeidc_central_table) + (bcf_right_bpeidc_central_table_row_step))) /\ bcf_value_bpeidc_central_table_row_step = bcf_left_bpeidc_central_table_row_step + bcf_right_bpeidc_central_table_row_step))))))))))) /\ ((((exists bcf_height_bpeidc_central_decoded_row_code. bcf_height_bpeidc_central_decoded_row_code + S (bcf_row_code_bpeidc_central) = S ((S (n + n)) * bcf_row_code_scale_bpeidc_central)) /\ exists bcf_quotient_bpeidc_central_decoded_row_code. bcf_row_code_code_bpeidc_central = bcf_quotient_bpeidc_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bpeidc_central) + (bcf_row_code_bpeidc_central))) /\ ((((exists bcf_height_bpeidc_central_decoded_row_scale. bcf_height_bpeidc_central_decoded_row_scale + S (bcf_row_scale_bpeidc_central) = S ((S (n + n)) * bcf_row_scale_scale_bpeidc_central)) /\ exists bcf_quotient_bpeidc_central_decoded_row_scale. bcf_row_scale_code_bpeidc_central = bcf_quotient_bpeidc_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bpeidc_central) + (bcf_row_scale_bpeidc_central))) /\ (((exists bcf_height_bpeidc_central_decoded_value. bcf_height_bpeidc_central_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bpeidc_central)) /\ exists bcf_quotient_bpeidc_central_decoded_value. bcf_row_code_bpeidc_central = bcf_quotient_bpeidc_central_decoded_value * S ((S (n)) * bcf_row_scale_bpeidc_central) + (c))))))))) -> (exists bpr_quotient_bpeidc_result. c = (z) * bpr_quotient_bpeidc_result)Structural proof guide
The selector interval (n,2n] divides the central coefficient.
Direct prerequisites: add_comm, add_le_add_left, primorial_interval_divides_choose_between. The authored body proceeds by intermediate claims (4), equality transport (1).
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.
- 0001
intro n - 0002
intro z - 0003
intro c - 0004
intro hinterval - 0005
intro hcentral - 0006
specialize primorial_interval_divides_choose_between n - 0007
specialize primorial_interval_divides_choose_between n - 0008
specialize primorial_interval_divides_choose_between (n + n) - 0009
specialize primorial_interval_divides_choose_between n - 0010
specialize primorial_interval_divides_choose_between n - 0011
specialize primorial_interval_divides_choose_between c - 0012
specialize primorial_interval_divides_choose_between z - 0013
apply primorial_interval_divides_choose_between - 0014
refl - 0015
exact hcentral - 0016
exact hinterval - 0017
intro i - 0018
intro hi - 0019
have hlower : exists g. g + S n = S (n + i) - 0020
exists i - 0021
trans S (i + n) - 0022
apply PA4 - 0023
congr - 0024
apply add_comm - 0025
have hupper : exists g. g + S (n + i) = n + n - 0026
have hraw : exists g. g + (n + S i) = n + n - 0027
specialize add_le_add_left (S i) - 0028
specialize add_le_add_left n - 0029
specialize add_le_add_left n - 0030
apply add_le_add_left - 0031
exact hi - 0032
have hadd : n + S i = S (n + i) - 0033
apply PA4 - 0034
rewrite hadd at hraw - 0035
exact hraw - 0036
split - 0037
exact hlower - 0038
split - 0039
exact hlower - 0040
exact hupper