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. ∀ i. ∀ a. ∀ b. ∀ r. FpPolyAdd(p,ab,ac,bb,bc,cb,cc,L) → BetaZeroExtend(ab,ac,L,i,a) → BetaZeroExtend(bb,bc,L,i,b) → BetaZeroExtend(cb,cc,L,i,r) → ModEq(p,a + b,r)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 92 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Separate the logical casesL17–18
04Establish hebL19–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial zero extended entry inside.
- L19
have heb : BetaAt(bb,bc,i,b)Definitions: BetaAt(bb,bc,i,b)Original native command in the exact edition - L20
specialize polynomial_zero_extended_entry_inside (bb) - L21
specialize polynomial_zero_extended_entry_inside (bc) - L22
specialize polynomial_zero_extended_entry_inside (L) - L23
specialize polynomial_zero_extended_entry_inside (i) - L24
specialize polynomial_zero_extended_entry_inside (b) - L25
apply polynomial_zero_extended_entry_inside - L26
exact ha_left_left - L27
exact hb
05Establish herL28–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial zero extended entry inside.
- L28
have her : BetaAt(cb,cc,i,r)Definitions: BetaAt(cb,cc,i,r)Original native command in the exact edition - L29
specialize polynomial_zero_extended_entry_inside (cb) - L30
specialize polynomial_zero_extended_entry_inside (cc) - L31
specialize polynomial_zero_extended_entry_inside (L) - L32
specialize polynomial_zero_extended_entry_inside (i) - L33
specialize polynomial_zero_extended_entry_inside (r) - L34
apply polynomial_zero_extended_entry_inside - L35
exact ha_left_left - L36
exact hr
06Establish hfieldL37–46
Establish this local claim before using it. It is not an additional assumption.
- L37
- L38
specialize prime_field_polynomial_add_entry (p) - L39
specialize prime_field_polynomial_add_entry (ab) - L40
specialize prime_field_polynomial_add_entry (ac) - L41
specialize prime_field_polynomial_add_entry (bb) - L42
specialize prime_field_polynomial_add_entry (bc) - L43
specialize prime_field_polynomial_add_entry (cb) - L44
specialize prime_field_polynomial_add_entry (cc) - L45
specialize prime_field_polynomial_add_entry (L) - L46
specialize prime_field_polynomial_add_entry (i)
07Use earlier factsL47–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Separate the logical casesL56–58
09Use earlier factsL59–59
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
exact hfield_right_right_right
10Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases ha_right
11Establish hbzeroL61–69
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial zero extended entry functional.
- L61
have hbzero : b=0 - L62
specialize polynomial_zero_extended_entry_functional (bb) - L63
specialize polynomial_zero_extended_entry_functional (bc) - L64
specialize polynomial_zero_extended_entry_functional (L) - L65
specialize polynomial_zero_extended_entry_functional (i) - L66
specialize polynomial_zero_extended_entry_functional (b) - L67
specialize polynomial_zero_extended_entry_functional (0) - L68
apply polynomial_zero_extended_entry_functional - L69
exact hb
12Separate the logical casesL70–71
13Use earlier factsL72–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
exact ha_right_left
14Calculate and transport equalitiesL73–73
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L73
refl
15Establish hrzeroL74–82
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial zero extended entry functional.
- L74
have hrzero : r=0 - L75
specialize polynomial_zero_extended_entry_functional (cb) - L76
specialize polynomial_zero_extended_entry_functional (cc) - L77
specialize polynomial_zero_extended_entry_functional (L) - L78
specialize polynomial_zero_extended_entry_functional (i) - L79
specialize polynomial_zero_extended_entry_functional (r) - L80
specialize polynomial_zero_extended_entry_functional (0) - L81
apply polynomial_zero_extended_entry_functional - L82
exact hr
16Separate the logical casesL83–84
17Use earlier factsL85–85
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
exact ha_right_left
18Calculate and transport equalitiesL86–89
19Construct an explicit witnessL90–91
20Calculate and transport equalitiesL92–92
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L92
simp
Original defined command ledger · 92 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 i - 0010
intro a - 0011
intro b - 0012
intro r - 0013
intro hs - 0014
intro ha - 0015
intro hb - 0016
intro hr - 0017
cases ha - 0018
cases ha_left - 0019
have heb : BetaAt(bb,bc,i,b) - 0020
specialize polynomial_zero_extended_entry_inside (bb) - 0021
specialize polynomial_zero_extended_entry_inside (bc) - 0022
specialize polynomial_zero_extended_entry_inside (L) - 0023
specialize polynomial_zero_extended_entry_inside (i) - 0024
specialize polynomial_zero_extended_entry_inside (b) - 0025
apply polynomial_zero_extended_entry_inside - 0026
exact ha_left_left - 0027
exact hb - 0028
have her : BetaAt(cb,cc,i,r) - 0029
specialize polynomial_zero_extended_entry_inside (cb) - 0030
specialize polynomial_zero_extended_entry_inside (cc) - 0031
specialize polynomial_zero_extended_entry_inside (L) - 0032
specialize polynomial_zero_extended_entry_inside (i) - 0033
specialize polynomial_zero_extended_entry_inside (r) - 0034
apply polynomial_zero_extended_entry_inside - 0035
exact ha_left_left - 0036
exact hr - 0037
have hfield : FpAdd(p,a,b,r) - 0038
specialize prime_field_polynomial_add_entry (p) - 0039
specialize prime_field_polynomial_add_entry (ab) - 0040
specialize prime_field_polynomial_add_entry (ac) - 0041
specialize prime_field_polynomial_add_entry (bb) - 0042
specialize prime_field_polynomial_add_entry (bc) - 0043
specialize prime_field_polynomial_add_entry (cb) - 0044
specialize prime_field_polynomial_add_entry (cc) - 0045
specialize prime_field_polynomial_add_entry (L) - 0046
specialize prime_field_polynomial_add_entry (i) - 0047
specialize prime_field_polynomial_add_entry (a) - 0048
specialize prime_field_polynomial_add_entry (b) - 0049
specialize prime_field_polynomial_add_entry (r) - 0050
apply prime_field_polynomial_add_entry - 0051
exact hs - 0052
exact ha_left_left - 0053
exact ha_left_right - 0054
exact heb - 0055
exact her - 0056
cases hfield - 0057
cases hfield_right - 0058
cases hfield_right_right - 0059
exact hfield_right_right_right - 0060
cases ha_right - 0061
have hbzero : b=0 - 0062
specialize polynomial_zero_extended_entry_functional (bb) - 0063
specialize polynomial_zero_extended_entry_functional (bc) - 0064
specialize polynomial_zero_extended_entry_functional (L) - 0065
specialize polynomial_zero_extended_entry_functional (i) - 0066
specialize polynomial_zero_extended_entry_functional (b) - 0067
specialize polynomial_zero_extended_entry_functional (0) - 0068
apply polynomial_zero_extended_entry_functional - 0069
exact hb - 0070
right - 0071
split - 0072
exact ha_right_left - 0073
refl - 0074
have hrzero : r=0 - 0075
specialize polynomial_zero_extended_entry_functional (cb) - 0076
specialize polynomial_zero_extended_entry_functional (cc) - 0077
specialize polynomial_zero_extended_entry_functional (L) - 0078
specialize polynomial_zero_extended_entry_functional (i) - 0079
specialize polynomial_zero_extended_entry_functional (r) - 0080
specialize polynomial_zero_extended_entry_functional (0) - 0081
apply polynomial_zero_extended_entry_functional - 0082
exact hr - 0083
right - 0084
split - 0085
exact ha_right_left - 0086
refl - 0087
rewrite ha_right_right - 0088
rewrite hbzero - 0089
rewrite hrzero - 0090
exists 0 - 0091
exists 0 - 0092
simp