LU001J

lucas_terminating_multidigit_theorem_from_one_step

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

For genuinely terminating quotient chains the full multidigit Lucas congruence is exactly the product of their beta-coded digit binomial coefficients, conditional solely on its explicit one-step law.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Exact expanded first-order arithmetic statement

(forall p n k q r a b C A D. ((~(p = 1) /\ forall frm_prime_left_lmd_universal_prime frm_prime_right_lmd_universal_prime. p = frm_prime_left_lmd_universal_prime * frm_prime_right_lmd_universal_prime -> frm_prime_left_lmd_universal_prime = 1 \/ frm_prime_right_lmd_universal_prime = 1)) -> n = p * q + a -> k = p * r + b -> (exists lmd_gap_universal_a. lmd_gap_universal_a + S (a) = (p)) -> (exists lmd_gap_universal_b. lmd_gap_universal_b + S (b) = (p)) -> (((exists bcf_lt_gap_lmd_universal_whole_out_of_range. bcf_lt_gap_lmd_universal_whole_out_of_range + S (n) = k) /\ C = 0) \/ ((exists bcf_le_gap_lmd_universal_whole_in_range. bcf_le_gap_lmd_universal_whole_in_range + (k) = n) /\ (exists bcf_row_code_code_lmd_universal_whole bcf_row_code_scale_lmd_universal_whole bcf_row_scale_code_lmd_universal_whole bcf_row_scale_scale_lmd_universal_whole bcf_row_code_lmd_universal_whole bcf_row_scale_lmd_universal_whole. ((forall bcf_row_index_lmd_universal_whole_table. (exists bcf_lt_gap_lmd_universal_whole_table_row_bound. bcf_lt_gap_lmd_universal_whole_table_row_bound + S (bcf_row_index_lmd_universal_whole_table) = S (n)) -> exists bcf_row_code_lmd_universal_whole_table bcf_row_scale_lmd_universal_whole_table. ((((exists bcf_height_lmd_universal_whole_table_decoded_row_code. bcf_height_lmd_universal_whole_table_decoded_row_code + S (bcf_row_code_lmd_universal_whole_table) = S ((S (bcf_row_index_lmd_universal_whole_table)) * bcf_row_code_scale_lmd_universal_whole)) /\ exists bcf_quotient_lmd_universal_whole_table_decoded_row_code. bcf_row_code_code_lmd_universal_whole = bcf_quotient_lmd_universal_whole_table_decoded_row_code * S ((S (bcf_row_index_lmd_universal_whole_table)) * bcf_row_code_scale_lmd_universal_whole) + (bcf_row_code_lmd_universal_whole_table))) /\ ((((exists bcf_height_lmd_universal_whole_table_decoded_row_scale. bcf_height_lmd_universal_whole_table_decoded_row_scale + S (bcf_row_scale_lmd_universal_whole_table) = S ((S (bcf_row_index_lmd_universal_whole_table)) * bcf_row_scale_scale_lmd_universal_whole)) /\ exists bcf_quotient_lmd_universal_whole_table_decoded_row_scale. bcf_row_scale_code_lmd_universal_whole = bcf_quotient_lmd_universal_whole_table_decoded_row_scale * S ((S (bcf_row_index_lmd_universal_whole_table)) * bcf_row_scale_scale_lmd_universal_whole) + (bcf_row_scale_lmd_universal_whole_table))) /\ ((bcf_row_index_lmd_universal_whole_table = 0 /\ (forall bcf_index_lmd_universal_whole_table_zero_row. (exists bcf_lt_gap_lmd_universal_whole_table_zero_row_bound. bcf_lt_gap_lmd_universal_whole_table_zero_row_bound + S (bcf_index_lmd_universal_whole_table_zero_row) = S (n)) -> exists bcf_value_lmd_universal_whole_table_zero_row. ((((exists bcf_height_lmd_universal_whole_table_zero_row_entry. bcf_height_lmd_universal_whole_table_zero_row_entry + S (bcf_value_lmd_universal_whole_table_zero_row) = S ((S (bcf_index_lmd_universal_whole_table_zero_row)) * bcf_row_scale_lmd_universal_whole_table)) /\ exists bcf_quotient_lmd_universal_whole_table_zero_row_entry. bcf_row_code_lmd_universal_whole_table = bcf_quotient_lmd_universal_whole_table_zero_row_entry * S ((S (bcf_index_lmd_universal_whole_table_zero_row)) * bcf_row_scale_lmd_universal_whole_table) + (bcf_value_lmd_universal_whole_table_zero_row))) /\ ((bcf_index_lmd_universal_whole_table_zero_row = 0 /\ bcf_value_lmd_universal_whole_table_zero_row = 1) \/ exists bcf_predecessor_lmd_universal_whole_table_zero_row. bcf_index_lmd_universal_whole_table_zero_row = S bcf_predecessor_lmd_universal_whole_table_zero_row /\ bcf_value_lmd_universal_whole_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_universal_whole_table bcf_previous_code_lmd_universal_whole_table bcf_previous_scale_lmd_universal_whole_table. bcf_row_index_lmd_universal_whole_table = S bcf_predecessor_lmd_universal_whole_table /\ ((((exists bcf_height_lmd_universal_whole_table_decoded_previous_code. bcf_height_lmd_universal_whole_table_decoded_previous_code + S (bcf_previous_code_lmd_universal_whole_table) = S ((S (bcf_predecessor_lmd_universal_whole_table)) * bcf_row_code_scale_lmd_universal_whole)) /\ exists bcf_quotient_lmd_universal_whole_table_decoded_previous_code. bcf_row_code_code_lmd_universal_whole = bcf_quotient_lmd_universal_whole_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_universal_whole_table)) * bcf_row_code_scale_lmd_universal_whole) + (bcf_previous_code_lmd_universal_whole_table))) /\ ((((exists bcf_height_lmd_universal_whole_table_decoded_previous_scale. bcf_height_lmd_universal_whole_table_decoded_previous_scale + S (bcf_previous_scale_lmd_universal_whole_table) = S ((S (bcf_predecessor_lmd_universal_whole_table)) * bcf_row_scale_scale_lmd_universal_whole)) /\ exists bcf_quotient_lmd_universal_whole_table_decoded_previous_scale. bcf_row_scale_code_lmd_universal_whole = bcf_quotient_lmd_universal_whole_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_universal_whole_table)) * bcf_row_scale_scale_lmd_universal_whole) + (bcf_previous_scale_lmd_universal_whole_table))) /\ (forall bcf_index_lmd_universal_whole_table_row_step. (exists bcf_lt_gap_lmd_universal_whole_table_row_step_bound. bcf_lt_gap_lmd_universal_whole_table_row_step_bound + S (bcf_index_lmd_universal_whole_table_row_step) = S (n)) -> exists bcf_value_lmd_universal_whole_table_row_step. ((((exists bcf_height_lmd_universal_whole_table_row_step_entry. bcf_height_lmd_universal_whole_table_row_step_entry + S (bcf_value_lmd_universal_whole_table_row_step) = S ((S (bcf_index_lmd_universal_whole_table_row_step)) * bcf_row_scale_lmd_universal_whole_table)) /\ exists bcf_quotient_lmd_universal_whole_table_row_step_entry. bcf_row_code_lmd_universal_whole_table = bcf_quotient_lmd_universal_whole_table_row_step_entry * S ((S (bcf_index_lmd_universal_whole_table_row_step)) * bcf_row_scale_lmd_universal_whole_table) + (bcf_value_lmd_universal_whole_table_row_step))) /\ ((bcf_index_lmd_universal_whole_table_row_step = 0 /\ bcf_value_lmd_universal_whole_table_row_step = 1) \/ exists bcf_predecessor_lmd_universal_whole_table_row_step bcf_left_lmd_universal_whole_table_row_step bcf_right_lmd_universal_whole_table_row_step. bcf_index_lmd_universal_whole_table_row_step = S bcf_predecessor_lmd_universal_whole_table_row_step /\ ((((exists bcf_height_lmd_universal_whole_table_row_step_previous_left. bcf_height_lmd_universal_whole_table_row_step_previous_left + S (bcf_left_lmd_universal_whole_table_row_step) = S ((S (bcf_predecessor_lmd_universal_whole_table_row_step)) * bcf_previous_scale_lmd_universal_whole_table)) /\ exists bcf_quotient_lmd_universal_whole_table_row_step_previous_left. bcf_previous_code_lmd_universal_whole_table = bcf_quotient_lmd_universal_whole_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_universal_whole_table_row_step)) * bcf_previous_scale_lmd_universal_whole_table) + (bcf_left_lmd_universal_whole_table_row_step))) /\ ((((exists bcf_height_lmd_universal_whole_table_row_step_previous_right. bcf_height_lmd_universal_whole_table_row_step_previous_right + S (bcf_right_lmd_universal_whole_table_row_step) = S ((S (S (bcf_predecessor_lmd_universal_whole_table_row_step))) * bcf_previous_scale_lmd_universal_whole_table)) /\ exists bcf_quotient_lmd_universal_whole_table_row_step_previous_right. bcf_previous_code_lmd_universal_whole_table = bcf_quotient_lmd_universal_whole_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_universal_whole_table_row_step))) * bcf_previous_scale_lmd_universal_whole_table) + (bcf_right_lmd_universal_whole_table_row_step))) /\ bcf_value_lmd_universal_whole_table_row_step = bcf_left_lmd_universal_whole_table_row_step + bcf_right_lmd_universal_whole_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_universal_whole_decoded_row_code. bcf_height_lmd_universal_whole_decoded_row_code + S (bcf_row_code_lmd_universal_whole) = S ((S (n)) * bcf_row_code_scale_lmd_universal_whole)) /\ exists bcf_quotient_lmd_universal_whole_decoded_row_code. bcf_row_code_code_lmd_universal_whole = bcf_quotient_lmd_universal_whole_decoded_row_code * S ((S (n)) * bcf_row_code_scale_lmd_universal_whole) + (bcf_row_code_lmd_universal_whole))) /\ ((((exists bcf_height_lmd_universal_whole_decoded_row_scale. bcf_height_lmd_universal_whole_decoded_row_scale + S (bcf_row_scale_lmd_universal_whole) = S ((S (n)) * bcf_row_scale_scale_lmd_universal_whole)) /\ exists bcf_quotient_lmd_universal_whole_decoded_row_scale. bcf_row_scale_code_lmd_universal_whole = bcf_quotient_lmd_universal_whole_decoded_row_scale * S ((S (n)) * bcf_row_scale_scale_lmd_universal_whole) + (bcf_row_scale_lmd_universal_whole))) /\ (((exists bcf_height_lmd_universal_whole_decoded_value. bcf_height_lmd_universal_whole_decoded_value + S (C) = S ((S (k)) * bcf_row_scale_lmd_universal_whole)) /\ exists bcf_quotient_lmd_universal_whole_decoded_value. bcf_row_code_lmd_universal_whole = bcf_quotient_lmd_universal_whole_decoded_value * S ((S (k)) * bcf_row_scale_lmd_universal_whole) + (C))))))))) -> (((exists bcf_lt_gap_lmd_universal_upper_out_of_range. bcf_lt_gap_lmd_universal_upper_out_of_range + S (q) = r) /\ A = 0) \/ ((exists bcf_le_gap_lmd_universal_upper_in_range. bcf_le_gap_lmd_universal_upper_in_range + (r) = q) /\ (exists bcf_row_code_code_lmd_universal_upper bcf_row_code_scale_lmd_universal_upper bcf_row_scale_code_lmd_universal_upper bcf_row_scale_scale_lmd_universal_upper bcf_row_code_lmd_universal_upper bcf_row_scale_lmd_universal_upper. ((forall bcf_row_index_lmd_universal_upper_table. (exists bcf_lt_gap_lmd_universal_upper_table_row_bound. bcf_lt_gap_lmd_universal_upper_table_row_bound + S (bcf_row_index_lmd_universal_upper_table) = S (q)) -> exists bcf_row_code_lmd_universal_upper_table bcf_row_scale_lmd_universal_upper_table. ((((exists bcf_height_lmd_universal_upper_table_decoded_row_code. bcf_height_lmd_universal_upper_table_decoded_row_code + S (bcf_row_code_lmd_universal_upper_table) = S ((S (bcf_row_index_lmd_universal_upper_table)) * bcf_row_code_scale_lmd_universal_upper)) /\ exists bcf_quotient_lmd_universal_upper_table_decoded_row_code. bcf_row_code_code_lmd_universal_upper = bcf_quotient_lmd_universal_upper_table_decoded_row_code * S ((S (bcf_row_index_lmd_universal_upper_table)) * bcf_row_code_scale_lmd_universal_upper) + (bcf_row_code_lmd_universal_upper_table))) /\ ((((exists bcf_height_lmd_universal_upper_table_decoded_row_scale. bcf_height_lmd_universal_upper_table_decoded_row_scale + S (bcf_row_scale_lmd_universal_upper_table) = S ((S (bcf_row_index_lmd_universal_upper_table)) * bcf_row_scale_scale_lmd_universal_upper)) /\ exists bcf_quotient_lmd_universal_upper_table_decoded_row_scale. bcf_row_scale_code_lmd_universal_upper = bcf_quotient_lmd_universal_upper_table_decoded_row_scale * S ((S (bcf_row_index_lmd_universal_upper_table)) * bcf_row_scale_scale_lmd_universal_upper) + (bcf_row_scale_lmd_universal_upper_table))) /\ ((bcf_row_index_lmd_universal_upper_table = 0 /\ (forall bcf_index_lmd_universal_upper_table_zero_row. (exists bcf_lt_gap_lmd_universal_upper_table_zero_row_bound. bcf_lt_gap_lmd_universal_upper_table_zero_row_bound + S (bcf_index_lmd_universal_upper_table_zero_row) = S (q)) -> exists bcf_value_lmd_universal_upper_table_zero_row. ((((exists bcf_height_lmd_universal_upper_table_zero_row_entry. bcf_height_lmd_universal_upper_table_zero_row_entry + S (bcf_value_lmd_universal_upper_table_zero_row) = S ((S (bcf_index_lmd_universal_upper_table_zero_row)) * bcf_row_scale_lmd_universal_upper_table)) /\ exists bcf_quotient_lmd_universal_upper_table_zero_row_entry. bcf_row_code_lmd_universal_upper_table = bcf_quotient_lmd_universal_upper_table_zero_row_entry * S ((S (bcf_index_lmd_universal_upper_table_zero_row)) * bcf_row_scale_lmd_universal_upper_table) + (bcf_value_lmd_universal_upper_table_zero_row))) /\ ((bcf_index_lmd_universal_upper_table_zero_row = 0 /\ bcf_value_lmd_universal_upper_table_zero_row = 1) \/ exists bcf_predecessor_lmd_universal_upper_table_zero_row. bcf_index_lmd_universal_upper_table_zero_row = S bcf_predecessor_lmd_universal_upper_table_zero_row /\ bcf_value_lmd_universal_upper_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_universal_upper_table bcf_previous_code_lmd_universal_upper_table bcf_previous_scale_lmd_universal_upper_table. bcf_row_index_lmd_universal_upper_table = S bcf_predecessor_lmd_universal_upper_table /\ ((((exists bcf_height_lmd_universal_upper_table_decoded_previous_code. bcf_height_lmd_universal_upper_table_decoded_previous_code + S (bcf_previous_code_lmd_universal_upper_table) = S ((S (bcf_predecessor_lmd_universal_upper_table)) * bcf_row_code_scale_lmd_universal_upper)) /\ exists bcf_quotient_lmd_universal_upper_table_decoded_previous_code. bcf_row_code_code_lmd_universal_upper = bcf_quotient_lmd_universal_upper_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_universal_upper_table)) * bcf_row_code_scale_lmd_universal_upper) + (bcf_previous_code_lmd_universal_upper_table))) /\ ((((exists bcf_height_lmd_universal_upper_table_decoded_previous_scale. bcf_height_lmd_universal_upper_table_decoded_previous_scale + S (bcf_previous_scale_lmd_universal_upper_table) = S ((S (bcf_predecessor_lmd_universal_upper_table)) * bcf_row_scale_scale_lmd_universal_upper)) /\ exists bcf_quotient_lmd_universal_upper_table_decoded_previous_scale. bcf_row_scale_code_lmd_universal_upper = bcf_quotient_lmd_universal_upper_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_universal_upper_table)) * bcf_row_scale_scale_lmd_universal_upper) + (bcf_previous_scale_lmd_universal_upper_table))) /\ (forall bcf_index_lmd_universal_upper_table_row_step. (exists bcf_lt_gap_lmd_universal_upper_table_row_step_bound. bcf_lt_gap_lmd_universal_upper_table_row_step_bound + S (bcf_index_lmd_universal_upper_table_row_step) = S (q)) -> exists bcf_value_lmd_universal_upper_table_row_step. ((((exists bcf_height_lmd_universal_upper_table_row_step_entry. bcf_height_lmd_universal_upper_table_row_step_entry + S (bcf_value_lmd_universal_upper_table_row_step) = S ((S (bcf_index_lmd_universal_upper_table_row_step)) * bcf_row_scale_lmd_universal_upper_table)) /\ exists bcf_quotient_lmd_universal_upper_table_row_step_entry. bcf_row_code_lmd_universal_upper_table = bcf_quotient_lmd_universal_upper_table_row_step_entry * S ((S (bcf_index_lmd_universal_upper_table_row_step)) * bcf_row_scale_lmd_universal_upper_table) + (bcf_value_lmd_universal_upper_table_row_step))) /\ ((bcf_index_lmd_universal_upper_table_row_step = 0 /\ bcf_value_lmd_universal_upper_table_row_step = 1) \/ exists bcf_predecessor_lmd_universal_upper_table_row_step bcf_left_lmd_universal_upper_table_row_step bcf_right_lmd_universal_upper_table_row_step. bcf_index_lmd_universal_upper_table_row_step = S bcf_predecessor_lmd_universal_upper_table_row_step /\ ((((exists bcf_height_lmd_universal_upper_table_row_step_previous_left. bcf_height_lmd_universal_upper_table_row_step_previous_left + S (bcf_left_lmd_universal_upper_table_row_step) = S ((S (bcf_predecessor_lmd_universal_upper_table_row_step)) * bcf_previous_scale_lmd_universal_upper_table)) /\ exists bcf_quotient_lmd_universal_upper_table_row_step_previous_left. bcf_previous_code_lmd_universal_upper_table = bcf_quotient_lmd_universal_upper_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_universal_upper_table_row_step)) * bcf_previous_scale_lmd_universal_upper_table) + (bcf_left_lmd_universal_upper_table_row_step))) /\ ((((exists bcf_height_lmd_universal_upper_table_row_step_previous_right. bcf_height_lmd_universal_upper_table_row_step_previous_right + S (bcf_right_lmd_universal_upper_table_row_step) = S ((S (S (bcf_predecessor_lmd_universal_upper_table_row_step))) * bcf_previous_scale_lmd_universal_upper_table)) /\ exists bcf_quotient_lmd_universal_upper_table_row_step_previous_right. bcf_previous_code_lmd_universal_upper_table = bcf_quotient_lmd_universal_upper_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_universal_upper_table_row_step))) * bcf_previous_scale_lmd_universal_upper_table) + (bcf_right_lmd_universal_upper_table_row_step))) /\ bcf_value_lmd_universal_upper_table_row_step = bcf_left_lmd_universal_upper_table_row_step + bcf_right_lmd_universal_upper_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_universal_upper_decoded_row_code. bcf_height_lmd_universal_upper_decoded_row_code + S (bcf_row_code_lmd_universal_upper) = S ((S (q)) * bcf_row_code_scale_lmd_universal_upper)) /\ exists bcf_quotient_lmd_universal_upper_decoded_row_code. bcf_row_code_code_lmd_universal_upper = bcf_quotient_lmd_universal_upper_decoded_row_code * S ((S (q)) * bcf_row_code_scale_lmd_universal_upper) + (bcf_row_code_lmd_universal_upper))) /\ ((((exists bcf_height_lmd_universal_upper_decoded_row_scale. bcf_height_lmd_universal_upper_decoded_row_scale + S (bcf_row_scale_lmd_universal_upper) = S ((S (q)) * bcf_row_scale_scale_lmd_universal_upper)) /\ exists bcf_quotient_lmd_universal_upper_decoded_row_scale. bcf_row_scale_code_lmd_universal_upper = bcf_quotient_lmd_universal_upper_decoded_row_scale * S ((S (q)) * bcf_row_scale_scale_lmd_universal_upper) + (bcf_row_scale_lmd_universal_upper))) /\ (((exists bcf_height_lmd_universal_upper_decoded_value. bcf_height_lmd_universal_upper_decoded_value + S (A) = S ((S (r)) * bcf_row_scale_lmd_universal_upper)) /\ exists bcf_quotient_lmd_universal_upper_decoded_value. bcf_row_code_lmd_universal_upper = bcf_quotient_lmd_universal_upper_decoded_value * S ((S (r)) * bcf_row_scale_lmd_universal_upper) + (A))))))))) -> (((exists bcf_lt_gap_lmd_universal_digit_out_of_range. bcf_lt_gap_lmd_universal_digit_out_of_range + S (a) = b) /\ D = 0) \/ ((exists bcf_le_gap_lmd_universal_digit_in_range. bcf_le_gap_lmd_universal_digit_in_range + (b) = a) /\ (exists bcf_row_code_code_lmd_universal_digit bcf_row_code_scale_lmd_universal_digit bcf_row_scale_code_lmd_universal_digit bcf_row_scale_scale_lmd_universal_digit bcf_row_code_lmd_universal_digit bcf_row_scale_lmd_universal_digit. ((forall bcf_row_index_lmd_universal_digit_table. (exists bcf_lt_gap_lmd_universal_digit_table_row_bound. bcf_lt_gap_lmd_universal_digit_table_row_bound + S (bcf_row_index_lmd_universal_digit_table) = S (a)) -> exists bcf_row_code_lmd_universal_digit_table bcf_row_scale_lmd_universal_digit_table. ((((exists bcf_height_lmd_universal_digit_table_decoded_row_code. bcf_height_lmd_universal_digit_table_decoded_row_code + S (bcf_row_code_lmd_universal_digit_table) = S ((S (bcf_row_index_lmd_universal_digit_table)) * bcf_row_code_scale_lmd_universal_digit)) /\ exists bcf_quotient_lmd_universal_digit_table_decoded_row_code. bcf_row_code_code_lmd_universal_digit = bcf_quotient_lmd_universal_digit_table_decoded_row_code * S ((S (bcf_row_index_lmd_universal_digit_table)) * bcf_row_code_scale_lmd_universal_digit) + (bcf_row_code_lmd_universal_digit_table))) /\ ((((exists bcf_height_lmd_universal_digit_table_decoded_row_scale. bcf_height_lmd_universal_digit_table_decoded_row_scale + S (bcf_row_scale_lmd_universal_digit_table) = S ((S (bcf_row_index_lmd_universal_digit_table)) * bcf_row_scale_scale_lmd_universal_digit)) /\ exists bcf_quotient_lmd_universal_digit_table_decoded_row_scale. bcf_row_scale_code_lmd_universal_digit = bcf_quotient_lmd_universal_digit_table_decoded_row_scale * S ((S (bcf_row_index_lmd_universal_digit_table)) * bcf_row_scale_scale_lmd_universal_digit) + (bcf_row_scale_lmd_universal_digit_table))) /\ ((bcf_row_index_lmd_universal_digit_table = 0 /\ (forall bcf_index_lmd_universal_digit_table_zero_row. (exists bcf_lt_gap_lmd_universal_digit_table_zero_row_bound. bcf_lt_gap_lmd_universal_digit_table_zero_row_bound + S (bcf_index_lmd_universal_digit_table_zero_row) = S (a)) -> exists bcf_value_lmd_universal_digit_table_zero_row. ((((exists bcf_height_lmd_universal_digit_table_zero_row_entry. bcf_height_lmd_universal_digit_table_zero_row_entry + S (bcf_value_lmd_universal_digit_table_zero_row) = S ((S (bcf_index_lmd_universal_digit_table_zero_row)) * bcf_row_scale_lmd_universal_digit_table)) /\ exists bcf_quotient_lmd_universal_digit_table_zero_row_entry. bcf_row_code_lmd_universal_digit_table = bcf_quotient_lmd_universal_digit_table_zero_row_entry * S ((S (bcf_index_lmd_universal_digit_table_zero_row)) * bcf_row_scale_lmd_universal_digit_table) + (bcf_value_lmd_universal_digit_table_zero_row))) /\ ((bcf_index_lmd_universal_digit_table_zero_row = 0 /\ bcf_value_lmd_universal_digit_table_zero_row = 1) \/ exists bcf_predecessor_lmd_universal_digit_table_zero_row. bcf_index_lmd_universal_digit_table_zero_row = S bcf_predecessor_lmd_universal_digit_table_zero_row /\ bcf_value_lmd_universal_digit_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_universal_digit_table bcf_previous_code_lmd_universal_digit_table bcf_previous_scale_lmd_universal_digit_table. bcf_row_index_lmd_universal_digit_table = S bcf_predecessor_lmd_universal_digit_table /\ ((((exists bcf_height_lmd_universal_digit_table_decoded_previous_code. bcf_height_lmd_universal_digit_table_decoded_previous_code + S (bcf_previous_code_lmd_universal_digit_table) = S ((S (bcf_predecessor_lmd_universal_digit_table)) * bcf_row_code_scale_lmd_universal_digit)) /\ exists bcf_quotient_lmd_universal_digit_table_decoded_previous_code. bcf_row_code_code_lmd_universal_digit = bcf_quotient_lmd_universal_digit_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_universal_digit_table)) * bcf_row_code_scale_lmd_universal_digit) + (bcf_previous_code_lmd_universal_digit_table))) /\ ((((exists bcf_height_lmd_universal_digit_table_decoded_previous_scale. bcf_height_lmd_universal_digit_table_decoded_previous_scale + S (bcf_previous_scale_lmd_universal_digit_table) = S ((S (bcf_predecessor_lmd_universal_digit_table)) * bcf_row_scale_scale_lmd_universal_digit)) /\ exists bcf_quotient_lmd_universal_digit_table_decoded_previous_scale. bcf_row_scale_code_lmd_universal_digit = bcf_quotient_lmd_universal_digit_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_universal_digit_table)) * bcf_row_scale_scale_lmd_universal_digit) + (bcf_previous_scale_lmd_universal_digit_table))) /\ (forall bcf_index_lmd_universal_digit_table_row_step. (exists bcf_lt_gap_lmd_universal_digit_table_row_step_bound. bcf_lt_gap_lmd_universal_digit_table_row_step_bound + S (bcf_index_lmd_universal_digit_table_row_step) = S (a)) -> exists bcf_value_lmd_universal_digit_table_row_step. ((((exists bcf_height_lmd_universal_digit_table_row_step_entry. bcf_height_lmd_universal_digit_table_row_step_entry + S (bcf_value_lmd_universal_digit_table_row_step) = S ((S (bcf_index_lmd_universal_digit_table_row_step)) * bcf_row_scale_lmd_universal_digit_table)) /\ exists bcf_quotient_lmd_universal_digit_table_row_step_entry. bcf_row_code_lmd_universal_digit_table = bcf_quotient_lmd_universal_digit_table_row_step_entry * S ((S (bcf_index_lmd_universal_digit_table_row_step)) * bcf_row_scale_lmd_universal_digit_table) + (bcf_value_lmd_universal_digit_table_row_step))) /\ ((bcf_index_lmd_universal_digit_table_row_step = 0 /\ bcf_value_lmd_universal_digit_table_row_step = 1) \/ exists bcf_predecessor_lmd_universal_digit_table_row_step bcf_left_lmd_universal_digit_table_row_step bcf_right_lmd_universal_digit_table_row_step. bcf_index_lmd_universal_digit_table_row_step = S bcf_predecessor_lmd_universal_digit_table_row_step /\ ((((exists bcf_height_lmd_universal_digit_table_row_step_previous_left. bcf_height_lmd_universal_digit_table_row_step_previous_left + S (bcf_left_lmd_universal_digit_table_row_step) = S ((S (bcf_predecessor_lmd_universal_digit_table_row_step)) * bcf_previous_scale_lmd_universal_digit_table)) /\ exists bcf_quotient_lmd_universal_digit_table_row_step_previous_left. bcf_previous_code_lmd_universal_digit_table = bcf_quotient_lmd_universal_digit_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_universal_digit_table_row_step)) * bcf_previous_scale_lmd_universal_digit_table) + (bcf_left_lmd_universal_digit_table_row_step))) /\ ((((exists bcf_height_lmd_universal_digit_table_row_step_previous_right. bcf_height_lmd_universal_digit_table_row_step_previous_right + S (bcf_right_lmd_universal_digit_table_row_step) = S ((S (S (bcf_predecessor_lmd_universal_digit_table_row_step))) * bcf_previous_scale_lmd_universal_digit_table)) /\ exists bcf_quotient_lmd_universal_digit_table_row_step_previous_right. bcf_previous_code_lmd_universal_digit_table = bcf_quotient_lmd_universal_digit_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_universal_digit_table_row_step))) * bcf_previous_scale_lmd_universal_digit_table) + (bcf_right_lmd_universal_digit_table_row_step))) /\ bcf_value_lmd_universal_digit_table_row_step = bcf_left_lmd_universal_digit_table_row_step + bcf_right_lmd_universal_digit_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_universal_digit_decoded_row_code. bcf_height_lmd_universal_digit_decoded_row_code + S (bcf_row_code_lmd_universal_digit) = S ((S (a)) * bcf_row_code_scale_lmd_universal_digit)) /\ exists bcf_quotient_lmd_universal_digit_decoded_row_code. bcf_row_code_code_lmd_universal_digit = bcf_quotient_lmd_universal_digit_decoded_row_code * S ((S (a)) * bcf_row_code_scale_lmd_universal_digit) + (bcf_row_code_lmd_universal_digit))) /\ ((((exists bcf_height_lmd_universal_digit_decoded_row_scale. bcf_height_lmd_universal_digit_decoded_row_scale + S (bcf_row_scale_lmd_universal_digit) = S ((S (a)) * bcf_row_scale_scale_lmd_universal_digit)) /\ exists bcf_quotient_lmd_universal_digit_decoded_row_scale. bcf_row_scale_code_lmd_universal_digit = bcf_quotient_lmd_universal_digit_decoded_row_scale * S ((S (a)) * bcf_row_scale_scale_lmd_universal_digit) + (bcf_row_scale_lmd_universal_digit))) /\ (((exists bcf_height_lmd_universal_digit_decoded_value. bcf_height_lmd_universal_digit_decoded_value + S (D) = S ((S (b)) * bcf_row_scale_lmd_universal_digit)) /\ exists bcf_quotient_lmd_universal_digit_decoded_value. bcf_row_code_lmd_universal_digit = bcf_quotient_lmd_universal_digit_decoded_value * S ((S (b)) * bcf_row_scale_lmd_universal_digit) + (D))))))))) -> (exists lmd_mod_left_universal_result lmd_mod_right_universal_result. (C) + (p) * lmd_mod_left_universal_result = (A * D) + (p) * lmd_mod_right_universal_result)) -> (forall p n k l qb qc db dc ub uc vb vc z t s w P C T. ((~(p = 1) /\ forall frm_prime_left_lmd_terminal_prime frm_prime_right_lmd_terminal_prime. p = frm_prime_left_lmd_terminal_prime * frm_prime_right_lmd_terminal_prime -> frm_prime_left_lmd_terminal_prime = 1 \/ frm_prime_right_lmd_terminal_prime = 1)) -> (((((exists ff_h_lmd_full_n_initial. ff_h_lmd_full_n_initial + S (n) = S ((S (0)) * qc)) /\ exists ff_q_lmd_full_n_initial. qb = ff_q_lmd_full_n_initial * S ((S (0)) * qc) + (n))) /\ forall lmd_index_full_n. (exists lmd_gap_full_n_index. lmd_gap_full_n_index + S (lmd_index_full_n) = (l)) -> exists lmd_current_full_n lmd_successor_full_n lmd_digit_full_n. ((((exists ff_h_lmd_full_n_current. ff_h_lmd_full_n_current + S (lmd_current_full_n) = S ((S (lmd_index_full_n)) * qc)) /\ exists ff_q_lmd_full_n_current. qb = ff_q_lmd_full_n_current * S ((S (lmd_index_full_n)) * qc) + (lmd_current_full_n))) /\ ((((exists ff_h_lmd_full_n_successor. ff_h_lmd_full_n_successor + S (lmd_successor_full_n) = S ((S (S lmd_index_full_n)) * qc)) /\ exists ff_q_lmd_full_n_successor. qb = ff_q_lmd_full_n_successor * S ((S (S lmd_index_full_n)) * qc) + (lmd_successor_full_n))) /\ ((((exists ff_h_lmd_full_n_digit. ff_h_lmd_full_n_digit + S (lmd_digit_full_n) = S ((S (lmd_index_full_n)) * dc)) /\ exists ff_q_lmd_full_n_digit. db = ff_q_lmd_full_n_digit * S ((S (lmd_index_full_n)) * dc) + (lmd_digit_full_n))) /\ ((lmd_current_full_n = (p) * (lmd_successor_full_n) + (lmd_digit_full_n)) /\ (exists lmd_gap_full_n_digit_bound. lmd_gap_full_n_digit_bound + S (lmd_digit_full_n) = (p)))))))) -> (((((exists ff_h_lmd_full_k_initial. ff_h_lmd_full_k_initial + S (k) = S ((S (0)) * uc)) /\ exists ff_q_lmd_full_k_initial. ub = ff_q_lmd_full_k_initial * S ((S (0)) * uc) + (k))) /\ forall lmd_index_full_k. (exists lmd_gap_full_k_index. lmd_gap_full_k_index + S (lmd_index_full_k) = (l)) -> exists lmd_current_full_k lmd_successor_full_k lmd_digit_full_k. ((((exists ff_h_lmd_full_k_current. ff_h_lmd_full_k_current + S (lmd_current_full_k) = S ((S (lmd_index_full_k)) * uc)) /\ exists ff_q_lmd_full_k_current. ub = ff_q_lmd_full_k_current * S ((S (lmd_index_full_k)) * uc) + (lmd_current_full_k))) /\ ((((exists ff_h_lmd_full_k_successor. ff_h_lmd_full_k_successor + S (lmd_successor_full_k) = S ((S (S lmd_index_full_k)) * uc)) /\ exists ff_q_lmd_full_k_successor. ub = ff_q_lmd_full_k_successor * S ((S (S lmd_index_full_k)) * uc) + (lmd_successor_full_k))) /\ ((((exists ff_h_lmd_full_k_digit. ff_h_lmd_full_k_digit + S (lmd_digit_full_k) = S ((S (lmd_index_full_k)) * vc)) /\ exists ff_q_lmd_full_k_digit. vb = ff_q_lmd_full_k_digit * S ((S (lmd_index_full_k)) * vc) + (lmd_digit_full_k))) /\ ((lmd_current_full_k = (p) * (lmd_successor_full_k) + (lmd_digit_full_k)) /\ (exists lmd_gap_full_k_digit_bound. lmd_gap_full_k_digit_bound + S (lmd_digit_full_k) = (p)))))))) -> (forall lmd_choose_index_full_quotient_choose. (exists lmd_gap_full_quotient_choose_bound. lmd_gap_full_quotient_choose_bound + S (lmd_choose_index_full_quotient_choose) = (S l)) -> exists lmd_choose_upper_full_quotient_choose lmd_choose_lower_full_quotient_choose lmd_choose_value_full_quotient_choose. ((((exists ff_h_lmd_full_quotient_choose_upper. ff_h_lmd_full_quotient_choose_upper + S (lmd_choose_upper_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * qc)) /\ exists ff_q_lmd_full_quotient_choose_upper. qb = ff_q_lmd_full_quotient_choose_upper * S ((S (lmd_choose_index_full_quotient_choose)) * qc) + (lmd_choose_upper_full_quotient_choose))) /\ ((((exists ff_h_lmd_full_quotient_choose_lower. ff_h_lmd_full_quotient_choose_lower + S (lmd_choose_lower_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * uc)) /\ exists ff_q_lmd_full_quotient_choose_lower. ub = ff_q_lmd_full_quotient_choose_lower * S ((S (lmd_choose_index_full_quotient_choose)) * uc) + (lmd_choose_lower_full_quotient_choose))) /\ ((((exists ff_h_lmd_full_quotient_choose_result. ff_h_lmd_full_quotient_choose_result + S (lmd_choose_value_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * t)) /\ exists ff_q_lmd_full_quotient_choose_result. z = ff_q_lmd_full_quotient_choose_result * S ((S (lmd_choose_index_full_quotient_choose)) * t) + (lmd_choose_value_full_quotient_choose))) /\ (((exists bcf_lt_gap_lmd_full_quotient_choose_choose_out_of_range. bcf_lt_gap_lmd_full_quotient_choose_choose_out_of_range + S (lmd_choose_upper_full_quotient_choose) = lmd_choose_lower_full_quotient_choose) /\ lmd_choose_value_full_quotient_choose = 0) \/ ((exists bcf_le_gap_lmd_full_quotient_choose_choose_in_range. bcf_le_gap_lmd_full_quotient_choose_choose_in_range + (lmd_choose_lower_full_quotient_choose) = lmd_choose_upper_full_quotient_choose) /\ (exists bcf_row_code_code_lmd_full_quotient_choose_choose bcf_row_code_scale_lmd_full_quotient_choose_choose bcf_row_scale_code_lmd_full_quotient_choose_choose bcf_row_scale_scale_lmd_full_quotient_choose_choose bcf_row_code_lmd_full_quotient_choose_choose bcf_row_scale_lmd_full_quotient_choose_choose. ((forall bcf_row_index_lmd_full_quotient_choose_choose_table. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_bound + S (bcf_row_index_lmd_full_quotient_choose_choose_table) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_row_code_lmd_full_quotient_choose_choose_table bcf_row_scale_lmd_full_quotient_choose_choose_table. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_code. bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_code + S (bcf_row_code_lmd_full_quotient_choose_choose_table) = S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_row_code_lmd_full_quotient_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_scale. bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_full_quotient_choose_choose_table) = S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_row_scale_lmd_full_quotient_choose_choose_table))) /\ ((bcf_row_index_lmd_full_quotient_choose_choose_table = 0 /\ (forall bcf_index_lmd_full_quotient_choose_choose_table_zero_row. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_zero_row_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_zero_row_bound + S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_value_lmd_full_quotient_choose_choose_table_zero_row. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_zero_row_entry. bcf_height_lmd_full_quotient_choose_choose_table_zero_row_entry + S (bcf_value_lmd_full_quotient_choose_choose_table_zero_row) = S ((S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_zero_row_entry. bcf_row_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_zero_row_entry * S ((S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_quotient_choose_choose_table) + (bcf_value_lmd_full_quotient_choose_choose_table_zero_row))) /\ ((bcf_index_lmd_full_quotient_choose_choose_table_zero_row = 0 /\ bcf_value_lmd_full_quotient_choose_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table_zero_row. bcf_index_lmd_full_quotient_choose_choose_table_zero_row = S bcf_predecessor_lmd_full_quotient_choose_choose_table_zero_row /\ bcf_value_lmd_full_quotient_choose_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table bcf_previous_code_lmd_full_quotient_choose_choose_table bcf_previous_scale_lmd_full_quotient_choose_choose_table. bcf_row_index_lmd_full_quotient_choose_choose_table = S bcf_predecessor_lmd_full_quotient_choose_choose_table /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_code. bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_full_quotient_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_previous_code_lmd_full_quotient_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_scale. bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_quotient_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_previous_scale_lmd_full_quotient_choose_choose_table))) /\ (forall bcf_index_lmd_full_quotient_choose_choose_table_row_step. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_step_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_step_bound + S (bcf_index_lmd_full_quotient_choose_choose_table_row_step) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_value_lmd_full_quotient_choose_choose_table_row_step. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_entry. bcf_height_lmd_full_quotient_choose_choose_table_row_step_entry + S (bcf_value_lmd_full_quotient_choose_choose_table_row_step) = S ((S (bcf_index_lmd_full_quotient_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_entry. bcf_row_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_entry * S ((S (bcf_index_lmd_full_quotient_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_quotient_choose_choose_table) + (bcf_value_lmd_full_quotient_choose_choose_table_row_step))) /\ ((bcf_index_lmd_full_quotient_choose_choose_table_row_step = 0 /\ bcf_value_lmd_full_quotient_choose_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step bcf_left_lmd_full_quotient_choose_choose_table_row_step bcf_right_lmd_full_quotient_choose_choose_table_row_step. bcf_index_lmd_full_quotient_choose_choose_table_row_step = S bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_left. bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_left + S (bcf_left_lmd_full_quotient_choose_choose_table_row_step) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_left. bcf_previous_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_quotient_choose_choose_table) + (bcf_left_lmd_full_quotient_choose_choose_table_row_step))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_right. bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_right + S (bcf_right_lmd_full_quotient_choose_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_right. bcf_previous_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_quotient_choose_choose_table) + (bcf_right_lmd_full_quotient_choose_choose_table_row_step))) /\ bcf_value_lmd_full_quotient_choose_choose_table_row_step = bcf_left_lmd_full_quotient_choose_choose_table_row_step + bcf_right_lmd_full_quotient_choose_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_decoded_row_code. bcf_height_lmd_full_quotient_choose_choose_decoded_row_code + S (bcf_row_code_lmd_full_quotient_choose_choose) = S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_code * S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_row_code_lmd_full_quotient_choose_choose))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_decoded_row_scale. bcf_height_lmd_full_quotient_choose_choose_decoded_row_scale + S (bcf_row_scale_lmd_full_quotient_choose_choose) = S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_scale * S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_row_scale_lmd_full_quotient_choose_choose))) /\ (((exists bcf_height_lmd_full_quotient_choose_choose_decoded_value. bcf_height_lmd_full_quotient_choose_choose_decoded_value + S (lmd_choose_value_full_quotient_choose) = S ((S (lmd_choose_lower_full_quotient_choose)) * bcf_row_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_value. bcf_row_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_value * S ((S (lmd_choose_lower_full_quotient_choose)) * bcf_row_scale_lmd_full_quotient_choose_choose) + (lmd_choose_value_full_quotient_choose))))))))))))) -> (forall lmd_choose_index_full_digit_choose. (exists lmd_gap_full_digit_choose_bound. lmd_gap_full_digit_choose_bound + S (lmd_choose_index_full_digit_choose) = (l)) -> exists lmd_choose_upper_full_digit_choose lmd_choose_lower_full_digit_choose lmd_choose_value_full_digit_choose. ((((exists ff_h_lmd_full_digit_choose_upper. ff_h_lmd_full_digit_choose_upper + S (lmd_choose_upper_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * dc)) /\ exists ff_q_lmd_full_digit_choose_upper. db = ff_q_lmd_full_digit_choose_upper * S ((S (lmd_choose_index_full_digit_choose)) * dc) + (lmd_choose_upper_full_digit_choose))) /\ ((((exists ff_h_lmd_full_digit_choose_lower. ff_h_lmd_full_digit_choose_lower + S (lmd_choose_lower_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * vc)) /\ exists ff_q_lmd_full_digit_choose_lower. vb = ff_q_lmd_full_digit_choose_lower * S ((S (lmd_choose_index_full_digit_choose)) * vc) + (lmd_choose_lower_full_digit_choose))) /\ ((((exists ff_h_lmd_full_digit_choose_result. ff_h_lmd_full_digit_choose_result + S (lmd_choose_value_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * w)) /\ exists ff_q_lmd_full_digit_choose_result. s = ff_q_lmd_full_digit_choose_result * S ((S (lmd_choose_index_full_digit_choose)) * w) + (lmd_choose_value_full_digit_choose))) /\ (((exists bcf_lt_gap_lmd_full_digit_choose_choose_out_of_range. bcf_lt_gap_lmd_full_digit_choose_choose_out_of_range + S (lmd_choose_upper_full_digit_choose) = lmd_choose_lower_full_digit_choose) /\ lmd_choose_value_full_digit_choose = 0) \/ ((exists bcf_le_gap_lmd_full_digit_choose_choose_in_range. bcf_le_gap_lmd_full_digit_choose_choose_in_range + (lmd_choose_lower_full_digit_choose) = lmd_choose_upper_full_digit_choose) /\ (exists bcf_row_code_code_lmd_full_digit_choose_choose bcf_row_code_scale_lmd_full_digit_choose_choose bcf_row_scale_code_lmd_full_digit_choose_choose bcf_row_scale_scale_lmd_full_digit_choose_choose bcf_row_code_lmd_full_digit_choose_choose bcf_row_scale_lmd_full_digit_choose_choose. ((forall bcf_row_index_lmd_full_digit_choose_choose_table. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_row_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_row_bound + S (bcf_row_index_lmd_full_digit_choose_choose_table) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_row_code_lmd_full_digit_choose_choose_table bcf_row_scale_lmd_full_digit_choose_choose_table. ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_row_code. bcf_height_lmd_full_digit_choose_choose_table_decoded_row_code + S (bcf_row_code_lmd_full_digit_choose_choose_table) = S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_row_code_lmd_full_digit_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_row_scale. bcf_height_lmd_full_digit_choose_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_choose_choose_table) = S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_row_scale_lmd_full_digit_choose_choose_table))) /\ ((bcf_row_index_lmd_full_digit_choose_choose_table = 0 /\ (forall bcf_index_lmd_full_digit_choose_choose_table_zero_row. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_zero_row_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_zero_row_bound + S (bcf_index_lmd_full_digit_choose_choose_table_zero_row) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_value_lmd_full_digit_choose_choose_table_zero_row. ((((exists bcf_height_lmd_full_digit_choose_choose_table_zero_row_entry. bcf_height_lmd_full_digit_choose_choose_table_zero_row_entry + S (bcf_value_lmd_full_digit_choose_choose_table_zero_row) = S ((S (bcf_index_lmd_full_digit_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_zero_row_entry. bcf_row_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_zero_row_entry * S ((S (bcf_index_lmd_full_digit_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_digit_choose_choose_table) + (bcf_value_lmd_full_digit_choose_choose_table_zero_row))) /\ ((bcf_index_lmd_full_digit_choose_choose_table_zero_row = 0 /\ bcf_value_lmd_full_digit_choose_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table_zero_row. bcf_index_lmd_full_digit_choose_choose_table_zero_row = S bcf_predecessor_lmd_full_digit_choose_choose_table_zero_row /\ bcf_value_lmd_full_digit_choose_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table bcf_previous_code_lmd_full_digit_choose_choose_table bcf_previous_scale_lmd_full_digit_choose_choose_table. bcf_row_index_lmd_full_digit_choose_choose_table = S bcf_predecessor_lmd_full_digit_choose_choose_table /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_code. bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_full_digit_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_previous_code_lmd_full_digit_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_scale. bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_digit_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_previous_scale_lmd_full_digit_choose_choose_table))) /\ (forall bcf_index_lmd_full_digit_choose_choose_table_row_step. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_row_step_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_row_step_bound + S (bcf_index_lmd_full_digit_choose_choose_table_row_step) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_value_lmd_full_digit_choose_choose_table_row_step. ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_entry. bcf_height_lmd_full_digit_choose_choose_table_row_step_entry + S (bcf_value_lmd_full_digit_choose_choose_table_row_step) = S ((S (bcf_index_lmd_full_digit_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_entry. bcf_row_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_entry * S ((S (bcf_index_lmd_full_digit_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_digit_choose_choose_table) + (bcf_value_lmd_full_digit_choose_choose_table_row_step))) /\ ((bcf_index_lmd_full_digit_choose_choose_table_row_step = 0 /\ bcf_value_lmd_full_digit_choose_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table_row_step bcf_left_lmd_full_digit_choose_choose_table_row_step bcf_right_lmd_full_digit_choose_choose_table_row_step. bcf_index_lmd_full_digit_choose_choose_table_row_step = S bcf_predecessor_lmd_full_digit_choose_choose_table_row_step /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_left. bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_left + S (bcf_left_lmd_full_digit_choose_choose_table_row_step) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_left. bcf_previous_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_digit_choose_choose_table) + (bcf_left_lmd_full_digit_choose_choose_table_row_step))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_right. bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_right + S (bcf_right_lmd_full_digit_choose_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_right. bcf_previous_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_digit_choose_choose_table) + (bcf_right_lmd_full_digit_choose_choose_table_row_step))) /\ bcf_value_lmd_full_digit_choose_choose_table_row_step = bcf_left_lmd_full_digit_choose_choose_table_row_step + bcf_right_lmd_full_digit_choose_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_decoded_row_code. bcf_height_lmd_full_digit_choose_choose_decoded_row_code + S (bcf_row_code_lmd_full_digit_choose_choose) = S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_row_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_row_code * S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_row_code_lmd_full_digit_choose_choose))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_decoded_row_scale. bcf_height_lmd_full_digit_choose_choose_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_choose_choose) = S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_row_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_row_scale * S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_row_scale_lmd_full_digit_choose_choose))) /\ (((exists bcf_height_lmd_full_digit_choose_choose_decoded_value. bcf_height_lmd_full_digit_choose_choose_decoded_value + S (lmd_choose_value_full_digit_choose) = S ((S (lmd_choose_lower_full_digit_choose)) * bcf_row_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_value. bcf_row_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_value * S ((S (lmd_choose_lower_full_digit_choose)) * bcf_row_scale_lmd_full_digit_choose_choose) + (lmd_choose_value_full_digit_choose))))))))))))) -> (exists ff_u_lmd_full_product ff_v_lmd_full_product. ((((exists ff_h_lmd_full_product_start. ff_h_lmd_full_product_start + S (1) = S ((S (0)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_start. ff_u_lmd_full_product = ff_q_lmd_full_product_start * S ((S (0)) * ff_v_lmd_full_product) + (1))) /\ ((((exists ff_h_lmd_full_product_terminal. ff_h_lmd_full_product_terminal + S (P) = S ((S (l)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_terminal. ff_u_lmd_full_product = ff_q_lmd_full_product_terminal * S ((S (l)) * ff_v_lmd_full_product) + (P))) /\ forall ff_i_lmd_full_product. (exists ff_lt_lmd_full_product_bound. ff_lt_lmd_full_product_bound + S ff_i_lmd_full_product = l) -> exists ff_p_lmd_full_product ff_r_lmd_full_product ff_s_lmd_full_product. ((((exists ff_h_lmd_full_product_factor. ff_h_lmd_full_product_factor + S (ff_p_lmd_full_product) = S ((S (ff_i_lmd_full_product)) * w)) /\ exists ff_q_lmd_full_product_factor. s = ff_q_lmd_full_product_factor * S ((S (ff_i_lmd_full_product)) * w) + (ff_p_lmd_full_product))) /\ ((((exists ff_h_lmd_full_product_partial. ff_h_lmd_full_product_partial + S (ff_r_lmd_full_product) = S ((S (ff_i_lmd_full_product)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_partial. ff_u_lmd_full_product = ff_q_lmd_full_product_partial * S ((S (ff_i_lmd_full_product)) * ff_v_lmd_full_product) + (ff_r_lmd_full_product))) /\ ((((exists ff_h_lmd_full_product_successor. ff_h_lmd_full_product_successor + S (ff_s_lmd_full_product) = S ((S (S ff_i_lmd_full_product)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_successor. ff_u_lmd_full_product = ff_q_lmd_full_product_successor * S ((S (S ff_i_lmd_full_product)) * ff_v_lmd_full_product) + (ff_s_lmd_full_product))) /\ ff_s_lmd_full_product = ff_r_lmd_full_product * ff_p_lmd_full_product)))))) -> (((exists ff_h_lmd_full_coefficient_start. ff_h_lmd_full_coefficient_start + S (C) = S ((S (0)) * t)) /\ exists ff_q_lmd_full_coefficient_start. z = ff_q_lmd_full_coefficient_start * S ((S (0)) * t) + (C))) -> (((exists ff_h_lmd_full_coefficient_end. ff_h_lmd_full_coefficient_end + S (T) = S ((S (l)) * t)) /\ exists ff_q_lmd_full_coefficient_end. z = ff_q_lmd_full_coefficient_end * S ((S (l)) * t) + (T))) -> (((exists ff_h_lmd_terminal_upper_zero. ff_h_lmd_terminal_upper_zero + S (0) = S ((S (l)) * qc)) /\ exists ff_q_lmd_terminal_upper_zero. qb = ff_q_lmd_terminal_upper_zero * S ((S (l)) * qc) + (0))) -> (((exists ff_h_lmd_terminal_lower_zero. ff_h_lmd_terminal_lower_zero + S (0) = S ((S (l)) * uc)) /\ exists ff_q_lmd_terminal_lower_zero. ub = ff_q_lmd_terminal_lower_zero * S ((S (l)) * uc) + (0))) -> (exists lmd_mod_left_terminal_final lmd_mod_right_terminal_final. (C) + (p) * lmd_mod_left_terminal_final = (P) + (p) * lmd_mod_right_terminal_final))

Constructive proof overview

Generated structural guide

For genuinely terminating quotient chains the full multidigit Lucas congruence is exactly the product of their beta-coded digit binomial coefficients, conditional solely on its explicit one-step law.

The unchanged tactic script uses 5 declared prerequisites and contains 90 exact native proof lines.

dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged

Historical empty-context replay experiment only; that experiment persisted no certificate and granted no release authority. Current checked use follows separately sealed, independently verified proof bundles; there is no Stable promotion.

Proof neighborhood

Direct dependencies

LU001H lucas_choose_prefix_point zero_add Stable theorem; checked-use authorized choose_zero Alpha theorem; checked-use authorized LU001I lucas_multidigit_congruence_from_one_step one_mul Stable theorem; checked-use authorized

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

90 script commands · 16 reading checkpoints · 4 local claims

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)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–10

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro hstep
  2. L2
    intro p
  3. L3
    intro n
  4. L4
    intro k
  5. L5
    intro l
  6. L6
    intro qb
  7. L7
    intro qc
  8. L8
    intro db
  9. L9
    intro dc
  10. L10
    intro ub
02Fix variables and assumptionsL11–20

Work with arbitrary variables or the premises of the current implication.

  1. L11
    intro uc
  2. L12
    intro vb
  3. L13
    intro vc
  4. L14
    intro z
  5. L15
    intro t
  6. L16
    intro s
  7. L17
    intro w
  8. L18
    intro P
  9. L19
    intro C
  10. L20
    intro T
03Fix variables and assumptionsL21–30

Work with arbitrary variables or the premises of the current implication.

  1. L21
    intro hprime
  2. L22
    intro hnchain
  3. L23
    intro hkchain
  4. L24
    intro hquotientchoose
  5. L25
    intro hdigitchoose
  6. L26
    intro hproduct
  7. L27
    intro hstart
  8. L28
    intro hterminal
  9. L29
    intro hnzero
  10. L30
    intro hkzero
04Establish hchooseL31–40

Establish this local claim before using it. It is not an additional assumption.

  1. L31
    have hchoose : Choose(0,0,T)Definitions: Choose
  2. L32
    specialize lucas_choose_prefix_point qb
  3. L33
    specialize lucas_choose_prefix_point qc
  4. L34
    specialize lucas_choose_prefix_point ub
  5. L35
    specialize lucas_choose_prefix_point uc
  6. L36
    specialize lucas_choose_prefix_point z
  7. L37
    specialize lucas_choose_prefix_point t
  8. L38
    specialize lucas_choose_prefix_point (S l)
  9. L39
    specialize lucas_choose_prefix_point l
  10. L40
    specialize lucas_choose_prefix_point 0
05Use earlier factsL41–44

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L41
    specialize lucas_choose_prefix_point 0
  2. L42
    specialize lucas_choose_prefix_point T
  3. L43
    apply lucas_choose_prefix_point
  4. L44
    exact hquotientchoose
06Construct an explicit witnessL45–45

Supply the displayed value, then prove that it has the required property.

  1. L45
    exists 0
07Use earlier factsL46–49

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L46
    apply zero_add
  2. L47
    exact hnzero
  3. L48
    exact hkzero
  4. L49
    exact hterminal
08Establish honeL50–54

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose zero.

  1. L50
    have hone : T = 1
  2. L51
    specialize choose_zero 0
  3. L52
    specialize choose_zero T
  4. L53
    apply choose_zero
  5. L54
    exact hchoose
09Establish hglobalL55–64

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lucas multidigit congruence from one step.

  1. L55
    have hglobal · expand full local formula (692 characters)have hglobal : ∀ p. ∀ n. ∀ k. ∀ l. ∀ qb. ∀ qc. ∀ db. ∀ dc. ∀ ub. ∀ uc. ∀ vb. ∀ vc. ∀ z. ∀ t. ∀ s. ∀ w. ∀ P. ∀ C. ∀ T. Prime(p) → BetaAt(qb,qc,0,n) ∧ (∀ x. Lt(x,l) → ∃ y. ∃ m. ∃ i. BetaAt(qb,qc,x,y) ∧ (BetaAt(qb,qc,S x,m) ∧ (BetaAt(db,dc,x,i) ∧ Digit(p,y,m,i)))) → BetaAt(ub,uc,0,k) ∧ (∀ x. Lt(x,l) → ∃ y. ∃ m. ∃ i. BetaAt(ub,uc,x,y) ∧ (BetaAt(ub,uc,S x,m) ∧ (BetaAt(vb,vc,x,i) ∧ Digit(p,y,m,i)))) → (∀ x. Lt(x,S l) → ∃ y. ∃ m. ∃ i. BetaAt(qb,qc,x,y) ∧ (BetaAt(ub,uc,x,m) ∧ (BetaAt(z,t,x,i) ∧ Choose(y,m,i)))) → (∀ x. Lt(x,l) → ∃ y. ∃ m. ∃ i. BetaAt(db,dc,x,y) ∧ (BetaAt(vb,vc,x,m) ∧ (BetaAt(s,w,x,i) ∧ Choose(y,m,i)))) → Product(s,w,l,P) → BetaAt(z,t,0,C) → BetaAt(z,t,l,T) → ModEq(p,C,T · P)
    Definitions: DigitLtPrimeModEqBetaAtProductChoose
  2. L56
    apply lucas_multidigit_congruence_from_one_step
  3. L57
    exact hstep
  4. L58
    specialize hglobal p
  5. L59
    specialize hglobal n
  6. L60
    specialize hglobal k
  7. L61
    specialize hglobal l
  8. L62
    specialize hglobal qb
  9. L63
    specialize hglobal qc
  10. L64
    specialize hglobal db
10Use earlier factsL65–74

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L65
    specialize hglobal dc
  2. L66
    specialize hglobal ub
  3. L67
    specialize hglobal uc
  4. L68
    specialize hglobal vb
  5. L69
    specialize hglobal vc
  6. L70
    specialize hglobal z
  7. L71
    specialize hglobal t
  8. L72
    specialize hglobal s
  9. L73
    specialize hglobal w
  10. L74
    specialize hglobal P
11Use earlier factsL75–76

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L75
    specialize hglobal C
  2. L76
    specialize hglobal T
12Establish hfullL77–86

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hglobal.

  1. L77
    have hfull : (exists lmd_mod_left_full_result lmd_mod_right_full_result. (C) + (p) * lmd_mod_left_full_result = (T * P) + (p) * lmd_mod_right_full_result)
  2. L78
    apply hglobal
  3. L79
    exact hprime
  4. L80
    exact hnchain
  5. L81
    exact hkchain
  6. L82
    exact hquotientchoose
  7. L83
    exact hdigitchoose
  8. L84
    exact hproduct
  9. L85
    exact hstart
  10. L86
    exact hterminal
13Calculate and transport equalitiesL87–87

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L87
    rewrite hone at hfull
14Use earlier factsL88–88

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L88
    specialize one_mul P
15Calculate and transport equalitiesL89–89

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L89
    rewrite one_mul at hfull
16Use earlier factsL90–90

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L90
    exact hfull

Library-wide reading audit

Original exact command ledger · 90 lines
  1. 0001intro hstep
  2. 0002intro p
  3. 0003intro n
  4. 0004intro k
  5. 0005intro l
  6. 0006intro qb
  7. 0007intro qc
  8. 0008intro db
  9. 0009intro dc
  10. 0010intro ub
  11. 0011intro uc
  12. 0012intro vb
  13. 0013intro vc
  14. 0014intro z
  15. 0015intro t
  16. 0016intro s
  17. 0017intro w
  18. 0018intro P
  19. 0019intro C
  20. 0020intro T
  21. 0021intro hprime
  22. 0022intro hnchain
  23. 0023intro hkchain
  24. 0024intro hquotientchoose
  25. 0025intro hdigitchoose
  26. 0026intro hproduct
  27. 0027intro hstart
  28. 0028intro hterminal
  29. 0029intro hnzero
  30. 0030intro hkzero
  31. 0031have hchoose : (((exists bcf_lt_gap_lmd_terminal_zero_choose_out_of_range. bcf_lt_gap_lmd_terminal_zero_choose_out_of_range + S (0) = 0) /\ T = 0) \/ ((exists bcf_le_gap_lmd_terminal_zero_choose_in_range. bcf_le_gap_lmd_terminal_zero_choose_in_range + (0) = 0) /\ (exists bcf_row_code_code_lmd_terminal_zero_choose bcf_row_code_scale_lmd_terminal_zero_choose bcf_row_scale_code_lmd_terminal_zero_choose bcf_row_scale_scale_lmd_terminal_zero_choose bcf_row_code_lmd_terminal_zero_choose bcf_row_scale_lmd_terminal_zero_choose. ((forall bcf_row_index_lmd_terminal_zero_choose_table. (exists bcf_lt_gap_lmd_terminal_zero_choose_table_row_bound. bcf_lt_gap_lmd_terminal_zero_choose_table_row_bound + S (bcf_row_index_lmd_terminal_zero_choose_table) = S (0)) -> exists bcf_row_code_lmd_terminal_zero_choose_table bcf_row_scale_lmd_terminal_zero_choose_table. ((((exists bcf_height_lmd_terminal_zero_choose_table_decoded_row_code. bcf_height_lmd_terminal_zero_choose_table_decoded_row_code + S (bcf_row_code_lmd_terminal_zero_choose_table) = S ((S (bcf_row_index_lmd_terminal_zero_choose_table)) * bcf_row_code_scale_lmd_terminal_zero_choose)) /\ exists bcf_quotient_lmd_terminal_zero_choose_table_decoded_row_code. bcf_row_code_code_lmd_terminal_zero_choose = bcf_quotient_lmd_terminal_zero_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_terminal_zero_choose_table)) * bcf_row_code_scale_lmd_terminal_zero_choose) + (bcf_row_code_lmd_terminal_zero_choose_table))) /\ ((((exists bcf_height_lmd_terminal_zero_choose_table_decoded_row_scale. bcf_height_lmd_terminal_zero_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_terminal_zero_choose_table) = S ((S (bcf_row_index_lmd_terminal_zero_choose_table)) * bcf_row_scale_scale_lmd_terminal_zero_choose)) /\ exists bcf_quotient_lmd_terminal_zero_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_terminal_zero_choose = bcf_quotient_lmd_terminal_zero_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_terminal_zero_choose_table)) * bcf_row_scale_scale_lmd_terminal_zero_choose) + (bcf_row_scale_lmd_terminal_zero_choose_table))) /\ ((bcf_row_index_lmd_terminal_zero_choose_table = 0 /\ (forall bcf_index_lmd_terminal_zero_choose_table_zero_row. (exists bcf_lt_gap_lmd_terminal_zero_choose_table_zero_row_bound. bcf_lt_gap_lmd_terminal_zero_choose_table_zero_row_bound + S (bcf_index_lmd_terminal_zero_choose_table_zero_row) = S (0)) -> exists bcf_value_lmd_terminal_zero_choose_table_zero_row. ((((exists bcf_height_lmd_terminal_zero_choose_table_zero_row_entry. bcf_height_lmd_terminal_zero_choose_table_zero_row_entry + S (bcf_value_lmd_terminal_zero_choose_table_zero_row) = S ((S (bcf_index_lmd_terminal_zero_choose_table_zero_row)) * bcf_row_scale_lmd_terminal_zero_choose_table)) /\ exists bcf_quotient_lmd_terminal_zero_choose_table_zero_row_entry. bcf_row_code_lmd_terminal_zero_choose_table = bcf_quotient_lmd_terminal_zero_choose_table_zero_row_entry * S ((S (bcf_index_lmd_terminal_zero_choose_table_zero_row)) * bcf_row_scale_lmd_terminal_zero_choose_table) + (bcf_value_lmd_terminal_zero_choose_table_zero_row))) /\ ((bcf_index_lmd_terminal_zero_choose_table_zero_row = 0 /\ bcf_value_lmd_terminal_zero_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_terminal_zero_choose_table_zero_row. bcf_index_lmd_terminal_zero_choose_table_zero_row = S bcf_predecessor_lmd_terminal_zero_choose_table_zero_row /\ bcf_value_lmd_terminal_zero_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_terminal_zero_choose_table bcf_previous_code_lmd_terminal_zero_choose_table bcf_previous_scale_lmd_terminal_zero_choose_table. bcf_row_index_lmd_terminal_zero_choose_table = S bcf_predecessor_lmd_terminal_zero_choose_table /\ ((((exists bcf_height_lmd_terminal_zero_choose_table_decoded_previous_code. bcf_height_lmd_terminal_zero_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_terminal_zero_choose_table) = S ((S (bcf_predecessor_lmd_terminal_zero_choose_table)) * bcf_row_code_scale_lmd_terminal_zero_choose)) /\ exists bcf_quotient_lmd_terminal_zero_choose_table_decoded_previous_code. bcf_row_code_code_lmd_terminal_zero_choose = bcf_quotient_lmd_terminal_zero_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_terminal_zero_choose_table)) * bcf_row_code_scale_lmd_terminal_zero_choose) + (bcf_previous_code_lmd_terminal_zero_choose_table))) /\ ((((exists bcf_height_lmd_terminal_zero_choose_table_decoded_previous_scale. bcf_height_lmd_terminal_zero_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_terminal_zero_choose_table) = S ((S (bcf_predecessor_lmd_terminal_zero_choose_table)) * bcf_row_scale_scale_lmd_terminal_zero_choose)) /\ exists bcf_quotient_lmd_terminal_zero_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_terminal_zero_choose = bcf_quotient_lmd_terminal_zero_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_terminal_zero_choose_table)) * bcf_row_scale_scale_lmd_terminal_zero_choose) + (bcf_previous_scale_lmd_terminal_zero_choose_table))) /\ (forall bcf_index_lmd_terminal_zero_choose_table_row_step. (exists bcf_lt_gap_lmd_terminal_zero_choose_table_row_step_bound. bcf_lt_gap_lmd_terminal_zero_choose_table_row_step_bound + S (bcf_index_lmd_terminal_zero_choose_table_row_step) = S (0)) -> exists bcf_value_lmd_terminal_zero_choose_table_row_step. ((((exists bcf_height_lmd_terminal_zero_choose_table_row_step_entry. bcf_height_lmd_terminal_zero_choose_table_row_step_entry + S (bcf_value_lmd_terminal_zero_choose_table_row_step) = S ((S (bcf_index_lmd_terminal_zero_choose_table_row_step)) * bcf_row_scale_lmd_terminal_zero_choose_table)) /\ exists bcf_quotient_lmd_terminal_zero_choose_table_row_step_entry. bcf_row_code_lmd_terminal_zero_choose_table = bcf_quotient_lmd_terminal_zero_choose_table_row_step_entry * S ((S (bcf_index_lmd_terminal_zero_choose_table_row_step)) * bcf_row_scale_lmd_terminal_zero_choose_table) + (bcf_value_lmd_terminal_zero_choose_table_row_step))) /\ ((bcf_index_lmd_terminal_zero_choose_table_row_step = 0 /\ bcf_value_lmd_terminal_zero_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_terminal_zero_choose_table_row_step bcf_left_lmd_terminal_zero_choose_table_row_step bcf_right_lmd_terminal_zero_choose_table_row_step. bcf_index_lmd_terminal_zero_choose_table_row_step = S bcf_predecessor_lmd_terminal_zero_choose_table_row_step /\ ((((exists bcf_height_lmd_terminal_zero_choose_table_row_step_previous_left. bcf_height_lmd_terminal_zero_choose_table_row_step_previous_left + S (bcf_left_lmd_terminal_zero_choose_table_row_step) = S ((S (bcf_predecessor_lmd_terminal_zero_choose_table_row_step)) * bcf_previous_scale_lmd_terminal_zero_choose_table)) /\ exists bcf_quotient_lmd_terminal_zero_choose_table_row_step_previous_left. bcf_previous_code_lmd_terminal_zero_choose_table = bcf_quotient_lmd_terminal_zero_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_terminal_zero_choose_table_row_step)) * bcf_previous_scale_lmd_terminal_zero_choose_table) + (bcf_left_lmd_terminal_zero_choose_table_row_step))) /\ ((((exists bcf_height_lmd_terminal_zero_choose_table_row_step_previous_right. bcf_height_lmd_terminal_zero_choose_table_row_step_previous_right + S (bcf_right_lmd_terminal_zero_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_terminal_zero_choose_table_row_step))) * bcf_previous_scale_lmd_terminal_zero_choose_table)) /\ exists bcf_quotient_lmd_terminal_zero_choose_table_row_step_previous_right. bcf_previous_code_lmd_terminal_zero_choose_table = bcf_quotient_lmd_terminal_zero_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_terminal_zero_choose_table_row_step))) * bcf_previous_scale_lmd_terminal_zero_choose_table) + (bcf_right_lmd_terminal_zero_choose_table_row_step))) /\ bcf_value_lmd_terminal_zero_choose_table_row_step = bcf_left_lmd_terminal_zero_choose_table_row_step + bcf_right_lmd_terminal_zero_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_terminal_zero_choose_decoded_row_code. bcf_height_lmd_terminal_zero_choose_decoded_row_code + S (bcf_row_code_lmd_terminal_zero_choose) = S ((S (0)) * bcf_row_code_scale_lmd_terminal_zero_choose)) /\ exists bcf_quotient_lmd_terminal_zero_choose_decoded_row_code. bcf_row_code_code_lmd_terminal_zero_choose = bcf_quotient_lmd_terminal_zero_choose_decoded_row_code * S ((S (0)) * bcf_row_code_scale_lmd_terminal_zero_choose) + (bcf_row_code_lmd_terminal_zero_choose))) /\ ((((exists bcf_height_lmd_terminal_zero_choose_decoded_row_scale. bcf_height_lmd_terminal_zero_choose_decoded_row_scale + S (bcf_row_scale_lmd_terminal_zero_choose) = S ((S (0)) * bcf_row_scale_scale_lmd_terminal_zero_choose)) /\ exists bcf_quotient_lmd_terminal_zero_choose_decoded_row_scale. bcf_row_scale_code_lmd_terminal_zero_choose = bcf_quotient_lmd_terminal_zero_choose_decoded_row_scale * S ((S (0)) * bcf_row_scale_scale_lmd_terminal_zero_choose) + (bcf_row_scale_lmd_terminal_zero_choose))) /\ (((exists bcf_height_lmd_terminal_zero_choose_decoded_value. bcf_height_lmd_terminal_zero_choose_decoded_value + S (T) = S ((S (0)) * bcf_row_scale_lmd_terminal_zero_choose)) /\ exists bcf_quotient_lmd_terminal_zero_choose_decoded_value. bcf_row_code_lmd_terminal_zero_choose = bcf_quotient_lmd_terminal_zero_choose_decoded_value * S ((S (0)) * bcf_row_scale_lmd_terminal_zero_choose) + (T)))))))))
  32. 0032specialize lucas_choose_prefix_point qb
  33. 0033specialize lucas_choose_prefix_point qc
  34. 0034specialize lucas_choose_prefix_point ub
  35. 0035specialize lucas_choose_prefix_point uc
  36. 0036specialize lucas_choose_prefix_point z
  37. 0037specialize lucas_choose_prefix_point t
  38. 0038specialize lucas_choose_prefix_point (S l)
  39. 0039specialize lucas_choose_prefix_point l
  40. 0040specialize lucas_choose_prefix_point 0
  41. 0041specialize lucas_choose_prefix_point 0
  42. 0042specialize lucas_choose_prefix_point T
  43. 0043apply lucas_choose_prefix_point
  44. 0044exact hquotientchoose
  45. 0045exists 0
  46. 0046apply zero_add
  47. 0047exact hnzero
  48. 0048exact hkzero
  49. 0049exact hterminal
  50. 0050have hone : T = 1
  51. 0051specialize choose_zero 0
  52. 0052specialize choose_zero T
  53. 0053apply choose_zero
  54. 0054exact hchoose
  55. 0055have hglobal : forall p n k l qb qc db dc ub uc vb vc z t s w P C T. ((~(p = 1) /\ forall frm_prime_left_lmd_full_prime frm_prime_right_lmd_full_prime. p = frm_prime_left_lmd_full_prime * frm_prime_right_lmd_full_prime -> frm_prime_left_lmd_full_prime = 1 \/ frm_prime_right_lmd_full_prime = 1)) -> (((((exists ff_h_lmd_full_n_initial. ff_h_lmd_full_n_initial + S (n) = S ((S (0)) * qc)) /\ exists ff_q_lmd_full_n_initial. qb = ff_q_lmd_full_n_initial * S ((S (0)) * qc) + (n))) /\ forall lmd_index_full_n. (exists lmd_gap_full_n_index. lmd_gap_full_n_index + S (lmd_index_full_n) = (l)) -> exists lmd_current_full_n lmd_successor_full_n lmd_digit_full_n. ((((exists ff_h_lmd_full_n_current. ff_h_lmd_full_n_current + S (lmd_current_full_n) = S ((S (lmd_index_full_n)) * qc)) /\ exists ff_q_lmd_full_n_current. qb = ff_q_lmd_full_n_current * S ((S (lmd_index_full_n)) * qc) + (lmd_current_full_n))) /\ ((((exists ff_h_lmd_full_n_successor. ff_h_lmd_full_n_successor + S (lmd_successor_full_n) = S ((S (S lmd_index_full_n)) * qc)) /\ exists ff_q_lmd_full_n_successor. qb = ff_q_lmd_full_n_successor * S ((S (S lmd_index_full_n)) * qc) + (lmd_successor_full_n))) /\ ((((exists ff_h_lmd_full_n_digit. ff_h_lmd_full_n_digit + S (lmd_digit_full_n) = S ((S (lmd_index_full_n)) * dc)) /\ exists ff_q_lmd_full_n_digit. db = ff_q_lmd_full_n_digit * S ((S (lmd_index_full_n)) * dc) + (lmd_digit_full_n))) /\ ((lmd_current_full_n = (p) * (lmd_successor_full_n) + (lmd_digit_full_n)) /\ (exists lmd_gap_full_n_digit_bound. lmd_gap_full_n_digit_bound + S (lmd_digit_full_n) = (p)))))))) -> (((((exists ff_h_lmd_full_k_initial. ff_h_lmd_full_k_initial + S (k) = S ((S (0)) * uc)) /\ exists ff_q_lmd_full_k_initial. ub = ff_q_lmd_full_k_initial * S ((S (0)) * uc) + (k))) /\ forall lmd_index_full_k. (exists lmd_gap_full_k_index. lmd_gap_full_k_index + S (lmd_index_full_k) = (l)) -> exists lmd_current_full_k lmd_successor_full_k lmd_digit_full_k. ((((exists ff_h_lmd_full_k_current. ff_h_lmd_full_k_current + S (lmd_current_full_k) = S ((S (lmd_index_full_k)) * uc)) /\ exists ff_q_lmd_full_k_current. ub = ff_q_lmd_full_k_current * S ((S (lmd_index_full_k)) * uc) + (lmd_current_full_k))) /\ ((((exists ff_h_lmd_full_k_successor. ff_h_lmd_full_k_successor + S (lmd_successor_full_k) = S ((S (S lmd_index_full_k)) * uc)) /\ exists ff_q_lmd_full_k_successor. ub = ff_q_lmd_full_k_successor * S ((S (S lmd_index_full_k)) * uc) + (lmd_successor_full_k))) /\ ((((exists ff_h_lmd_full_k_digit. ff_h_lmd_full_k_digit + S (lmd_digit_full_k) = S ((S (lmd_index_full_k)) * vc)) /\ exists ff_q_lmd_full_k_digit. vb = ff_q_lmd_full_k_digit * S ((S (lmd_index_full_k)) * vc) + (lmd_digit_full_k))) /\ ((lmd_current_full_k = (p) * (lmd_successor_full_k) + (lmd_digit_full_k)) /\ (exists lmd_gap_full_k_digit_bound. lmd_gap_full_k_digit_bound + S (lmd_digit_full_k) = (p)))))))) -> (forall lmd_choose_index_full_quotient_choose. (exists lmd_gap_full_quotient_choose_bound. lmd_gap_full_quotient_choose_bound + S (lmd_choose_index_full_quotient_choose) = (S l)) -> exists lmd_choose_upper_full_quotient_choose lmd_choose_lower_full_quotient_choose lmd_choose_value_full_quotient_choose. ((((exists ff_h_lmd_full_quotient_choose_upper. ff_h_lmd_full_quotient_choose_upper + S (lmd_choose_upper_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * qc)) /\ exists ff_q_lmd_full_quotient_choose_upper. qb = ff_q_lmd_full_quotient_choose_upper * S ((S (lmd_choose_index_full_quotient_choose)) * qc) + (lmd_choose_upper_full_quotient_choose))) /\ ((((exists ff_h_lmd_full_quotient_choose_lower. ff_h_lmd_full_quotient_choose_lower + S (lmd_choose_lower_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * uc)) /\ exists ff_q_lmd_full_quotient_choose_lower. ub = ff_q_lmd_full_quotient_choose_lower * S ((S (lmd_choose_index_full_quotient_choose)) * uc) + (lmd_choose_lower_full_quotient_choose))) /\ ((((exists ff_h_lmd_full_quotient_choose_result. ff_h_lmd_full_quotient_choose_result + S (lmd_choose_value_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * t)) /\ exists ff_q_lmd_full_quotient_choose_result. z = ff_q_lmd_full_quotient_choose_result * S ((S (lmd_choose_index_full_quotient_choose)) * t) + (lmd_choose_value_full_quotient_choose))) /\ (((exists bcf_lt_gap_lmd_full_quotient_choose_choose_out_of_range. bcf_lt_gap_lmd_full_quotient_choose_choose_out_of_range + S (lmd_choose_upper_full_quotient_choose) = lmd_choose_lower_full_quotient_choose) /\ lmd_choose_value_full_quotient_choose = 0) \/ ((exists bcf_le_gap_lmd_full_quotient_choose_choose_in_range. bcf_le_gap_lmd_full_quotient_choose_choose_in_range + (lmd_choose_lower_full_quotient_choose) = lmd_choose_upper_full_quotient_choose) /\ (exists bcf_row_code_code_lmd_full_quotient_choose_choose bcf_row_code_scale_lmd_full_quotient_choose_choose bcf_row_scale_code_lmd_full_quotient_choose_choose bcf_row_scale_scale_lmd_full_quotient_choose_choose bcf_row_code_lmd_full_quotient_choose_choose bcf_row_scale_lmd_full_quotient_choose_choose. ((forall bcf_row_index_lmd_full_quotient_choose_choose_table. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_bound + S (bcf_row_index_lmd_full_quotient_choose_choose_table) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_row_code_lmd_full_quotient_choose_choose_table bcf_row_scale_lmd_full_quotient_choose_choose_table. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_code. bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_code + S (bcf_row_code_lmd_full_quotient_choose_choose_table) = S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_row_code_lmd_full_quotient_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_scale. bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_full_quotient_choose_choose_table) = S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_row_scale_lmd_full_quotient_choose_choose_table))) /\ ((bcf_row_index_lmd_full_quotient_choose_choose_table = 0 /\ (forall bcf_index_lmd_full_quotient_choose_choose_table_zero_row. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_zero_row_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_zero_row_bound + S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_value_lmd_full_quotient_choose_choose_table_zero_row. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_zero_row_entry. bcf_height_lmd_full_quotient_choose_choose_table_zero_row_entry + S (bcf_value_lmd_full_quotient_choose_choose_table_zero_row) = S ((S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_zero_row_entry. bcf_row_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_zero_row_entry * S ((S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_quotient_choose_choose_table) + (bcf_value_lmd_full_quotient_choose_choose_table_zero_row))) /\ ((bcf_index_lmd_full_quotient_choose_choose_table_zero_row = 0 /\ bcf_value_lmd_full_quotient_choose_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table_zero_row. bcf_index_lmd_full_quotient_choose_choose_table_zero_row = S bcf_predecessor_lmd_full_quotient_choose_choose_table_zero_row /\ bcf_value_lmd_full_quotient_choose_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table bcf_previous_code_lmd_full_quotient_choose_choose_table bcf_previous_scale_lmd_full_quotient_choose_choose_table. bcf_row_index_lmd_full_quotient_choose_choose_table = S bcf_predecessor_lmd_full_quotient_choose_choose_table /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_code. bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_full_quotient_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_previous_code_lmd_full_quotient_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_scale. bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_quotient_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_previous_scale_lmd_full_quotient_choose_choose_table))) /\ (forall bcf_index_lmd_full_quotient_choose_choose_table_row_step. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_step_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_step_bound + S (bcf_index_lmd_full_quotient_choose_choose_table_row_step) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_value_lmd_full_quotient_choose_choose_table_row_step. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_entry. bcf_height_lmd_full_quotient_choose_choose_table_row_step_entry + S (bcf_value_lmd_full_quotient_choose_choose_table_row_step) = S ((S (bcf_index_lmd_full_quotient_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_entry. bcf_row_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_entry * S ((S (bcf_index_lmd_full_quotient_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_quotient_choose_choose_table) + (bcf_value_lmd_full_quotient_choose_choose_table_row_step))) /\ ((bcf_index_lmd_full_quotient_choose_choose_table_row_step = 0 /\ bcf_value_lmd_full_quotient_choose_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step bcf_left_lmd_full_quotient_choose_choose_table_row_step bcf_right_lmd_full_quotient_choose_choose_table_row_step. bcf_index_lmd_full_quotient_choose_choose_table_row_step = S bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_left. bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_left + S (bcf_left_lmd_full_quotient_choose_choose_table_row_step) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_left. bcf_previous_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_quotient_choose_choose_table) + (bcf_left_lmd_full_quotient_choose_choose_table_row_step))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_right. bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_right + S (bcf_right_lmd_full_quotient_choose_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_right. bcf_previous_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_quotient_choose_choose_table) + (bcf_right_lmd_full_quotient_choose_choose_table_row_step))) /\ bcf_value_lmd_full_quotient_choose_choose_table_row_step = bcf_left_lmd_full_quotient_choose_choose_table_row_step + bcf_right_lmd_full_quotient_choose_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_decoded_row_code. bcf_height_lmd_full_quotient_choose_choose_decoded_row_code + S (bcf_row_code_lmd_full_quotient_choose_choose) = S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_code * S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_row_code_lmd_full_quotient_choose_choose))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_decoded_row_scale. bcf_height_lmd_full_quotient_choose_choose_decoded_row_scale + S (bcf_row_scale_lmd_full_quotient_choose_choose) = S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_scale * S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_row_scale_lmd_full_quotient_choose_choose))) /\ (((exists bcf_height_lmd_full_quotient_choose_choose_decoded_value. bcf_height_lmd_full_quotient_choose_choose_decoded_value + S (lmd_choose_value_full_quotient_choose) = S ((S (lmd_choose_lower_full_quotient_choose)) * bcf_row_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_value. bcf_row_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_value * S ((S (lmd_choose_lower_full_quotient_choose)) * bcf_row_scale_lmd_full_quotient_choose_choose) + (lmd_choose_value_full_quotient_choose))))))))))))) -> (forall lmd_choose_index_full_digit_choose. (exists lmd_gap_full_digit_choose_bound. lmd_gap_full_digit_choose_bound + S (lmd_choose_index_full_digit_choose) = (l)) -> exists lmd_choose_upper_full_digit_choose lmd_choose_lower_full_digit_choose lmd_choose_value_full_digit_choose. ((((exists ff_h_lmd_full_digit_choose_upper. ff_h_lmd_full_digit_choose_upper + S (lmd_choose_upper_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * dc)) /\ exists ff_q_lmd_full_digit_choose_upper. db = ff_q_lmd_full_digit_choose_upper * S ((S (lmd_choose_index_full_digit_choose)) * dc) + (lmd_choose_upper_full_digit_choose))) /\ ((((exists ff_h_lmd_full_digit_choose_lower. ff_h_lmd_full_digit_choose_lower + S (lmd_choose_lower_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * vc)) /\ exists ff_q_lmd_full_digit_choose_lower. vb = ff_q_lmd_full_digit_choose_lower * S ((S (lmd_choose_index_full_digit_choose)) * vc) + (lmd_choose_lower_full_digit_choose))) /\ ((((exists ff_h_lmd_full_digit_choose_result. ff_h_lmd_full_digit_choose_result + S (lmd_choose_value_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * w)) /\ exists ff_q_lmd_full_digit_choose_result. s = ff_q_lmd_full_digit_choose_result * S ((S (lmd_choose_index_full_digit_choose)) * w) + (lmd_choose_value_full_digit_choose))) /\ (((exists bcf_lt_gap_lmd_full_digit_choose_choose_out_of_range. bcf_lt_gap_lmd_full_digit_choose_choose_out_of_range + S (lmd_choose_upper_full_digit_choose) = lmd_choose_lower_full_digit_choose) /\ lmd_choose_value_full_digit_choose = 0) \/ ((exists bcf_le_gap_lmd_full_digit_choose_choose_in_range. bcf_le_gap_lmd_full_digit_choose_choose_in_range + (lmd_choose_lower_full_digit_choose) = lmd_choose_upper_full_digit_choose) /\ (exists bcf_row_code_code_lmd_full_digit_choose_choose bcf_row_code_scale_lmd_full_digit_choose_choose bcf_row_scale_code_lmd_full_digit_choose_choose bcf_row_scale_scale_lmd_full_digit_choose_choose bcf_row_code_lmd_full_digit_choose_choose bcf_row_scale_lmd_full_digit_choose_choose. ((forall bcf_row_index_lmd_full_digit_choose_choose_table. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_row_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_row_bound + S (bcf_row_index_lmd_full_digit_choose_choose_table) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_row_code_lmd_full_digit_choose_choose_table bcf_row_scale_lmd_full_digit_choose_choose_table. ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_row_code. bcf_height_lmd_full_digit_choose_choose_table_decoded_row_code + S (bcf_row_code_lmd_full_digit_choose_choose_table) = S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_row_code_lmd_full_digit_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_row_scale. bcf_height_lmd_full_digit_choose_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_choose_choose_table) = S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_row_scale_lmd_full_digit_choose_choose_table))) /\ ((bcf_row_index_lmd_full_digit_choose_choose_table = 0 /\ (forall bcf_index_lmd_full_digit_choose_choose_table_zero_row. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_zero_row_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_zero_row_bound + S (bcf_index_lmd_full_digit_choose_choose_table_zero_row) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_value_lmd_full_digit_choose_choose_table_zero_row. ((((exists bcf_height_lmd_full_digit_choose_choose_table_zero_row_entry. bcf_height_lmd_full_digit_choose_choose_table_zero_row_entry + S (bcf_value_lmd_full_digit_choose_choose_table_zero_row) = S ((S (bcf_index_lmd_full_digit_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_zero_row_entry. bcf_row_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_zero_row_entry * S ((S (bcf_index_lmd_full_digit_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_digit_choose_choose_table) + (bcf_value_lmd_full_digit_choose_choose_table_zero_row))) /\ ((bcf_index_lmd_full_digit_choose_choose_table_zero_row = 0 /\ bcf_value_lmd_full_digit_choose_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table_zero_row. bcf_index_lmd_full_digit_choose_choose_table_zero_row = S bcf_predecessor_lmd_full_digit_choose_choose_table_zero_row /\ bcf_value_lmd_full_digit_choose_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table bcf_previous_code_lmd_full_digit_choose_choose_table bcf_previous_scale_lmd_full_digit_choose_choose_table. bcf_row_index_lmd_full_digit_choose_choose_table = S bcf_predecessor_lmd_full_digit_choose_choose_table /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_code. bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_full_digit_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_previous_code_lmd_full_digit_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_scale. bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_digit_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_previous_scale_lmd_full_digit_choose_choose_table))) /\ (forall bcf_index_lmd_full_digit_choose_choose_table_row_step. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_row_step_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_row_step_bound + S (bcf_index_lmd_full_digit_choose_choose_table_row_step) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_value_lmd_full_digit_choose_choose_table_row_step. ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_entry. bcf_height_lmd_full_digit_choose_choose_table_row_step_entry + S (bcf_value_lmd_full_digit_choose_choose_table_row_step) = S ((S (bcf_index_lmd_full_digit_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_entry. bcf_row_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_entry * S ((S (bcf_index_lmd_full_digit_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_digit_choose_choose_table) + (bcf_value_lmd_full_digit_choose_choose_table_row_step))) /\ ((bcf_index_lmd_full_digit_choose_choose_table_row_step = 0 /\ bcf_value_lmd_full_digit_choose_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table_row_step bcf_left_lmd_full_digit_choose_choose_table_row_step bcf_right_lmd_full_digit_choose_choose_table_row_step. bcf_index_lmd_full_digit_choose_choose_table_row_step = S bcf_predecessor_lmd_full_digit_choose_choose_table_row_step /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_left. bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_left + S (bcf_left_lmd_full_digit_choose_choose_table_row_step) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_left. bcf_previous_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_digit_choose_choose_table) + (bcf_left_lmd_full_digit_choose_choose_table_row_step))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_right. bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_right + S (bcf_right_lmd_full_digit_choose_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_right. bcf_previous_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_digit_choose_choose_table) + (bcf_right_lmd_full_digit_choose_choose_table_row_step))) /\ bcf_value_lmd_full_digit_choose_choose_table_row_step = bcf_left_lmd_full_digit_choose_choose_table_row_step + bcf_right_lmd_full_digit_choose_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_decoded_row_code. bcf_height_lmd_full_digit_choose_choose_decoded_row_code + S (bcf_row_code_lmd_full_digit_choose_choose) = S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_row_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_row_code * S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_row_code_lmd_full_digit_choose_choose))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_decoded_row_scale. bcf_height_lmd_full_digit_choose_choose_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_choose_choose) = S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_row_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_row_scale * S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_row_scale_lmd_full_digit_choose_choose))) /\ (((exists bcf_height_lmd_full_digit_choose_choose_decoded_value. bcf_height_lmd_full_digit_choose_choose_decoded_value + S (lmd_choose_value_full_digit_choose) = S ((S (lmd_choose_lower_full_digit_choose)) * bcf_row_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_value. bcf_row_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_value * S ((S (lmd_choose_lower_full_digit_choose)) * bcf_row_scale_lmd_full_digit_choose_choose) + (lmd_choose_value_full_digit_choose))))))))))))) -> (exists ff_u_lmd_full_product ff_v_lmd_full_product. ((((exists ff_h_lmd_full_product_start. ff_h_lmd_full_product_start + S (1) = S ((S (0)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_start. ff_u_lmd_full_product = ff_q_lmd_full_product_start * S ((S (0)) * ff_v_lmd_full_product) + (1))) /\ ((((exists ff_h_lmd_full_product_terminal. ff_h_lmd_full_product_terminal + S (P) = S ((S (l)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_terminal. ff_u_lmd_full_product = ff_q_lmd_full_product_terminal * S ((S (l)) * ff_v_lmd_full_product) + (P))) /\ forall ff_i_lmd_full_product. (exists ff_lt_lmd_full_product_bound. ff_lt_lmd_full_product_bound + S ff_i_lmd_full_product = l) -> exists ff_p_lmd_full_product ff_r_lmd_full_product ff_s_lmd_full_product. ((((exists ff_h_lmd_full_product_factor. ff_h_lmd_full_product_factor + S (ff_p_lmd_full_product) = S ((S (ff_i_lmd_full_product)) * w)) /\ exists ff_q_lmd_full_product_factor. s = ff_q_lmd_full_product_factor * S ((S (ff_i_lmd_full_product)) * w) + (ff_p_lmd_full_product))) /\ ((((exists ff_h_lmd_full_product_partial. ff_h_lmd_full_product_partial + S (ff_r_lmd_full_product) = S ((S (ff_i_lmd_full_product)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_partial. ff_u_lmd_full_product = ff_q_lmd_full_product_partial * S ((S (ff_i_lmd_full_product)) * ff_v_lmd_full_product) + (ff_r_lmd_full_product))) /\ ((((exists ff_h_lmd_full_product_successor. ff_h_lmd_full_product_successor + S (ff_s_lmd_full_product) = S ((S (S ff_i_lmd_full_product)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_successor. ff_u_lmd_full_product = ff_q_lmd_full_product_successor * S ((S (S ff_i_lmd_full_product)) * ff_v_lmd_full_product) + (ff_s_lmd_full_product))) /\ ff_s_lmd_full_product = ff_r_lmd_full_product * ff_p_lmd_full_product)))))) -> (((exists ff_h_lmd_full_coefficient_start. ff_h_lmd_full_coefficient_start + S (C) = S ((S (0)) * t)) /\ exists ff_q_lmd_full_coefficient_start. z = ff_q_lmd_full_coefficient_start * S ((S (0)) * t) + (C))) -> (((exists ff_h_lmd_full_coefficient_end. ff_h_lmd_full_coefficient_end + S (T) = S ((S (l)) * t)) /\ exists ff_q_lmd_full_coefficient_end. z = ff_q_lmd_full_coefficient_end * S ((S (l)) * t) + (T))) -> (exists lmd_mod_left_full_result lmd_mod_right_full_result. (C) + (p) * lmd_mod_left_full_result = (T * P) + (p) * lmd_mod_right_full_result)
  56. 0056apply lucas_multidigit_congruence_from_one_step
  57. 0057exact hstep
  58. 0058specialize hglobal p
  59. 0059specialize hglobal n
  60. 0060specialize hglobal k
  61. 0061specialize hglobal l
  62. 0062specialize hglobal qb
  63. 0063specialize hglobal qc
  64. 0064specialize hglobal db
  65. 0065specialize hglobal dc
  66. 0066specialize hglobal ub
  67. 0067specialize hglobal uc
  68. 0068specialize hglobal vb
  69. 0069specialize hglobal vc
  70. 0070specialize hglobal z
  71. 0071specialize hglobal t
  72. 0072specialize hglobal s
  73. 0073specialize hglobal w
  74. 0074specialize hglobal P
  75. 0075specialize hglobal C
  76. 0076specialize hglobal T
  77. 0077have hfull : (exists lmd_mod_left_full_result lmd_mod_right_full_result. (C) + (p) * lmd_mod_left_full_result = (T * P) + (p) * lmd_mod_right_full_result)
  78. 0078apply hglobal
  79. 0079exact hprime
  80. 0080exact hnchain
  81. 0081exact hkchain
  82. 0082exact hquotientchoose
  83. 0083exact hdigitchoose
  84. 0084exact hproduct
  85. 0085exact hstart
  86. 0086exact hterminal
  87. 0087rewrite hone at hfull
  88. 0088specialize one_mul P
  89. 0089rewrite one_mul at hfull
  90. 0090exact hfull