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. ∀ q. ∀ d. ∀ e. ∀ C. ∀ A. ∀ B. Prime(p) → Lt(d,p) → Lt(e,p) → Choose(p · q + d,e,C) → Choose(q,0,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 q d e C A B. ((~(p = 1) /\ forall frm_prime_left_lucas_low_digit_prime frm_prime_right_lucas_low_digit_prime. p = frm_prime_left_lucas_low_digit_prime * frm_prime_right_lucas_low_digit_prime -> frm_prime_left_lucas_low_digit_prime = 1 \/ frm_prime_right_lucas_low_digit_prime = 1)) -> (exists lld_gap_product_upper_bound. lld_gap_product_upper_bound + S (d) = (p)) -> (exists lld_gap_product_lower_bound. lld_gap_product_lower_bound + S (e) = (p)) -> (((exists bcf_lt_gap_lucas_low_digit_product_upper_out_of_range. bcf_lt_gap_lucas_low_digit_product_upper_out_of_range + S (p * q + d) = e) /\ C = 0) \/ ((exists bcf_le_gap_lucas_low_digit_product_upper_in_range. bcf_le_gap_lucas_low_digit_product_upper_in_range + (e) = p * q + d) /\ (exists bcf_row_code_code_lucas_low_digit_product_upper bcf_row_code_scale_lucas_low_digit_product_upper bcf_row_scale_code_lucas_low_digit_product_upper bcf_row_scale_scale_lucas_low_digit_product_upper bcf_row_code_lucas_low_digit_product_upper bcf_row_scale_lucas_low_digit_product_upper. ((forall bcf_row_index_lucas_low_digit_product_upper_table. (exists bcf_lt_gap_lucas_low_digit_product_upper_table_row_bound. bcf_lt_gap_lucas_low_digit_product_upper_table_row_bound + S (bcf_row_index_lucas_low_digit_product_upper_table) = S (p * q + d)) -> exists bcf_row_code_lucas_low_digit_product_upper_table bcf_row_scale_lucas_low_digit_product_upper_table. ((((exists bcf_height_lucas_low_digit_product_upper_table_decoded_row_code. bcf_height_lucas_low_digit_product_upper_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_product_upper_table) = S ((S (bcf_row_index_lucas_low_digit_product_upper_table)) * bcf_row_code_scale_lucas_low_digit_product_upper)) /\ exists bcf_quotient_lucas_low_digit_product_upper_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_product_upper = bcf_quotient_lucas_low_digit_product_upper_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_product_upper_table)) * bcf_row_code_scale_lucas_low_digit_product_upper) + (bcf_row_code_lucas_low_digit_product_upper_table))) /\ ((((exists bcf_height_lucas_low_digit_product_upper_table_decoded_row_scale. bcf_height_lucas_low_digit_product_upper_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_product_upper_table) = S ((S (bcf_row_index_lucas_low_digit_product_upper_table)) * bcf_row_scale_scale_lucas_low_digit_product_upper)) /\ exists bcf_quotient_lucas_low_digit_product_upper_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_product_upper = bcf_quotient_lucas_low_digit_product_upper_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_product_upper_table)) * bcf_row_scale_scale_lucas_low_digit_product_upper) + (bcf_row_scale_lucas_low_digit_product_upper_table))) /\ ((bcf_row_index_lucas_low_digit_product_upper_table = 0 /\ (forall bcf_index_lucas_low_digit_product_upper_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_product_upper_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_product_upper_table_zero_row_bound + S (bcf_index_lucas_low_digit_product_upper_table_zero_row) = S (p * q + d)) -> exists bcf_value_lucas_low_digit_product_upper_table_zero_row. ((((exists bcf_height_lucas_low_digit_product_upper_table_zero_row_entry. bcf_height_lucas_low_digit_product_upper_table_zero_row_entry + S (bcf_value_lucas_low_digit_product_upper_table_zero_row) = S ((S (bcf_index_lucas_low_digit_product_upper_table_zero_row)) * bcf_row_scale_lucas_low_digit_product_upper_table)) /\ exists bcf_quotient_lucas_low_digit_product_upper_table_zero_row_entry. bcf_row_code_lucas_low_digit_product_upper_table = bcf_quotient_lucas_low_digit_product_upper_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_product_upper_table_zero_row)) * bcf_row_scale_lucas_low_digit_product_upper_table) + (bcf_value_lucas_low_digit_product_upper_table_zero_row))) /\ ((bcf_index_lucas_low_digit_product_upper_table_zero_row = 0 /\ bcf_value_lucas_low_digit_product_upper_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_product_upper_table_zero_row. bcf_index_lucas_low_digit_product_upper_table_zero_row = S bcf_predecessor_lucas_low_digit_product_upper_table_zero_row /\ bcf_value_lucas_low_digit_product_upper_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_product_upper_table bcf_previous_code_lucas_low_digit_product_upper_table bcf_previous_scale_lucas_low_digit_product_upper_table. bcf_row_index_lucas_low_digit_product_upper_table = S bcf_predecessor_lucas_low_digit_product_upper_table /\ ((((exists bcf_height_lucas_low_digit_product_upper_table_decoded_previous_code. bcf_height_lucas_low_digit_product_upper_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_product_upper_table) = S ((S (bcf_predecessor_lucas_low_digit_product_upper_table)) * bcf_row_code_scale_lucas_low_digit_product_upper)) /\ exists bcf_quotient_lucas_low_digit_product_upper_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_product_upper = bcf_quotient_lucas_low_digit_product_upper_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_product_upper_table)) * bcf_row_code_scale_lucas_low_digit_product_upper) + (bcf_previous_code_lucas_low_digit_product_upper_table))) /\ ((((exists bcf_height_lucas_low_digit_product_upper_table_decoded_previous_scale. bcf_height_lucas_low_digit_product_upper_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_product_upper_table) = S ((S (bcf_predecessor_lucas_low_digit_product_upper_table)) * bcf_row_scale_scale_lucas_low_digit_product_upper)) /\ exists bcf_quotient_lucas_low_digit_product_upper_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_product_upper = bcf_quotient_lucas_low_digit_product_upper_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_product_upper_table)) * bcf_row_scale_scale_lucas_low_digit_product_upper) + (bcf_previous_scale_lucas_low_digit_product_upper_table))) /\ (forall bcf_index_lucas_low_digit_product_upper_table_row_step. (exists bcf_lt_gap_lucas_low_digit_product_upper_table_row_step_bound. bcf_lt_gap_lucas_low_digit_product_upper_table_row_step_bound + S (bcf_index_lucas_low_digit_product_upper_table_row_step) = S (p * q + d)) -> exists bcf_value_lucas_low_digit_product_upper_table_row_step. ((((exists bcf_height_lucas_low_digit_product_upper_table_row_step_entry. bcf_height_lucas_low_digit_product_upper_table_row_step_entry + S (bcf_value_lucas_low_digit_product_upper_table_row_step) = S ((S (bcf_index_lucas_low_digit_product_upper_table_row_step)) * bcf_row_scale_lucas_low_digit_product_upper_table)) /\ exists bcf_quotient_lucas_low_digit_product_upper_table_row_step_entry. bcf_row_code_lucas_low_digit_product_upper_table = bcf_quotient_lucas_low_digit_product_upper_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_product_upper_table_row_step)) * bcf_row_scale_lucas_low_digit_product_upper_table) + (bcf_value_lucas_low_digit_product_upper_table_row_step))) /\ ((bcf_index_lucas_low_digit_product_upper_table_row_step = 0 /\ bcf_value_lucas_low_digit_product_upper_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_product_upper_table_row_step bcf_left_lucas_low_digit_product_upper_table_row_step bcf_right_lucas_low_digit_product_upper_table_row_step. bcf_index_lucas_low_digit_product_upper_table_row_step = S bcf_predecessor_lucas_low_digit_product_upper_table_row_step /\ ((((exists bcf_height_lucas_low_digit_product_upper_table_row_step_previous_left. bcf_height_lucas_low_digit_product_upper_table_row_step_previous_left + S (bcf_left_lucas_low_digit_product_upper_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_product_upper_table_row_step)) * bcf_previous_scale_lucas_low_digit_product_upper_table)) /\ exists bcf_quotient_lucas_low_digit_product_upper_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_product_upper_table = bcf_quotient_lucas_low_digit_product_upper_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_product_upper_table_row_step)) * bcf_previous_scale_lucas_low_digit_product_upper_table) + (bcf_left_lucas_low_digit_product_upper_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_product_upper_table_row_step_previous_right. bcf_height_lucas_low_digit_product_upper_table_row_step_previous_right + S (bcf_right_lucas_low_digit_product_upper_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_product_upper_table_row_step))) * bcf_previous_scale_lucas_low_digit_product_upper_table)) /\ exists bcf_quotient_lucas_low_digit_product_upper_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_product_upper_table = bcf_quotient_lucas_low_digit_product_upper_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_product_upper_table_row_step))) * bcf_previous_scale_lucas_low_digit_product_upper_table) + (bcf_right_lucas_low_digit_product_upper_table_row_step))) /\ bcf_value_lucas_low_digit_product_upper_table_row_step = bcf_left_lucas_low_digit_product_upper_table_row_step + bcf_right_lucas_low_digit_product_upper_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_product_upper_decoded_row_code. bcf_height_lucas_low_digit_product_upper_decoded_row_code + S (bcf_row_code_lucas_low_digit_product_upper) = S ((S (p * q + d)) * bcf_row_code_scale_lucas_low_digit_product_upper)) /\ exists bcf_quotient_lucas_low_digit_product_upper_decoded_row_code. bcf_row_code_code_lucas_low_digit_product_upper = bcf_quotient_lucas_low_digit_product_upper_decoded_row_code * S ((S (p * q + d)) * bcf_row_code_scale_lucas_low_digit_product_upper) + (bcf_row_code_lucas_low_digit_product_upper))) /\ ((((exists bcf_height_lucas_low_digit_product_upper_decoded_row_scale. bcf_height_lucas_low_digit_product_upper_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_product_upper) = S ((S (p * q + d)) * bcf_row_scale_scale_lucas_low_digit_product_upper)) /\ exists bcf_quotient_lucas_low_digit_product_upper_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_product_upper = bcf_quotient_lucas_low_digit_product_upper_decoded_row_scale * S ((S (p * q + d)) * bcf_row_scale_scale_lucas_low_digit_product_upper) + (bcf_row_scale_lucas_low_digit_product_upper))) /\ (((exists bcf_height_lucas_low_digit_product_upper_decoded_value. bcf_height_lucas_low_digit_product_upper_decoded_value + S (C) = S ((S (e)) * bcf_row_scale_lucas_low_digit_product_upper)) /\ exists bcf_quotient_lucas_low_digit_product_upper_decoded_value. bcf_row_code_lucas_low_digit_product_upper = bcf_quotient_lucas_low_digit_product_upper_decoded_value * S ((S (e)) * bcf_row_scale_lucas_low_digit_product_upper) + (C))))))))) -> (((exists bcf_lt_gap_lucas_low_digit_product_quotient_out_of_range. bcf_lt_gap_lucas_low_digit_product_quotient_out_of_range + S (q) = 0) /\ A = 0) \/ ((exists bcf_le_gap_lucas_low_digit_product_quotient_in_range. bcf_le_gap_lucas_low_digit_product_quotient_in_range + (0) = q) /\ (exists bcf_row_code_code_lucas_low_digit_product_quotient bcf_row_code_scale_lucas_low_digit_product_quotient bcf_row_scale_code_lucas_low_digit_product_quotient bcf_row_scale_scale_lucas_low_digit_product_quotient bcf_row_code_lucas_low_digit_product_quotient bcf_row_scale_lucas_low_digit_product_quotient. ((forall bcf_row_index_lucas_low_digit_product_quotient_table. (exists bcf_lt_gap_lucas_low_digit_product_quotient_table_row_bound. bcf_lt_gap_lucas_low_digit_product_quotient_table_row_bound + S (bcf_row_index_lucas_low_digit_product_quotient_table) = S (q)) -> exists bcf_row_code_lucas_low_digit_product_quotient_table bcf_row_scale_lucas_low_digit_product_quotient_table. ((((exists bcf_height_lucas_low_digit_product_quotient_table_decoded_row_code. bcf_height_lucas_low_digit_product_quotient_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_product_quotient_table) = S ((S (bcf_row_index_lucas_low_digit_product_quotient_table)) * bcf_row_code_scale_lucas_low_digit_product_quotient)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_product_quotient = bcf_quotient_lucas_low_digit_product_quotient_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_product_quotient_table)) * bcf_row_code_scale_lucas_low_digit_product_quotient) + (bcf_row_code_lucas_low_digit_product_quotient_table))) /\ ((((exists bcf_height_lucas_low_digit_product_quotient_table_decoded_row_scale. bcf_height_lucas_low_digit_product_quotient_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_product_quotient_table) = S ((S (bcf_row_index_lucas_low_digit_product_quotient_table)) * bcf_row_scale_scale_lucas_low_digit_product_quotient)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_product_quotient = bcf_quotient_lucas_low_digit_product_quotient_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_product_quotient_table)) * bcf_row_scale_scale_lucas_low_digit_product_quotient) + (bcf_row_scale_lucas_low_digit_product_quotient_table))) /\ ((bcf_row_index_lucas_low_digit_product_quotient_table = 0 /\ (forall bcf_index_lucas_low_digit_product_quotient_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_product_quotient_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_product_quotient_table_zero_row_bound + S (bcf_index_lucas_low_digit_product_quotient_table_zero_row) = S (q)) -> exists bcf_value_lucas_low_digit_product_quotient_table_zero_row. ((((exists bcf_height_lucas_low_digit_product_quotient_table_zero_row_entry. bcf_height_lucas_low_digit_product_quotient_table_zero_row_entry + S (bcf_value_lucas_low_digit_product_quotient_table_zero_row) = S ((S (bcf_index_lucas_low_digit_product_quotient_table_zero_row)) * bcf_row_scale_lucas_low_digit_product_quotient_table)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_table_zero_row_entry. bcf_row_code_lucas_low_digit_product_quotient_table = bcf_quotient_lucas_low_digit_product_quotient_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_product_quotient_table_zero_row)) * bcf_row_scale_lucas_low_digit_product_quotient_table) + (bcf_value_lucas_low_digit_product_quotient_table_zero_row))) /\ ((bcf_index_lucas_low_digit_product_quotient_table_zero_row = 0 /\ bcf_value_lucas_low_digit_product_quotient_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_product_quotient_table_zero_row. bcf_index_lucas_low_digit_product_quotient_table_zero_row = S bcf_predecessor_lucas_low_digit_product_quotient_table_zero_row /\ bcf_value_lucas_low_digit_product_quotient_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_product_quotient_table bcf_previous_code_lucas_low_digit_product_quotient_table bcf_previous_scale_lucas_low_digit_product_quotient_table. bcf_row_index_lucas_low_digit_product_quotient_table = S bcf_predecessor_lucas_low_digit_product_quotient_table /\ ((((exists bcf_height_lucas_low_digit_product_quotient_table_decoded_previous_code. bcf_height_lucas_low_digit_product_quotient_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_product_quotient_table) = S ((S (bcf_predecessor_lucas_low_digit_product_quotient_table)) * bcf_row_code_scale_lucas_low_digit_product_quotient)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_product_quotient = bcf_quotient_lucas_low_digit_product_quotient_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_product_quotient_table)) * bcf_row_code_scale_lucas_low_digit_product_quotient) + (bcf_previous_code_lucas_low_digit_product_quotient_table))) /\ ((((exists bcf_height_lucas_low_digit_product_quotient_table_decoded_previous_scale. bcf_height_lucas_low_digit_product_quotient_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_product_quotient_table) = S ((S (bcf_predecessor_lucas_low_digit_product_quotient_table)) * bcf_row_scale_scale_lucas_low_digit_product_quotient)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_product_quotient = bcf_quotient_lucas_low_digit_product_quotient_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_product_quotient_table)) * bcf_row_scale_scale_lucas_low_digit_product_quotient) + (bcf_previous_scale_lucas_low_digit_product_quotient_table))) /\ (forall bcf_index_lucas_low_digit_product_quotient_table_row_step. (exists bcf_lt_gap_lucas_low_digit_product_quotient_table_row_step_bound. bcf_lt_gap_lucas_low_digit_product_quotient_table_row_step_bound + S (bcf_index_lucas_low_digit_product_quotient_table_row_step) = S (q)) -> exists bcf_value_lucas_low_digit_product_quotient_table_row_step. ((((exists bcf_height_lucas_low_digit_product_quotient_table_row_step_entry. bcf_height_lucas_low_digit_product_quotient_table_row_step_entry + S (bcf_value_lucas_low_digit_product_quotient_table_row_step) = S ((S (bcf_index_lucas_low_digit_product_quotient_table_row_step)) * bcf_row_scale_lucas_low_digit_product_quotient_table)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_table_row_step_entry. bcf_row_code_lucas_low_digit_product_quotient_table = bcf_quotient_lucas_low_digit_product_quotient_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_product_quotient_table_row_step)) * bcf_row_scale_lucas_low_digit_product_quotient_table) + (bcf_value_lucas_low_digit_product_quotient_table_row_step))) /\ ((bcf_index_lucas_low_digit_product_quotient_table_row_step = 0 /\ bcf_value_lucas_low_digit_product_quotient_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_product_quotient_table_row_step bcf_left_lucas_low_digit_product_quotient_table_row_step bcf_right_lucas_low_digit_product_quotient_table_row_step. bcf_index_lucas_low_digit_product_quotient_table_row_step = S bcf_predecessor_lucas_low_digit_product_quotient_table_row_step /\ ((((exists bcf_height_lucas_low_digit_product_quotient_table_row_step_previous_left. bcf_height_lucas_low_digit_product_quotient_table_row_step_previous_left + S (bcf_left_lucas_low_digit_product_quotient_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_product_quotient_table_row_step)) * bcf_previous_scale_lucas_low_digit_product_quotient_table)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_product_quotient_table = bcf_quotient_lucas_low_digit_product_quotient_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_product_quotient_table_row_step)) * bcf_previous_scale_lucas_low_digit_product_quotient_table) + (bcf_left_lucas_low_digit_product_quotient_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_product_quotient_table_row_step_previous_right. bcf_height_lucas_low_digit_product_quotient_table_row_step_previous_right + S (bcf_right_lucas_low_digit_product_quotient_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_product_quotient_table_row_step))) * bcf_previous_scale_lucas_low_digit_product_quotient_table)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_product_quotient_table = bcf_quotient_lucas_low_digit_product_quotient_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_product_quotient_table_row_step))) * bcf_previous_scale_lucas_low_digit_product_quotient_table) + (bcf_right_lucas_low_digit_product_quotient_table_row_step))) /\ bcf_value_lucas_low_digit_product_quotient_table_row_step = bcf_left_lucas_low_digit_product_quotient_table_row_step + bcf_right_lucas_low_digit_product_quotient_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_product_quotient_decoded_row_code. bcf_height_lucas_low_digit_product_quotient_decoded_row_code + S (bcf_row_code_lucas_low_digit_product_quotient) = S ((S (q)) * bcf_row_code_scale_lucas_low_digit_product_quotient)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_decoded_row_code. bcf_row_code_code_lucas_low_digit_product_quotient = bcf_quotient_lucas_low_digit_product_quotient_decoded_row_code * S ((S (q)) * bcf_row_code_scale_lucas_low_digit_product_quotient) + (bcf_row_code_lucas_low_digit_product_quotient))) /\ ((((exists bcf_height_lucas_low_digit_product_quotient_decoded_row_scale. bcf_height_lucas_low_digit_product_quotient_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_product_quotient) = S ((S (q)) * bcf_row_scale_scale_lucas_low_digit_product_quotient)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_product_quotient = bcf_quotient_lucas_low_digit_product_quotient_decoded_row_scale * S ((S (q)) * bcf_row_scale_scale_lucas_low_digit_product_quotient) + (bcf_row_scale_lucas_low_digit_product_quotient))) /\ (((exists bcf_height_lucas_low_digit_product_quotient_decoded_value. bcf_height_lucas_low_digit_product_quotient_decoded_value + S (A) = S ((S (0)) * bcf_row_scale_lucas_low_digit_product_quotient)) /\ exists bcf_quotient_lucas_low_digit_product_quotient_decoded_value. bcf_row_code_lucas_low_digit_product_quotient = bcf_quotient_lucas_low_digit_product_quotient_decoded_value * S ((S (0)) * bcf_row_scale_lucas_low_digit_product_quotient) + (A))))))))) -> (((exists bcf_lt_gap_lucas_low_digit_product_digit_out_of_range. bcf_lt_gap_lucas_low_digit_product_digit_out_of_range + S (d) = e) /\ B = 0) \/ ((exists bcf_le_gap_lucas_low_digit_product_digit_in_range. bcf_le_gap_lucas_low_digit_product_digit_in_range + (e) = d) /\ (exists bcf_row_code_code_lucas_low_digit_product_digit bcf_row_code_scale_lucas_low_digit_product_digit bcf_row_scale_code_lucas_low_digit_product_digit bcf_row_scale_scale_lucas_low_digit_product_digit bcf_row_code_lucas_low_digit_product_digit bcf_row_scale_lucas_low_digit_product_digit. ((forall bcf_row_index_lucas_low_digit_product_digit_table. (exists bcf_lt_gap_lucas_low_digit_product_digit_table_row_bound. bcf_lt_gap_lucas_low_digit_product_digit_table_row_bound + S (bcf_row_index_lucas_low_digit_product_digit_table) = S (d)) -> exists bcf_row_code_lucas_low_digit_product_digit_table bcf_row_scale_lucas_low_digit_product_digit_table. ((((exists bcf_height_lucas_low_digit_product_digit_table_decoded_row_code. bcf_height_lucas_low_digit_product_digit_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_product_digit_table) = S ((S (bcf_row_index_lucas_low_digit_product_digit_table)) * bcf_row_code_scale_lucas_low_digit_product_digit)) /\ exists bcf_quotient_lucas_low_digit_product_digit_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_product_digit = bcf_quotient_lucas_low_digit_product_digit_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_product_digit_table)) * bcf_row_code_scale_lucas_low_digit_product_digit) + (bcf_row_code_lucas_low_digit_product_digit_table))) /\ ((((exists bcf_height_lucas_low_digit_product_digit_table_decoded_row_scale. bcf_height_lucas_low_digit_product_digit_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_product_digit_table) = S ((S (bcf_row_index_lucas_low_digit_product_digit_table)) * bcf_row_scale_scale_lucas_low_digit_product_digit)) /\ exists bcf_quotient_lucas_low_digit_product_digit_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_product_digit = bcf_quotient_lucas_low_digit_product_digit_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_product_digit_table)) * bcf_row_scale_scale_lucas_low_digit_product_digit) + (bcf_row_scale_lucas_low_digit_product_digit_table))) /\ ((bcf_row_index_lucas_low_digit_product_digit_table = 0 /\ (forall bcf_index_lucas_low_digit_product_digit_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_product_digit_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_product_digit_table_zero_row_bound + S (bcf_index_lucas_low_digit_product_digit_table_zero_row) = S (d)) -> exists bcf_value_lucas_low_digit_product_digit_table_zero_row. ((((exists bcf_height_lucas_low_digit_product_digit_table_zero_row_entry. bcf_height_lucas_low_digit_product_digit_table_zero_row_entry + S (bcf_value_lucas_low_digit_product_digit_table_zero_row) = S ((S (bcf_index_lucas_low_digit_product_digit_table_zero_row)) * bcf_row_scale_lucas_low_digit_product_digit_table)) /\ exists bcf_quotient_lucas_low_digit_product_digit_table_zero_row_entry. bcf_row_code_lucas_low_digit_product_digit_table = bcf_quotient_lucas_low_digit_product_digit_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_product_digit_table_zero_row)) * bcf_row_scale_lucas_low_digit_product_digit_table) + (bcf_value_lucas_low_digit_product_digit_table_zero_row))) /\ ((bcf_index_lucas_low_digit_product_digit_table_zero_row = 0 /\ bcf_value_lucas_low_digit_product_digit_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_product_digit_table_zero_row. bcf_index_lucas_low_digit_product_digit_table_zero_row = S bcf_predecessor_lucas_low_digit_product_digit_table_zero_row /\ bcf_value_lucas_low_digit_product_digit_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_product_digit_table bcf_previous_code_lucas_low_digit_product_digit_table bcf_previous_scale_lucas_low_digit_product_digit_table. bcf_row_index_lucas_low_digit_product_digit_table = S bcf_predecessor_lucas_low_digit_product_digit_table /\ ((((exists bcf_height_lucas_low_digit_product_digit_table_decoded_previous_code. bcf_height_lucas_low_digit_product_digit_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_product_digit_table) = S ((S (bcf_predecessor_lucas_low_digit_product_digit_table)) * bcf_row_code_scale_lucas_low_digit_product_digit)) /\ exists bcf_quotient_lucas_low_digit_product_digit_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_product_digit = bcf_quotient_lucas_low_digit_product_digit_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_product_digit_table)) * bcf_row_code_scale_lucas_low_digit_product_digit) + (bcf_previous_code_lucas_low_digit_product_digit_table))) /\ ((((exists bcf_height_lucas_low_digit_product_digit_table_decoded_previous_scale. bcf_height_lucas_low_digit_product_digit_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_product_digit_table) = S ((S (bcf_predecessor_lucas_low_digit_product_digit_table)) * bcf_row_scale_scale_lucas_low_digit_product_digit)) /\ exists bcf_quotient_lucas_low_digit_product_digit_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_product_digit = bcf_quotient_lucas_low_digit_product_digit_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_product_digit_table)) * bcf_row_scale_scale_lucas_low_digit_product_digit) + (bcf_previous_scale_lucas_low_digit_product_digit_table))) /\ (forall bcf_index_lucas_low_digit_product_digit_table_row_step. (exists bcf_lt_gap_lucas_low_digit_product_digit_table_row_step_bound. bcf_lt_gap_lucas_low_digit_product_digit_table_row_step_bound + S (bcf_index_lucas_low_digit_product_digit_table_row_step) = S (d)) -> exists bcf_value_lucas_low_digit_product_digit_table_row_step. ((((exists bcf_height_lucas_low_digit_product_digit_table_row_step_entry. bcf_height_lucas_low_digit_product_digit_table_row_step_entry + S (bcf_value_lucas_low_digit_product_digit_table_row_step) = S ((S (bcf_index_lucas_low_digit_product_digit_table_row_step)) * bcf_row_scale_lucas_low_digit_product_digit_table)) /\ exists bcf_quotient_lucas_low_digit_product_digit_table_row_step_entry. bcf_row_code_lucas_low_digit_product_digit_table = bcf_quotient_lucas_low_digit_product_digit_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_product_digit_table_row_step)) * bcf_row_scale_lucas_low_digit_product_digit_table) + (bcf_value_lucas_low_digit_product_digit_table_row_step))) /\ ((bcf_index_lucas_low_digit_product_digit_table_row_step = 0 /\ bcf_value_lucas_low_digit_product_digit_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_product_digit_table_row_step bcf_left_lucas_low_digit_product_digit_table_row_step bcf_right_lucas_low_digit_product_digit_table_row_step. bcf_index_lucas_low_digit_product_digit_table_row_step = S bcf_predecessor_lucas_low_digit_product_digit_table_row_step /\ ((((exists bcf_height_lucas_low_digit_product_digit_table_row_step_previous_left. bcf_height_lucas_low_digit_product_digit_table_row_step_previous_left + S (bcf_left_lucas_low_digit_product_digit_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_product_digit_table_row_step)) * bcf_previous_scale_lucas_low_digit_product_digit_table)) /\ exists bcf_quotient_lucas_low_digit_product_digit_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_product_digit_table = bcf_quotient_lucas_low_digit_product_digit_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_product_digit_table_row_step)) * bcf_previous_scale_lucas_low_digit_product_digit_table) + (bcf_left_lucas_low_digit_product_digit_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_product_digit_table_row_step_previous_right. bcf_height_lucas_low_digit_product_digit_table_row_step_previous_right + S (bcf_right_lucas_low_digit_product_digit_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_product_digit_table_row_step))) * bcf_previous_scale_lucas_low_digit_product_digit_table)) /\ exists bcf_quotient_lucas_low_digit_product_digit_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_product_digit_table = bcf_quotient_lucas_low_digit_product_digit_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_product_digit_table_row_step))) * bcf_previous_scale_lucas_low_digit_product_digit_table) + (bcf_right_lucas_low_digit_product_digit_table_row_step))) /\ bcf_value_lucas_low_digit_product_digit_table_row_step = bcf_left_lucas_low_digit_product_digit_table_row_step + bcf_right_lucas_low_digit_product_digit_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_product_digit_decoded_row_code. bcf_height_lucas_low_digit_product_digit_decoded_row_code + S (bcf_row_code_lucas_low_digit_product_digit) = S ((S (d)) * bcf_row_code_scale_lucas_low_digit_product_digit)) /\ exists bcf_quotient_lucas_low_digit_product_digit_decoded_row_code. bcf_row_code_code_lucas_low_digit_product_digit = bcf_quotient_lucas_low_digit_product_digit_decoded_row_code * S ((S (d)) * bcf_row_code_scale_lucas_low_digit_product_digit) + (bcf_row_code_lucas_low_digit_product_digit))) /\ ((((exists bcf_height_lucas_low_digit_product_digit_decoded_row_scale. bcf_height_lucas_low_digit_product_digit_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_product_digit) = S ((S (d)) * bcf_row_scale_scale_lucas_low_digit_product_digit)) /\ exists bcf_quotient_lucas_low_digit_product_digit_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_product_digit = bcf_quotient_lucas_low_digit_product_digit_decoded_row_scale * S ((S (d)) * bcf_row_scale_scale_lucas_low_digit_product_digit) + (bcf_row_scale_lucas_low_digit_product_digit))) /\ (((exists bcf_height_lucas_low_digit_product_digit_decoded_value. bcf_height_lucas_low_digit_product_digit_decoded_value + S (B) = S ((S (e)) * bcf_row_scale_lucas_low_digit_product_digit)) /\ exists bcf_quotient_lucas_low_digit_product_digit_decoded_value. bcf_row_code_lucas_low_digit_product_digit = bcf_quotient_lucas_low_digit_product_digit_decoded_value * S ((S (e)) * bcf_row_scale_lucas_low_digit_product_digit) + (B))))))))) -> (exists lld_left_product_result lld_right_product_result. (C) + (p) * lld_left_product_result = (A * B) + (p) * lld_right_product_result)Proof neighborhood
Direct theorem prerequisites
Direct 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 (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish honeL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose zero.
04Use earlier factsL24–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 33 lines
- 0001
intro p - 0002
intro q - 0003
intro d - 0004
intro e - 0005
intro C - 0006
intro A - 0007
intro B - 0008
intro hprime - 0009
intro hupper_bound - 0010
intro hlower_bound - 0011
intro hupper - 0012
intro hquotient - 0013
intro hdigit - 0014
have hone : A = 1 - 0015
specialize choose_zero q - 0016
specialize choose_zero A - 0017
apply choose_zero - 0018
exact hquotient - 0019
rewrite hone - 0020
specialize one_mul B - 0021
rewrite one_mul - 0022
specialize lucas_low_digit_congruence p - 0023
specialize lucas_low_digit_congruence q - 0024
specialize lucas_low_digit_congruence d - 0025
specialize lucas_low_digit_congruence e - 0026
specialize lucas_low_digit_congruence C - 0027
specialize lucas_low_digit_congruence B - 0028
apply lucas_low_digit_congruence - 0029
exact hprime - 0030
exact hupper_bound - 0031
exact hlower_bound - 0032
exact hupper - 0033
exact hdigit