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 rb rc cb cc l. (forall fom_index_pfp_add_source_a. (exists fom_gap_pfp_add_source_a_index_bound. fom_gap_pfp_add_source_a_index_bound + S (fom_index_pfp_add_source_a) = l) -> exists fom_value_pfp_add_source_a. ((((exists fom_beta_height_pfp_add_source_a_entry. fom_beta_height_pfp_add_source_a_entry + S (fom_value_pfp_add_source_a) = S ((S (fom_index_pfp_add_source_a)) * ac)) /\ exists fom_beta_quotient_pfp_add_source_a_entry. ab = fom_beta_quotient_pfp_add_source_a_entry * S ((S (fom_index_pfp_add_source_a)) * ac) + (fom_value_pfp_add_source_a))) /\ (exists fom_gap_pfp_add_source_a_value_bound. fom_gap_pfp_add_source_a_value_bound + S (fom_value_pfp_add_source_a) = p))) -> (forall fom_index_pfp_add_source_b. (exists fom_gap_pfp_add_source_b_index_bound. fom_gap_pfp_add_source_b_index_bound + S (fom_index_pfp_add_source_b) = l) -> exists fom_value_pfp_add_source_b. ((((exists fom_beta_height_pfp_add_source_b_entry. fom_beta_height_pfp_add_source_b_entry + S (fom_value_pfp_add_source_b) = S ((S (fom_index_pfp_add_source_b)) * bc)) /\ exists fom_beta_quotient_pfp_add_source_b_entry. bb = fom_beta_quotient_pfp_add_source_b_entry * S ((S (fom_index_pfp_add_source_b)) * bc) + (fom_value_pfp_add_source_b))) /\ (exists fom_gap_pfp_add_source_b_value_bound. fom_gap_pfp_add_source_b_value_bound + S (fom_value_pfp_add_source_b) = p))) -> (forall ff_index_mcp_add_pfp_add_raw ff_left_mcp_add_pfp_add_raw ff_right_mcp_add_pfp_add_raw ff_target_mcp_add_pfp_add_raw. (exists mcp_gap_pfp_add_raw_bound. mcp_gap_pfp_add_raw_bound + S (ff_index_mcp_add_pfp_add_raw) = (l)) -> (((exists fs_h_mcp_pfp_add_raw_left. fs_h_mcp_pfp_add_raw_left + S (ff_left_mcp_add_pfp_add_raw) = S ((S (ff_index_mcp_add_pfp_add_raw)) * ac)) /\ exists fs_q_mcp_pfp_add_raw_left. ab = fs_q_mcp_pfp_add_raw_left * S ((S (ff_index_mcp_add_pfp_add_raw)) * ac) + (ff_left_mcp_add_pfp_add_raw))) -> (((exists fs_h_mcp_pfp_add_raw_right. fs_h_mcp_pfp_add_raw_right + S (ff_right_mcp_add_pfp_add_raw) = S ((S (ff_index_mcp_add_pfp_add_raw)) * bc)) /\ exists fs_q_mcp_pfp_add_raw_right. bb = fs_q_mcp_pfp_add_raw_right * S ((S (ff_index_mcp_add_pfp_add_raw)) * bc) + (ff_right_mcp_add_pfp_add_raw))) -> (((exists fs_h_mcp_pfp_add_raw_target. fs_h_mcp_pfp_add_raw_target + S (ff_target_mcp_add_pfp_add_raw) = S ((S (ff_index_mcp_add_pfp_add_raw)) * rc)) /\ exists fs_q_mcp_pfp_add_raw_target. rb = fs_q_mcp_pfp_add_raw_target * S ((S (ff_index_mcp_add_pfp_add_raw)) * rc) + (ff_target_mcp_add_pfp_add_raw))) -> ff_target_mcp_add_pfp_add_raw = ff_left_mcp_add_pfp_add_raw + ff_right_mcp_add_pfp_add_raw) -> (forall pfp_index_add_normalize. (exists pfa_gap_add_normalizeindex. pfa_gap_add_normalizeindex + S (pfp_index_add_normalize) = (l)) -> exists pfp_source_add_normalize pfp_residue_add_normalize. ((((exists ff_h_pfp_add_normalizesource. ff_h_pfp_add_normalizesource + S (pfp_source_add_normalize) = S ((S (pfp_index_add_normalize)) * rc)) /\ exists ff_q_pfp_add_normalizesource. rb = ff_q_pfp_add_normalizesource * S ((S (pfp_index_add_normalize)) * rc) + (pfp_source_add_normalize))) /\ (((((exists ff_h_pfp_add_normalizetarget. ff_h_pfp_add_normalizetarget + S (pfp_residue_add_normalize) = S ((S (pfp_index_add_normalize)) * cc)) /\ exists ff_q_pfp_add_normalizetarget. cb = ff_q_pfp_add_normalizetarget * S ((S (pfp_index_add_normalize)) * cc) + (pfp_residue_add_normalize))) /\ ((((exists pfa_gap_add_normalizeresiduebound. pfa_gap_add_normalizeresiduebound + S (pfp_residue_add_normalize) = (p)) /\ ((exists pfa_offset_left_add_normalizeresiduecongruence pfa_offset_right_add_normalizeresiduecongruence. (pfp_source_add_normalize) + (p) * pfa_offset_left_add_normalizeresiduecongruence = (pfp_residue_add_normalize) + (p) * pfa_offset_right_add_normalizeresiduecongruence))))))))) -> (forall pfp_index_add_result. (exists pfa_gap_add_resultindex. pfa_gap_add_resultindex + S (pfp_index_add_result) = (l)) -> exists pfp_left_add_result pfp_right_add_result pfp_value_add_result. ((((exists ff_h_pfp_add_resultleft. ff_h_pfp_add_resultleft + S (pfp_left_add_result) = S ((S (pfp_index_add_result)) * ac)) /\ exists ff_q_pfp_add_resultleft. ab = ff_q_pfp_add_resultleft * S ((S (pfp_index_add_result)) * ac) + (pfp_left_add_result))) /\ (((((exists ff_h_pfp_add_resultright. ff_h_pfp_add_resultright + S (pfp_right_add_result) = S ((S (pfp_index_add_result)) * bc)) /\ exists ff_q_pfp_add_resultright. bb = ff_q_pfp_add_resultright * S ((S (pfp_index_add_result)) * bc) + (pfp_right_add_result))) /\ (((((exists ff_h_pfp_add_resulttarget. ff_h_pfp_add_resulttarget + S (pfp_value_add_result) = S ((S (pfp_index_add_result)) * cc)) /\ exists ff_q_pfp_add_resulttarget. cb = ff_q_pfp_add_resulttarget * S ((S (pfp_index_add_result)) * cc) + (pfp_value_add_result))) /\ ((((exists pfa_gap_add_resultoperationleft. pfa_gap_add_resultoperationleft + S (pfp_left_add_result) = (p)) /\ (((exists pfa_gap_add_resultoperationright. pfa_gap_add_resultoperationright + S (pfp_right_add_result) = (p)) /\ ((((exists pfa_gap_add_resultoperationresultbound. pfa_gap_add_resultoperationresultbound + S (pfp_value_add_result) = (p)) /\ ((exists pfa_offset_left_add_resultoperationresultcongruence pfa_offset_right_add_resultoperationresultcongruence. ((pfp_left_add_result) + (pfp_right_add_result)) + (p) * pfa_offset_left_add_resultoperationresultcongruence = (pfp_value_add_result) + (p) * pfa_offset_right_add_resultoperationresultcongruence))))))))))))))))Constructive proof overview
Generated structural guide
Normalize a genuine natural pointwise sum to obtain actual canonical field sums at every coefficient.
The unchanged tactic script uses 1 declared prerequisite and contains 65 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_field_residue_input_equal 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–10
02Fix variables and assumptionsL11–16
03Establish hvaL17–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply ha.
- L17
have hva : exists a. ((((exists ff_h_pfp_add_chosen_a. ff_h_pfp_add_chosen_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_chosen_a. ab = ff_q_pfp_add_chosen_a * S ((S (i)) * ac) + (a))) /\ ((exists pfa_gap_add_chosen_a_bound. pfa_gap_add_chosen_a_bound + S (a) = (p)))) - L18
specialize ha (i) - L19
apply ha - L20
exact hi
04Separate the logical casesL21–22
05Establish hvbL23–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hb.
- L23
have hvb : exists b. ((((exists ff_h_pfp_add_chosen_b. ff_h_pfp_add_chosen_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_chosen_b. bb = ff_q_pfp_add_chosen_b * S ((S (i)) * bc) + (b))) /\ ((exists pfa_gap_add_chosen_b_bound. pfa_gap_add_chosen_b_bound + S (b) = (p)))) - L24
specialize hb (i) - L25
apply hb - L26
exact hi
06Separate the logical casesL27–28
07Establish hvnL29–32
08Separate the logical casesL33–36
09Construct an explicit witnessL37–39
10Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
split
11Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
exact hva_witness_left
12Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
13Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact hvb_witness_left
14Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
15Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hvn_witness_witness_right_left
16Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
17Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hva_witness_right
18Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
19Use earlier factsL49–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
20Calculate and transport equalitiesL55–55
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L55
symm
21Use earlier factsL56–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 65 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro bb - 0005
intro bc - 0006
intro rb - 0007
intro rc - 0008
intro cb - 0009
intro cc - 0010
intro l - 0011
intro ha - 0012
intro hb - 0013
intro hs - 0014
intro hn - 0015
intro i - 0016
intro hi - 0017
have hva : exists a. ((((exists ff_h_pfp_add_chosen_a. ff_h_pfp_add_chosen_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_chosen_a. ab = ff_q_pfp_add_chosen_a * S ((S (i)) * ac) + (a))) /\ ((exists pfa_gap_add_chosen_a_bound. pfa_gap_add_chosen_a_bound + S (a) = (p)))) - 0018
specialize ha (i) - 0019
apply ha - 0020
exact hi - 0021
cases hva - 0022
cases hva_witness - 0023
have hvb : exists b. ((((exists ff_h_pfp_add_chosen_b. ff_h_pfp_add_chosen_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_chosen_b. bb = ff_q_pfp_add_chosen_b * S ((S (i)) * bc) + (b))) /\ ((exists pfa_gap_add_chosen_b_bound. pfa_gap_add_chosen_b_bound + S (b) = (p)))) - 0024
specialize hb (i) - 0025
apply hb - 0026
exact hi - 0027
cases hvb - 0028
cases hvb_witness - 0029
have hvn : exists s r. ((((exists ff_h_pfp_add_chosen_sum. ff_h_pfp_add_chosen_sum + S (s) = S ((S (i)) * rc)) /\ exists ff_q_pfp_add_chosen_sum. rb = ff_q_pfp_add_chosen_sum * S ((S (i)) * rc) + (s))) /\ (((((exists ff_h_pfp_add_chosen_residue. ff_h_pfp_add_chosen_residue + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_chosen_residue. cb = ff_q_pfp_add_chosen_residue * S ((S (i)) * cc) + (r))) /\ ((((exists pfa_gap_add_chosen_reductionbound. pfa_gap_add_chosen_reductionbound + S (r) = (p)) /\ ((exists pfa_offset_left_add_chosen_reductioncongruence pfa_offset_right_add_chosen_reductioncongruence. (s) + (p) * pfa_offset_left_add_chosen_reductioncongruence = (r) + (p) * pfa_offset_right_add_chosen_reductioncongruence)))))))) - 0030
specialize hn (i) - 0031
apply hn - 0032
exact hi - 0033
cases hvn - 0034
cases hvn_witness - 0035
cases hvn_witness_witness - 0036
cases hvn_witness_witness_right - 0037
exists x - 0038
exists x1 - 0039
exists x3 - 0040
split - 0041
exact hva_witness_left - 0042
split - 0043
exact hvb_witness_left - 0044
split - 0045
exact hvn_witness_witness_right_left - 0046
split - 0047
exact hva_witness_right - 0048
split - 0049
exact hvb_witness_right - 0050
specialize prime_field_residue_input_equal (p) - 0051
specialize prime_field_residue_input_equal (x+x1) - 0052
specialize prime_field_residue_input_equal (x2) - 0053
specialize prime_field_residue_input_equal (x3) - 0054
apply prime_field_residue_input_equal - 0055
symm - 0056
specialize hs (i) - 0057
specialize hs (x) - 0058
specialize hs (x1) - 0059
specialize hs (x2) - 0060
apply hs - 0061
exact hi - 0062
exact hva_witness_left - 0063
exact hvb_witness_left - 0064
exact hvn_witness_witness_left - 0065
exact hvn_witness_witness_right_right