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. ∀ pb. ∀ pc. ∀ N. Prime(p) → Lt(c,p) → BetaPrefixInto(ab,ac,L,p) → BetaPrefixInto(pb,pc,N,p) → ∃ x. ∃ y. ∃ z. ∃ n. ∃ m. ∃ k. ∃ i. ∃ j. ∃ u. ∃ v. PolynomialShift(pb,pc,N,x,y) ∧ (FpPolyScale(p,c,ab,ac,z,n,L) ∧ (PolynomialLeftPad(x,y,S N,L,m,k) ∧ (PolynomialLeftPad(z,n,L,S N,i,j) ∧ FpPolyAdd(p,m,k,i,j,u,v,L + S N))))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 134 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–12
03Establish hp0L13–18
04Establish huL19–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial shift exists.
- L19
have hu : ∃ ub. ∃ uc. PolynomialShift(pb,pc,N,ub,uc)Definitions: PolynomialShift(pb,pc,N,ub,uc)Original native command in the exact edition - L20
specialize prime_field_polynomial_shift_exists (pb) - L21
specialize prime_field_polynomial_shift_exists (pc) - L22
specialize prime_field_polynomial_shift_exists (N) - L23
apply prime_field_polynomial_shift_exists
05Separate the logical casesL24–25
06Establish hvL26–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial scale exists.
- L26
have hv : ∃ vb. ∃ vc. FpPolyScale(p,c,ab,ac,vb,vc,L)Definitions: FpPolyScale(p,c,ab,ac,vb,vc,L)Original native command in the exact edition - L27
specialize prime_field_polynomial_scale_exists (p) - L28
specialize prime_field_polynomial_scale_exists (c) - L29
specialize prime_field_polynomial_scale_exists (ab) - L30
specialize prime_field_polynomial_scale_exists (ac) - L31
specialize prime_field_polynomial_scale_exists (L) - L32
apply prime_field_polynomial_scale_exists - L33
exact hp0 - L34
exact hc - L35
exact ha
07Separate the logical casesL36–37
08Establish hleftL38–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad exists.
- L38
have hleft : ∃ UB. ∃ UC. PolynomialLeftPad(x,x1,S N,L,UB,UC)Definitions: PolynomialLeftPad(x,x1,S N,L,UB,UC)Original native command in the exact edition - L39
specialize prime_field_polynomial_left_pad_exists (x) - L40
specialize prime_field_polynomial_left_pad_exists (x1) - L41
specialize prime_field_polynomial_left_pad_exists (L) - L42
specialize prime_field_polynomial_left_pad_exists (S N) - L43
apply prime_field_polynomial_left_pad_exists
09Separate the logical casesL44–45
10Establish hrightL46–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad exists.
- L46
have hright : ∃ VB. ∃ VC. PolynomialLeftPad(x2,x3,L,S N,VB,VC)Definitions: PolynomialLeftPad(x2,x3,L,S N,VB,VC)Original native command in the exact edition - L47
specialize prime_field_polynomial_left_pad_exists (x2) - L48
specialize prime_field_polynomial_left_pad_exists (x3) - L49
specialize prime_field_polynomial_left_pad_exists (S N) - L50
specialize prime_field_polynomial_left_pad_exists (L) - L51
apply prime_field_polynomial_left_pad_exists
11Separate the logical casesL52–53
12Establish hleft_boundL54–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad bounded.
- L54
have hleft_bound : BetaPrefixInto(x4,x5,L + S N,p)Definitions: BetaPrefixInto(x4,x5,L + S N,p)Original native command in the exact edition - L55
specialize prime_field_polynomial_left_pad_bounded (p) - L56
specialize prime_field_polynomial_left_pad_bounded (x) - L57
specialize prime_field_polynomial_left_pad_bounded (x1) - L58
specialize prime_field_polynomial_left_pad_bounded (S N) - L59
specialize prime_field_polynomial_left_pad_bounded (L) - L60
specialize prime_field_polynomial_left_pad_bounded (x4) - L61
specialize prime_field_polynomial_left_pad_bounded (x5) - L62
apply prime_field_polynomial_left_pad_bounded - L63
exact hp
13Use earlier factsL64–73
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
specialize prime_field_polynomial_shift_bounded (p) - L65
specialize prime_field_polynomial_shift_bounded (pb) - L66
specialize prime_field_polynomial_shift_bounded (pc) - L67
specialize prime_field_polynomial_shift_bounded (N) - L68
specialize prime_field_polynomial_shift_bounded (x) - L69
specialize prime_field_polynomial_shift_bounded (x1) - L70
apply prime_field_polynomial_shift_bounded - L71
exact hp - L72
exact hb - L73
exact hu_witness_witness
14Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact hleft_witness_witness
15Establish hscale_boundsL75–84
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial scale bounded.
- L75
have hscale_bounds : BetaPrefixInto(ab,ac,L,p) ∧ BetaPrefixInto(x2,x3,L,p)Definitions: BetaPrefixInto(ab,ac,L,p)BetaPrefixInto(x2,x3,L,p)Original native command in the exact edition - L76
specialize prime_field_polynomial_scale_bounded (p) - L77
specialize prime_field_polynomial_scale_bounded (c) - L78
specialize prime_field_polynomial_scale_bounded (ab) - L79
specialize prime_field_polynomial_scale_bounded (ac) - L80
specialize prime_field_polynomial_scale_bounded (x2) - L81
specialize prime_field_polynomial_scale_bounded (x3) - L82
specialize prime_field_polynomial_scale_bounded (L) - L83
apply prime_field_polynomial_scale_bounded - L84
exact hv_witness_witness
16Separate the logical casesL85–85
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L85
cases hscale_bounds
17Establish hright_boundL86–95
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad bounded.
- L86
have hright_bound : BetaPrefixInto(x6,x7,S N + L,p)Definitions: BetaPrefixInto(x6,x7,S N + L,p)Original native command in the exact edition - L87
specialize prime_field_polynomial_left_pad_bounded (p) - L88
specialize prime_field_polynomial_left_pad_bounded (x2) - L89
specialize prime_field_polynomial_left_pad_bounded (x3) - L90
specialize prime_field_polynomial_left_pad_bounded (L) - L91
specialize prime_field_polynomial_left_pad_bounded (S N) - L92
specialize prime_field_polynomial_left_pad_bounded (x6) - L93
specialize prime_field_polynomial_left_pad_bounded (x7) - L94
apply prime_field_polynomial_left_pad_bounded - L95
exact hp
18Use earlier factsL96–97
19Establish hcommL98–102
20Establish hsumL103–112
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial add exists.
- L103
have hsum : ∃ rb. ∃ rc. FpPolyAdd(p,x4,x5,x6,x7,rb,rc,L + S N)Definitions: FpPolyAdd(p,x4,x5,x6,x7,rb,rc,L + S N)Original native command in the exact edition - L104
specialize prime_field_polynomial_add_exists (p) - L105
specialize prime_field_polynomial_add_exists (x4) - L106
specialize prime_field_polynomial_add_exists (x5) - L107
specialize prime_field_polynomial_add_exists (x6) - L108
specialize prime_field_polynomial_add_exists (x7) - L109
specialize prime_field_polynomial_add_exists (L+S N) - L110
apply prime_field_polynomial_add_exists - L111
exact hp0 - L112
exact hleft_bound
21Use earlier factsL113–113
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L113
exact hright_bound
22Separate the logical casesL114–115
23Construct an explicit witnessL116–125
24Separate the logical casesL126–126
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L126
split
25Use earlier factsL127–127
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L127
exact hu_witness_witness
26Separate the logical casesL128–128
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L128
split
27Use earlier factsL129–129
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L129
exact hv_witness_witness
28Separate the logical casesL130–130
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L130
split
29Use earlier factsL131–131
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L131
exact hleft_witness_witness
30Separate the logical casesL132–132
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L132
split
Original defined command ledger · 134 lines
- 0001
intro p - 0002
intro c - 0003
intro ab - 0004
intro ac - 0005
intro L - 0006
intro pb - 0007
intro pc - 0008
intro N - 0009
intro hp - 0010
intro hc - 0011
intro ha - 0012
intro hb - 0013
have hp0 : ~(p=0) - 0014
intro hz - 0015
specialize prime_nonzero (p) - 0016
apply prime_nonzero - 0017
exact hp - 0018
exact hz - 0019
have hu : ∃ ub. ∃ uc. PolynomialShift(pb,pc,N,ub,uc) - 0020
specialize prime_field_polynomial_shift_exists (pb) - 0021
specialize prime_field_polynomial_shift_exists (pc) - 0022
specialize prime_field_polynomial_shift_exists (N) - 0023
apply prime_field_polynomial_shift_exists - 0024
cases hu - 0025
cases hu_witness - 0026
have hv : ∃ vb. ∃ vc. FpPolyScale(p,c,ab,ac,vb,vc,L) - 0027
specialize prime_field_polynomial_scale_exists (p) - 0028
specialize prime_field_polynomial_scale_exists (c) - 0029
specialize prime_field_polynomial_scale_exists (ab) - 0030
specialize prime_field_polynomial_scale_exists (ac) - 0031
specialize prime_field_polynomial_scale_exists (L) - 0032
apply prime_field_polynomial_scale_exists - 0033
exact hp0 - 0034
exact hc - 0035
exact ha - 0036
cases hv - 0037
cases hv_witness - 0038
have hleft : ∃ UB. ∃ UC. PolynomialLeftPad(x,x1,S N,L,UB,UC) - 0039
specialize prime_field_polynomial_left_pad_exists (x) - 0040
specialize prime_field_polynomial_left_pad_exists (x1) - 0041
specialize prime_field_polynomial_left_pad_exists (L) - 0042
specialize prime_field_polynomial_left_pad_exists (S N) - 0043
apply prime_field_polynomial_left_pad_exists - 0044
cases hleft - 0045
cases hleft_witness - 0046
have hright : ∃ VB. ∃ VC. PolynomialLeftPad(x2,x3,L,S N,VB,VC) - 0047
specialize prime_field_polynomial_left_pad_exists (x2) - 0048
specialize prime_field_polynomial_left_pad_exists (x3) - 0049
specialize prime_field_polynomial_left_pad_exists (S N) - 0050
specialize prime_field_polynomial_left_pad_exists (L) - 0051
apply prime_field_polynomial_left_pad_exists - 0052
cases hright - 0053
cases hright_witness - 0054
have hleft_bound : BetaPrefixInto(x4,x5,L + S N,p) - 0055
specialize prime_field_polynomial_left_pad_bounded (p) - 0056
specialize prime_field_polynomial_left_pad_bounded (x) - 0057
specialize prime_field_polynomial_left_pad_bounded (x1) - 0058
specialize prime_field_polynomial_left_pad_bounded (S N) - 0059
specialize prime_field_polynomial_left_pad_bounded (L) - 0060
specialize prime_field_polynomial_left_pad_bounded (x4) - 0061
specialize prime_field_polynomial_left_pad_bounded (x5) - 0062
apply prime_field_polynomial_left_pad_bounded - 0063
exact hp - 0064
specialize prime_field_polynomial_shift_bounded (p) - 0065
specialize prime_field_polynomial_shift_bounded (pb) - 0066
specialize prime_field_polynomial_shift_bounded (pc) - 0067
specialize prime_field_polynomial_shift_bounded (N) - 0068
specialize prime_field_polynomial_shift_bounded (x) - 0069
specialize prime_field_polynomial_shift_bounded (x1) - 0070
apply prime_field_polynomial_shift_bounded - 0071
exact hp - 0072
exact hb - 0073
exact hu_witness_witness - 0074
exact hleft_witness_witness - 0075
have hscale_bounds : BetaPrefixInto(ab,ac,L,p) ∧ BetaPrefixInto(x2,x3,L,p) - 0076
specialize prime_field_polynomial_scale_bounded (p) - 0077
specialize prime_field_polynomial_scale_bounded (c) - 0078
specialize prime_field_polynomial_scale_bounded (ab) - 0079
specialize prime_field_polynomial_scale_bounded (ac) - 0080
specialize prime_field_polynomial_scale_bounded (x2) - 0081
specialize prime_field_polynomial_scale_bounded (x3) - 0082
specialize prime_field_polynomial_scale_bounded (L) - 0083
apply prime_field_polynomial_scale_bounded - 0084
exact hv_witness_witness - 0085
cases hscale_bounds - 0086
have hright_bound : BetaPrefixInto(x6,x7,S N + L,p) - 0087
specialize prime_field_polynomial_left_pad_bounded (p) - 0088
specialize prime_field_polynomial_left_pad_bounded (x2) - 0089
specialize prime_field_polynomial_left_pad_bounded (x3) - 0090
specialize prime_field_polynomial_left_pad_bounded (L) - 0091
specialize prime_field_polynomial_left_pad_bounded (S N) - 0092
specialize prime_field_polynomial_left_pad_bounded (x6) - 0093
specialize prime_field_polynomial_left_pad_bounded (x7) - 0094
apply prime_field_polynomial_left_pad_bounded - 0095
exact hp - 0096
exact hscale_bounds_right - 0097
exact hright_witness_witness - 0098
have hcomm : S N+L=L+S N - 0099
specialize add_comm (S N) - 0100
specialize add_comm (L) - 0101
apply add_comm - 0102
rewrite hcomm at hright_bound - 0103
have hsum : ∃ rb. ∃ rc. FpPolyAdd(p,x4,x5,x6,x7,rb,rc,L + S N) - 0104
specialize prime_field_polynomial_add_exists (p) - 0105
specialize prime_field_polynomial_add_exists (x4) - 0106
specialize prime_field_polynomial_add_exists (x5) - 0107
specialize prime_field_polynomial_add_exists (x6) - 0108
specialize prime_field_polynomial_add_exists (x7) - 0109
specialize prime_field_polynomial_add_exists (L+S N) - 0110
apply prime_field_polynomial_add_exists - 0111
exact hp0 - 0112
exact hleft_bound - 0113
exact hright_bound - 0114
cases hsum - 0115
cases hsum_witness - 0116
exists x - 0117
exists x1 - 0118
exists x2 - 0119
exists x3 - 0120
exists x4 - 0121
exists x5 - 0122
exists x6 - 0123
exists x7 - 0124
exists x8 - 0125
exists x9 - 0126
split - 0127
exact hu_witness_witness - 0128
split - 0129
exact hv_witness_witness - 0130
split - 0131
exact hleft_witness_witness - 0132
split - 0133
exact hright_witness_witness - 0134
exact hsum_witness_witness