Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
∀ a. ∀ l. ∀ n. ∀ k. ∀ j. ∀ c. ∀ z. k + j = n → Choose(n,k,c) → (∃ x. ∃ y. (∀ m. Lt(m,l) → ∃ i. BetaAt(x,y,m,i) ∧ (Prime(S (a + m)) ∧ i = S (a + m) ∨ ¬Prime(S (a + m)) ∧ i = 1)) ∧ Product(x,y,l,z)) → (∀ x. Lt(x,l) → Lt(k,S (a + x)) ∧ (Lt(j,S (a + x)) ∧ Lt(a + x,n))) → Dvd(z,c)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
11 occurrences
In local proof propositions
14 occurrences
Exact expanded native-PA statement
forall a l n k j c z. k + j = n -> (((exists bcf_lt_gap_bpidcb_choose_out_of_range. bcf_lt_gap_bpidcb_choose_out_of_range + S (n) = k) /\ c = 0) \/ ((exists bcf_le_gap_bpidcb_choose_in_range. bcf_le_gap_bpidcb_choose_in_range + (k) = n) /\ (exists bcf_row_code_code_bpidcb_choose bcf_row_code_scale_bpidcb_choose bcf_row_scale_code_bpidcb_choose bcf_row_scale_scale_bpidcb_choose bcf_row_code_bpidcb_choose bcf_row_scale_bpidcb_choose. ((forall bcf_row_index_bpidcb_choose_table. (exists bcf_lt_gap_bpidcb_choose_table_row_bound. bcf_lt_gap_bpidcb_choose_table_row_bound + S (bcf_row_index_bpidcb_choose_table) = S (n)) -> exists bcf_row_code_bpidcb_choose_table bcf_row_scale_bpidcb_choose_table. ((((exists bcf_height_bpidcb_choose_table_decoded_row_code. bcf_height_bpidcb_choose_table_decoded_row_code + S (bcf_row_code_bpidcb_choose_table) = S ((S (bcf_row_index_bpidcb_choose_table)) * bcf_row_code_scale_bpidcb_choose)) /\ exists bcf_quotient_bpidcb_choose_table_decoded_row_code. bcf_row_code_code_bpidcb_choose = bcf_quotient_bpidcb_choose_table_decoded_row_code * S ((S (bcf_row_index_bpidcb_choose_table)) * bcf_row_code_scale_bpidcb_choose) + (bcf_row_code_bpidcb_choose_table))) /\ ((((exists bcf_height_bpidcb_choose_table_decoded_row_scale. bcf_height_bpidcb_choose_table_decoded_row_scale + S (bcf_row_scale_bpidcb_choose_table) = S ((S (bcf_row_index_bpidcb_choose_table)) * bcf_row_scale_scale_bpidcb_choose)) /\ exists bcf_quotient_bpidcb_choose_table_decoded_row_scale. bcf_row_scale_code_bpidcb_choose = bcf_quotient_bpidcb_choose_table_decoded_row_scale * S ((S (bcf_row_index_bpidcb_choose_table)) * bcf_row_scale_scale_bpidcb_choose) + (bcf_row_scale_bpidcb_choose_table))) /\ ((bcf_row_index_bpidcb_choose_table = 0 /\ (forall bcf_index_bpidcb_choose_table_zero_row. (exists bcf_lt_gap_bpidcb_choose_table_zero_row_bound. bcf_lt_gap_bpidcb_choose_table_zero_row_bound + S (bcf_index_bpidcb_choose_table_zero_row) = S (n)) -> exists bcf_value_bpidcb_choose_table_zero_row. ((((exists bcf_height_bpidcb_choose_table_zero_row_entry. bcf_height_bpidcb_choose_table_zero_row_entry + S (bcf_value_bpidcb_choose_table_zero_row) = S ((S (bcf_index_bpidcb_choose_table_zero_row)) * bcf_row_scale_bpidcb_choose_table)) /\ exists bcf_quotient_bpidcb_choose_table_zero_row_entry. bcf_row_code_bpidcb_choose_table = bcf_quotient_bpidcb_choose_table_zero_row_entry * S ((S (bcf_index_bpidcb_choose_table_zero_row)) * bcf_row_scale_bpidcb_choose_table) + (bcf_value_bpidcb_choose_table_zero_row))) /\ ((bcf_index_bpidcb_choose_table_zero_row = 0 /\ bcf_value_bpidcb_choose_table_zero_row = 1) \/ exists bcf_predecessor_bpidcb_choose_table_zero_row. bcf_index_bpidcb_choose_table_zero_row = S bcf_predecessor_bpidcb_choose_table_zero_row /\ bcf_value_bpidcb_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_bpidcb_choose_table bcf_previous_code_bpidcb_choose_table bcf_previous_scale_bpidcb_choose_table. bcf_row_index_bpidcb_choose_table = S bcf_predecessor_bpidcb_choose_table /\ ((((exists bcf_height_bpidcb_choose_table_decoded_previous_code. bcf_height_bpidcb_choose_table_decoded_previous_code + S (bcf_previous_code_bpidcb_choose_table) = S ((S (bcf_predecessor_bpidcb_choose_table)) * bcf_row_code_scale_bpidcb_choose)) /\ exists bcf_quotient_bpidcb_choose_table_decoded_previous_code. bcf_row_code_code_bpidcb_choose = bcf_quotient_bpidcb_choose_table_decoded_previous_code * S ((S (bcf_predecessor_bpidcb_choose_table)) * bcf_row_code_scale_bpidcb_choose) + (bcf_previous_code_bpidcb_choose_table))) /\ ((((exists bcf_height_bpidcb_choose_table_decoded_previous_scale. bcf_height_bpidcb_choose_table_decoded_previous_scale + S (bcf_previous_scale_bpidcb_choose_table) = S ((S (bcf_predecessor_bpidcb_choose_table)) * bcf_row_scale_scale_bpidcb_choose)) /\ exists bcf_quotient_bpidcb_choose_table_decoded_previous_scale. bcf_row_scale_code_bpidcb_choose = bcf_quotient_bpidcb_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_bpidcb_choose_table)) * bcf_row_scale_scale_bpidcb_choose) + (bcf_previous_scale_bpidcb_choose_table))) /\ (forall bcf_index_bpidcb_choose_table_row_step. (exists bcf_lt_gap_bpidcb_choose_table_row_step_bound. bcf_lt_gap_bpidcb_choose_table_row_step_bound + S (bcf_index_bpidcb_choose_table_row_step) = S (n)) -> exists bcf_value_bpidcb_choose_table_row_step. ((((exists bcf_height_bpidcb_choose_table_row_step_entry. bcf_height_bpidcb_choose_table_row_step_entry + S (bcf_value_bpidcb_choose_table_row_step) = S ((S (bcf_index_bpidcb_choose_table_row_step)) * bcf_row_scale_bpidcb_choose_table)) /\ exists bcf_quotient_bpidcb_choose_table_row_step_entry. bcf_row_code_bpidcb_choose_table = bcf_quotient_bpidcb_choose_table_row_step_entry * S ((S (bcf_index_bpidcb_choose_table_row_step)) * bcf_row_scale_bpidcb_choose_table) + (bcf_value_bpidcb_choose_table_row_step))) /\ ((bcf_index_bpidcb_choose_table_row_step = 0 /\ bcf_value_bpidcb_choose_table_row_step = 1) \/ exists bcf_predecessor_bpidcb_choose_table_row_step bcf_left_bpidcb_choose_table_row_step bcf_right_bpidcb_choose_table_row_step. bcf_index_bpidcb_choose_table_row_step = S bcf_predecessor_bpidcb_choose_table_row_step /\ ((((exists bcf_height_bpidcb_choose_table_row_step_previous_left. bcf_height_bpidcb_choose_table_row_step_previous_left + S (bcf_left_bpidcb_choose_table_row_step) = S ((S (bcf_predecessor_bpidcb_choose_table_row_step)) * bcf_previous_scale_bpidcb_choose_table)) /\ exists bcf_quotient_bpidcb_choose_table_row_step_previous_left. bcf_previous_code_bpidcb_choose_table = bcf_quotient_bpidcb_choose_table_row_step_previous_left * S ((S (bcf_predecessor_bpidcb_choose_table_row_step)) * bcf_previous_scale_bpidcb_choose_table) + (bcf_left_bpidcb_choose_table_row_step))) /\ ((((exists bcf_height_bpidcb_choose_table_row_step_previous_right. bcf_height_bpidcb_choose_table_row_step_previous_right + S (bcf_right_bpidcb_choose_table_row_step) = S ((S (S (bcf_predecessor_bpidcb_choose_table_row_step))) * bcf_previous_scale_bpidcb_choose_table)) /\ exists bcf_quotient_bpidcb_choose_table_row_step_previous_right. bcf_previous_code_bpidcb_choose_table = bcf_quotient_bpidcb_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_bpidcb_choose_table_row_step))) * bcf_previous_scale_bpidcb_choose_table) + (bcf_right_bpidcb_choose_table_row_step))) /\ bcf_value_bpidcb_choose_table_row_step = bcf_left_bpidcb_choose_table_row_step + bcf_right_bpidcb_choose_table_row_step))))))))))) /\ ((((exists bcf_height_bpidcb_choose_decoded_row_code. bcf_height_bpidcb_choose_decoded_row_code + S (bcf_row_code_bpidcb_choose) = S ((S (n)) * bcf_row_code_scale_bpidcb_choose)) /\ exists bcf_quotient_bpidcb_choose_decoded_row_code. bcf_row_code_code_bpidcb_choose = bcf_quotient_bpidcb_choose_decoded_row_code * S ((S (n)) * bcf_row_code_scale_bpidcb_choose) + (bcf_row_code_bpidcb_choose))) /\ ((((exists bcf_height_bpidcb_choose_decoded_row_scale. bcf_height_bpidcb_choose_decoded_row_scale + S (bcf_row_scale_bpidcb_choose) = S ((S (n)) * bcf_row_scale_scale_bpidcb_choose)) /\ exists bcf_quotient_bpidcb_choose_decoded_row_scale. bcf_row_scale_code_bpidcb_choose = bcf_quotient_bpidcb_choose_decoded_row_scale * S ((S (n)) * bcf_row_scale_scale_bpidcb_choose) + (bcf_row_scale_bpidcb_choose))) /\ (((exists bcf_height_bpidcb_choose_decoded_value. bcf_height_bpidcb_choose_decoded_value + S (c) = S ((S (k)) * bcf_row_scale_bpidcb_choose)) /\ exists bcf_quotient_bpidcb_choose_decoded_value. bcf_row_code_bpidcb_choose = bcf_quotient_bpidcb_choose_decoded_value * S ((S (k)) * bcf_row_scale_bpidcb_choose) + (c))))))))) -> (exists bpr_code_bpidcb_interval bpr_scale_bpidcb_interval. ((forall bpr_index_bpidcb_interval_mask. (exists bpr_gap_bpidcb_interval_mask_bound. bpr_gap_bpidcb_interval_mask_bound + S (bpr_index_bpidcb_interval_mask) = l) -> exists bpr_value_bpidcb_interval_mask. ((((exists bpr_height_bpidcb_interval_mask_decoded. bpr_height_bpidcb_interval_mask_decoded + S (bpr_value_bpidcb_interval_mask) = S ((S (bpr_index_bpidcb_interval_mask)) * bpr_scale_bpidcb_interval)) /\ exists bpr_quotient_bpidcb_interval_mask_decoded. bpr_code_bpidcb_interval = bpr_quotient_bpidcb_interval_mask_decoded * S ((S (bpr_index_bpidcb_interval_mask)) * bpr_scale_bpidcb_interval) + (bpr_value_bpidcb_interval_mask))) /\ (((((~(S (a + bpr_index_bpidcb_interval_mask) = 1) /\ forall bpr_left_bpidcb_interval_mask_choice_prime bpr_right_bpidcb_interval_mask_choice_prime. S (a + bpr_index_bpidcb_interval_mask) = bpr_left_bpidcb_interval_mask_choice_prime * bpr_right_bpidcb_interval_mask_choice_prime -> bpr_left_bpidcb_interval_mask_choice_prime = 1 \/ bpr_right_bpidcb_interval_mask_choice_prime = 1)) /\ bpr_value_bpidcb_interval_mask = S (a + bpr_index_bpidcb_interval_mask)) \/ (~((~(S (a + bpr_index_bpidcb_interval_mask) = 1) /\ forall bpr_left_bpidcb_interval_mask_choice_prime bpr_right_bpidcb_interval_mask_choice_prime. S (a + bpr_index_bpidcb_interval_mask) = bpr_left_bpidcb_interval_mask_choice_prime * bpr_right_bpidcb_interval_mask_choice_prime -> bpr_left_bpidcb_interval_mask_choice_prime = 1 \/ bpr_right_bpidcb_interval_mask_choice_prime = 1)) /\ bpr_value_bpidcb_interval_mask = 1))))) /\ (exists ff_u_bpidcb_interval_product ff_v_bpidcb_interval_product. ((((exists ff_h_bpidcb_interval_product_start. ff_h_bpidcb_interval_product_start + S (1) = S ((S (0)) * ff_v_bpidcb_interval_product)) /\ exists ff_q_bpidcb_interval_product_start. ff_u_bpidcb_interval_product = ff_q_bpidcb_interval_product_start * S ((S (0)) * ff_v_bpidcb_interval_product) + (1))) /\ ((((exists ff_h_bpidcb_interval_product_terminal. ff_h_bpidcb_interval_product_terminal + S (z) = S ((S (l)) * ff_v_bpidcb_interval_product)) /\ exists ff_q_bpidcb_interval_product_terminal. ff_u_bpidcb_interval_product = ff_q_bpidcb_interval_product_terminal * S ((S (l)) * ff_v_bpidcb_interval_product) + (z))) /\ forall ff_i_bpidcb_interval_product. (exists ff_lt_bpidcb_interval_product_bound. ff_lt_bpidcb_interval_product_bound + S ff_i_bpidcb_interval_product = l) -> exists ff_p_bpidcb_interval_product ff_r_bpidcb_interval_product ff_s_bpidcb_interval_product. ((((exists ff_h_bpidcb_interval_product_factor. ff_h_bpidcb_interval_product_factor + S (ff_p_bpidcb_interval_product) = S ((S (ff_i_bpidcb_interval_product)) * bpr_scale_bpidcb_interval)) /\ exists ff_q_bpidcb_interval_product_factor. bpr_code_bpidcb_interval = ff_q_bpidcb_interval_product_factor * S ((S (ff_i_bpidcb_interval_product)) * bpr_scale_bpidcb_interval) + (ff_p_bpidcb_interval_product))) /\ ((((exists ff_h_bpidcb_interval_product_partial. ff_h_bpidcb_interval_product_partial + S (ff_r_bpidcb_interval_product) = S ((S (ff_i_bpidcb_interval_product)) * ff_v_bpidcb_interval_product)) /\ exists ff_q_bpidcb_interval_product_partial. ff_u_bpidcb_interval_product = ff_q_bpidcb_interval_product_partial * S ((S (ff_i_bpidcb_interval_product)) * ff_v_bpidcb_interval_product) + (ff_r_bpidcb_interval_product))) /\ ((((exists ff_h_bpidcb_interval_product_successor. ff_h_bpidcb_interval_product_successor + S (ff_s_bpidcb_interval_product) = S ((S (S ff_i_bpidcb_interval_product)) * ff_v_bpidcb_interval_product)) /\ exists ff_q_bpidcb_interval_product_successor. ff_u_bpidcb_interval_product = ff_q_bpidcb_interval_product_successor * S ((S (S ff_i_bpidcb_interval_product)) * ff_v_bpidcb_interval_product) + (ff_s_bpidcb_interval_product))) /\ ff_s_bpidcb_interval_product = ff_r_bpidcb_interval_product * ff_p_bpidcb_interval_product)))))))) -> (forall bpr_index_bpidcb_bounds. (exists bpr_gap_bpidcb_bounds_index. bpr_gap_bpidcb_bounds_index + S (bpr_index_bpidcb_bounds) = l) -> ((exists bpr_gap_bpidcb_bounds_left. bpr_gap_bpidcb_bounds_left + S (k) = S (a + bpr_index_bpidcb_bounds)) /\ ((exists bpr_gap_bpidcb_bounds_right. bpr_gap_bpidcb_bounds_right + S (j) = S (a + bpr_index_bpidcb_bounds)) /\ (exists bpr_le_gap_bpidcb_bounds_upper. bpr_le_gap_bpidcb_bounds_upper + (S (a + bpr_index_bpidcb_bounds)) = (n))))) -> (exists bpr_quotient_bpidcb_result. c = (z) * bpr_quotient_bpidcb_result)Proof neighborhood
Direct theorem prerequisites
BT0042 beta_at_unique BT0027 one_multiple BT00VC choose_prime_divides_between BT00VE primorial_interval_pairwise_coprime BT00VD beta_pairwise_coprime_product_divides_common_multipleDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (5)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hbounds
03Separate the logical casesL12–14
04Establish hpairwiseL15–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply primorial interval pairwise coprime.
- L15
have hpairwise : ∀ bpr_left_index_bpidcb_pairwise. ∀ bpr_right_index_bpidcb_pairwise. ∀ bpr_left_value_bpidcb_pairwise. ∀ bpr_right_value_bpidcb_pairwise. Lt(bpr_left_index_bpidcb_pairwise,l) → Lt(bpr_right_index_bpidcb_pairwise,l) → BetaAt(x,x1,bpr_left_index_bpidcb_pairwise,bpr_left_value_bpidcb_pairwise) → BetaAt(x,x1,bpr_right_index_bpidcb_pairwise,bpr_right_value_bpidcb_pairwise) → ¬bpr_left_index_bpidcb_pairwise = bpr_right_index_bpidcb_pairwise → Coprime(bpr_left_value_bpidcb_pairwise,bpr_right_value_bpidcb_pairwise)Definitions: Lt(bpr_left_index_bpidcb_pairwise,l)Lt(bpr_right_index_bpidcb_pairwise,l)BetaAt(x,x1,bpr_left_index_bpidcb_pairwise,bpr_left_value_bpidcb_pairwise)BetaAt(x,x1,bpr_right_index_bpidcb_pairwise,bpr_right_value_bpidcb_pairwise)Coprime(bpr_left_value_bpidcb_pairwise,bpr_right_value_bpidcb_pairwise)Original native command in the exact edition - L16
specialize primorial_interval_pairwise_coprime a - L17
specialize primorial_interval_pairwise_coprime x - L18
specialize primorial_interval_pairwise_coprime x1 - L19
specialize primorial_interval_pairwise_coprime l - L20
apply primorial_interval_pairwise_coprime - L21
exact hinterval_witness_witness_left
05Establish hpointwiseL22–26
Establish this local claim before using it. It is not an additional assumption.
- L22
have hpointwise : ∀ bpr_divisor_index_bpidcb_pointwise. ∀ bpr_divisor_value_bpidcb_pointwise. Lt(bpr_divisor_index_bpidcb_pointwise,l) → BetaAt(x,x1,bpr_divisor_index_bpidcb_pointwise,bpr_divisor_value_bpidcb_pointwise) → Dvd(bpr_divisor_value_bpidcb_pointwise,c)Definitions: Lt(bpr_divisor_index_bpidcb_pointwise,l)BetaAt(x,x1,bpr_divisor_index_bpidcb_pointwise,bpr_divisor_value_bpidcb_pointwise)Dvd(bpr_divisor_value_bpidcb_pointwise,c)Original native command in the exact edition - L23
intro i - L24
intro p - L25
intro hi - L26
intro hp
06Establish hentryL27–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hinterval witness witness left.
- L27
have hentry : ∃ x2. BetaAt(x,x1,i,x2) ∧ (Prime(S (a + i)) ∧ x2 = S (a + i) ∨ ¬Prime(S (a + i)) ∧ x2 = 1)Definitions: BetaAt(x,x1,i,x2)Prime(S (a + i))Original native command in the exact edition - L28
apply hinterval_witness_witness_left - L29
exact hi
07Separate the logical casesL30–31
08Establish hxpL32–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
09Separate the logical casesL41–42
10Establish hcandidateL43–47
11Establish hlocal_boundsL48–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbounds.
- L48
have hlocal_bounds : Lt(k,S (a + i)) ∧ (Lt(j,S (a + i)) ∧ Lt(a + i,n))Definitions: Lt(k,S (a + i))Lt(j,S (a + i))Lt(a + i,n)Original native command in the exact edition - L49
specialize hbounds i - L50
apply hbounds - L51
exact hi
12Separate the logical casesL52–53
13Use earlier factsL54–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
14Calculate and transport equalitiesL61–62
15Use earlier factsL63–63
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L63
exact hentry_witness_right_left_left
16Calculate and transport equalitiesL64–64
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L64
rewrite hcandidate
17Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
exact hlocal_bounds_left
18Calculate and transport equalitiesL66–66
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L66
rewrite hcandidate
19Use earlier factsL67–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
exact hlocal_bounds_right_left
20Calculate and transport equalitiesL68–68
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L68
rewrite hcandidate
21Use earlier factsL69–70
22Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
cases hentry_witness_right_right
23Establish hp_oneL72–81
Establish this local claim before using it. It is not an additional assumption.
24Use earlier factsL82–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L82
specialize beta_pairwise_coprime_product_divides_common_multiple l - L83
specialize beta_pairwise_coprime_product_divides_common_multiple z - L84
specialize beta_pairwise_coprime_product_divides_common_multiple c - L85
apply beta_pairwise_coprime_product_divides_common_multiple - L86
exact hpairwise - L87
exact hpointwise - L88
exact hinterval_witness_witness_right
Original defined command ledger · 88 lines
- 0001
intro a - 0002
intro l - 0003
intro n - 0004
intro k - 0005
intro j - 0006
intro c - 0007
intro z - 0008
intro hsum - 0009
intro hchoose - 0010
intro hinterval - 0011
intro hbounds - 0012
cases hinterval - 0013
cases hinterval_witness - 0014
cases hinterval_witness_witness - 0015
have hpairwise : ∀ bpr_left_index_bpidcb_pairwise. ∀ bpr_right_index_bpidcb_pairwise. ∀ bpr_left_value_bpidcb_pairwise. ∀ bpr_right_value_bpidcb_pairwise. Lt(bpr_left_index_bpidcb_pairwise,l) → Lt(bpr_right_index_bpidcb_pairwise,l) → BetaAt(x,x1,bpr_left_index_bpidcb_pairwise,bpr_left_value_bpidcb_pairwise) → BetaAt(x,x1,bpr_right_index_bpidcb_pairwise,bpr_right_value_bpidcb_pairwise) → ¬bpr_left_index_bpidcb_pairwise = bpr_right_index_bpidcb_pairwise → Coprime(bpr_left_value_bpidcb_pairwise,bpr_right_value_bpidcb_pairwise)Exact native replay line
have hpairwise : forall bpr_left_index_bpidcb_pairwise bpr_right_index_bpidcb_pairwise bpr_left_value_bpidcb_pairwise bpr_right_value_bpidcb_pairwise. (exists bpr_gap_bpidcb_pairwise_left_bound. bpr_gap_bpidcb_pairwise_left_bound + S (bpr_left_index_bpidcb_pairwise) = l) -> (exists bpr_gap_bpidcb_pairwise_right_bound. bpr_gap_bpidcb_pairwise_right_bound + S (bpr_right_index_bpidcb_pairwise) = l) -> (((exists bpr_height_bpidcb_pairwise_left_at. bpr_height_bpidcb_pairwise_left_at + S (bpr_left_value_bpidcb_pairwise) = S ((S (bpr_left_index_bpidcb_pairwise)) * x1)) /\ exists bpr_quotient_bpidcb_pairwise_left_at. x = bpr_quotient_bpidcb_pairwise_left_at * S ((S (bpr_left_index_bpidcb_pairwise)) * x1) + (bpr_left_value_bpidcb_pairwise))) -> (((exists bpr_height_bpidcb_pairwise_right_at. bpr_height_bpidcb_pairwise_right_at + S (bpr_right_value_bpidcb_pairwise) = S ((S (bpr_right_index_bpidcb_pairwise)) * x1)) /\ exists bpr_quotient_bpidcb_pairwise_right_at. x = bpr_quotient_bpidcb_pairwise_right_at * S ((S (bpr_right_index_bpidcb_pairwise)) * x1) + (bpr_right_value_bpidcb_pairwise))) -> ~(bpr_left_index_bpidcb_pairwise = bpr_right_index_bpidcb_pairwise) -> (forall bpr_coprime_divisor_bpidcb_pairwise_coprime. (exists bpr_coprime_left_factor_bpidcb_pairwise_coprime. bpr_left_value_bpidcb_pairwise = bpr_coprime_divisor_bpidcb_pairwise_coprime * bpr_coprime_left_factor_bpidcb_pairwise_coprime) -> (exists bpr_coprime_right_factor_bpidcb_pairwise_coprime. bpr_right_value_bpidcb_pairwise = bpr_coprime_divisor_bpidcb_pairwise_coprime * bpr_coprime_right_factor_bpidcb_pairwise_coprime) -> bpr_coprime_divisor_bpidcb_pairwise_coprime = 1) - 0016
specialize primorial_interval_pairwise_coprime a - 0017
specialize primorial_interval_pairwise_coprime x - 0018
specialize primorial_interval_pairwise_coprime x1 - 0019
specialize primorial_interval_pairwise_coprime l - 0020
apply primorial_interval_pairwise_coprime - 0021
exact hinterval_witness_witness_left - 0022
have hpointwise : ∀ bpr_divisor_index_bpidcb_pointwise. ∀ bpr_divisor_value_bpidcb_pointwise. Lt(bpr_divisor_index_bpidcb_pointwise,l) → BetaAt(x,x1,bpr_divisor_index_bpidcb_pointwise,bpr_divisor_value_bpidcb_pointwise) → Dvd(bpr_divisor_value_bpidcb_pointwise,c)Exact native replay line
have hpointwise : forall bpr_divisor_index_bpidcb_pointwise bpr_divisor_value_bpidcb_pointwise. (exists bpr_gap_bpidcb_pointwise_index_bound. bpr_gap_bpidcb_pointwise_index_bound + S (bpr_divisor_index_bpidcb_pointwise) = l) -> (((exists bpr_height_bpidcb_pointwise_decoded. bpr_height_bpidcb_pointwise_decoded + S (bpr_divisor_value_bpidcb_pointwise) = S ((S (bpr_divisor_index_bpidcb_pointwise)) * x1)) /\ exists bpr_quotient_bpidcb_pointwise_decoded. x = bpr_quotient_bpidcb_pointwise_decoded * S ((S (bpr_divisor_index_bpidcb_pointwise)) * x1) + (bpr_divisor_value_bpidcb_pointwise))) -> exists bpr_quotient_bpidcb_pointwise_result. c = bpr_divisor_value_bpidcb_pointwise * bpr_quotient_bpidcb_pointwise_result - 0023
intro i - 0024
intro p - 0025
intro hi - 0026
intro hp - 0027
have hentry : ∃ x2. BetaAt(x,x1,i,x2) ∧ (Prime(S (a + i)) ∧ x2 = S (a + i) ∨ ¬Prime(S (a + i)) ∧ x2 = 1)Exact native replay line
have hentry : exists x2. (((exists bpr_height_bpidcb_local_entry. bpr_height_bpidcb_local_entry + S (x2) = S ((S (i)) * x1)) /\ exists bpr_quotient_bpidcb_local_entry. x = bpr_quotient_bpidcb_local_entry * S ((S (i)) * x1) + (x2))) /\ (((((~(S (a + i) = 1) /\ forall bpr_left_bpidcb_local_choice_prime bpr_right_bpidcb_local_choice_prime. S (a + i) = bpr_left_bpidcb_local_choice_prime * bpr_right_bpidcb_local_choice_prime -> bpr_left_bpidcb_local_choice_prime = 1 \/ bpr_right_bpidcb_local_choice_prime = 1)) /\ x2 = S (a + i)) \/ (~((~(S (a + i) = 1) /\ forall bpr_left_bpidcb_local_choice_prime bpr_right_bpidcb_local_choice_prime. S (a + i) = bpr_left_bpidcb_local_choice_prime * bpr_right_bpidcb_local_choice_prime -> bpr_left_bpidcb_local_choice_prime = 1 \/ bpr_right_bpidcb_local_choice_prime = 1)) /\ x2 = 1))) - 0028
apply hinterval_witness_witness_left - 0029
exact hi - 0030
cases hentry - 0031
cases hentry_witness - 0032
have hxp : x2 = p - 0033
specialize beta_at_unique x - 0034
specialize beta_at_unique x1 - 0035
specialize beta_at_unique i - 0036
specialize beta_at_unique x2 - 0037
specialize beta_at_unique p - 0038
apply beta_at_unique - 0039
exact hentry_witness_left - 0040
exact hp - 0041
cases hentry_witness_right - 0042
cases hentry_witness_right_left - 0043
have hcandidate : p = S (a + i) - 0044
trans x2 - 0045
symm - 0046
exact hxp - 0047
exact hentry_witness_right_left_right - 0048
have hlocal_bounds : Lt(k,S (a + i)) ∧ (Lt(j,S (a + i)) ∧ Lt(a + i,n))Exact native replay line
have hlocal_bounds : (exists bpr_gap_bpidcb_local_left. bpr_gap_bpidcb_local_left + S (k) = S (a + i)) /\ ((exists bpr_gap_bpidcb_local_right. bpr_gap_bpidcb_local_right + S (j) = S (a + i)) /\ (exists bpr_le_gap_bpidcb_local_upper. bpr_le_gap_bpidcb_local_upper + (S (a + i)) = (n))) - 0049
specialize hbounds i - 0050
apply hbounds - 0051
exact hi - 0052
cases hlocal_bounds - 0053
cases hlocal_bounds_right - 0054
specialize choose_prime_divides_between n - 0055
specialize choose_prime_divides_between k - 0056
specialize choose_prime_divides_between j - 0057
specialize choose_prime_divides_between p - 0058
specialize choose_prime_divides_between c - 0059
apply choose_prime_divides_between - 0060
exact hsum - 0061
rewrite hcandidate - 0062
rewrite hcandidate - 0063
exact hentry_witness_right_left_left - 0064
rewrite hcandidate - 0065
exact hlocal_bounds_left - 0066
rewrite hcandidate - 0067
exact hlocal_bounds_right_left - 0068
rewrite hcandidate - 0069
exact hlocal_bounds_right_right - 0070
exact hchoose - 0071
cases hentry_witness_right_right - 0072
have hp_one : p = 1 - 0073
trans x2 - 0074
symm - 0075
exact hxp - 0076
exact hentry_witness_right_right_right - 0077
rewrite hp_one - 0078
specialize one_multiple c - 0079
exact one_multiple - 0080
specialize beta_pairwise_coprime_product_divides_common_multiple x - 0081
specialize beta_pairwise_coprime_product_divides_common_multiple x1 - 0082
specialize beta_pairwise_coprime_product_divides_common_multiple l - 0083
specialize beta_pairwise_coprime_product_divides_common_multiple z - 0084
specialize beta_pairwise_coprime_product_divides_common_multiple c - 0085
apply beta_pairwise_coprime_product_divides_common_multiple - 0086
exact hpairwise - 0087
exact hpointwise - 0088
exact hinterval_witness_witness_right