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. ∀ c. ∀ ab. ∀ ac. ∀ L. ∀ b0. ∀ c0. ∀ N0. ∀ b1. ∀ c1. ∀ N1. ∀ u0b. ∀ u0c. ∀ v0b. ∀ v0c. ∀ UP0b. ∀ UP0c. ∀ VP0b. ∀ VP0c. ∀ z0b. ∀ z0c. ∀ u1b. ∀ u1c. ∀ v1b. ∀ v1c. ∀ UP1b. ∀ UP1c. ∀ VP1b. ∀ VP1c. ∀ z1b. ∀ z1c. Prime(p) → PolynomialEquivalent(b0,c0,N0,b1,c1,N1) → PolynomialShift(b0,c0,N0,u0b,u0c) → FpPolyScale(p,c,ab,ac,v0b,v0c,L) → PolynomialLeftPad(u0b,u0c,S N0,L,UP0b,UP0c) → PolynomialLeftPad(v0b,v0c,L,S N0,VP0b,VP0c) → FpPolyAdd(p,UP0b,UP0c,VP0b,VP0c,z0b,z0c,L + S N0) → PolynomialShift(b1,c1,N1,u1b,u1c) → FpPolyScale(p,c,ab,ac,v1b,v1c,L) → PolynomialLeftPad(u1b,u1c,S N1,L,UP1b,UP1c) → PolynomialLeftPad(v1b,v1c,L,S N1,VP1b,VP1c) → FpPolyAdd(p,UP1b,UP1c,VP1b,VP1c,z1b,z1c,L + S N1) → PolynomialEquivalent(z0b,z0c,L + S N0,z1b,z1c,L + S N1)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 214 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 (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–30
04Fix variables and assumptionsL31–40
05Fix variables and assumptionsL41–43
06Establish hshiftedL44–53
Establish this local claim before using it. It is not an additional assumption.
- L44
have hshifted : PolynomialEquivalent(u0b,u0c,S N0,u1b,u1c,S N1)Definitions: PolynomialEquivalent(u0b,u0c,S N0,u1b,u1c,S N1)Original native command in the exact edition - L45
specialize prime_field_polynomial_shift_equivalent_congruent (b0) - L46
specialize prime_field_polynomial_shift_equivalent_congruent (c0) - L47
specialize prime_field_polynomial_shift_equivalent_congruent (N0) - L48
specialize prime_field_polynomial_shift_equivalent_congruent (b1) - L49
specialize prime_field_polynomial_shift_equivalent_congruent (c1) - L50
specialize prime_field_polynomial_shift_equivalent_congruent (N1) - L51
specialize prime_field_polynomial_shift_equivalent_congruent (u0b) - L52
specialize prime_field_polynomial_shift_equivalent_congruent (u0c) - L53
specialize prime_field_polynomial_shift_equivalent_congruent (u1b)
07Use earlier factsL54–58
08Establish hscaledL59–68
Establish this local claim before using it. It is not an additional assumption.
- L59
have hscaled : BetaPrefixEqual(v0b,v0c,v1b,v1c,L)Definitions: BetaPrefixEqual(v0b,v0c,v1b,v1c,L)Original native command in the exact edition - L60
specialize prime_field_polynomial_scale_functional (p) - L61
specialize prime_field_polynomial_scale_functional (c) - L62
specialize prime_field_polynomial_scale_functional (ab) - L63
specialize prime_field_polynomial_scale_functional (ac) - L64
specialize prime_field_polynomial_scale_functional (v0b) - L65
specialize prime_field_polynomial_scale_functional (v0c) - L66
specialize prime_field_polynomial_scale_functional (v1b) - L67
specialize prime_field_polynomial_scale_functional (v1c) - L68
specialize prime_field_polynomial_scale_functional (L)
09Use earlier factsL69–71
10Establish hscalar_equalL72–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equal implies equivalent.
- L72
have hscalar_equal : PolynomialEquivalent(v0b,v0c,L,v1b,v1c,L)Definitions: PolynomialEquivalent(v0b,v0c,L,v1b,v1c,L)Original native command in the exact edition - L73
specialize prime_field_polynomial_equal_implies_equivalent (v0b) - L74
specialize prime_field_polynomial_equal_implies_equivalent (v0c) - L75
specialize prime_field_polynomial_equal_implies_equivalent (v1b) - L76
specialize prime_field_polynomial_equal_implies_equivalent (v1c) - L77
specialize prime_field_polynomial_equal_implies_equivalent (L) - L78
apply prime_field_polynomial_equal_implies_equivalent - L79
exact hscaled
11Establish hpad_left0L80–88
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L80
have hpad_left0 : PolynomialEquivalent(u0b,u0c,S N0,UP0b,UP0c,L + S N0)Definitions: PolynomialEquivalent(u0b,u0c,S N0,UP0b,UP0c,L + S N0)Original native command in the exact edition - L81
specialize prime_field_polynomial_left_pad_equivalent (u0b) - L82
specialize prime_field_polynomial_left_pad_equivalent (u0c) - L83
specialize prime_field_polynomial_left_pad_equivalent (S N0) - L84
specialize prime_field_polynomial_left_pad_equivalent (L) - L85
specialize prime_field_polynomial_left_pad_equivalent (UP0b) - L86
specialize prime_field_polynomial_left_pad_equivalent (UP0c) - L87
apply prime_field_polynomial_left_pad_equivalent - L88
exact hUP0
12Establish hpad_left1L89–97
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L89
have hpad_left1 : PolynomialEquivalent(u1b,u1c,S N1,UP1b,UP1c,L + S N1)Definitions: PolynomialEquivalent(u1b,u1c,S N1,UP1b,UP1c,L + S N1)Original native command in the exact edition - L90
specialize prime_field_polynomial_left_pad_equivalent (u1b) - L91
specialize prime_field_polynomial_left_pad_equivalent (u1c) - L92
specialize prime_field_polynomial_left_pad_equivalent (S N1) - L93
specialize prime_field_polynomial_left_pad_equivalent (L) - L94
specialize prime_field_polynomial_left_pad_equivalent (UP1b) - L95
specialize prime_field_polynomial_left_pad_equivalent (UP1c) - L96
apply prime_field_polynomial_left_pad_equivalent - L97
exact hUP1
13Establish hpad_right0L98–106
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L98
have hpad_right0 : PolynomialEquivalent(v0b,v0c,L,VP0b,VP0c,S N0 + L)Definitions: PolynomialEquivalent(v0b,v0c,L,VP0b,VP0c,S N0 + L)Original native command in the exact edition - L99
specialize prime_field_polynomial_left_pad_equivalent (v0b) - L100
specialize prime_field_polynomial_left_pad_equivalent (v0c) - L101
specialize prime_field_polynomial_left_pad_equivalent (L) - L102
specialize prime_field_polynomial_left_pad_equivalent (S N0) - L103
specialize prime_field_polynomial_left_pad_equivalent (VP0b) - L104
specialize prime_field_polynomial_left_pad_equivalent (VP0c) - L105
apply prime_field_polynomial_left_pad_equivalent - L106
exact hVP0
14Establish hcomm_right0L107–112
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
15Establish hpad_right1L113–121
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L113
have hpad_right1 : PolynomialEquivalent(v1b,v1c,L,VP1b,VP1c,S N1 + L)Definitions: PolynomialEquivalent(v1b,v1c,L,VP1b,VP1c,S N1 + L)Original native command in the exact edition - L114
specialize prime_field_polynomial_left_pad_equivalent (v1b) - L115
specialize prime_field_polynomial_left_pad_equivalent (v1c) - L116
specialize prime_field_polynomial_left_pad_equivalent (L) - L117
specialize prime_field_polynomial_left_pad_equivalent (S N1) - L118
specialize prime_field_polynomial_left_pad_equivalent (VP1b) - L119
specialize prime_field_polynomial_left_pad_equivalent (VP1c) - L120
apply prime_field_polynomial_left_pad_equivalent - L121
exact hVP1
16Establish hcomm_right1L122–127
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
17Establish hmiddle_leftL128–137
Establish this local claim before using it. It is not an additional assumption.
- L128
have hmiddle_left : PolynomialEquivalent(UP0b,UP0c,L + S N0,u1b,u1c,S N1)Definitions: PolynomialEquivalent(UP0b,UP0c,L + S N0,u1b,u1c,S N1)Original native command in the exact edition - L129
specialize prime_field_polynomial_equivalent_transitive (UP0b) - L130
specialize prime_field_polynomial_equivalent_transitive (UP0c) - L131
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - L132
specialize prime_field_polynomial_equivalent_transitive (u0b) - L133
specialize prime_field_polynomial_equivalent_transitive (u0c) - L134
specialize prime_field_polynomial_equivalent_transitive (S N0) - L135
specialize prime_field_polynomial_equivalent_transitive (u1b) - L136
specialize prime_field_polynomial_equivalent_transitive (u1c) - L137
specialize prime_field_polynomial_equivalent_transitive (S N1)
18Use earlier factsL138–147
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L138
apply prime_field_polynomial_equivalent_transitive - L139
specialize prime_field_polynomial_equivalent_symmetric (u0b) - L140
specialize prime_field_polynomial_equivalent_symmetric (u0c) - L141
specialize prime_field_polynomial_equivalent_symmetric (S N0) - L142
specialize prime_field_polynomial_equivalent_symmetric (UP0b) - L143
specialize prime_field_polynomial_equivalent_symmetric (UP0c) - L144
specialize prime_field_polynomial_equivalent_symmetric (L+S N0) - L145
apply prime_field_polynomial_equivalent_symmetric - L146
exact hpad_left0 - L147
exact hshifted
19Establish hequal_leftL148–157
Establish this local claim before using it. It is not an additional assumption.
- L148
have hequal_left : PolynomialEquivalent(UP0b,UP0c,L + S N0,UP1b,UP1c,L + S N1)Definitions: PolynomialEquivalent(UP0b,UP0c,L + S N0,UP1b,UP1c,L + S N1)Original native command in the exact edition - L149
specialize prime_field_polynomial_equivalent_transitive (UP0b) - L150
specialize prime_field_polynomial_equivalent_transitive (UP0c) - L151
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - L152
specialize prime_field_polynomial_equivalent_transitive (u1b) - L153
specialize prime_field_polynomial_equivalent_transitive (u1c) - L154
specialize prime_field_polynomial_equivalent_transitive (S N1) - L155
specialize prime_field_polynomial_equivalent_transitive (UP1b) - L156
specialize prime_field_polynomial_equivalent_transitive (UP1c) - L157
specialize prime_field_polynomial_equivalent_transitive (L+S N1)
20Use earlier factsL158–160
21Establish hmiddle_rightL161–170
Establish this local claim before using it. It is not an additional assumption.
- L161
have hmiddle_right : PolynomialEquivalent(VP0b,VP0c,L + S N0,v1b,v1c,L)Definitions: PolynomialEquivalent(VP0b,VP0c,L + S N0,v1b,v1c,L)Original native command in the exact edition - L162
specialize prime_field_polynomial_equivalent_transitive (VP0b) - L163
specialize prime_field_polynomial_equivalent_transitive (VP0c) - L164
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - L165
specialize prime_field_polynomial_equivalent_transitive (v0b) - L166
specialize prime_field_polynomial_equivalent_transitive (v0c) - L167
specialize prime_field_polynomial_equivalent_transitive (L) - L168
specialize prime_field_polynomial_equivalent_transitive (v1b) - L169
specialize prime_field_polynomial_equivalent_transitive (v1c) - L170
specialize prime_field_polynomial_equivalent_transitive (L)
22Use earlier factsL171–180
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L171
apply prime_field_polynomial_equivalent_transitive - L172
specialize prime_field_polynomial_equivalent_symmetric (v0b) - L173
specialize prime_field_polynomial_equivalent_symmetric (v0c) - L174
specialize prime_field_polynomial_equivalent_symmetric (L) - L175
specialize prime_field_polynomial_equivalent_symmetric (VP0b) - L176
specialize prime_field_polynomial_equivalent_symmetric (VP0c) - L177
specialize prime_field_polynomial_equivalent_symmetric (L+S N0) - L178
apply prime_field_polynomial_equivalent_symmetric - L179
exact hpad_right0 - L180
exact hscalar_equal
23Establish hequal_rightL181–190
Establish this local claim before using it. It is not an additional assumption.
- L181
have hequal_right : PolynomialEquivalent(VP0b,VP0c,L + S N0,VP1b,VP1c,L + S N1)Definitions: PolynomialEquivalent(VP0b,VP0c,L + S N0,VP1b,VP1c,L + S N1)Original native command in the exact edition - L182
specialize prime_field_polynomial_equivalent_transitive (VP0b) - L183
specialize prime_field_polynomial_equivalent_transitive (VP0c) - L184
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - L185
specialize prime_field_polynomial_equivalent_transitive (v1b) - L186
specialize prime_field_polynomial_equivalent_transitive (v1c) - L187
specialize prime_field_polynomial_equivalent_transitive (L) - L188
specialize prime_field_polynomial_equivalent_transitive (VP1b) - L189
specialize prime_field_polynomial_equivalent_transitive (VP1c) - L190
specialize prime_field_polynomial_equivalent_transitive (L+S N1)
24Use earlier factsL191–200
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L191
apply prime_field_polynomial_equivalent_transitive - L192
exact hmiddle_right - L193
exact hpad_right1 - L194
specialize prime_field_polynomial_add_equivalent_congruent (p) - L195
specialize prime_field_polynomial_add_equivalent_congruent (UP0b) - L196
specialize prime_field_polynomial_add_equivalent_congruent (UP0c) - L197
specialize prime_field_polynomial_add_equivalent_congruent (VP0b) - L198
specialize prime_field_polynomial_add_equivalent_congruent (VP0c) - L199
specialize prime_field_polynomial_add_equivalent_congruent (z0b) - L200
specialize prime_field_polynomial_add_equivalent_congruent (z0c)
25Use earlier factsL201–210
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L201
specialize prime_field_polynomial_add_equivalent_congruent (L+S N0) - L202
specialize prime_field_polynomial_add_equivalent_congruent (UP1b) - L203
specialize prime_field_polynomial_add_equivalent_congruent (UP1c) - L204
specialize prime_field_polynomial_add_equivalent_congruent (VP1b) - L205
specialize prime_field_polynomial_add_equivalent_congruent (VP1c) - L206
specialize prime_field_polynomial_add_equivalent_congruent (z1b) - L207
specialize prime_field_polynomial_add_equivalent_congruent (z1c) - L208
specialize prime_field_polynomial_add_equivalent_congruent (L+S N1) - L209
apply prime_field_polynomial_add_equivalent_congruent - L210
exact hp
Original defined command ledger · 214 lines
- 0001
intro p - 0002
intro c - 0003
intro ab - 0004
intro ac - 0005
intro L - 0006
intro b0 - 0007
intro c0 - 0008
intro N0 - 0009
intro b1 - 0010
intro c1 - 0011
intro N1 - 0012
intro u0b - 0013
intro u0c - 0014
intro v0b - 0015
intro v0c - 0016
intro UP0b - 0017
intro UP0c - 0018
intro VP0b - 0019
intro VP0c - 0020
intro z0b - 0021
intro z0c - 0022
intro u1b - 0023
intro u1c - 0024
intro v1b - 0025
intro v1c - 0026
intro UP1b - 0027
intro UP1c - 0028
intro VP1b - 0029
intro VP1c - 0030
intro z1b - 0031
intro z1c - 0032
intro hp - 0033
intro he - 0034
intro hU0 - 0035
intro hV0 - 0036
intro hUP0 - 0037
intro hVP0 - 0038
intro hZ0 - 0039
intro hU1 - 0040
intro hV1 - 0041
intro hUP1 - 0042
intro hVP1 - 0043
intro hZ1 - 0044
have hshifted : PolynomialEquivalent(u0b,u0c,S N0,u1b,u1c,S N1) - 0045
specialize prime_field_polynomial_shift_equivalent_congruent (b0) - 0046
specialize prime_field_polynomial_shift_equivalent_congruent (c0) - 0047
specialize prime_field_polynomial_shift_equivalent_congruent (N0) - 0048
specialize prime_field_polynomial_shift_equivalent_congruent (b1) - 0049
specialize prime_field_polynomial_shift_equivalent_congruent (c1) - 0050
specialize prime_field_polynomial_shift_equivalent_congruent (N1) - 0051
specialize prime_field_polynomial_shift_equivalent_congruent (u0b) - 0052
specialize prime_field_polynomial_shift_equivalent_congruent (u0c) - 0053
specialize prime_field_polynomial_shift_equivalent_congruent (u1b) - 0054
specialize prime_field_polynomial_shift_equivalent_congruent (u1c) - 0055
apply prime_field_polynomial_shift_equivalent_congruent - 0056
exact he - 0057
exact hU0 - 0058
exact hU1 - 0059
have hscaled : BetaPrefixEqual(v0b,v0c,v1b,v1c,L) - 0060
specialize prime_field_polynomial_scale_functional (p) - 0061
specialize prime_field_polynomial_scale_functional (c) - 0062
specialize prime_field_polynomial_scale_functional (ab) - 0063
specialize prime_field_polynomial_scale_functional (ac) - 0064
specialize prime_field_polynomial_scale_functional (v0b) - 0065
specialize prime_field_polynomial_scale_functional (v0c) - 0066
specialize prime_field_polynomial_scale_functional (v1b) - 0067
specialize prime_field_polynomial_scale_functional (v1c) - 0068
specialize prime_field_polynomial_scale_functional (L) - 0069
apply prime_field_polynomial_scale_functional - 0070
exact hV0 - 0071
exact hV1 - 0072
have hscalar_equal : PolynomialEquivalent(v0b,v0c,L,v1b,v1c,L) - 0073
specialize prime_field_polynomial_equal_implies_equivalent (v0b) - 0074
specialize prime_field_polynomial_equal_implies_equivalent (v0c) - 0075
specialize prime_field_polynomial_equal_implies_equivalent (v1b) - 0076
specialize prime_field_polynomial_equal_implies_equivalent (v1c) - 0077
specialize prime_field_polynomial_equal_implies_equivalent (L) - 0078
apply prime_field_polynomial_equal_implies_equivalent - 0079
exact hscaled - 0080
have hpad_left0 : PolynomialEquivalent(u0b,u0c,S N0,UP0b,UP0c,L + S N0) - 0081
specialize prime_field_polynomial_left_pad_equivalent (u0b) - 0082
specialize prime_field_polynomial_left_pad_equivalent (u0c) - 0083
specialize prime_field_polynomial_left_pad_equivalent (S N0) - 0084
specialize prime_field_polynomial_left_pad_equivalent (L) - 0085
specialize prime_field_polynomial_left_pad_equivalent (UP0b) - 0086
specialize prime_field_polynomial_left_pad_equivalent (UP0c) - 0087
apply prime_field_polynomial_left_pad_equivalent - 0088
exact hUP0 - 0089
have hpad_left1 : PolynomialEquivalent(u1b,u1c,S N1,UP1b,UP1c,L + S N1) - 0090
specialize prime_field_polynomial_left_pad_equivalent (u1b) - 0091
specialize prime_field_polynomial_left_pad_equivalent (u1c) - 0092
specialize prime_field_polynomial_left_pad_equivalent (S N1) - 0093
specialize prime_field_polynomial_left_pad_equivalent (L) - 0094
specialize prime_field_polynomial_left_pad_equivalent (UP1b) - 0095
specialize prime_field_polynomial_left_pad_equivalent (UP1c) - 0096
apply prime_field_polynomial_left_pad_equivalent - 0097
exact hUP1 - 0098
have hpad_right0 : PolynomialEquivalent(v0b,v0c,L,VP0b,VP0c,S N0 + L) - 0099
specialize prime_field_polynomial_left_pad_equivalent (v0b) - 0100
specialize prime_field_polynomial_left_pad_equivalent (v0c) - 0101
specialize prime_field_polynomial_left_pad_equivalent (L) - 0102
specialize prime_field_polynomial_left_pad_equivalent (S N0) - 0103
specialize prime_field_polynomial_left_pad_equivalent (VP0b) - 0104
specialize prime_field_polynomial_left_pad_equivalent (VP0c) - 0105
apply prime_field_polynomial_left_pad_equivalent - 0106
exact hVP0 - 0107
have hcomm_right0 : S N0+L=L+S N0 - 0108
specialize add_comm (S N0) - 0109
specialize add_comm (L) - 0110
apply add_comm - 0111
rewrite hcomm_right0 at hpad_right0 - 0112
rewrite hcomm_right0 at hpad_right0 - 0113
have hpad_right1 : PolynomialEquivalent(v1b,v1c,L,VP1b,VP1c,S N1 + L) - 0114
specialize prime_field_polynomial_left_pad_equivalent (v1b) - 0115
specialize prime_field_polynomial_left_pad_equivalent (v1c) - 0116
specialize prime_field_polynomial_left_pad_equivalent (L) - 0117
specialize prime_field_polynomial_left_pad_equivalent (S N1) - 0118
specialize prime_field_polynomial_left_pad_equivalent (VP1b) - 0119
specialize prime_field_polynomial_left_pad_equivalent (VP1c) - 0120
apply prime_field_polynomial_left_pad_equivalent - 0121
exact hVP1 - 0122
have hcomm_right1 : S N1+L=L+S N1 - 0123
specialize add_comm (S N1) - 0124
specialize add_comm (L) - 0125
apply add_comm - 0126
rewrite hcomm_right1 at hpad_right1 - 0127
rewrite hcomm_right1 at hpad_right1 - 0128
have hmiddle_left : PolynomialEquivalent(UP0b,UP0c,L + S N0,u1b,u1c,S N1) - 0129
specialize prime_field_polynomial_equivalent_transitive (UP0b) - 0130
specialize prime_field_polynomial_equivalent_transitive (UP0c) - 0131
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - 0132
specialize prime_field_polynomial_equivalent_transitive (u0b) - 0133
specialize prime_field_polynomial_equivalent_transitive (u0c) - 0134
specialize prime_field_polynomial_equivalent_transitive (S N0) - 0135
specialize prime_field_polynomial_equivalent_transitive (u1b) - 0136
specialize prime_field_polynomial_equivalent_transitive (u1c) - 0137
specialize prime_field_polynomial_equivalent_transitive (S N1) - 0138
apply prime_field_polynomial_equivalent_transitive - 0139
specialize prime_field_polynomial_equivalent_symmetric (u0b) - 0140
specialize prime_field_polynomial_equivalent_symmetric (u0c) - 0141
specialize prime_field_polynomial_equivalent_symmetric (S N0) - 0142
specialize prime_field_polynomial_equivalent_symmetric (UP0b) - 0143
specialize prime_field_polynomial_equivalent_symmetric (UP0c) - 0144
specialize prime_field_polynomial_equivalent_symmetric (L+S N0) - 0145
apply prime_field_polynomial_equivalent_symmetric - 0146
exact hpad_left0 - 0147
exact hshifted - 0148
have hequal_left : PolynomialEquivalent(UP0b,UP0c,L + S N0,UP1b,UP1c,L + S N1) - 0149
specialize prime_field_polynomial_equivalent_transitive (UP0b) - 0150
specialize prime_field_polynomial_equivalent_transitive (UP0c) - 0151
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - 0152
specialize prime_field_polynomial_equivalent_transitive (u1b) - 0153
specialize prime_field_polynomial_equivalent_transitive (u1c) - 0154
specialize prime_field_polynomial_equivalent_transitive (S N1) - 0155
specialize prime_field_polynomial_equivalent_transitive (UP1b) - 0156
specialize prime_field_polynomial_equivalent_transitive (UP1c) - 0157
specialize prime_field_polynomial_equivalent_transitive (L+S N1) - 0158
apply prime_field_polynomial_equivalent_transitive - 0159
exact hmiddle_left - 0160
exact hpad_left1 - 0161
have hmiddle_right : PolynomialEquivalent(VP0b,VP0c,L + S N0,v1b,v1c,L) - 0162
specialize prime_field_polynomial_equivalent_transitive (VP0b) - 0163
specialize prime_field_polynomial_equivalent_transitive (VP0c) - 0164
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - 0165
specialize prime_field_polynomial_equivalent_transitive (v0b) - 0166
specialize prime_field_polynomial_equivalent_transitive (v0c) - 0167
specialize prime_field_polynomial_equivalent_transitive (L) - 0168
specialize prime_field_polynomial_equivalent_transitive (v1b) - 0169
specialize prime_field_polynomial_equivalent_transitive (v1c) - 0170
specialize prime_field_polynomial_equivalent_transitive (L) - 0171
apply prime_field_polynomial_equivalent_transitive - 0172
specialize prime_field_polynomial_equivalent_symmetric (v0b) - 0173
specialize prime_field_polynomial_equivalent_symmetric (v0c) - 0174
specialize prime_field_polynomial_equivalent_symmetric (L) - 0175
specialize prime_field_polynomial_equivalent_symmetric (VP0b) - 0176
specialize prime_field_polynomial_equivalent_symmetric (VP0c) - 0177
specialize prime_field_polynomial_equivalent_symmetric (L+S N0) - 0178
apply prime_field_polynomial_equivalent_symmetric - 0179
exact hpad_right0 - 0180
exact hscalar_equal - 0181
have hequal_right : PolynomialEquivalent(VP0b,VP0c,L + S N0,VP1b,VP1c,L + S N1) - 0182
specialize prime_field_polynomial_equivalent_transitive (VP0b) - 0183
specialize prime_field_polynomial_equivalent_transitive (VP0c) - 0184
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - 0185
specialize prime_field_polynomial_equivalent_transitive (v1b) - 0186
specialize prime_field_polynomial_equivalent_transitive (v1c) - 0187
specialize prime_field_polynomial_equivalent_transitive (L) - 0188
specialize prime_field_polynomial_equivalent_transitive (VP1b) - 0189
specialize prime_field_polynomial_equivalent_transitive (VP1c) - 0190
specialize prime_field_polynomial_equivalent_transitive (L+S N1) - 0191
apply prime_field_polynomial_equivalent_transitive - 0192
exact hmiddle_right - 0193
exact hpad_right1 - 0194
specialize prime_field_polynomial_add_equivalent_congruent (p) - 0195
specialize prime_field_polynomial_add_equivalent_congruent (UP0b) - 0196
specialize prime_field_polynomial_add_equivalent_congruent (UP0c) - 0197
specialize prime_field_polynomial_add_equivalent_congruent (VP0b) - 0198
specialize prime_field_polynomial_add_equivalent_congruent (VP0c) - 0199
specialize prime_field_polynomial_add_equivalent_congruent (z0b) - 0200
specialize prime_field_polynomial_add_equivalent_congruent (z0c) - 0201
specialize prime_field_polynomial_add_equivalent_congruent (L+S N0) - 0202
specialize prime_field_polynomial_add_equivalent_congruent (UP1b) - 0203
specialize prime_field_polynomial_add_equivalent_congruent (UP1c) - 0204
specialize prime_field_polynomial_add_equivalent_congruent (VP1b) - 0205
specialize prime_field_polynomial_add_equivalent_congruent (VP1c) - 0206
specialize prime_field_polynomial_add_equivalent_congruent (z1b) - 0207
specialize prime_field_polynomial_add_equivalent_congruent (z1c) - 0208
specialize prime_field_polynomial_add_equivalent_congruent (L+S N1) - 0209
apply prime_field_polynomial_add_equivalent_congruent - 0210
exact hp - 0211
exact hequal_left - 0212
exact hequal_right - 0213
exact hZ0 - 0214
exact hZ1