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 ab ac bb bc l. ~(p=0) -> (forall fom_index_pfp_add_exists_a. (exists fom_gap_pfp_add_exists_a_index_bound. fom_gap_pfp_add_exists_a_index_bound + S (fom_index_pfp_add_exists_a) = l) -> exists fom_value_pfp_add_exists_a. ((((exists fom_beta_height_pfp_add_exists_a_entry. fom_beta_height_pfp_add_exists_a_entry + S (fom_value_pfp_add_exists_a) = S ((S (fom_index_pfp_add_exists_a)) * ac)) /\ exists fom_beta_quotient_pfp_add_exists_a_entry. ab = fom_beta_quotient_pfp_add_exists_a_entry * S ((S (fom_index_pfp_add_exists_a)) * ac) + (fom_value_pfp_add_exists_a))) /\ (exists fom_gap_pfp_add_exists_a_value_bound. fom_gap_pfp_add_exists_a_value_bound + S (fom_value_pfp_add_exists_a) = p))) -> (forall fom_index_pfp_add_exists_b. (exists fom_gap_pfp_add_exists_b_index_bound. fom_gap_pfp_add_exists_b_index_bound + S (fom_index_pfp_add_exists_b) = l) -> exists fom_value_pfp_add_exists_b. ((((exists fom_beta_height_pfp_add_exists_b_entry. fom_beta_height_pfp_add_exists_b_entry + S (fom_value_pfp_add_exists_b) = S ((S (fom_index_pfp_add_exists_b)) * bc)) /\ exists fom_beta_quotient_pfp_add_exists_b_entry. bb = fom_beta_quotient_pfp_add_exists_b_entry * S ((S (fom_index_pfp_add_exists_b)) * bc) + (fom_value_pfp_add_exists_b))) /\ (exists fom_gap_pfp_add_exists_b_value_bound. fom_gap_pfp_add_exists_b_value_bound + S (fom_value_pfp_add_exists_b) = p))) -> exists cb cc. (forall pfp_index_add_exists_result. (exists pfa_gap_add_exists_resultindex. pfa_gap_add_exists_resultindex + S (pfp_index_add_exists_result) = (l)) -> exists pfp_left_add_exists_result pfp_right_add_exists_result pfp_value_add_exists_result. ((((exists ff_h_pfp_add_exists_resultleft. ff_h_pfp_add_exists_resultleft + S (pfp_left_add_exists_result) = S ((S (pfp_index_add_exists_result)) * ac)) /\ exists ff_q_pfp_add_exists_resultleft. ab = ff_q_pfp_add_exists_resultleft * S ((S (pfp_index_add_exists_result)) * ac) + (pfp_left_add_exists_result))) /\ (((((exists ff_h_pfp_add_exists_resultright. ff_h_pfp_add_exists_resultright + S (pfp_right_add_exists_result) = S ((S (pfp_index_add_exists_result)) * bc)) /\ exists ff_q_pfp_add_exists_resultright. bb = ff_q_pfp_add_exists_resultright * S ((S (pfp_index_add_exists_result)) * bc) + (pfp_right_add_exists_result))) /\ (((((exists ff_h_pfp_add_exists_resulttarget. ff_h_pfp_add_exists_resulttarget + S (pfp_value_add_exists_result) = S ((S (pfp_index_add_exists_result)) * cc)) /\ exists ff_q_pfp_add_exists_resulttarget. cb = ff_q_pfp_add_exists_resulttarget * S ((S (pfp_index_add_exists_result)) * cc) + (pfp_value_add_exists_result))) /\ ((((exists pfa_gap_add_exists_resultoperationleft. pfa_gap_add_exists_resultoperationleft + S (pfp_left_add_exists_result) = (p)) /\ (((exists pfa_gap_add_exists_resultoperationright. pfa_gap_add_exists_resultoperationright + S (pfp_right_add_exists_result) = (p)) /\ ((((exists pfa_gap_add_exists_resultoperationresultbound. pfa_gap_add_exists_resultoperationresultbound + S (pfp_value_add_exists_result) = (p)) /\ ((exists pfa_offset_left_add_exists_resultoperationresultcongruence pfa_offset_right_add_exists_resultoperationresultcongruence. ((pfp_left_add_exists_result) + (pfp_right_add_exists_result)) + (p) * pfa_offset_left_add_exists_resultoperationresultcongruence = (pfp_value_add_exists_result) + (p) * pfa_offset_right_add_exists_resultoperationresultcongruence))))))))))))))))Constructive proof overview
Generated structural guide
Construct the actual finite canonical coefficient sum, without supplying a table or an addition-law premise.
The unchanged tactic script uses 3 declared prerequisites and contains 44 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_pointwise_add_prefix_exists Alpha theorem; checked-use authorized PP0002 prime_field_polynomial_normalization_exists PP000C prime_field_polynomial_add_from_normalizationDirect 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 (2)
01Fix variables and assumptionsL1–9
02Establish hsL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise add prefix exists.
03Separate the logical casesL17–18
04Establish hnL19–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial normalization exists.
- L19
have hn : ∃ cb. ∃ cc. FpCoefficientReduction(p,x,x1,cb,cc,l)Definitions: FpCoefficientReduction - L20
specialize prime_field_polynomial_normalization_exists (p) - L21
specialize prime_field_polynomial_normalization_exists (x) - L22
specialize prime_field_polynomial_normalization_exists (x1) - L23
specialize prime_field_polynomial_normalization_exists (l) - L24
apply prime_field_polynomial_normalization_exists - L25
exact hp
05Separate the logical casesL26–27
06Construct an explicit witnessL28–29
07Use earlier factsL30–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
specialize prime_field_polynomial_add_from_normalization (p) - L31
specialize prime_field_polynomial_add_from_normalization (ab) - L32
specialize prime_field_polynomial_add_from_normalization (ac) - L33
specialize prime_field_polynomial_add_from_normalization (bb) - L34
specialize prime_field_polynomial_add_from_normalization (bc) - L35
specialize prime_field_polynomial_add_from_normalization (x) - L36
specialize prime_field_polynomial_add_from_normalization (x1) - L37
specialize prime_field_polynomial_add_from_normalization (x2) - L38
specialize prime_field_polynomial_add_from_normalization (x3) - L39
specialize prime_field_polynomial_add_from_normalization (l)
Original exact command ledger · 44 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro bb - 0005
intro bc - 0006
intro l - 0007
intro hp - 0008
intro ha - 0009
intro hb - 0010
have hs : exists rb rc. (forall ff_index_mcp_add_pfp_add_exists_raw ff_left_mcp_add_pfp_add_exists_raw ff_right_mcp_add_pfp_add_exists_raw ff_target_mcp_add_pfp_add_exists_raw. (exists mcp_gap_pfp_add_exists_raw_bound. mcp_gap_pfp_add_exists_raw_bound + S (ff_index_mcp_add_pfp_add_exists_raw) = (l)) -> (((exists fs_h_mcp_pfp_add_exists_raw_left. fs_h_mcp_pfp_add_exists_raw_left + S (ff_left_mcp_add_pfp_add_exists_raw) = S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * ac)) /\ exists fs_q_mcp_pfp_add_exists_raw_left. ab = fs_q_mcp_pfp_add_exists_raw_left * S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * ac) + (ff_left_mcp_add_pfp_add_exists_raw))) -> (((exists fs_h_mcp_pfp_add_exists_raw_right. fs_h_mcp_pfp_add_exists_raw_right + S (ff_right_mcp_add_pfp_add_exists_raw) = S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * bc)) /\ exists fs_q_mcp_pfp_add_exists_raw_right. bb = fs_q_mcp_pfp_add_exists_raw_right * S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * bc) + (ff_right_mcp_add_pfp_add_exists_raw))) -> (((exists fs_h_mcp_pfp_add_exists_raw_target. fs_h_mcp_pfp_add_exists_raw_target + S (ff_target_mcp_add_pfp_add_exists_raw) = S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * rc)) /\ exists fs_q_mcp_pfp_add_exists_raw_target. rb = fs_q_mcp_pfp_add_exists_raw_target * S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * rc) + (ff_target_mcp_add_pfp_add_exists_raw))) -> ff_target_mcp_add_pfp_add_exists_raw = ff_left_mcp_add_pfp_add_exists_raw + ff_right_mcp_add_pfp_add_exists_raw) - 0011
specialize beta_pointwise_add_prefix_exists (ab) - 0012
specialize beta_pointwise_add_prefix_exists (ac) - 0013
specialize beta_pointwise_add_prefix_exists (bb) - 0014
specialize beta_pointwise_add_prefix_exists (bc) - 0015
specialize beta_pointwise_add_prefix_exists (l) - 0016
apply beta_pointwise_add_prefix_exists - 0017
cases hs - 0018
cases hs_witness - 0019
have hn : exists cb cc. (forall pfp_index_add_exists_normalization. (exists pfa_gap_add_exists_normalizationindex. pfa_gap_add_exists_normalizationindex + S (pfp_index_add_exists_normalization) = (l)) -> exists pfp_source_add_exists_normalization pfp_residue_add_exists_normalization. ((((exists ff_h_pfp_add_exists_normalizationsource. ff_h_pfp_add_exists_normalizationsource + S (pfp_source_add_exists_normalization) = S ((S (pfp_index_add_exists_normalization)) * x1)) /\ exists ff_q_pfp_add_exists_normalizationsource. x = ff_q_pfp_add_exists_normalizationsource * S ((S (pfp_index_add_exists_normalization)) * x1) + (pfp_source_add_exists_normalization))) /\ (((((exists ff_h_pfp_add_exists_normalizationtarget. ff_h_pfp_add_exists_normalizationtarget + S (pfp_residue_add_exists_normalization) = S ((S (pfp_index_add_exists_normalization)) * cc)) /\ exists ff_q_pfp_add_exists_normalizationtarget. cb = ff_q_pfp_add_exists_normalizationtarget * S ((S (pfp_index_add_exists_normalization)) * cc) + (pfp_residue_add_exists_normalization))) /\ ((((exists pfa_gap_add_exists_normalizationresiduebound. pfa_gap_add_exists_normalizationresiduebound + S (pfp_residue_add_exists_normalization) = (p)) /\ ((exists pfa_offset_left_add_exists_normalizationresiduecongruence pfa_offset_right_add_exists_normalizationresiduecongruence. (pfp_source_add_exists_normalization) + (p) * pfa_offset_left_add_exists_normalizationresiduecongruence = (pfp_residue_add_exists_normalization) + (p) * pfa_offset_right_add_exists_normalizationresiduecongruence))))))))) - 0020
specialize prime_field_polynomial_normalization_exists (p) - 0021
specialize prime_field_polynomial_normalization_exists (x) - 0022
specialize prime_field_polynomial_normalization_exists (x1) - 0023
specialize prime_field_polynomial_normalization_exists (l) - 0024
apply prime_field_polynomial_normalization_exists - 0025
exact hp - 0026
cases hn - 0027
cases hn_witness - 0028
exists x2 - 0029
exists x3 - 0030
specialize prime_field_polynomial_add_from_normalization (p) - 0031
specialize prime_field_polynomial_add_from_normalization (ab) - 0032
specialize prime_field_polynomial_add_from_normalization (ac) - 0033
specialize prime_field_polynomial_add_from_normalization (bb) - 0034
specialize prime_field_polynomial_add_from_normalization (bc) - 0035
specialize prime_field_polynomial_add_from_normalization (x) - 0036
specialize prime_field_polynomial_add_from_normalization (x1) - 0037
specialize prime_field_polynomial_add_from_normalization (x2) - 0038
specialize prime_field_polynomial_add_from_normalization (x3) - 0039
specialize prime_field_polynomial_add_from_normalization (l) - 0040
apply prime_field_polynomial_add_from_normalization - 0041
exact ha - 0042
exact hb - 0043
exact hs_witness_witness - 0044
exact hn_witness_witness