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 coefficients retain the established highest-degree-first order. Trimming handles empty and all-zero prefixes; monic normalization requires a nonzero leading coefficient. Synthetic division has a nonempty input of length S n and a quotient of length n, unique in decoded values. Its coefficient recurrence, actual evaluation remainder and positive-degree drop are checked. General polynomial Euclidean division, gcd/Bezout, an arbitrary-convolution factor theorem, irreducible-polynomial existence and the full G091 prime-power-field endpoint remain open. These exact theorems are first admitted to Alpha v32; Stable remains unchanged.
Exact theorem in conservative defined notation
∀ p. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ rb. ∀ rc. ∀ l. ∀ i. ∀ a. ∀ b. ∀ r. FpCoefficientSubtraction(p,ab,ac,bb,bc,rb,rc,l) → Lt(i,l) → BetaAt(ab,ac,i,a) → BetaAt(bb,bc,i,b) → BetaAt(rb,rc,i,r) → FpAdd(p,b,r,a)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 61 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–17
03Establish hvL18–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L18
have hv : ∃ u0. ∃ u1. ∃ u2. BetaAt(ab,ac,i,u0) ∧ (BetaAt(bb,bc,i,u1) ∧ (BetaAt(rb,rc,i,u2) ∧ FpAdd(p,u1,u2,u0)))Definitions: BetaAt(ab,ac,i,u0)BetaAt(bb,bc,i,u1)BetaAt(rb,rc,i,u2)FpAdd(p,u1,u2,u0)Original native command in the exact edition - L19
specialize h (i) - L20
apply h - L21
exact hi
04Separate the logical casesL22–27
05Establish heq0L28–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L28
have heq0 : x=a - L29
specialize beta_at_unique (ab) - L30
specialize beta_at_unique (ac) - L31
specialize beta_at_unique (i) - L32
specialize beta_at_unique (x) - L33
specialize beta_at_unique (a) - L34
apply beta_at_unique - L35
exact hv_witness_witness_witness_left - L36
exact ha - L37
rewrite heq0 at hv_witness_witness_witness_right_right_right
06Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
rewrite heq0 at hv_witness_witness_witness_right_right_right
07Establish heq1L39–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L39
have heq1 : x1=b - L40
specialize beta_at_unique (bb) - L41
specialize beta_at_unique (bc) - L42
specialize beta_at_unique (i) - L43
specialize beta_at_unique (x1) - L44
specialize beta_at_unique (b) - L45
apply beta_at_unique - L46
exact hv_witness_witness_witness_right_left - L47
exact hb - L48
rewrite heq1 at hv_witness_witness_witness_right_right_right
08Calculate and transport equalitiesL49–49
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L49
rewrite heq1 at hv_witness_witness_witness_right_right_right
09Establish heq2L50–59
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L50
have heq2 : x2=r - L51
specialize beta_at_unique (rb) - L52
specialize beta_at_unique (rc) - L53
specialize beta_at_unique (i) - L54
specialize beta_at_unique (x2) - L55
specialize beta_at_unique (r) - L56
apply beta_at_unique - L57
exact hv_witness_witness_witness_right_right_left - L58
exact hr - L59
rewrite heq2 at hv_witness_witness_witness_right_right_right
10Calculate and transport equalitiesL60–60
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L60
rewrite heq2 at hv_witness_witness_witness_right_right_right
11Use earlier factsL61–61
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L61
exact hv_witness_witness_witness_right_right_right
Original defined command ledger · 61 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro bb - 0005
intro bc - 0006
intro rb - 0007
intro rc - 0008
intro l - 0009
intro i - 0010
intro a - 0011
intro b - 0012
intro r - 0013
intro h - 0014
intro hi - 0015
intro ha - 0016
intro hb - 0017
intro hr - 0018
have hv : ∃ u0. ∃ u1. ∃ u2. BetaAt(ab,ac,i,u0) ∧ (BetaAt(bb,bc,i,u1) ∧ (BetaAt(rb,rc,i,u2) ∧ FpAdd(p,u1,u2,u0))) - 0019
specialize h (i) - 0020
apply h - 0021
exact hi - 0022
cases hv - 0023
cases hv_witness - 0024
cases hv_witness_witness - 0025
cases hv_witness_witness_witness - 0026
cases hv_witness_witness_witness_right - 0027
cases hv_witness_witness_witness_right_right - 0028
have heq0 : x=a - 0029
specialize beta_at_unique (ab) - 0030
specialize beta_at_unique (ac) - 0031
specialize beta_at_unique (i) - 0032
specialize beta_at_unique (x) - 0033
specialize beta_at_unique (a) - 0034
apply beta_at_unique - 0035
exact hv_witness_witness_witness_left - 0036
exact ha - 0037
rewrite heq0 at hv_witness_witness_witness_right_right_right - 0038
rewrite heq0 at hv_witness_witness_witness_right_right_right - 0039
have heq1 : x1=b - 0040
specialize beta_at_unique (bb) - 0041
specialize beta_at_unique (bc) - 0042
specialize beta_at_unique (i) - 0043
specialize beta_at_unique (x1) - 0044
specialize beta_at_unique (b) - 0045
apply beta_at_unique - 0046
exact hv_witness_witness_witness_right_left - 0047
exact hb - 0048
rewrite heq1 at hv_witness_witness_witness_right_right_right - 0049
rewrite heq1 at hv_witness_witness_witness_right_right_right - 0050
have heq2 : x2=r - 0051
specialize beta_at_unique (rb) - 0052
specialize beta_at_unique (rc) - 0053
specialize beta_at_unique (i) - 0054
specialize beta_at_unique (x2) - 0055
specialize beta_at_unique (r) - 0056
apply beta_at_unique - 0057
exact hv_witness_witness_witness_right_right_left - 0058
exact hr - 0059
rewrite heq2 at hv_witness_witness_witness_right_right_right - 0060
rewrite heq2 at hv_witness_witness_witness_right_right_right - 0061
exact hv_witness_witness_witness_right_right_right