Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
∀ p. ∀ q. ∀ a. ∀ b. ∀ C. ∀ D. Prime(p) → Lt(b,p) → Choose(p · q + a,b,C) → Choose(a,b,D) → ModEq(p,C,D)Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall p q a b 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_repeat_bound. lld_gap_repeat_bound + S (b) = (p)) -> (((exists bcf_lt_gap_lucas_low_digit_repeat_upper_out_of_range. bcf_lt_gap_lucas_low_digit_repeat_upper_out_of_range + S (p * q + a) = b) /\ C = 0) \/ ((exists bcf_le_gap_lucas_low_digit_repeat_upper_in_range. bcf_le_gap_lucas_low_digit_repeat_upper_in_range + (b) = p * q + a) /\ (exists bcf_row_code_code_lucas_low_digit_repeat_upper bcf_row_code_scale_lucas_low_digit_repeat_upper bcf_row_scale_code_lucas_low_digit_repeat_upper bcf_row_scale_scale_lucas_low_digit_repeat_upper bcf_row_code_lucas_low_digit_repeat_upper bcf_row_scale_lucas_low_digit_repeat_upper. ((forall bcf_row_index_lucas_low_digit_repeat_upper_table. (exists bcf_lt_gap_lucas_low_digit_repeat_upper_table_row_bound. bcf_lt_gap_lucas_low_digit_repeat_upper_table_row_bound + S (bcf_row_index_lucas_low_digit_repeat_upper_table) = S (p * q + a)) -> exists bcf_row_code_lucas_low_digit_repeat_upper_table bcf_row_scale_lucas_low_digit_repeat_upper_table. ((((exists bcf_height_lucas_low_digit_repeat_upper_table_decoded_row_code. bcf_height_lucas_low_digit_repeat_upper_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_upper_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_upper_table)) * bcf_row_code_scale_lucas_low_digit_repeat_upper)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_upper = bcf_quotient_lucas_low_digit_repeat_upper_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_repeat_upper_table)) * bcf_row_code_scale_lucas_low_digit_repeat_upper) + (bcf_row_code_lucas_low_digit_repeat_upper_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_upper_table_decoded_row_scale. bcf_height_lucas_low_digit_repeat_upper_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_upper_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_upper_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_upper)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_upper = bcf_quotient_lucas_low_digit_repeat_upper_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_repeat_upper_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_upper) + (bcf_row_scale_lucas_low_digit_repeat_upper_table))) /\ ((bcf_row_index_lucas_low_digit_repeat_upper_table = 0 /\ (forall bcf_index_lucas_low_digit_repeat_upper_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_repeat_upper_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_repeat_upper_table_zero_row_bound + S (bcf_index_lucas_low_digit_repeat_upper_table_zero_row) = S (p * q + a)) -> exists bcf_value_lucas_low_digit_repeat_upper_table_zero_row. ((((exists bcf_height_lucas_low_digit_repeat_upper_table_zero_row_entry. bcf_height_lucas_low_digit_repeat_upper_table_zero_row_entry + S (bcf_value_lucas_low_digit_repeat_upper_table_zero_row) = S ((S (bcf_index_lucas_low_digit_repeat_upper_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_upper_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_table_zero_row_entry. bcf_row_code_lucas_low_digit_repeat_upper_table = bcf_quotient_lucas_low_digit_repeat_upper_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_repeat_upper_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_upper_table) + (bcf_value_lucas_low_digit_repeat_upper_table_zero_row))) /\ ((bcf_index_lucas_low_digit_repeat_upper_table_zero_row = 0 /\ bcf_value_lucas_low_digit_repeat_upper_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_upper_table_zero_row. bcf_index_lucas_low_digit_repeat_upper_table_zero_row = S bcf_predecessor_lucas_low_digit_repeat_upper_table_zero_row /\ bcf_value_lucas_low_digit_repeat_upper_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_repeat_upper_table bcf_previous_code_lucas_low_digit_repeat_upper_table bcf_previous_scale_lucas_low_digit_repeat_upper_table. bcf_row_index_lucas_low_digit_repeat_upper_table = S bcf_predecessor_lucas_low_digit_repeat_upper_table /\ ((((exists bcf_height_lucas_low_digit_repeat_upper_table_decoded_previous_code. bcf_height_lucas_low_digit_repeat_upper_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_repeat_upper_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_upper_table)) * bcf_row_code_scale_lucas_low_digit_repeat_upper)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_repeat_upper = bcf_quotient_lucas_low_digit_repeat_upper_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_repeat_upper_table)) * bcf_row_code_scale_lucas_low_digit_repeat_upper) + (bcf_previous_code_lucas_low_digit_repeat_upper_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_upper_table_decoded_previous_scale. bcf_height_lucas_low_digit_repeat_upper_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_repeat_upper_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_upper_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_upper)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_repeat_upper = bcf_quotient_lucas_low_digit_repeat_upper_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_repeat_upper_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_upper) + (bcf_previous_scale_lucas_low_digit_repeat_upper_table))) /\ (forall bcf_index_lucas_low_digit_repeat_upper_table_row_step. (exists bcf_lt_gap_lucas_low_digit_repeat_upper_table_row_step_bound. bcf_lt_gap_lucas_low_digit_repeat_upper_table_row_step_bound + S (bcf_index_lucas_low_digit_repeat_upper_table_row_step) = S (p * q + a)) -> exists bcf_value_lucas_low_digit_repeat_upper_table_row_step. ((((exists bcf_height_lucas_low_digit_repeat_upper_table_row_step_entry. bcf_height_lucas_low_digit_repeat_upper_table_row_step_entry + S (bcf_value_lucas_low_digit_repeat_upper_table_row_step) = S ((S (bcf_index_lucas_low_digit_repeat_upper_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_upper_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_table_row_step_entry. bcf_row_code_lucas_low_digit_repeat_upper_table = bcf_quotient_lucas_low_digit_repeat_upper_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_repeat_upper_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_upper_table) + (bcf_value_lucas_low_digit_repeat_upper_table_row_step))) /\ ((bcf_index_lucas_low_digit_repeat_upper_table_row_step = 0 /\ bcf_value_lucas_low_digit_repeat_upper_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_upper_table_row_step bcf_left_lucas_low_digit_repeat_upper_table_row_step bcf_right_lucas_low_digit_repeat_upper_table_row_step. bcf_index_lucas_low_digit_repeat_upper_table_row_step = S bcf_predecessor_lucas_low_digit_repeat_upper_table_row_step /\ ((((exists bcf_height_lucas_low_digit_repeat_upper_table_row_step_previous_left. bcf_height_lucas_low_digit_repeat_upper_table_row_step_previous_left + S (bcf_left_lucas_low_digit_repeat_upper_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_repeat_upper_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_upper_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_repeat_upper_table = bcf_quotient_lucas_low_digit_repeat_upper_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_repeat_upper_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_upper_table) + (bcf_left_lucas_low_digit_repeat_upper_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_repeat_upper_table_row_step_previous_right. bcf_height_lucas_low_digit_repeat_upper_table_row_step_previous_right + S (bcf_right_lucas_low_digit_repeat_upper_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_repeat_upper_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_upper_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_repeat_upper_table = bcf_quotient_lucas_low_digit_repeat_upper_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_repeat_upper_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_upper_table) + (bcf_right_lucas_low_digit_repeat_upper_table_row_step))) /\ bcf_value_lucas_low_digit_repeat_upper_table_row_step = bcf_left_lucas_low_digit_repeat_upper_table_row_step + bcf_right_lucas_low_digit_repeat_upper_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_repeat_upper_decoded_row_code. bcf_height_lucas_low_digit_repeat_upper_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_upper) = S ((S (p * q + a)) * bcf_row_code_scale_lucas_low_digit_repeat_upper)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_upper = bcf_quotient_lucas_low_digit_repeat_upper_decoded_row_code * S ((S (p * q + a)) * bcf_row_code_scale_lucas_low_digit_repeat_upper) + (bcf_row_code_lucas_low_digit_repeat_upper))) /\ ((((exists bcf_height_lucas_low_digit_repeat_upper_decoded_row_scale. bcf_height_lucas_low_digit_repeat_upper_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_upper) = S ((S (p * q + a)) * bcf_row_scale_scale_lucas_low_digit_repeat_upper)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_upper = bcf_quotient_lucas_low_digit_repeat_upper_decoded_row_scale * S ((S (p * q + a)) * bcf_row_scale_scale_lucas_low_digit_repeat_upper) + (bcf_row_scale_lucas_low_digit_repeat_upper))) /\ (((exists bcf_height_lucas_low_digit_repeat_upper_decoded_value. bcf_height_lucas_low_digit_repeat_upper_decoded_value + S (C) = S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_upper)) /\ exists bcf_quotient_lucas_low_digit_repeat_upper_decoded_value. bcf_row_code_lucas_low_digit_repeat_upper = bcf_quotient_lucas_low_digit_repeat_upper_decoded_value * S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_upper) + (C))))))))) -> (((exists bcf_lt_gap_lucas_low_digit_repeat_lower_out_of_range. bcf_lt_gap_lucas_low_digit_repeat_lower_out_of_range + S (a) = b) /\ D = 0) \/ ((exists bcf_le_gap_lucas_low_digit_repeat_lower_in_range. bcf_le_gap_lucas_low_digit_repeat_lower_in_range + (b) = a) /\ (exists bcf_row_code_code_lucas_low_digit_repeat_lower bcf_row_code_scale_lucas_low_digit_repeat_lower bcf_row_scale_code_lucas_low_digit_repeat_lower bcf_row_scale_scale_lucas_low_digit_repeat_lower bcf_row_code_lucas_low_digit_repeat_lower bcf_row_scale_lucas_low_digit_repeat_lower. ((forall bcf_row_index_lucas_low_digit_repeat_lower_table. (exists bcf_lt_gap_lucas_low_digit_repeat_lower_table_row_bound. bcf_lt_gap_lucas_low_digit_repeat_lower_table_row_bound + S (bcf_row_index_lucas_low_digit_repeat_lower_table) = S (a)) -> exists bcf_row_code_lucas_low_digit_repeat_lower_table bcf_row_scale_lucas_low_digit_repeat_lower_table. ((((exists bcf_height_lucas_low_digit_repeat_lower_table_decoded_row_code. bcf_height_lucas_low_digit_repeat_lower_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_lower_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_lower_table)) * bcf_row_code_scale_lucas_low_digit_repeat_lower)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_lower = bcf_quotient_lucas_low_digit_repeat_lower_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_repeat_lower_table)) * bcf_row_code_scale_lucas_low_digit_repeat_lower) + (bcf_row_code_lucas_low_digit_repeat_lower_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_lower_table_decoded_row_scale. bcf_height_lucas_low_digit_repeat_lower_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_lower_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_lower_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_lower)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_lower = bcf_quotient_lucas_low_digit_repeat_lower_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_repeat_lower_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_lower) + (bcf_row_scale_lucas_low_digit_repeat_lower_table))) /\ ((bcf_row_index_lucas_low_digit_repeat_lower_table = 0 /\ (forall bcf_index_lucas_low_digit_repeat_lower_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_repeat_lower_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_repeat_lower_table_zero_row_bound + S (bcf_index_lucas_low_digit_repeat_lower_table_zero_row) = S (a)) -> exists bcf_value_lucas_low_digit_repeat_lower_table_zero_row. ((((exists bcf_height_lucas_low_digit_repeat_lower_table_zero_row_entry. bcf_height_lucas_low_digit_repeat_lower_table_zero_row_entry + S (bcf_value_lucas_low_digit_repeat_lower_table_zero_row) = S ((S (bcf_index_lucas_low_digit_repeat_lower_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_lower_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_table_zero_row_entry. bcf_row_code_lucas_low_digit_repeat_lower_table = bcf_quotient_lucas_low_digit_repeat_lower_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_repeat_lower_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_lower_table) + (bcf_value_lucas_low_digit_repeat_lower_table_zero_row))) /\ ((bcf_index_lucas_low_digit_repeat_lower_table_zero_row = 0 /\ bcf_value_lucas_low_digit_repeat_lower_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_lower_table_zero_row. bcf_index_lucas_low_digit_repeat_lower_table_zero_row = S bcf_predecessor_lucas_low_digit_repeat_lower_table_zero_row /\ bcf_value_lucas_low_digit_repeat_lower_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_repeat_lower_table bcf_previous_code_lucas_low_digit_repeat_lower_table bcf_previous_scale_lucas_low_digit_repeat_lower_table. bcf_row_index_lucas_low_digit_repeat_lower_table = S bcf_predecessor_lucas_low_digit_repeat_lower_table /\ ((((exists bcf_height_lucas_low_digit_repeat_lower_table_decoded_previous_code. bcf_height_lucas_low_digit_repeat_lower_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_repeat_lower_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_lower_table)) * bcf_row_code_scale_lucas_low_digit_repeat_lower)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_repeat_lower = bcf_quotient_lucas_low_digit_repeat_lower_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_repeat_lower_table)) * bcf_row_code_scale_lucas_low_digit_repeat_lower) + (bcf_previous_code_lucas_low_digit_repeat_lower_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_lower_table_decoded_previous_scale. bcf_height_lucas_low_digit_repeat_lower_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_repeat_lower_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_lower_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_lower)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_repeat_lower = bcf_quotient_lucas_low_digit_repeat_lower_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_repeat_lower_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_lower) + (bcf_previous_scale_lucas_low_digit_repeat_lower_table))) /\ (forall bcf_index_lucas_low_digit_repeat_lower_table_row_step. (exists bcf_lt_gap_lucas_low_digit_repeat_lower_table_row_step_bound. bcf_lt_gap_lucas_low_digit_repeat_lower_table_row_step_bound + S (bcf_index_lucas_low_digit_repeat_lower_table_row_step) = S (a)) -> exists bcf_value_lucas_low_digit_repeat_lower_table_row_step. ((((exists bcf_height_lucas_low_digit_repeat_lower_table_row_step_entry. bcf_height_lucas_low_digit_repeat_lower_table_row_step_entry + S (bcf_value_lucas_low_digit_repeat_lower_table_row_step) = S ((S (bcf_index_lucas_low_digit_repeat_lower_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_lower_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_table_row_step_entry. bcf_row_code_lucas_low_digit_repeat_lower_table = bcf_quotient_lucas_low_digit_repeat_lower_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_repeat_lower_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_lower_table) + (bcf_value_lucas_low_digit_repeat_lower_table_row_step))) /\ ((bcf_index_lucas_low_digit_repeat_lower_table_row_step = 0 /\ bcf_value_lucas_low_digit_repeat_lower_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_lower_table_row_step bcf_left_lucas_low_digit_repeat_lower_table_row_step bcf_right_lucas_low_digit_repeat_lower_table_row_step. bcf_index_lucas_low_digit_repeat_lower_table_row_step = S bcf_predecessor_lucas_low_digit_repeat_lower_table_row_step /\ ((((exists bcf_height_lucas_low_digit_repeat_lower_table_row_step_previous_left. bcf_height_lucas_low_digit_repeat_lower_table_row_step_previous_left + S (bcf_left_lucas_low_digit_repeat_lower_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_repeat_lower_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_lower_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_repeat_lower_table = bcf_quotient_lucas_low_digit_repeat_lower_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_repeat_lower_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_lower_table) + (bcf_left_lucas_low_digit_repeat_lower_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_repeat_lower_table_row_step_previous_right. bcf_height_lucas_low_digit_repeat_lower_table_row_step_previous_right + S (bcf_right_lucas_low_digit_repeat_lower_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_repeat_lower_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_lower_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_repeat_lower_table = bcf_quotient_lucas_low_digit_repeat_lower_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_repeat_lower_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_lower_table) + (bcf_right_lucas_low_digit_repeat_lower_table_row_step))) /\ bcf_value_lucas_low_digit_repeat_lower_table_row_step = bcf_left_lucas_low_digit_repeat_lower_table_row_step + bcf_right_lucas_low_digit_repeat_lower_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_repeat_lower_decoded_row_code. bcf_height_lucas_low_digit_repeat_lower_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_lower) = S ((S (a)) * bcf_row_code_scale_lucas_low_digit_repeat_lower)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_lower = bcf_quotient_lucas_low_digit_repeat_lower_decoded_row_code * S ((S (a)) * bcf_row_code_scale_lucas_low_digit_repeat_lower) + (bcf_row_code_lucas_low_digit_repeat_lower))) /\ ((((exists bcf_height_lucas_low_digit_repeat_lower_decoded_row_scale. bcf_height_lucas_low_digit_repeat_lower_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_lower) = S ((S (a)) * bcf_row_scale_scale_lucas_low_digit_repeat_lower)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_lower = bcf_quotient_lucas_low_digit_repeat_lower_decoded_row_scale * S ((S (a)) * bcf_row_scale_scale_lucas_low_digit_repeat_lower) + (bcf_row_scale_lucas_low_digit_repeat_lower))) /\ (((exists bcf_height_lucas_low_digit_repeat_lower_decoded_value. bcf_height_lucas_low_digit_repeat_lower_decoded_value + S (D) = S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_lower)) /\ exists bcf_quotient_lucas_low_digit_repeat_lower_decoded_value. bcf_row_code_lucas_low_digit_repeat_lower = bcf_quotient_lucas_low_digit_repeat_lower_decoded_value * S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_lower) + (D))))))))) -> (exists lld_left_repeat_result lld_right_repeat_result. (C) + (p) * lld_left_repeat_result = (D) + (p) * lld_right_repeat_result)Proof neighborhood
Direct theorem prerequisites
LU0010 lucas_prime_block_zero_reassociation LU0011 lucas_prime_block_successor_reassociation choose_upper_eq_transport · Alpha closed choose_functional · Alpha closed mod_eq_refl · Stable closed choose_exists · Alpha closed LU000W lucas_prime_shift_below_base mod_eq_trans · Stable closedDirect theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (3)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro p
02Induction on qL2–10
03Establish hnormalizedL11–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose upper eq transport.
- L11
have hnormalized : Choose(a,b,C)Definitions: Choose(a,b,C)Original native command in the exact edition - L12
specialize choose_upper_eq_transport (p * 0 + a) - L13
specialize choose_upper_eq_transport a - L14
specialize choose_upper_eq_transport b - L15
specialize choose_upper_eq_transport C - L16
apply choose_upper_eq_transport - L17
apply lucas_prime_block_zero_reassociation - L18
exact hupper
04Establish hequalL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose functional.
05Fix variables and assumptionsL29–36
06Establish hnormalizedL37–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose upper eq transport.
- L37
have hnormalized : Choose(p + (p · q + a),b,C)Definitions: Choose(p + (p · q + a),b,C)Original native command in the exact edition - L38
specialize choose_upper_eq_transport (p * S q + a) - L39
specialize choose_upper_eq_transport (p + (p * q + a)) - L40
specialize choose_upper_eq_transport b - L41
specialize choose_upper_eq_transport C - L42
apply choose_upper_eq_transport - L43
apply lucas_prime_block_successor_reassociation - L44
exact hupper
07Establish hmiddleL45–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose exists.
- L45
have hmiddle : ∃ D. Choose(p · q + a,b,D)Definitions: Choose(p · q + a,b,D)Original native command in the exact edition - L46
apply choose_exists
08Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
cases hmiddle
09Establish hshiftL48–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lucas prime shift below base.
- L48
- L49
specialize lucas_prime_shift_below_base p - L50
specialize lucas_prime_shift_below_base (p * q + a) - L51
specialize lucas_prime_shift_below_base b - L52
specialize lucas_prime_shift_below_base C - L53
specialize lucas_prime_shift_below_base x - L54
apply lucas_prime_shift_below_base - L55
exact hprime - L56
exact hbound - L57
exact hnormalized
10Use earlier factsL58–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
exact hmiddle_witness
11Establish hremainingL59–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
Original defined command ledger · 75 lines
- 0001
intro p - 0002
induction q - 0003
intro a - 0004
intro b - 0005
intro C - 0006
intro D - 0007
intro hprime - 0008
intro hbound - 0009
intro hupper - 0010
intro hlower - 0011
have hnormalized : Choose(a,b,C)Exact native replay line
have hnormalized : ((exists bcf_lt_gap_lucas_low_digit_repeat_zero_normalized_out_of_range. bcf_lt_gap_lucas_low_digit_repeat_zero_normalized_out_of_range + S (a) = b) /\ C = 0) \/ ((exists bcf_le_gap_lucas_low_digit_repeat_zero_normalized_in_range. bcf_le_gap_lucas_low_digit_repeat_zero_normalized_in_range + (b) = a) /\ (exists bcf_row_code_code_lucas_low_digit_repeat_zero_normalized bcf_row_code_scale_lucas_low_digit_repeat_zero_normalized bcf_row_scale_code_lucas_low_digit_repeat_zero_normalized bcf_row_scale_scale_lucas_low_digit_repeat_zero_normalized bcf_row_code_lucas_low_digit_repeat_zero_normalized bcf_row_scale_lucas_low_digit_repeat_zero_normalized. ((forall bcf_row_index_lucas_low_digit_repeat_zero_normalized_table. (exists bcf_lt_gap_lucas_low_digit_repeat_zero_normalized_table_row_bound. bcf_lt_gap_lucas_low_digit_repeat_zero_normalized_table_row_bound + S (bcf_row_index_lucas_low_digit_repeat_zero_normalized_table) = S (a)) -> exists bcf_row_code_lucas_low_digit_repeat_zero_normalized_table bcf_row_scale_lucas_low_digit_repeat_zero_normalized_table. ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_table_decoded_row_code. bcf_height_lucas_low_digit_repeat_zero_normalized_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_zero_normalized_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_zero_normalized_table)) * bcf_row_code_scale_lucas_low_digit_repeat_zero_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_zero_normalized = bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_repeat_zero_normalized_table)) * bcf_row_code_scale_lucas_low_digit_repeat_zero_normalized) + (bcf_row_code_lucas_low_digit_repeat_zero_normalized_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_table_decoded_row_scale. bcf_height_lucas_low_digit_repeat_zero_normalized_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_zero_normalized_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_zero_normalized_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_zero_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_zero_normalized = bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_repeat_zero_normalized_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_zero_normalized) + (bcf_row_scale_lucas_low_digit_repeat_zero_normalized_table))) /\ ((bcf_row_index_lucas_low_digit_repeat_zero_normalized_table = 0 /\ (forall bcf_index_lucas_low_digit_repeat_zero_normalized_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_repeat_zero_normalized_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_repeat_zero_normalized_table_zero_row_bound + S (bcf_index_lucas_low_digit_repeat_zero_normalized_table_zero_row) = S (a)) -> exists bcf_value_lucas_low_digit_repeat_zero_normalized_table_zero_row. ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_table_zero_row_entry. bcf_height_lucas_low_digit_repeat_zero_normalized_table_zero_row_entry + S (bcf_value_lucas_low_digit_repeat_zero_normalized_table_zero_row) = S ((S (bcf_index_lucas_low_digit_repeat_zero_normalized_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_zero_normalized_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_zero_row_entry. bcf_row_code_lucas_low_digit_repeat_zero_normalized_table = bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_repeat_zero_normalized_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_zero_normalized_table) + (bcf_value_lucas_low_digit_repeat_zero_normalized_table_zero_row))) /\ ((bcf_index_lucas_low_digit_repeat_zero_normalized_table_zero_row = 0 /\ bcf_value_lucas_low_digit_repeat_zero_normalized_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table_zero_row. bcf_index_lucas_low_digit_repeat_zero_normalized_table_zero_row = S bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table_zero_row /\ bcf_value_lucas_low_digit_repeat_zero_normalized_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table bcf_previous_code_lucas_low_digit_repeat_zero_normalized_table bcf_previous_scale_lucas_low_digit_repeat_zero_normalized_table. bcf_row_index_lucas_low_digit_repeat_zero_normalized_table = S bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table /\ ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_table_decoded_previous_code. bcf_height_lucas_low_digit_repeat_zero_normalized_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_repeat_zero_normalized_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table)) * bcf_row_code_scale_lucas_low_digit_repeat_zero_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_repeat_zero_normalized = bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table)) * bcf_row_code_scale_lucas_low_digit_repeat_zero_normalized) + (bcf_previous_code_lucas_low_digit_repeat_zero_normalized_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_table_decoded_previous_scale. bcf_height_lucas_low_digit_repeat_zero_normalized_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_repeat_zero_normalized_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_zero_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_repeat_zero_normalized = bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_zero_normalized) + (bcf_previous_scale_lucas_low_digit_repeat_zero_normalized_table))) /\ (forall bcf_index_lucas_low_digit_repeat_zero_normalized_table_row_step. (exists bcf_lt_gap_lucas_low_digit_repeat_zero_normalized_table_row_step_bound. bcf_lt_gap_lucas_low_digit_repeat_zero_normalized_table_row_step_bound + S (bcf_index_lucas_low_digit_repeat_zero_normalized_table_row_step) = S (a)) -> exists bcf_value_lucas_low_digit_repeat_zero_normalized_table_row_step. ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_table_row_step_entry. bcf_height_lucas_low_digit_repeat_zero_normalized_table_row_step_entry + S (bcf_value_lucas_low_digit_repeat_zero_normalized_table_row_step) = S ((S (bcf_index_lucas_low_digit_repeat_zero_normalized_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_zero_normalized_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_row_step_entry. bcf_row_code_lucas_low_digit_repeat_zero_normalized_table = bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_repeat_zero_normalized_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_zero_normalized_table) + (bcf_value_lucas_low_digit_repeat_zero_normalized_table_row_step))) /\ ((bcf_index_lucas_low_digit_repeat_zero_normalized_table_row_step = 0 /\ bcf_value_lucas_low_digit_repeat_zero_normalized_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table_row_step bcf_left_lucas_low_digit_repeat_zero_normalized_table_row_step bcf_right_lucas_low_digit_repeat_zero_normalized_table_row_step. bcf_index_lucas_low_digit_repeat_zero_normalized_table_row_step = S bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table_row_step /\ ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_table_row_step_previous_left. bcf_height_lucas_low_digit_repeat_zero_normalized_table_row_step_previous_left + S (bcf_left_lucas_low_digit_repeat_zero_normalized_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_zero_normalized_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_repeat_zero_normalized_table = bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_zero_normalized_table) + (bcf_left_lucas_low_digit_repeat_zero_normalized_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_table_row_step_previous_right. bcf_height_lucas_low_digit_repeat_zero_normalized_table_row_step_previous_right + S (bcf_right_lucas_low_digit_repeat_zero_normalized_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_zero_normalized_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_repeat_zero_normalized_table = bcf_quotient_lucas_low_digit_repeat_zero_normalized_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_repeat_zero_normalized_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_zero_normalized_table) + (bcf_right_lucas_low_digit_repeat_zero_normalized_table_row_step))) /\ bcf_value_lucas_low_digit_repeat_zero_normalized_table_row_step = bcf_left_lucas_low_digit_repeat_zero_normalized_table_row_step + bcf_right_lucas_low_digit_repeat_zero_normalized_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_decoded_row_code. bcf_height_lucas_low_digit_repeat_zero_normalized_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_zero_normalized) = S ((S (a)) * bcf_row_code_scale_lucas_low_digit_repeat_zero_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_zero_normalized = bcf_quotient_lucas_low_digit_repeat_zero_normalized_decoded_row_code * S ((S (a)) * bcf_row_code_scale_lucas_low_digit_repeat_zero_normalized) + (bcf_row_code_lucas_low_digit_repeat_zero_normalized))) /\ ((((exists bcf_height_lucas_low_digit_repeat_zero_normalized_decoded_row_scale. bcf_height_lucas_low_digit_repeat_zero_normalized_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_zero_normalized) = S ((S (a)) * bcf_row_scale_scale_lucas_low_digit_repeat_zero_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_zero_normalized = bcf_quotient_lucas_low_digit_repeat_zero_normalized_decoded_row_scale * S ((S (a)) * bcf_row_scale_scale_lucas_low_digit_repeat_zero_normalized) + (bcf_row_scale_lucas_low_digit_repeat_zero_normalized))) /\ (((exists bcf_height_lucas_low_digit_repeat_zero_normalized_decoded_value. bcf_height_lucas_low_digit_repeat_zero_normalized_decoded_value + S (C) = S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_zero_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_zero_normalized_decoded_value. bcf_row_code_lucas_low_digit_repeat_zero_normalized = bcf_quotient_lucas_low_digit_repeat_zero_normalized_decoded_value * S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_zero_normalized) + (C)))))))) - 0012
specialize choose_upper_eq_transport (p * 0 + a) - 0013
specialize choose_upper_eq_transport a - 0014
specialize choose_upper_eq_transport b - 0015
specialize choose_upper_eq_transport C - 0016
apply choose_upper_eq_transport - 0017
apply lucas_prime_block_zero_reassociation - 0018
exact hupper - 0019
have hequal : C = D - 0020
specialize choose_functional a - 0021
specialize choose_functional b - 0022
specialize choose_functional C - 0023
specialize choose_functional D - 0024
apply choose_functional - 0025
exact hnormalized - 0026
exact hlower - 0027
rewrite hequal - 0028
apply mod_eq_refl - 0029
intro a - 0030
intro b - 0031
intro C - 0032
intro D - 0033
intro hprime - 0034
intro hbound - 0035
intro hupper - 0036
intro hlower - 0037
have hnormalized : Choose(p + (p · q + a),b,C)Exact native replay line
have hnormalized : ((exists bcf_lt_gap_lucas_low_digit_repeat_successor_normalized_out_of_range. bcf_lt_gap_lucas_low_digit_repeat_successor_normalized_out_of_range + S (p + (p * q + a)) = b) /\ C = 0) \/ ((exists bcf_le_gap_lucas_low_digit_repeat_successor_normalized_in_range. bcf_le_gap_lucas_low_digit_repeat_successor_normalized_in_range + (b) = p + (p * q + a)) /\ (exists bcf_row_code_code_lucas_low_digit_repeat_successor_normalized bcf_row_code_scale_lucas_low_digit_repeat_successor_normalized bcf_row_scale_code_lucas_low_digit_repeat_successor_normalized bcf_row_scale_scale_lucas_low_digit_repeat_successor_normalized bcf_row_code_lucas_low_digit_repeat_successor_normalized bcf_row_scale_lucas_low_digit_repeat_successor_normalized. ((forall bcf_row_index_lucas_low_digit_repeat_successor_normalized_table. (exists bcf_lt_gap_lucas_low_digit_repeat_successor_normalized_table_row_bound. bcf_lt_gap_lucas_low_digit_repeat_successor_normalized_table_row_bound + S (bcf_row_index_lucas_low_digit_repeat_successor_normalized_table) = S (p + (p * q + a))) -> exists bcf_row_code_lucas_low_digit_repeat_successor_normalized_table bcf_row_scale_lucas_low_digit_repeat_successor_normalized_table. ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_table_decoded_row_code. bcf_height_lucas_low_digit_repeat_successor_normalized_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_successor_normalized_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_successor_normalized_table)) * bcf_row_code_scale_lucas_low_digit_repeat_successor_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_successor_normalized = bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_repeat_successor_normalized_table)) * bcf_row_code_scale_lucas_low_digit_repeat_successor_normalized) + (bcf_row_code_lucas_low_digit_repeat_successor_normalized_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_table_decoded_row_scale. bcf_height_lucas_low_digit_repeat_successor_normalized_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_successor_normalized_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_successor_normalized_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_successor_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_successor_normalized = bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_repeat_successor_normalized_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_successor_normalized) + (bcf_row_scale_lucas_low_digit_repeat_successor_normalized_table))) /\ ((bcf_row_index_lucas_low_digit_repeat_successor_normalized_table = 0 /\ (forall bcf_index_lucas_low_digit_repeat_successor_normalized_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_repeat_successor_normalized_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_repeat_successor_normalized_table_zero_row_bound + S (bcf_index_lucas_low_digit_repeat_successor_normalized_table_zero_row) = S (p + (p * q + a))) -> exists bcf_value_lucas_low_digit_repeat_successor_normalized_table_zero_row. ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_table_zero_row_entry. bcf_height_lucas_low_digit_repeat_successor_normalized_table_zero_row_entry + S (bcf_value_lucas_low_digit_repeat_successor_normalized_table_zero_row) = S ((S (bcf_index_lucas_low_digit_repeat_successor_normalized_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_successor_normalized_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_zero_row_entry. bcf_row_code_lucas_low_digit_repeat_successor_normalized_table = bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_repeat_successor_normalized_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_successor_normalized_table) + (bcf_value_lucas_low_digit_repeat_successor_normalized_table_zero_row))) /\ ((bcf_index_lucas_low_digit_repeat_successor_normalized_table_zero_row = 0 /\ bcf_value_lucas_low_digit_repeat_successor_normalized_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table_zero_row. bcf_index_lucas_low_digit_repeat_successor_normalized_table_zero_row = S bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table_zero_row /\ bcf_value_lucas_low_digit_repeat_successor_normalized_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table bcf_previous_code_lucas_low_digit_repeat_successor_normalized_table bcf_previous_scale_lucas_low_digit_repeat_successor_normalized_table. bcf_row_index_lucas_low_digit_repeat_successor_normalized_table = S bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table /\ ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_table_decoded_previous_code. bcf_height_lucas_low_digit_repeat_successor_normalized_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_repeat_successor_normalized_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table)) * bcf_row_code_scale_lucas_low_digit_repeat_successor_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_repeat_successor_normalized = bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table)) * bcf_row_code_scale_lucas_low_digit_repeat_successor_normalized) + (bcf_previous_code_lucas_low_digit_repeat_successor_normalized_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_table_decoded_previous_scale. bcf_height_lucas_low_digit_repeat_successor_normalized_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_repeat_successor_normalized_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_successor_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_repeat_successor_normalized = bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_successor_normalized) + (bcf_previous_scale_lucas_low_digit_repeat_successor_normalized_table))) /\ (forall bcf_index_lucas_low_digit_repeat_successor_normalized_table_row_step. (exists bcf_lt_gap_lucas_low_digit_repeat_successor_normalized_table_row_step_bound. bcf_lt_gap_lucas_low_digit_repeat_successor_normalized_table_row_step_bound + S (bcf_index_lucas_low_digit_repeat_successor_normalized_table_row_step) = S (p + (p * q + a))) -> exists bcf_value_lucas_low_digit_repeat_successor_normalized_table_row_step. ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_table_row_step_entry. bcf_height_lucas_low_digit_repeat_successor_normalized_table_row_step_entry + S (bcf_value_lucas_low_digit_repeat_successor_normalized_table_row_step) = S ((S (bcf_index_lucas_low_digit_repeat_successor_normalized_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_successor_normalized_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_row_step_entry. bcf_row_code_lucas_low_digit_repeat_successor_normalized_table = bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_repeat_successor_normalized_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_successor_normalized_table) + (bcf_value_lucas_low_digit_repeat_successor_normalized_table_row_step))) /\ ((bcf_index_lucas_low_digit_repeat_successor_normalized_table_row_step = 0 /\ bcf_value_lucas_low_digit_repeat_successor_normalized_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table_row_step bcf_left_lucas_low_digit_repeat_successor_normalized_table_row_step bcf_right_lucas_low_digit_repeat_successor_normalized_table_row_step. bcf_index_lucas_low_digit_repeat_successor_normalized_table_row_step = S bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table_row_step /\ ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_table_row_step_previous_left. bcf_height_lucas_low_digit_repeat_successor_normalized_table_row_step_previous_left + S (bcf_left_lucas_low_digit_repeat_successor_normalized_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_successor_normalized_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_repeat_successor_normalized_table = bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_successor_normalized_table) + (bcf_left_lucas_low_digit_repeat_successor_normalized_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_table_row_step_previous_right. bcf_height_lucas_low_digit_repeat_successor_normalized_table_row_step_previous_right + S (bcf_right_lucas_low_digit_repeat_successor_normalized_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_successor_normalized_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_repeat_successor_normalized_table = bcf_quotient_lucas_low_digit_repeat_successor_normalized_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_repeat_successor_normalized_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_successor_normalized_table) + (bcf_right_lucas_low_digit_repeat_successor_normalized_table_row_step))) /\ bcf_value_lucas_low_digit_repeat_successor_normalized_table_row_step = bcf_left_lucas_low_digit_repeat_successor_normalized_table_row_step + bcf_right_lucas_low_digit_repeat_successor_normalized_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_decoded_row_code. bcf_height_lucas_low_digit_repeat_successor_normalized_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_successor_normalized) = S ((S (p + (p * q + a))) * bcf_row_code_scale_lucas_low_digit_repeat_successor_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_successor_normalized = bcf_quotient_lucas_low_digit_repeat_successor_normalized_decoded_row_code * S ((S (p + (p * q + a))) * bcf_row_code_scale_lucas_low_digit_repeat_successor_normalized) + (bcf_row_code_lucas_low_digit_repeat_successor_normalized))) /\ ((((exists bcf_height_lucas_low_digit_repeat_successor_normalized_decoded_row_scale. bcf_height_lucas_low_digit_repeat_successor_normalized_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_successor_normalized) = S ((S (p + (p * q + a))) * bcf_row_scale_scale_lucas_low_digit_repeat_successor_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_successor_normalized = bcf_quotient_lucas_low_digit_repeat_successor_normalized_decoded_row_scale * S ((S (p + (p * q + a))) * bcf_row_scale_scale_lucas_low_digit_repeat_successor_normalized) + (bcf_row_scale_lucas_low_digit_repeat_successor_normalized))) /\ (((exists bcf_height_lucas_low_digit_repeat_successor_normalized_decoded_value. bcf_height_lucas_low_digit_repeat_successor_normalized_decoded_value + S (C) = S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_successor_normalized)) /\ exists bcf_quotient_lucas_low_digit_repeat_successor_normalized_decoded_value. bcf_row_code_lucas_low_digit_repeat_successor_normalized = bcf_quotient_lucas_low_digit_repeat_successor_normalized_decoded_value * S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_successor_normalized) + (C)))))))) - 0038
specialize choose_upper_eq_transport (p * S q + a) - 0039
specialize choose_upper_eq_transport (p + (p * q + a)) - 0040
specialize choose_upper_eq_transport b - 0041
specialize choose_upper_eq_transport C - 0042
apply choose_upper_eq_transport - 0043
apply lucas_prime_block_successor_reassociation - 0044
exact hupper - 0045
have hmiddle : ∃ D. Choose(p · q + a,b,D)Exact native replay line
have hmiddle : exists D. ((exists bcf_lt_gap_lucas_low_digit_repeat_middle_out_of_range. bcf_lt_gap_lucas_low_digit_repeat_middle_out_of_range + S (p * q + a) = b) /\ D = 0) \/ ((exists bcf_le_gap_lucas_low_digit_repeat_middle_in_range. bcf_le_gap_lucas_low_digit_repeat_middle_in_range + (b) = p * q + a) /\ (exists bcf_row_code_code_lucas_low_digit_repeat_middle bcf_row_code_scale_lucas_low_digit_repeat_middle bcf_row_scale_code_lucas_low_digit_repeat_middle bcf_row_scale_scale_lucas_low_digit_repeat_middle bcf_row_code_lucas_low_digit_repeat_middle bcf_row_scale_lucas_low_digit_repeat_middle. ((forall bcf_row_index_lucas_low_digit_repeat_middle_table. (exists bcf_lt_gap_lucas_low_digit_repeat_middle_table_row_bound. bcf_lt_gap_lucas_low_digit_repeat_middle_table_row_bound + S (bcf_row_index_lucas_low_digit_repeat_middle_table) = S (p * q + a)) -> exists bcf_row_code_lucas_low_digit_repeat_middle_table bcf_row_scale_lucas_low_digit_repeat_middle_table. ((((exists bcf_height_lucas_low_digit_repeat_middle_table_decoded_row_code. bcf_height_lucas_low_digit_repeat_middle_table_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_middle_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_middle_table)) * bcf_row_code_scale_lucas_low_digit_repeat_middle)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_table_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_middle = bcf_quotient_lucas_low_digit_repeat_middle_table_decoded_row_code * S ((S (bcf_row_index_lucas_low_digit_repeat_middle_table)) * bcf_row_code_scale_lucas_low_digit_repeat_middle) + (bcf_row_code_lucas_low_digit_repeat_middle_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_middle_table_decoded_row_scale. bcf_height_lucas_low_digit_repeat_middle_table_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_middle_table) = S ((S (bcf_row_index_lucas_low_digit_repeat_middle_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_middle)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_table_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_middle = bcf_quotient_lucas_low_digit_repeat_middle_table_decoded_row_scale * S ((S (bcf_row_index_lucas_low_digit_repeat_middle_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_middle) + (bcf_row_scale_lucas_low_digit_repeat_middle_table))) /\ ((bcf_row_index_lucas_low_digit_repeat_middle_table = 0 /\ (forall bcf_index_lucas_low_digit_repeat_middle_table_zero_row. (exists bcf_lt_gap_lucas_low_digit_repeat_middle_table_zero_row_bound. bcf_lt_gap_lucas_low_digit_repeat_middle_table_zero_row_bound + S (bcf_index_lucas_low_digit_repeat_middle_table_zero_row) = S (p * q + a)) -> exists bcf_value_lucas_low_digit_repeat_middle_table_zero_row. ((((exists bcf_height_lucas_low_digit_repeat_middle_table_zero_row_entry. bcf_height_lucas_low_digit_repeat_middle_table_zero_row_entry + S (bcf_value_lucas_low_digit_repeat_middle_table_zero_row) = S ((S (bcf_index_lucas_low_digit_repeat_middle_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_middle_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_table_zero_row_entry. bcf_row_code_lucas_low_digit_repeat_middle_table = bcf_quotient_lucas_low_digit_repeat_middle_table_zero_row_entry * S ((S (bcf_index_lucas_low_digit_repeat_middle_table_zero_row)) * bcf_row_scale_lucas_low_digit_repeat_middle_table) + (bcf_value_lucas_low_digit_repeat_middle_table_zero_row))) /\ ((bcf_index_lucas_low_digit_repeat_middle_table_zero_row = 0 /\ bcf_value_lucas_low_digit_repeat_middle_table_zero_row = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_middle_table_zero_row. bcf_index_lucas_low_digit_repeat_middle_table_zero_row = S bcf_predecessor_lucas_low_digit_repeat_middle_table_zero_row /\ bcf_value_lucas_low_digit_repeat_middle_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_low_digit_repeat_middle_table bcf_previous_code_lucas_low_digit_repeat_middle_table bcf_previous_scale_lucas_low_digit_repeat_middle_table. bcf_row_index_lucas_low_digit_repeat_middle_table = S bcf_predecessor_lucas_low_digit_repeat_middle_table /\ ((((exists bcf_height_lucas_low_digit_repeat_middle_table_decoded_previous_code. bcf_height_lucas_low_digit_repeat_middle_table_decoded_previous_code + S (bcf_previous_code_lucas_low_digit_repeat_middle_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_middle_table)) * bcf_row_code_scale_lucas_low_digit_repeat_middle)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_table_decoded_previous_code. bcf_row_code_code_lucas_low_digit_repeat_middle = bcf_quotient_lucas_low_digit_repeat_middle_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_low_digit_repeat_middle_table)) * bcf_row_code_scale_lucas_low_digit_repeat_middle) + (bcf_previous_code_lucas_low_digit_repeat_middle_table))) /\ ((((exists bcf_height_lucas_low_digit_repeat_middle_table_decoded_previous_scale. bcf_height_lucas_low_digit_repeat_middle_table_decoded_previous_scale + S (bcf_previous_scale_lucas_low_digit_repeat_middle_table) = S ((S (bcf_predecessor_lucas_low_digit_repeat_middle_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_middle)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_table_decoded_previous_scale. bcf_row_scale_code_lucas_low_digit_repeat_middle = bcf_quotient_lucas_low_digit_repeat_middle_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_low_digit_repeat_middle_table)) * bcf_row_scale_scale_lucas_low_digit_repeat_middle) + (bcf_previous_scale_lucas_low_digit_repeat_middle_table))) /\ (forall bcf_index_lucas_low_digit_repeat_middle_table_row_step. (exists bcf_lt_gap_lucas_low_digit_repeat_middle_table_row_step_bound. bcf_lt_gap_lucas_low_digit_repeat_middle_table_row_step_bound + S (bcf_index_lucas_low_digit_repeat_middle_table_row_step) = S (p * q + a)) -> exists bcf_value_lucas_low_digit_repeat_middle_table_row_step. ((((exists bcf_height_lucas_low_digit_repeat_middle_table_row_step_entry. bcf_height_lucas_low_digit_repeat_middle_table_row_step_entry + S (bcf_value_lucas_low_digit_repeat_middle_table_row_step) = S ((S (bcf_index_lucas_low_digit_repeat_middle_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_middle_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_table_row_step_entry. bcf_row_code_lucas_low_digit_repeat_middle_table = bcf_quotient_lucas_low_digit_repeat_middle_table_row_step_entry * S ((S (bcf_index_lucas_low_digit_repeat_middle_table_row_step)) * bcf_row_scale_lucas_low_digit_repeat_middle_table) + (bcf_value_lucas_low_digit_repeat_middle_table_row_step))) /\ ((bcf_index_lucas_low_digit_repeat_middle_table_row_step = 0 /\ bcf_value_lucas_low_digit_repeat_middle_table_row_step = 1) \/ exists bcf_predecessor_lucas_low_digit_repeat_middle_table_row_step bcf_left_lucas_low_digit_repeat_middle_table_row_step bcf_right_lucas_low_digit_repeat_middle_table_row_step. bcf_index_lucas_low_digit_repeat_middle_table_row_step = S bcf_predecessor_lucas_low_digit_repeat_middle_table_row_step /\ ((((exists bcf_height_lucas_low_digit_repeat_middle_table_row_step_previous_left. bcf_height_lucas_low_digit_repeat_middle_table_row_step_previous_left + S (bcf_left_lucas_low_digit_repeat_middle_table_row_step) = S ((S (bcf_predecessor_lucas_low_digit_repeat_middle_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_middle_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_table_row_step_previous_left. bcf_previous_code_lucas_low_digit_repeat_middle_table = bcf_quotient_lucas_low_digit_repeat_middle_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_low_digit_repeat_middle_table_row_step)) * bcf_previous_scale_lucas_low_digit_repeat_middle_table) + (bcf_left_lucas_low_digit_repeat_middle_table_row_step))) /\ ((((exists bcf_height_lucas_low_digit_repeat_middle_table_row_step_previous_right. bcf_height_lucas_low_digit_repeat_middle_table_row_step_previous_right + S (bcf_right_lucas_low_digit_repeat_middle_table_row_step) = S ((S (S (bcf_predecessor_lucas_low_digit_repeat_middle_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_middle_table)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_table_row_step_previous_right. bcf_previous_code_lucas_low_digit_repeat_middle_table = bcf_quotient_lucas_low_digit_repeat_middle_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_low_digit_repeat_middle_table_row_step))) * bcf_previous_scale_lucas_low_digit_repeat_middle_table) + (bcf_right_lucas_low_digit_repeat_middle_table_row_step))) /\ bcf_value_lucas_low_digit_repeat_middle_table_row_step = bcf_left_lucas_low_digit_repeat_middle_table_row_step + bcf_right_lucas_low_digit_repeat_middle_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_low_digit_repeat_middle_decoded_row_code. bcf_height_lucas_low_digit_repeat_middle_decoded_row_code + S (bcf_row_code_lucas_low_digit_repeat_middle) = S ((S (p * q + a)) * bcf_row_code_scale_lucas_low_digit_repeat_middle)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_decoded_row_code. bcf_row_code_code_lucas_low_digit_repeat_middle = bcf_quotient_lucas_low_digit_repeat_middle_decoded_row_code * S ((S (p * q + a)) * bcf_row_code_scale_lucas_low_digit_repeat_middle) + (bcf_row_code_lucas_low_digit_repeat_middle))) /\ ((((exists bcf_height_lucas_low_digit_repeat_middle_decoded_row_scale. bcf_height_lucas_low_digit_repeat_middle_decoded_row_scale + S (bcf_row_scale_lucas_low_digit_repeat_middle) = S ((S (p * q + a)) * bcf_row_scale_scale_lucas_low_digit_repeat_middle)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_decoded_row_scale. bcf_row_scale_code_lucas_low_digit_repeat_middle = bcf_quotient_lucas_low_digit_repeat_middle_decoded_row_scale * S ((S (p * q + a)) * bcf_row_scale_scale_lucas_low_digit_repeat_middle) + (bcf_row_scale_lucas_low_digit_repeat_middle))) /\ (((exists bcf_height_lucas_low_digit_repeat_middle_decoded_value. bcf_height_lucas_low_digit_repeat_middle_decoded_value + S (D) = S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_middle)) /\ exists bcf_quotient_lucas_low_digit_repeat_middle_decoded_value. bcf_row_code_lucas_low_digit_repeat_middle = bcf_quotient_lucas_low_digit_repeat_middle_decoded_value * S ((S (b)) * bcf_row_scale_lucas_low_digit_repeat_middle) + (D)))))))) - 0046
apply choose_exists - 0047
cases hmiddle - 0048
have hshift : ModEq(p,C,x)Exact native replay line
have hshift : exists lld_left_repeat_shift lld_right_repeat_shift. (C) + (p) * lld_left_repeat_shift = (x) + (p) * lld_right_repeat_shift - 0049
specialize lucas_prime_shift_below_base p - 0050
specialize lucas_prime_shift_below_base (p * q + a) - 0051
specialize lucas_prime_shift_below_base b - 0052
specialize lucas_prime_shift_below_base C - 0053
specialize lucas_prime_shift_below_base x - 0054
apply lucas_prime_shift_below_base - 0055
exact hprime - 0056
exact hbound - 0057
exact hnormalized - 0058
exact hmiddle_witness - 0059
have hremaining : ModEq(p,x,D)Exact native replay line
have hremaining : exists lld_left_repeat_remaining lld_right_repeat_remaining. (x) + (p) * lld_left_repeat_remaining = (D) + (p) * lld_right_repeat_remaining - 0060
specialize IH a - 0061
specialize IH b - 0062
specialize IH x - 0063
specialize IH D - 0064
apply IH - 0065
exact hprime - 0066
exact hbound - 0067
exact hmiddle_witness - 0068
exact hlower - 0069
specialize mod_eq_trans p - 0070
specialize mod_eq_trans C - 0071
specialize mod_eq_trans x - 0072
specialize mod_eq_trans D - 0073
apply mod_eq_trans - 0074
exact hshift - 0075
exact hremaining