Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
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 the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (3)
01Fix variables and assumptionsL1–5
02Use earlier factsL6–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L6
specialize primorial_interval_divides_choose_between n - L7
specialize primorial_interval_divides_choose_between n - L8
specialize primorial_interval_divides_choose_between (n + n) - L9
specialize primorial_interval_divides_choose_between n - L10
specialize primorial_interval_divides_choose_between n - L11
specialize primorial_interval_divides_choose_between c - L12
specialize primorial_interval_divides_choose_between z - L13
apply primorial_interval_divides_choose_between
03Calculate and transport equalitiesL14–14
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L14
refl
04Use earlier factsL15–16
05Fix variables and assumptionsL17–18
06Establish hlowerL19–19
Establish this local claim before using it. It is not an additional assumption.
- L19
have hlower : exists g. g + S n = S (n + i)
07Construct an explicit witnessL20–20
Supply the displayed value, then prove that it has the required property.
- L20
exists i
08Calculate and transport equalitiesL21–21
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L21
trans S (i + n)
09Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
apply PA4
10Calculate and transport equalitiesL23–23
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L23
congr
11Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
apply add_comm
12Establish hupperL25–25
Establish this local claim before using it. It is not an additional assumption.
- L25
have hupper : exists g. g + S (n + i) = n + n
13Establish hrawL26–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add left.
14Establish haddL32–35
15Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
split
16Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact hlower
17Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
split
Original exact command ledger · 40 lines
- 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