Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Length is representation length, not polynomial degree. Leading zeros and the empty zero polynomial are allowed; the canonical argument guard x<p also applies to the empty case. Evaluation is defined by actual field-operation steps, not an assumed residue invariant. Polynomial division, gcd, irreducibles and general prime-power extension fields remain open; this does not close G091.
Exact theorem in conservative defined notation
∀ p. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ cb. ∀ cc. ∀ xb. ∀ xc. ∀ yb. ∀ yc. ∀ ub. ∀ uc. ∀ vb. ∀ vc. ∀ l. FpPolyAdd(p,ab,ac,bb,bc,xb,xc,l) → FpPolyAdd(p,xb,xc,cb,cc,ub,uc,l) → FpPolyAdd(p,bb,bc,cb,cc,yb,yc,l) → FpPolyAdd(p,ab,ac,yb,yc,vb,vc,l) → BetaPrefixEqual(ub,uc,vb,vc,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 145 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–24
04Establish entry_aL25–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L25
have entry_a : ∃ z. BetaAt(ab,ac,i,z)Definitions: BetaAt(ab,ac,i,z)Original native command in the exact edition - L26
specialize beta_at_exists (ab) - L27
specialize beta_at_exists (ac) - L28
specialize beta_at_exists (i) - L29
apply beta_at_exists
05Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases entry_a
06Establish entry_bL31–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L31
have entry_b : ∃ z. BetaAt(bb,bc,i,z)Definitions: BetaAt(bb,bc,i,z)Original native command in the exact edition - L32
specialize beta_at_exists (bb) - L33
specialize beta_at_exists (bc) - L34
specialize beta_at_exists (i) - L35
apply beta_at_exists
07Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases entry_b
08Establish entry_cL37–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L37
have entry_c : ∃ z. BetaAt(cb,cc,i,z)Definitions: BetaAt(cb,cc,i,z)Original native command in the exact edition - L38
specialize beta_at_exists (cb) - L39
specialize beta_at_exists (cc) - L40
specialize beta_at_exists (i) - L41
apply beta_at_exists
09Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
cases entry_c
10Establish entry_xL43–47
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L43
have entry_x : ∃ z. BetaAt(xb,xc,i,z)Definitions: BetaAt(xb,xc,i,z)Original native command in the exact edition - L44
specialize beta_at_exists (xb) - L45
specialize beta_at_exists (xc) - L46
specialize beta_at_exists (i) - L47
apply beta_at_exists
11Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
cases entry_x
12Establish entry_yL49–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L49
have entry_y : ∃ z. BetaAt(yb,yc,i,z)Definitions: BetaAt(yb,yc,i,z)Original native command in the exact edition - L50
specialize beta_at_exists (yb) - L51
specialize beta_at_exists (yc) - L52
specialize beta_at_exists (i) - L53
apply beta_at_exists
13Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
cases entry_y
14Establish entry_vL55–59
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L55
have entry_v : ∃ z. BetaAt(vb,vc,i,z)Definitions: BetaAt(vb,vc,i,z)Original native command in the exact edition - L56
specialize beta_at_exists (vb) - L57
specialize beta_at_exists (vc) - L58
specialize beta_at_exists (i) - L59
apply beta_at_exists
15Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases entry_v
16Establish heqL61–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field add associative.
- L61
have heq : r=x5 - L62
specialize prime_field_add_associative (p) - L63
specialize prime_field_add_associative (x) - L64
specialize prime_field_add_associative (x1) - L65
specialize prime_field_add_associative (x2) - L66
specialize prime_field_add_associative (x3) - L67
specialize prime_field_add_associative (x4) - L68
specialize prime_field_add_associative (r) - L69
specialize prime_field_add_associative (x5) - L70
apply prime_field_add_associative
17Use earlier factsL71–80
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
specialize prime_field_polynomial_add_entry (p) - L72
specialize prime_field_polynomial_add_entry (ab) - L73
specialize prime_field_polynomial_add_entry (ac) - L74
specialize prime_field_polynomial_add_entry (bb) - L75
specialize prime_field_polynomial_add_entry (bc) - L76
specialize prime_field_polynomial_add_entry (xb) - L77
specialize prime_field_polynomial_add_entry (xc) - L78
specialize prime_field_polynomial_add_entry (l) - L79
specialize prime_field_polynomial_add_entry (i) - L80
specialize prime_field_polynomial_add_entry (x)
18Use earlier factsL81–90
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
specialize prime_field_polynomial_add_entry (x1) - L82
specialize prime_field_polynomial_add_entry (x3) - L83
apply prime_field_polynomial_add_entry - L84
exact hab - L85
exact hi - L86
exact entry_a_witness - L87
exact entry_b_witness - L88
exact entry_x_witness - L89
specialize prime_field_polynomial_add_entry (p) - L90
specialize prime_field_polynomial_add_entry (xb)
19Use earlier factsL91–100
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L91
specialize prime_field_polynomial_add_entry (xc) - L92
specialize prime_field_polynomial_add_entry (cb) - L93
specialize prime_field_polynomial_add_entry (cc) - L94
specialize prime_field_polynomial_add_entry (ub) - L95
specialize prime_field_polynomial_add_entry (uc) - L96
specialize prime_field_polynomial_add_entry (l) - L97
specialize prime_field_polynomial_add_entry (i) - L98
specialize prime_field_polynomial_add_entry (x3) - L99
specialize prime_field_polynomial_add_entry (x2) - L100
specialize prime_field_polynomial_add_entry (r)
20Use earlier factsL101–110
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L101
apply prime_field_polynomial_add_entry - L102
exact hleft - L103
exact hi - L104
exact entry_x_witness - L105
exact entry_c_witness - L106
exact hr - L107
specialize prime_field_polynomial_add_entry (p) - L108
specialize prime_field_polynomial_add_entry (bb) - L109
specialize prime_field_polynomial_add_entry (bc) - L110
specialize prime_field_polynomial_add_entry (cb)
21Use earlier factsL111–120
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L111
specialize prime_field_polynomial_add_entry (cc) - L112
specialize prime_field_polynomial_add_entry (yb) - L113
specialize prime_field_polynomial_add_entry (yc) - L114
specialize prime_field_polynomial_add_entry (l) - L115
specialize prime_field_polynomial_add_entry (i) - L116
specialize prime_field_polynomial_add_entry (x1) - L117
specialize prime_field_polynomial_add_entry (x2) - L118
specialize prime_field_polynomial_add_entry (x4) - L119
apply prime_field_polynomial_add_entry - L120
exact hbc
22Use earlier factsL121–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L121
exact hi - L122
exact entry_b_witness - L123
exact entry_c_witness - L124
exact entry_y_witness - L125
specialize prime_field_polynomial_add_entry (p) - L126
specialize prime_field_polynomial_add_entry (ab) - L127
specialize prime_field_polynomial_add_entry (ac) - L128
specialize prime_field_polynomial_add_entry (yb) - L129
specialize prime_field_polynomial_add_entry (yc) - L130
specialize prime_field_polynomial_add_entry (vb)
23Use earlier factsL131–140
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L131
specialize prime_field_polynomial_add_entry (vc) - L132
specialize prime_field_polynomial_add_entry (l) - L133
specialize prime_field_polynomial_add_entry (i) - L134
specialize prime_field_polynomial_add_entry (x) - L135
specialize prime_field_polynomial_add_entry (x4) - L136
specialize prime_field_polynomial_add_entry (x5) - L137
apply prime_field_polynomial_add_entry - L138
exact hright - L139
exact hi - L140
exact entry_a_witness
24Use earlier factsL141–142
25Calculate and transport equalitiesL143–144
26Use earlier factsL145–145
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L145
exact entry_v_witness
Original defined command ledger · 145 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro bb - 0005
intro bc - 0006
intro cb - 0007
intro cc - 0008
intro xb - 0009
intro xc - 0010
intro yb - 0011
intro yc - 0012
intro ub - 0013
intro uc - 0014
intro vb - 0015
intro vc - 0016
intro l - 0017
intro hab - 0018
intro hleft - 0019
intro hbc - 0020
intro hright - 0021
intro i - 0022
intro r - 0023
intro hi - 0024
intro hr - 0025
have entry_a : ∃ z. BetaAt(ab,ac,i,z) - 0026
specialize beta_at_exists (ab) - 0027
specialize beta_at_exists (ac) - 0028
specialize beta_at_exists (i) - 0029
apply beta_at_exists - 0030
cases entry_a - 0031
have entry_b : ∃ z. BetaAt(bb,bc,i,z) - 0032
specialize beta_at_exists (bb) - 0033
specialize beta_at_exists (bc) - 0034
specialize beta_at_exists (i) - 0035
apply beta_at_exists - 0036
cases entry_b - 0037
have entry_c : ∃ z. BetaAt(cb,cc,i,z) - 0038
specialize beta_at_exists (cb) - 0039
specialize beta_at_exists (cc) - 0040
specialize beta_at_exists (i) - 0041
apply beta_at_exists - 0042
cases entry_c - 0043
have entry_x : ∃ z. BetaAt(xb,xc,i,z) - 0044
specialize beta_at_exists (xb) - 0045
specialize beta_at_exists (xc) - 0046
specialize beta_at_exists (i) - 0047
apply beta_at_exists - 0048
cases entry_x - 0049
have entry_y : ∃ z. BetaAt(yb,yc,i,z) - 0050
specialize beta_at_exists (yb) - 0051
specialize beta_at_exists (yc) - 0052
specialize beta_at_exists (i) - 0053
apply beta_at_exists - 0054
cases entry_y - 0055
have entry_v : ∃ z. BetaAt(vb,vc,i,z) - 0056
specialize beta_at_exists (vb) - 0057
specialize beta_at_exists (vc) - 0058
specialize beta_at_exists (i) - 0059
apply beta_at_exists - 0060
cases entry_v - 0061
have heq : r=x5 - 0062
specialize prime_field_add_associative (p) - 0063
specialize prime_field_add_associative (x) - 0064
specialize prime_field_add_associative (x1) - 0065
specialize prime_field_add_associative (x2) - 0066
specialize prime_field_add_associative (x3) - 0067
specialize prime_field_add_associative (x4) - 0068
specialize prime_field_add_associative (r) - 0069
specialize prime_field_add_associative (x5) - 0070
apply prime_field_add_associative - 0071
specialize prime_field_polynomial_add_entry (p) - 0072
specialize prime_field_polynomial_add_entry (ab) - 0073
specialize prime_field_polynomial_add_entry (ac) - 0074
specialize prime_field_polynomial_add_entry (bb) - 0075
specialize prime_field_polynomial_add_entry (bc) - 0076
specialize prime_field_polynomial_add_entry (xb) - 0077
specialize prime_field_polynomial_add_entry (xc) - 0078
specialize prime_field_polynomial_add_entry (l) - 0079
specialize prime_field_polynomial_add_entry (i) - 0080
specialize prime_field_polynomial_add_entry (x) - 0081
specialize prime_field_polynomial_add_entry (x1) - 0082
specialize prime_field_polynomial_add_entry (x3) - 0083
apply prime_field_polynomial_add_entry - 0084
exact hab - 0085
exact hi - 0086
exact entry_a_witness - 0087
exact entry_b_witness - 0088
exact entry_x_witness - 0089
specialize prime_field_polynomial_add_entry (p) - 0090
specialize prime_field_polynomial_add_entry (xb) - 0091
specialize prime_field_polynomial_add_entry (xc) - 0092
specialize prime_field_polynomial_add_entry (cb) - 0093
specialize prime_field_polynomial_add_entry (cc) - 0094
specialize prime_field_polynomial_add_entry (ub) - 0095
specialize prime_field_polynomial_add_entry (uc) - 0096
specialize prime_field_polynomial_add_entry (l) - 0097
specialize prime_field_polynomial_add_entry (i) - 0098
specialize prime_field_polynomial_add_entry (x3) - 0099
specialize prime_field_polynomial_add_entry (x2) - 0100
specialize prime_field_polynomial_add_entry (r) - 0101
apply prime_field_polynomial_add_entry - 0102
exact hleft - 0103
exact hi - 0104
exact entry_x_witness - 0105
exact entry_c_witness - 0106
exact hr - 0107
specialize prime_field_polynomial_add_entry (p) - 0108
specialize prime_field_polynomial_add_entry (bb) - 0109
specialize prime_field_polynomial_add_entry (bc) - 0110
specialize prime_field_polynomial_add_entry (cb) - 0111
specialize prime_field_polynomial_add_entry (cc) - 0112
specialize prime_field_polynomial_add_entry (yb) - 0113
specialize prime_field_polynomial_add_entry (yc) - 0114
specialize prime_field_polynomial_add_entry (l) - 0115
specialize prime_field_polynomial_add_entry (i) - 0116
specialize prime_field_polynomial_add_entry (x1) - 0117
specialize prime_field_polynomial_add_entry (x2) - 0118
specialize prime_field_polynomial_add_entry (x4) - 0119
apply prime_field_polynomial_add_entry - 0120
exact hbc - 0121
exact hi - 0122
exact entry_b_witness - 0123
exact entry_c_witness - 0124
exact entry_y_witness - 0125
specialize prime_field_polynomial_add_entry (p) - 0126
specialize prime_field_polynomial_add_entry (ab) - 0127
specialize prime_field_polynomial_add_entry (ac) - 0128
specialize prime_field_polynomial_add_entry (yb) - 0129
specialize prime_field_polynomial_add_entry (yc) - 0130
specialize prime_field_polynomial_add_entry (vb) - 0131
specialize prime_field_polynomial_add_entry (vc) - 0132
specialize prime_field_polynomial_add_entry (l) - 0133
specialize prime_field_polynomial_add_entry (i) - 0134
specialize prime_field_polynomial_add_entry (x) - 0135
specialize prime_field_polynomial_add_entry (x4) - 0136
specialize prime_field_polynomial_add_entry (x5) - 0137
apply prime_field_polynomial_add_entry - 0138
exact hright - 0139
exact hi - 0140
exact entry_a_witness - 0141
exact entry_y_witness - 0142
exact entry_v_witness - 0143
rewrite heq - 0144
rewrite heq - 0145
exact entry_v_witness