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 expanded first-order arithmetic statement
forall p b c zb zc l. (~((p) = 1) /\ forall pfa_factor_left_scale_zero_prime pfa_factor_right_scale_zero_prime. (p) = pfa_factor_left_scale_zero_prime * pfa_factor_right_scale_zero_prime -> pfa_factor_left_scale_zero_prime = 1 \/ pfa_factor_right_scale_zero_prime = 1) -> (forall fom_index_pfp_scale_zero_coefficients. (exists fom_gap_pfp_scale_zero_coefficients_index_bound. fom_gap_pfp_scale_zero_coefficients_index_bound + S (fom_index_pfp_scale_zero_coefficients) = l) -> exists fom_value_pfp_scale_zero_coefficients. ((((exists fom_beta_height_pfp_scale_zero_coefficients_entry. fom_beta_height_pfp_scale_zero_coefficients_entry + S (fom_value_pfp_scale_zero_coefficients) = S ((S (fom_index_pfp_scale_zero_coefficients)) * c)) /\ exists fom_beta_quotient_pfp_scale_zero_coefficients_entry. b = fom_beta_quotient_pfp_scale_zero_coefficients_entry * S ((S (fom_index_pfp_scale_zero_coefficients)) * c) + (fom_value_pfp_scale_zero_coefficients))) /\ (exists fom_gap_pfp_scale_zero_coefficients_value_bound. fom_gap_pfp_scale_zero_coefficients_value_bound + S (fom_value_pfp_scale_zero_coefficients) = p))) -> (forall pfp_repeat_index_scale_zero_table. (exists pfa_gap_scale_zero_tableindex. pfa_gap_scale_zero_tableindex + S (pfp_repeat_index_scale_zero_table) = (l)) -> (((exists ff_h_pfp_scale_zero_tableentry. ff_h_pfp_scale_zero_tableentry + S (0) = S ((S (pfp_repeat_index_scale_zero_table)) * zc)) /\ exists ff_q_pfp_scale_zero_tableentry. zb = ff_q_pfp_scale_zero_tableentry * S ((S (pfp_repeat_index_scale_zero_table)) * zc) + (0)))) -> (((exists pfa_gap_scale_zero_resultscalar. pfa_gap_scale_zero_resultscalar + S (0) = (p)) /\ ((forall pfp_index_scale_zero_result. (exists pfa_gap_scale_zero_resultindex. pfa_gap_scale_zero_resultindex + S (pfp_index_scale_zero_result) = (l)) -> exists pfp_source_scale_zero_result pfp_value_scale_zero_result. ((((exists ff_h_pfp_scale_zero_resultsource. ff_h_pfp_scale_zero_resultsource + S (pfp_source_scale_zero_result) = S ((S (pfp_index_scale_zero_result)) * c)) /\ exists ff_q_pfp_scale_zero_resultsource. b = ff_q_pfp_scale_zero_resultsource * S ((S (pfp_index_scale_zero_result)) * c) + (pfp_source_scale_zero_result))) /\ (((((exists ff_h_pfp_scale_zero_resulttarget. ff_h_pfp_scale_zero_resulttarget + S (pfp_value_scale_zero_result) = S ((S (pfp_index_scale_zero_result)) * zc)) /\ exists ff_q_pfp_scale_zero_resulttarget. zb = ff_q_pfp_scale_zero_resulttarget * S ((S (pfp_index_scale_zero_result)) * zc) + (pfp_value_scale_zero_result))) /\ ((((exists pfa_gap_scale_zero_resultoperationleft. pfa_gap_scale_zero_resultoperationleft + S (0) = (p)) /\ (((exists pfa_gap_scale_zero_resultoperationright. pfa_gap_scale_zero_resultoperationright + S (pfp_source_scale_zero_result) = (p)) /\ ((((exists pfa_gap_scale_zero_resultoperationresultbound. pfa_gap_scale_zero_resultoperationresultbound + S (pfp_value_scale_zero_result) = (p)) /\ ((exists pfa_offset_left_scale_zero_resultoperationresultcongruence pfa_offset_right_scale_zero_resultoperationresultcongruence. ((0) * (pfp_source_scale_zero_result)) + (p) * pfa_offset_left_scale_zero_resultoperationresultcongruence = (pfp_value_scale_zero_result) + (p) * pfa_offset_right_scale_zero_resultoperationresultcongruence)))))))))))))))))Constructive proof overview
Generated structural guide
Scalar zero produces a genuinely encoded zero polynomial, not merely a zero output claim.
The unchanged tactic script uses 2 declared prerequisites and contains 34 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_field_zero_below_prime Alpha theorem; checked-use authorized prime_field_multiply_zero_left Alpha theorem; checked-use authorizedDirect 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.
01Fix variables and assumptionsL1–9
02Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
split
03Use earlier factsL11–13
04Fix variables and assumptionsL14–15
05Establish haL16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hc.
- L16
have ha : exists a. ((((exists ff_h_pfp_scale_zero_chosen. ff_h_pfp_scale_zero_chosen + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_scale_zero_chosen. b = ff_q_pfp_scale_zero_chosen * S ((S (i)) * c) + (a))) /\ ((exists pfa_gap_scale_zero_bound. pfa_gap_scale_zero_bound + S (a) = (p)))) - L17
specialize hc (i) - L18
apply hc - L19
exact hi
06Separate the logical casesL20–21
07Construct an explicit witnessL22–23
08Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
split
09Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact ha_witness_left
10Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
split
11Use earlier factsL27–34
Original exact command ledger · 34 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro zb - 0005
intro zc - 0006
intro l - 0007
intro hp - 0008
intro hc - 0009
intro hz - 0010
split - 0011
specialize prime_field_zero_below_prime (p) - 0012
apply prime_field_zero_below_prime - 0013
exact hp - 0014
intro i - 0015
intro hi - 0016
have ha : exists a. ((((exists ff_h_pfp_scale_zero_chosen. ff_h_pfp_scale_zero_chosen + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_scale_zero_chosen. b = ff_q_pfp_scale_zero_chosen * S ((S (i)) * c) + (a))) /\ ((exists pfa_gap_scale_zero_bound. pfa_gap_scale_zero_bound + S (a) = (p)))) - 0017
specialize hc (i) - 0018
apply hc - 0019
exact hi - 0020
cases ha - 0021
cases ha_witness - 0022
exists x - 0023
exists 0 - 0024
split - 0025
exact ha_witness_left - 0026
split - 0027
specialize hz (i) - 0028
apply hz - 0029
exact hi - 0030
specialize prime_field_multiply_zero_left (p) - 0031
specialize prime_field_multiply_zero_left (x) - 0032
apply prime_field_multiply_zero_left - 0033
exact hp - 0034
exact ha_witness_right