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 k C. ((~(p = 1) /\ forall frm_prime_left_lucas_convolution_prime frm_prime_right_lucas_convolution_prime. p = frm_prime_left_lucas_convolution_prime * frm_prime_right_lucas_convolution_prime -> frm_prime_left_lucas_convolution_prime = 1 \/ frm_prime_right_lucas_convolution_prime = 1)) -> ~(k = 0) -> (exists lcv_gap_interior_bound. lcv_gap_interior_bound + S (k) = (p)) -> (((exists bcf_lt_gap_lucas_convolution_interior_choose_out_of_range. bcf_lt_gap_lucas_convolution_interior_choose_out_of_range + S (p) = k) /\ C = 0) \/ ((exists bcf_le_gap_lucas_convolution_interior_choose_in_range. bcf_le_gap_lucas_convolution_interior_choose_in_range + (k) = p) /\ (exists bcf_row_code_code_lucas_convolution_interior_choose bcf_row_code_scale_lucas_convolution_interior_choose bcf_row_scale_code_lucas_convolution_interior_choose bcf_row_scale_scale_lucas_convolution_interior_choose bcf_row_code_lucas_convolution_interior_choose bcf_row_scale_lucas_convolution_interior_choose. ((forall bcf_row_index_lucas_convolution_interior_choose_table. (exists bcf_lt_gap_lucas_convolution_interior_choose_table_row_bound. bcf_lt_gap_lucas_convolution_interior_choose_table_row_bound + S (bcf_row_index_lucas_convolution_interior_choose_table) = S (p)) -> exists bcf_row_code_lucas_convolution_interior_choose_table bcf_row_scale_lucas_convolution_interior_choose_table. ((((exists bcf_height_lucas_convolution_interior_choose_table_decoded_row_code. bcf_height_lucas_convolution_interior_choose_table_decoded_row_code + S (bcf_row_code_lucas_convolution_interior_choose_table) = S ((S (bcf_row_index_lucas_convolution_interior_choose_table)) * bcf_row_code_scale_lucas_convolution_interior_choose)) /\ exists bcf_quotient_lucas_convolution_interior_choose_table_decoded_row_code. bcf_row_code_code_lucas_convolution_interior_choose = bcf_quotient_lucas_convolution_interior_choose_table_decoded_row_code * S ((S (bcf_row_index_lucas_convolution_interior_choose_table)) * bcf_row_code_scale_lucas_convolution_interior_choose) + (bcf_row_code_lucas_convolution_interior_choose_table))) /\ ((((exists bcf_height_lucas_convolution_interior_choose_table_decoded_row_scale. bcf_height_lucas_convolution_interior_choose_table_decoded_row_scale + S (bcf_row_scale_lucas_convolution_interior_choose_table) = S ((S (bcf_row_index_lucas_convolution_interior_choose_table)) * bcf_row_scale_scale_lucas_convolution_interior_choose)) /\ exists bcf_quotient_lucas_convolution_interior_choose_table_decoded_row_scale. bcf_row_scale_code_lucas_convolution_interior_choose = bcf_quotient_lucas_convolution_interior_choose_table_decoded_row_scale * S ((S (bcf_row_index_lucas_convolution_interior_choose_table)) * bcf_row_scale_scale_lucas_convolution_interior_choose) + (bcf_row_scale_lucas_convolution_interior_choose_table))) /\ ((bcf_row_index_lucas_convolution_interior_choose_table = 0 /\ (forall bcf_index_lucas_convolution_interior_choose_table_zero_row. (exists bcf_lt_gap_lucas_convolution_interior_choose_table_zero_row_bound. bcf_lt_gap_lucas_convolution_interior_choose_table_zero_row_bound + S (bcf_index_lucas_convolution_interior_choose_table_zero_row) = S (p)) -> exists bcf_value_lucas_convolution_interior_choose_table_zero_row. ((((exists bcf_height_lucas_convolution_interior_choose_table_zero_row_entry. bcf_height_lucas_convolution_interior_choose_table_zero_row_entry + S (bcf_value_lucas_convolution_interior_choose_table_zero_row) = S ((S (bcf_index_lucas_convolution_interior_choose_table_zero_row)) * bcf_row_scale_lucas_convolution_interior_choose_table)) /\ exists bcf_quotient_lucas_convolution_interior_choose_table_zero_row_entry. bcf_row_code_lucas_convolution_interior_choose_table = bcf_quotient_lucas_convolution_interior_choose_table_zero_row_entry * S ((S (bcf_index_lucas_convolution_interior_choose_table_zero_row)) * bcf_row_scale_lucas_convolution_interior_choose_table) + (bcf_value_lucas_convolution_interior_choose_table_zero_row))) /\ ((bcf_index_lucas_convolution_interior_choose_table_zero_row = 0 /\ bcf_value_lucas_convolution_interior_choose_table_zero_row = 1) \/ exists bcf_predecessor_lucas_convolution_interior_choose_table_zero_row. bcf_index_lucas_convolution_interior_choose_table_zero_row = S bcf_predecessor_lucas_convolution_interior_choose_table_zero_row /\ bcf_value_lucas_convolution_interior_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_lucas_convolution_interior_choose_table bcf_previous_code_lucas_convolution_interior_choose_table bcf_previous_scale_lucas_convolution_interior_choose_table. bcf_row_index_lucas_convolution_interior_choose_table = S bcf_predecessor_lucas_convolution_interior_choose_table /\ ((((exists bcf_height_lucas_convolution_interior_choose_table_decoded_previous_code. bcf_height_lucas_convolution_interior_choose_table_decoded_previous_code + S (bcf_previous_code_lucas_convolution_interior_choose_table) = S ((S (bcf_predecessor_lucas_convolution_interior_choose_table)) * bcf_row_code_scale_lucas_convolution_interior_choose)) /\ exists bcf_quotient_lucas_convolution_interior_choose_table_decoded_previous_code. bcf_row_code_code_lucas_convolution_interior_choose = bcf_quotient_lucas_convolution_interior_choose_table_decoded_previous_code * S ((S (bcf_predecessor_lucas_convolution_interior_choose_table)) * bcf_row_code_scale_lucas_convolution_interior_choose) + (bcf_previous_code_lucas_convolution_interior_choose_table))) /\ ((((exists bcf_height_lucas_convolution_interior_choose_table_decoded_previous_scale. bcf_height_lucas_convolution_interior_choose_table_decoded_previous_scale + S (bcf_previous_scale_lucas_convolution_interior_choose_table) = S ((S (bcf_predecessor_lucas_convolution_interior_choose_table)) * bcf_row_scale_scale_lucas_convolution_interior_choose)) /\ exists bcf_quotient_lucas_convolution_interior_choose_table_decoded_previous_scale. bcf_row_scale_code_lucas_convolution_interior_choose = bcf_quotient_lucas_convolution_interior_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_lucas_convolution_interior_choose_table)) * bcf_row_scale_scale_lucas_convolution_interior_choose) + (bcf_previous_scale_lucas_convolution_interior_choose_table))) /\ (forall bcf_index_lucas_convolution_interior_choose_table_row_step. (exists bcf_lt_gap_lucas_convolution_interior_choose_table_row_step_bound. bcf_lt_gap_lucas_convolution_interior_choose_table_row_step_bound + S (bcf_index_lucas_convolution_interior_choose_table_row_step) = S (p)) -> exists bcf_value_lucas_convolution_interior_choose_table_row_step. ((((exists bcf_height_lucas_convolution_interior_choose_table_row_step_entry. bcf_height_lucas_convolution_interior_choose_table_row_step_entry + S (bcf_value_lucas_convolution_interior_choose_table_row_step) = S ((S (bcf_index_lucas_convolution_interior_choose_table_row_step)) * bcf_row_scale_lucas_convolution_interior_choose_table)) /\ exists bcf_quotient_lucas_convolution_interior_choose_table_row_step_entry. bcf_row_code_lucas_convolution_interior_choose_table = bcf_quotient_lucas_convolution_interior_choose_table_row_step_entry * S ((S (bcf_index_lucas_convolution_interior_choose_table_row_step)) * bcf_row_scale_lucas_convolution_interior_choose_table) + (bcf_value_lucas_convolution_interior_choose_table_row_step))) /\ ((bcf_index_lucas_convolution_interior_choose_table_row_step = 0 /\ bcf_value_lucas_convolution_interior_choose_table_row_step = 1) \/ exists bcf_predecessor_lucas_convolution_interior_choose_table_row_step bcf_left_lucas_convolution_interior_choose_table_row_step bcf_right_lucas_convolution_interior_choose_table_row_step. bcf_index_lucas_convolution_interior_choose_table_row_step = S bcf_predecessor_lucas_convolution_interior_choose_table_row_step /\ ((((exists bcf_height_lucas_convolution_interior_choose_table_row_step_previous_left. bcf_height_lucas_convolution_interior_choose_table_row_step_previous_left + S (bcf_left_lucas_convolution_interior_choose_table_row_step) = S ((S (bcf_predecessor_lucas_convolution_interior_choose_table_row_step)) * bcf_previous_scale_lucas_convolution_interior_choose_table)) /\ exists bcf_quotient_lucas_convolution_interior_choose_table_row_step_previous_left. bcf_previous_code_lucas_convolution_interior_choose_table = bcf_quotient_lucas_convolution_interior_choose_table_row_step_previous_left * S ((S (bcf_predecessor_lucas_convolution_interior_choose_table_row_step)) * bcf_previous_scale_lucas_convolution_interior_choose_table) + (bcf_left_lucas_convolution_interior_choose_table_row_step))) /\ ((((exists bcf_height_lucas_convolution_interior_choose_table_row_step_previous_right. bcf_height_lucas_convolution_interior_choose_table_row_step_previous_right + S (bcf_right_lucas_convolution_interior_choose_table_row_step) = S ((S (S (bcf_predecessor_lucas_convolution_interior_choose_table_row_step))) * bcf_previous_scale_lucas_convolution_interior_choose_table)) /\ exists bcf_quotient_lucas_convolution_interior_choose_table_row_step_previous_right. bcf_previous_code_lucas_convolution_interior_choose_table = bcf_quotient_lucas_convolution_interior_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_lucas_convolution_interior_choose_table_row_step))) * bcf_previous_scale_lucas_convolution_interior_choose_table) + (bcf_right_lucas_convolution_interior_choose_table_row_step))) /\ bcf_value_lucas_convolution_interior_choose_table_row_step = bcf_left_lucas_convolution_interior_choose_table_row_step + bcf_right_lucas_convolution_interior_choose_table_row_step))))))))))) /\ ((((exists bcf_height_lucas_convolution_interior_choose_decoded_row_code. bcf_height_lucas_convolution_interior_choose_decoded_row_code + S (bcf_row_code_lucas_convolution_interior_choose) = S ((S (p)) * bcf_row_code_scale_lucas_convolution_interior_choose)) /\ exists bcf_quotient_lucas_convolution_interior_choose_decoded_row_code. bcf_row_code_code_lucas_convolution_interior_choose = bcf_quotient_lucas_convolution_interior_choose_decoded_row_code * S ((S (p)) * bcf_row_code_scale_lucas_convolution_interior_choose) + (bcf_row_code_lucas_convolution_interior_choose))) /\ ((((exists bcf_height_lucas_convolution_interior_choose_decoded_row_scale. bcf_height_lucas_convolution_interior_choose_decoded_row_scale + S (bcf_row_scale_lucas_convolution_interior_choose) = S ((S (p)) * bcf_row_scale_scale_lucas_convolution_interior_choose)) /\ exists bcf_quotient_lucas_convolution_interior_choose_decoded_row_scale. bcf_row_scale_code_lucas_convolution_interior_choose = bcf_quotient_lucas_convolution_interior_choose_decoded_row_scale * S ((S (p)) * bcf_row_scale_scale_lucas_convolution_interior_choose) + (bcf_row_scale_lucas_convolution_interior_choose))) /\ (((exists bcf_height_lucas_convolution_interior_choose_decoded_value. bcf_height_lucas_convolution_interior_choose_decoded_value + S (C) = S ((S (k)) * bcf_row_scale_lucas_convolution_interior_choose)) /\ exists bcf_quotient_lucas_convolution_interior_choose_decoded_value. bcf_row_code_lucas_convolution_interior_choose = bcf_quotient_lucas_convolution_interior_choose_decoded_value * S ((S (k)) * bcf_row_scale_lucas_convolution_interior_choose) + (C))))))))) -> (exists lcv_left_interior_result lcv_right_interior_result. (C) + (p) * lcv_left_interior_result = (0) + (p) * lcv_right_interior_result)Constructive proof overview
Generated structural guide
Every nonboundary coefficient of the prime Pascal row is constructively congruent to zero.
The unchanged tactic script uses 3 declared prerequisites and contains 28 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
LU000S lucas_positive_digit_has_bounded_complement LU0001 lucas_prime_row_interior_divisible LU000R lucas_divisible_implies_zero_modDirect 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
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–7
02Establish hcomplementL8–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lucas positive digit has bounded complement.
- L8
have hcomplement : exists j. ((k + j = p) /\ (exists lcv_gap_interior_complement. lcv_gap_interior_complement + S (j) = (p))) - L9
specialize lucas_positive_digit_has_bounded_complement p - L10
specialize lucas_positive_digit_has_bounded_complement k - L11
apply lucas_positive_digit_has_bounded_complement - L12
exact hnonzero - L13
exact hbound
03Separate the logical casesL14–15
04Use earlier factsL16–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
specialize lucas_divisible_implies_zero_mod p - L17
specialize lucas_divisible_implies_zero_mod C - L18
apply lucas_divisible_implies_zero_mod - L19
specialize lucas_prime_row_interior_divisible p - L20
specialize lucas_prime_row_interior_divisible k - L21
specialize lucas_prime_row_interior_divisible x - L22
specialize lucas_prime_row_interior_divisible C - L23
apply lucas_prime_row_interior_divisible - L24
exact hprime - L25
exact hcomplement_witness_left
Original exact command ledger · 28 lines
- 0001
intro p - 0002
intro k - 0003
intro C - 0004
intro hprime - 0005
intro hnonzero - 0006
intro hbound - 0007
intro hchoose - 0008
have hcomplement : exists j. ((k + j = p) /\ (exists lcv_gap_interior_complement. lcv_gap_interior_complement + S (j) = (p))) - 0009
specialize lucas_positive_digit_has_bounded_complement p - 0010
specialize lucas_positive_digit_has_bounded_complement k - 0011
apply lucas_positive_digit_has_bounded_complement - 0012
exact hnonzero - 0013
exact hbound - 0014
cases hcomplement - 0015
cases hcomplement_witness - 0016
specialize lucas_divisible_implies_zero_mod p - 0017
specialize lucas_divisible_implies_zero_mod C - 0018
apply lucas_divisible_implies_zero_mod - 0019
specialize lucas_prime_row_interior_divisible p - 0020
specialize lucas_prime_row_interior_divisible k - 0021
specialize lucas_prime_row_interior_divisible x - 0022
specialize lucas_prime_row_interior_divisible C - 0023
apply lucas_prime_row_interior_divisible - 0024
exact hprime - 0025
exact hcomplement_witness_left - 0026
exact hbound - 0027
exact hcomplement_witness_right - 0028
exact hchoose