LU000I · theorem body

lucas_prime_row_sparse_complete

dependency-curried kernel-checked candidate body; not enrolled in Alpha or Stable

Every prime Pascal row has exact boundary coefficients one and every interior coefficient divisible by its prime modulus.

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. ∀ k. ∀ j. ∀ C. ∀ C0. ∀ Cp. Prime(p) → k + j = p → Lt(k,p)Lt(j,p)Choose(p,0,C0)Choose(p,p,Cp)Choose(p,k,C) → C0 = 1 ∧ (Cp = 1 ∧ Dvd(p,C))

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

none
Exact expanded first-order statement
forall p k j C C0 Cp. ((~(p = 1) /\ forall frm_prime_left_lucas_row_prime frm_prime_right_lucas_row_prime. p = frm_prime_left_lucas_row_prime * frm_prime_right_lucas_row_prime -> frm_prime_left_lucas_row_prime = 1 \/ frm_prime_right_lucas_row_prime = 1)) -> k + j = p -> (exists ldc_lt_row_left. ldc_lt_row_left + S (k) = p) -> (exists ldc_lt_row_right. ldc_lt_row_right + S (j) = p) -> (((exists bcf_lt_gap_lucas_row_initial_out_of_range. bcf_lt_gap_lucas_row_initial_out_of_range + S (p) = 0) /\ C0 = 0) \/ ((exists bcf_le_gap_lucas_row_initial_in_range. bcf_le_gap_lucas_row_initial_in_range + (0) = p) /\ (exists bcf_row_code_code_lucas_row_initial bcf_row_code_scale_lucas_row_initial bcf_row_scale_code_lucas_row_initial bcf_row_scale_scale_lucas_row_initial bcf_row_code_lucas_row_initial bcf_row_scale_lucas_row_initial. ((forall bcf_row_index_lucas_row_initial_table. (exists bcf_lt_gap_lucas_row_initial_table_row_bound. bcf_lt_gap_lucas_row_initial_table_row_bound + S (bcf_row_index_lucas_row_initial_table) = S (p)) -> exists bcf_row_code_lucas_row_initial_table bcf_row_scale_lucas_row_initial_table. ((((exists bcf_height_lucas_row_initial_table_decoded_row_code. bcf_height_lucas_row_initial_table_decoded_row_code + S (bcf_row_code_lucas_row_initial_table) = S ((S (bcf_row_index_lucas_row_initial_table)) * bcf_row_code_scale_lucas_row_initial)) /\ exists bcf_quotient_lucas_row_initial_table_decoded_row_code. bcf_row_code_code_lucas_row_initial = bcf_quotient_lucas_row_initial_table_decoded_row_code * S ((S (bcf_row_index_lucas_row_initial_table)) * bcf_row_code_scale_lucas_row_initial) + (bcf_row_code_lucas_row_initial_table))) /\ ((((exists bcf_height_lucas_row_initial_table_decoded_row_scale. bcf_height_lucas_row_initial_table_decoded_row_scale + S (bcf_row_scale_lucas_row_initial_table) = S ((S (bcf_row_index_lucas_row_initial_table)) * bcf_row_scale_scale_lucas_row_initial)) /\ exists bcf_quotient_lucas_row_initial_table_decoded_row_scale. bcf_row_scale_code_lucas_row_initial = bcf_quotient_lucas_row_initial_table_decoded_row_scale * S ((S (bcf_row_index_lucas_row_initial_table)) * bcf_row_scale_scale_lucas_row_initial) + (bcf_row_scale_lucas_row_initial_table))) /\ ((bcf_row_index_lucas_row_initial_table = 0 /\ (forall bcf_index_lucas_row_initial_table_zero_row. (exists bcf_lt_gap_lucas_row_initial_table_zero_row_bound. bcf_lt_gap_lucas_row_initial_table_zero_row_bound + S (bcf_index_lucas_row_initial_table_zero_row) = S (p)) -> exists bcf_value_lucas_row_initial_table_zero_row. ((((exists bcf_height_lucas_row_initial_table_zero_row_entry. bcf_height_lucas_row_initial_table_zero_row_entry + S (bcf_value_lucas_row_initial_table_zero_row) = S ((S (bcf_index_lucas_row_initial_table_zero_row)) * bcf_row_scale_lucas_row_initial_table)) /\ exists bcf_quotient_lucas_row_initial_table_zero_row_entry. bcf_row_code_lucas_row_initial_table = bcf_quotient_lucas_row_initial_table_zero_row_entry * S ((S (bcf_index_lucas_row_initial_table_zero_row)) * bcf_row_scale_lucas_row_initial_table) + (bcf_value_lucas_row_initial_table_zero_row))) /\ ((bcf_index_lucas_row_initial_table_zero_row = 0 /\ bcf_value_lucas_row_initial_table_zero_row = 1) \/ exists bcf_predecessor_lucas_row_initial_table_zero_row. bcf_index_lucas_row_initial_table_zero_row = S bcf_predecessor_lucas_row_initial_table_zero_row /\ bcf_value_lucas_row_initial_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_row_initial_table bcf_previous_code_lucas_row_initial_table bcf_previous_scale_lucas_row_initial_table. bcf_row_index_lucas_row_initial_table = S bcf_predecessor_lucas_row_initial_table /\ ((((exists bcf_height_lucas_row_initial_table_decoded_previous_code. bcf_height_lucas_row_initial_table_decoded_previous_code + S (bcf_previous_code_lucas_row_initial_table) = S ((S (bcf_predecessor_lucas_row_initial_table)) * bcf_row_code_scale_lucas_row_initial)) /\ exists bcf_quotient_lucas_row_initial_table_decoded_previous_code. bcf_row_code_code_lucas_row_initial = bcf_quotient_lucas_row_initial_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_row_initial_table)) * bcf_row_code_scale_lucas_row_initial) + (bcf_previous_code_lucas_row_initial_table))) /\ ((((exists bcf_height_lucas_row_initial_table_decoded_previous_scale. bcf_height_lucas_row_initial_table_decoded_previous_scale + S (bcf_previous_scale_lucas_row_initial_table) = S ((S (bcf_predecessor_lucas_row_initial_table)) * bcf_row_scale_scale_lucas_row_initial)) /\ exists bcf_quotient_lucas_row_initial_table_decoded_previous_scale. bcf_row_scale_code_lucas_row_initial = bcf_quotient_lucas_row_initial_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_row_initial_table)) * bcf_row_scale_scale_lucas_row_initial) + (bcf_previous_scale_lucas_row_initial_table))) /\ (forall bcf_index_lucas_row_initial_table_row_step. (exists bcf_lt_gap_lucas_row_initial_table_row_step_bound. bcf_lt_gap_lucas_row_initial_table_row_step_bound + S (bcf_index_lucas_row_initial_table_row_step) = S (p)) -> exists bcf_value_lucas_row_initial_table_row_step. ((((exists bcf_height_lucas_row_initial_table_row_step_entry. bcf_height_lucas_row_initial_table_row_step_entry + S (bcf_value_lucas_row_initial_table_row_step) = S ((S (bcf_index_lucas_row_initial_table_row_step)) * bcf_row_scale_lucas_row_initial_table)) /\ exists bcf_quotient_lucas_row_initial_table_row_step_entry. bcf_row_code_lucas_row_initial_table = bcf_quotient_lucas_row_initial_table_row_step_entry * S ((S (bcf_index_lucas_row_initial_table_row_step)) * bcf_row_scale_lucas_row_initial_table) + (bcf_value_lucas_row_initial_table_row_step))) /\ ((bcf_index_lucas_row_initial_table_row_step = 0 /\ bcf_value_lucas_row_initial_table_row_step = 1) \/ exists bcf_predecessor_lucas_row_initial_table_row_step bcf_left_lucas_row_initial_table_row_step bcf_right_lucas_row_initial_table_row_step. bcf_index_lucas_row_initial_table_row_step = S bcf_predecessor_lucas_row_initial_table_row_step /\ ((((exists bcf_height_lucas_row_initial_table_row_step_previous_left. bcf_height_lucas_row_initial_table_row_step_previous_left + S (bcf_left_lucas_row_initial_table_row_step) = S ((S (bcf_predecessor_lucas_row_initial_table_row_step)) * bcf_previous_scale_lucas_row_initial_table)) /\ exists bcf_quotient_lucas_row_initial_table_row_step_previous_left. bcf_previous_code_lucas_row_initial_table = bcf_quotient_lucas_row_initial_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_row_initial_table_row_step)) * bcf_previous_scale_lucas_row_initial_table) + (bcf_left_lucas_row_initial_table_row_step))) /\ ((((exists bcf_height_lucas_row_initial_table_row_step_previous_right. bcf_height_lucas_row_initial_table_row_step_previous_right + S (bcf_right_lucas_row_initial_table_row_step) = S ((S (S (bcf_predecessor_lucas_row_initial_table_row_step))) * bcf_previous_scale_lucas_row_initial_table)) /\ exists bcf_quotient_lucas_row_initial_table_row_step_previous_right. bcf_previous_code_lucas_row_initial_table = bcf_quotient_lucas_row_initial_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_row_initial_table_row_step))) * bcf_previous_scale_lucas_row_initial_table) + (bcf_right_lucas_row_initial_table_row_step))) /\ bcf_value_lucas_row_initial_table_row_step = bcf_left_lucas_row_initial_table_row_step + bcf_right_lucas_row_initial_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_row_initial_decoded_row_code. bcf_height_lucas_row_initial_decoded_row_code + S (bcf_row_code_lucas_row_initial) = S ((S (p)) * bcf_row_code_scale_lucas_row_initial)) /\ exists bcf_quotient_lucas_row_initial_decoded_row_code. bcf_row_code_code_lucas_row_initial = bcf_quotient_lucas_row_initial_decoded_row_code * S ((S (p)) * bcf_row_code_scale_lucas_row_initial) + (bcf_row_code_lucas_row_initial))) /\ ((((exists bcf_height_lucas_row_initial_decoded_row_scale. bcf_height_lucas_row_initial_decoded_row_scale + S (bcf_row_scale_lucas_row_initial) = S ((S (p)) * bcf_row_scale_scale_lucas_row_initial)) /\ exists bcf_quotient_lucas_row_initial_decoded_row_scale. bcf_row_scale_code_lucas_row_initial = bcf_quotient_lucas_row_initial_decoded_row_scale * S ((S (p)) * bcf_row_scale_scale_lucas_row_initial) + (bcf_row_scale_lucas_row_initial))) /\ (((exists bcf_height_lucas_row_initial_decoded_value. bcf_height_lucas_row_initial_decoded_value + S (C0) = S ((S (0)) * bcf_row_scale_lucas_row_initial)) /\ exists bcf_quotient_lucas_row_initial_decoded_value. bcf_row_code_lucas_row_initial = bcf_quotient_lucas_row_initial_decoded_value * S ((S (0)) * bcf_row_scale_lucas_row_initial) + (C0))))))))) -> (((exists bcf_lt_gap_lucas_row_terminal_out_of_range. bcf_lt_gap_lucas_row_terminal_out_of_range + S (p) = p) /\ Cp = 0) \/ ((exists bcf_le_gap_lucas_row_terminal_in_range. bcf_le_gap_lucas_row_terminal_in_range + (p) = p) /\ (exists bcf_row_code_code_lucas_row_terminal bcf_row_code_scale_lucas_row_terminal bcf_row_scale_code_lucas_row_terminal bcf_row_scale_scale_lucas_row_terminal bcf_row_code_lucas_row_terminal bcf_row_scale_lucas_row_terminal. ((forall bcf_row_index_lucas_row_terminal_table. (exists bcf_lt_gap_lucas_row_terminal_table_row_bound. bcf_lt_gap_lucas_row_terminal_table_row_bound + S (bcf_row_index_lucas_row_terminal_table) = S (p)) -> exists bcf_row_code_lucas_row_terminal_table bcf_row_scale_lucas_row_terminal_table. ((((exists bcf_height_lucas_row_terminal_table_decoded_row_code. bcf_height_lucas_row_terminal_table_decoded_row_code + S (bcf_row_code_lucas_row_terminal_table) = S ((S (bcf_row_index_lucas_row_terminal_table)) * bcf_row_code_scale_lucas_row_terminal)) /\ exists bcf_quotient_lucas_row_terminal_table_decoded_row_code. bcf_row_code_code_lucas_row_terminal = bcf_quotient_lucas_row_terminal_table_decoded_row_code * S ((S (bcf_row_index_lucas_row_terminal_table)) * bcf_row_code_scale_lucas_row_terminal) + (bcf_row_code_lucas_row_terminal_table))) /\ ((((exists bcf_height_lucas_row_terminal_table_decoded_row_scale. bcf_height_lucas_row_terminal_table_decoded_row_scale + S (bcf_row_scale_lucas_row_terminal_table) = S ((S (bcf_row_index_lucas_row_terminal_table)) * bcf_row_scale_scale_lucas_row_terminal)) /\ exists bcf_quotient_lucas_row_terminal_table_decoded_row_scale. bcf_row_scale_code_lucas_row_terminal = bcf_quotient_lucas_row_terminal_table_decoded_row_scale * S ((S (bcf_row_index_lucas_row_terminal_table)) * bcf_row_scale_scale_lucas_row_terminal) + (bcf_row_scale_lucas_row_terminal_table))) /\ ((bcf_row_index_lucas_row_terminal_table = 0 /\ (forall bcf_index_lucas_row_terminal_table_zero_row. (exists bcf_lt_gap_lucas_row_terminal_table_zero_row_bound. bcf_lt_gap_lucas_row_terminal_table_zero_row_bound + S (bcf_index_lucas_row_terminal_table_zero_row) = S (p)) -> exists bcf_value_lucas_row_terminal_table_zero_row. ((((exists bcf_height_lucas_row_terminal_table_zero_row_entry. bcf_height_lucas_row_terminal_table_zero_row_entry + S (bcf_value_lucas_row_terminal_table_zero_row) = S ((S (bcf_index_lucas_row_terminal_table_zero_row)) * bcf_row_scale_lucas_row_terminal_table)) /\ exists bcf_quotient_lucas_row_terminal_table_zero_row_entry. bcf_row_code_lucas_row_terminal_table = bcf_quotient_lucas_row_terminal_table_zero_row_entry * S ((S (bcf_index_lucas_row_terminal_table_zero_row)) * bcf_row_scale_lucas_row_terminal_table) + (bcf_value_lucas_row_terminal_table_zero_row))) /\ ((bcf_index_lucas_row_terminal_table_zero_row = 0 /\ bcf_value_lucas_row_terminal_table_zero_row = 1) \/ exists bcf_predecessor_lucas_row_terminal_table_zero_row. bcf_index_lucas_row_terminal_table_zero_row = S bcf_predecessor_lucas_row_terminal_table_zero_row /\ bcf_value_lucas_row_terminal_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_row_terminal_table bcf_previous_code_lucas_row_terminal_table bcf_previous_scale_lucas_row_terminal_table. bcf_row_index_lucas_row_terminal_table = S bcf_predecessor_lucas_row_terminal_table /\ ((((exists bcf_height_lucas_row_terminal_table_decoded_previous_code. bcf_height_lucas_row_terminal_table_decoded_previous_code + S (bcf_previous_code_lucas_row_terminal_table) = S ((S (bcf_predecessor_lucas_row_terminal_table)) * bcf_row_code_scale_lucas_row_terminal)) /\ exists bcf_quotient_lucas_row_terminal_table_decoded_previous_code. bcf_row_code_code_lucas_row_terminal = bcf_quotient_lucas_row_terminal_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_row_terminal_table)) * bcf_row_code_scale_lucas_row_terminal) + (bcf_previous_code_lucas_row_terminal_table))) /\ ((((exists bcf_height_lucas_row_terminal_table_decoded_previous_scale. bcf_height_lucas_row_terminal_table_decoded_previous_scale + S (bcf_previous_scale_lucas_row_terminal_table) = S ((S (bcf_predecessor_lucas_row_terminal_table)) * bcf_row_scale_scale_lucas_row_terminal)) /\ exists bcf_quotient_lucas_row_terminal_table_decoded_previous_scale. bcf_row_scale_code_lucas_row_terminal = bcf_quotient_lucas_row_terminal_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_row_terminal_table)) * bcf_row_scale_scale_lucas_row_terminal) + (bcf_previous_scale_lucas_row_terminal_table))) /\ (forall bcf_index_lucas_row_terminal_table_row_step. (exists bcf_lt_gap_lucas_row_terminal_table_row_step_bound. bcf_lt_gap_lucas_row_terminal_table_row_step_bound + S (bcf_index_lucas_row_terminal_table_row_step) = S (p)) -> exists bcf_value_lucas_row_terminal_table_row_step. ((((exists bcf_height_lucas_row_terminal_table_row_step_entry. bcf_height_lucas_row_terminal_table_row_step_entry + S (bcf_value_lucas_row_terminal_table_row_step) = S ((S (bcf_index_lucas_row_terminal_table_row_step)) * bcf_row_scale_lucas_row_terminal_table)) /\ exists bcf_quotient_lucas_row_terminal_table_row_step_entry. bcf_row_code_lucas_row_terminal_table = bcf_quotient_lucas_row_terminal_table_row_step_entry * S ((S (bcf_index_lucas_row_terminal_table_row_step)) * bcf_row_scale_lucas_row_terminal_table) + (bcf_value_lucas_row_terminal_table_row_step))) /\ ((bcf_index_lucas_row_terminal_table_row_step = 0 /\ bcf_value_lucas_row_terminal_table_row_step = 1) \/ exists bcf_predecessor_lucas_row_terminal_table_row_step bcf_left_lucas_row_terminal_table_row_step bcf_right_lucas_row_terminal_table_row_step. bcf_index_lucas_row_terminal_table_row_step = S bcf_predecessor_lucas_row_terminal_table_row_step /\ ((((exists bcf_height_lucas_row_terminal_table_row_step_previous_left. bcf_height_lucas_row_terminal_table_row_step_previous_left + S (bcf_left_lucas_row_terminal_table_row_step) = S ((S (bcf_predecessor_lucas_row_terminal_table_row_step)) * bcf_previous_scale_lucas_row_terminal_table)) /\ exists bcf_quotient_lucas_row_terminal_table_row_step_previous_left. bcf_previous_code_lucas_row_terminal_table = bcf_quotient_lucas_row_terminal_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_row_terminal_table_row_step)) * bcf_previous_scale_lucas_row_terminal_table) + (bcf_left_lucas_row_terminal_table_row_step))) /\ ((((exists bcf_height_lucas_row_terminal_table_row_step_previous_right. bcf_height_lucas_row_terminal_table_row_step_previous_right + S (bcf_right_lucas_row_terminal_table_row_step) = S ((S (S (bcf_predecessor_lucas_row_terminal_table_row_step))) * bcf_previous_scale_lucas_row_terminal_table)) /\ exists bcf_quotient_lucas_row_terminal_table_row_step_previous_right. bcf_previous_code_lucas_row_terminal_table = bcf_quotient_lucas_row_terminal_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_row_terminal_table_row_step))) * bcf_previous_scale_lucas_row_terminal_table) + (bcf_right_lucas_row_terminal_table_row_step))) /\ bcf_value_lucas_row_terminal_table_row_step = bcf_left_lucas_row_terminal_table_row_step + bcf_right_lucas_row_terminal_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_row_terminal_decoded_row_code. bcf_height_lucas_row_terminal_decoded_row_code + S (bcf_row_code_lucas_row_terminal) = S ((S (p)) * bcf_row_code_scale_lucas_row_terminal)) /\ exists bcf_quotient_lucas_row_terminal_decoded_row_code. bcf_row_code_code_lucas_row_terminal = bcf_quotient_lucas_row_terminal_decoded_row_code * S ((S (p)) * bcf_row_code_scale_lucas_row_terminal) + (bcf_row_code_lucas_row_terminal))) /\ ((((exists bcf_height_lucas_row_terminal_decoded_row_scale. bcf_height_lucas_row_terminal_decoded_row_scale + S (bcf_row_scale_lucas_row_terminal) = S ((S (p)) * bcf_row_scale_scale_lucas_row_terminal)) /\ exists bcf_quotient_lucas_row_terminal_decoded_row_scale. bcf_row_scale_code_lucas_row_terminal = bcf_quotient_lucas_row_terminal_decoded_row_scale * S ((S (p)) * bcf_row_scale_scale_lucas_row_terminal) + (bcf_row_scale_lucas_row_terminal))) /\ (((exists bcf_height_lucas_row_terminal_decoded_value. bcf_height_lucas_row_terminal_decoded_value + S (Cp) = S ((S (p)) * bcf_row_scale_lucas_row_terminal)) /\ exists bcf_quotient_lucas_row_terminal_decoded_value. bcf_row_code_lucas_row_terminal = bcf_quotient_lucas_row_terminal_decoded_value * S ((S (p)) * bcf_row_scale_lucas_row_terminal) + (Cp))))))))) -> (((exists bcf_lt_gap_lucas_row_choose_out_of_range. bcf_lt_gap_lucas_row_choose_out_of_range + S (p) = k) /\ C = 0) \/ ((exists bcf_le_gap_lucas_row_choose_in_range. bcf_le_gap_lucas_row_choose_in_range + (k) = p) /\ (exists bcf_row_code_code_lucas_row_choose bcf_row_code_scale_lucas_row_choose bcf_row_scale_code_lucas_row_choose bcf_row_scale_scale_lucas_row_choose bcf_row_code_lucas_row_choose bcf_row_scale_lucas_row_choose. ((forall bcf_row_index_lucas_row_choose_table. (exists bcf_lt_gap_lucas_row_choose_table_row_bound. bcf_lt_gap_lucas_row_choose_table_row_bound + S (bcf_row_index_lucas_row_choose_table) = S (p)) -> exists bcf_row_code_lucas_row_choose_table bcf_row_scale_lucas_row_choose_table. ((((exists bcf_height_lucas_row_choose_table_decoded_row_code. bcf_height_lucas_row_choose_table_decoded_row_code + S (bcf_row_code_lucas_row_choose_table) = S ((S (bcf_row_index_lucas_row_choose_table)) * bcf_row_code_scale_lucas_row_choose)) /\ exists bcf_quotient_lucas_row_choose_table_decoded_row_code. bcf_row_code_code_lucas_row_choose = bcf_quotient_lucas_row_choose_table_decoded_row_code * S ((S (bcf_row_index_lucas_row_choose_table)) * bcf_row_code_scale_lucas_row_choose) + (bcf_row_code_lucas_row_choose_table))) /\ ((((exists bcf_height_lucas_row_choose_table_decoded_row_scale. bcf_height_lucas_row_choose_table_decoded_row_scale + S (bcf_row_scale_lucas_row_choose_table) = S ((S (bcf_row_index_lucas_row_choose_table)) * bcf_row_scale_scale_lucas_row_choose)) /\ exists bcf_quotient_lucas_row_choose_table_decoded_row_scale. bcf_row_scale_code_lucas_row_choose = bcf_quotient_lucas_row_choose_table_decoded_row_scale * S ((S (bcf_row_index_lucas_row_choose_table)) * bcf_row_scale_scale_lucas_row_choose) + (bcf_row_scale_lucas_row_choose_table))) /\ ((bcf_row_index_lucas_row_choose_table = 0 /\ (forall bcf_index_lucas_row_choose_table_zero_row. (exists bcf_lt_gap_lucas_row_choose_table_zero_row_bound. bcf_lt_gap_lucas_row_choose_table_zero_row_bound + S (bcf_index_lucas_row_choose_table_zero_row) = S (p)) -> exists bcf_value_lucas_row_choose_table_zero_row. ((((exists bcf_height_lucas_row_choose_table_zero_row_entry. bcf_height_lucas_row_choose_table_zero_row_entry + S (bcf_value_lucas_row_choose_table_zero_row) = S ((S (bcf_index_lucas_row_choose_table_zero_row)) * bcf_row_scale_lucas_row_choose_table)) /\ exists bcf_quotient_lucas_row_choose_table_zero_row_entry. bcf_row_code_lucas_row_choose_table = bcf_quotient_lucas_row_choose_table_zero_row_entry * S ((S (bcf_index_lucas_row_choose_table_zero_row)) * bcf_row_scale_lucas_row_choose_table) + (bcf_value_lucas_row_choose_table_zero_row))) /\ ((bcf_index_lucas_row_choose_table_zero_row = 0 /\ bcf_value_lucas_row_choose_table_zero_row = 1) \/ exists bcf_predecessor_lucas_row_choose_table_zero_row. bcf_index_lucas_row_choose_table_zero_row = S bcf_predecessor_lucas_row_choose_table_zero_row /\ bcf_value_lucas_row_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_row_choose_table bcf_previous_code_lucas_row_choose_table bcf_previous_scale_lucas_row_choose_table. bcf_row_index_lucas_row_choose_table = S bcf_predecessor_lucas_row_choose_table /\ ((((exists bcf_height_lucas_row_choose_table_decoded_previous_code. bcf_height_lucas_row_choose_table_decoded_previous_code + S (bcf_previous_code_lucas_row_choose_table) = S ((S (bcf_predecessor_lucas_row_choose_table)) * bcf_row_code_scale_lucas_row_choose)) /\ exists bcf_quotient_lucas_row_choose_table_decoded_previous_code. bcf_row_code_code_lucas_row_choose = bcf_quotient_lucas_row_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_row_choose_table)) * bcf_row_code_scale_lucas_row_choose) + (bcf_previous_code_lucas_row_choose_table))) /\ ((((exists bcf_height_lucas_row_choose_table_decoded_previous_scale. bcf_height_lucas_row_choose_table_decoded_previous_scale + S (bcf_previous_scale_lucas_row_choose_table) = S ((S (bcf_predecessor_lucas_row_choose_table)) * bcf_row_scale_scale_lucas_row_choose)) /\ exists bcf_quotient_lucas_row_choose_table_decoded_previous_scale. bcf_row_scale_code_lucas_row_choose = bcf_quotient_lucas_row_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_row_choose_table)) * bcf_row_scale_scale_lucas_row_choose) + (bcf_previous_scale_lucas_row_choose_table))) /\ (forall bcf_index_lucas_row_choose_table_row_step. (exists bcf_lt_gap_lucas_row_choose_table_row_step_bound. bcf_lt_gap_lucas_row_choose_table_row_step_bound + S (bcf_index_lucas_row_choose_table_row_step) = S (p)) -> exists bcf_value_lucas_row_choose_table_row_step. ((((exists bcf_height_lucas_row_choose_table_row_step_entry. bcf_height_lucas_row_choose_table_row_step_entry + S (bcf_value_lucas_row_choose_table_row_step) = S ((S (bcf_index_lucas_row_choose_table_row_step)) * bcf_row_scale_lucas_row_choose_table)) /\ exists bcf_quotient_lucas_row_choose_table_row_step_entry. bcf_row_code_lucas_row_choose_table = bcf_quotient_lucas_row_choose_table_row_step_entry * S ((S (bcf_index_lucas_row_choose_table_row_step)) * bcf_row_scale_lucas_row_choose_table) + (bcf_value_lucas_row_choose_table_row_step))) /\ ((bcf_index_lucas_row_choose_table_row_step = 0 /\ bcf_value_lucas_row_choose_table_row_step = 1) \/ exists bcf_predecessor_lucas_row_choose_table_row_step bcf_left_lucas_row_choose_table_row_step bcf_right_lucas_row_choose_table_row_step. bcf_index_lucas_row_choose_table_row_step = S bcf_predecessor_lucas_row_choose_table_row_step /\ ((((exists bcf_height_lucas_row_choose_table_row_step_previous_left. bcf_height_lucas_row_choose_table_row_step_previous_left + S (bcf_left_lucas_row_choose_table_row_step) = S ((S (bcf_predecessor_lucas_row_choose_table_row_step)) * bcf_previous_scale_lucas_row_choose_table)) /\ exists bcf_quotient_lucas_row_choose_table_row_step_previous_left. bcf_previous_code_lucas_row_choose_table = bcf_quotient_lucas_row_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_row_choose_table_row_step)) * bcf_previous_scale_lucas_row_choose_table) + (bcf_left_lucas_row_choose_table_row_step))) /\ ((((exists bcf_height_lucas_row_choose_table_row_step_previous_right. bcf_height_lucas_row_choose_table_row_step_previous_right + S (bcf_right_lucas_row_choose_table_row_step) = S ((S (S (bcf_predecessor_lucas_row_choose_table_row_step))) * bcf_previous_scale_lucas_row_choose_table)) /\ exists bcf_quotient_lucas_row_choose_table_row_step_previous_right. bcf_previous_code_lucas_row_choose_table = bcf_quotient_lucas_row_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_row_choose_table_row_step))) * bcf_previous_scale_lucas_row_choose_table) + (bcf_right_lucas_row_choose_table_row_step))) /\ bcf_value_lucas_row_choose_table_row_step = bcf_left_lucas_row_choose_table_row_step + bcf_right_lucas_row_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_row_choose_decoded_row_code. bcf_height_lucas_row_choose_decoded_row_code + S (bcf_row_code_lucas_row_choose) = S ((S (p)) * bcf_row_code_scale_lucas_row_choose)) /\ exists bcf_quotient_lucas_row_choose_decoded_row_code. bcf_row_code_code_lucas_row_choose = bcf_quotient_lucas_row_choose_decoded_row_code * S ((S (p)) * bcf_row_code_scale_lucas_row_choose) + (bcf_row_code_lucas_row_choose))) /\ ((((exists bcf_height_lucas_row_choose_decoded_row_scale. bcf_height_lucas_row_choose_decoded_row_scale + S (bcf_row_scale_lucas_row_choose) = S ((S (p)) * bcf_row_scale_scale_lucas_row_choose)) /\ exists bcf_quotient_lucas_row_choose_decoded_row_scale. bcf_row_scale_code_lucas_row_choose = bcf_quotient_lucas_row_choose_decoded_row_scale * S ((S (p)) * bcf_row_scale_scale_lucas_row_choose) + (bcf_row_scale_lucas_row_choose))) /\ (((exists bcf_height_lucas_row_choose_decoded_value. bcf_height_lucas_row_choose_decoded_value + S (C) = S ((S (k)) * bcf_row_scale_lucas_row_choose)) /\ exists bcf_quotient_lucas_row_choose_decoded_value. bcf_row_code_lucas_row_choose = bcf_quotient_lucas_row_choose_decoded_value * S ((S (k)) * bcf_row_scale_lucas_row_choose) + (C))))))))) -> ((C0 = S (0)) /\ ((Cp = S (0)) /\ (exists ldc_quotient_row. C = p * ldc_quotient_row)))

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

none

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

33 script commands · 7 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.

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

Named ingredients (3)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro k
  3. L3
    intro j
  4. L4
    intro C
  5. L5
    intro C0
  6. L6
    intro Cp
  7. L7
    intro hprime
  8. L8
    intro hsum
  9. L9
    intro hk
  10. L10
    intro hj
02Fix variables and assumptionsL11–13

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

  1. L11
    intro hinitial
  2. L12
    intro hterminal
  3. L13
    intro hinterior
03Separate the logical casesL14–14

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

  1. L14
    split
04Use earlier factsL15–18

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

  1. L15
    specialize lucas_prime_row_initial_coefficient_one p
  2. L16
    specialize lucas_prime_row_initial_coefficient_one C0
  3. L17
    apply lucas_prime_row_initial_coefficient_one
  4. L18
    exact hinitial
05Separate the logical casesL19–19

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

  1. L19
    split
06Use earlier factsL20–29

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

  1. L20
    specialize lucas_prime_row_terminal_coefficient_one p
  2. L21
    specialize lucas_prime_row_terminal_coefficient_one Cp
  3. L22
    apply lucas_prime_row_terminal_coefficient_one
  4. L23
    exact hterminal
  5. L24
    specialize lucas_prime_row_interior_divisible p
  6. L25
    specialize lucas_prime_row_interior_divisible k
  7. L26
    specialize lucas_prime_row_interior_divisible j
  8. L27
    specialize lucas_prime_row_interior_divisible C
  9. L28
    apply lucas_prime_row_interior_divisible
  10. L29
    exact hprime
07Use earlier factsL30–33

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

  1. L30
    exact hsum
  2. L31
    exact hk
  3. L32
    exact hj
  4. L33
    exact hinterior

Library-wide reading audit

Original defined command ledger · 33 lines
  1. 0001intro p
  2. 0002intro k
  3. 0003intro j
  4. 0004intro C
  5. 0005intro C0
  6. 0006intro Cp
  7. 0007intro hprime
  8. 0008intro hsum
  9. 0009intro hk
  10. 0010intro hj
  11. 0011intro hinitial
  12. 0012intro hterminal
  13. 0013intro hinterior
  14. 0014split
  15. 0015specialize lucas_prime_row_initial_coefficient_one p
  16. 0016specialize lucas_prime_row_initial_coefficient_one C0
  17. 0017apply lucas_prime_row_initial_coefficient_one
  18. 0018exact hinitial
  19. 0019split
  20. 0020specialize lucas_prime_row_terminal_coefficient_one p
  21. 0021specialize lucas_prime_row_terminal_coefficient_one Cp
  22. 0022apply lucas_prime_row_terminal_coefficient_one
  23. 0023exact hterminal
  24. 0024specialize lucas_prime_row_interior_divisible p
  25. 0025specialize lucas_prime_row_interior_divisible k
  26. 0026specialize lucas_prime_row_interior_divisible j
  27. 0027specialize lucas_prime_row_interior_divisible C
  28. 0028apply lucas_prime_row_interior_divisible
  29. 0029exact hprime
  30. 0030exact hsum
  31. 0031exact hk
  32. 0032exact hj
  33. 0033exact hinterior