LU001I · theorem body

lucas_multidigit_congruence_from_one_step

Alpha v34 checked-use · independently kernel and Lean verified; not Stable

A universal one-step Lucas prime-block law implies the full arbitrary-length beta-coded digit product congruence with its exact terminal binomial factor.

historical independently replay-verified empty-context experiment; the experiment itself persisted no certificate and granted no release authority; current checked use follows separately sealed proof bundles; no Stable promotion.

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

Statement with defined notation

(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_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))

Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.

Definitions used by this theorem

In the theorem statement

none

In local proof propositions

Exact expanded first-order 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_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))

Proof neighborhood

Direct theorem prerequisites

lt_of_lt_of_le · Stable closed le_succ_self · Stable closed succ_le_succ · Stable closed LU001H lucas_choose_prefix_point LU001D lucas_modular_backward_product_fold

Direct theorem dependents

Definition-aware tactic body

Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.

Read the argument

Proof checkpoints

161 script commands · 21 reading checkpoints · 8 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
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–28

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
04Establish htraceL29–37

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

  1. L29
    have htrace : ∀ lmd_step_index_full_trace. ∀ lmd_step_source_full_trace. ∀ lmd_step_successor_full_trace. ∀ lmd_step_factor_full_trace. Lt(lmd_step_index_full_trace,l) → BetaAt(z,t,lmd_step_index_full_trace,lmd_step_source_full_trace) → BetaAt(z,t,S lmd_step_index_full_trace,lmd_step_successor_full_trace) → BetaAt(s,w,lmd_step_index_full_trace,lmd_step_factor_full_trace) → ModEq(p,lmd_step_source_full_trace,lmd_step_successor_full_trace · lmd_step_factor_full_trace)Definitions: Lt(lmd_step_index_full_trace,l)BetaAt(z,t,lmd_step_index_full_trace,lmd_step_source_full_trace)BetaAt(z,t,S lmd_step_index_full_trace,lmd_step_successor_full_trace)BetaAt(s,w,lmd_step_index_full_trace,lmd_step_factor_full_trace)ModEq(p,lmd_step_source_full_trace,lmd_step_successor_full_trace · lmd_step_factor_full_trace)Original native command in the exact edition
  2. L30
    intro i
  3. L31
    intro A
  4. L32
    intro B
  5. L33
    intro D
  6. L34
    intro hi
  7. L35
    intro hA
  8. L36
    intro hB
  9. L37
    intro hD
05Separate the logical casesL38–39

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L38
    cases hnchain
  2. L39
    cases hkchain
06Establish hnstepL40–43

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

  1. L40
    have hnstep : ∃ q. ∃ Q. ∃ d. BetaAt(qb,qc,i,q) ∧ (BetaAt(qb,qc,S i,Q) ∧ (BetaAt(db,dc,i,d) ∧ DivRem(q,p,Q,d)))Definitions: BetaAt(qb,qc,i,q)BetaAt(qb,qc,S i,Q)BetaAt(db,dc,i,d)DivRem(q,p,Q,d)Original native command in the exact edition
  2. L41
    specialize hnchain_right i
  3. L42
    apply hnchain_right
  4. L43
    exact hi
07Separate the logical casesL44–50

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L44
    cases hnstep
  2. L45
    cases hnstep_witness
  3. L46
    cases hnstep_witness_witness
  4. L47
    cases hnstep_witness_witness_witness
  5. L48
    cases hnstep_witness_witness_witness_right
  6. L49
    cases hnstep_witness_witness_witness_right_right
  7. L50
    cases hnstep_witness_witness_witness_right_right_right
08Establish hkstepL51–54

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

  1. L51
    have hkstep : ∃ q. ∃ Q. ∃ d. BetaAt(ub,uc,i,q) ∧ (BetaAt(ub,uc,S i,Q) ∧ (BetaAt(vb,vc,i,d) ∧ DivRem(q,p,Q,d)))Definitions: BetaAt(ub,uc,i,q)BetaAt(ub,uc,S i,Q)BetaAt(vb,vc,i,d)DivRem(q,p,Q,d)Original native command in the exact edition
  2. L52
    specialize hkchain_right i
  3. L53
    apply hkchain_right
  4. L54
    exact hi
09Separate the logical casesL55–61

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L55
    cases hkstep
  2. L56
    cases hkstep_witness
  3. L57
    cases hkstep_witness_witness
  4. L58
    cases hkstep_witness_witness_witness
  5. L59
    cases hkstep_witness_witness_witness_right
  6. L60
    cases hkstep_witness_witness_witness_right_right
  7. L61
    cases hkstep_witness_witness_witness_right_right_right
10Establish hindexL62–69

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

  1. L62
    have hindex : Lt(i,S l)Definitions: Lt(i,S l)Original native command in the exact edition
  2. L63
    specialize lt_of_lt_of_le i
  3. L64
    specialize lt_of_lt_of_le l
  4. L65
    specialize lt_of_lt_of_le (S l)
  5. L66
    apply lt_of_lt_of_le
  6. L67
    exact hi
  7. L68
    specialize le_succ_self l
  8. L69
    exact le_succ_self
11Establish hnextindexL70–74

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

  1. L70
    have hnextindex : Lt(S i,S l)Definitions: Lt(S i,S l)Original native command in the exact edition
  2. L71
    specialize succ_le_succ (S i)
  3. L72
    specialize succ_le_succ l
  4. L73
    apply succ_le_succ
  5. L74
    exact hi
12Establish hwholeL75–84

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

  1. L75
    have hwhole : Choose(x,x3,A)Definitions: Choose(x,x3,A)Original native command in the exact edition
  2. L76
    specialize lucas_choose_prefix_point qb
  3. L77
    specialize lucas_choose_prefix_point qc
  4. L78
    specialize lucas_choose_prefix_point ub
  5. L79
    specialize lucas_choose_prefix_point uc
  6. L80
    specialize lucas_choose_prefix_point z
  7. L81
    specialize lucas_choose_prefix_point t
  8. L82
    specialize lucas_choose_prefix_point (S l)
  9. L83
    specialize lucas_choose_prefix_point i
  10. L84
    specialize lucas_choose_prefix_point x
13Use earlier factsL85–92

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

  1. L85
    specialize lucas_choose_prefix_point x3
  2. L86
    specialize lucas_choose_prefix_point A
  3. L87
    apply lucas_choose_prefix_point
  4. L88
    exact hquotientchoose
  5. L89
    exact hindex
  6. L90
    exact hnstep_witness_witness_witness_left
  7. L91
    exact hkstep_witness_witness_witness_left
  8. L92
    exact hA
14Establish hupperL93–102

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

  1. L93
    have hupper : Choose(x1,x4,B)Definitions: Choose(x1,x4,B)Original native command in the exact edition
  2. L94
    specialize lucas_choose_prefix_point qb
  3. L95
    specialize lucas_choose_prefix_point qc
  4. L96
    specialize lucas_choose_prefix_point ub
  5. L97
    specialize lucas_choose_prefix_point uc
  6. L98
    specialize lucas_choose_prefix_point z
  7. L99
    specialize lucas_choose_prefix_point t
  8. L100
    specialize lucas_choose_prefix_point (S l)
  9. L101
    specialize lucas_choose_prefix_point (S i)
  10. L102
    specialize lucas_choose_prefix_point x1
15Use earlier factsL103–110

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

  1. L103
    specialize lucas_choose_prefix_point x4
  2. L104
    specialize lucas_choose_prefix_point B
  3. L105
    apply lucas_choose_prefix_point
  4. L106
    exact hquotientchoose
  5. L107
    exact hnextindex
  6. L108
    exact hnstep_witness_witness_witness_right_left
  7. L109
    exact hkstep_witness_witness_witness_right_left
  8. L110
    exact hB
16Establish hdigitL111–120

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

  1. L111
    have hdigit : Choose(x2,x5,D)Definitions: Choose(x2,x5,D)Original native command in the exact edition
  2. L112
    specialize lucas_choose_prefix_point db
  3. L113
    specialize lucas_choose_prefix_point dc
  4. L114
    specialize lucas_choose_prefix_point vb
  5. L115
    specialize lucas_choose_prefix_point vc
  6. L116
    specialize lucas_choose_prefix_point s
  7. L117
    specialize lucas_choose_prefix_point w
  8. L118
    specialize lucas_choose_prefix_point l
  9. L119
    specialize lucas_choose_prefix_point i
  10. L120
    specialize lucas_choose_prefix_point x2
17Use earlier factsL121–130

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

  1. L121
    specialize lucas_choose_prefix_point x5
  2. L122
    specialize lucas_choose_prefix_point D
  3. L123
    apply lucas_choose_prefix_point
  4. L124
    exact hdigitchoose
  5. L125
    exact hi
  6. L126
    exact hnstep_witness_witness_witness_right_right_left
  7. L127
    exact hkstep_witness_witness_witness_right_right_left
  8. L128
    exact hD
  9. L129
    specialize hstep p
  10. L130
    specialize hstep x
18Use earlier factsL131–140

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

  1. L131
    specialize hstep x3
  2. L132
    specialize hstep x1
  3. L133
    specialize hstep x4
  4. L134
    specialize hstep x2
  5. L135
    specialize hstep x5
  6. L136
    specialize hstep A
  7. L137
    specialize hstep B
  8. L138
    specialize hstep D
  9. L139
    apply hstep
  10. L140
    exact hprime
19Use earlier factsL141–150

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

  1. L141
    exact hnstep_witness_witness_witness_right_right_right_left
  2. L142
    exact hkstep_witness_witness_witness_right_right_right_left
  3. L143
    exact hnstep_witness_witness_witness_right_right_right_right
  4. L144
    exact hkstep_witness_witness_witness_right_right_right_right
  5. L145
    exact hwhole
  6. L146
    exact hupper
  7. L147
    exact hdigit
  8. L148
    specialize lucas_modular_backward_product_fold l
  9. L149
    specialize lucas_modular_backward_product_fold p
  10. L150
    specialize lucas_modular_backward_product_fold s
20Use earlier factsL151–160

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

  1. L151
    specialize lucas_modular_backward_product_fold w
  2. L152
    specialize lucas_modular_backward_product_fold z
  3. L153
    specialize lucas_modular_backward_product_fold t
  4. L154
    specialize lucas_modular_backward_product_fold C
  5. L155
    specialize lucas_modular_backward_product_fold T
  6. L156
    specialize lucas_modular_backward_product_fold P
  7. L157
    apply lucas_modular_backward_product_fold
  8. L158
    exact hproduct
  9. L159
    exact hstart
  10. L160
    exact hterminal
21Use earlier factsL161–161

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

  1. L161
    exact htrace

Library-wide reading audit

Original defined command ledger · 161 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. 0029have htrace : ∀ lmd_step_index_full_trace. ∀ lmd_step_source_full_trace. ∀ lmd_step_successor_full_trace. ∀ lmd_step_factor_full_trace. Lt(lmd_step_index_full_trace,l)BetaAt(z,t,lmd_step_index_full_trace,lmd_step_source_full_trace)BetaAt(z,t,S lmd_step_index_full_trace,lmd_step_successor_full_trace)BetaAt(s,w,lmd_step_index_full_trace,lmd_step_factor_full_trace)ModEq(p,lmd_step_source_full_trace,lmd_step_successor_full_trace · lmd_step_factor_full_trace)
    Exact native replay linehave htrace : forall lmd_step_index_full_trace lmd_step_source_full_trace lmd_step_successor_full_trace lmd_step_factor_full_trace. (exists lmd_gap_full_trace_bound. lmd_gap_full_trace_bound + S (lmd_step_index_full_trace) = (l)) -> (((exists ff_h_lmd_full_trace_source. ff_h_lmd_full_trace_source + S (lmd_step_source_full_trace) = S ((S (lmd_step_index_full_trace)) * t)) /\ exists ff_q_lmd_full_trace_source. z = ff_q_lmd_full_trace_source * S ((S (lmd_step_index_full_trace)) * t) + (lmd_step_source_full_trace))) -> (((exists ff_h_lmd_full_trace_successor. ff_h_lmd_full_trace_successor + S (lmd_step_successor_full_trace) = S ((S (S lmd_step_index_full_trace)) * t)) /\ exists ff_q_lmd_full_trace_successor. z = ff_q_lmd_full_trace_successor * S ((S (S lmd_step_index_full_trace)) * t) + (lmd_step_successor_full_trace))) -> (((exists ff_h_lmd_full_trace_factor. ff_h_lmd_full_trace_factor + S (lmd_step_factor_full_trace) = S ((S (lmd_step_index_full_trace)) * w)) /\ exists ff_q_lmd_full_trace_factor. s = ff_q_lmd_full_trace_factor * S ((S (lmd_step_index_full_trace)) * w) + (lmd_step_factor_full_trace))) -> (exists lmd_mod_left_full_trace_congruence lmd_mod_right_full_trace_congruence. (lmd_step_source_full_trace) + (p) * lmd_mod_left_full_trace_congruence = (lmd_step_successor_full_trace * lmd_step_factor_full_trace) + (p) * lmd_mod_right_full_trace_congruence)
  30. 0030intro i
  31. 0031intro A
  32. 0032intro B
  33. 0033intro D
  34. 0034intro hi
  35. 0035intro hA
  36. 0036intro hB
  37. 0037intro hD
  38. 0038cases hnchain
  39. 0039cases hkchain
  40. 0040have hnstep : ∃ q. ∃ Q. ∃ d. BetaAt(qb,qc,i,q) ∧ (BetaAt(qb,qc,S i,Q) ∧ (BetaAt(db,dc,i,d)DivRem(q,p,Q,d)))
    Exact native replay linehave hnstep : exists q Q d. ((((exists ff_h_lmd_full_n_current. ff_h_lmd_full_n_current + S (q) = S ((S (i)) * qc)) /\ exists ff_q_lmd_full_n_current. qb = ff_q_lmd_full_n_current * S ((S (i)) * qc) + (q))) /\ ((((exists ff_h_lmd_full_n_next. ff_h_lmd_full_n_next + S (Q) = S ((S (S i)) * qc)) /\ exists ff_q_lmd_full_n_next. qb = ff_q_lmd_full_n_next * S ((S (S i)) * qc) + (Q))) /\ ((((exists ff_h_lmd_full_n_digit. ff_h_lmd_full_n_digit + S (d) = S ((S (i)) * dc)) /\ exists ff_q_lmd_full_n_digit. db = ff_q_lmd_full_n_digit * S ((S (i)) * dc) + (d))) /\ ((q = p * Q + d) /\ (exists lmd_gap_full_n_digit_bound. lmd_gap_full_n_digit_bound + S (d) = (p))))))
  41. 0041specialize hnchain_right i
  42. 0042apply hnchain_right
  43. 0043exact hi
  44. 0044cases hnstep
  45. 0045cases hnstep_witness
  46. 0046cases hnstep_witness_witness
  47. 0047cases hnstep_witness_witness_witness
  48. 0048cases hnstep_witness_witness_witness_right
  49. 0049cases hnstep_witness_witness_witness_right_right
  50. 0050cases hnstep_witness_witness_witness_right_right_right
  51. 0051have hkstep : ∃ q. ∃ Q. ∃ d. BetaAt(ub,uc,i,q) ∧ (BetaAt(ub,uc,S i,Q) ∧ (BetaAt(vb,vc,i,d)DivRem(q,p,Q,d)))
    Exact native replay linehave hkstep : exists q Q d. ((((exists ff_h_lmd_full_k_current. ff_h_lmd_full_k_current + S (q) = S ((S (i)) * uc)) /\ exists ff_q_lmd_full_k_current. ub = ff_q_lmd_full_k_current * S ((S (i)) * uc) + (q))) /\ ((((exists ff_h_lmd_full_k_next. ff_h_lmd_full_k_next + S (Q) = S ((S (S i)) * uc)) /\ exists ff_q_lmd_full_k_next. ub = ff_q_lmd_full_k_next * S ((S (S i)) * uc) + (Q))) /\ ((((exists ff_h_lmd_full_k_digit. ff_h_lmd_full_k_digit + S (d) = S ((S (i)) * vc)) /\ exists ff_q_lmd_full_k_digit. vb = ff_q_lmd_full_k_digit * S ((S (i)) * vc) + (d))) /\ ((q = p * Q + d) /\ (exists lmd_gap_full_k_digit_bound. lmd_gap_full_k_digit_bound + S (d) = (p))))))
  52. 0052specialize hkchain_right i
  53. 0053apply hkchain_right
  54. 0054exact hi
  55. 0055cases hkstep
  56. 0056cases hkstep_witness
  57. 0057cases hkstep_witness_witness
  58. 0058cases hkstep_witness_witness_witness
  59. 0059cases hkstep_witness_witness_witness_right
  60. 0060cases hkstep_witness_witness_witness_right_right
  61. 0061cases hkstep_witness_witness_witness_right_right_right
  62. 0062have hindex : Lt(i,S l)
    Exact native replay linehave hindex : exists gap. gap + S i = S l
  63. 0063specialize lt_of_lt_of_le i
  64. 0064specialize lt_of_lt_of_le l
  65. 0065specialize lt_of_lt_of_le (S l)
  66. 0066apply lt_of_lt_of_le
  67. 0067exact hi
  68. 0068specialize le_succ_self l
  69. 0069exact le_succ_self
  70. 0070have hnextindex : Lt(S i,S l)
    Exact native replay linehave hnextindex : exists gap. gap + S (S i) = S l
  71. 0071specialize succ_le_succ (S i)
  72. 0072specialize succ_le_succ l
  73. 0073apply succ_le_succ
  74. 0074exact hi
  75. 0075have hwhole : Choose(x,x3,A)
    Exact native replay linehave hwhole : (((exists bcf_lt_gap_lmd_full_whole_out_of_range. bcf_lt_gap_lmd_full_whole_out_of_range + S (x) = x3) /\ A = 0) \/ ((exists bcf_le_gap_lmd_full_whole_in_range. bcf_le_gap_lmd_full_whole_in_range + (x3) = x) /\ (exists bcf_row_code_code_lmd_full_whole bcf_row_code_scale_lmd_full_whole bcf_row_scale_code_lmd_full_whole bcf_row_scale_scale_lmd_full_whole bcf_row_code_lmd_full_whole bcf_row_scale_lmd_full_whole. ((forall bcf_row_index_lmd_full_whole_table. (exists bcf_lt_gap_lmd_full_whole_table_row_bound. bcf_lt_gap_lmd_full_whole_table_row_bound + S (bcf_row_index_lmd_full_whole_table) = S (x)) -> exists bcf_row_code_lmd_full_whole_table bcf_row_scale_lmd_full_whole_table. ((((exists bcf_height_lmd_full_whole_table_decoded_row_code. bcf_height_lmd_full_whole_table_decoded_row_code + S (bcf_row_code_lmd_full_whole_table) = S ((S (bcf_row_index_lmd_full_whole_table)) * bcf_row_code_scale_lmd_full_whole)) /\ exists bcf_quotient_lmd_full_whole_table_decoded_row_code. bcf_row_code_code_lmd_full_whole = bcf_quotient_lmd_full_whole_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_whole_table)) * bcf_row_code_scale_lmd_full_whole) + (bcf_row_code_lmd_full_whole_table))) /\ ((((exists bcf_height_lmd_full_whole_table_decoded_row_scale. bcf_height_lmd_full_whole_table_decoded_row_scale + S (bcf_row_scale_lmd_full_whole_table) = S ((S (bcf_row_index_lmd_full_whole_table)) * bcf_row_scale_scale_lmd_full_whole)) /\ exists bcf_quotient_lmd_full_whole_table_decoded_row_scale. bcf_row_scale_code_lmd_full_whole = bcf_quotient_lmd_full_whole_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_whole_table)) * bcf_row_scale_scale_lmd_full_whole) + (bcf_row_scale_lmd_full_whole_table))) /\ ((bcf_row_index_lmd_full_whole_table = 0 /\ (forall bcf_index_lmd_full_whole_table_zero_row. (exists bcf_lt_gap_lmd_full_whole_table_zero_row_bound. bcf_lt_gap_lmd_full_whole_table_zero_row_bound + S (bcf_index_lmd_full_whole_table_zero_row) = S (x)) -> exists bcf_value_lmd_full_whole_table_zero_row. ((((exists bcf_height_lmd_full_whole_table_zero_row_entry. bcf_height_lmd_full_whole_table_zero_row_entry + S (bcf_value_lmd_full_whole_table_zero_row) = S ((S (bcf_index_lmd_full_whole_table_zero_row)) * bcf_row_scale_lmd_full_whole_table)) /\ exists bcf_quotient_lmd_full_whole_table_zero_row_entry. bcf_row_code_lmd_full_whole_table = bcf_quotient_lmd_full_whole_table_zero_row_entry * S ((S (bcf_index_lmd_full_whole_table_zero_row)) * bcf_row_scale_lmd_full_whole_table) + (bcf_value_lmd_full_whole_table_zero_row))) /\ ((bcf_index_lmd_full_whole_table_zero_row = 0 /\ bcf_value_lmd_full_whole_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_whole_table_zero_row. bcf_index_lmd_full_whole_table_zero_row = S bcf_predecessor_lmd_full_whole_table_zero_row /\ bcf_value_lmd_full_whole_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_whole_table bcf_previous_code_lmd_full_whole_table bcf_previous_scale_lmd_full_whole_table. bcf_row_index_lmd_full_whole_table = S bcf_predecessor_lmd_full_whole_table /\ ((((exists bcf_height_lmd_full_whole_table_decoded_previous_code. bcf_height_lmd_full_whole_table_decoded_previous_code + S (bcf_previous_code_lmd_full_whole_table) = S ((S (bcf_predecessor_lmd_full_whole_table)) * bcf_row_code_scale_lmd_full_whole)) /\ exists bcf_quotient_lmd_full_whole_table_decoded_previous_code. bcf_row_code_code_lmd_full_whole = bcf_quotient_lmd_full_whole_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_whole_table)) * bcf_row_code_scale_lmd_full_whole) + (bcf_previous_code_lmd_full_whole_table))) /\ ((((exists bcf_height_lmd_full_whole_table_decoded_previous_scale. bcf_height_lmd_full_whole_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_whole_table) = S ((S (bcf_predecessor_lmd_full_whole_table)) * bcf_row_scale_scale_lmd_full_whole)) /\ exists bcf_quotient_lmd_full_whole_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_whole = bcf_quotient_lmd_full_whole_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_whole_table)) * bcf_row_scale_scale_lmd_full_whole) + (bcf_previous_scale_lmd_full_whole_table))) /\ (forall bcf_index_lmd_full_whole_table_row_step. (exists bcf_lt_gap_lmd_full_whole_table_row_step_bound. bcf_lt_gap_lmd_full_whole_table_row_step_bound + S (bcf_index_lmd_full_whole_table_row_step) = S (x)) -> exists bcf_value_lmd_full_whole_table_row_step. ((((exists bcf_height_lmd_full_whole_table_row_step_entry. bcf_height_lmd_full_whole_table_row_step_entry + S (bcf_value_lmd_full_whole_table_row_step) = S ((S (bcf_index_lmd_full_whole_table_row_step)) * bcf_row_scale_lmd_full_whole_table)) /\ exists bcf_quotient_lmd_full_whole_table_row_step_entry. bcf_row_code_lmd_full_whole_table = bcf_quotient_lmd_full_whole_table_row_step_entry * S ((S (bcf_index_lmd_full_whole_table_row_step)) * bcf_row_scale_lmd_full_whole_table) + (bcf_value_lmd_full_whole_table_row_step))) /\ ((bcf_index_lmd_full_whole_table_row_step = 0 /\ bcf_value_lmd_full_whole_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_whole_table_row_step bcf_left_lmd_full_whole_table_row_step bcf_right_lmd_full_whole_table_row_step. bcf_index_lmd_full_whole_table_row_step = S bcf_predecessor_lmd_full_whole_table_row_step /\ ((((exists bcf_height_lmd_full_whole_table_row_step_previous_left. bcf_height_lmd_full_whole_table_row_step_previous_left + S (bcf_left_lmd_full_whole_table_row_step) = S ((S (bcf_predecessor_lmd_full_whole_table_row_step)) * bcf_previous_scale_lmd_full_whole_table)) /\ exists bcf_quotient_lmd_full_whole_table_row_step_previous_left. bcf_previous_code_lmd_full_whole_table = bcf_quotient_lmd_full_whole_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_whole_table_row_step)) * bcf_previous_scale_lmd_full_whole_table) + (bcf_left_lmd_full_whole_table_row_step))) /\ ((((exists bcf_height_lmd_full_whole_table_row_step_previous_right. bcf_height_lmd_full_whole_table_row_step_previous_right + S (bcf_right_lmd_full_whole_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_whole_table_row_step))) * bcf_previous_scale_lmd_full_whole_table)) /\ exists bcf_quotient_lmd_full_whole_table_row_step_previous_right. bcf_previous_code_lmd_full_whole_table = bcf_quotient_lmd_full_whole_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_whole_table_row_step))) * bcf_previous_scale_lmd_full_whole_table) + (bcf_right_lmd_full_whole_table_row_step))) /\ bcf_value_lmd_full_whole_table_row_step = bcf_left_lmd_full_whole_table_row_step + bcf_right_lmd_full_whole_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_whole_decoded_row_code. bcf_height_lmd_full_whole_decoded_row_code + S (bcf_row_code_lmd_full_whole) = S ((S (x)) * bcf_row_code_scale_lmd_full_whole)) /\ exists bcf_quotient_lmd_full_whole_decoded_row_code. bcf_row_code_code_lmd_full_whole = bcf_quotient_lmd_full_whole_decoded_row_code * S ((S (x)) * bcf_row_code_scale_lmd_full_whole) + (bcf_row_code_lmd_full_whole))) /\ ((((exists bcf_height_lmd_full_whole_decoded_row_scale. bcf_height_lmd_full_whole_decoded_row_scale + S (bcf_row_scale_lmd_full_whole) = S ((S (x)) * bcf_row_scale_scale_lmd_full_whole)) /\ exists bcf_quotient_lmd_full_whole_decoded_row_scale. bcf_row_scale_code_lmd_full_whole = bcf_quotient_lmd_full_whole_decoded_row_scale * S ((S (x)) * bcf_row_scale_scale_lmd_full_whole) + (bcf_row_scale_lmd_full_whole))) /\ (((exists bcf_height_lmd_full_whole_decoded_value. bcf_height_lmd_full_whole_decoded_value + S (A) = S ((S (x3)) * bcf_row_scale_lmd_full_whole)) /\ exists bcf_quotient_lmd_full_whole_decoded_value. bcf_row_code_lmd_full_whole = bcf_quotient_lmd_full_whole_decoded_value * S ((S (x3)) * bcf_row_scale_lmd_full_whole) + (A)))))))))
  76. 0076specialize lucas_choose_prefix_point qb
  77. 0077specialize lucas_choose_prefix_point qc
  78. 0078specialize lucas_choose_prefix_point ub
  79. 0079specialize lucas_choose_prefix_point uc
  80. 0080specialize lucas_choose_prefix_point z
  81. 0081specialize lucas_choose_prefix_point t
  82. 0082specialize lucas_choose_prefix_point (S l)
  83. 0083specialize lucas_choose_prefix_point i
  84. 0084specialize lucas_choose_prefix_point x
  85. 0085specialize lucas_choose_prefix_point x3
  86. 0086specialize lucas_choose_prefix_point A
  87. 0087apply lucas_choose_prefix_point
  88. 0088exact hquotientchoose
  89. 0089exact hindex
  90. 0090exact hnstep_witness_witness_witness_left
  91. 0091exact hkstep_witness_witness_witness_left
  92. 0092exact hA
  93. 0093have hupper : Choose(x1,x4,B)
    Exact native replay linehave hupper : (((exists bcf_lt_gap_lmd_full_upper_out_of_range. bcf_lt_gap_lmd_full_upper_out_of_range + S (x1) = x4) /\ B = 0) \/ ((exists bcf_le_gap_lmd_full_upper_in_range. bcf_le_gap_lmd_full_upper_in_range + (x4) = x1) /\ (exists bcf_row_code_code_lmd_full_upper bcf_row_code_scale_lmd_full_upper bcf_row_scale_code_lmd_full_upper bcf_row_scale_scale_lmd_full_upper bcf_row_code_lmd_full_upper bcf_row_scale_lmd_full_upper. ((forall bcf_row_index_lmd_full_upper_table. (exists bcf_lt_gap_lmd_full_upper_table_row_bound. bcf_lt_gap_lmd_full_upper_table_row_bound + S (bcf_row_index_lmd_full_upper_table) = S (x1)) -> exists bcf_row_code_lmd_full_upper_table bcf_row_scale_lmd_full_upper_table. ((((exists bcf_height_lmd_full_upper_table_decoded_row_code. bcf_height_lmd_full_upper_table_decoded_row_code + S (bcf_row_code_lmd_full_upper_table) = S ((S (bcf_row_index_lmd_full_upper_table)) * bcf_row_code_scale_lmd_full_upper)) /\ exists bcf_quotient_lmd_full_upper_table_decoded_row_code. bcf_row_code_code_lmd_full_upper = bcf_quotient_lmd_full_upper_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_upper_table)) * bcf_row_code_scale_lmd_full_upper) + (bcf_row_code_lmd_full_upper_table))) /\ ((((exists bcf_height_lmd_full_upper_table_decoded_row_scale. bcf_height_lmd_full_upper_table_decoded_row_scale + S (bcf_row_scale_lmd_full_upper_table) = S ((S (bcf_row_index_lmd_full_upper_table)) * bcf_row_scale_scale_lmd_full_upper)) /\ exists bcf_quotient_lmd_full_upper_table_decoded_row_scale. bcf_row_scale_code_lmd_full_upper = bcf_quotient_lmd_full_upper_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_upper_table)) * bcf_row_scale_scale_lmd_full_upper) + (bcf_row_scale_lmd_full_upper_table))) /\ ((bcf_row_index_lmd_full_upper_table = 0 /\ (forall bcf_index_lmd_full_upper_table_zero_row. (exists bcf_lt_gap_lmd_full_upper_table_zero_row_bound. bcf_lt_gap_lmd_full_upper_table_zero_row_bound + S (bcf_index_lmd_full_upper_table_zero_row) = S (x1)) -> exists bcf_value_lmd_full_upper_table_zero_row. ((((exists bcf_height_lmd_full_upper_table_zero_row_entry. bcf_height_lmd_full_upper_table_zero_row_entry + S (bcf_value_lmd_full_upper_table_zero_row) = S ((S (bcf_index_lmd_full_upper_table_zero_row)) * bcf_row_scale_lmd_full_upper_table)) /\ exists bcf_quotient_lmd_full_upper_table_zero_row_entry. bcf_row_code_lmd_full_upper_table = bcf_quotient_lmd_full_upper_table_zero_row_entry * S ((S (bcf_index_lmd_full_upper_table_zero_row)) * bcf_row_scale_lmd_full_upper_table) + (bcf_value_lmd_full_upper_table_zero_row))) /\ ((bcf_index_lmd_full_upper_table_zero_row = 0 /\ bcf_value_lmd_full_upper_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_upper_table_zero_row. bcf_index_lmd_full_upper_table_zero_row = S bcf_predecessor_lmd_full_upper_table_zero_row /\ bcf_value_lmd_full_upper_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_upper_table bcf_previous_code_lmd_full_upper_table bcf_previous_scale_lmd_full_upper_table. bcf_row_index_lmd_full_upper_table = S bcf_predecessor_lmd_full_upper_table /\ ((((exists bcf_height_lmd_full_upper_table_decoded_previous_code. bcf_height_lmd_full_upper_table_decoded_previous_code + S (bcf_previous_code_lmd_full_upper_table) = S ((S (bcf_predecessor_lmd_full_upper_table)) * bcf_row_code_scale_lmd_full_upper)) /\ exists bcf_quotient_lmd_full_upper_table_decoded_previous_code. bcf_row_code_code_lmd_full_upper = bcf_quotient_lmd_full_upper_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_upper_table)) * bcf_row_code_scale_lmd_full_upper) + (bcf_previous_code_lmd_full_upper_table))) /\ ((((exists bcf_height_lmd_full_upper_table_decoded_previous_scale. bcf_height_lmd_full_upper_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_upper_table) = S ((S (bcf_predecessor_lmd_full_upper_table)) * bcf_row_scale_scale_lmd_full_upper)) /\ exists bcf_quotient_lmd_full_upper_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_upper = bcf_quotient_lmd_full_upper_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_upper_table)) * bcf_row_scale_scale_lmd_full_upper) + (bcf_previous_scale_lmd_full_upper_table))) /\ (forall bcf_index_lmd_full_upper_table_row_step. (exists bcf_lt_gap_lmd_full_upper_table_row_step_bound. bcf_lt_gap_lmd_full_upper_table_row_step_bound + S (bcf_index_lmd_full_upper_table_row_step) = S (x1)) -> exists bcf_value_lmd_full_upper_table_row_step. ((((exists bcf_height_lmd_full_upper_table_row_step_entry. bcf_height_lmd_full_upper_table_row_step_entry + S (bcf_value_lmd_full_upper_table_row_step) = S ((S (bcf_index_lmd_full_upper_table_row_step)) * bcf_row_scale_lmd_full_upper_table)) /\ exists bcf_quotient_lmd_full_upper_table_row_step_entry. bcf_row_code_lmd_full_upper_table = bcf_quotient_lmd_full_upper_table_row_step_entry * S ((S (bcf_index_lmd_full_upper_table_row_step)) * bcf_row_scale_lmd_full_upper_table) + (bcf_value_lmd_full_upper_table_row_step))) /\ ((bcf_index_lmd_full_upper_table_row_step = 0 /\ bcf_value_lmd_full_upper_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_upper_table_row_step bcf_left_lmd_full_upper_table_row_step bcf_right_lmd_full_upper_table_row_step. bcf_index_lmd_full_upper_table_row_step = S bcf_predecessor_lmd_full_upper_table_row_step /\ ((((exists bcf_height_lmd_full_upper_table_row_step_previous_left. bcf_height_lmd_full_upper_table_row_step_previous_left + S (bcf_left_lmd_full_upper_table_row_step) = S ((S (bcf_predecessor_lmd_full_upper_table_row_step)) * bcf_previous_scale_lmd_full_upper_table)) /\ exists bcf_quotient_lmd_full_upper_table_row_step_previous_left. bcf_previous_code_lmd_full_upper_table = bcf_quotient_lmd_full_upper_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_upper_table_row_step)) * bcf_previous_scale_lmd_full_upper_table) + (bcf_left_lmd_full_upper_table_row_step))) /\ ((((exists bcf_height_lmd_full_upper_table_row_step_previous_right. bcf_height_lmd_full_upper_table_row_step_previous_right + S (bcf_right_lmd_full_upper_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_upper_table_row_step))) * bcf_previous_scale_lmd_full_upper_table)) /\ exists bcf_quotient_lmd_full_upper_table_row_step_previous_right. bcf_previous_code_lmd_full_upper_table = bcf_quotient_lmd_full_upper_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_upper_table_row_step))) * bcf_previous_scale_lmd_full_upper_table) + (bcf_right_lmd_full_upper_table_row_step))) /\ bcf_value_lmd_full_upper_table_row_step = bcf_left_lmd_full_upper_table_row_step + bcf_right_lmd_full_upper_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_upper_decoded_row_code. bcf_height_lmd_full_upper_decoded_row_code + S (bcf_row_code_lmd_full_upper) = S ((S (x1)) * bcf_row_code_scale_lmd_full_upper)) /\ exists bcf_quotient_lmd_full_upper_decoded_row_code. bcf_row_code_code_lmd_full_upper = bcf_quotient_lmd_full_upper_decoded_row_code * S ((S (x1)) * bcf_row_code_scale_lmd_full_upper) + (bcf_row_code_lmd_full_upper))) /\ ((((exists bcf_height_lmd_full_upper_decoded_row_scale. bcf_height_lmd_full_upper_decoded_row_scale + S (bcf_row_scale_lmd_full_upper) = S ((S (x1)) * bcf_row_scale_scale_lmd_full_upper)) /\ exists bcf_quotient_lmd_full_upper_decoded_row_scale. bcf_row_scale_code_lmd_full_upper = bcf_quotient_lmd_full_upper_decoded_row_scale * S ((S (x1)) * bcf_row_scale_scale_lmd_full_upper) + (bcf_row_scale_lmd_full_upper))) /\ (((exists bcf_height_lmd_full_upper_decoded_value. bcf_height_lmd_full_upper_decoded_value + S (B) = S ((S (x4)) * bcf_row_scale_lmd_full_upper)) /\ exists bcf_quotient_lmd_full_upper_decoded_value. bcf_row_code_lmd_full_upper = bcf_quotient_lmd_full_upper_decoded_value * S ((S (x4)) * bcf_row_scale_lmd_full_upper) + (B)))))))))
  94. 0094specialize lucas_choose_prefix_point qb
  95. 0095specialize lucas_choose_prefix_point qc
  96. 0096specialize lucas_choose_prefix_point ub
  97. 0097specialize lucas_choose_prefix_point uc
  98. 0098specialize lucas_choose_prefix_point z
  99. 0099specialize lucas_choose_prefix_point t
  100. 0100specialize lucas_choose_prefix_point (S l)
  101. 0101specialize lucas_choose_prefix_point (S i)
  102. 0102specialize lucas_choose_prefix_point x1
  103. 0103specialize lucas_choose_prefix_point x4
  104. 0104specialize lucas_choose_prefix_point B
  105. 0105apply lucas_choose_prefix_point
  106. 0106exact hquotientchoose
  107. 0107exact hnextindex
  108. 0108exact hnstep_witness_witness_witness_right_left
  109. 0109exact hkstep_witness_witness_witness_right_left
  110. 0110exact hB
  111. 0111have hdigit : Choose(x2,x5,D)
    Exact native replay linehave hdigit : (((exists bcf_lt_gap_lmd_full_digit_out_of_range. bcf_lt_gap_lmd_full_digit_out_of_range + S (x2) = x5) /\ D = 0) \/ ((exists bcf_le_gap_lmd_full_digit_in_range. bcf_le_gap_lmd_full_digit_in_range + (x5) = x2) /\ (exists bcf_row_code_code_lmd_full_digit bcf_row_code_scale_lmd_full_digit bcf_row_scale_code_lmd_full_digit bcf_row_scale_scale_lmd_full_digit bcf_row_code_lmd_full_digit bcf_row_scale_lmd_full_digit. ((forall bcf_row_index_lmd_full_digit_table. (exists bcf_lt_gap_lmd_full_digit_table_row_bound. bcf_lt_gap_lmd_full_digit_table_row_bound + S (bcf_row_index_lmd_full_digit_table) = S (x2)) -> exists bcf_row_code_lmd_full_digit_table bcf_row_scale_lmd_full_digit_table. ((((exists bcf_height_lmd_full_digit_table_decoded_row_code. bcf_height_lmd_full_digit_table_decoded_row_code + S (bcf_row_code_lmd_full_digit_table) = S ((S (bcf_row_index_lmd_full_digit_table)) * bcf_row_code_scale_lmd_full_digit)) /\ exists bcf_quotient_lmd_full_digit_table_decoded_row_code. bcf_row_code_code_lmd_full_digit = bcf_quotient_lmd_full_digit_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_digit_table)) * bcf_row_code_scale_lmd_full_digit) + (bcf_row_code_lmd_full_digit_table))) /\ ((((exists bcf_height_lmd_full_digit_table_decoded_row_scale. bcf_height_lmd_full_digit_table_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_table) = S ((S (bcf_row_index_lmd_full_digit_table)) * bcf_row_scale_scale_lmd_full_digit)) /\ exists bcf_quotient_lmd_full_digit_table_decoded_row_scale. bcf_row_scale_code_lmd_full_digit = bcf_quotient_lmd_full_digit_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_digit_table)) * bcf_row_scale_scale_lmd_full_digit) + (bcf_row_scale_lmd_full_digit_table))) /\ ((bcf_row_index_lmd_full_digit_table = 0 /\ (forall bcf_index_lmd_full_digit_table_zero_row. (exists bcf_lt_gap_lmd_full_digit_table_zero_row_bound. bcf_lt_gap_lmd_full_digit_table_zero_row_bound + S (bcf_index_lmd_full_digit_table_zero_row) = S (x2)) -> exists bcf_value_lmd_full_digit_table_zero_row. ((((exists bcf_height_lmd_full_digit_table_zero_row_entry. bcf_height_lmd_full_digit_table_zero_row_entry + S (bcf_value_lmd_full_digit_table_zero_row) = S ((S (bcf_index_lmd_full_digit_table_zero_row)) * bcf_row_scale_lmd_full_digit_table)) /\ exists bcf_quotient_lmd_full_digit_table_zero_row_entry. bcf_row_code_lmd_full_digit_table = bcf_quotient_lmd_full_digit_table_zero_row_entry * S ((S (bcf_index_lmd_full_digit_table_zero_row)) * bcf_row_scale_lmd_full_digit_table) + (bcf_value_lmd_full_digit_table_zero_row))) /\ ((bcf_index_lmd_full_digit_table_zero_row = 0 /\ bcf_value_lmd_full_digit_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_digit_table_zero_row. bcf_index_lmd_full_digit_table_zero_row = S bcf_predecessor_lmd_full_digit_table_zero_row /\ bcf_value_lmd_full_digit_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_digit_table bcf_previous_code_lmd_full_digit_table bcf_previous_scale_lmd_full_digit_table. bcf_row_index_lmd_full_digit_table = S bcf_predecessor_lmd_full_digit_table /\ ((((exists bcf_height_lmd_full_digit_table_decoded_previous_code. bcf_height_lmd_full_digit_table_decoded_previous_code + S (bcf_previous_code_lmd_full_digit_table) = S ((S (bcf_predecessor_lmd_full_digit_table)) * bcf_row_code_scale_lmd_full_digit)) /\ exists bcf_quotient_lmd_full_digit_table_decoded_previous_code. bcf_row_code_code_lmd_full_digit = bcf_quotient_lmd_full_digit_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_digit_table)) * bcf_row_code_scale_lmd_full_digit) + (bcf_previous_code_lmd_full_digit_table))) /\ ((((exists bcf_height_lmd_full_digit_table_decoded_previous_scale. bcf_height_lmd_full_digit_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_digit_table) = S ((S (bcf_predecessor_lmd_full_digit_table)) * bcf_row_scale_scale_lmd_full_digit)) /\ exists bcf_quotient_lmd_full_digit_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_digit = bcf_quotient_lmd_full_digit_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_digit_table)) * bcf_row_scale_scale_lmd_full_digit) + (bcf_previous_scale_lmd_full_digit_table))) /\ (forall bcf_index_lmd_full_digit_table_row_step. (exists bcf_lt_gap_lmd_full_digit_table_row_step_bound. bcf_lt_gap_lmd_full_digit_table_row_step_bound + S (bcf_index_lmd_full_digit_table_row_step) = S (x2)) -> exists bcf_value_lmd_full_digit_table_row_step. ((((exists bcf_height_lmd_full_digit_table_row_step_entry. bcf_height_lmd_full_digit_table_row_step_entry + S (bcf_value_lmd_full_digit_table_row_step) = S ((S (bcf_index_lmd_full_digit_table_row_step)) * bcf_row_scale_lmd_full_digit_table)) /\ exists bcf_quotient_lmd_full_digit_table_row_step_entry. bcf_row_code_lmd_full_digit_table = bcf_quotient_lmd_full_digit_table_row_step_entry * S ((S (bcf_index_lmd_full_digit_table_row_step)) * bcf_row_scale_lmd_full_digit_table) + (bcf_value_lmd_full_digit_table_row_step))) /\ ((bcf_index_lmd_full_digit_table_row_step = 0 /\ bcf_value_lmd_full_digit_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_digit_table_row_step bcf_left_lmd_full_digit_table_row_step bcf_right_lmd_full_digit_table_row_step. bcf_index_lmd_full_digit_table_row_step = S bcf_predecessor_lmd_full_digit_table_row_step /\ ((((exists bcf_height_lmd_full_digit_table_row_step_previous_left. bcf_height_lmd_full_digit_table_row_step_previous_left + S (bcf_left_lmd_full_digit_table_row_step) = S ((S (bcf_predecessor_lmd_full_digit_table_row_step)) * bcf_previous_scale_lmd_full_digit_table)) /\ exists bcf_quotient_lmd_full_digit_table_row_step_previous_left. bcf_previous_code_lmd_full_digit_table = bcf_quotient_lmd_full_digit_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_digit_table_row_step)) * bcf_previous_scale_lmd_full_digit_table) + (bcf_left_lmd_full_digit_table_row_step))) /\ ((((exists bcf_height_lmd_full_digit_table_row_step_previous_right. bcf_height_lmd_full_digit_table_row_step_previous_right + S (bcf_right_lmd_full_digit_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_digit_table_row_step))) * bcf_previous_scale_lmd_full_digit_table)) /\ exists bcf_quotient_lmd_full_digit_table_row_step_previous_right. bcf_previous_code_lmd_full_digit_table = bcf_quotient_lmd_full_digit_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_digit_table_row_step))) * bcf_previous_scale_lmd_full_digit_table) + (bcf_right_lmd_full_digit_table_row_step))) /\ bcf_value_lmd_full_digit_table_row_step = bcf_left_lmd_full_digit_table_row_step + bcf_right_lmd_full_digit_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_digit_decoded_row_code. bcf_height_lmd_full_digit_decoded_row_code + S (bcf_row_code_lmd_full_digit) = S ((S (x2)) * bcf_row_code_scale_lmd_full_digit)) /\ exists bcf_quotient_lmd_full_digit_decoded_row_code. bcf_row_code_code_lmd_full_digit = bcf_quotient_lmd_full_digit_decoded_row_code * S ((S (x2)) * bcf_row_code_scale_lmd_full_digit) + (bcf_row_code_lmd_full_digit))) /\ ((((exists bcf_height_lmd_full_digit_decoded_row_scale. bcf_height_lmd_full_digit_decoded_row_scale + S (bcf_row_scale_lmd_full_digit) = S ((S (x2)) * bcf_row_scale_scale_lmd_full_digit)) /\ exists bcf_quotient_lmd_full_digit_decoded_row_scale. bcf_row_scale_code_lmd_full_digit = bcf_quotient_lmd_full_digit_decoded_row_scale * S ((S (x2)) * bcf_row_scale_scale_lmd_full_digit) + (bcf_row_scale_lmd_full_digit))) /\ (((exists bcf_height_lmd_full_digit_decoded_value. bcf_height_lmd_full_digit_decoded_value + S (D) = S ((S (x5)) * bcf_row_scale_lmd_full_digit)) /\ exists bcf_quotient_lmd_full_digit_decoded_value. bcf_row_code_lmd_full_digit = bcf_quotient_lmd_full_digit_decoded_value * S ((S (x5)) * bcf_row_scale_lmd_full_digit) + (D)))))))))
  112. 0112specialize lucas_choose_prefix_point db
  113. 0113specialize lucas_choose_prefix_point dc
  114. 0114specialize lucas_choose_prefix_point vb
  115. 0115specialize lucas_choose_prefix_point vc
  116. 0116specialize lucas_choose_prefix_point s
  117. 0117specialize lucas_choose_prefix_point w
  118. 0118specialize lucas_choose_prefix_point l
  119. 0119specialize lucas_choose_prefix_point i
  120. 0120specialize lucas_choose_prefix_point x2
  121. 0121specialize lucas_choose_prefix_point x5
  122. 0122specialize lucas_choose_prefix_point D
  123. 0123apply lucas_choose_prefix_point
  124. 0124exact hdigitchoose
  125. 0125exact hi
  126. 0126exact hnstep_witness_witness_witness_right_right_left
  127. 0127exact hkstep_witness_witness_witness_right_right_left
  128. 0128exact hD
  129. 0129specialize hstep p
  130. 0130specialize hstep x
  131. 0131specialize hstep x3
  132. 0132specialize hstep x1
  133. 0133specialize hstep x4
  134. 0134specialize hstep x2
  135. 0135specialize hstep x5
  136. 0136specialize hstep A
  137. 0137specialize hstep B
  138. 0138specialize hstep D
  139. 0139apply hstep
  140. 0140exact hprime
  141. 0141exact hnstep_witness_witness_witness_right_right_right_left
  142. 0142exact hkstep_witness_witness_witness_right_right_right_left
  143. 0143exact hnstep_witness_witness_witness_right_right_right_right
  144. 0144exact hkstep_witness_witness_witness_right_right_right_right
  145. 0145exact hwhole
  146. 0146exact hupper
  147. 0147exact hdigit
  148. 0148specialize lucas_modular_backward_product_fold l
  149. 0149specialize lucas_modular_backward_product_fold p
  150. 0150specialize lucas_modular_backward_product_fold s
  151. 0151specialize lucas_modular_backward_product_fold w
  152. 0152specialize lucas_modular_backward_product_fold z
  153. 0153specialize lucas_modular_backward_product_fold t
  154. 0154specialize lucas_modular_backward_product_fold C
  155. 0155specialize lucas_modular_backward_product_fold T
  156. 0156specialize lucas_modular_backward_product_fold P
  157. 0157apply lucas_modular_backward_product_fold
  158. 0158exact hproduct
  159. 0159exact hstart
  160. 0160exact hterminal
  161. 0161exact htrace