Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
All products and sums use actual beta-coded coefficients; equality is formal coefficient equivalence, not equality of evaluations or raw codes. The zero gcd is included. Uniqueness is up to formal equivalence, not unique Bézout coefficients. This proves the polynomial gcd component, not G091 irreducible-polynomial existence or arbitrary prime-power-field construction.
Exact theorem in conservative defined notation
∀ p. ∀ db. ∀ dc. ∀ J. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ M. ∀ rb. ∀ rc. ∀ N. Prime(p) → FpPolynomialRightDivides(p,db,dc,J,ab,ac,L) → FpPolynomialRightDivides(p,db,dc,J,bb,bc,M) → FpPolynomialAlignedAdd(p,bb,bc,M,rb,rc,N,ab,ac,L) → FpPolynomialRightDivides(p,db,dc,J,rb,rc,N)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 255 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
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–10
02Fix variables and assumptionsL11–17
03Establish hp0L18–23
04Separate the logical casesL24–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hDA - L25
cases hDA_right - L26
cases hDA_right_witness - L27
cases hDA_right_witness_witness - L28
cases hDA_right_witness_witness_witness - L29
cases hDA_right_witness_witness_witness_witness - L30
cases hDA_right_witness_witness_witness_witness_witness - L31
cases hDA_right_witness_witness_witness_witness_witness_witness - L32
cases hDB - L33
cases hDB_right
05Separate the logical casesL34–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
06Establish hfirstL40–41
Establish this local claim before using it. It is not an additional assumption.
- L40
have hfirst : FpPolyProduct(p,x,x1,x2,db,dc,J,x3,x4,x5)Definitions: FpPolyProduct(p,x,x1,x2,db,dc,J,x3,x4,x5)Original native command in the exact edition - L41
exact hDA_right_witness_witness_witness_witness_witness_witness_left
07Separate the logical casesL42–44
08Establish hfirst_boundedL45–54
Establish this local claim before using it. It is not an additional assumption.
- L45
have hfirst_bounded : BetaPrefixInto(x3,x4,x5,p)Definitions: BetaPrefixInto(x3,x4,x5,p)Original native command in the exact edition - L46
specialize prime_field_polynomial_convolution_bounded (p) - L47
specialize prime_field_polynomial_convolution_bounded (x) - L48
specialize prime_field_polynomial_convolution_bounded (x1) - L49
specialize prime_field_polynomial_convolution_bounded (x2) - L50
specialize prime_field_polynomial_convolution_bounded (db) - L51
specialize prime_field_polynomial_convolution_bounded (dc) - L52
specialize prime_field_polynomial_convolution_bounded (J) - L53
specialize prime_field_polynomial_convolution_bounded (x3) - L54
specialize prime_field_polynomial_convolution_bounded (x4)
09Use earlier factsL55–57
10Establish hsecondL58–59
Establish this local claim before using it. It is not an additional assumption.
- L58
have hsecond : FpPolyProduct(p,x6,x7,x8,db,dc,J,x9,x10,x11)Definitions: FpPolyProduct(p,x6,x7,x8,db,dc,J,x9,x10,x11)Original native command in the exact edition - L59
exact hDB_right_witness_witness_witness_witness_witness_witness_left
11Separate the logical casesL60–62
12Establish hsecond_boundedL63–72
Establish this local claim before using it. It is not an additional assumption.
- L63
have hsecond_bounded : BetaPrefixInto(x9,x10,x11,p)Definitions: BetaPrefixInto(x9,x10,x11,p)Original native command in the exact edition - L64
specialize prime_field_polynomial_convolution_bounded (p) - L65
specialize prime_field_polynomial_convolution_bounded (x6) - L66
specialize prime_field_polynomial_convolution_bounded (x7) - L67
specialize prime_field_polynomial_convolution_bounded (x8) - L68
specialize prime_field_polynomial_convolution_bounded (db) - L69
specialize prime_field_polynomial_convolution_bounded (dc) - L70
specialize prime_field_polynomial_convolution_bounded (J) - L71
specialize prime_field_polynomial_convolution_bounded (x9) - L72
specialize prime_field_polynomial_convolution_bounded (x10)
13Use earlier factsL73–75
14Establish hwL76–85
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial aligned subtract exists.
- L76
have hw : ∃ wb. ∃ wc. FpPolynomialAlignedAdd(p,x6,x7,x8,wb,wc,x2 + x8,x,x1,x2)Definitions: FpPolynomialAlignedAdd(p,x6,x7,x8,wb,wc,x2 + x8,x,x1,x2)Original native command in the exact edition - L77
specialize prime_field_polynomial_aligned_subtract_exists (p) - L78
specialize prime_field_polynomial_aligned_subtract_exists (x) - L79
specialize prime_field_polynomial_aligned_subtract_exists (x1) - L80
specialize prime_field_polynomial_aligned_subtract_exists (x2) - L81
specialize prime_field_polynomial_aligned_subtract_exists (x6) - L82
specialize prime_field_polynomial_aligned_subtract_exists (x7) - L83
specialize prime_field_polynomial_aligned_subtract_exists (x8) - L84
apply prime_field_polynomial_aligned_subtract_exists - L85
exact hp
15Use earlier factsL86–87
16Separate the logical casesL88–89
17Establish hwboundL90–99
Establish this local claim before using it. It is not an additional assumption.
- L90
have hwbound : BetaPrefixInto(x6,x7,x8,p) ∧ (BetaPrefixInto(x12,x13,x2 + x8,p) ∧ BetaPrefixInto(x,x1,x2,p))Definitions: BetaPrefixInto(x6,x7,x8,p)BetaPrefixInto(x12,x13,x2 + x8,p)BetaPrefixInto(x,x1,x2,p)Original native command in the exact edition - L91
specialize prime_field_polynomial_aligned_add_bounded (p) - L92
specialize prime_field_polynomial_aligned_add_bounded (x6) - L93
specialize prime_field_polynomial_aligned_add_bounded (x7) - L94
specialize prime_field_polynomial_aligned_add_bounded (x8) - L95
specialize prime_field_polynomial_aligned_add_bounded (x12) - L96
specialize prime_field_polynomial_aligned_add_bounded (x13) - L97
specialize prime_field_polynomial_aligned_add_bounded ((x2)+(x8)) - L98
specialize prime_field_polynomial_aligned_add_bounded (x) - L99
specialize prime_field_polynomial_aligned_add_bounded (x1)
18Use earlier factsL100–102
19Separate the logical casesL103–104
20Establish hresult_lengthL105–108
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial product length exists.
- L105
have hresult_length : ∃ n. PolynomialProductLength(x2 + x8,J,n)Definitions: PolynomialProductLength(x2 + x8,J,n)Original native command in the exact edition - L106
specialize polynomial_product_length_exists ((x2)+(x8)) - L107
specialize polynomial_product_length_exists (J) - L108
apply polynomial_product_length_exists
21Separate the logical casesL109–109
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L109
cases hresult_length
22Establish hresult_productL110–119
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial convolution at length exists.
- L110
have hresult_product : ∃ b. ∃ c. FpPolyProduct(p,x12,x13,x2 + x8,db,dc,J,b,c,x14)Definitions: FpPolyProduct(p,x12,x13,x2 + x8,db,dc,J,b,c,x14)Original native command in the exact edition - L111
specialize prime_field_polynomial_convolution_at_length_exists (p) - L112
specialize prime_field_polynomial_convolution_at_length_exists (x12) - L113
specialize prime_field_polynomial_convolution_at_length_exists (x13) - L114
specialize prime_field_polynomial_convolution_at_length_exists ((x2)+(x8)) - L115
specialize prime_field_polynomial_convolution_at_length_exists (db) - L116
specialize prime_field_polynomial_convolution_at_length_exists (dc) - L117
specialize prime_field_polynomial_convolution_at_length_exists (J) - L118
specialize prime_field_polynomial_convolution_at_length_exists (x14) - L119
apply prime_field_polynomial_convolution_at_length_exists
23Use earlier factsL120–123
24Separate the logical casesL124–125
25Establish htboundL126–135
Establish this local claim before using it. It is not an additional assumption.
- L126
have htbound : BetaPrefixInto(x15,x16,x14,p)Definitions: BetaPrefixInto(x15,x16,x14,p)Original native command in the exact edition - L127
specialize prime_field_polynomial_convolution_bounded (p) - L128
specialize prime_field_polynomial_convolution_bounded (x12) - L129
specialize prime_field_polynomial_convolution_bounded (x13) - L130
specialize prime_field_polynomial_convolution_bounded ((x2)+(x8)) - L131
specialize prime_field_polynomial_convolution_bounded (db) - L132
specialize prime_field_polynomial_convolution_bounded (dc) - L133
specialize prime_field_polynomial_convolution_bounded (J) - L134
specialize prime_field_polynomial_convolution_bounded (x15) - L135
specialize prime_field_polynomial_convolution_bounded (x16)
26Use earlier factsL136–138
27Establish hdistrL139–148
Establish this local claim before using it. It is not an additional assumption.
- L139
have hdistr : FpPolynomialAlignedAdd(p,x9,x10,x11,x15,x16,x14,x3,x4,x5)Definitions: FpPolynomialAlignedAdd(p,x9,x10,x11,x15,x16,x14,x3,x4,x5)Original native command in the exact edition - L140
specialize prime_field_polynomial_aligned_convolution_right_add (p) - L141
specialize prime_field_polynomial_aligned_convolution_right_add (x6) - L142
specialize prime_field_polynomial_aligned_convolution_right_add (x7) - L143
specialize prime_field_polynomial_aligned_convolution_right_add (x8) - L144
specialize prime_field_polynomial_aligned_convolution_right_add (x12) - L145
specialize prime_field_polynomial_aligned_convolution_right_add (x13) - L146
specialize prime_field_polynomial_aligned_convolution_right_add ((x2)+(x8)) - L147
specialize prime_field_polynomial_aligned_convolution_right_add (x) - L148
specialize prime_field_polynomial_aligned_convolution_right_add (x1)
28Use earlier factsL149–158
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L149
specialize prime_field_polynomial_aligned_convolution_right_add (x2) - L150
specialize prime_field_polynomial_aligned_convolution_right_add (db) - L151
specialize prime_field_polynomial_aligned_convolution_right_add (dc) - L152
specialize prime_field_polynomial_aligned_convolution_right_add (J) - L153
specialize prime_field_polynomial_aligned_convolution_right_add (x9) - L154
specialize prime_field_polynomial_aligned_convolution_right_add (x10) - L155
specialize prime_field_polynomial_aligned_convolution_right_add (x11) - L156
specialize prime_field_polynomial_aligned_convolution_right_add (x15) - L157
specialize prime_field_polynomial_aligned_convolution_right_add (x16) - L158
specialize prime_field_polynomial_aligned_convolution_right_add (x14)
29Use earlier factsL159–167
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L159
specialize prime_field_polynomial_aligned_convolution_right_add (x3) - L160
specialize prime_field_polynomial_aligned_convolution_right_add (x4) - L161
specialize prime_field_polynomial_aligned_convolution_right_add (x5) - L162
apply prime_field_polynomial_aligned_convolution_right_add - L163
exact hp - L164
exact hw_witness_witness - L165
exact hDB_right_witness_witness_witness_witness_witness_witness_left - L166
exact hresult_product_witness_witness - L167
exact hDA_right_witness_witness_witness_witness_witness_witness_left
30Establish hcompareL168–177
Establish this local claim before using it. It is not an additional assumption.
- L168
have hcompare : FpPolynomialAlignedAdd(p,bb,bc,M,x15,x16,x14,ab,ac,L)Definitions: FpPolynomialAlignedAdd(p,bb,bc,M,x15,x16,x14,ab,ac,L)Original native command in the exact edition - L169
specialize prime_field_polynomial_aligned_add_transport (p) - L170
specialize prime_field_polynomial_aligned_add_transport (x9) - L171
specialize prime_field_polynomial_aligned_add_transport (x10) - L172
specialize prime_field_polynomial_aligned_add_transport (x11) - L173
specialize prime_field_polynomial_aligned_add_transport (x15) - L174
specialize prime_field_polynomial_aligned_add_transport (x16) - L175
specialize prime_field_polynomial_aligned_add_transport (x14) - L176
specialize prime_field_polynomial_aligned_add_transport (x3) - L177
specialize prime_field_polynomial_aligned_add_transport (x4)
31Use earlier factsL178–187
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L178
specialize prime_field_polynomial_aligned_add_transport (x5) - L179
specialize prime_field_polynomial_aligned_add_transport (bb) - L180
specialize prime_field_polynomial_aligned_add_transport (bc) - L181
specialize prime_field_polynomial_aligned_add_transport (M) - L182
specialize prime_field_polynomial_aligned_add_transport (x15) - L183
specialize prime_field_polynomial_aligned_add_transport (x16) - L184
specialize prime_field_polynomial_aligned_add_transport (x14) - L185
specialize prime_field_polynomial_aligned_add_transport (ab) - L186
specialize prime_field_polynomial_aligned_add_transport (ac) - L187
specialize prime_field_polynomial_aligned_add_transport (L)
32Use earlier factsL188–197
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L188
apply prime_field_polynomial_aligned_add_transport - L189
exact hDB_left - L190
exact htbound - L191
exact hDA_left - L192
specialize prime_field_polynomial_equivalent_symmetric (x9) - L193
specialize prime_field_polynomial_equivalent_symmetric (x10) - L194
specialize prime_field_polynomial_equivalent_symmetric (x11) - L195
specialize prime_field_polynomial_equivalent_symmetric (bb) - L196
specialize prime_field_polynomial_equivalent_symmetric (bc) - L197
specialize prime_field_polynomial_equivalent_symmetric (M)
33Use earlier factsL198–205
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L198
apply prime_field_polynomial_equivalent_symmetric - L199
exact hDB_right_witness_witness_witness_witness_witness_witness_right - L200
specialize prime_field_polynomial_power_coefficient_functional (x15) - L201
specialize prime_field_polynomial_power_coefficient_functional (x16) - L202
specialize prime_field_polynomial_power_coefficient_functional (x14) - L203
apply prime_field_polynomial_power_coefficient_functional - L204
exact hDA_right_witness_witness_witness_witness_witness_witness_right - L205
exact hdistr
34Establish heqL206–215
Establish this local claim before using it. It is not an additional assumption.
- L206
have heq : PolynomialEquivalent(x15,x16,x14,rb,rc,N)Definitions: PolynomialEquivalent(x15,x16,x14,rb,rc,N)Original native command in the exact edition - L207
specialize prime_field_polynomial_aligned_add_cancel_left (p) - L208
specialize prime_field_polynomial_aligned_add_cancel_left (bb) - L209
specialize prime_field_polynomial_aligned_add_cancel_left (bc) - L210
specialize prime_field_polynomial_aligned_add_cancel_left (M) - L211
specialize prime_field_polynomial_aligned_add_cancel_left (x15) - L212
specialize prime_field_polynomial_aligned_add_cancel_left (x16) - L213
specialize prime_field_polynomial_aligned_add_cancel_left (x14) - L214
specialize prime_field_polynomial_aligned_add_cancel_left (rb) - L215
specialize prime_field_polynomial_aligned_add_cancel_left (rc)
35Use earlier factsL216–223
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L216
specialize prime_field_polynomial_aligned_add_cancel_left (N) - L217
specialize prime_field_polynomial_aligned_add_cancel_left (ab) - L218
specialize prime_field_polynomial_aligned_add_cancel_left (ac) - L219
specialize prime_field_polynomial_aligned_add_cancel_left (L) - L220
apply prime_field_polynomial_aligned_add_cancel_left - L221
exact hp - L222
exact hcompare - L223
exact hop
36Establish hopboundL224–233
Establish this local claim before using it. It is not an additional assumption.
- L224
have hopbound : BetaPrefixInto(bb,bc,M,p) ∧ (BetaPrefixInto(rb,rc,N,p) ∧ BetaPrefixInto(ab,ac,L,p))Definitions: BetaPrefixInto(bb,bc,M,p)BetaPrefixInto(rb,rc,N,p)BetaPrefixInto(ab,ac,L,p)Original native command in the exact edition - L225
specialize prime_field_polynomial_aligned_add_bounded (p) - L226
specialize prime_field_polynomial_aligned_add_bounded (bb) - L227
specialize prime_field_polynomial_aligned_add_bounded (bc) - L228
specialize prime_field_polynomial_aligned_add_bounded (M) - L229
specialize prime_field_polynomial_aligned_add_bounded (rb) - L230
specialize prime_field_polynomial_aligned_add_bounded (rc) - L231
specialize prime_field_polynomial_aligned_add_bounded (N) - L232
specialize prime_field_polynomial_aligned_add_bounded (ab) - L233
specialize prime_field_polynomial_aligned_add_bounded (ac)
37Use earlier factsL234–236
38Separate the logical casesL237–238
39Use earlier factsL239–248
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L239
specialize prime_field_polynomial_right_divides_from_product (p) - L240
specialize prime_field_polynomial_right_divides_from_product (db) - L241
specialize prime_field_polynomial_right_divides_from_product (dc) - L242
specialize prime_field_polynomial_right_divides_from_product (J) - L243
specialize prime_field_polynomial_right_divides_from_product (rb) - L244
specialize prime_field_polynomial_right_divides_from_product (rc) - L245
specialize prime_field_polynomial_right_divides_from_product (N) - L246
specialize prime_field_polynomial_right_divides_from_product (x12) - L247
specialize prime_field_polynomial_right_divides_from_product (x13) - L248
specialize prime_field_polynomial_right_divides_from_product ((x2)+(x8))
40Use earlier factsL249–255
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L249
specialize prime_field_polynomial_right_divides_from_product (x15) - L250
specialize prime_field_polynomial_right_divides_from_product (x16) - L251
specialize prime_field_polynomial_right_divides_from_product (x14) - L252
apply prime_field_polynomial_right_divides_from_product - L253
exact hopbound_right_left - L254
exact hresult_product_witness_witness - L255
exact heq
Original defined command ledger · 255 lines
- 0001
intro p - 0002
intro db - 0003
intro dc - 0004
intro J - 0005
intro ab - 0006
intro ac - 0007
intro L - 0008
intro bb - 0009
intro bc - 0010
intro M - 0011
intro rb - 0012
intro rc - 0013
intro N - 0014
intro hp - 0015
intro hDA - 0016
intro hDB - 0017
intro hop - 0018
have hp0 : ~(p=0) - 0019
intro hz - 0020
specialize prime_nonzero (p) - 0021
apply prime_nonzero - 0022
exact hp - 0023
exact hz - 0024
cases hDA - 0025
cases hDA_right - 0026
cases hDA_right_witness - 0027
cases hDA_right_witness_witness - 0028
cases hDA_right_witness_witness_witness - 0029
cases hDA_right_witness_witness_witness_witness - 0030
cases hDA_right_witness_witness_witness_witness_witness - 0031
cases hDA_right_witness_witness_witness_witness_witness_witness - 0032
cases hDB - 0033
cases hDB_right - 0034
cases hDB_right_witness - 0035
cases hDB_right_witness_witness - 0036
cases hDB_right_witness_witness_witness - 0037
cases hDB_right_witness_witness_witness_witness - 0038
cases hDB_right_witness_witness_witness_witness_witness - 0039
cases hDB_right_witness_witness_witness_witness_witness_witness - 0040
have hfirst : FpPolyProduct(p,x,x1,x2,db,dc,J,x3,x4,x5) - 0041
exact hDA_right_witness_witness_witness_witness_witness_witness_left - 0042
cases hfirst - 0043
cases hfirst_right - 0044
cases hfirst_right_right - 0045
have hfirst_bounded : BetaPrefixInto(x3,x4,x5,p) - 0046
specialize prime_field_polynomial_convolution_bounded (p) - 0047
specialize prime_field_polynomial_convolution_bounded (x) - 0048
specialize prime_field_polynomial_convolution_bounded (x1) - 0049
specialize prime_field_polynomial_convolution_bounded (x2) - 0050
specialize prime_field_polynomial_convolution_bounded (db) - 0051
specialize prime_field_polynomial_convolution_bounded (dc) - 0052
specialize prime_field_polynomial_convolution_bounded (J) - 0053
specialize prime_field_polynomial_convolution_bounded (x3) - 0054
specialize prime_field_polynomial_convolution_bounded (x4) - 0055
specialize prime_field_polynomial_convolution_bounded (x5) - 0056
apply prime_field_polynomial_convolution_bounded - 0057
exact hDA_right_witness_witness_witness_witness_witness_witness_left - 0058
have hsecond : FpPolyProduct(p,x6,x7,x8,db,dc,J,x9,x10,x11) - 0059
exact hDB_right_witness_witness_witness_witness_witness_witness_left - 0060
cases hsecond - 0061
cases hsecond_right - 0062
cases hsecond_right_right - 0063
have hsecond_bounded : BetaPrefixInto(x9,x10,x11,p) - 0064
specialize prime_field_polynomial_convolution_bounded (p) - 0065
specialize prime_field_polynomial_convolution_bounded (x6) - 0066
specialize prime_field_polynomial_convolution_bounded (x7) - 0067
specialize prime_field_polynomial_convolution_bounded (x8) - 0068
specialize prime_field_polynomial_convolution_bounded (db) - 0069
specialize prime_field_polynomial_convolution_bounded (dc) - 0070
specialize prime_field_polynomial_convolution_bounded (J) - 0071
specialize prime_field_polynomial_convolution_bounded (x9) - 0072
specialize prime_field_polynomial_convolution_bounded (x10) - 0073
specialize prime_field_polynomial_convolution_bounded (x11) - 0074
apply prime_field_polynomial_convolution_bounded - 0075
exact hDB_right_witness_witness_witness_witness_witness_witness_left - 0076
have hw : ∃ wb. ∃ wc. FpPolynomialAlignedAdd(p,x6,x7,x8,wb,wc,x2 + x8,x,x1,x2) - 0077
specialize prime_field_polynomial_aligned_subtract_exists (p) - 0078
specialize prime_field_polynomial_aligned_subtract_exists (x) - 0079
specialize prime_field_polynomial_aligned_subtract_exists (x1) - 0080
specialize prime_field_polynomial_aligned_subtract_exists (x2) - 0081
specialize prime_field_polynomial_aligned_subtract_exists (x6) - 0082
specialize prime_field_polynomial_aligned_subtract_exists (x7) - 0083
specialize prime_field_polynomial_aligned_subtract_exists (x8) - 0084
apply prime_field_polynomial_aligned_subtract_exists - 0085
exact hp - 0086
exact hfirst_left - 0087
exact hsecond_left - 0088
cases hw - 0089
cases hw_witness - 0090
have hwbound : BetaPrefixInto(x6,x7,x8,p) ∧ (BetaPrefixInto(x12,x13,x2 + x8,p) ∧ BetaPrefixInto(x,x1,x2,p)) - 0091
specialize prime_field_polynomial_aligned_add_bounded (p) - 0092
specialize prime_field_polynomial_aligned_add_bounded (x6) - 0093
specialize prime_field_polynomial_aligned_add_bounded (x7) - 0094
specialize prime_field_polynomial_aligned_add_bounded (x8) - 0095
specialize prime_field_polynomial_aligned_add_bounded (x12) - 0096
specialize prime_field_polynomial_aligned_add_bounded (x13) - 0097
specialize prime_field_polynomial_aligned_add_bounded ((x2)+(x8)) - 0098
specialize prime_field_polynomial_aligned_add_bounded (x) - 0099
specialize prime_field_polynomial_aligned_add_bounded (x1) - 0100
specialize prime_field_polynomial_aligned_add_bounded (x2) - 0101
apply prime_field_polynomial_aligned_add_bounded - 0102
exact hw_witness_witness - 0103
cases hwbound - 0104
cases hwbound_right - 0105
have hresult_length : ∃ n. PolynomialProductLength(x2 + x8,J,n) - 0106
specialize polynomial_product_length_exists ((x2)+(x8)) - 0107
specialize polynomial_product_length_exists (J) - 0108
apply polynomial_product_length_exists - 0109
cases hresult_length - 0110
have hresult_product : ∃ b. ∃ c. FpPolyProduct(p,x12,x13,x2 + x8,db,dc,J,b,c,x14) - 0111
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0112
specialize prime_field_polynomial_convolution_at_length_exists (x12) - 0113
specialize prime_field_polynomial_convolution_at_length_exists (x13) - 0114
specialize prime_field_polynomial_convolution_at_length_exists ((x2)+(x8)) - 0115
specialize prime_field_polynomial_convolution_at_length_exists (db) - 0116
specialize prime_field_polynomial_convolution_at_length_exists (dc) - 0117
specialize prime_field_polynomial_convolution_at_length_exists (J) - 0118
specialize prime_field_polynomial_convolution_at_length_exists (x14) - 0119
apply prime_field_polynomial_convolution_at_length_exists - 0120
exact hp0 - 0121
exact hwbound_right_left - 0122
exact hfirst_right_left - 0123
exact hresult_length_witness - 0124
cases hresult_product - 0125
cases hresult_product_witness - 0126
have htbound : BetaPrefixInto(x15,x16,x14,p) - 0127
specialize prime_field_polynomial_convolution_bounded (p) - 0128
specialize prime_field_polynomial_convolution_bounded (x12) - 0129
specialize prime_field_polynomial_convolution_bounded (x13) - 0130
specialize prime_field_polynomial_convolution_bounded ((x2)+(x8)) - 0131
specialize prime_field_polynomial_convolution_bounded (db) - 0132
specialize prime_field_polynomial_convolution_bounded (dc) - 0133
specialize prime_field_polynomial_convolution_bounded (J) - 0134
specialize prime_field_polynomial_convolution_bounded (x15) - 0135
specialize prime_field_polynomial_convolution_bounded (x16) - 0136
specialize prime_field_polynomial_convolution_bounded (x14) - 0137
apply prime_field_polynomial_convolution_bounded - 0138
exact hresult_product_witness_witness - 0139
have hdistr : FpPolynomialAlignedAdd(p,x9,x10,x11,x15,x16,x14,x3,x4,x5) - 0140
specialize prime_field_polynomial_aligned_convolution_right_add (p) - 0141
specialize prime_field_polynomial_aligned_convolution_right_add (x6) - 0142
specialize prime_field_polynomial_aligned_convolution_right_add (x7) - 0143
specialize prime_field_polynomial_aligned_convolution_right_add (x8) - 0144
specialize prime_field_polynomial_aligned_convolution_right_add (x12) - 0145
specialize prime_field_polynomial_aligned_convolution_right_add (x13) - 0146
specialize prime_field_polynomial_aligned_convolution_right_add ((x2)+(x8)) - 0147
specialize prime_field_polynomial_aligned_convolution_right_add (x) - 0148
specialize prime_field_polynomial_aligned_convolution_right_add (x1) - 0149
specialize prime_field_polynomial_aligned_convolution_right_add (x2) - 0150
specialize prime_field_polynomial_aligned_convolution_right_add (db) - 0151
specialize prime_field_polynomial_aligned_convolution_right_add (dc) - 0152
specialize prime_field_polynomial_aligned_convolution_right_add (J) - 0153
specialize prime_field_polynomial_aligned_convolution_right_add (x9) - 0154
specialize prime_field_polynomial_aligned_convolution_right_add (x10) - 0155
specialize prime_field_polynomial_aligned_convolution_right_add (x11) - 0156
specialize prime_field_polynomial_aligned_convolution_right_add (x15) - 0157
specialize prime_field_polynomial_aligned_convolution_right_add (x16) - 0158
specialize prime_field_polynomial_aligned_convolution_right_add (x14) - 0159
specialize prime_field_polynomial_aligned_convolution_right_add (x3) - 0160
specialize prime_field_polynomial_aligned_convolution_right_add (x4) - 0161
specialize prime_field_polynomial_aligned_convolution_right_add (x5) - 0162
apply prime_field_polynomial_aligned_convolution_right_add - 0163
exact hp - 0164
exact hw_witness_witness - 0165
exact hDB_right_witness_witness_witness_witness_witness_witness_left - 0166
exact hresult_product_witness_witness - 0167
exact hDA_right_witness_witness_witness_witness_witness_witness_left - 0168
have hcompare : FpPolynomialAlignedAdd(p,bb,bc,M,x15,x16,x14,ab,ac,L) - 0169
specialize prime_field_polynomial_aligned_add_transport (p) - 0170
specialize prime_field_polynomial_aligned_add_transport (x9) - 0171
specialize prime_field_polynomial_aligned_add_transport (x10) - 0172
specialize prime_field_polynomial_aligned_add_transport (x11) - 0173
specialize prime_field_polynomial_aligned_add_transport (x15) - 0174
specialize prime_field_polynomial_aligned_add_transport (x16) - 0175
specialize prime_field_polynomial_aligned_add_transport (x14) - 0176
specialize prime_field_polynomial_aligned_add_transport (x3) - 0177
specialize prime_field_polynomial_aligned_add_transport (x4) - 0178
specialize prime_field_polynomial_aligned_add_transport (x5) - 0179
specialize prime_field_polynomial_aligned_add_transport (bb) - 0180
specialize prime_field_polynomial_aligned_add_transport (bc) - 0181
specialize prime_field_polynomial_aligned_add_transport (M) - 0182
specialize prime_field_polynomial_aligned_add_transport (x15) - 0183
specialize prime_field_polynomial_aligned_add_transport (x16) - 0184
specialize prime_field_polynomial_aligned_add_transport (x14) - 0185
specialize prime_field_polynomial_aligned_add_transport (ab) - 0186
specialize prime_field_polynomial_aligned_add_transport (ac) - 0187
specialize prime_field_polynomial_aligned_add_transport (L) - 0188
apply prime_field_polynomial_aligned_add_transport - 0189
exact hDB_left - 0190
exact htbound - 0191
exact hDA_left - 0192
specialize prime_field_polynomial_equivalent_symmetric (x9) - 0193
specialize prime_field_polynomial_equivalent_symmetric (x10) - 0194
specialize prime_field_polynomial_equivalent_symmetric (x11) - 0195
specialize prime_field_polynomial_equivalent_symmetric (bb) - 0196
specialize prime_field_polynomial_equivalent_symmetric (bc) - 0197
specialize prime_field_polynomial_equivalent_symmetric (M) - 0198
apply prime_field_polynomial_equivalent_symmetric - 0199
exact hDB_right_witness_witness_witness_witness_witness_witness_right - 0200
specialize prime_field_polynomial_power_coefficient_functional (x15) - 0201
specialize prime_field_polynomial_power_coefficient_functional (x16) - 0202
specialize prime_field_polynomial_power_coefficient_functional (x14) - 0203
apply prime_field_polynomial_power_coefficient_functional - 0204
exact hDA_right_witness_witness_witness_witness_witness_witness_right - 0205
exact hdistr - 0206
have heq : PolynomialEquivalent(x15,x16,x14,rb,rc,N) - 0207
specialize prime_field_polynomial_aligned_add_cancel_left (p) - 0208
specialize prime_field_polynomial_aligned_add_cancel_left (bb) - 0209
specialize prime_field_polynomial_aligned_add_cancel_left (bc) - 0210
specialize prime_field_polynomial_aligned_add_cancel_left (M) - 0211
specialize prime_field_polynomial_aligned_add_cancel_left (x15) - 0212
specialize prime_field_polynomial_aligned_add_cancel_left (x16) - 0213
specialize prime_field_polynomial_aligned_add_cancel_left (x14) - 0214
specialize prime_field_polynomial_aligned_add_cancel_left (rb) - 0215
specialize prime_field_polynomial_aligned_add_cancel_left (rc) - 0216
specialize prime_field_polynomial_aligned_add_cancel_left (N) - 0217
specialize prime_field_polynomial_aligned_add_cancel_left (ab) - 0218
specialize prime_field_polynomial_aligned_add_cancel_left (ac) - 0219
specialize prime_field_polynomial_aligned_add_cancel_left (L) - 0220
apply prime_field_polynomial_aligned_add_cancel_left - 0221
exact hp - 0222
exact hcompare - 0223
exact hop - 0224
have hopbound : BetaPrefixInto(bb,bc,M,p) ∧ (BetaPrefixInto(rb,rc,N,p) ∧ BetaPrefixInto(ab,ac,L,p)) - 0225
specialize prime_field_polynomial_aligned_add_bounded (p) - 0226
specialize prime_field_polynomial_aligned_add_bounded (bb) - 0227
specialize prime_field_polynomial_aligned_add_bounded (bc) - 0228
specialize prime_field_polynomial_aligned_add_bounded (M) - 0229
specialize prime_field_polynomial_aligned_add_bounded (rb) - 0230
specialize prime_field_polynomial_aligned_add_bounded (rc) - 0231
specialize prime_field_polynomial_aligned_add_bounded (N) - 0232
specialize prime_field_polynomial_aligned_add_bounded (ab) - 0233
specialize prime_field_polynomial_aligned_add_bounded (ac) - 0234
specialize prime_field_polynomial_aligned_add_bounded (L) - 0235
apply prime_field_polynomial_aligned_add_bounded - 0236
exact hop - 0237
cases hopbound - 0238
cases hopbound_right - 0239
specialize prime_field_polynomial_right_divides_from_product (p) - 0240
specialize prime_field_polynomial_right_divides_from_product (db) - 0241
specialize prime_field_polynomial_right_divides_from_product (dc) - 0242
specialize prime_field_polynomial_right_divides_from_product (J) - 0243
specialize prime_field_polynomial_right_divides_from_product (rb) - 0244
specialize prime_field_polynomial_right_divides_from_product (rc) - 0245
specialize prime_field_polynomial_right_divides_from_product (N) - 0246
specialize prime_field_polynomial_right_divides_from_product (x12) - 0247
specialize prime_field_polynomial_right_divides_from_product (x13) - 0248
specialize prime_field_polynomial_right_divides_from_product ((x2)+(x8)) - 0249
specialize prime_field_polynomial_right_divides_from_product (x15) - 0250
specialize prime_field_polynomial_right_divides_from_product (x16) - 0251
specialize prime_field_polynomial_right_divides_from_product (x14) - 0252
apply prime_field_polynomial_right_divides_from_product - 0253
exact hopbound_right_left - 0254
exact hresult_product_witness_witness - 0255
exact heq