LU001P

lucas_terminating_multidigit_theorem

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

Unconditional constructive Lucas theorem for any two genuinely terminating beta-coded prime-base digit streams: Choose(n,k) is congruent to the entire digitwise binomial product modulo p.

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

Exact expanded first-order arithmetic statement

forall p n k l qb qc db dc ub uc vb vc z t s w P C T. ((~(p = 1) /\ forall frm_prime_left_lmd_terminal_prime frm_prime_right_lmd_terminal_prime. p = frm_prime_left_lmd_terminal_prime * frm_prime_right_lmd_terminal_prime -> frm_prime_left_lmd_terminal_prime = 1 \/ frm_prime_right_lmd_terminal_prime = 1)) -> (((((exists ff_h_lmd_full_n_initial. ff_h_lmd_full_n_initial + S (n) = S ((S (0)) * qc)) /\ exists ff_q_lmd_full_n_initial. qb = ff_q_lmd_full_n_initial * S ((S (0)) * qc) + (n))) /\ forall lmd_index_full_n. (exists lmd_gap_full_n_index. lmd_gap_full_n_index + S (lmd_index_full_n) = (l)) -> exists lmd_current_full_n lmd_successor_full_n lmd_digit_full_n. ((((exists ff_h_lmd_full_n_current. ff_h_lmd_full_n_current + S (lmd_current_full_n) = S ((S (lmd_index_full_n)) * qc)) /\ exists ff_q_lmd_full_n_current. qb = ff_q_lmd_full_n_current * S ((S (lmd_index_full_n)) * qc) + (lmd_current_full_n))) /\ ((((exists ff_h_lmd_full_n_successor. ff_h_lmd_full_n_successor + S (lmd_successor_full_n) = S ((S (S lmd_index_full_n)) * qc)) /\ exists ff_q_lmd_full_n_successor. qb = ff_q_lmd_full_n_successor * S ((S (S lmd_index_full_n)) * qc) + (lmd_successor_full_n))) /\ ((((exists ff_h_lmd_full_n_digit. ff_h_lmd_full_n_digit + S (lmd_digit_full_n) = S ((S (lmd_index_full_n)) * dc)) /\ exists ff_q_lmd_full_n_digit. db = ff_q_lmd_full_n_digit * S ((S (lmd_index_full_n)) * dc) + (lmd_digit_full_n))) /\ ((lmd_current_full_n = (p) * (lmd_successor_full_n) + (lmd_digit_full_n)) /\ (exists lmd_gap_full_n_digit_bound. lmd_gap_full_n_digit_bound + S (lmd_digit_full_n) = (p)))))))) -> (((((exists ff_h_lmd_full_k_initial. ff_h_lmd_full_k_initial + S (k) = S ((S (0)) * uc)) /\ exists ff_q_lmd_full_k_initial. ub = ff_q_lmd_full_k_initial * S ((S (0)) * uc) + (k))) /\ forall lmd_index_full_k. (exists lmd_gap_full_k_index. lmd_gap_full_k_index + S (lmd_index_full_k) = (l)) -> exists lmd_current_full_k lmd_successor_full_k lmd_digit_full_k. ((((exists ff_h_lmd_full_k_current. ff_h_lmd_full_k_current + S (lmd_current_full_k) = S ((S (lmd_index_full_k)) * uc)) /\ exists ff_q_lmd_full_k_current. ub = ff_q_lmd_full_k_current * S ((S (lmd_index_full_k)) * uc) + (lmd_current_full_k))) /\ ((((exists ff_h_lmd_full_k_successor. ff_h_lmd_full_k_successor + S (lmd_successor_full_k) = S ((S (S lmd_index_full_k)) * uc)) /\ exists ff_q_lmd_full_k_successor. ub = ff_q_lmd_full_k_successor * S ((S (S lmd_index_full_k)) * uc) + (lmd_successor_full_k))) /\ ((((exists ff_h_lmd_full_k_digit. ff_h_lmd_full_k_digit + S (lmd_digit_full_k) = S ((S (lmd_index_full_k)) * vc)) /\ exists ff_q_lmd_full_k_digit. vb = ff_q_lmd_full_k_digit * S ((S (lmd_index_full_k)) * vc) + (lmd_digit_full_k))) /\ ((lmd_current_full_k = (p) * (lmd_successor_full_k) + (lmd_digit_full_k)) /\ (exists lmd_gap_full_k_digit_bound. lmd_gap_full_k_digit_bound + S (lmd_digit_full_k) = (p)))))))) -> (forall lmd_choose_index_full_quotient_choose. (exists lmd_gap_full_quotient_choose_bound. lmd_gap_full_quotient_choose_bound + S (lmd_choose_index_full_quotient_choose) = (S l)) -> exists lmd_choose_upper_full_quotient_choose lmd_choose_lower_full_quotient_choose lmd_choose_value_full_quotient_choose. ((((exists ff_h_lmd_full_quotient_choose_upper. ff_h_lmd_full_quotient_choose_upper + S (lmd_choose_upper_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * qc)) /\ exists ff_q_lmd_full_quotient_choose_upper. qb = ff_q_lmd_full_quotient_choose_upper * S ((S (lmd_choose_index_full_quotient_choose)) * qc) + (lmd_choose_upper_full_quotient_choose))) /\ ((((exists ff_h_lmd_full_quotient_choose_lower. ff_h_lmd_full_quotient_choose_lower + S (lmd_choose_lower_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * uc)) /\ exists ff_q_lmd_full_quotient_choose_lower. ub = ff_q_lmd_full_quotient_choose_lower * S ((S (lmd_choose_index_full_quotient_choose)) * uc) + (lmd_choose_lower_full_quotient_choose))) /\ ((((exists ff_h_lmd_full_quotient_choose_result. ff_h_lmd_full_quotient_choose_result + S (lmd_choose_value_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * t)) /\ exists ff_q_lmd_full_quotient_choose_result. z = ff_q_lmd_full_quotient_choose_result * S ((S (lmd_choose_index_full_quotient_choose)) * t) + (lmd_choose_value_full_quotient_choose))) /\ (((exists bcf_lt_gap_lmd_full_quotient_choose_choose_out_of_range. bcf_lt_gap_lmd_full_quotient_choose_choose_out_of_range + S (lmd_choose_upper_full_quotient_choose) = lmd_choose_lower_full_quotient_choose) /\ lmd_choose_value_full_quotient_choose = 0) \/ ((exists bcf_le_gap_lmd_full_quotient_choose_choose_in_range. bcf_le_gap_lmd_full_quotient_choose_choose_in_range + (lmd_choose_lower_full_quotient_choose) = lmd_choose_upper_full_quotient_choose) /\ (exists bcf_row_code_code_lmd_full_quotient_choose_choose bcf_row_code_scale_lmd_full_quotient_choose_choose bcf_row_scale_code_lmd_full_quotient_choose_choose bcf_row_scale_scale_lmd_full_quotient_choose_choose bcf_row_code_lmd_full_quotient_choose_choose bcf_row_scale_lmd_full_quotient_choose_choose. ((forall bcf_row_index_lmd_full_quotient_choose_choose_table. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_bound + S (bcf_row_index_lmd_full_quotient_choose_choose_table) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_row_code_lmd_full_quotient_choose_choose_table bcf_row_scale_lmd_full_quotient_choose_choose_table. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_code. bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_code + S (bcf_row_code_lmd_full_quotient_choose_choose_table) = S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_row_code_lmd_full_quotient_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_scale. bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_full_quotient_choose_choose_table) = S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_row_scale_lmd_full_quotient_choose_choose_table))) /\ ((bcf_row_index_lmd_full_quotient_choose_choose_table = 0 /\ (forall bcf_index_lmd_full_quotient_choose_choose_table_zero_row. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_zero_row_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_zero_row_bound + S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_value_lmd_full_quotient_choose_choose_table_zero_row. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_zero_row_entry. bcf_height_lmd_full_quotient_choose_choose_table_zero_row_entry + S (bcf_value_lmd_full_quotient_choose_choose_table_zero_row) = S ((S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_zero_row_entry. bcf_row_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_zero_row_entry * S ((S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_quotient_choose_choose_table) + (bcf_value_lmd_full_quotient_choose_choose_table_zero_row))) /\ ((bcf_index_lmd_full_quotient_choose_choose_table_zero_row = 0 /\ bcf_value_lmd_full_quotient_choose_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table_zero_row. bcf_index_lmd_full_quotient_choose_choose_table_zero_row = S bcf_predecessor_lmd_full_quotient_choose_choose_table_zero_row /\ bcf_value_lmd_full_quotient_choose_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table bcf_previous_code_lmd_full_quotient_choose_choose_table bcf_previous_scale_lmd_full_quotient_choose_choose_table. bcf_row_index_lmd_full_quotient_choose_choose_table = S bcf_predecessor_lmd_full_quotient_choose_choose_table /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_code. bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_full_quotient_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_previous_code_lmd_full_quotient_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_scale. bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_quotient_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_previous_scale_lmd_full_quotient_choose_choose_table))) /\ (forall bcf_index_lmd_full_quotient_choose_choose_table_row_step. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_step_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_step_bound + S (bcf_index_lmd_full_quotient_choose_choose_table_row_step) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_value_lmd_full_quotient_choose_choose_table_row_step. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_entry. bcf_height_lmd_full_quotient_choose_choose_table_row_step_entry + S (bcf_value_lmd_full_quotient_choose_choose_table_row_step) = S ((S (bcf_index_lmd_full_quotient_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_entry. bcf_row_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_entry * S ((S (bcf_index_lmd_full_quotient_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_quotient_choose_choose_table) + (bcf_value_lmd_full_quotient_choose_choose_table_row_step))) /\ ((bcf_index_lmd_full_quotient_choose_choose_table_row_step = 0 /\ bcf_value_lmd_full_quotient_choose_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step bcf_left_lmd_full_quotient_choose_choose_table_row_step bcf_right_lmd_full_quotient_choose_choose_table_row_step. bcf_index_lmd_full_quotient_choose_choose_table_row_step = S bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_left. bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_left + S (bcf_left_lmd_full_quotient_choose_choose_table_row_step) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_left. bcf_previous_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_quotient_choose_choose_table) + (bcf_left_lmd_full_quotient_choose_choose_table_row_step))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_right. bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_right + S (bcf_right_lmd_full_quotient_choose_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_right. bcf_previous_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_quotient_choose_choose_table) + (bcf_right_lmd_full_quotient_choose_choose_table_row_step))) /\ bcf_value_lmd_full_quotient_choose_choose_table_row_step = bcf_left_lmd_full_quotient_choose_choose_table_row_step + bcf_right_lmd_full_quotient_choose_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_decoded_row_code. bcf_height_lmd_full_quotient_choose_choose_decoded_row_code + S (bcf_row_code_lmd_full_quotient_choose_choose) = S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_code * S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_row_code_lmd_full_quotient_choose_choose))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_decoded_row_scale. bcf_height_lmd_full_quotient_choose_choose_decoded_row_scale + S (bcf_row_scale_lmd_full_quotient_choose_choose) = S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_scale * S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_row_scale_lmd_full_quotient_choose_choose))) /\ (((exists bcf_height_lmd_full_quotient_choose_choose_decoded_value. bcf_height_lmd_full_quotient_choose_choose_decoded_value + S (lmd_choose_value_full_quotient_choose) = S ((S (lmd_choose_lower_full_quotient_choose)) * bcf_row_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_value. bcf_row_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_value * S ((S (lmd_choose_lower_full_quotient_choose)) * bcf_row_scale_lmd_full_quotient_choose_choose) + (lmd_choose_value_full_quotient_choose))))))))))))) -> (forall lmd_choose_index_full_digit_choose. (exists lmd_gap_full_digit_choose_bound. lmd_gap_full_digit_choose_bound + S (lmd_choose_index_full_digit_choose) = (l)) -> exists lmd_choose_upper_full_digit_choose lmd_choose_lower_full_digit_choose lmd_choose_value_full_digit_choose. ((((exists ff_h_lmd_full_digit_choose_upper. ff_h_lmd_full_digit_choose_upper + S (lmd_choose_upper_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * dc)) /\ exists ff_q_lmd_full_digit_choose_upper. db = ff_q_lmd_full_digit_choose_upper * S ((S (lmd_choose_index_full_digit_choose)) * dc) + (lmd_choose_upper_full_digit_choose))) /\ ((((exists ff_h_lmd_full_digit_choose_lower. ff_h_lmd_full_digit_choose_lower + S (lmd_choose_lower_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * vc)) /\ exists ff_q_lmd_full_digit_choose_lower. vb = ff_q_lmd_full_digit_choose_lower * S ((S (lmd_choose_index_full_digit_choose)) * vc) + (lmd_choose_lower_full_digit_choose))) /\ ((((exists ff_h_lmd_full_digit_choose_result. ff_h_lmd_full_digit_choose_result + S (lmd_choose_value_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * w)) /\ exists ff_q_lmd_full_digit_choose_result. s = ff_q_lmd_full_digit_choose_result * S ((S (lmd_choose_index_full_digit_choose)) * w) + (lmd_choose_value_full_digit_choose))) /\ (((exists bcf_lt_gap_lmd_full_digit_choose_choose_out_of_range. bcf_lt_gap_lmd_full_digit_choose_choose_out_of_range + S (lmd_choose_upper_full_digit_choose) = lmd_choose_lower_full_digit_choose) /\ lmd_choose_value_full_digit_choose = 0) \/ ((exists bcf_le_gap_lmd_full_digit_choose_choose_in_range. bcf_le_gap_lmd_full_digit_choose_choose_in_range + (lmd_choose_lower_full_digit_choose) = lmd_choose_upper_full_digit_choose) /\ (exists bcf_row_code_code_lmd_full_digit_choose_choose bcf_row_code_scale_lmd_full_digit_choose_choose bcf_row_scale_code_lmd_full_digit_choose_choose bcf_row_scale_scale_lmd_full_digit_choose_choose bcf_row_code_lmd_full_digit_choose_choose bcf_row_scale_lmd_full_digit_choose_choose. ((forall bcf_row_index_lmd_full_digit_choose_choose_table. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_row_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_row_bound + S (bcf_row_index_lmd_full_digit_choose_choose_table) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_row_code_lmd_full_digit_choose_choose_table bcf_row_scale_lmd_full_digit_choose_choose_table. ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_row_code. bcf_height_lmd_full_digit_choose_choose_table_decoded_row_code + S (bcf_row_code_lmd_full_digit_choose_choose_table) = S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_row_code_lmd_full_digit_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_row_scale. bcf_height_lmd_full_digit_choose_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_choose_choose_table) = S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_row_scale_lmd_full_digit_choose_choose_table))) /\ ((bcf_row_index_lmd_full_digit_choose_choose_table = 0 /\ (forall bcf_index_lmd_full_digit_choose_choose_table_zero_row. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_zero_row_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_zero_row_bound + S (bcf_index_lmd_full_digit_choose_choose_table_zero_row) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_value_lmd_full_digit_choose_choose_table_zero_row. ((((exists bcf_height_lmd_full_digit_choose_choose_table_zero_row_entry. bcf_height_lmd_full_digit_choose_choose_table_zero_row_entry + S (bcf_value_lmd_full_digit_choose_choose_table_zero_row) = S ((S (bcf_index_lmd_full_digit_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_zero_row_entry. bcf_row_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_zero_row_entry * S ((S (bcf_index_lmd_full_digit_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_digit_choose_choose_table) + (bcf_value_lmd_full_digit_choose_choose_table_zero_row))) /\ ((bcf_index_lmd_full_digit_choose_choose_table_zero_row = 0 /\ bcf_value_lmd_full_digit_choose_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table_zero_row. bcf_index_lmd_full_digit_choose_choose_table_zero_row = S bcf_predecessor_lmd_full_digit_choose_choose_table_zero_row /\ bcf_value_lmd_full_digit_choose_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table bcf_previous_code_lmd_full_digit_choose_choose_table bcf_previous_scale_lmd_full_digit_choose_choose_table. bcf_row_index_lmd_full_digit_choose_choose_table = S bcf_predecessor_lmd_full_digit_choose_choose_table /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_code. bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_full_digit_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_previous_code_lmd_full_digit_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_scale. bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_digit_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_previous_scale_lmd_full_digit_choose_choose_table))) /\ (forall bcf_index_lmd_full_digit_choose_choose_table_row_step. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_row_step_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_row_step_bound + S (bcf_index_lmd_full_digit_choose_choose_table_row_step) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_value_lmd_full_digit_choose_choose_table_row_step. ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_entry. bcf_height_lmd_full_digit_choose_choose_table_row_step_entry + S (bcf_value_lmd_full_digit_choose_choose_table_row_step) = S ((S (bcf_index_lmd_full_digit_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_entry. bcf_row_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_entry * S ((S (bcf_index_lmd_full_digit_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_digit_choose_choose_table) + (bcf_value_lmd_full_digit_choose_choose_table_row_step))) /\ ((bcf_index_lmd_full_digit_choose_choose_table_row_step = 0 /\ bcf_value_lmd_full_digit_choose_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table_row_step bcf_left_lmd_full_digit_choose_choose_table_row_step bcf_right_lmd_full_digit_choose_choose_table_row_step. bcf_index_lmd_full_digit_choose_choose_table_row_step = S bcf_predecessor_lmd_full_digit_choose_choose_table_row_step /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_left. bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_left + S (bcf_left_lmd_full_digit_choose_choose_table_row_step) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_left. bcf_previous_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_digit_choose_choose_table) + (bcf_left_lmd_full_digit_choose_choose_table_row_step))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_right. bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_right + S (bcf_right_lmd_full_digit_choose_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_right. bcf_previous_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_digit_choose_choose_table) + (bcf_right_lmd_full_digit_choose_choose_table_row_step))) /\ bcf_value_lmd_full_digit_choose_choose_table_row_step = bcf_left_lmd_full_digit_choose_choose_table_row_step + bcf_right_lmd_full_digit_choose_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_decoded_row_code. bcf_height_lmd_full_digit_choose_choose_decoded_row_code + S (bcf_row_code_lmd_full_digit_choose_choose) = S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_row_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_row_code * S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_row_code_lmd_full_digit_choose_choose))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_decoded_row_scale. bcf_height_lmd_full_digit_choose_choose_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_choose_choose) = S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_row_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_row_scale * S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_row_scale_lmd_full_digit_choose_choose))) /\ (((exists bcf_height_lmd_full_digit_choose_choose_decoded_value. bcf_height_lmd_full_digit_choose_choose_decoded_value + S (lmd_choose_value_full_digit_choose) = S ((S (lmd_choose_lower_full_digit_choose)) * bcf_row_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_value. bcf_row_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_value * S ((S (lmd_choose_lower_full_digit_choose)) * bcf_row_scale_lmd_full_digit_choose_choose) + (lmd_choose_value_full_digit_choose))))))))))))) -> (exists ff_u_lmd_full_product ff_v_lmd_full_product. ((((exists ff_h_lmd_full_product_start. ff_h_lmd_full_product_start + S (1) = S ((S (0)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_start. ff_u_lmd_full_product = ff_q_lmd_full_product_start * S ((S (0)) * ff_v_lmd_full_product) + (1))) /\ ((((exists ff_h_lmd_full_product_terminal. ff_h_lmd_full_product_terminal + S (P) = S ((S (l)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_terminal. ff_u_lmd_full_product = ff_q_lmd_full_product_terminal * S ((S (l)) * ff_v_lmd_full_product) + (P))) /\ forall ff_i_lmd_full_product. (exists ff_lt_lmd_full_product_bound. ff_lt_lmd_full_product_bound + S ff_i_lmd_full_product = l) -> exists ff_p_lmd_full_product ff_r_lmd_full_product ff_s_lmd_full_product. ((((exists ff_h_lmd_full_product_factor. ff_h_lmd_full_product_factor + S (ff_p_lmd_full_product) = S ((S (ff_i_lmd_full_product)) * w)) /\ exists ff_q_lmd_full_product_factor. s = ff_q_lmd_full_product_factor * S ((S (ff_i_lmd_full_product)) * w) + (ff_p_lmd_full_product))) /\ ((((exists ff_h_lmd_full_product_partial. ff_h_lmd_full_product_partial + S (ff_r_lmd_full_product) = S ((S (ff_i_lmd_full_product)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_partial. ff_u_lmd_full_product = ff_q_lmd_full_product_partial * S ((S (ff_i_lmd_full_product)) * ff_v_lmd_full_product) + (ff_r_lmd_full_product))) /\ ((((exists ff_h_lmd_full_product_successor. ff_h_lmd_full_product_successor + S (ff_s_lmd_full_product) = S ((S (S ff_i_lmd_full_product)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_successor. ff_u_lmd_full_product = ff_q_lmd_full_product_successor * S ((S (S ff_i_lmd_full_product)) * ff_v_lmd_full_product) + (ff_s_lmd_full_product))) /\ ff_s_lmd_full_product = ff_r_lmd_full_product * ff_p_lmd_full_product)))))) -> (((exists ff_h_lmd_full_coefficient_start. ff_h_lmd_full_coefficient_start + S (C) = S ((S (0)) * t)) /\ exists ff_q_lmd_full_coefficient_start. z = ff_q_lmd_full_coefficient_start * S ((S (0)) * t) + (C))) -> (((exists ff_h_lmd_full_coefficient_end. ff_h_lmd_full_coefficient_end + S (T) = S ((S (l)) * t)) /\ exists ff_q_lmd_full_coefficient_end. z = ff_q_lmd_full_coefficient_end * S ((S (l)) * t) + (T))) -> (((exists ff_h_lmd_terminal_upper_zero. ff_h_lmd_terminal_upper_zero + S (0) = S ((S (l)) * qc)) /\ exists ff_q_lmd_terminal_upper_zero. qb = ff_q_lmd_terminal_upper_zero * S ((S (l)) * qc) + (0))) -> (((exists ff_h_lmd_terminal_lower_zero. ff_h_lmd_terminal_lower_zero + S (0) = S ((S (l)) * uc)) /\ exists ff_q_lmd_terminal_lower_zero. ub = ff_q_lmd_terminal_lower_zero * S ((S (l)) * uc) + (0))) -> (exists lmd_mod_left_terminal_final lmd_mod_right_terminal_final. (C) + (p) * lmd_mod_left_terminal_final = (P) + (p) * lmd_mod_right_terminal_final)

Constructive proof overview

Generated structural guide

Unconditional constructive Lucas theorem for any two genuinely terminating beta-coded prime-base digit streams: Choose(n,k) is congruent to the entire digitwise binomial product modulo p.

The unchanged tactic script uses 2 declared prerequisites and contains 62 exact native proof lines.

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

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

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

Read the argument

Proof checkpoints

62 script commands · 7 reading checkpoints · 1 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Named ingredients (2)

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

01Fix variables and assumptionsL1–10

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

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

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

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

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

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

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

  1. L30
    have hglobal · expand full local formula (728 characters)have hglobal : ∀ p. ∀ n. ∀ k. ∀ l. ∀ qb. ∀ qc. ∀ db. ∀ dc. ∀ ub. ∀ uc. ∀ vb. ∀ vc. ∀ z. ∀ t. ∀ s. ∀ w. ∀ P. ∀ C. ∀ T. Prime(p) → BetaAt(qb,qc,0,n) ∧ (∀ x. Lt(x,l) → ∃ y. ∃ m. ∃ i. BetaAt(qb,qc,x,y) ∧ (BetaAt(qb,qc,S x,m) ∧ (BetaAt(db,dc,x,i) ∧ Digit(p,y,m,i)))) → BetaAt(ub,uc,0,k) ∧ (∀ x. Lt(x,l) → ∃ y. ∃ m. ∃ i. BetaAt(ub,uc,x,y) ∧ (BetaAt(ub,uc,S x,m) ∧ (BetaAt(vb,vc,x,i) ∧ Digit(p,y,m,i)))) → (∀ x. Lt(x,S l) → ∃ y. ∃ m. ∃ i. BetaAt(qb,qc,x,y) ∧ (BetaAt(ub,uc,x,m) ∧ (BetaAt(z,t,x,i) ∧ Choose(y,m,i)))) → (∀ x. Lt(x,l) → ∃ y. ∃ m. ∃ i. BetaAt(db,dc,x,y) ∧ (BetaAt(vb,vc,x,m) ∧ (BetaAt(s,w,x,i) ∧ Choose(y,m,i)))) → Product(s,w,l,P) → BetaAt(z,t,0,C) → BetaAt(z,t,l,T) → BetaAt(qb,qc,l,0) → BetaAt(ub,uc,l,0) → ModEq(p,C,P)
    Definitions: DigitLtPrimeModEqBetaAtProductChoose
  2. L31
    apply lucas_terminating_multidigit_theorem_from_one_step
  3. L32
    exact lucas_one_step_division_congruence
  4. L33
    specialize hglobal p
  5. L34
    specialize hglobal n
  6. L35
    specialize hglobal k
  7. L36
    specialize hglobal l
  8. L37
    specialize hglobal qb
  9. L38
    specialize hglobal qc
  10. L39
    specialize hglobal db
05Use earlier factsL40–49

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

  1. L40
    specialize hglobal dc
  2. L41
    specialize hglobal ub
  3. L42
    specialize hglobal uc
  4. L43
    specialize hglobal vb
  5. L44
    specialize hglobal vc
  6. L45
    specialize hglobal z
  7. L46
    specialize hglobal t
  8. L47
    specialize hglobal s
  9. L48
    specialize hglobal w
  10. L49
    specialize hglobal P
06Use earlier factsL50–59

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

  1. L50
    specialize hglobal C
  2. L51
    specialize hglobal T
  3. L52
    apply hglobal
  4. L53
    exact hprime
  5. L54
    exact hnchain
  6. L55
    exact hkchain
  7. L56
    exact hquotientchoose
  8. L57
    exact hdigitchoose
  9. L58
    exact hproduct
  10. L59
    exact hstart
07Use earlier factsL60–62

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

  1. L60
    exact hterminal
  2. L61
    exact hnzero
  3. L62
    exact hkzero

Library-wide reading audit

Original exact command ledger · 62 lines
  1. 0001intro p
  2. 0002intro n
  3. 0003intro k
  4. 0004intro l
  5. 0005intro qb
  6. 0006intro qc
  7. 0007intro db
  8. 0008intro dc
  9. 0009intro ub
  10. 0010intro uc
  11. 0011intro vb
  12. 0012intro vc
  13. 0013intro z
  14. 0014intro t
  15. 0015intro s
  16. 0016intro w
  17. 0017intro P
  18. 0018intro C
  19. 0019intro T
  20. 0020intro hprime
  21. 0021intro hnchain
  22. 0022intro hkchain
  23. 0023intro hquotientchoose
  24. 0024intro hdigitchoose
  25. 0025intro hproduct
  26. 0026intro hstart
  27. 0027intro hterminal
  28. 0028intro hnzero
  29. 0029intro hkzero
  30. 0030have hglobal : forall p n k l qb qc db dc ub uc vb vc z t s w P C T. ((~(p = 1) /\ forall frm_prime_left_lmd_terminal_prime frm_prime_right_lmd_terminal_prime. p = frm_prime_left_lmd_terminal_prime * frm_prime_right_lmd_terminal_prime -> frm_prime_left_lmd_terminal_prime = 1 \/ frm_prime_right_lmd_terminal_prime = 1)) -> (((((exists ff_h_lmd_full_n_initial. ff_h_lmd_full_n_initial + S (n) = S ((S (0)) * qc)) /\ exists ff_q_lmd_full_n_initial. qb = ff_q_lmd_full_n_initial * S ((S (0)) * qc) + (n))) /\ forall lmd_index_full_n. (exists lmd_gap_full_n_index. lmd_gap_full_n_index + S (lmd_index_full_n) = (l)) -> exists lmd_current_full_n lmd_successor_full_n lmd_digit_full_n. ((((exists ff_h_lmd_full_n_current. ff_h_lmd_full_n_current + S (lmd_current_full_n) = S ((S (lmd_index_full_n)) * qc)) /\ exists ff_q_lmd_full_n_current. qb = ff_q_lmd_full_n_current * S ((S (lmd_index_full_n)) * qc) + (lmd_current_full_n))) /\ ((((exists ff_h_lmd_full_n_successor. ff_h_lmd_full_n_successor + S (lmd_successor_full_n) = S ((S (S lmd_index_full_n)) * qc)) /\ exists ff_q_lmd_full_n_successor. qb = ff_q_lmd_full_n_successor * S ((S (S lmd_index_full_n)) * qc) + (lmd_successor_full_n))) /\ ((((exists ff_h_lmd_full_n_digit. ff_h_lmd_full_n_digit + S (lmd_digit_full_n) = S ((S (lmd_index_full_n)) * dc)) /\ exists ff_q_lmd_full_n_digit. db = ff_q_lmd_full_n_digit * S ((S (lmd_index_full_n)) * dc) + (lmd_digit_full_n))) /\ ((lmd_current_full_n = (p) * (lmd_successor_full_n) + (lmd_digit_full_n)) /\ (exists lmd_gap_full_n_digit_bound. lmd_gap_full_n_digit_bound + S (lmd_digit_full_n) = (p)))))))) -> (((((exists ff_h_lmd_full_k_initial. ff_h_lmd_full_k_initial + S (k) = S ((S (0)) * uc)) /\ exists ff_q_lmd_full_k_initial. ub = ff_q_lmd_full_k_initial * S ((S (0)) * uc) + (k))) /\ forall lmd_index_full_k. (exists lmd_gap_full_k_index. lmd_gap_full_k_index + S (lmd_index_full_k) = (l)) -> exists lmd_current_full_k lmd_successor_full_k lmd_digit_full_k. ((((exists ff_h_lmd_full_k_current. ff_h_lmd_full_k_current + S (lmd_current_full_k) = S ((S (lmd_index_full_k)) * uc)) /\ exists ff_q_lmd_full_k_current. ub = ff_q_lmd_full_k_current * S ((S (lmd_index_full_k)) * uc) + (lmd_current_full_k))) /\ ((((exists ff_h_lmd_full_k_successor. ff_h_lmd_full_k_successor + S (lmd_successor_full_k) = S ((S (S lmd_index_full_k)) * uc)) /\ exists ff_q_lmd_full_k_successor. ub = ff_q_lmd_full_k_successor * S ((S (S lmd_index_full_k)) * uc) + (lmd_successor_full_k))) /\ ((((exists ff_h_lmd_full_k_digit. ff_h_lmd_full_k_digit + S (lmd_digit_full_k) = S ((S (lmd_index_full_k)) * vc)) /\ exists ff_q_lmd_full_k_digit. vb = ff_q_lmd_full_k_digit * S ((S (lmd_index_full_k)) * vc) + (lmd_digit_full_k))) /\ ((lmd_current_full_k = (p) * (lmd_successor_full_k) + (lmd_digit_full_k)) /\ (exists lmd_gap_full_k_digit_bound. lmd_gap_full_k_digit_bound + S (lmd_digit_full_k) = (p)))))))) -> (forall lmd_choose_index_full_quotient_choose. (exists lmd_gap_full_quotient_choose_bound. lmd_gap_full_quotient_choose_bound + S (lmd_choose_index_full_quotient_choose) = (S l)) -> exists lmd_choose_upper_full_quotient_choose lmd_choose_lower_full_quotient_choose lmd_choose_value_full_quotient_choose. ((((exists ff_h_lmd_full_quotient_choose_upper. ff_h_lmd_full_quotient_choose_upper + S (lmd_choose_upper_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * qc)) /\ exists ff_q_lmd_full_quotient_choose_upper. qb = ff_q_lmd_full_quotient_choose_upper * S ((S (lmd_choose_index_full_quotient_choose)) * qc) + (lmd_choose_upper_full_quotient_choose))) /\ ((((exists ff_h_lmd_full_quotient_choose_lower. ff_h_lmd_full_quotient_choose_lower + S (lmd_choose_lower_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * uc)) /\ exists ff_q_lmd_full_quotient_choose_lower. ub = ff_q_lmd_full_quotient_choose_lower * S ((S (lmd_choose_index_full_quotient_choose)) * uc) + (lmd_choose_lower_full_quotient_choose))) /\ ((((exists ff_h_lmd_full_quotient_choose_result. ff_h_lmd_full_quotient_choose_result + S (lmd_choose_value_full_quotient_choose) = S ((S (lmd_choose_index_full_quotient_choose)) * t)) /\ exists ff_q_lmd_full_quotient_choose_result. z = ff_q_lmd_full_quotient_choose_result * S ((S (lmd_choose_index_full_quotient_choose)) * t) + (lmd_choose_value_full_quotient_choose))) /\ (((exists bcf_lt_gap_lmd_full_quotient_choose_choose_out_of_range. bcf_lt_gap_lmd_full_quotient_choose_choose_out_of_range + S (lmd_choose_upper_full_quotient_choose) = lmd_choose_lower_full_quotient_choose) /\ lmd_choose_value_full_quotient_choose = 0) \/ ((exists bcf_le_gap_lmd_full_quotient_choose_choose_in_range. bcf_le_gap_lmd_full_quotient_choose_choose_in_range + (lmd_choose_lower_full_quotient_choose) = lmd_choose_upper_full_quotient_choose) /\ (exists bcf_row_code_code_lmd_full_quotient_choose_choose bcf_row_code_scale_lmd_full_quotient_choose_choose bcf_row_scale_code_lmd_full_quotient_choose_choose bcf_row_scale_scale_lmd_full_quotient_choose_choose bcf_row_code_lmd_full_quotient_choose_choose bcf_row_scale_lmd_full_quotient_choose_choose. ((forall bcf_row_index_lmd_full_quotient_choose_choose_table. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_bound + S (bcf_row_index_lmd_full_quotient_choose_choose_table) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_row_code_lmd_full_quotient_choose_choose_table bcf_row_scale_lmd_full_quotient_choose_choose_table. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_code. bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_code + S (bcf_row_code_lmd_full_quotient_choose_choose_table) = S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_row_code_lmd_full_quotient_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_scale. bcf_height_lmd_full_quotient_choose_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_full_quotient_choose_choose_table) = S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_row_scale_lmd_full_quotient_choose_choose_table))) /\ ((bcf_row_index_lmd_full_quotient_choose_choose_table = 0 /\ (forall bcf_index_lmd_full_quotient_choose_choose_table_zero_row. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_zero_row_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_zero_row_bound + S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_value_lmd_full_quotient_choose_choose_table_zero_row. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_zero_row_entry. bcf_height_lmd_full_quotient_choose_choose_table_zero_row_entry + S (bcf_value_lmd_full_quotient_choose_choose_table_zero_row) = S ((S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_zero_row_entry. bcf_row_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_zero_row_entry * S ((S (bcf_index_lmd_full_quotient_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_quotient_choose_choose_table) + (bcf_value_lmd_full_quotient_choose_choose_table_zero_row))) /\ ((bcf_index_lmd_full_quotient_choose_choose_table_zero_row = 0 /\ bcf_value_lmd_full_quotient_choose_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table_zero_row. bcf_index_lmd_full_quotient_choose_choose_table_zero_row = S bcf_predecessor_lmd_full_quotient_choose_choose_table_zero_row /\ bcf_value_lmd_full_quotient_choose_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table bcf_previous_code_lmd_full_quotient_choose_choose_table bcf_previous_scale_lmd_full_quotient_choose_choose_table. bcf_row_index_lmd_full_quotient_choose_choose_table = S bcf_predecessor_lmd_full_quotient_choose_choose_table /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_code. bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_full_quotient_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_previous_code_lmd_full_quotient_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_scale. bcf_height_lmd_full_quotient_choose_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_quotient_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_previous_scale_lmd_full_quotient_choose_choose_table))) /\ (forall bcf_index_lmd_full_quotient_choose_choose_table_row_step. (exists bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_step_bound. bcf_lt_gap_lmd_full_quotient_choose_choose_table_row_step_bound + S (bcf_index_lmd_full_quotient_choose_choose_table_row_step) = S (lmd_choose_upper_full_quotient_choose)) -> exists bcf_value_lmd_full_quotient_choose_choose_table_row_step. ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_entry. bcf_height_lmd_full_quotient_choose_choose_table_row_step_entry + S (bcf_value_lmd_full_quotient_choose_choose_table_row_step) = S ((S (bcf_index_lmd_full_quotient_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_entry. bcf_row_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_entry * S ((S (bcf_index_lmd_full_quotient_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_quotient_choose_choose_table) + (bcf_value_lmd_full_quotient_choose_choose_table_row_step))) /\ ((bcf_index_lmd_full_quotient_choose_choose_table_row_step = 0 /\ bcf_value_lmd_full_quotient_choose_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step bcf_left_lmd_full_quotient_choose_choose_table_row_step bcf_right_lmd_full_quotient_choose_choose_table_row_step. bcf_index_lmd_full_quotient_choose_choose_table_row_step = S bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_left. bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_left + S (bcf_left_lmd_full_quotient_choose_choose_table_row_step) = S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_left. bcf_previous_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_quotient_choose_choose_table) + (bcf_left_lmd_full_quotient_choose_choose_table_row_step))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_right. bcf_height_lmd_full_quotient_choose_choose_table_row_step_previous_right + S (bcf_right_lmd_full_quotient_choose_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_quotient_choose_choose_table)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_right. bcf_previous_code_lmd_full_quotient_choose_choose_table = bcf_quotient_lmd_full_quotient_choose_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_quotient_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_quotient_choose_choose_table) + (bcf_right_lmd_full_quotient_choose_choose_table_row_step))) /\ bcf_value_lmd_full_quotient_choose_choose_table_row_step = bcf_left_lmd_full_quotient_choose_choose_table_row_step + bcf_right_lmd_full_quotient_choose_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_decoded_row_code. bcf_height_lmd_full_quotient_choose_choose_decoded_row_code + S (bcf_row_code_lmd_full_quotient_choose_choose) = S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_code_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_code. bcf_row_code_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_code * S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_code_scale_lmd_full_quotient_choose_choose) + (bcf_row_code_lmd_full_quotient_choose_choose))) /\ ((((exists bcf_height_lmd_full_quotient_choose_choose_decoded_row_scale. bcf_height_lmd_full_quotient_choose_choose_decoded_row_scale + S (bcf_row_scale_lmd_full_quotient_choose_choose) = S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_scale. bcf_row_scale_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_row_scale * S ((S (lmd_choose_upper_full_quotient_choose)) * bcf_row_scale_scale_lmd_full_quotient_choose_choose) + (bcf_row_scale_lmd_full_quotient_choose_choose))) /\ (((exists bcf_height_lmd_full_quotient_choose_choose_decoded_value. bcf_height_lmd_full_quotient_choose_choose_decoded_value + S (lmd_choose_value_full_quotient_choose) = S ((S (lmd_choose_lower_full_quotient_choose)) * bcf_row_scale_lmd_full_quotient_choose_choose)) /\ exists bcf_quotient_lmd_full_quotient_choose_choose_decoded_value. bcf_row_code_lmd_full_quotient_choose_choose = bcf_quotient_lmd_full_quotient_choose_choose_decoded_value * S ((S (lmd_choose_lower_full_quotient_choose)) * bcf_row_scale_lmd_full_quotient_choose_choose) + (lmd_choose_value_full_quotient_choose))))))))))))) -> (forall lmd_choose_index_full_digit_choose. (exists lmd_gap_full_digit_choose_bound. lmd_gap_full_digit_choose_bound + S (lmd_choose_index_full_digit_choose) = (l)) -> exists lmd_choose_upper_full_digit_choose lmd_choose_lower_full_digit_choose lmd_choose_value_full_digit_choose. ((((exists ff_h_lmd_full_digit_choose_upper. ff_h_lmd_full_digit_choose_upper + S (lmd_choose_upper_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * dc)) /\ exists ff_q_lmd_full_digit_choose_upper. db = ff_q_lmd_full_digit_choose_upper * S ((S (lmd_choose_index_full_digit_choose)) * dc) + (lmd_choose_upper_full_digit_choose))) /\ ((((exists ff_h_lmd_full_digit_choose_lower. ff_h_lmd_full_digit_choose_lower + S (lmd_choose_lower_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * vc)) /\ exists ff_q_lmd_full_digit_choose_lower. vb = ff_q_lmd_full_digit_choose_lower * S ((S (lmd_choose_index_full_digit_choose)) * vc) + (lmd_choose_lower_full_digit_choose))) /\ ((((exists ff_h_lmd_full_digit_choose_result. ff_h_lmd_full_digit_choose_result + S (lmd_choose_value_full_digit_choose) = S ((S (lmd_choose_index_full_digit_choose)) * w)) /\ exists ff_q_lmd_full_digit_choose_result. s = ff_q_lmd_full_digit_choose_result * S ((S (lmd_choose_index_full_digit_choose)) * w) + (lmd_choose_value_full_digit_choose))) /\ (((exists bcf_lt_gap_lmd_full_digit_choose_choose_out_of_range. bcf_lt_gap_lmd_full_digit_choose_choose_out_of_range + S (lmd_choose_upper_full_digit_choose) = lmd_choose_lower_full_digit_choose) /\ lmd_choose_value_full_digit_choose = 0) \/ ((exists bcf_le_gap_lmd_full_digit_choose_choose_in_range. bcf_le_gap_lmd_full_digit_choose_choose_in_range + (lmd_choose_lower_full_digit_choose) = lmd_choose_upper_full_digit_choose) /\ (exists bcf_row_code_code_lmd_full_digit_choose_choose bcf_row_code_scale_lmd_full_digit_choose_choose bcf_row_scale_code_lmd_full_digit_choose_choose bcf_row_scale_scale_lmd_full_digit_choose_choose bcf_row_code_lmd_full_digit_choose_choose bcf_row_scale_lmd_full_digit_choose_choose. ((forall bcf_row_index_lmd_full_digit_choose_choose_table. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_row_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_row_bound + S (bcf_row_index_lmd_full_digit_choose_choose_table) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_row_code_lmd_full_digit_choose_choose_table bcf_row_scale_lmd_full_digit_choose_choose_table. ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_row_code. bcf_height_lmd_full_digit_choose_choose_table_decoded_row_code + S (bcf_row_code_lmd_full_digit_choose_choose_table) = S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_code * S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_row_code_lmd_full_digit_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_row_scale. bcf_height_lmd_full_digit_choose_choose_table_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_choose_choose_table) = S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_row_scale * S ((S (bcf_row_index_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_row_scale_lmd_full_digit_choose_choose_table))) /\ ((bcf_row_index_lmd_full_digit_choose_choose_table = 0 /\ (forall bcf_index_lmd_full_digit_choose_choose_table_zero_row. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_zero_row_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_zero_row_bound + S (bcf_index_lmd_full_digit_choose_choose_table_zero_row) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_value_lmd_full_digit_choose_choose_table_zero_row. ((((exists bcf_height_lmd_full_digit_choose_choose_table_zero_row_entry. bcf_height_lmd_full_digit_choose_choose_table_zero_row_entry + S (bcf_value_lmd_full_digit_choose_choose_table_zero_row) = S ((S (bcf_index_lmd_full_digit_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_zero_row_entry. bcf_row_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_zero_row_entry * S ((S (bcf_index_lmd_full_digit_choose_choose_table_zero_row)) * bcf_row_scale_lmd_full_digit_choose_choose_table) + (bcf_value_lmd_full_digit_choose_choose_table_zero_row))) /\ ((bcf_index_lmd_full_digit_choose_choose_table_zero_row = 0 /\ bcf_value_lmd_full_digit_choose_choose_table_zero_row = 1) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table_zero_row. bcf_index_lmd_full_digit_choose_choose_table_zero_row = S bcf_predecessor_lmd_full_digit_choose_choose_table_zero_row /\ bcf_value_lmd_full_digit_choose_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table bcf_previous_code_lmd_full_digit_choose_choose_table bcf_previous_scale_lmd_full_digit_choose_choose_table. bcf_row_index_lmd_full_digit_choose_choose_table = S bcf_predecessor_lmd_full_digit_choose_choose_table /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_code. bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_code + S (bcf_previous_code_lmd_full_digit_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_previous_code_lmd_full_digit_choose_choose_table))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_scale. bcf_height_lmd_full_digit_choose_choose_table_decoded_previous_scale + S (bcf_previous_scale_lmd_full_digit_choose_choose_table) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_previous_scale_lmd_full_digit_choose_choose_table))) /\ (forall bcf_index_lmd_full_digit_choose_choose_table_row_step. (exists bcf_lt_gap_lmd_full_digit_choose_choose_table_row_step_bound. bcf_lt_gap_lmd_full_digit_choose_choose_table_row_step_bound + S (bcf_index_lmd_full_digit_choose_choose_table_row_step) = S (lmd_choose_upper_full_digit_choose)) -> exists bcf_value_lmd_full_digit_choose_choose_table_row_step. ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_entry. bcf_height_lmd_full_digit_choose_choose_table_row_step_entry + S (bcf_value_lmd_full_digit_choose_choose_table_row_step) = S ((S (bcf_index_lmd_full_digit_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_entry. bcf_row_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_entry * S ((S (bcf_index_lmd_full_digit_choose_choose_table_row_step)) * bcf_row_scale_lmd_full_digit_choose_choose_table) + (bcf_value_lmd_full_digit_choose_choose_table_row_step))) /\ ((bcf_index_lmd_full_digit_choose_choose_table_row_step = 0 /\ bcf_value_lmd_full_digit_choose_choose_table_row_step = 1) \/ exists bcf_predecessor_lmd_full_digit_choose_choose_table_row_step bcf_left_lmd_full_digit_choose_choose_table_row_step bcf_right_lmd_full_digit_choose_choose_table_row_step. bcf_index_lmd_full_digit_choose_choose_table_row_step = S bcf_predecessor_lmd_full_digit_choose_choose_table_row_step /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_left. bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_left + S (bcf_left_lmd_full_digit_choose_choose_table_row_step) = S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_left. bcf_previous_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step)) * bcf_previous_scale_lmd_full_digit_choose_choose_table) + (bcf_left_lmd_full_digit_choose_choose_table_row_step))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_right. bcf_height_lmd_full_digit_choose_choose_table_row_step_previous_right + S (bcf_right_lmd_full_digit_choose_choose_table_row_step) = S ((S (S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_digit_choose_choose_table)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_right. bcf_previous_code_lmd_full_digit_choose_choose_table = bcf_quotient_lmd_full_digit_choose_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lmd_full_digit_choose_choose_table_row_step))) * bcf_previous_scale_lmd_full_digit_choose_choose_table) + (bcf_right_lmd_full_digit_choose_choose_table_row_step))) /\ bcf_value_lmd_full_digit_choose_choose_table_row_step = bcf_left_lmd_full_digit_choose_choose_table_row_step + bcf_right_lmd_full_digit_choose_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_decoded_row_code. bcf_height_lmd_full_digit_choose_choose_decoded_row_code + S (bcf_row_code_lmd_full_digit_choose_choose) = S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_code_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_row_code. bcf_row_code_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_row_code * S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_code_scale_lmd_full_digit_choose_choose) + (bcf_row_code_lmd_full_digit_choose_choose))) /\ ((((exists bcf_height_lmd_full_digit_choose_choose_decoded_row_scale. bcf_height_lmd_full_digit_choose_choose_decoded_row_scale + S (bcf_row_scale_lmd_full_digit_choose_choose) = S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_scale_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_row_scale. bcf_row_scale_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_row_scale * S ((S (lmd_choose_upper_full_digit_choose)) * bcf_row_scale_scale_lmd_full_digit_choose_choose) + (bcf_row_scale_lmd_full_digit_choose_choose))) /\ (((exists bcf_height_lmd_full_digit_choose_choose_decoded_value. bcf_height_lmd_full_digit_choose_choose_decoded_value + S (lmd_choose_value_full_digit_choose) = S ((S (lmd_choose_lower_full_digit_choose)) * bcf_row_scale_lmd_full_digit_choose_choose)) /\ exists bcf_quotient_lmd_full_digit_choose_choose_decoded_value. bcf_row_code_lmd_full_digit_choose_choose = bcf_quotient_lmd_full_digit_choose_choose_decoded_value * S ((S (lmd_choose_lower_full_digit_choose)) * bcf_row_scale_lmd_full_digit_choose_choose) + (lmd_choose_value_full_digit_choose))))))))))))) -> (exists ff_u_lmd_full_product ff_v_lmd_full_product. ((((exists ff_h_lmd_full_product_start. ff_h_lmd_full_product_start + S (1) = S ((S (0)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_start. ff_u_lmd_full_product = ff_q_lmd_full_product_start * S ((S (0)) * ff_v_lmd_full_product) + (1))) /\ ((((exists ff_h_lmd_full_product_terminal. ff_h_lmd_full_product_terminal + S (P) = S ((S (l)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_terminal. ff_u_lmd_full_product = ff_q_lmd_full_product_terminal * S ((S (l)) * ff_v_lmd_full_product) + (P))) /\ forall ff_i_lmd_full_product. (exists ff_lt_lmd_full_product_bound. ff_lt_lmd_full_product_bound + S ff_i_lmd_full_product = l) -> exists ff_p_lmd_full_product ff_r_lmd_full_product ff_s_lmd_full_product. ((((exists ff_h_lmd_full_product_factor. ff_h_lmd_full_product_factor + S (ff_p_lmd_full_product) = S ((S (ff_i_lmd_full_product)) * w)) /\ exists ff_q_lmd_full_product_factor. s = ff_q_lmd_full_product_factor * S ((S (ff_i_lmd_full_product)) * w) + (ff_p_lmd_full_product))) /\ ((((exists ff_h_lmd_full_product_partial. ff_h_lmd_full_product_partial + S (ff_r_lmd_full_product) = S ((S (ff_i_lmd_full_product)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_partial. ff_u_lmd_full_product = ff_q_lmd_full_product_partial * S ((S (ff_i_lmd_full_product)) * ff_v_lmd_full_product) + (ff_r_lmd_full_product))) /\ ((((exists ff_h_lmd_full_product_successor. ff_h_lmd_full_product_successor + S (ff_s_lmd_full_product) = S ((S (S ff_i_lmd_full_product)) * ff_v_lmd_full_product)) /\ exists ff_q_lmd_full_product_successor. ff_u_lmd_full_product = ff_q_lmd_full_product_successor * S ((S (S ff_i_lmd_full_product)) * ff_v_lmd_full_product) + (ff_s_lmd_full_product))) /\ ff_s_lmd_full_product = ff_r_lmd_full_product * ff_p_lmd_full_product)))))) -> (((exists ff_h_lmd_full_coefficient_start. ff_h_lmd_full_coefficient_start + S (C) = S ((S (0)) * t)) /\ exists ff_q_lmd_full_coefficient_start. z = ff_q_lmd_full_coefficient_start * S ((S (0)) * t) + (C))) -> (((exists ff_h_lmd_full_coefficient_end. ff_h_lmd_full_coefficient_end + S (T) = S ((S (l)) * t)) /\ exists ff_q_lmd_full_coefficient_end. z = ff_q_lmd_full_coefficient_end * S ((S (l)) * t) + (T))) -> (((exists ff_h_lmd_terminal_upper_zero. ff_h_lmd_terminal_upper_zero + S (0) = S ((S (l)) * qc)) /\ exists ff_q_lmd_terminal_upper_zero. qb = ff_q_lmd_terminal_upper_zero * S ((S (l)) * qc) + (0))) -> (((exists ff_h_lmd_terminal_lower_zero. ff_h_lmd_terminal_lower_zero + S (0) = S ((S (l)) * uc)) /\ exists ff_q_lmd_terminal_lower_zero. ub = ff_q_lmd_terminal_lower_zero * S ((S (l)) * uc) + (0))) -> (exists lmd_mod_left_terminal_final lmd_mod_right_terminal_final. (C) + (p) * lmd_mod_left_terminal_final = (P) + (p) * lmd_mod_right_terminal_final)
  31. 0031apply lucas_terminating_multidigit_theorem_from_one_step
  32. 0032exact lucas_one_step_division_congruence
  33. 0033specialize hglobal p
  34. 0034specialize hglobal n
  35. 0035specialize hglobal k
  36. 0036specialize hglobal l
  37. 0037specialize hglobal qb
  38. 0038specialize hglobal qc
  39. 0039specialize hglobal db
  40. 0040specialize hglobal dc
  41. 0041specialize hglobal ub
  42. 0042specialize hglobal uc
  43. 0043specialize hglobal vb
  44. 0044specialize hglobal vc
  45. 0045specialize hglobal z
  46. 0046specialize hglobal t
  47. 0047specialize hglobal s
  48. 0048specialize hglobal w
  49. 0049specialize hglobal P
  50. 0050specialize hglobal C
  51. 0051specialize hglobal T
  52. 0052apply hglobal
  53. 0053exact hprime
  54. 0054exact hnchain
  55. 0055exact hkchain
  56. 0056exact hquotientchoose
  57. 0057exact hdigitchoose
  58. 0058exact hproduct
  59. 0059exact hstart
  60. 0060exact hterminal
  61. 0061exact hnzero
  62. 0062exact hkzero