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
∀ b. ∀ c. ∀ L. ∀ d. ∀ e. ∀ M. ∀ ub. ∀ uc. ∀ vb. ∀ vc. PolynomialEquivalent(b,c,L,d,e,M) → PolynomialShift(b,c,L,ub,uc) → PolynomialShift(d,e,M,vb,vc) → PolynomialEquivalent(ub,uc,S L,vb,vc,S M)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 138 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–18
03Establish hcasesL19–21
04Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hcases
05Calculate and transport equalitiesL23–26
06Establish hleft_zeroL27–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial shift power zero.
- L27
have hleft_zero : PolynomialPowerCoefficient(ub,uc,S L,0,0)Definitions: PolynomialPowerCoefficient(ub,uc,S L,0,0)Original native command in the exact edition - L28
specialize prime_field_polynomial_shift_power_zero (b) - L29
specialize prime_field_polynomial_shift_power_zero (c) - L30
specialize prime_field_polynomial_shift_power_zero (L) - L31
specialize prime_field_polynomial_shift_power_zero (ub) - L32
specialize prime_field_polynomial_shift_power_zero (uc) - L33
apply prime_field_polynomial_shift_power_zero - L34
exact hu
07Establish hright_zeroL35–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial shift power zero.
- L35
have hright_zero : PolynomialPowerCoefficient(vb,vc,S M,0,0)Definitions: PolynomialPowerCoefficient(vb,vc,S M,0,0)Original native command in the exact edition - L36
specialize prime_field_polynomial_shift_power_zero (d) - L37
specialize prime_field_polynomial_shift_power_zero (e) - L38
specialize prime_field_polynomial_shift_power_zero (M) - L39
specialize prime_field_polynomial_shift_power_zero (vb) - L40
specialize prime_field_polynomial_shift_power_zero (vc) - L41
apply prime_field_polynomial_shift_power_zero - L42
exact hv
08Establish hleft_valueL43–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial power coefficient functional.
- L43
have hleft_value : a=0 - L44
specialize prime_field_polynomial_power_coefficient_functional (ub) - L45
specialize prime_field_polynomial_power_coefficient_functional (uc) - L46
specialize prime_field_polynomial_power_coefficient_functional (S L) - L47
specialize prime_field_polynomial_power_coefficient_functional (0) - L48
specialize prime_field_polynomial_power_coefficient_functional (a) - L49
specialize prime_field_polynomial_power_coefficient_functional (0) - L50
apply prime_field_polynomial_power_coefficient_functional - L51
exact hleft - L52
exact hleft_zero
09Establish hright_valueL53–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial power coefficient functional.
- L53
have hright_value : 0=r - L54
specialize prime_field_polynomial_power_coefficient_functional (vb) - L55
specialize prime_field_polynomial_power_coefficient_functional (vc) - L56
specialize prime_field_polynomial_power_coefficient_functional (S M) - L57
specialize prime_field_polynomial_power_coefficient_functional (0) - L58
specialize prime_field_polynomial_power_coefficient_functional (0) - L59
specialize prime_field_polynomial_power_coefficient_functional (r) - L60
apply prime_field_polynomial_power_coefficient_functional - L61
exact hright_zero - L62
exact hright
10Calculate and transport equalitiesL63–63
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L63
trans 0
11Use earlier factsL64–65
12Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
cases hcases_right
13Calculate and transport equalitiesL67–70
14Establish hleft_previousL71–76
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial power coefficient exists.
- L71
have hleft_previous : ∃ s. PolynomialPowerCoefficient(b,c,L,x,s)Definitions: PolynomialPowerCoefficient(b,c,L,x,s)Original native command in the exact edition - L72
specialize prime_field_polynomial_power_coefficient_exists (b) - L73
specialize prime_field_polynomial_power_coefficient_exists (c) - L74
specialize prime_field_polynomial_power_coefficient_exists (L) - L75
specialize prime_field_polynomial_power_coefficient_exists (x) - L76
apply prime_field_polynomial_power_coefficient_exists
15Separate the logical casesL77–77
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L77
cases hleft_previous
16Establish hright_previousL78–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial power coefficient exists.
- L78
have hright_previous : ∃ s. PolynomialPowerCoefficient(d,e,M,x,s)Definitions: PolynomialPowerCoefficient(d,e,M,x,s)Original native command in the exact edition - L79
specialize prime_field_polynomial_power_coefficient_exists (d) - L80
specialize prime_field_polynomial_power_coefficient_exists (e) - L81
specialize prime_field_polynomial_power_coefficient_exists (M) - L82
specialize prime_field_polynomial_power_coefficient_exists (x) - L83
apply prime_field_polynomial_power_coefficient_exists
17Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
cases hright_previous
18Establish hleft_shiftedL85–94
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial shift power successor.
- L85
have hleft_shifted : PolynomialPowerCoefficient(ub,uc,S L,S x,x1)Definitions: PolynomialPowerCoefficient(ub,uc,S L,S x,x1)Original native command in the exact edition - L86
specialize prime_field_polynomial_shift_power_successor (b) - L87
specialize prime_field_polynomial_shift_power_successor (c) - L88
specialize prime_field_polynomial_shift_power_successor (L) - L89
specialize prime_field_polynomial_shift_power_successor (ub) - L90
specialize prime_field_polynomial_shift_power_successor (uc) - L91
specialize prime_field_polynomial_shift_power_successor (x) - L92
specialize prime_field_polynomial_shift_power_successor (x1) - L93
apply prime_field_polynomial_shift_power_successor - L94
exact hu
19Use earlier factsL95–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L95
exact hleft_previous_witness
20Establish hright_shiftedL96–105
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial shift power successor.
- L96
have hright_shifted : PolynomialPowerCoefficient(vb,vc,S M,S x,x2)Definitions: PolynomialPowerCoefficient(vb,vc,S M,S x,x2)Original native command in the exact edition - L97
specialize prime_field_polynomial_shift_power_successor (d) - L98
specialize prime_field_polynomial_shift_power_successor (e) - L99
specialize prime_field_polynomial_shift_power_successor (M) - L100
specialize prime_field_polynomial_shift_power_successor (vb) - L101
specialize prime_field_polynomial_shift_power_successor (vc) - L102
specialize prime_field_polynomial_shift_power_successor (x) - L103
specialize prime_field_polynomial_shift_power_successor (x2) - L104
apply prime_field_polynomial_shift_power_successor - L105
exact hv
21Use earlier factsL106–106
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L106
exact hright_previous_witness
22Establish hleft_valueL107–116
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial power coefficient functional.
- L107
have hleft_value : a=x1 - L108
specialize prime_field_polynomial_power_coefficient_functional (ub) - L109
specialize prime_field_polynomial_power_coefficient_functional (uc) - L110
specialize prime_field_polynomial_power_coefficient_functional (S L) - L111
specialize prime_field_polynomial_power_coefficient_functional (S x) - L112
specialize prime_field_polynomial_power_coefficient_functional (a) - L113
specialize prime_field_polynomial_power_coefficient_functional (x1) - L114
apply prime_field_polynomial_power_coefficient_functional - L115
exact hleft - L116
exact hleft_shifted
23Establish hright_valueL117–126
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial power coefficient functional.
- L117
have hright_value : x2=r - L118
specialize prime_field_polynomial_power_coefficient_functional (vb) - L119
specialize prime_field_polynomial_power_coefficient_functional (vc) - L120
specialize prime_field_polynomial_power_coefficient_functional (S M) - L121
specialize prime_field_polynomial_power_coefficient_functional (S x) - L122
specialize prime_field_polynomial_power_coefficient_functional (x2) - L123
specialize prime_field_polynomial_power_coefficient_functional (r) - L124
apply prime_field_polynomial_power_coefficient_functional - L125
exact hright_shifted - L126
exact hright
24Establish hprevious_equalL127–136
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply he.
Original defined command ledger · 138 lines
- 0001
intro b - 0002
intro c - 0003
intro L - 0004
intro d - 0005
intro e - 0006
intro M - 0007
intro ub - 0008
intro uc - 0009
intro vb - 0010
intro vc - 0011
intro he - 0012
intro hu - 0013
intro hv - 0014
intro k - 0015
intro a - 0016
intro r - 0017
intro hleft - 0018
intro hright - 0019
have hcases : k=0 \/ exists j. k=S j - 0020
specialize zero_or_succ (k) - 0021
apply zero_or_succ - 0022
cases hcases - 0023
rewrite hcases_left at hleft - 0024
rewrite hcases_left at hleft - 0025
rewrite hcases_left at hright - 0026
rewrite hcases_left at hright - 0027
have hleft_zero : PolynomialPowerCoefficient(ub,uc,S L,0,0) - 0028
specialize prime_field_polynomial_shift_power_zero (b) - 0029
specialize prime_field_polynomial_shift_power_zero (c) - 0030
specialize prime_field_polynomial_shift_power_zero (L) - 0031
specialize prime_field_polynomial_shift_power_zero (ub) - 0032
specialize prime_field_polynomial_shift_power_zero (uc) - 0033
apply prime_field_polynomial_shift_power_zero - 0034
exact hu - 0035
have hright_zero : PolynomialPowerCoefficient(vb,vc,S M,0,0) - 0036
specialize prime_field_polynomial_shift_power_zero (d) - 0037
specialize prime_field_polynomial_shift_power_zero (e) - 0038
specialize prime_field_polynomial_shift_power_zero (M) - 0039
specialize prime_field_polynomial_shift_power_zero (vb) - 0040
specialize prime_field_polynomial_shift_power_zero (vc) - 0041
apply prime_field_polynomial_shift_power_zero - 0042
exact hv - 0043
have hleft_value : a=0 - 0044
specialize prime_field_polynomial_power_coefficient_functional (ub) - 0045
specialize prime_field_polynomial_power_coefficient_functional (uc) - 0046
specialize prime_field_polynomial_power_coefficient_functional (S L) - 0047
specialize prime_field_polynomial_power_coefficient_functional (0) - 0048
specialize prime_field_polynomial_power_coefficient_functional (a) - 0049
specialize prime_field_polynomial_power_coefficient_functional (0) - 0050
apply prime_field_polynomial_power_coefficient_functional - 0051
exact hleft - 0052
exact hleft_zero - 0053
have hright_value : 0=r - 0054
specialize prime_field_polynomial_power_coefficient_functional (vb) - 0055
specialize prime_field_polynomial_power_coefficient_functional (vc) - 0056
specialize prime_field_polynomial_power_coefficient_functional (S M) - 0057
specialize prime_field_polynomial_power_coefficient_functional (0) - 0058
specialize prime_field_polynomial_power_coefficient_functional (0) - 0059
specialize prime_field_polynomial_power_coefficient_functional (r) - 0060
apply prime_field_polynomial_power_coefficient_functional - 0061
exact hright_zero - 0062
exact hright - 0063
trans 0 - 0064
exact hleft_value - 0065
exact hright_value - 0066
cases hcases_right - 0067
rewrite hcases_right_witness at hleft - 0068
rewrite hcases_right_witness at hleft - 0069
rewrite hcases_right_witness at hright - 0070
rewrite hcases_right_witness at hright - 0071
have hleft_previous : ∃ s. PolynomialPowerCoefficient(b,c,L,x,s) - 0072
specialize prime_field_polynomial_power_coefficient_exists (b) - 0073
specialize prime_field_polynomial_power_coefficient_exists (c) - 0074
specialize prime_field_polynomial_power_coefficient_exists (L) - 0075
specialize prime_field_polynomial_power_coefficient_exists (x) - 0076
apply prime_field_polynomial_power_coefficient_exists - 0077
cases hleft_previous - 0078
have hright_previous : ∃ s. PolynomialPowerCoefficient(d,e,M,x,s) - 0079
specialize prime_field_polynomial_power_coefficient_exists (d) - 0080
specialize prime_field_polynomial_power_coefficient_exists (e) - 0081
specialize prime_field_polynomial_power_coefficient_exists (M) - 0082
specialize prime_field_polynomial_power_coefficient_exists (x) - 0083
apply prime_field_polynomial_power_coefficient_exists - 0084
cases hright_previous - 0085
have hleft_shifted : PolynomialPowerCoefficient(ub,uc,S L,S x,x1) - 0086
specialize prime_field_polynomial_shift_power_successor (b) - 0087
specialize prime_field_polynomial_shift_power_successor (c) - 0088
specialize prime_field_polynomial_shift_power_successor (L) - 0089
specialize prime_field_polynomial_shift_power_successor (ub) - 0090
specialize prime_field_polynomial_shift_power_successor (uc) - 0091
specialize prime_field_polynomial_shift_power_successor (x) - 0092
specialize prime_field_polynomial_shift_power_successor (x1) - 0093
apply prime_field_polynomial_shift_power_successor - 0094
exact hu - 0095
exact hleft_previous_witness - 0096
have hright_shifted : PolynomialPowerCoefficient(vb,vc,S M,S x,x2) - 0097
specialize prime_field_polynomial_shift_power_successor (d) - 0098
specialize prime_field_polynomial_shift_power_successor (e) - 0099
specialize prime_field_polynomial_shift_power_successor (M) - 0100
specialize prime_field_polynomial_shift_power_successor (vb) - 0101
specialize prime_field_polynomial_shift_power_successor (vc) - 0102
specialize prime_field_polynomial_shift_power_successor (x) - 0103
specialize prime_field_polynomial_shift_power_successor (x2) - 0104
apply prime_field_polynomial_shift_power_successor - 0105
exact hv - 0106
exact hright_previous_witness - 0107
have hleft_value : a=x1 - 0108
specialize prime_field_polynomial_power_coefficient_functional (ub) - 0109
specialize prime_field_polynomial_power_coefficient_functional (uc) - 0110
specialize prime_field_polynomial_power_coefficient_functional (S L) - 0111
specialize prime_field_polynomial_power_coefficient_functional (S x) - 0112
specialize prime_field_polynomial_power_coefficient_functional (a) - 0113
specialize prime_field_polynomial_power_coefficient_functional (x1) - 0114
apply prime_field_polynomial_power_coefficient_functional - 0115
exact hleft - 0116
exact hleft_shifted - 0117
have hright_value : x2=r - 0118
specialize prime_field_polynomial_power_coefficient_functional (vb) - 0119
specialize prime_field_polynomial_power_coefficient_functional (vc) - 0120
specialize prime_field_polynomial_power_coefficient_functional (S M) - 0121
specialize prime_field_polynomial_power_coefficient_functional (S x) - 0122
specialize prime_field_polynomial_power_coefficient_functional (x2) - 0123
specialize prime_field_polynomial_power_coefficient_functional (r) - 0124
apply prime_field_polynomial_power_coefficient_functional - 0125
exact hright_shifted - 0126
exact hright - 0127
have hprevious_equal : x1=x2 - 0128
specialize he (x) - 0129
specialize he (x1) - 0130
specialize he (x2) - 0131
apply he - 0132
exact hleft_previous_witness - 0133
exact hright_previous_witness - 0134
trans x1 - 0135
exact hleft_value - 0136
trans x2 - 0137
exact hprevious_equal - 0138
exact hright_value