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
∀ p. ∀ n. ∀ k. ∀ q. ∀ r. ∀ d. ∀ e. ∀ C. ∀ A. ∀ B. Prime(p) → n = p · q + d → k = p · r + e → Lt(d,p) → Lt(e,p) → Choose(n,k,C) → Choose(q,r,A) → Choose(d,e,B) → ModEq(p,C,A · B)Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall p n k q r d e C A B. ((~(p = 1) /\ forall frm_prime_left_lucas_block_digit_prime frm_prime_right_lucas_block_digit_prime. p = frm_prime_left_lucas_block_digit_prime * frm_prime_right_lucas_block_digit_prime -> frm_prime_left_lucas_block_digit_prime = 1 \/ frm_prime_right_lucas_block_digit_prime = 1)) -> n = p * q + d -> k = p * r + e -> (exists lbd_gap_division_upper_bound. lbd_gap_division_upper_bound + S (d) = (p)) -> (exists lbd_gap_division_lower_bound. lbd_gap_division_lower_bound + S (e) = (p)) -> (((exists bcf_lt_gap_lucas_block_digit_division_whole_out_of_range. bcf_lt_gap_lucas_block_digit_division_whole_out_of_range + S (n) = k) /\ C = 0) \/ ((exists bcf_le_gap_lucas_block_digit_division_whole_in_range. bcf_le_gap_lucas_block_digit_division_whole_in_range + (k) = n) /\ (exists bcf_row_code_code_lucas_block_digit_division_whole bcf_row_code_scale_lucas_block_digit_division_whole bcf_row_scale_code_lucas_block_digit_division_whole bcf_row_scale_scale_lucas_block_digit_division_whole bcf_row_code_lucas_block_digit_division_whole bcf_row_scale_lucas_block_digit_division_whole. ((forall bcf_row_index_lucas_block_digit_division_whole_table. (exists bcf_lt_gap_lucas_block_digit_division_whole_table_row_bound. bcf_lt_gap_lucas_block_digit_division_whole_table_row_bound + S (bcf_row_index_lucas_block_digit_division_whole_table) = S (n)) -> exists bcf_row_code_lucas_block_digit_division_whole_table bcf_row_scale_lucas_block_digit_division_whole_table. ((((exists bcf_height_lucas_block_digit_division_whole_table_decoded_row_code. bcf_height_lucas_block_digit_division_whole_table_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_whole_table) = S ((S (bcf_row_index_lucas_block_digit_division_whole_table)) * bcf_row_code_scale_lucas_block_digit_division_whole)) /\ exists bcf_quotient_lucas_block_digit_division_whole_table_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_whole = bcf_quotient_lucas_block_digit_division_whole_table_decoded_row_code * S ((S (bcf_row_index_lucas_block_digit_division_whole_table)) * bcf_row_code_scale_lucas_block_digit_division_whole) + (bcf_row_code_lucas_block_digit_division_whole_table))) /\ ((((exists bcf_height_lucas_block_digit_division_whole_table_decoded_row_scale. bcf_height_lucas_block_digit_division_whole_table_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_whole_table) = S ((S (bcf_row_index_lucas_block_digit_division_whole_table)) * bcf_row_scale_scale_lucas_block_digit_division_whole)) /\ exists bcf_quotient_lucas_block_digit_division_whole_table_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_whole = bcf_quotient_lucas_block_digit_division_whole_table_decoded_row_scale * S ((S (bcf_row_index_lucas_block_digit_division_whole_table)) * bcf_row_scale_scale_lucas_block_digit_division_whole) + (bcf_row_scale_lucas_block_digit_division_whole_table))) /\ ((bcf_row_index_lucas_block_digit_division_whole_table = 0 /\ (forall bcf_index_lucas_block_digit_division_whole_table_zero_row. (exists bcf_lt_gap_lucas_block_digit_division_whole_table_zero_row_bound. bcf_lt_gap_lucas_block_digit_division_whole_table_zero_row_bound + S (bcf_index_lucas_block_digit_division_whole_table_zero_row) = S (n)) -> exists bcf_value_lucas_block_digit_division_whole_table_zero_row. ((((exists bcf_height_lucas_block_digit_division_whole_table_zero_row_entry. bcf_height_lucas_block_digit_division_whole_table_zero_row_entry + S (bcf_value_lucas_block_digit_division_whole_table_zero_row) = S ((S (bcf_index_lucas_block_digit_division_whole_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_whole_table)) /\ exists bcf_quotient_lucas_block_digit_division_whole_table_zero_row_entry. bcf_row_code_lucas_block_digit_division_whole_table = bcf_quotient_lucas_block_digit_division_whole_table_zero_row_entry * S ((S (bcf_index_lucas_block_digit_division_whole_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_whole_table) + (bcf_value_lucas_block_digit_division_whole_table_zero_row))) /\ ((bcf_index_lucas_block_digit_division_whole_table_zero_row = 0 /\ bcf_value_lucas_block_digit_division_whole_table_zero_row = 1) \/ exists bcf_predecessor_lucas_block_digit_division_whole_table_zero_row. bcf_index_lucas_block_digit_division_whole_table_zero_row = S bcf_predecessor_lucas_block_digit_division_whole_table_zero_row /\ bcf_value_lucas_block_digit_division_whole_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_block_digit_division_whole_table bcf_previous_code_lucas_block_digit_division_whole_table bcf_previous_scale_lucas_block_digit_division_whole_table. bcf_row_index_lucas_block_digit_division_whole_table = S bcf_predecessor_lucas_block_digit_division_whole_table /\ ((((exists bcf_height_lucas_block_digit_division_whole_table_decoded_previous_code. bcf_height_lucas_block_digit_division_whole_table_decoded_previous_code + S (bcf_previous_code_lucas_block_digit_division_whole_table) = S ((S (bcf_predecessor_lucas_block_digit_division_whole_table)) * bcf_row_code_scale_lucas_block_digit_division_whole)) /\ exists bcf_quotient_lucas_block_digit_division_whole_table_decoded_previous_code. bcf_row_code_code_lucas_block_digit_division_whole = bcf_quotient_lucas_block_digit_division_whole_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_block_digit_division_whole_table)) * bcf_row_code_scale_lucas_block_digit_division_whole) + (bcf_previous_code_lucas_block_digit_division_whole_table))) /\ ((((exists bcf_height_lucas_block_digit_division_whole_table_decoded_previous_scale. bcf_height_lucas_block_digit_division_whole_table_decoded_previous_scale + S (bcf_previous_scale_lucas_block_digit_division_whole_table) = S ((S (bcf_predecessor_lucas_block_digit_division_whole_table)) * bcf_row_scale_scale_lucas_block_digit_division_whole)) /\ exists bcf_quotient_lucas_block_digit_division_whole_table_decoded_previous_scale. bcf_row_scale_code_lucas_block_digit_division_whole = bcf_quotient_lucas_block_digit_division_whole_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_block_digit_division_whole_table)) * bcf_row_scale_scale_lucas_block_digit_division_whole) + (bcf_previous_scale_lucas_block_digit_division_whole_table))) /\ (forall bcf_index_lucas_block_digit_division_whole_table_row_step. (exists bcf_lt_gap_lucas_block_digit_division_whole_table_row_step_bound. bcf_lt_gap_lucas_block_digit_division_whole_table_row_step_bound + S (bcf_index_lucas_block_digit_division_whole_table_row_step) = S (n)) -> exists bcf_value_lucas_block_digit_division_whole_table_row_step. ((((exists bcf_height_lucas_block_digit_division_whole_table_row_step_entry. bcf_height_lucas_block_digit_division_whole_table_row_step_entry + S (bcf_value_lucas_block_digit_division_whole_table_row_step) = S ((S (bcf_index_lucas_block_digit_division_whole_table_row_step)) * bcf_row_scale_lucas_block_digit_division_whole_table)) /\ exists bcf_quotient_lucas_block_digit_division_whole_table_row_step_entry. bcf_row_code_lucas_block_digit_division_whole_table = bcf_quotient_lucas_block_digit_division_whole_table_row_step_entry * S ((S (bcf_index_lucas_block_digit_division_whole_table_row_step)) * bcf_row_scale_lucas_block_digit_division_whole_table) + (bcf_value_lucas_block_digit_division_whole_table_row_step))) /\ ((bcf_index_lucas_block_digit_division_whole_table_row_step = 0 /\ bcf_value_lucas_block_digit_division_whole_table_row_step = 1) \/ exists bcf_predecessor_lucas_block_digit_division_whole_table_row_step bcf_left_lucas_block_digit_division_whole_table_row_step bcf_right_lucas_block_digit_division_whole_table_row_step. bcf_index_lucas_block_digit_division_whole_table_row_step = S bcf_predecessor_lucas_block_digit_division_whole_table_row_step /\ ((((exists bcf_height_lucas_block_digit_division_whole_table_row_step_previous_left. bcf_height_lucas_block_digit_division_whole_table_row_step_previous_left + S (bcf_left_lucas_block_digit_division_whole_table_row_step) = S ((S (bcf_predecessor_lucas_block_digit_division_whole_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_whole_table)) /\ exists bcf_quotient_lucas_block_digit_division_whole_table_row_step_previous_left. bcf_previous_code_lucas_block_digit_division_whole_table = bcf_quotient_lucas_block_digit_division_whole_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_block_digit_division_whole_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_whole_table) + (bcf_left_lucas_block_digit_division_whole_table_row_step))) /\ ((((exists bcf_height_lucas_block_digit_division_whole_table_row_step_previous_right. bcf_height_lucas_block_digit_division_whole_table_row_step_previous_right + S (bcf_right_lucas_block_digit_division_whole_table_row_step) = S ((S (S (bcf_predecessor_lucas_block_digit_division_whole_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_whole_table)) /\ exists bcf_quotient_lucas_block_digit_division_whole_table_row_step_previous_right. bcf_previous_code_lucas_block_digit_division_whole_table = bcf_quotient_lucas_block_digit_division_whole_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_block_digit_division_whole_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_whole_table) + (bcf_right_lucas_block_digit_division_whole_table_row_step))) /\ bcf_value_lucas_block_digit_division_whole_table_row_step = bcf_left_lucas_block_digit_division_whole_table_row_step + bcf_right_lucas_block_digit_division_whole_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_block_digit_division_whole_decoded_row_code. bcf_height_lucas_block_digit_division_whole_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_whole) = S ((S (n)) * bcf_row_code_scale_lucas_block_digit_division_whole)) /\ exists bcf_quotient_lucas_block_digit_division_whole_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_whole = bcf_quotient_lucas_block_digit_division_whole_decoded_row_code * S ((S (n)) * bcf_row_code_scale_lucas_block_digit_division_whole) + (bcf_row_code_lucas_block_digit_division_whole))) /\ ((((exists bcf_height_lucas_block_digit_division_whole_decoded_row_scale. bcf_height_lucas_block_digit_division_whole_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_whole) = S ((S (n)) * bcf_row_scale_scale_lucas_block_digit_division_whole)) /\ exists bcf_quotient_lucas_block_digit_division_whole_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_whole = bcf_quotient_lucas_block_digit_division_whole_decoded_row_scale * S ((S (n)) * bcf_row_scale_scale_lucas_block_digit_division_whole) + (bcf_row_scale_lucas_block_digit_division_whole))) /\ (((exists bcf_height_lucas_block_digit_division_whole_decoded_value. bcf_height_lucas_block_digit_division_whole_decoded_value + S (C) = S ((S (k)) * bcf_row_scale_lucas_block_digit_division_whole)) /\ exists bcf_quotient_lucas_block_digit_division_whole_decoded_value. bcf_row_code_lucas_block_digit_division_whole = bcf_quotient_lucas_block_digit_division_whole_decoded_value * S ((S (k)) * bcf_row_scale_lucas_block_digit_division_whole) + (C))))))))) -> (((exists bcf_lt_gap_lucas_block_digit_division_quotient_out_of_range. bcf_lt_gap_lucas_block_digit_division_quotient_out_of_range + S (q) = r) /\ A = 0) \/ ((exists bcf_le_gap_lucas_block_digit_division_quotient_in_range. bcf_le_gap_lucas_block_digit_division_quotient_in_range + (r) = q) /\ (exists bcf_row_code_code_lucas_block_digit_division_quotient bcf_row_code_scale_lucas_block_digit_division_quotient bcf_row_scale_code_lucas_block_digit_division_quotient bcf_row_scale_scale_lucas_block_digit_division_quotient bcf_row_code_lucas_block_digit_division_quotient bcf_row_scale_lucas_block_digit_division_quotient. ((forall bcf_row_index_lucas_block_digit_division_quotient_table. (exists bcf_lt_gap_lucas_block_digit_division_quotient_table_row_bound. bcf_lt_gap_lucas_block_digit_division_quotient_table_row_bound + S (bcf_row_index_lucas_block_digit_division_quotient_table) = S (q)) -> exists bcf_row_code_lucas_block_digit_division_quotient_table bcf_row_scale_lucas_block_digit_division_quotient_table. ((((exists bcf_height_lucas_block_digit_division_quotient_table_decoded_row_code. bcf_height_lucas_block_digit_division_quotient_table_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_quotient_table) = S ((S (bcf_row_index_lucas_block_digit_division_quotient_table)) * bcf_row_code_scale_lucas_block_digit_division_quotient)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_table_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_quotient = bcf_quotient_lucas_block_digit_division_quotient_table_decoded_row_code * S ((S (bcf_row_index_lucas_block_digit_division_quotient_table)) * bcf_row_code_scale_lucas_block_digit_division_quotient) + (bcf_row_code_lucas_block_digit_division_quotient_table))) /\ ((((exists bcf_height_lucas_block_digit_division_quotient_table_decoded_row_scale. bcf_height_lucas_block_digit_division_quotient_table_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_quotient_table) = S ((S (bcf_row_index_lucas_block_digit_division_quotient_table)) * bcf_row_scale_scale_lucas_block_digit_division_quotient)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_table_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_quotient = bcf_quotient_lucas_block_digit_division_quotient_table_decoded_row_scale * S ((S (bcf_row_index_lucas_block_digit_division_quotient_table)) * bcf_row_scale_scale_lucas_block_digit_division_quotient) + (bcf_row_scale_lucas_block_digit_division_quotient_table))) /\ ((bcf_row_index_lucas_block_digit_division_quotient_table = 0 /\ (forall bcf_index_lucas_block_digit_division_quotient_table_zero_row. (exists bcf_lt_gap_lucas_block_digit_division_quotient_table_zero_row_bound. bcf_lt_gap_lucas_block_digit_division_quotient_table_zero_row_bound + S (bcf_index_lucas_block_digit_division_quotient_table_zero_row) = S (q)) -> exists bcf_value_lucas_block_digit_division_quotient_table_zero_row. ((((exists bcf_height_lucas_block_digit_division_quotient_table_zero_row_entry. bcf_height_lucas_block_digit_division_quotient_table_zero_row_entry + S (bcf_value_lucas_block_digit_division_quotient_table_zero_row) = S ((S (bcf_index_lucas_block_digit_division_quotient_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_quotient_table)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_table_zero_row_entry. bcf_row_code_lucas_block_digit_division_quotient_table = bcf_quotient_lucas_block_digit_division_quotient_table_zero_row_entry * S ((S (bcf_index_lucas_block_digit_division_quotient_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_quotient_table) + (bcf_value_lucas_block_digit_division_quotient_table_zero_row))) /\ ((bcf_index_lucas_block_digit_division_quotient_table_zero_row = 0 /\ bcf_value_lucas_block_digit_division_quotient_table_zero_row = 1) \/ exists bcf_predecessor_lucas_block_digit_division_quotient_table_zero_row. bcf_index_lucas_block_digit_division_quotient_table_zero_row = S bcf_predecessor_lucas_block_digit_division_quotient_table_zero_row /\ bcf_value_lucas_block_digit_division_quotient_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_block_digit_division_quotient_table bcf_previous_code_lucas_block_digit_division_quotient_table bcf_previous_scale_lucas_block_digit_division_quotient_table. bcf_row_index_lucas_block_digit_division_quotient_table = S bcf_predecessor_lucas_block_digit_division_quotient_table /\ ((((exists bcf_height_lucas_block_digit_division_quotient_table_decoded_previous_code. bcf_height_lucas_block_digit_division_quotient_table_decoded_previous_code + S (bcf_previous_code_lucas_block_digit_division_quotient_table) = S ((S (bcf_predecessor_lucas_block_digit_division_quotient_table)) * bcf_row_code_scale_lucas_block_digit_division_quotient)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_table_decoded_previous_code. bcf_row_code_code_lucas_block_digit_division_quotient = bcf_quotient_lucas_block_digit_division_quotient_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_block_digit_division_quotient_table)) * bcf_row_code_scale_lucas_block_digit_division_quotient) + (bcf_previous_code_lucas_block_digit_division_quotient_table))) /\ ((((exists bcf_height_lucas_block_digit_division_quotient_table_decoded_previous_scale. bcf_height_lucas_block_digit_division_quotient_table_decoded_previous_scale + S (bcf_previous_scale_lucas_block_digit_division_quotient_table) = S ((S (bcf_predecessor_lucas_block_digit_division_quotient_table)) * bcf_row_scale_scale_lucas_block_digit_division_quotient)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_table_decoded_previous_scale. bcf_row_scale_code_lucas_block_digit_division_quotient = bcf_quotient_lucas_block_digit_division_quotient_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_block_digit_division_quotient_table)) * bcf_row_scale_scale_lucas_block_digit_division_quotient) + (bcf_previous_scale_lucas_block_digit_division_quotient_table))) /\ (forall bcf_index_lucas_block_digit_division_quotient_table_row_step. (exists bcf_lt_gap_lucas_block_digit_division_quotient_table_row_step_bound. bcf_lt_gap_lucas_block_digit_division_quotient_table_row_step_bound + S (bcf_index_lucas_block_digit_division_quotient_table_row_step) = S (q)) -> exists bcf_value_lucas_block_digit_division_quotient_table_row_step. ((((exists bcf_height_lucas_block_digit_division_quotient_table_row_step_entry. bcf_height_lucas_block_digit_division_quotient_table_row_step_entry + S (bcf_value_lucas_block_digit_division_quotient_table_row_step) = S ((S (bcf_index_lucas_block_digit_division_quotient_table_row_step)) * bcf_row_scale_lucas_block_digit_division_quotient_table)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_table_row_step_entry. bcf_row_code_lucas_block_digit_division_quotient_table = bcf_quotient_lucas_block_digit_division_quotient_table_row_step_entry * S ((S (bcf_index_lucas_block_digit_division_quotient_table_row_step)) * bcf_row_scale_lucas_block_digit_division_quotient_table) + (bcf_value_lucas_block_digit_division_quotient_table_row_step))) /\ ((bcf_index_lucas_block_digit_division_quotient_table_row_step = 0 /\ bcf_value_lucas_block_digit_division_quotient_table_row_step = 1) \/ exists bcf_predecessor_lucas_block_digit_division_quotient_table_row_step bcf_left_lucas_block_digit_division_quotient_table_row_step bcf_right_lucas_block_digit_division_quotient_table_row_step. bcf_index_lucas_block_digit_division_quotient_table_row_step = S bcf_predecessor_lucas_block_digit_division_quotient_table_row_step /\ ((((exists bcf_height_lucas_block_digit_division_quotient_table_row_step_previous_left. bcf_height_lucas_block_digit_division_quotient_table_row_step_previous_left + S (bcf_left_lucas_block_digit_division_quotient_table_row_step) = S ((S (bcf_predecessor_lucas_block_digit_division_quotient_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_quotient_table)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_table_row_step_previous_left. bcf_previous_code_lucas_block_digit_division_quotient_table = bcf_quotient_lucas_block_digit_division_quotient_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_block_digit_division_quotient_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_quotient_table) + (bcf_left_lucas_block_digit_division_quotient_table_row_step))) /\ ((((exists bcf_height_lucas_block_digit_division_quotient_table_row_step_previous_right. bcf_height_lucas_block_digit_division_quotient_table_row_step_previous_right + S (bcf_right_lucas_block_digit_division_quotient_table_row_step) = S ((S (S (bcf_predecessor_lucas_block_digit_division_quotient_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_quotient_table)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_table_row_step_previous_right. bcf_previous_code_lucas_block_digit_division_quotient_table = bcf_quotient_lucas_block_digit_division_quotient_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_block_digit_division_quotient_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_quotient_table) + (bcf_right_lucas_block_digit_division_quotient_table_row_step))) /\ bcf_value_lucas_block_digit_division_quotient_table_row_step = bcf_left_lucas_block_digit_division_quotient_table_row_step + bcf_right_lucas_block_digit_division_quotient_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_block_digit_division_quotient_decoded_row_code. bcf_height_lucas_block_digit_division_quotient_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_quotient) = S ((S (q)) * bcf_row_code_scale_lucas_block_digit_division_quotient)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_quotient = bcf_quotient_lucas_block_digit_division_quotient_decoded_row_code * S ((S (q)) * bcf_row_code_scale_lucas_block_digit_division_quotient) + (bcf_row_code_lucas_block_digit_division_quotient))) /\ ((((exists bcf_height_lucas_block_digit_division_quotient_decoded_row_scale. bcf_height_lucas_block_digit_division_quotient_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_quotient) = S ((S (q)) * bcf_row_scale_scale_lucas_block_digit_division_quotient)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_quotient = bcf_quotient_lucas_block_digit_division_quotient_decoded_row_scale * S ((S (q)) * bcf_row_scale_scale_lucas_block_digit_division_quotient) + (bcf_row_scale_lucas_block_digit_division_quotient))) /\ (((exists bcf_height_lucas_block_digit_division_quotient_decoded_value. bcf_height_lucas_block_digit_division_quotient_decoded_value + S (A) = S ((S (r)) * bcf_row_scale_lucas_block_digit_division_quotient)) /\ exists bcf_quotient_lucas_block_digit_division_quotient_decoded_value. bcf_row_code_lucas_block_digit_division_quotient = bcf_quotient_lucas_block_digit_division_quotient_decoded_value * S ((S (r)) * bcf_row_scale_lucas_block_digit_division_quotient) + (A))))))))) -> (((exists bcf_lt_gap_lucas_block_digit_division_digit_out_of_range. bcf_lt_gap_lucas_block_digit_division_digit_out_of_range + S (d) = e) /\ B = 0) \/ ((exists bcf_le_gap_lucas_block_digit_division_digit_in_range. bcf_le_gap_lucas_block_digit_division_digit_in_range + (e) = d) /\ (exists bcf_row_code_code_lucas_block_digit_division_digit bcf_row_code_scale_lucas_block_digit_division_digit bcf_row_scale_code_lucas_block_digit_division_digit bcf_row_scale_scale_lucas_block_digit_division_digit bcf_row_code_lucas_block_digit_division_digit bcf_row_scale_lucas_block_digit_division_digit. ((forall bcf_row_index_lucas_block_digit_division_digit_table. (exists bcf_lt_gap_lucas_block_digit_division_digit_table_row_bound. bcf_lt_gap_lucas_block_digit_division_digit_table_row_bound + S (bcf_row_index_lucas_block_digit_division_digit_table) = S (d)) -> exists bcf_row_code_lucas_block_digit_division_digit_table bcf_row_scale_lucas_block_digit_division_digit_table. ((((exists bcf_height_lucas_block_digit_division_digit_table_decoded_row_code. bcf_height_lucas_block_digit_division_digit_table_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_digit_table) = S ((S (bcf_row_index_lucas_block_digit_division_digit_table)) * bcf_row_code_scale_lucas_block_digit_division_digit)) /\ exists bcf_quotient_lucas_block_digit_division_digit_table_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_digit = bcf_quotient_lucas_block_digit_division_digit_table_decoded_row_code * S ((S (bcf_row_index_lucas_block_digit_division_digit_table)) * bcf_row_code_scale_lucas_block_digit_division_digit) + (bcf_row_code_lucas_block_digit_division_digit_table))) /\ ((((exists bcf_height_lucas_block_digit_division_digit_table_decoded_row_scale. bcf_height_lucas_block_digit_division_digit_table_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_digit_table) = S ((S (bcf_row_index_lucas_block_digit_division_digit_table)) * bcf_row_scale_scale_lucas_block_digit_division_digit)) /\ exists bcf_quotient_lucas_block_digit_division_digit_table_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_digit = bcf_quotient_lucas_block_digit_division_digit_table_decoded_row_scale * S ((S (bcf_row_index_lucas_block_digit_division_digit_table)) * bcf_row_scale_scale_lucas_block_digit_division_digit) + (bcf_row_scale_lucas_block_digit_division_digit_table))) /\ ((bcf_row_index_lucas_block_digit_division_digit_table = 0 /\ (forall bcf_index_lucas_block_digit_division_digit_table_zero_row. (exists bcf_lt_gap_lucas_block_digit_division_digit_table_zero_row_bound. bcf_lt_gap_lucas_block_digit_division_digit_table_zero_row_bound + S (bcf_index_lucas_block_digit_division_digit_table_zero_row) = S (d)) -> exists bcf_value_lucas_block_digit_division_digit_table_zero_row. ((((exists bcf_height_lucas_block_digit_division_digit_table_zero_row_entry. bcf_height_lucas_block_digit_division_digit_table_zero_row_entry + S (bcf_value_lucas_block_digit_division_digit_table_zero_row) = S ((S (bcf_index_lucas_block_digit_division_digit_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_digit_table)) /\ exists bcf_quotient_lucas_block_digit_division_digit_table_zero_row_entry. bcf_row_code_lucas_block_digit_division_digit_table = bcf_quotient_lucas_block_digit_division_digit_table_zero_row_entry * S ((S (bcf_index_lucas_block_digit_division_digit_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_digit_table) + (bcf_value_lucas_block_digit_division_digit_table_zero_row))) /\ ((bcf_index_lucas_block_digit_division_digit_table_zero_row = 0 /\ bcf_value_lucas_block_digit_division_digit_table_zero_row = 1) \/ exists bcf_predecessor_lucas_block_digit_division_digit_table_zero_row. bcf_index_lucas_block_digit_division_digit_table_zero_row = S bcf_predecessor_lucas_block_digit_division_digit_table_zero_row /\ bcf_value_lucas_block_digit_division_digit_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_block_digit_division_digit_table bcf_previous_code_lucas_block_digit_division_digit_table bcf_previous_scale_lucas_block_digit_division_digit_table. bcf_row_index_lucas_block_digit_division_digit_table = S bcf_predecessor_lucas_block_digit_division_digit_table /\ ((((exists bcf_height_lucas_block_digit_division_digit_table_decoded_previous_code. bcf_height_lucas_block_digit_division_digit_table_decoded_previous_code + S (bcf_previous_code_lucas_block_digit_division_digit_table) = S ((S (bcf_predecessor_lucas_block_digit_division_digit_table)) * bcf_row_code_scale_lucas_block_digit_division_digit)) /\ exists bcf_quotient_lucas_block_digit_division_digit_table_decoded_previous_code. bcf_row_code_code_lucas_block_digit_division_digit = bcf_quotient_lucas_block_digit_division_digit_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_block_digit_division_digit_table)) * bcf_row_code_scale_lucas_block_digit_division_digit) + (bcf_previous_code_lucas_block_digit_division_digit_table))) /\ ((((exists bcf_height_lucas_block_digit_division_digit_table_decoded_previous_scale. bcf_height_lucas_block_digit_division_digit_table_decoded_previous_scale + S (bcf_previous_scale_lucas_block_digit_division_digit_table) = S ((S (bcf_predecessor_lucas_block_digit_division_digit_table)) * bcf_row_scale_scale_lucas_block_digit_division_digit)) /\ exists bcf_quotient_lucas_block_digit_division_digit_table_decoded_previous_scale. bcf_row_scale_code_lucas_block_digit_division_digit = bcf_quotient_lucas_block_digit_division_digit_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_block_digit_division_digit_table)) * bcf_row_scale_scale_lucas_block_digit_division_digit) + (bcf_previous_scale_lucas_block_digit_division_digit_table))) /\ (forall bcf_index_lucas_block_digit_division_digit_table_row_step. (exists bcf_lt_gap_lucas_block_digit_division_digit_table_row_step_bound. bcf_lt_gap_lucas_block_digit_division_digit_table_row_step_bound + S (bcf_index_lucas_block_digit_division_digit_table_row_step) = S (d)) -> exists bcf_value_lucas_block_digit_division_digit_table_row_step. ((((exists bcf_height_lucas_block_digit_division_digit_table_row_step_entry. bcf_height_lucas_block_digit_division_digit_table_row_step_entry + S (bcf_value_lucas_block_digit_division_digit_table_row_step) = S ((S (bcf_index_lucas_block_digit_division_digit_table_row_step)) * bcf_row_scale_lucas_block_digit_division_digit_table)) /\ exists bcf_quotient_lucas_block_digit_division_digit_table_row_step_entry. bcf_row_code_lucas_block_digit_division_digit_table = bcf_quotient_lucas_block_digit_division_digit_table_row_step_entry * S ((S (bcf_index_lucas_block_digit_division_digit_table_row_step)) * bcf_row_scale_lucas_block_digit_division_digit_table) + (bcf_value_lucas_block_digit_division_digit_table_row_step))) /\ ((bcf_index_lucas_block_digit_division_digit_table_row_step = 0 /\ bcf_value_lucas_block_digit_division_digit_table_row_step = 1) \/ exists bcf_predecessor_lucas_block_digit_division_digit_table_row_step bcf_left_lucas_block_digit_division_digit_table_row_step bcf_right_lucas_block_digit_division_digit_table_row_step. bcf_index_lucas_block_digit_division_digit_table_row_step = S bcf_predecessor_lucas_block_digit_division_digit_table_row_step /\ ((((exists bcf_height_lucas_block_digit_division_digit_table_row_step_previous_left. bcf_height_lucas_block_digit_division_digit_table_row_step_previous_left + S (bcf_left_lucas_block_digit_division_digit_table_row_step) = S ((S (bcf_predecessor_lucas_block_digit_division_digit_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_digit_table)) /\ exists bcf_quotient_lucas_block_digit_division_digit_table_row_step_previous_left. bcf_previous_code_lucas_block_digit_division_digit_table = bcf_quotient_lucas_block_digit_division_digit_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_block_digit_division_digit_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_digit_table) + (bcf_left_lucas_block_digit_division_digit_table_row_step))) /\ ((((exists bcf_height_lucas_block_digit_division_digit_table_row_step_previous_right. bcf_height_lucas_block_digit_division_digit_table_row_step_previous_right + S (bcf_right_lucas_block_digit_division_digit_table_row_step) = S ((S (S (bcf_predecessor_lucas_block_digit_division_digit_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_digit_table)) /\ exists bcf_quotient_lucas_block_digit_division_digit_table_row_step_previous_right. bcf_previous_code_lucas_block_digit_division_digit_table = bcf_quotient_lucas_block_digit_division_digit_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_block_digit_division_digit_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_digit_table) + (bcf_right_lucas_block_digit_division_digit_table_row_step))) /\ bcf_value_lucas_block_digit_division_digit_table_row_step = bcf_left_lucas_block_digit_division_digit_table_row_step + bcf_right_lucas_block_digit_division_digit_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_block_digit_division_digit_decoded_row_code. bcf_height_lucas_block_digit_division_digit_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_digit) = S ((S (d)) * bcf_row_code_scale_lucas_block_digit_division_digit)) /\ exists bcf_quotient_lucas_block_digit_division_digit_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_digit = bcf_quotient_lucas_block_digit_division_digit_decoded_row_code * S ((S (d)) * bcf_row_code_scale_lucas_block_digit_division_digit) + (bcf_row_code_lucas_block_digit_division_digit))) /\ ((((exists bcf_height_lucas_block_digit_division_digit_decoded_row_scale. bcf_height_lucas_block_digit_division_digit_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_digit) = S ((S (d)) * bcf_row_scale_scale_lucas_block_digit_division_digit)) /\ exists bcf_quotient_lucas_block_digit_division_digit_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_digit = bcf_quotient_lucas_block_digit_division_digit_decoded_row_scale * S ((S (d)) * bcf_row_scale_scale_lucas_block_digit_division_digit) + (bcf_row_scale_lucas_block_digit_division_digit))) /\ (((exists bcf_height_lucas_block_digit_division_digit_decoded_value. bcf_height_lucas_block_digit_division_digit_decoded_value + S (B) = S ((S (e)) * bcf_row_scale_lucas_block_digit_division_digit)) /\ exists bcf_quotient_lucas_block_digit_division_digit_decoded_value. bcf_row_code_lucas_block_digit_division_digit = bcf_quotient_lucas_block_digit_division_digit_decoded_value * S ((S (e)) * bcf_row_scale_lucas_block_digit_division_digit) + (B))))))))) -> (exists lbd_left_division_result lbd_right_division_result. (C) + (p) * lbd_left_division_result = (A * B) + (p) * lbd_right_division_result)Proof neighborhood
Direct theorem prerequisites
LU000O lucas_choose_lower_eq_transport LU000M lucas_prime_block_digit_congruenceDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–18
03Establish hupperL19–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose upper eq transport.
- L19
have hupper : Choose(p · q + d,k,C)Definitions: Choose(p · q + d,k,C)Original native command in the exact edition - L20
specialize choose_upper_eq_transport n - L21
specialize choose_upper_eq_transport (p * q + d) - L22
specialize choose_upper_eq_transport k - L23
specialize choose_upper_eq_transport C - L24
apply choose_upper_eq_transport - L25
exact hn - L26
exact hwhole
04Establish hcanonicalL27–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lucas choose lower eq transport.
- L27
have hcanonical : Choose(p · q + d,p · r + e,C)Definitions: Choose(p · q + d,p · r + e,C)Original native command in the exact edition - L28
specialize lucas_choose_lower_eq_transport (p * q + d) - L29
specialize lucas_choose_lower_eq_transport k - L30
specialize lucas_choose_lower_eq_transport (p * r + e) - L31
specialize lucas_choose_lower_eq_transport C - L32
apply lucas_choose_lower_eq_transport - L33
exact hk - L34
exact hupper - L35
specialize lucas_prime_block_digit_congruence p - L36
specialize lucas_prime_block_digit_congruence q
05Use earlier factsL37–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
specialize lucas_prime_block_digit_congruence r - L38
specialize lucas_prime_block_digit_congruence d - L39
specialize lucas_prime_block_digit_congruence e - L40
specialize lucas_prime_block_digit_congruence C - L41
specialize lucas_prime_block_digit_congruence A - L42
specialize lucas_prime_block_digit_congruence B - L43
apply lucas_prime_block_digit_congruence - L44
exact hprime - L45
exact hdigit - L46
exact he_digit
Original defined command ledger · 49 lines
- 0001
intro p - 0002
intro n - 0003
intro k - 0004
intro q - 0005
intro r - 0006
intro d - 0007
intro e - 0008
intro C - 0009
intro A - 0010
intro B - 0011
intro hprime - 0012
intro hn - 0013
intro hk - 0014
intro hdigit - 0015
intro he_digit - 0016
intro hwhole - 0017
intro hquotient - 0018
intro hfactor - 0019
have hupper : Choose(p · q + d,k,C)Exact native replay line
have hupper : ((exists bcf_lt_gap_lucas_block_digit_division_upper_normal_out_of_range. bcf_lt_gap_lucas_block_digit_division_upper_normal_out_of_range + S (p * q + d) = k) /\ C = 0) \/ ((exists bcf_le_gap_lucas_block_digit_division_upper_normal_in_range. bcf_le_gap_lucas_block_digit_division_upper_normal_in_range + (k) = p * q + d) /\ (exists bcf_row_code_code_lucas_block_digit_division_upper_normal bcf_row_code_scale_lucas_block_digit_division_upper_normal bcf_row_scale_code_lucas_block_digit_division_upper_normal bcf_row_scale_scale_lucas_block_digit_division_upper_normal bcf_row_code_lucas_block_digit_division_upper_normal bcf_row_scale_lucas_block_digit_division_upper_normal. ((forall bcf_row_index_lucas_block_digit_division_upper_normal_table. (exists bcf_lt_gap_lucas_block_digit_division_upper_normal_table_row_bound. bcf_lt_gap_lucas_block_digit_division_upper_normal_table_row_bound + S (bcf_row_index_lucas_block_digit_division_upper_normal_table) = S (p * q + d)) -> exists bcf_row_code_lucas_block_digit_division_upper_normal_table bcf_row_scale_lucas_block_digit_division_upper_normal_table. ((((exists bcf_height_lucas_block_digit_division_upper_normal_table_decoded_row_code. bcf_height_lucas_block_digit_division_upper_normal_table_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_upper_normal_table) = S ((S (bcf_row_index_lucas_block_digit_division_upper_normal_table)) * bcf_row_code_scale_lucas_block_digit_division_upper_normal)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_table_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_upper_normal = bcf_quotient_lucas_block_digit_division_upper_normal_table_decoded_row_code * S ((S (bcf_row_index_lucas_block_digit_division_upper_normal_table)) * bcf_row_code_scale_lucas_block_digit_division_upper_normal) + (bcf_row_code_lucas_block_digit_division_upper_normal_table))) /\ ((((exists bcf_height_lucas_block_digit_division_upper_normal_table_decoded_row_scale. bcf_height_lucas_block_digit_division_upper_normal_table_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_upper_normal_table) = S ((S (bcf_row_index_lucas_block_digit_division_upper_normal_table)) * bcf_row_scale_scale_lucas_block_digit_division_upper_normal)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_table_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_upper_normal = bcf_quotient_lucas_block_digit_division_upper_normal_table_decoded_row_scale * S ((S (bcf_row_index_lucas_block_digit_division_upper_normal_table)) * bcf_row_scale_scale_lucas_block_digit_division_upper_normal) + (bcf_row_scale_lucas_block_digit_division_upper_normal_table))) /\ ((bcf_row_index_lucas_block_digit_division_upper_normal_table = 0 /\ (forall bcf_index_lucas_block_digit_division_upper_normal_table_zero_row. (exists bcf_lt_gap_lucas_block_digit_division_upper_normal_table_zero_row_bound. bcf_lt_gap_lucas_block_digit_division_upper_normal_table_zero_row_bound + S (bcf_index_lucas_block_digit_division_upper_normal_table_zero_row) = S (p * q + d)) -> exists bcf_value_lucas_block_digit_division_upper_normal_table_zero_row. ((((exists bcf_height_lucas_block_digit_division_upper_normal_table_zero_row_entry. bcf_height_lucas_block_digit_division_upper_normal_table_zero_row_entry + S (bcf_value_lucas_block_digit_division_upper_normal_table_zero_row) = S ((S (bcf_index_lucas_block_digit_division_upper_normal_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_upper_normal_table)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_table_zero_row_entry. bcf_row_code_lucas_block_digit_division_upper_normal_table = bcf_quotient_lucas_block_digit_division_upper_normal_table_zero_row_entry * S ((S (bcf_index_lucas_block_digit_division_upper_normal_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_upper_normal_table) + (bcf_value_lucas_block_digit_division_upper_normal_table_zero_row))) /\ ((bcf_index_lucas_block_digit_division_upper_normal_table_zero_row = 0 /\ bcf_value_lucas_block_digit_division_upper_normal_table_zero_row = 1) \/ exists bcf_predecessor_lucas_block_digit_division_upper_normal_table_zero_row. bcf_index_lucas_block_digit_division_upper_normal_table_zero_row = S bcf_predecessor_lucas_block_digit_division_upper_normal_table_zero_row /\ bcf_value_lucas_block_digit_division_upper_normal_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_block_digit_division_upper_normal_table bcf_previous_code_lucas_block_digit_division_upper_normal_table bcf_previous_scale_lucas_block_digit_division_upper_normal_table. bcf_row_index_lucas_block_digit_division_upper_normal_table = S bcf_predecessor_lucas_block_digit_division_upper_normal_table /\ ((((exists bcf_height_lucas_block_digit_division_upper_normal_table_decoded_previous_code. bcf_height_lucas_block_digit_division_upper_normal_table_decoded_previous_code + S (bcf_previous_code_lucas_block_digit_division_upper_normal_table) = S ((S (bcf_predecessor_lucas_block_digit_division_upper_normal_table)) * bcf_row_code_scale_lucas_block_digit_division_upper_normal)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_table_decoded_previous_code. bcf_row_code_code_lucas_block_digit_division_upper_normal = bcf_quotient_lucas_block_digit_division_upper_normal_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_block_digit_division_upper_normal_table)) * bcf_row_code_scale_lucas_block_digit_division_upper_normal) + (bcf_previous_code_lucas_block_digit_division_upper_normal_table))) /\ ((((exists bcf_height_lucas_block_digit_division_upper_normal_table_decoded_previous_scale. bcf_height_lucas_block_digit_division_upper_normal_table_decoded_previous_scale + S (bcf_previous_scale_lucas_block_digit_division_upper_normal_table) = S ((S (bcf_predecessor_lucas_block_digit_division_upper_normal_table)) * bcf_row_scale_scale_lucas_block_digit_division_upper_normal)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_table_decoded_previous_scale. bcf_row_scale_code_lucas_block_digit_division_upper_normal = bcf_quotient_lucas_block_digit_division_upper_normal_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_block_digit_division_upper_normal_table)) * bcf_row_scale_scale_lucas_block_digit_division_upper_normal) + (bcf_previous_scale_lucas_block_digit_division_upper_normal_table))) /\ (forall bcf_index_lucas_block_digit_division_upper_normal_table_row_step. (exists bcf_lt_gap_lucas_block_digit_division_upper_normal_table_row_step_bound. bcf_lt_gap_lucas_block_digit_division_upper_normal_table_row_step_bound + S (bcf_index_lucas_block_digit_division_upper_normal_table_row_step) = S (p * q + d)) -> exists bcf_value_lucas_block_digit_division_upper_normal_table_row_step. ((((exists bcf_height_lucas_block_digit_division_upper_normal_table_row_step_entry. bcf_height_lucas_block_digit_division_upper_normal_table_row_step_entry + S (bcf_value_lucas_block_digit_division_upper_normal_table_row_step) = S ((S (bcf_index_lucas_block_digit_division_upper_normal_table_row_step)) * bcf_row_scale_lucas_block_digit_division_upper_normal_table)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_table_row_step_entry. bcf_row_code_lucas_block_digit_division_upper_normal_table = bcf_quotient_lucas_block_digit_division_upper_normal_table_row_step_entry * S ((S (bcf_index_lucas_block_digit_division_upper_normal_table_row_step)) * bcf_row_scale_lucas_block_digit_division_upper_normal_table) + (bcf_value_lucas_block_digit_division_upper_normal_table_row_step))) /\ ((bcf_index_lucas_block_digit_division_upper_normal_table_row_step = 0 /\ bcf_value_lucas_block_digit_division_upper_normal_table_row_step = 1) \/ exists bcf_predecessor_lucas_block_digit_division_upper_normal_table_row_step bcf_left_lucas_block_digit_division_upper_normal_table_row_step bcf_right_lucas_block_digit_division_upper_normal_table_row_step. bcf_index_lucas_block_digit_division_upper_normal_table_row_step = S bcf_predecessor_lucas_block_digit_division_upper_normal_table_row_step /\ ((((exists bcf_height_lucas_block_digit_division_upper_normal_table_row_step_previous_left. bcf_height_lucas_block_digit_division_upper_normal_table_row_step_previous_left + S (bcf_left_lucas_block_digit_division_upper_normal_table_row_step) = S ((S (bcf_predecessor_lucas_block_digit_division_upper_normal_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_upper_normal_table)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_table_row_step_previous_left. bcf_previous_code_lucas_block_digit_division_upper_normal_table = bcf_quotient_lucas_block_digit_division_upper_normal_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_block_digit_division_upper_normal_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_upper_normal_table) + (bcf_left_lucas_block_digit_division_upper_normal_table_row_step))) /\ ((((exists bcf_height_lucas_block_digit_division_upper_normal_table_row_step_previous_right. bcf_height_lucas_block_digit_division_upper_normal_table_row_step_previous_right + S (bcf_right_lucas_block_digit_division_upper_normal_table_row_step) = S ((S (S (bcf_predecessor_lucas_block_digit_division_upper_normal_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_upper_normal_table)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_table_row_step_previous_right. bcf_previous_code_lucas_block_digit_division_upper_normal_table = bcf_quotient_lucas_block_digit_division_upper_normal_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_block_digit_division_upper_normal_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_upper_normal_table) + (bcf_right_lucas_block_digit_division_upper_normal_table_row_step))) /\ bcf_value_lucas_block_digit_division_upper_normal_table_row_step = bcf_left_lucas_block_digit_division_upper_normal_table_row_step + bcf_right_lucas_block_digit_division_upper_normal_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_block_digit_division_upper_normal_decoded_row_code. bcf_height_lucas_block_digit_division_upper_normal_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_upper_normal) = S ((S (p * q + d)) * bcf_row_code_scale_lucas_block_digit_division_upper_normal)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_upper_normal = bcf_quotient_lucas_block_digit_division_upper_normal_decoded_row_code * S ((S (p * q + d)) * bcf_row_code_scale_lucas_block_digit_division_upper_normal) + (bcf_row_code_lucas_block_digit_division_upper_normal))) /\ ((((exists bcf_height_lucas_block_digit_division_upper_normal_decoded_row_scale. bcf_height_lucas_block_digit_division_upper_normal_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_upper_normal) = S ((S (p * q + d)) * bcf_row_scale_scale_lucas_block_digit_division_upper_normal)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_upper_normal = bcf_quotient_lucas_block_digit_division_upper_normal_decoded_row_scale * S ((S (p * q + d)) * bcf_row_scale_scale_lucas_block_digit_division_upper_normal) + (bcf_row_scale_lucas_block_digit_division_upper_normal))) /\ (((exists bcf_height_lucas_block_digit_division_upper_normal_decoded_value. bcf_height_lucas_block_digit_division_upper_normal_decoded_value + S (C) = S ((S (k)) * bcf_row_scale_lucas_block_digit_division_upper_normal)) /\ exists bcf_quotient_lucas_block_digit_division_upper_normal_decoded_value. bcf_row_code_lucas_block_digit_division_upper_normal = bcf_quotient_lucas_block_digit_division_upper_normal_decoded_value * S ((S (k)) * bcf_row_scale_lucas_block_digit_division_upper_normal) + (C)))))))) - 0020
specialize choose_upper_eq_transport n - 0021
specialize choose_upper_eq_transport (p * q + d) - 0022
specialize choose_upper_eq_transport k - 0023
specialize choose_upper_eq_transport C - 0024
apply choose_upper_eq_transport - 0025
exact hn - 0026
exact hwhole - 0027
have hcanonical : Choose(p · q + d,p · r + e,C)Exact native replay line
have hcanonical : ((exists bcf_lt_gap_lucas_block_digit_division_canonical_out_of_range. bcf_lt_gap_lucas_block_digit_division_canonical_out_of_range + S (p * q + d) = p * r + e) /\ C = 0) \/ ((exists bcf_le_gap_lucas_block_digit_division_canonical_in_range. bcf_le_gap_lucas_block_digit_division_canonical_in_range + (p * r + e) = p * q + d) /\ (exists bcf_row_code_code_lucas_block_digit_division_canonical bcf_row_code_scale_lucas_block_digit_division_canonical bcf_row_scale_code_lucas_block_digit_division_canonical bcf_row_scale_scale_lucas_block_digit_division_canonical bcf_row_code_lucas_block_digit_division_canonical bcf_row_scale_lucas_block_digit_division_canonical. ((forall bcf_row_index_lucas_block_digit_division_canonical_table. (exists bcf_lt_gap_lucas_block_digit_division_canonical_table_row_bound. bcf_lt_gap_lucas_block_digit_division_canonical_table_row_bound + S (bcf_row_index_lucas_block_digit_division_canonical_table) = S (p * q + d)) -> exists bcf_row_code_lucas_block_digit_division_canonical_table bcf_row_scale_lucas_block_digit_division_canonical_table. ((((exists bcf_height_lucas_block_digit_division_canonical_table_decoded_row_code. bcf_height_lucas_block_digit_division_canonical_table_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_canonical_table) = S ((S (bcf_row_index_lucas_block_digit_division_canonical_table)) * bcf_row_code_scale_lucas_block_digit_division_canonical)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_table_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_canonical = bcf_quotient_lucas_block_digit_division_canonical_table_decoded_row_code * S ((S (bcf_row_index_lucas_block_digit_division_canonical_table)) * bcf_row_code_scale_lucas_block_digit_division_canonical) + (bcf_row_code_lucas_block_digit_division_canonical_table))) /\ ((((exists bcf_height_lucas_block_digit_division_canonical_table_decoded_row_scale. bcf_height_lucas_block_digit_division_canonical_table_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_canonical_table) = S ((S (bcf_row_index_lucas_block_digit_division_canonical_table)) * bcf_row_scale_scale_lucas_block_digit_division_canonical)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_table_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_canonical = bcf_quotient_lucas_block_digit_division_canonical_table_decoded_row_scale * S ((S (bcf_row_index_lucas_block_digit_division_canonical_table)) * bcf_row_scale_scale_lucas_block_digit_division_canonical) + (bcf_row_scale_lucas_block_digit_division_canonical_table))) /\ ((bcf_row_index_lucas_block_digit_division_canonical_table = 0 /\ (forall bcf_index_lucas_block_digit_division_canonical_table_zero_row. (exists bcf_lt_gap_lucas_block_digit_division_canonical_table_zero_row_bound. bcf_lt_gap_lucas_block_digit_division_canonical_table_zero_row_bound + S (bcf_index_lucas_block_digit_division_canonical_table_zero_row) = S (p * q + d)) -> exists bcf_value_lucas_block_digit_division_canonical_table_zero_row. ((((exists bcf_height_lucas_block_digit_division_canonical_table_zero_row_entry. bcf_height_lucas_block_digit_division_canonical_table_zero_row_entry + S (bcf_value_lucas_block_digit_division_canonical_table_zero_row) = S ((S (bcf_index_lucas_block_digit_division_canonical_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_canonical_table)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_table_zero_row_entry. bcf_row_code_lucas_block_digit_division_canonical_table = bcf_quotient_lucas_block_digit_division_canonical_table_zero_row_entry * S ((S (bcf_index_lucas_block_digit_division_canonical_table_zero_row)) * bcf_row_scale_lucas_block_digit_division_canonical_table) + (bcf_value_lucas_block_digit_division_canonical_table_zero_row))) /\ ((bcf_index_lucas_block_digit_division_canonical_table_zero_row = 0 /\ bcf_value_lucas_block_digit_division_canonical_table_zero_row = 1) \/ exists bcf_predecessor_lucas_block_digit_division_canonical_table_zero_row. bcf_index_lucas_block_digit_division_canonical_table_zero_row = S bcf_predecessor_lucas_block_digit_division_canonical_table_zero_row /\ bcf_value_lucas_block_digit_division_canonical_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_block_digit_division_canonical_table bcf_previous_code_lucas_block_digit_division_canonical_table bcf_previous_scale_lucas_block_digit_division_canonical_table. bcf_row_index_lucas_block_digit_division_canonical_table = S bcf_predecessor_lucas_block_digit_division_canonical_table /\ ((((exists bcf_height_lucas_block_digit_division_canonical_table_decoded_previous_code. bcf_height_lucas_block_digit_division_canonical_table_decoded_previous_code + S (bcf_previous_code_lucas_block_digit_division_canonical_table) = S ((S (bcf_predecessor_lucas_block_digit_division_canonical_table)) * bcf_row_code_scale_lucas_block_digit_division_canonical)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_table_decoded_previous_code. bcf_row_code_code_lucas_block_digit_division_canonical = bcf_quotient_lucas_block_digit_division_canonical_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_block_digit_division_canonical_table)) * bcf_row_code_scale_lucas_block_digit_division_canonical) + (bcf_previous_code_lucas_block_digit_division_canonical_table))) /\ ((((exists bcf_height_lucas_block_digit_division_canonical_table_decoded_previous_scale. bcf_height_lucas_block_digit_division_canonical_table_decoded_previous_scale + S (bcf_previous_scale_lucas_block_digit_division_canonical_table) = S ((S (bcf_predecessor_lucas_block_digit_division_canonical_table)) * bcf_row_scale_scale_lucas_block_digit_division_canonical)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_table_decoded_previous_scale. bcf_row_scale_code_lucas_block_digit_division_canonical = bcf_quotient_lucas_block_digit_division_canonical_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_block_digit_division_canonical_table)) * bcf_row_scale_scale_lucas_block_digit_division_canonical) + (bcf_previous_scale_lucas_block_digit_division_canonical_table))) /\ (forall bcf_index_lucas_block_digit_division_canonical_table_row_step. (exists bcf_lt_gap_lucas_block_digit_division_canonical_table_row_step_bound. bcf_lt_gap_lucas_block_digit_division_canonical_table_row_step_bound + S (bcf_index_lucas_block_digit_division_canonical_table_row_step) = S (p * q + d)) -> exists bcf_value_lucas_block_digit_division_canonical_table_row_step. ((((exists bcf_height_lucas_block_digit_division_canonical_table_row_step_entry. bcf_height_lucas_block_digit_division_canonical_table_row_step_entry + S (bcf_value_lucas_block_digit_division_canonical_table_row_step) = S ((S (bcf_index_lucas_block_digit_division_canonical_table_row_step)) * bcf_row_scale_lucas_block_digit_division_canonical_table)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_table_row_step_entry. bcf_row_code_lucas_block_digit_division_canonical_table = bcf_quotient_lucas_block_digit_division_canonical_table_row_step_entry * S ((S (bcf_index_lucas_block_digit_division_canonical_table_row_step)) * bcf_row_scale_lucas_block_digit_division_canonical_table) + (bcf_value_lucas_block_digit_division_canonical_table_row_step))) /\ ((bcf_index_lucas_block_digit_division_canonical_table_row_step = 0 /\ bcf_value_lucas_block_digit_division_canonical_table_row_step = 1) \/ exists bcf_predecessor_lucas_block_digit_division_canonical_table_row_step bcf_left_lucas_block_digit_division_canonical_table_row_step bcf_right_lucas_block_digit_division_canonical_table_row_step. bcf_index_lucas_block_digit_division_canonical_table_row_step = S bcf_predecessor_lucas_block_digit_division_canonical_table_row_step /\ ((((exists bcf_height_lucas_block_digit_division_canonical_table_row_step_previous_left. bcf_height_lucas_block_digit_division_canonical_table_row_step_previous_left + S (bcf_left_lucas_block_digit_division_canonical_table_row_step) = S ((S (bcf_predecessor_lucas_block_digit_division_canonical_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_canonical_table)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_table_row_step_previous_left. bcf_previous_code_lucas_block_digit_division_canonical_table = bcf_quotient_lucas_block_digit_division_canonical_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_block_digit_division_canonical_table_row_step)) * bcf_previous_scale_lucas_block_digit_division_canonical_table) + (bcf_left_lucas_block_digit_division_canonical_table_row_step))) /\ ((((exists bcf_height_lucas_block_digit_division_canonical_table_row_step_previous_right. bcf_height_lucas_block_digit_division_canonical_table_row_step_previous_right + S (bcf_right_lucas_block_digit_division_canonical_table_row_step) = S ((S (S (bcf_predecessor_lucas_block_digit_division_canonical_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_canonical_table)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_table_row_step_previous_right. bcf_previous_code_lucas_block_digit_division_canonical_table = bcf_quotient_lucas_block_digit_division_canonical_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_block_digit_division_canonical_table_row_step))) * bcf_previous_scale_lucas_block_digit_division_canonical_table) + (bcf_right_lucas_block_digit_division_canonical_table_row_step))) /\ bcf_value_lucas_block_digit_division_canonical_table_row_step = bcf_left_lucas_block_digit_division_canonical_table_row_step + bcf_right_lucas_block_digit_division_canonical_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_block_digit_division_canonical_decoded_row_code. bcf_height_lucas_block_digit_division_canonical_decoded_row_code + S (bcf_row_code_lucas_block_digit_division_canonical) = S ((S (p * q + d)) * bcf_row_code_scale_lucas_block_digit_division_canonical)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_decoded_row_code. bcf_row_code_code_lucas_block_digit_division_canonical = bcf_quotient_lucas_block_digit_division_canonical_decoded_row_code * S ((S (p * q + d)) * bcf_row_code_scale_lucas_block_digit_division_canonical) + (bcf_row_code_lucas_block_digit_division_canonical))) /\ ((((exists bcf_height_lucas_block_digit_division_canonical_decoded_row_scale. bcf_height_lucas_block_digit_division_canonical_decoded_row_scale + S (bcf_row_scale_lucas_block_digit_division_canonical) = S ((S (p * q + d)) * bcf_row_scale_scale_lucas_block_digit_division_canonical)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_decoded_row_scale. bcf_row_scale_code_lucas_block_digit_division_canonical = bcf_quotient_lucas_block_digit_division_canonical_decoded_row_scale * S ((S (p * q + d)) * bcf_row_scale_scale_lucas_block_digit_division_canonical) + (bcf_row_scale_lucas_block_digit_division_canonical))) /\ (((exists bcf_height_lucas_block_digit_division_canonical_decoded_value. bcf_height_lucas_block_digit_division_canonical_decoded_value + S (C) = S ((S (p * r + e)) * bcf_row_scale_lucas_block_digit_division_canonical)) /\ exists bcf_quotient_lucas_block_digit_division_canonical_decoded_value. bcf_row_code_lucas_block_digit_division_canonical = bcf_quotient_lucas_block_digit_division_canonical_decoded_value * S ((S (p * r + e)) * bcf_row_scale_lucas_block_digit_division_canonical) + (C)))))))) - 0028
specialize lucas_choose_lower_eq_transport (p * q + d) - 0029
specialize lucas_choose_lower_eq_transport k - 0030
specialize lucas_choose_lower_eq_transport (p * r + e) - 0031
specialize lucas_choose_lower_eq_transport C - 0032
apply lucas_choose_lower_eq_transport - 0033
exact hk - 0034
exact hupper - 0035
specialize lucas_prime_block_digit_congruence p - 0036
specialize lucas_prime_block_digit_congruence q - 0037
specialize lucas_prime_block_digit_congruence r - 0038
specialize lucas_prime_block_digit_congruence d - 0039
specialize lucas_prime_block_digit_congruence e - 0040
specialize lucas_prime_block_digit_congruence C - 0041
specialize lucas_prime_block_digit_congruence A - 0042
specialize lucas_prime_block_digit_congruence B - 0043
apply lucas_prime_block_digit_congruence - 0044
exact hprime - 0045
exact hdigit - 0046
exact he_digit - 0047
exact hcanonical - 0048
exact hquotient - 0049
exact hfactor