LU0013

lucas_low_digit_congruence

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

The exact Lucas congruence holds for every natural upper quotient and every lower index consisting of one base-prime digit.

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 q d e C D. ((~(p = 1) /\ forall frm_prime_left_lucas_low_digit_prime frm_prime_right_lucas_low_digit_prime. p = frm_prime_left_lucas_low_digit_prime * frm_prime_right_lucas_low_digit_prime -> frm_prime_left_lucas_low_digit_prime = 1 \/ frm_prime_right_lucas_low_digit_prime = 1)) -> (exists lld_gap_low_upper_bound. lld_gap_low_upper_bound + S (d) = (p)) -> (exists lld_gap_low_lower_bound. lld_gap_low_lower_bound + S (e) = (p)) -> (((exists bcf_lt_gap_lucas_low_digit_low_upper_out_of_range. bcf_lt_gap_lucas_low_digit_low_upper_out_of_range + S (p * q + d) = e) /\ C = 0) \/ ((exists bcf_le_gap_lucas_low_digit_low_upper_in_range. bcf_le_gap_lucas_low_digit_low_upper_in_range + (e) = p * q + d) /\ (exists bcf_row_code_code_lucas_low_digit_low_upper bcf_row_code_scale_lucas_low_digit_low_upper bcf_row_scale_code_lucas_low_digit_low_upper bcf_row_scale_scale_lucas_low_digit_low_upper bcf_row_code_lucas_low_digit_low_upper bcf_row_scale_lucas_low_digit_low_upper. ((forall bcf_row_index_lucas_low_digit_low_upper_table. (exists bcf_lt_gap_lucas_low_digit_low_upper_table_row_bound. bcf_lt_gap_lucas_low_digit_low_upper_table_row_bound + S (bcf_row_index_lucas_low_digit_low_upper_table) = S (p * q + d)) -> exists bcf_row_code_lucas_low_digit_low_upper_table bcf_row_scale_lucas_low_digit_low_upper_table. ((((exists bcf_height_lucas_low_digit_low_upper_table_decoded_row_code. bcf_height_lucas_low_digit_low_upper_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_low_upper_table) = S ((S (bcf_row_index_lucas_low_digit_low_upper_table)) * bcf_row_code_scale_lucas_low_digit_low_upper)) /\ exists bcf_quotient_lucas_low_digit_low_upper_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_low_upper = bcf_quotient_lucas_low_digit_low_upper_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_low_upper_table)) * bcf_row_code_scale_lucas_low_digit_low_upper) + (bcf_row_code_lucas_low_digit_low_upper_table))) /\ ((((exists bcf_height_lucas_low_digit_low_upper_table_decoded_row_scale. bcf_height_lucas_low_digit_low_upper_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_low_upper_table) = S ((S (bcf_row_index_lucas_low_digit_low_upper_table)) * bcf_row_scale_scale_lucas_low_digit_low_upper)) /\ exists bcf_quotient_lucas_low_digit_low_upper_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_low_upper = bcf_quotient_lucas_low_digit_low_upper_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_low_upper_table)) * bcf_row_scale_scale_lucas_low_digit_low_upper) + (bcf_row_scale_lucas_low_digit_low_upper_table))) /\ ((bcf_row_index_lucas_low_digit_low_upper_table = 0 /\ (forall bcf_index_lucas_low_digit_low_upper_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_low_upper_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_low_upper_table_zero_row_bound + S (bcf_index_lucas_low_digit_low_upper_table_zero_row) = S (p * q + d)) -> exists bcf_value_lucas_low_digit_low_upper_table_zero_row. ((((exists bcf_height_lucas_low_digit_low_upper_table_zero_row_entry. bcf_height_lucas_low_digit_low_upper_table_zero_row_entry + S (bcf_value_lucas_low_digit_low_upper_table_zero_row) = S ((S (bcf_index_lucas_low_digit_low_upper_table_zero_row)) * bcf_row_scale_lucas_low_digit_low_upper_table)) /\ exists bcf_quotient_lucas_low_digit_low_upper_table_zero_row_entry. bcf_row_code_lucas_low_digit_low_upper_table = bcf_quotient_lucas_low_digit_low_upper_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_low_upper_table_zero_row)) * bcf_row_scale_lucas_low_digit_low_upper_table) + (bcf_value_lucas_low_digit_low_upper_table_zero_row))) /\ ((bcf_index_lucas_low_digit_low_upper_table_zero_row = 0 /\ bcf_value_lucas_low_digit_low_upper_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_low_upper_table_zero_row. bcf_index_lucas_low_digit_low_upper_table_zero_row = S bcf_predecessor_lucas_low_digit_low_upper_table_zero_row /\ bcf_value_lucas_low_digit_low_upper_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_low_upper_table bcf_previous_code_lucas_low_digit_low_upper_table bcf_previous_scale_lucas_low_digit_low_upper_table. bcf_row_index_lucas_low_digit_low_upper_table = S bcf_predecessor_lucas_low_digit_low_upper_table /\ ((((exists bcf_height_lucas_low_digit_low_upper_table_decoded_previous_code. bcf_height_lucas_low_digit_low_upper_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_low_upper_table) = S ((S (bcf_predecessor_lucas_low_digit_low_upper_table)) * bcf_row_code_scale_lucas_low_digit_low_upper)) /\ exists bcf_quotient_lucas_low_digit_low_upper_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_low_upper = bcf_quotient_lucas_low_digit_low_upper_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_low_upper_table)) * bcf_row_code_scale_lucas_low_digit_low_upper) + (bcf_previous_code_lucas_low_digit_low_upper_table))) /\ ((((exists bcf_height_lucas_low_digit_low_upper_table_decoded_previous_scale. bcf_height_lucas_low_digit_low_upper_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_low_upper_table) = S ((S (bcf_predecessor_lucas_low_digit_low_upper_table)) * bcf_row_scale_scale_lucas_low_digit_low_upper)) /\ exists bcf_quotient_lucas_low_digit_low_upper_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_low_upper = bcf_quotient_lucas_low_digit_low_upper_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_low_upper_table)) * bcf_row_scale_scale_lucas_low_digit_low_upper) + (bcf_previous_scale_lucas_low_digit_low_upper_table))) /\ (forall bcf_index_lucas_low_digit_low_upper_table_row_step. (exists bcf_lt_gap_lucas_low_digit_low_upper_table_row_step_bound. bcf_lt_gap_lucas_low_digit_low_upper_table_row_step_bound + S (bcf_index_lucas_low_digit_low_upper_table_row_step) = S (p * q + d)) -> exists bcf_value_lucas_low_digit_low_upper_table_row_step. ((((exists bcf_height_lucas_low_digit_low_upper_table_row_step_entry. bcf_height_lucas_low_digit_low_upper_table_row_step_entry + S (bcf_value_lucas_low_digit_low_upper_table_row_step) = S ((S (bcf_index_lucas_low_digit_low_upper_table_row_step)) * bcf_row_scale_lucas_low_digit_low_upper_table)) /\ exists bcf_quotient_lucas_low_digit_low_upper_table_row_step_entry. bcf_row_code_lucas_low_digit_low_upper_table = bcf_quotient_lucas_low_digit_low_upper_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_low_upper_table_row_step)) * bcf_row_scale_lucas_low_digit_low_upper_table) + (bcf_value_lucas_low_digit_low_upper_table_row_step))) /\ ((bcf_index_lucas_low_digit_low_upper_table_row_step = 0 /\ bcf_value_lucas_low_digit_low_upper_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_low_upper_table_row_step bcf_left_lucas_low_digit_low_upper_table_row_step bcf_right_lucas_low_digit_low_upper_table_row_step. bcf_index_lucas_low_digit_low_upper_table_row_step = S bcf_predecessor_lucas_low_digit_low_upper_table_row_step /\ ((((exists bcf_height_lucas_low_digit_low_upper_table_row_step_previous_left. bcf_height_lucas_low_digit_low_upper_table_row_step_previous_left + S (bcf_left_lucas_low_digit_low_upper_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_low_upper_table_row_step)) * bcf_previous_scale_lucas_low_digit_low_upper_table)) /\ exists bcf_quotient_lucas_low_digit_low_upper_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_low_upper_table = bcf_quotient_lucas_low_digit_low_upper_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_low_upper_table_row_step)) * bcf_previous_scale_lucas_low_digit_low_upper_table) + (bcf_left_lucas_low_digit_low_upper_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_low_upper_table_row_step_previous_right. bcf_height_lucas_low_digit_low_upper_table_row_step_previous_right + S (bcf_right_lucas_low_digit_low_upper_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_low_upper_table_row_step))) * bcf_previous_scale_lucas_low_digit_low_upper_table)) /\ exists bcf_quotient_lucas_low_digit_low_upper_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_low_upper_table = bcf_quotient_lucas_low_digit_low_upper_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_low_upper_table_row_step))) * bcf_previous_scale_lucas_low_digit_low_upper_table) + (bcf_right_lucas_low_digit_low_upper_table_row_step))) /\ bcf_value_lucas_low_digit_low_upper_table_row_step = bcf_left_lucas_low_digit_low_upper_table_row_step + bcf_right_lucas_low_digit_low_upper_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_low_upper_decoded_row_code. bcf_height_lucas_low_digit_low_upper_decoded_row_code + S (bcf_row_code_lucas_low_digit_low_upper) = S ((S (p * q + d)) * bcf_row_code_scale_lucas_low_digit_low_upper)) /\ exists bcf_quotient_lucas_low_digit_low_upper_decoded_row_code. bcf_row_code_code_lucas_low_digit_low_upper = bcf_quotient_lucas_low_digit_low_upper_decoded_row_code * S ((S (p * q + d)) * bcf_row_code_scale_lucas_low_digit_low_upper) + (bcf_row_code_lucas_low_digit_low_upper))) /\ ((((exists bcf_height_lucas_low_digit_low_upper_decoded_row_scale. bcf_height_lucas_low_digit_low_upper_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_low_upper) = S ((S (p * q + d)) * bcf_row_scale_scale_lucas_low_digit_low_upper)) /\ exists bcf_quotient_lucas_low_digit_low_upper_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_low_upper = bcf_quotient_lucas_low_digit_low_upper_decoded_row_scale * S ((S (p * q + d)) * bcf_row_scale_scale_lucas_low_digit_low_upper) + (bcf_row_scale_lucas_low_digit_low_upper))) /\ (((exists bcf_height_lucas_low_digit_low_upper_decoded_value. bcf_height_lucas_low_digit_low_upper_decoded_value + S (C) = S ((S (e)) * bcf_row_scale_lucas_low_digit_low_upper)) /\ exists bcf_quotient_lucas_low_digit_low_upper_decoded_value. bcf_row_code_lucas_low_digit_low_upper = bcf_quotient_lucas_low_digit_low_upper_decoded_value * S ((S (e)) * bcf_row_scale_lucas_low_digit_low_upper) + (C))))))))) -> (((exists bcf_lt_gap_lucas_low_digit_low_lower_out_of_range. bcf_lt_gap_lucas_low_digit_low_lower_out_of_range + S (d) = e) /\ D = 0) \/ ((exists bcf_le_gap_lucas_low_digit_low_lower_in_range. bcf_le_gap_lucas_low_digit_low_lower_in_range + (e) = d) /\ (exists bcf_row_code_code_lucas_low_digit_low_lower bcf_row_code_scale_lucas_low_digit_low_lower bcf_row_scale_code_lucas_low_digit_low_lower bcf_row_scale_scale_lucas_low_digit_low_lower bcf_row_code_lucas_low_digit_low_lower bcf_row_scale_lucas_low_digit_low_lower. ((forall bcf_row_index_lucas_low_digit_low_lower_table. (exists bcf_lt_gap_lucas_low_digit_low_lower_table_row_bound. bcf_lt_gap_lucas_low_digit_low_lower_table_row_bound + S (bcf_row_index_lucas_low_digit_low_lower_table) = S (d)) -> exists bcf_row_code_lucas_low_digit_low_lower_table bcf_row_scale_lucas_low_digit_low_lower_table. ((((exists bcf_height_lucas_low_digit_low_lower_table_decoded_row_code. bcf_height_lucas_low_digit_low_lower_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_low_lower_table) = S ((S (bcf_row_index_lucas_low_digit_low_lower_table)) * bcf_row_code_scale_lucas_low_digit_low_lower)) /\ exists bcf_quotient_lucas_low_digit_low_lower_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_low_lower = bcf_quotient_lucas_low_digit_low_lower_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_low_lower_table)) * bcf_row_code_scale_lucas_low_digit_low_lower) + (bcf_row_code_lucas_low_digit_low_lower_table))) /\ ((((exists bcf_height_lucas_low_digit_low_lower_table_decoded_row_scale. bcf_height_lucas_low_digit_low_lower_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_low_lower_table) = S ((S (bcf_row_index_lucas_low_digit_low_lower_table)) * bcf_row_scale_scale_lucas_low_digit_low_lower)) /\ exists bcf_quotient_lucas_low_digit_low_lower_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_low_lower = bcf_quotient_lucas_low_digit_low_lower_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_low_lower_table)) * bcf_row_scale_scale_lucas_low_digit_low_lower) + (bcf_row_scale_lucas_low_digit_low_lower_table))) /\ ((bcf_row_index_lucas_low_digit_low_lower_table = 0 /\ (forall bcf_index_lucas_low_digit_low_lower_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_low_lower_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_low_lower_table_zero_row_bound + S (bcf_index_lucas_low_digit_low_lower_table_zero_row) = S (d)) -> exists bcf_value_lucas_low_digit_low_lower_table_zero_row. ((((exists bcf_height_lucas_low_digit_low_lower_table_zero_row_entry. bcf_height_lucas_low_digit_low_lower_table_zero_row_entry + S (bcf_value_lucas_low_digit_low_lower_table_zero_row) = S ((S (bcf_index_lucas_low_digit_low_lower_table_zero_row)) * bcf_row_scale_lucas_low_digit_low_lower_table)) /\ exists bcf_quotient_lucas_low_digit_low_lower_table_zero_row_entry. bcf_row_code_lucas_low_digit_low_lower_table = bcf_quotient_lucas_low_digit_low_lower_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_low_lower_table_zero_row)) * bcf_row_scale_lucas_low_digit_low_lower_table) + (bcf_value_lucas_low_digit_low_lower_table_zero_row))) /\ ((bcf_index_lucas_low_digit_low_lower_table_zero_row = 0 /\ bcf_value_lucas_low_digit_low_lower_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_low_lower_table_zero_row. bcf_index_lucas_low_digit_low_lower_table_zero_row = S bcf_predecessor_lucas_low_digit_low_lower_table_zero_row /\ bcf_value_lucas_low_digit_low_lower_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_low_lower_table bcf_previous_code_lucas_low_digit_low_lower_table bcf_previous_scale_lucas_low_digit_low_lower_table. bcf_row_index_lucas_low_digit_low_lower_table = S bcf_predecessor_lucas_low_digit_low_lower_table /\ ((((exists bcf_height_lucas_low_digit_low_lower_table_decoded_previous_code. bcf_height_lucas_low_digit_low_lower_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_low_lower_table) = S ((S (bcf_predecessor_lucas_low_digit_low_lower_table)) * bcf_row_code_scale_lucas_low_digit_low_lower)) /\ exists bcf_quotient_lucas_low_digit_low_lower_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_low_lower = bcf_quotient_lucas_low_digit_low_lower_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_low_lower_table)) * bcf_row_code_scale_lucas_low_digit_low_lower) + (bcf_previous_code_lucas_low_digit_low_lower_table))) /\ ((((exists bcf_height_lucas_low_digit_low_lower_table_decoded_previous_scale. bcf_height_lucas_low_digit_low_lower_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_low_lower_table) = S ((S (bcf_predecessor_lucas_low_digit_low_lower_table)) * bcf_row_scale_scale_lucas_low_digit_low_lower)) /\ exists bcf_quotient_lucas_low_digit_low_lower_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_low_lower = bcf_quotient_lucas_low_digit_low_lower_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_low_lower_table)) * bcf_row_scale_scale_lucas_low_digit_low_lower) + (bcf_previous_scale_lucas_low_digit_low_lower_table))) /\ (forall bcf_index_lucas_low_digit_low_lower_table_row_step. (exists bcf_lt_gap_lucas_low_digit_low_lower_table_row_step_bound. bcf_lt_gap_lucas_low_digit_low_lower_table_row_step_bound + S (bcf_index_lucas_low_digit_low_lower_table_row_step) = S (d)) -> exists bcf_value_lucas_low_digit_low_lower_table_row_step. ((((exists bcf_height_lucas_low_digit_low_lower_table_row_step_entry. bcf_height_lucas_low_digit_low_lower_table_row_step_entry + S (bcf_value_lucas_low_digit_low_lower_table_row_step) = S ((S (bcf_index_lucas_low_digit_low_lower_table_row_step)) * bcf_row_scale_lucas_low_digit_low_lower_table)) /\ exists bcf_quotient_lucas_low_digit_low_lower_table_row_step_entry. bcf_row_code_lucas_low_digit_low_lower_table = bcf_quotient_lucas_low_digit_low_lower_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_low_lower_table_row_step)) * bcf_row_scale_lucas_low_digit_low_lower_table) + (bcf_value_lucas_low_digit_low_lower_table_row_step))) /\ ((bcf_index_lucas_low_digit_low_lower_table_row_step = 0 /\ bcf_value_lucas_low_digit_low_lower_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_low_lower_table_row_step bcf_left_lucas_low_digit_low_lower_table_row_step bcf_right_lucas_low_digit_low_lower_table_row_step. bcf_index_lucas_low_digit_low_lower_table_row_step = S bcf_predecessor_lucas_low_digit_low_lower_table_row_step /\ ((((exists bcf_height_lucas_low_digit_low_lower_table_row_step_previous_left. bcf_height_lucas_low_digit_low_lower_table_row_step_previous_left + S (bcf_left_lucas_low_digit_low_lower_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_low_lower_table_row_step)) * bcf_previous_scale_lucas_low_digit_low_lower_table)) /\ exists bcf_quotient_lucas_low_digit_low_lower_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_low_lower_table = bcf_quotient_lucas_low_digit_low_lower_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_low_lower_table_row_step)) * bcf_previous_scale_lucas_low_digit_low_lower_table) + (bcf_left_lucas_low_digit_low_lower_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_low_lower_table_row_step_previous_right. bcf_height_lucas_low_digit_low_lower_table_row_step_previous_right + S (bcf_right_lucas_low_digit_low_lower_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_low_lower_table_row_step))) * bcf_previous_scale_lucas_low_digit_low_lower_table)) /\ exists bcf_quotient_lucas_low_digit_low_lower_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_low_lower_table = bcf_quotient_lucas_low_digit_low_lower_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_low_lower_table_row_step))) * bcf_previous_scale_lucas_low_digit_low_lower_table) + (bcf_right_lucas_low_digit_low_lower_table_row_step))) /\ bcf_value_lucas_low_digit_low_lower_table_row_step = bcf_left_lucas_low_digit_low_lower_table_row_step + bcf_right_lucas_low_digit_low_lower_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_low_lower_decoded_row_code. bcf_height_lucas_low_digit_low_lower_decoded_row_code + S (bcf_row_code_lucas_low_digit_low_lower) = S ((S (d)) * bcf_row_code_scale_lucas_low_digit_low_lower)) /\ exists bcf_quotient_lucas_low_digit_low_lower_decoded_row_code. bcf_row_code_code_lucas_low_digit_low_lower = bcf_quotient_lucas_low_digit_low_lower_decoded_row_code * S ((S (d)) * bcf_row_code_scale_lucas_low_digit_low_lower) + (bcf_row_code_lucas_low_digit_low_lower))) /\ ((((exists bcf_height_lucas_low_digit_low_lower_decoded_row_scale. bcf_height_lucas_low_digit_low_lower_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_low_lower) = S ((S (d)) * bcf_row_scale_scale_lucas_low_digit_low_lower)) /\ exists bcf_quotient_lucas_low_digit_low_lower_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_low_lower = bcf_quotient_lucas_low_digit_low_lower_decoded_row_scale * S ((S (d)) * bcf_row_scale_scale_lucas_low_digit_low_lower) + (bcf_row_scale_lucas_low_digit_low_lower))) /\ (((exists bcf_height_lucas_low_digit_low_lower_decoded_value. bcf_height_lucas_low_digit_low_lower_decoded_value + S (D) = S ((S (e)) * bcf_row_scale_lucas_low_digit_low_lower)) /\ exists bcf_quotient_lucas_low_digit_low_lower_decoded_value. bcf_row_code_lucas_low_digit_low_lower = bcf_quotient_lucas_low_digit_low_lower_decoded_value * S ((S (e)) * bcf_row_scale_lucas_low_digit_low_lower) + (D))))))))) -> (exists lld_left_low_result lld_right_low_result. (C) + (p) * lld_left_low_result = (D) + (p) * lld_right_low_result)

Constructive proof overview

Generated structural guide

The exact Lucas congruence holds for every natural upper quotient and every lower index consisting of one base-prime digit.

The unchanged tactic script uses 1 declared prerequisite and contains 22 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

22 script commands · 4 reading checkpoints · 0 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 (1)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro q
  3. L3
    intro d
  4. L4
    intro e
  5. L5
    intro C
  6. L6
    intro D
  7. L7
    intro hprime
  8. L8
    intro hupper_bound
  9. L9
    intro hlower_bound
  10. L10
    intro hupper
02Fix variables and assumptionsL11–11

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

  1. L11
    intro hlower
03Use earlier factsL12–21

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

  1. L12
    specialize lucas_repeated_prime_shift_below_base p
  2. L13
    specialize lucas_repeated_prime_shift_below_base q
  3. L14
    specialize lucas_repeated_prime_shift_below_base d
  4. L15
    specialize lucas_repeated_prime_shift_below_base e
  5. L16
    specialize lucas_repeated_prime_shift_below_base C
  6. L17
    specialize lucas_repeated_prime_shift_below_base D
  7. L18
    apply lucas_repeated_prime_shift_below_base
  8. L19
    exact hprime
  9. L20
    exact hlower_bound
  10. L21
    exact hupper
04Use earlier factsL22–22

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

  1. L22
    exact hlower

Library-wide reading audit

Original exact command ledger · 22 lines
  1. 0001intro p
  2. 0002intro q
  3. 0003intro d
  4. 0004intro e
  5. 0005intro C
  6. 0006intro D
  7. 0007intro hprime
  8. 0008intro hupper_bound
  9. 0009intro hlower_bound
  10. 0010intro hupper
  11. 0011intro hlower
  12. 0012specialize lucas_repeated_prime_shift_below_base p
  13. 0013specialize lucas_repeated_prime_shift_below_base q
  14. 0014specialize lucas_repeated_prime_shift_below_base d
  15. 0015specialize lucas_repeated_prime_shift_below_base e
  16. 0016specialize lucas_repeated_prime_shift_below_base C
  17. 0017specialize lucas_repeated_prime_shift_below_base D
  18. 0018apply lucas_repeated_prime_shift_below_base
  19. 0019exact hprime
  20. 0020exact hlower_bound
  21. 0021exact hupper
  22. 0022exact hlower