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 b c L t d e k a. (((forall pfp_repeat_index_pad_power_graphzeros. (exists pfa_gap_pad_power_graphzerosindex. pfa_gap_pad_power_graphzerosindex + S (pfp_repeat_index_pad_power_graphzeros) = (t)) -> (((exists ff_h_pfp_pad_power_graphzerosentry. ff_h_pfp_pad_power_graphzerosentry + S (0) = S ((S (pfp_repeat_index_pad_power_graphzeros)) * e)) /\ exists ff_q_pfp_pad_power_graphzerosentry. d = ff_q_pfp_pad_power_graphzerosentry * S ((S (pfp_repeat_index_pad_power_graphzeros)) * e) + (0)))) /\ ((forall pfrep_index_pad_power_graph pfrep_value_pad_power_graph. (exists pfa_gap_pad_power_graphbound. pfa_gap_pad_power_graphbound + S (pfrep_index_pad_power_graph) = (L)) -> (((exists ff_h_pfp_pad_power_graphinput. ff_h_pfp_pad_power_graphinput + S (pfrep_value_pad_power_graph) = S ((S (pfrep_index_pad_power_graph)) * c)) /\ exists ff_q_pfp_pad_power_graphinput. b = ff_q_pfp_pad_power_graphinput * S ((S (pfrep_index_pad_power_graph)) * c) + (pfrep_value_pad_power_graph))) -> (((exists ff_h_pfp_pad_power_graphoutput. ff_h_pfp_pad_power_graphoutput + S (pfrep_value_pad_power_graph) = S ((S ((t)+pfrep_index_pad_power_graph)) * e)) /\ exists ff_q_pfp_pad_power_graphoutput. d = ff_q_pfp_pad_power_graphoutput * S ((S ((t)+pfrep_index_pad_power_graph)) * e) + (pfrep_value_pad_power_graph))))))) -> ((exists pfrep_position_pad_power_source. ((pfrep_position_pad_power_source+S (k)=(L)) /\ ((((exists ff_h_pfp_pad_power_sourceentry. ff_h_pfp_pad_power_sourceentry + S (a) = S ((S (pfrep_position_pad_power_source)) * c)) /\ exists ff_q_pfp_pad_power_sourceentry. b = ff_q_pfp_pad_power_sourceentry * S ((S (pfrep_position_pad_power_source)) * c) + (a)))))) \/ (((exists pfrep_gap_pad_power_sourceoutside. pfrep_gap_pad_power_sourceoutside+(L)=(k)) /\ (((a)=0))))) -> ((exists pfrep_position_pad_power_result. ((pfrep_position_pad_power_result+S (k)=(t+L)) /\ ((((exists ff_h_pfp_pad_power_resultentry. ff_h_pfp_pad_power_resultentry + S (a) = S ((S (pfrep_position_pad_power_result)) * e)) /\ exists ff_q_pfp_pad_power_resultentry. d = ff_q_pfp_pad_power_resultentry * S ((S (pfrep_position_pad_power_result)) * e) + (a)))))) \/ (((exists pfrep_gap_pad_power_resultoutside. pfrep_gap_pad_power_resultoutside+(t+L)=(k)) /\ (((a)=0)))))Constructive proof overview
Generated structural guide
Adding actual leading zeros preserves each formal power coefficient, including the zero coefficients above the old leading power.
The unchanged tactic script uses 4 declared prerequisites and contains 56 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
add_assoc Alpha theorem; checked-use authorized PX0009 prime_field_polynomial_power_index_bound le_or_lt Alpha theorem; checked-use authorized PX000B prime_field_polynomial_power_index_before_paddingDirect 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–10
02Separate the logical casesL11–15
03Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists t+x
04Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
split
05Calculate and transport equalitiesL18–18
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L18
trans t+(x+S k)
06Use earlier factsL19–19
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
apply add_assoc
07Calculate and transport equalitiesL20–21
08Use earlier factsL22–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
specialize h_right (x) - L23
specialize h_right (a) - L24
apply h_right - L25
specialize prime_field_polynomial_power_index_bound (x) - L26
specialize prime_field_polynomial_power_index_bound (k) - L27
specialize prime_field_polynomial_power_index_bound (L) - L28
apply prime_field_polynomial_power_index_bound - L29
exact ha_left_witness_left - L30
exact ha_left_witness_right
09Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases ha_right
10Establish hoL32–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le or lt.
11Separate the logical casesL36–38
12Use earlier factsL39–40
13Separate the logical casesL41–42
14Construct an explicit witnessL43–43
Supply the displayed value, then prove that it has the required property.
- L43
exists x
15Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
16Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact ho_right_witness
17Calculate and transport equalitiesL46–47
18Use earlier factsL48–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
specialize h_left (x) - L49
apply h_left - L50
specialize prime_field_polynomial_power_index_before_padding (t) - L51
specialize prime_field_polynomial_power_index_before_padding (L) - L52
specialize prime_field_polynomial_power_index_before_padding (x) - L53
specialize prime_field_polynomial_power_index_before_padding (k) - L54
apply prime_field_polynomial_power_index_before_padding - L55
exact ho_right_witness - L56
exact ha_right_left
Original exact command ledger · 56 lines
- 0001
intro b - 0002
intro c - 0003
intro L - 0004
intro t - 0005
intro d - 0006
intro e - 0007
intro k - 0008
intro a - 0009
intro h - 0010
intro ha - 0011
cases h - 0012
cases ha - 0013
cases ha_left - 0014
cases ha_left_witness - 0015
left - 0016
exists t+x - 0017
split - 0018
trans t+(x+S k) - 0019
apply add_assoc - 0020
rewrite ha_left_witness_left - 0021
refl - 0022
specialize h_right (x) - 0023
specialize h_right (a) - 0024
apply h_right - 0025
specialize prime_field_polynomial_power_index_bound (x) - 0026
specialize prime_field_polynomial_power_index_bound (k) - 0027
specialize prime_field_polynomial_power_index_bound (L) - 0028
apply prime_field_polynomial_power_index_bound - 0029
exact ha_left_witness_left - 0030
exact ha_left_witness_right - 0031
cases ha_right - 0032
have ho : (exists pfrep_gap_pad_power_outside. pfrep_gap_pad_power_outside+(t+L)=(k)) \/ (exists pfa_gap_pad_power_inside. pfa_gap_pad_power_inside + S (k) = (t+L)) - 0033
specialize le_or_lt (t+L) - 0034
specialize le_or_lt (k) - 0035
apply le_or_lt - 0036
cases ho - 0037
right - 0038
split - 0039
exact ho_left - 0040
exact ha_right_right - 0041
cases ho_right - 0042
left - 0043
exists x - 0044
split - 0045
exact ho_right_witness - 0046
rewrite ha_right_right - 0047
rewrite ha_right_right - 0048
specialize h_left (x) - 0049
apply h_left - 0050
specialize prime_field_polynomial_power_index_before_padding (t) - 0051
specialize prime_field_polynomial_power_index_before_padding (L) - 0052
specialize prime_field_polynomial_power_index_before_padding (x) - 0053
specialize prime_field_polynomial_power_index_before_padding (k) - 0054
apply prime_field_polynomial_power_index_before_padding - 0055
exact ho_right_witness - 0056
exact ha_right_left