Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Coefficients are highest-degree-first. The divisor has a nonzero decoded head; primality supplies its actual inverse. Empty quotients and remainders are included. Functionality compares the constructed execution lengths and decoded coefficients, never arbitrary beta codes. Formal polynomial equivalence compares every coefficient, not evaluations on a finite field. The formal identity and remainder-degree bound are proved separately, not assumed by the execution graph. Arbitrary quotient/remainder-pair uniqueness from a formal identity, multiplication associativity, gcd/Bezout, irreducible-polynomial existence, and the full G091 prime-power-field goal remain open. The seven displayed new names are conservative first-order notation, not new kernel primitives.
Exact theorem in conservative defined notation
∀ p. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ cb. ∀ cc. ∀ L. ∀ AB. ∀ AC. ∀ BB. ∀ BC. ∀ CB. ∀ CC. ∀ K. Prime(p) → PolynomialEquivalent(ab,ac,L,AB,AC,K) → PolynomialEquivalent(bb,bc,L,BB,BC,K) → FpPolyAdd(p,ab,ac,bb,bc,cb,cc,L) → FpPolyAdd(p,AB,AC,BB,BC,CB,CC,K) → PolynomialEquivalent(cb,cc,L,CB,CC,K)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 154 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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Establish horderL21–24
04Separate the logical casesL25–26
05Calculate and transport equalitiesL27–33
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
06Establish hpadAL34–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent implies left pad.
- L34
have hpadA : PolynomialLeftPad(ab,ac,L,x,AB,AC)Definitions: PolynomialLeftPad(ab,ac,L,x,AB,AC)Original native command in the exact edition - L35
specialize prime_field_polynomial_equivalent_implies_left_pad (ab) - L36
specialize prime_field_polynomial_equivalent_implies_left_pad (ac) - L37
specialize prime_field_polynomial_equivalent_implies_left_pad (L) - L38
specialize prime_field_polynomial_equivalent_implies_left_pad (x) - L39
specialize prime_field_polynomial_equivalent_implies_left_pad (AB) - L40
specialize prime_field_polynomial_equivalent_implies_left_pad (AC) - L41
apply prime_field_polynomial_equivalent_implies_left_pad - L42
exact hA
07Establish hpadBL43–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent implies left pad.
- L43
have hpadB : PolynomialLeftPad(bb,bc,L,x,BB,BC)Definitions: PolynomialLeftPad(bb,bc,L,x,BB,BC)Original native command in the exact edition - L44
specialize prime_field_polynomial_equivalent_implies_left_pad (bb) - L45
specialize prime_field_polynomial_equivalent_implies_left_pad (bc) - L46
specialize prime_field_polynomial_equivalent_implies_left_pad (L) - L47
specialize prime_field_polynomial_equivalent_implies_left_pad (x) - L48
specialize prime_field_polynomial_equivalent_implies_left_pad (BB) - L49
specialize prime_field_polynomial_equivalent_implies_left_pad (BC) - L50
apply prime_field_polynomial_equivalent_implies_left_pad - L51
exact hB - L52
specialize prime_field_polynomial_left_pad_equivalent (cb)
08Use earlier factsL53–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
specialize prime_field_polynomial_left_pad_equivalent (cc) - L54
specialize prime_field_polynomial_left_pad_equivalent (L) - L55
specialize prime_field_polynomial_left_pad_equivalent (x) - L56
specialize prime_field_polynomial_left_pad_equivalent (CB) - L57
specialize prime_field_polynomial_left_pad_equivalent (CC) - L58
apply prime_field_polynomial_left_pad_equivalent - L59
specialize prime_field_polynomial_add_left_pad_output (p) - L60
specialize prime_field_polynomial_add_left_pad_output (ab) - L61
specialize prime_field_polynomial_add_left_pad_output (ac) - L62
specialize prime_field_polynomial_add_left_pad_output (bb)
09Use earlier factsL63–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L63
specialize prime_field_polynomial_add_left_pad_output (bc) - L64
specialize prime_field_polynomial_add_left_pad_output (cb) - L65
specialize prime_field_polynomial_add_left_pad_output (cc) - L66
specialize prime_field_polynomial_add_left_pad_output (L) - L67
specialize prime_field_polynomial_add_left_pad_output (x) - L68
specialize prime_field_polynomial_add_left_pad_output (AB) - L69
specialize prime_field_polynomial_add_left_pad_output (AC) - L70
specialize prime_field_polynomial_add_left_pad_output (BB) - L71
specialize prime_field_polynomial_add_left_pad_output (BC) - L72
specialize prime_field_polynomial_add_left_pad_output (CB)
10Use earlier factsL73–79
11Separate the logical casesL80–80
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L80
cases horder_right
12Calculate and transport equalitiesL81–87
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
13Establish hpadAL88–97
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent implies left pad.
- L88
have hpadA : PolynomialLeftPad(AB,AC,K,x,ab,ac)Definitions: PolynomialLeftPad(AB,AC,K,x,ab,ac)Original native command in the exact edition - L89
specialize prime_field_polynomial_equivalent_implies_left_pad (AB) - L90
specialize prime_field_polynomial_equivalent_implies_left_pad (AC) - L91
specialize prime_field_polynomial_equivalent_implies_left_pad (K) - L92
specialize prime_field_polynomial_equivalent_implies_left_pad (x) - L93
specialize prime_field_polynomial_equivalent_implies_left_pad (ab) - L94
specialize prime_field_polynomial_equivalent_implies_left_pad (ac) - L95
apply prime_field_polynomial_equivalent_implies_left_pad - L96
specialize prime_field_polynomial_equivalent_symmetric (ab) - L97
specialize prime_field_polynomial_equivalent_symmetric (ac)
14Use earlier factsL98–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L98
specialize prime_field_polynomial_equivalent_symmetric (x+K) - L99
specialize prime_field_polynomial_equivalent_symmetric (AB) - L100
specialize prime_field_polynomial_equivalent_symmetric (AC) - L101
specialize prime_field_polynomial_equivalent_symmetric (K) - L102
apply prime_field_polynomial_equivalent_symmetric - L103
exact hA
15Establish hpadBL104–113
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent implies left pad.
- L104
have hpadB : PolynomialLeftPad(BB,BC,K,x,bb,bc)Definitions: PolynomialLeftPad(BB,BC,K,x,bb,bc)Original native command in the exact edition - L105
specialize prime_field_polynomial_equivalent_implies_left_pad (BB) - L106
specialize prime_field_polynomial_equivalent_implies_left_pad (BC) - L107
specialize prime_field_polynomial_equivalent_implies_left_pad (K) - L108
specialize prime_field_polynomial_equivalent_implies_left_pad (x) - L109
specialize prime_field_polynomial_equivalent_implies_left_pad (bb) - L110
specialize prime_field_polynomial_equivalent_implies_left_pad (bc) - L111
apply prime_field_polynomial_equivalent_implies_left_pad - L112
specialize prime_field_polynomial_equivalent_symmetric (bb) - L113
specialize prime_field_polynomial_equivalent_symmetric (bc)
16Use earlier factsL114–123
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L114
specialize prime_field_polynomial_equivalent_symmetric (x+K) - L115
specialize prime_field_polynomial_equivalent_symmetric (BB) - L116
specialize prime_field_polynomial_equivalent_symmetric (BC) - L117
specialize prime_field_polynomial_equivalent_symmetric (K) - L118
apply prime_field_polynomial_equivalent_symmetric - L119
exact hB - L120
specialize prime_field_polynomial_equivalent_symmetric (CB) - L121
specialize prime_field_polynomial_equivalent_symmetric (CC) - L122
specialize prime_field_polynomial_equivalent_symmetric (K) - L123
specialize prime_field_polynomial_equivalent_symmetric (cb)
17Use earlier factsL124–133
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L124
specialize prime_field_polynomial_equivalent_symmetric (cc) - L125
specialize prime_field_polynomial_equivalent_symmetric (x+K) - L126
apply prime_field_polynomial_equivalent_symmetric - L127
specialize prime_field_polynomial_left_pad_equivalent (CB) - L128
specialize prime_field_polynomial_left_pad_equivalent (CC) - L129
specialize prime_field_polynomial_left_pad_equivalent (K) - L130
specialize prime_field_polynomial_left_pad_equivalent (x) - L131
specialize prime_field_polynomial_left_pad_equivalent (cb) - L132
specialize prime_field_polynomial_left_pad_equivalent (cc) - L133
apply prime_field_polynomial_left_pad_equivalent
18Use earlier factsL134–143
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L134
specialize prime_field_polynomial_add_left_pad_output (p) - L135
specialize prime_field_polynomial_add_left_pad_output (AB) - L136
specialize prime_field_polynomial_add_left_pad_output (AC) - L137
specialize prime_field_polynomial_add_left_pad_output (BB) - L138
specialize prime_field_polynomial_add_left_pad_output (BC) - L139
specialize prime_field_polynomial_add_left_pad_output (CB) - L140
specialize prime_field_polynomial_add_left_pad_output (CC) - L141
specialize prime_field_polynomial_add_left_pad_output (K) - L142
specialize prime_field_polynomial_add_left_pad_output (x) - L143
specialize prime_field_polynomial_add_left_pad_output (ab)
19Use earlier factsL144–153
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L144
specialize prime_field_polynomial_add_left_pad_output (ac) - L145
specialize prime_field_polynomial_add_left_pad_output (bb) - L146
specialize prime_field_polynomial_add_left_pad_output (bc) - L147
specialize prime_field_polynomial_add_left_pad_output (cb) - L148
specialize prime_field_polynomial_add_left_pad_output (cc) - L149
apply prime_field_polynomial_add_left_pad_output - L150
exact hp - L151
exact hn - L152
exact hpadA - L153
exact hpadB
20Use earlier factsL154–154
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L154
exact ho
Original defined command ledger · 154 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro bb - 0005
intro bc - 0006
intro cb - 0007
intro cc - 0008
intro L - 0009
intro AB - 0010
intro AC - 0011
intro BB - 0012
intro BC - 0013
intro CB - 0014
intro CC - 0015
intro K - 0016
intro hp - 0017
intro hA - 0018
intro hB - 0019
intro ho - 0020
intro hn - 0021
have horder : Le(L,K) ∨ Le(K,L) - 0022
specialize le_total (L) - 0023
specialize le_total (K) - 0024
apply le_total - 0025
cases horder - 0026
cases horder_left - 0027
rewrite <- horder_left_witness at hA - 0028
rewrite <- horder_left_witness at hA - 0029
rewrite <- horder_left_witness at hB - 0030
rewrite <- horder_left_witness at hB - 0031
rewrite <- horder_left_witness at hn - 0032
rewrite <- horder_left_witness - 0033
rewrite <- horder_left_witness - 0034
have hpadA : PolynomialLeftPad(ab,ac,L,x,AB,AC) - 0035
specialize prime_field_polynomial_equivalent_implies_left_pad (ab) - 0036
specialize prime_field_polynomial_equivalent_implies_left_pad (ac) - 0037
specialize prime_field_polynomial_equivalent_implies_left_pad (L) - 0038
specialize prime_field_polynomial_equivalent_implies_left_pad (x) - 0039
specialize prime_field_polynomial_equivalent_implies_left_pad (AB) - 0040
specialize prime_field_polynomial_equivalent_implies_left_pad (AC) - 0041
apply prime_field_polynomial_equivalent_implies_left_pad - 0042
exact hA - 0043
have hpadB : PolynomialLeftPad(bb,bc,L,x,BB,BC) - 0044
specialize prime_field_polynomial_equivalent_implies_left_pad (bb) - 0045
specialize prime_field_polynomial_equivalent_implies_left_pad (bc) - 0046
specialize prime_field_polynomial_equivalent_implies_left_pad (L) - 0047
specialize prime_field_polynomial_equivalent_implies_left_pad (x) - 0048
specialize prime_field_polynomial_equivalent_implies_left_pad (BB) - 0049
specialize prime_field_polynomial_equivalent_implies_left_pad (BC) - 0050
apply prime_field_polynomial_equivalent_implies_left_pad - 0051
exact hB - 0052
specialize prime_field_polynomial_left_pad_equivalent (cb) - 0053
specialize prime_field_polynomial_left_pad_equivalent (cc) - 0054
specialize prime_field_polynomial_left_pad_equivalent (L) - 0055
specialize prime_field_polynomial_left_pad_equivalent (x) - 0056
specialize prime_field_polynomial_left_pad_equivalent (CB) - 0057
specialize prime_field_polynomial_left_pad_equivalent (CC) - 0058
apply prime_field_polynomial_left_pad_equivalent - 0059
specialize prime_field_polynomial_add_left_pad_output (p) - 0060
specialize prime_field_polynomial_add_left_pad_output (ab) - 0061
specialize prime_field_polynomial_add_left_pad_output (ac) - 0062
specialize prime_field_polynomial_add_left_pad_output (bb) - 0063
specialize prime_field_polynomial_add_left_pad_output (bc) - 0064
specialize prime_field_polynomial_add_left_pad_output (cb) - 0065
specialize prime_field_polynomial_add_left_pad_output (cc) - 0066
specialize prime_field_polynomial_add_left_pad_output (L) - 0067
specialize prime_field_polynomial_add_left_pad_output (x) - 0068
specialize prime_field_polynomial_add_left_pad_output (AB) - 0069
specialize prime_field_polynomial_add_left_pad_output (AC) - 0070
specialize prime_field_polynomial_add_left_pad_output (BB) - 0071
specialize prime_field_polynomial_add_left_pad_output (BC) - 0072
specialize prime_field_polynomial_add_left_pad_output (CB) - 0073
specialize prime_field_polynomial_add_left_pad_output (CC) - 0074
apply prime_field_polynomial_add_left_pad_output - 0075
exact hp - 0076
exact ho - 0077
exact hpadA - 0078
exact hpadB - 0079
exact hn - 0080
cases horder_right - 0081
rewrite <- horder_right_witness at hA - 0082
rewrite <- horder_right_witness at hA - 0083
rewrite <- horder_right_witness at hB - 0084
rewrite <- horder_right_witness at hB - 0085
rewrite <- horder_right_witness at ho - 0086
rewrite <- horder_right_witness - 0087
rewrite <- horder_right_witness - 0088
have hpadA : PolynomialLeftPad(AB,AC,K,x,ab,ac) - 0089
specialize prime_field_polynomial_equivalent_implies_left_pad (AB) - 0090
specialize prime_field_polynomial_equivalent_implies_left_pad (AC) - 0091
specialize prime_field_polynomial_equivalent_implies_left_pad (K) - 0092
specialize prime_field_polynomial_equivalent_implies_left_pad (x) - 0093
specialize prime_field_polynomial_equivalent_implies_left_pad (ab) - 0094
specialize prime_field_polynomial_equivalent_implies_left_pad (ac) - 0095
apply prime_field_polynomial_equivalent_implies_left_pad - 0096
specialize prime_field_polynomial_equivalent_symmetric (ab) - 0097
specialize prime_field_polynomial_equivalent_symmetric (ac) - 0098
specialize prime_field_polynomial_equivalent_symmetric (x+K) - 0099
specialize prime_field_polynomial_equivalent_symmetric (AB) - 0100
specialize prime_field_polynomial_equivalent_symmetric (AC) - 0101
specialize prime_field_polynomial_equivalent_symmetric (K) - 0102
apply prime_field_polynomial_equivalent_symmetric - 0103
exact hA - 0104
have hpadB : PolynomialLeftPad(BB,BC,K,x,bb,bc) - 0105
specialize prime_field_polynomial_equivalent_implies_left_pad (BB) - 0106
specialize prime_field_polynomial_equivalent_implies_left_pad (BC) - 0107
specialize prime_field_polynomial_equivalent_implies_left_pad (K) - 0108
specialize prime_field_polynomial_equivalent_implies_left_pad (x) - 0109
specialize prime_field_polynomial_equivalent_implies_left_pad (bb) - 0110
specialize prime_field_polynomial_equivalent_implies_left_pad (bc) - 0111
apply prime_field_polynomial_equivalent_implies_left_pad - 0112
specialize prime_field_polynomial_equivalent_symmetric (bb) - 0113
specialize prime_field_polynomial_equivalent_symmetric (bc) - 0114
specialize prime_field_polynomial_equivalent_symmetric (x+K) - 0115
specialize prime_field_polynomial_equivalent_symmetric (BB) - 0116
specialize prime_field_polynomial_equivalent_symmetric (BC) - 0117
specialize prime_field_polynomial_equivalent_symmetric (K) - 0118
apply prime_field_polynomial_equivalent_symmetric - 0119
exact hB - 0120
specialize prime_field_polynomial_equivalent_symmetric (CB) - 0121
specialize prime_field_polynomial_equivalent_symmetric (CC) - 0122
specialize prime_field_polynomial_equivalent_symmetric (K) - 0123
specialize prime_field_polynomial_equivalent_symmetric (cb) - 0124
specialize prime_field_polynomial_equivalent_symmetric (cc) - 0125
specialize prime_field_polynomial_equivalent_symmetric (x+K) - 0126
apply prime_field_polynomial_equivalent_symmetric - 0127
specialize prime_field_polynomial_left_pad_equivalent (CB) - 0128
specialize prime_field_polynomial_left_pad_equivalent (CC) - 0129
specialize prime_field_polynomial_left_pad_equivalent (K) - 0130
specialize prime_field_polynomial_left_pad_equivalent (x) - 0131
specialize prime_field_polynomial_left_pad_equivalent (cb) - 0132
specialize prime_field_polynomial_left_pad_equivalent (cc) - 0133
apply prime_field_polynomial_left_pad_equivalent - 0134
specialize prime_field_polynomial_add_left_pad_output (p) - 0135
specialize prime_field_polynomial_add_left_pad_output (AB) - 0136
specialize prime_field_polynomial_add_left_pad_output (AC) - 0137
specialize prime_field_polynomial_add_left_pad_output (BB) - 0138
specialize prime_field_polynomial_add_left_pad_output (BC) - 0139
specialize prime_field_polynomial_add_left_pad_output (CB) - 0140
specialize prime_field_polynomial_add_left_pad_output (CC) - 0141
specialize prime_field_polynomial_add_left_pad_output (K) - 0142
specialize prime_field_polynomial_add_left_pad_output (x) - 0143
specialize prime_field_polynomial_add_left_pad_output (ab) - 0144
specialize prime_field_polynomial_add_left_pad_output (ac) - 0145
specialize prime_field_polynomial_add_left_pad_output (bb) - 0146
specialize prime_field_polynomial_add_left_pad_output (bc) - 0147
specialize prime_field_polynomial_add_left_pad_output (cb) - 0148
specialize prime_field_polynomial_add_left_pad_output (cc) - 0149
apply prime_field_polynomial_add_left_pad_output - 0150
exact hp - 0151
exact hn - 0152
exact hpadA - 0153
exact hpadB - 0154
exact ho