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. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ M. ∀ cb. ∀ cc. ∀ J. ∀ rb. ∀ rc. ∀ N. Prime(p) → FpPolynomialAlignedAdd(p,ab,ac,L,bb,bc,M,rb,rc,N) → FpPolynomialAlignedAdd(p,ab,ac,L,cb,cc,J,rb,rc,N) → PolynomialEquivalent(bb,bc,M,cb,cc,J)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 279 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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Establish hbboundL17–26
Establish this local claim before using it. It is not an additional assumption.
- L17
have hbbound : BetaPrefixInto(ab,ac,L,p) ∧ (BetaPrefixInto(bb,bc,M,p) ∧ BetaPrefixInto(rb,rc,N,p))Definitions: BetaPrefixInto(ab,ac,L,p)BetaPrefixInto(bb,bc,M,p)BetaPrefixInto(rb,rc,N,p)Original native command in the exact edition - L18
specialize prime_field_polynomial_aligned_add_bounded (p) - L19
specialize prime_field_polynomial_aligned_add_bounded (ab) - L20
specialize prime_field_polynomial_aligned_add_bounded (ac) - L21
specialize prime_field_polynomial_aligned_add_bounded (L) - L22
specialize prime_field_polynomial_aligned_add_bounded (bb) - L23
specialize prime_field_polynomial_aligned_add_bounded (bc) - L24
specialize prime_field_polynomial_aligned_add_bounded (M) - L25
specialize prime_field_polynomial_aligned_add_bounded (rb) - L26
specialize prime_field_polynomial_aligned_add_bounded (rc)
04Use earlier factsL27–29
05Separate the logical casesL30–31
06Establish hcboundL32–41
Establish this local claim before using it. It is not an additional assumption.
- L32
have hcbound : BetaPrefixInto(ab,ac,L,p) ∧ (BetaPrefixInto(cb,cc,J,p) ∧ BetaPrefixInto(rb,rc,N,p))Definitions: BetaPrefixInto(ab,ac,L,p)BetaPrefixInto(cb,cc,J,p)BetaPrefixInto(rb,rc,N,p)Original native command in the exact edition - L33
specialize prime_field_polynomial_aligned_add_bounded (p) - L34
specialize prime_field_polynomial_aligned_add_bounded (ab) - L35
specialize prime_field_polynomial_aligned_add_bounded (ac) - L36
specialize prime_field_polynomial_aligned_add_bounded (L) - L37
specialize prime_field_polynomial_aligned_add_bounded (cb) - L38
specialize prime_field_polynomial_aligned_add_bounded (cc) - L39
specialize prime_field_polynomial_aligned_add_bounded (J) - L40
specialize prime_field_polynomial_aligned_add_bounded (rb) - L41
specialize prime_field_polynomial_aligned_add_bounded (rc)
07Use earlier factsL42–44
08Separate the logical casesL45–46
09Establish cancel_representative_0L47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial bounded representative at length exists.
- L47
have cancel_representative_0 : ∃ cancel_representative_0_code. ∃ cancel_representative_0_scale. BetaPrefixInto(cancel_representative_0_code,cancel_representative_0_scale,L + (M + (J + N)),p) ∧ PolynomialEquivalent(ab,ac,L,cancel_representative_0_code,cancel_representative_0_scale,L + (M + (J + N)))Definitions: BetaPrefixInto(cancel_representative_0_code,cancel_representative_0_scale,L + (M + (J + N)),p)PolynomialEquivalent(ab,ac,L,cancel_representative_0_code,cancel_representative_0_scale,L + (M + (J + N)))Original native command in the exact edition - L48
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - L49
specialize prime_field_polynomial_bounded_representative_at_length_exists (ab) - L50
specialize prime_field_polynomial_bounded_representative_at_length_exists (ac) - L51
specialize prime_field_polynomial_bounded_representative_at_length_exists (L) - L52
specialize prime_field_polynomial_bounded_representative_at_length_exists ((L)+((M)+((J)+(N)))) - L53
apply prime_field_polynomial_bounded_representative_at_length_exists - L54
exact hp - L55
exact hbbound_left - L56
specialize le_add_right (L)
10Use earlier factsL57–58
11Separate the logical casesL59–61
12Establish cancel_representative_1L62–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial bounded representative at length exists.
- L62
have cancel_representative_1 : ∃ cancel_representative_1_code. ∃ cancel_representative_1_scale. BetaPrefixInto(cancel_representative_1_code,cancel_representative_1_scale,L + (M + (J + N)),p) ∧ PolynomialEquivalent(bb,bc,M,cancel_representative_1_code,cancel_representative_1_scale,L + (M + (J + N)))Definitions: BetaPrefixInto(cancel_representative_1_code,cancel_representative_1_scale,L + (M + (J + N)),p)PolynomialEquivalent(bb,bc,M,cancel_representative_1_code,cancel_representative_1_scale,L + (M + (J + N)))Original native command in the exact edition - L63
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - L64
specialize prime_field_polynomial_bounded_representative_at_length_exists (bb) - L65
specialize prime_field_polynomial_bounded_representative_at_length_exists (bc) - L66
specialize prime_field_polynomial_bounded_representative_at_length_exists (M) - L67
specialize prime_field_polynomial_bounded_representative_at_length_exists ((L)+((M)+((J)+(N)))) - L68
apply prime_field_polynomial_bounded_representative_at_length_exists - L69
exact hp - L70
exact hbbound_right_left
13Establish length_bound_cancel_representative_1L71–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le add right.
- L71
have length_bound_cancel_representative_1 : Le(M,M + (J + N))Definitions: Le(M,M + (J + N))Original native command in the exact edition - L72
specialize le_add_right (M) - L73
specialize le_add_right ((J)+(N)) - L74
apply le_add_right - L75
specialize le_trans (M) - L76
specialize le_trans ((M)+((J)+(N))) - L77
specialize le_trans ((L)+((M)+((J)+(N)))) - L78
apply le_trans - L79
exact length_bound_cancel_representative_1
14Construct an explicit witnessL80–80
Supply the displayed value, then prove that it has the required property.
- L80
exists L
15Calculate and transport equalitiesL81–81
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L81
refl
16Separate the logical casesL82–84
17Establish cancel_representative_2L85–93
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial bounded representative at length exists.
- L85
have cancel_representative_2 : ∃ cancel_representative_2_code. ∃ cancel_representative_2_scale. BetaPrefixInto(cancel_representative_2_code,cancel_representative_2_scale,L + (M + (J + N)),p) ∧ PolynomialEquivalent(cb,cc,J,cancel_representative_2_code,cancel_representative_2_scale,L + (M + (J + N)))Definitions: BetaPrefixInto(cancel_representative_2_code,cancel_representative_2_scale,L + (M + (J + N)),p)PolynomialEquivalent(cb,cc,J,cancel_representative_2_code,cancel_representative_2_scale,L + (M + (J + N)))Original native command in the exact edition - L86
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - L87
specialize prime_field_polynomial_bounded_representative_at_length_exists (cb) - L88
specialize prime_field_polynomial_bounded_representative_at_length_exists (cc) - L89
specialize prime_field_polynomial_bounded_representative_at_length_exists (J) - L90
specialize prime_field_polynomial_bounded_representative_at_length_exists ((L)+((M)+((J)+(N)))) - L91
apply prime_field_polynomial_bounded_representative_at_length_exists - L92
exact hp - L93
exact hcbound_right_left
18Establish length_bound_cancel_representative_2L94–94
Establish this local claim before using it. It is not an additional assumption.
- L94
have length_bound_cancel_representative_2 : Le(J,M + (J + N))Definitions: Le(J,M + (J + N))Original native command in the exact edition
19Establish length_bound_cancel_representative_2_innerL95–103
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le add right.
- L95
have length_bound_cancel_representative_2_inner : Le(J,J + N)Definitions: Le(J,J + N)Original native command in the exact edition - L96
specialize le_add_right (J) - L97
specialize le_add_right (N) - L98
apply le_add_right - L99
specialize le_trans (J) - L100
specialize le_trans ((J)+(N)) - L101
specialize le_trans ((M)+((J)+(N))) - L102
apply le_trans - L103
exact length_bound_cancel_representative_2_inner
20Construct an explicit witnessL104–104
Supply the displayed value, then prove that it has the required property.
- L104
exists M
21Calculate and transport equalitiesL105–105
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L105
refl
22Use earlier factsL106–110
23Construct an explicit witnessL111–111
Supply the displayed value, then prove that it has the required property.
- L111
exists L
24Calculate and transport equalitiesL112–112
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L112
refl
25Separate the logical casesL113–115
26Establish cancel_representative_3L116–124
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial bounded representative at length exists.
- L116
have cancel_representative_3 : ∃ cancel_representative_3_code. ∃ cancel_representative_3_scale. BetaPrefixInto(cancel_representative_3_code,cancel_representative_3_scale,L + (M + (J + N)),p) ∧ PolynomialEquivalent(rb,rc,N,cancel_representative_3_code,cancel_representative_3_scale,L + (M + (J + N)))Definitions: BetaPrefixInto(cancel_representative_3_code,cancel_representative_3_scale,L + (M + (J + N)),p)PolynomialEquivalent(rb,rc,N,cancel_representative_3_code,cancel_representative_3_scale,L + (M + (J + N)))Original native command in the exact edition - L117
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - L118
specialize prime_field_polynomial_bounded_representative_at_length_exists (rb) - L119
specialize prime_field_polynomial_bounded_representative_at_length_exists (rc) - L120
specialize prime_field_polynomial_bounded_representative_at_length_exists (N) - L121
specialize prime_field_polynomial_bounded_representative_at_length_exists ((L)+((M)+((J)+(N)))) - L122
apply prime_field_polynomial_bounded_representative_at_length_exists - L123
exact hp - L124
exact hbbound_right_right
27Establish length_bound_cancel_representative_3L125–125
Establish this local claim before using it. It is not an additional assumption.
- L125
have length_bound_cancel_representative_3 : Le(N,M + (J + N))Definitions: Le(N,M + (J + N))Original native command in the exact edition
28Establish length_bound_cancel_representative_3_innerL126–126
Establish this local claim before using it. It is not an additional assumption.
- L126
have length_bound_cancel_representative_3_inner : Le(N,J + N)Definitions: Le(N,J + N)Original native command in the exact edition
29Establish length_bound_cancel_representative_3_inner_innerL127–134
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le refl.
- L127
have length_bound_cancel_representative_3_inner_inner : Le(N,N)Definitions: Le(N,N)Original native command in the exact edition - L128
specialize le_refl (N) - L129
apply le_refl - L130
specialize le_trans (N) - L131
specialize le_trans (N) - L132
specialize le_trans ((J)+(N)) - L133
apply le_trans - L134
exact length_bound_cancel_representative_3_inner_inner
30Construct an explicit witnessL135–135
Supply the displayed value, then prove that it has the required property.
- L135
exists J
31Calculate and transport equalitiesL136–136
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L136
refl
32Use earlier factsL137–141
33Construct an explicit witnessL142–142
Supply the displayed value, then prove that it has the required property.
- L142
exists M
34Calculate and transport equalitiesL143–143
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L143
refl
35Use earlier factsL144–148
36Construct an explicit witnessL149–149
Supply the displayed value, then prove that it has the required property.
- L149
exists L
37Calculate and transport equalitiesL150–150
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L150
refl
38Separate the logical casesL151–153
39Establish hfirstL154–163
Establish this local claim before using it. It is not an additional assumption.
- L154
have hfirst : FpPolyAdd(p,x,x1,x2,x3,x6,x7,L + (M + (J + N)))Definitions: FpPolyAdd(p,x,x1,x2,x3,x6,x7,L + (M + (J + N)))Original native command in the exact edition - L155
specialize prime_field_polynomial_aligned_add_realize (p) - L156
specialize prime_field_polynomial_aligned_add_realize (ab) - L157
specialize prime_field_polynomial_aligned_add_realize (ac) - L158
specialize prime_field_polynomial_aligned_add_realize (L) - L159
specialize prime_field_polynomial_aligned_add_realize (bb) - L160
specialize prime_field_polynomial_aligned_add_realize (bc) - L161
specialize prime_field_polynomial_aligned_add_realize (M) - L162
specialize prime_field_polynomial_aligned_add_realize (rb) - L163
specialize prime_field_polynomial_aligned_add_realize (rc)
40Use earlier factsL164–173
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L164
specialize prime_field_polynomial_aligned_add_realize (N) - L165
specialize prime_field_polynomial_aligned_add_realize (x) - L166
specialize prime_field_polynomial_aligned_add_realize (x1) - L167
specialize prime_field_polynomial_aligned_add_realize (x2) - L168
specialize prime_field_polynomial_aligned_add_realize (x3) - L169
specialize prime_field_polynomial_aligned_add_realize (x6) - L170
specialize prime_field_polynomial_aligned_add_realize (x7) - L171
specialize prime_field_polynomial_aligned_add_realize ((L)+((M)+((J)+(N)))) - L172
apply prime_field_polynomial_aligned_add_realize - L173
exact hp
41Use earlier factsL174–177
42Separate the logical casesL178–178
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L178
split
43Use earlier factsL179–181
44Establish hsecondL182–191
Establish this local claim before using it. It is not an additional assumption.
- L182
have hsecond : FpPolyAdd(p,x,x1,x4,x5,x6,x7,L + (M + (J + N)))Definitions: FpPolyAdd(p,x,x1,x4,x5,x6,x7,L + (M + (J + N)))Original native command in the exact edition - L183
specialize prime_field_polynomial_aligned_add_realize (p) - L184
specialize prime_field_polynomial_aligned_add_realize (ab) - L185
specialize prime_field_polynomial_aligned_add_realize (ac) - L186
specialize prime_field_polynomial_aligned_add_realize (L) - L187
specialize prime_field_polynomial_aligned_add_realize (cb) - L188
specialize prime_field_polynomial_aligned_add_realize (cc) - L189
specialize prime_field_polynomial_aligned_add_realize (J) - L190
specialize prime_field_polynomial_aligned_add_realize (rb) - L191
specialize prime_field_polynomial_aligned_add_realize (rc)
45Use earlier factsL192–201
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L192
specialize prime_field_polynomial_aligned_add_realize (N) - L193
specialize prime_field_polynomial_aligned_add_realize (x) - L194
specialize prime_field_polynomial_aligned_add_realize (x1) - L195
specialize prime_field_polynomial_aligned_add_realize (x4) - L196
specialize prime_field_polynomial_aligned_add_realize (x5) - L197
specialize prime_field_polynomial_aligned_add_realize (x6) - L198
specialize prime_field_polynomial_aligned_add_realize (x7) - L199
specialize prime_field_polynomial_aligned_add_realize ((L)+((M)+((J)+(N)))) - L200
apply prime_field_polynomial_aligned_add_realize - L201
exact hp
46Use earlier factsL202–205
47Separate the logical casesL206–206
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L206
split
48Use earlier factsL207–209
49Establish heqL210–219
Establish this local claim before using it. It is not an additional assumption.
- L210
have heq : BetaPrefixEqual(x2,x3,x4,x5,L + (M + (J + N)))Definitions: BetaPrefixEqual(x2,x3,x4,x5,L + (M + (J + N)))Original native command in the exact edition - L211
specialize prime_field_polynomial_subtract_functional (p) - L212
specialize prime_field_polynomial_subtract_functional (x6) - L213
specialize prime_field_polynomial_subtract_functional (x7) - L214
specialize prime_field_polynomial_subtract_functional (x) - L215
specialize prime_field_polynomial_subtract_functional (x1) - L216
specialize prime_field_polynomial_subtract_functional (x2) - L217
specialize prime_field_polynomial_subtract_functional (x3) - L218
specialize prime_field_polynomial_subtract_functional (x4) - L219
specialize prime_field_polynomial_subtract_functional (x5)
50Use earlier factsL220–229
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L220
specialize prime_field_polynomial_subtract_functional ((L)+((M)+((J)+(N)))) - L221
apply prime_field_polynomial_subtract_functional - L222
specialize prime_field_polynomial_subtract_from_add (p) - L223
specialize prime_field_polynomial_subtract_from_add (x6) - L224
specialize prime_field_polynomial_subtract_from_add (x7) - L225
specialize prime_field_polynomial_subtract_from_add (x) - L226
specialize prime_field_polynomial_subtract_from_add (x1) - L227
specialize prime_field_polynomial_subtract_from_add (x2) - L228
specialize prime_field_polynomial_subtract_from_add (x3) - L229
specialize prime_field_polynomial_subtract_from_add ((L)+((M)+((J)+(N))))
51Use earlier factsL230–239
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L230
apply prime_field_polynomial_subtract_from_add - L231
exact hfirst - L232
specialize prime_field_polynomial_subtract_from_add (p) - L233
specialize prime_field_polynomial_subtract_from_add (x6) - L234
specialize prime_field_polynomial_subtract_from_add (x7) - L235
specialize prime_field_polynomial_subtract_from_add (x) - L236
specialize prime_field_polynomial_subtract_from_add (x1) - L237
specialize prime_field_polynomial_subtract_from_add (x4) - L238
specialize prime_field_polynomial_subtract_from_add (x5) - L239
specialize prime_field_polynomial_subtract_from_add ((L)+((M)+((J)+(N))))
52Use earlier factsL240–241
53Establish cancel_middleL242–251
Establish this local claim before using it. It is not an additional assumption.
- L242
have cancel_middle : PolynomialEquivalent(bb,bc,M,x4,x5,L + (M + (J + N)))Definitions: PolynomialEquivalent(bb,bc,M,x4,x5,L + (M + (J + N)))Original native command in the exact edition - L243
specialize prime_field_polynomial_equivalent_transitive (bb) - L244
specialize prime_field_polynomial_equivalent_transitive (bc) - L245
specialize prime_field_polynomial_equivalent_transitive (M) - L246
specialize prime_field_polynomial_equivalent_transitive (x2) - L247
specialize prime_field_polynomial_equivalent_transitive (x3) - L248
specialize prime_field_polynomial_equivalent_transitive ((L)+((M)+((J)+(N)))) - L249
specialize prime_field_polynomial_equivalent_transitive (x4) - L250
specialize prime_field_polynomial_equivalent_transitive (x5) - L251
specialize prime_field_polynomial_equivalent_transitive ((L)+((M)+((J)+(N))))
54Use earlier factsL252–261
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L252
apply prime_field_polynomial_equivalent_transitive - L253
exact cancel_representative_1_witness_witness_right - L254
specialize prime_field_polynomial_equal_implies_equivalent (x2) - L255
specialize prime_field_polynomial_equal_implies_equivalent (x3) - L256
specialize prime_field_polynomial_equal_implies_equivalent (x4) - L257
specialize prime_field_polynomial_equal_implies_equivalent (x5) - L258
specialize prime_field_polynomial_equal_implies_equivalent ((L)+((M)+((J)+(N)))) - L259
apply prime_field_polynomial_equal_implies_equivalent - L260
exact heq - L261
specialize prime_field_polynomial_equivalent_transitive (bb)
55Use earlier factsL262–271
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L262
specialize prime_field_polynomial_equivalent_transitive (bc) - L263
specialize prime_field_polynomial_equivalent_transitive (M) - L264
specialize prime_field_polynomial_equivalent_transitive (x4) - L265
specialize prime_field_polynomial_equivalent_transitive (x5) - L266
specialize prime_field_polynomial_equivalent_transitive ((L)+((M)+((J)+(N)))) - L267
specialize prime_field_polynomial_equivalent_transitive (cb) - L268
specialize prime_field_polynomial_equivalent_transitive (cc) - L269
specialize prime_field_polynomial_equivalent_transitive (J) - L270
apply prime_field_polynomial_equivalent_transitive - L271
exact cancel_middle
56Use earlier factsL272–279
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L272
specialize prime_field_polynomial_equivalent_symmetric (cb) - L273
specialize prime_field_polynomial_equivalent_symmetric (cc) - L274
specialize prime_field_polynomial_equivalent_symmetric (J) - L275
specialize prime_field_polynomial_equivalent_symmetric (x4) - L276
specialize prime_field_polynomial_equivalent_symmetric (x5) - L277
specialize prime_field_polynomial_equivalent_symmetric ((L)+((M)+((J)+(N)))) - L278
apply prime_field_polynomial_equivalent_symmetric - L279
exact cancel_representative_2_witness_witness_right
Original defined command ledger · 279 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro cb - 0009
intro cc - 0010
intro J - 0011
intro rb - 0012
intro rc - 0013
intro N - 0014
intro hp - 0015
intro hb - 0016
intro hc - 0017
have hbbound : BetaPrefixInto(ab,ac,L,p) ∧ (BetaPrefixInto(bb,bc,M,p) ∧ BetaPrefixInto(rb,rc,N,p)) - 0018
specialize prime_field_polynomial_aligned_add_bounded (p) - 0019
specialize prime_field_polynomial_aligned_add_bounded (ab) - 0020
specialize prime_field_polynomial_aligned_add_bounded (ac) - 0021
specialize prime_field_polynomial_aligned_add_bounded (L) - 0022
specialize prime_field_polynomial_aligned_add_bounded (bb) - 0023
specialize prime_field_polynomial_aligned_add_bounded (bc) - 0024
specialize prime_field_polynomial_aligned_add_bounded (M) - 0025
specialize prime_field_polynomial_aligned_add_bounded (rb) - 0026
specialize prime_field_polynomial_aligned_add_bounded (rc) - 0027
specialize prime_field_polynomial_aligned_add_bounded (N) - 0028
apply prime_field_polynomial_aligned_add_bounded - 0029
exact hb - 0030
cases hbbound - 0031
cases hbbound_right - 0032
have hcbound : BetaPrefixInto(ab,ac,L,p) ∧ (BetaPrefixInto(cb,cc,J,p) ∧ BetaPrefixInto(rb,rc,N,p)) - 0033
specialize prime_field_polynomial_aligned_add_bounded (p) - 0034
specialize prime_field_polynomial_aligned_add_bounded (ab) - 0035
specialize prime_field_polynomial_aligned_add_bounded (ac) - 0036
specialize prime_field_polynomial_aligned_add_bounded (L) - 0037
specialize prime_field_polynomial_aligned_add_bounded (cb) - 0038
specialize prime_field_polynomial_aligned_add_bounded (cc) - 0039
specialize prime_field_polynomial_aligned_add_bounded (J) - 0040
specialize prime_field_polynomial_aligned_add_bounded (rb) - 0041
specialize prime_field_polynomial_aligned_add_bounded (rc) - 0042
specialize prime_field_polynomial_aligned_add_bounded (N) - 0043
apply prime_field_polynomial_aligned_add_bounded - 0044
exact hc - 0045
cases hcbound - 0046
cases hcbound_right - 0047
have cancel_representative_0 : ∃ cancel_representative_0_code. ∃ cancel_representative_0_scale. BetaPrefixInto(cancel_representative_0_code,cancel_representative_0_scale,L + (M + (J + N)),p) ∧ PolynomialEquivalent(ab,ac,L,cancel_representative_0_code,cancel_representative_0_scale,L + (M + (J + N))) - 0048
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - 0049
specialize prime_field_polynomial_bounded_representative_at_length_exists (ab) - 0050
specialize prime_field_polynomial_bounded_representative_at_length_exists (ac) - 0051
specialize prime_field_polynomial_bounded_representative_at_length_exists (L) - 0052
specialize prime_field_polynomial_bounded_representative_at_length_exists ((L)+((M)+((J)+(N)))) - 0053
apply prime_field_polynomial_bounded_representative_at_length_exists - 0054
exact hp - 0055
exact hbbound_left - 0056
specialize le_add_right (L) - 0057
specialize le_add_right ((M)+((J)+(N))) - 0058
apply le_add_right - 0059
cases cancel_representative_0 - 0060
cases cancel_representative_0_witness - 0061
cases cancel_representative_0_witness_witness - 0062
have cancel_representative_1 : ∃ cancel_representative_1_code. ∃ cancel_representative_1_scale. BetaPrefixInto(cancel_representative_1_code,cancel_representative_1_scale,L + (M + (J + N)),p) ∧ PolynomialEquivalent(bb,bc,M,cancel_representative_1_code,cancel_representative_1_scale,L + (M + (J + N))) - 0063
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - 0064
specialize prime_field_polynomial_bounded_representative_at_length_exists (bb) - 0065
specialize prime_field_polynomial_bounded_representative_at_length_exists (bc) - 0066
specialize prime_field_polynomial_bounded_representative_at_length_exists (M) - 0067
specialize prime_field_polynomial_bounded_representative_at_length_exists ((L)+((M)+((J)+(N)))) - 0068
apply prime_field_polynomial_bounded_representative_at_length_exists - 0069
exact hp - 0070
exact hbbound_right_left - 0071
have length_bound_cancel_representative_1 : Le(M,M + (J + N)) - 0072
specialize le_add_right (M) - 0073
specialize le_add_right ((J)+(N)) - 0074
apply le_add_right - 0075
specialize le_trans (M) - 0076
specialize le_trans ((M)+((J)+(N))) - 0077
specialize le_trans ((L)+((M)+((J)+(N)))) - 0078
apply le_trans - 0079
exact length_bound_cancel_representative_1 - 0080
exists L - 0081
refl - 0082
cases cancel_representative_1 - 0083
cases cancel_representative_1_witness - 0084
cases cancel_representative_1_witness_witness - 0085
have cancel_representative_2 : ∃ cancel_representative_2_code. ∃ cancel_representative_2_scale. BetaPrefixInto(cancel_representative_2_code,cancel_representative_2_scale,L + (M + (J + N)),p) ∧ PolynomialEquivalent(cb,cc,J,cancel_representative_2_code,cancel_representative_2_scale,L + (M + (J + N))) - 0086
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - 0087
specialize prime_field_polynomial_bounded_representative_at_length_exists (cb) - 0088
specialize prime_field_polynomial_bounded_representative_at_length_exists (cc) - 0089
specialize prime_field_polynomial_bounded_representative_at_length_exists (J) - 0090
specialize prime_field_polynomial_bounded_representative_at_length_exists ((L)+((M)+((J)+(N)))) - 0091
apply prime_field_polynomial_bounded_representative_at_length_exists - 0092
exact hp - 0093
exact hcbound_right_left - 0094
have length_bound_cancel_representative_2 : Le(J,M + (J + N)) - 0095
have length_bound_cancel_representative_2_inner : Le(J,J + N) - 0096
specialize le_add_right (J) - 0097
specialize le_add_right (N) - 0098
apply le_add_right - 0099
specialize le_trans (J) - 0100
specialize le_trans ((J)+(N)) - 0101
specialize le_trans ((M)+((J)+(N))) - 0102
apply le_trans - 0103
exact length_bound_cancel_representative_2_inner - 0104
exists M - 0105
refl - 0106
specialize le_trans (J) - 0107
specialize le_trans ((M)+((J)+(N))) - 0108
specialize le_trans ((L)+((M)+((J)+(N)))) - 0109
apply le_trans - 0110
exact length_bound_cancel_representative_2 - 0111
exists L - 0112
refl - 0113
cases cancel_representative_2 - 0114
cases cancel_representative_2_witness - 0115
cases cancel_representative_2_witness_witness - 0116
have cancel_representative_3 : ∃ cancel_representative_3_code. ∃ cancel_representative_3_scale. BetaPrefixInto(cancel_representative_3_code,cancel_representative_3_scale,L + (M + (J + N)),p) ∧ PolynomialEquivalent(rb,rc,N,cancel_representative_3_code,cancel_representative_3_scale,L + (M + (J + N))) - 0117
specialize prime_field_polynomial_bounded_representative_at_length_exists (p) - 0118
specialize prime_field_polynomial_bounded_representative_at_length_exists (rb) - 0119
specialize prime_field_polynomial_bounded_representative_at_length_exists (rc) - 0120
specialize prime_field_polynomial_bounded_representative_at_length_exists (N) - 0121
specialize prime_field_polynomial_bounded_representative_at_length_exists ((L)+((M)+((J)+(N)))) - 0122
apply prime_field_polynomial_bounded_representative_at_length_exists - 0123
exact hp - 0124
exact hbbound_right_right - 0125
have length_bound_cancel_representative_3 : Le(N,M + (J + N)) - 0126
have length_bound_cancel_representative_3_inner : Le(N,J + N) - 0127
have length_bound_cancel_representative_3_inner_inner : Le(N,N) - 0128
specialize le_refl (N) - 0129
apply le_refl - 0130
specialize le_trans (N) - 0131
specialize le_trans (N) - 0132
specialize le_trans ((J)+(N)) - 0133
apply le_trans - 0134
exact length_bound_cancel_representative_3_inner_inner - 0135
exists J - 0136
refl - 0137
specialize le_trans (N) - 0138
specialize le_trans ((J)+(N)) - 0139
specialize le_trans ((M)+((J)+(N))) - 0140
apply le_trans - 0141
exact length_bound_cancel_representative_3_inner - 0142
exists M - 0143
refl - 0144
specialize le_trans (N) - 0145
specialize le_trans ((M)+((J)+(N))) - 0146
specialize le_trans ((L)+((M)+((J)+(N)))) - 0147
apply le_trans - 0148
exact length_bound_cancel_representative_3 - 0149
exists L - 0150
refl - 0151
cases cancel_representative_3 - 0152
cases cancel_representative_3_witness - 0153
cases cancel_representative_3_witness_witness - 0154
have hfirst : FpPolyAdd(p,x,x1,x2,x3,x6,x7,L + (M + (J + N))) - 0155
specialize prime_field_polynomial_aligned_add_realize (p) - 0156
specialize prime_field_polynomial_aligned_add_realize (ab) - 0157
specialize prime_field_polynomial_aligned_add_realize (ac) - 0158
specialize prime_field_polynomial_aligned_add_realize (L) - 0159
specialize prime_field_polynomial_aligned_add_realize (bb) - 0160
specialize prime_field_polynomial_aligned_add_realize (bc) - 0161
specialize prime_field_polynomial_aligned_add_realize (M) - 0162
specialize prime_field_polynomial_aligned_add_realize (rb) - 0163
specialize prime_field_polynomial_aligned_add_realize (rc) - 0164
specialize prime_field_polynomial_aligned_add_realize (N) - 0165
specialize prime_field_polynomial_aligned_add_realize (x) - 0166
specialize prime_field_polynomial_aligned_add_realize (x1) - 0167
specialize prime_field_polynomial_aligned_add_realize (x2) - 0168
specialize prime_field_polynomial_aligned_add_realize (x3) - 0169
specialize prime_field_polynomial_aligned_add_realize (x6) - 0170
specialize prime_field_polynomial_aligned_add_realize (x7) - 0171
specialize prime_field_polynomial_aligned_add_realize ((L)+((M)+((J)+(N)))) - 0172
apply prime_field_polynomial_aligned_add_realize - 0173
exact hp - 0174
exact hb - 0175
exact cancel_representative_0_witness_witness_left - 0176
exact cancel_representative_1_witness_witness_left - 0177
exact cancel_representative_3_witness_witness_left - 0178
split - 0179
exact cancel_representative_0_witness_witness_right - 0180
exact cancel_representative_1_witness_witness_right - 0181
exact cancel_representative_3_witness_witness_right - 0182
have hsecond : FpPolyAdd(p,x,x1,x4,x5,x6,x7,L + (M + (J + N))) - 0183
specialize prime_field_polynomial_aligned_add_realize (p) - 0184
specialize prime_field_polynomial_aligned_add_realize (ab) - 0185
specialize prime_field_polynomial_aligned_add_realize (ac) - 0186
specialize prime_field_polynomial_aligned_add_realize (L) - 0187
specialize prime_field_polynomial_aligned_add_realize (cb) - 0188
specialize prime_field_polynomial_aligned_add_realize (cc) - 0189
specialize prime_field_polynomial_aligned_add_realize (J) - 0190
specialize prime_field_polynomial_aligned_add_realize (rb) - 0191
specialize prime_field_polynomial_aligned_add_realize (rc) - 0192
specialize prime_field_polynomial_aligned_add_realize (N) - 0193
specialize prime_field_polynomial_aligned_add_realize (x) - 0194
specialize prime_field_polynomial_aligned_add_realize (x1) - 0195
specialize prime_field_polynomial_aligned_add_realize (x4) - 0196
specialize prime_field_polynomial_aligned_add_realize (x5) - 0197
specialize prime_field_polynomial_aligned_add_realize (x6) - 0198
specialize prime_field_polynomial_aligned_add_realize (x7) - 0199
specialize prime_field_polynomial_aligned_add_realize ((L)+((M)+((J)+(N)))) - 0200
apply prime_field_polynomial_aligned_add_realize - 0201
exact hp - 0202
exact hc - 0203
exact cancel_representative_0_witness_witness_left - 0204
exact cancel_representative_2_witness_witness_left - 0205
exact cancel_representative_3_witness_witness_left - 0206
split - 0207
exact cancel_representative_0_witness_witness_right - 0208
exact cancel_representative_2_witness_witness_right - 0209
exact cancel_representative_3_witness_witness_right - 0210
have heq : BetaPrefixEqual(x2,x3,x4,x5,L + (M + (J + N))) - 0211
specialize prime_field_polynomial_subtract_functional (p) - 0212
specialize prime_field_polynomial_subtract_functional (x6) - 0213
specialize prime_field_polynomial_subtract_functional (x7) - 0214
specialize prime_field_polynomial_subtract_functional (x) - 0215
specialize prime_field_polynomial_subtract_functional (x1) - 0216
specialize prime_field_polynomial_subtract_functional (x2) - 0217
specialize prime_field_polynomial_subtract_functional (x3) - 0218
specialize prime_field_polynomial_subtract_functional (x4) - 0219
specialize prime_field_polynomial_subtract_functional (x5) - 0220
specialize prime_field_polynomial_subtract_functional ((L)+((M)+((J)+(N)))) - 0221
apply prime_field_polynomial_subtract_functional - 0222
specialize prime_field_polynomial_subtract_from_add (p) - 0223
specialize prime_field_polynomial_subtract_from_add (x6) - 0224
specialize prime_field_polynomial_subtract_from_add (x7) - 0225
specialize prime_field_polynomial_subtract_from_add (x) - 0226
specialize prime_field_polynomial_subtract_from_add (x1) - 0227
specialize prime_field_polynomial_subtract_from_add (x2) - 0228
specialize prime_field_polynomial_subtract_from_add (x3) - 0229
specialize prime_field_polynomial_subtract_from_add ((L)+((M)+((J)+(N)))) - 0230
apply prime_field_polynomial_subtract_from_add - 0231
exact hfirst - 0232
specialize prime_field_polynomial_subtract_from_add (p) - 0233
specialize prime_field_polynomial_subtract_from_add (x6) - 0234
specialize prime_field_polynomial_subtract_from_add (x7) - 0235
specialize prime_field_polynomial_subtract_from_add (x) - 0236
specialize prime_field_polynomial_subtract_from_add (x1) - 0237
specialize prime_field_polynomial_subtract_from_add (x4) - 0238
specialize prime_field_polynomial_subtract_from_add (x5) - 0239
specialize prime_field_polynomial_subtract_from_add ((L)+((M)+((J)+(N)))) - 0240
apply prime_field_polynomial_subtract_from_add - 0241
exact hsecond - 0242
have cancel_middle : PolynomialEquivalent(bb,bc,M,x4,x5,L + (M + (J + N))) - 0243
specialize prime_field_polynomial_equivalent_transitive (bb) - 0244
specialize prime_field_polynomial_equivalent_transitive (bc) - 0245
specialize prime_field_polynomial_equivalent_transitive (M) - 0246
specialize prime_field_polynomial_equivalent_transitive (x2) - 0247
specialize prime_field_polynomial_equivalent_transitive (x3) - 0248
specialize prime_field_polynomial_equivalent_transitive ((L)+((M)+((J)+(N)))) - 0249
specialize prime_field_polynomial_equivalent_transitive (x4) - 0250
specialize prime_field_polynomial_equivalent_transitive (x5) - 0251
specialize prime_field_polynomial_equivalent_transitive ((L)+((M)+((J)+(N)))) - 0252
apply prime_field_polynomial_equivalent_transitive - 0253
exact cancel_representative_1_witness_witness_right - 0254
specialize prime_field_polynomial_equal_implies_equivalent (x2) - 0255
specialize prime_field_polynomial_equal_implies_equivalent (x3) - 0256
specialize prime_field_polynomial_equal_implies_equivalent (x4) - 0257
specialize prime_field_polynomial_equal_implies_equivalent (x5) - 0258
specialize prime_field_polynomial_equal_implies_equivalent ((L)+((M)+((J)+(N)))) - 0259
apply prime_field_polynomial_equal_implies_equivalent - 0260
exact heq - 0261
specialize prime_field_polynomial_equivalent_transitive (bb) - 0262
specialize prime_field_polynomial_equivalent_transitive (bc) - 0263
specialize prime_field_polynomial_equivalent_transitive (M) - 0264
specialize prime_field_polynomial_equivalent_transitive (x4) - 0265
specialize prime_field_polynomial_equivalent_transitive (x5) - 0266
specialize prime_field_polynomial_equivalent_transitive ((L)+((M)+((J)+(N)))) - 0267
specialize prime_field_polynomial_equivalent_transitive (cb) - 0268
specialize prime_field_polynomial_equivalent_transitive (cc) - 0269
specialize prime_field_polynomial_equivalent_transitive (J) - 0270
apply prime_field_polynomial_equivalent_transitive - 0271
exact cancel_middle - 0272
specialize prime_field_polynomial_equivalent_symmetric (cb) - 0273
specialize prime_field_polynomial_equivalent_symmetric (cc) - 0274
specialize prime_field_polynomial_equivalent_symmetric (J) - 0275
specialize prime_field_polynomial_equivalent_symmetric (x4) - 0276
specialize prime_field_polynomial_equivalent_symmetric (x5) - 0277
specialize prime_field_polynomial_equivalent_symmetric ((L)+((M)+((J)+(N)))) - 0278
apply prime_field_polynomial_equivalent_symmetric - 0279
exact cancel_representative_2_witness_witness_right