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. (forall pfrep_power_converse_input pfrep_left_converse_input pfrep_right_converse_input. ((exists pfrep_position_converse_inputfirst. ((pfrep_position_converse_inputfirst+S (pfrep_power_converse_input)=(L)) /\ ((((exists ff_h_pfp_converse_inputfirstentry. ff_h_pfp_converse_inputfirstentry + S (pfrep_left_converse_input) = S ((S (pfrep_position_converse_inputfirst)) * c)) /\ exists ff_q_pfp_converse_inputfirstentry. b = ff_q_pfp_converse_inputfirstentry * S ((S (pfrep_position_converse_inputfirst)) * c) + (pfrep_left_converse_input)))))) \/ (((exists pfrep_gap_converse_inputfirstoutside. pfrep_gap_converse_inputfirstoutside+(L)=(pfrep_power_converse_input)) /\ (((pfrep_left_converse_input)=0))))) -> ((exists pfrep_position_converse_inputsecond. ((pfrep_position_converse_inputsecond+S (pfrep_power_converse_input)=(t+L)) /\ ((((exists ff_h_pfp_converse_inputsecondentry. ff_h_pfp_converse_inputsecondentry + S (pfrep_right_converse_input) = S ((S (pfrep_position_converse_inputsecond)) * e)) /\ exists ff_q_pfp_converse_inputsecondentry. d = ff_q_pfp_converse_inputsecondentry * S ((S (pfrep_position_converse_inputsecond)) * e) + (pfrep_right_converse_input)))))) \/ (((exists pfrep_gap_converse_inputsecondoutside. pfrep_gap_converse_inputsecondoutside+(t+L)=(pfrep_power_converse_input)) /\ (((pfrep_right_converse_input)=0))))) -> pfrep_left_converse_input=pfrep_right_converse_input) -> (((forall pfp_repeat_index_converse_resultzeros. (exists pfa_gap_converse_resultzerosindex. pfa_gap_converse_resultzerosindex + S (pfp_repeat_index_converse_resultzeros) = (t)) -> (((exists ff_h_pfp_converse_resultzerosentry. ff_h_pfp_converse_resultzerosentry + S (0) = S ((S (pfp_repeat_index_converse_resultzeros)) * e)) /\ exists ff_q_pfp_converse_resultzerosentry. d = ff_q_pfp_converse_resultzerosentry * S ((S (pfp_repeat_index_converse_resultzeros)) * e) + (0)))) /\ ((forall pfrep_index_converse_result pfrep_value_converse_result. (exists pfa_gap_converse_resultbound. pfa_gap_converse_resultbound + S (pfrep_index_converse_result) = (L)) -> (((exists ff_h_pfp_converse_resultinput. ff_h_pfp_converse_resultinput + S (pfrep_value_converse_result) = S ((S (pfrep_index_converse_result)) * c)) /\ exists ff_q_pfp_converse_resultinput. b = ff_q_pfp_converse_resultinput * S ((S (pfrep_index_converse_result)) * c) + (pfrep_value_converse_result))) -> (((exists ff_h_pfp_converse_resultoutput. ff_h_pfp_converse_resultoutput + S (pfrep_value_converse_result) = S ((S ((t)+pfrep_index_converse_result)) * e)) /\ exists ff_q_pfp_converse_resultoutput. d = ff_q_pfp_converse_resultoutput * S ((S ((t)+pfrep_index_converse_result)) * e) + (pfrep_value_converse_result)))))))Constructive proof overview
Generated structural guide
Formal equivalence to a prefix of length t+L forces its actual leading-zero block and every copied source coefficient; construct a real padding and transport it by decoded equality, with no prime assumption.
The unchanged tactic script uses 6 declared prerequisites and contains 72 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
PX0014 prime_field_polynomial_left_pad_exists PX001B prime_field_polynomial_left_pad_equivalent PX000F prime_field_polynomial_equivalent_symmetric PX0010 prime_field_polynomial_equivalent_transitive PX0012 prime_field_polynomial_equivalent_implies_equal_same_length PX001D prime_field_polynomial_left_pad_transportDirect 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 (6)
01Fix variables and assumptionsL1–7
02Establish hpL8–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad exists.
- L8
have hp : ∃ B. ∃ C. PolynomialLeftPad(b,c,L,t,B,C)Definitions: PolynomialLeftPad - L9
specialize prime_field_polynomial_left_pad_exists (b) - L10
specialize prime_field_polynomial_left_pad_exists (c) - L11
specialize prime_field_polynomial_left_pad_exists (t) - L12
specialize prime_field_polynomial_left_pad_exists (L) - L13
apply prime_field_polynomial_left_pad_exists
03Separate the logical casesL14–15
04Establish hsL16–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L16
have hs : PolynomialEquivalent(b,c,L,x,x1,t + L)Definitions: PolynomialEquivalent - L17
specialize prime_field_polynomial_left_pad_equivalent (b) - L18
specialize prime_field_polynomial_left_pad_equivalent (c) - L19
specialize prime_field_polynomial_left_pad_equivalent (L) - L20
specialize prime_field_polynomial_left_pad_equivalent (t) - L21
specialize prime_field_polynomial_left_pad_equivalent (x) - L22
specialize prime_field_polynomial_left_pad_equivalent (x1) - L23
apply prime_field_polynomial_left_pad_equivalent - L24
exact hp_witness_witness
05Establish hrL25–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent symmetric.
- L25
have hr : PolynomialEquivalent(x,x1,t + L,b,c,L)Definitions: PolynomialEquivalent - L26
specialize prime_field_polynomial_equivalent_symmetric (b) - L27
specialize prime_field_polynomial_equivalent_symmetric (c) - L28
specialize prime_field_polynomial_equivalent_symmetric (L) - L29
specialize prime_field_polynomial_equivalent_symmetric (x) - L30
specialize prime_field_polynomial_equivalent_symmetric (x1) - L31
specialize prime_field_polynomial_equivalent_symmetric (t+L) - L32
apply prime_field_polynomial_equivalent_symmetric - L33
exact hs
06Establish htL34–43
Establish this local claim before using it. It is not an additional assumption.
- L34
have ht : PolynomialEquivalent(x,x1,t + L,d,e,t + L)Definitions: PolynomialEquivalent - L35
specialize prime_field_polynomial_equivalent_transitive (x) - L36
specialize prime_field_polynomial_equivalent_transitive (x1) - L37
specialize prime_field_polynomial_equivalent_transitive (t+L) - L38
specialize prime_field_polynomial_equivalent_transitive (b) - L39
specialize prime_field_polynomial_equivalent_transitive (c) - L40
specialize prime_field_polynomial_equivalent_transitive (L) - L41
specialize prime_field_polynomial_equivalent_transitive (d) - L42
specialize prime_field_polynomial_equivalent_transitive (e) - L43
specialize prime_field_polynomial_equivalent_transitive (t+L)
07Use earlier factsL44–46
08Establish hvL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent implies equal same length.
- L47
have hv : BetaPrefixEqual(x,x1,d,e,t + L)Definitions: BetaPrefixEqual - L48
specialize prime_field_polynomial_equivalent_implies_equal_same_length (x) - L49
specialize prime_field_polynomial_equivalent_implies_equal_same_length (x1) - L50
specialize prime_field_polynomial_equivalent_implies_equal_same_length (d) - L51
specialize prime_field_polynomial_equivalent_implies_equal_same_length (e) - L52
specialize prime_field_polynomial_equivalent_implies_equal_same_length (t+L) - L53
apply prime_field_polynomial_equivalent_implies_equal_same_length - L54
exact ht - L55
specialize prime_field_polynomial_left_pad_transport (b) - L56
specialize prime_field_polynomial_left_pad_transport (c)
09Use earlier factsL57–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
specialize prime_field_polynomial_left_pad_transport (b) - L58
specialize prime_field_polynomial_left_pad_transport (c) - L59
specialize prime_field_polynomial_left_pad_transport (L) - L60
specialize prime_field_polynomial_left_pad_transport (t) - L61
specialize prime_field_polynomial_left_pad_transport (x) - L62
specialize prime_field_polynomial_left_pad_transport (x1) - L63
specialize prime_field_polynomial_left_pad_transport (d) - L64
specialize prime_field_polynomial_left_pad_transport (e) - L65
apply prime_field_polynomial_left_pad_transport
10Fix variables and assumptionsL66–69
Original exact command ledger · 72 lines
- 0001
intro b - 0002
intro c - 0003
intro L - 0004
intro t - 0005
intro d - 0006
intro e - 0007
intro he - 0008
have hp : exists B C. (((forall pfp_repeat_index_converse_constructedzeros. (exists pfa_gap_converse_constructedzerosindex. pfa_gap_converse_constructedzerosindex + S (pfp_repeat_index_converse_constructedzeros) = (t)) -> (((exists ff_h_pfp_converse_constructedzerosentry. ff_h_pfp_converse_constructedzerosentry + S (0) = S ((S (pfp_repeat_index_converse_constructedzeros)) * C)) /\ exists ff_q_pfp_converse_constructedzerosentry. B = ff_q_pfp_converse_constructedzerosentry * S ((S (pfp_repeat_index_converse_constructedzeros)) * C) + (0)))) /\ ((forall pfrep_index_converse_constructed pfrep_value_converse_constructed. (exists pfa_gap_converse_constructedbound. pfa_gap_converse_constructedbound + S (pfrep_index_converse_constructed) = (L)) -> (((exists ff_h_pfp_converse_constructedinput. ff_h_pfp_converse_constructedinput + S (pfrep_value_converse_constructed) = S ((S (pfrep_index_converse_constructed)) * c)) /\ exists ff_q_pfp_converse_constructedinput. b = ff_q_pfp_converse_constructedinput * S ((S (pfrep_index_converse_constructed)) * c) + (pfrep_value_converse_constructed))) -> (((exists ff_h_pfp_converse_constructedoutput. ff_h_pfp_converse_constructedoutput + S (pfrep_value_converse_constructed) = S ((S ((t)+pfrep_index_converse_constructed)) * C)) /\ exists ff_q_pfp_converse_constructedoutput. B = ff_q_pfp_converse_constructedoutput * S ((S ((t)+pfrep_index_converse_constructed)) * C) + (pfrep_value_converse_constructed))))))) - 0009
specialize prime_field_polynomial_left_pad_exists (b) - 0010
specialize prime_field_polynomial_left_pad_exists (c) - 0011
specialize prime_field_polynomial_left_pad_exists (t) - 0012
specialize prime_field_polynomial_left_pad_exists (L) - 0013
apply prime_field_polynomial_left_pad_exists - 0014
cases hp - 0015
cases hp_witness - 0016
have hs : forall pfrep_power_converse_source pfrep_left_converse_source pfrep_right_converse_source. ((exists pfrep_position_converse_sourcefirst. ((pfrep_position_converse_sourcefirst+S (pfrep_power_converse_source)=(L)) /\ ((((exists ff_h_pfp_converse_sourcefirstentry. ff_h_pfp_converse_sourcefirstentry + S (pfrep_left_converse_source) = S ((S (pfrep_position_converse_sourcefirst)) * c)) /\ exists ff_q_pfp_converse_sourcefirstentry. b = ff_q_pfp_converse_sourcefirstentry * S ((S (pfrep_position_converse_sourcefirst)) * c) + (pfrep_left_converse_source)))))) \/ (((exists pfrep_gap_converse_sourcefirstoutside. pfrep_gap_converse_sourcefirstoutside+(L)=(pfrep_power_converse_source)) /\ (((pfrep_left_converse_source)=0))))) -> ((exists pfrep_position_converse_sourcesecond. ((pfrep_position_converse_sourcesecond+S (pfrep_power_converse_source)=(t+L)) /\ ((((exists ff_h_pfp_converse_sourcesecondentry. ff_h_pfp_converse_sourcesecondentry + S (pfrep_right_converse_source) = S ((S (pfrep_position_converse_sourcesecond)) * x1)) /\ exists ff_q_pfp_converse_sourcesecondentry. x = ff_q_pfp_converse_sourcesecondentry * S ((S (pfrep_position_converse_sourcesecond)) * x1) + (pfrep_right_converse_source)))))) \/ (((exists pfrep_gap_converse_sourcesecondoutside. pfrep_gap_converse_sourcesecondoutside+(t+L)=(pfrep_power_converse_source)) /\ (((pfrep_right_converse_source)=0))))) -> pfrep_left_converse_source=pfrep_right_converse_source - 0017
specialize prime_field_polynomial_left_pad_equivalent (b) - 0018
specialize prime_field_polynomial_left_pad_equivalent (c) - 0019
specialize prime_field_polynomial_left_pad_equivalent (L) - 0020
specialize prime_field_polynomial_left_pad_equivalent (t) - 0021
specialize prime_field_polynomial_left_pad_equivalent (x) - 0022
specialize prime_field_polynomial_left_pad_equivalent (x1) - 0023
apply prime_field_polynomial_left_pad_equivalent - 0024
exact hp_witness_witness - 0025
have hr : forall pfrep_power_converse_reverse pfrep_left_converse_reverse pfrep_right_converse_reverse. ((exists pfrep_position_converse_reversefirst. ((pfrep_position_converse_reversefirst+S (pfrep_power_converse_reverse)=(t+L)) /\ ((((exists ff_h_pfp_converse_reversefirstentry. ff_h_pfp_converse_reversefirstentry + S (pfrep_left_converse_reverse) = S ((S (pfrep_position_converse_reversefirst)) * x1)) /\ exists ff_q_pfp_converse_reversefirstentry. x = ff_q_pfp_converse_reversefirstentry * S ((S (pfrep_position_converse_reversefirst)) * x1) + (pfrep_left_converse_reverse)))))) \/ (((exists pfrep_gap_converse_reversefirstoutside. pfrep_gap_converse_reversefirstoutside+(t+L)=(pfrep_power_converse_reverse)) /\ (((pfrep_left_converse_reverse)=0))))) -> ((exists pfrep_position_converse_reversesecond. ((pfrep_position_converse_reversesecond+S (pfrep_power_converse_reverse)=(L)) /\ ((((exists ff_h_pfp_converse_reversesecondentry. ff_h_pfp_converse_reversesecondentry + S (pfrep_right_converse_reverse) = S ((S (pfrep_position_converse_reversesecond)) * c)) /\ exists ff_q_pfp_converse_reversesecondentry. b = ff_q_pfp_converse_reversesecondentry * S ((S (pfrep_position_converse_reversesecond)) * c) + (pfrep_right_converse_reverse)))))) \/ (((exists pfrep_gap_converse_reversesecondoutside. pfrep_gap_converse_reversesecondoutside+(L)=(pfrep_power_converse_reverse)) /\ (((pfrep_right_converse_reverse)=0))))) -> pfrep_left_converse_reverse=pfrep_right_converse_reverse - 0026
specialize prime_field_polynomial_equivalent_symmetric (b) - 0027
specialize prime_field_polynomial_equivalent_symmetric (c) - 0028
specialize prime_field_polynomial_equivalent_symmetric (L) - 0029
specialize prime_field_polynomial_equivalent_symmetric (x) - 0030
specialize prime_field_polynomial_equivalent_symmetric (x1) - 0031
specialize prime_field_polynomial_equivalent_symmetric (t+L) - 0032
apply prime_field_polynomial_equivalent_symmetric - 0033
exact hs - 0034
have ht : forall pfrep_power_converse_target pfrep_left_converse_target pfrep_right_converse_target. ((exists pfrep_position_converse_targetfirst. ((pfrep_position_converse_targetfirst+S (pfrep_power_converse_target)=(t+L)) /\ ((((exists ff_h_pfp_converse_targetfirstentry. ff_h_pfp_converse_targetfirstentry + S (pfrep_left_converse_target) = S ((S (pfrep_position_converse_targetfirst)) * x1)) /\ exists ff_q_pfp_converse_targetfirstentry. x = ff_q_pfp_converse_targetfirstentry * S ((S (pfrep_position_converse_targetfirst)) * x1) + (pfrep_left_converse_target)))))) \/ (((exists pfrep_gap_converse_targetfirstoutside. pfrep_gap_converse_targetfirstoutside+(t+L)=(pfrep_power_converse_target)) /\ (((pfrep_left_converse_target)=0))))) -> ((exists pfrep_position_converse_targetsecond. ((pfrep_position_converse_targetsecond+S (pfrep_power_converse_target)=(t+L)) /\ ((((exists ff_h_pfp_converse_targetsecondentry. ff_h_pfp_converse_targetsecondentry + S (pfrep_right_converse_target) = S ((S (pfrep_position_converse_targetsecond)) * e)) /\ exists ff_q_pfp_converse_targetsecondentry. d = ff_q_pfp_converse_targetsecondentry * S ((S (pfrep_position_converse_targetsecond)) * e) + (pfrep_right_converse_target)))))) \/ (((exists pfrep_gap_converse_targetsecondoutside. pfrep_gap_converse_targetsecondoutside+(t+L)=(pfrep_power_converse_target)) /\ (((pfrep_right_converse_target)=0))))) -> pfrep_left_converse_target=pfrep_right_converse_target - 0035
specialize prime_field_polynomial_equivalent_transitive (x) - 0036
specialize prime_field_polynomial_equivalent_transitive (x1) - 0037
specialize prime_field_polynomial_equivalent_transitive (t+L) - 0038
specialize prime_field_polynomial_equivalent_transitive (b) - 0039
specialize prime_field_polynomial_equivalent_transitive (c) - 0040
specialize prime_field_polynomial_equivalent_transitive (L) - 0041
specialize prime_field_polynomial_equivalent_transitive (d) - 0042
specialize prime_field_polynomial_equivalent_transitive (e) - 0043
specialize prime_field_polynomial_equivalent_transitive (t+L) - 0044
apply prime_field_polynomial_equivalent_transitive - 0045
exact hr - 0046
exact he - 0047
have hv : forall mdr_i_pfp_converse_values mdr_a_pfp_converse_values. (exists mdr_gap_pfp_converse_valuesb. mdr_gap_pfp_converse_valuesb + S (mdr_i_pfp_converse_values) = (t+L)) -> (((exists ff_h_mdr_pfp_converse_valueso. ff_h_mdr_pfp_converse_valueso + S (mdr_a_pfp_converse_values) = S ((S (mdr_i_pfp_converse_values)) * x1)) /\ exists ff_q_mdr_pfp_converse_valueso. x = ff_q_mdr_pfp_converse_valueso * S ((S (mdr_i_pfp_converse_values)) * x1) + (mdr_a_pfp_converse_values))) -> (((exists ff_h_mdr_pfp_converse_valuesn. ff_h_mdr_pfp_converse_valuesn + S (mdr_a_pfp_converse_values) = S ((S (mdr_i_pfp_converse_values)) * e)) /\ exists ff_q_mdr_pfp_converse_valuesn. d = ff_q_mdr_pfp_converse_valuesn * S ((S (mdr_i_pfp_converse_values)) * e) + (mdr_a_pfp_converse_values))) - 0048
specialize prime_field_polynomial_equivalent_implies_equal_same_length (x) - 0049
specialize prime_field_polynomial_equivalent_implies_equal_same_length (x1) - 0050
specialize prime_field_polynomial_equivalent_implies_equal_same_length (d) - 0051
specialize prime_field_polynomial_equivalent_implies_equal_same_length (e) - 0052
specialize prime_field_polynomial_equivalent_implies_equal_same_length (t+L) - 0053
apply prime_field_polynomial_equivalent_implies_equal_same_length - 0054
exact ht - 0055
specialize prime_field_polynomial_left_pad_transport (b) - 0056
specialize prime_field_polynomial_left_pad_transport (c) - 0057
specialize prime_field_polynomial_left_pad_transport (b) - 0058
specialize prime_field_polynomial_left_pad_transport (c) - 0059
specialize prime_field_polynomial_left_pad_transport (L) - 0060
specialize prime_field_polynomial_left_pad_transport (t) - 0061
specialize prime_field_polynomial_left_pad_transport (x) - 0062
specialize prime_field_polynomial_left_pad_transport (x1) - 0063
specialize prime_field_polynomial_left_pad_transport (d) - 0064
specialize prime_field_polynomial_left_pad_transport (e) - 0065
apply prime_field_polynomial_left_pad_transport - 0066
intro i - 0067
intro a - 0068
intro hi - 0069
intro ha - 0070
exact ha - 0071
exact hv - 0072
exact hp_witness_witness