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. FpCoefficientSubtraction(p,ab,ac,bb,bc,rb,rc,l) → BetaPrefixInto(ab,ac,l,p) ∧ (BetaPrefixInto(bb,bc,l,p) ∧ BetaPrefixInto(rb,rc,l,p))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 68 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–9
02Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
split
03Fix variables and assumptionsL11–12
04Establish hvL13–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L13
have hv : ∃ a. ∃ b. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,b) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,b,r,a)))Definitions: BetaAt(ab,ac,i,a)BetaAt(bb,bc,i,b)BetaAt(rb,rc,i,r)FpAdd(p,b,r,a)Original native command in the exact edition - L14
specialize h (i) - L15
apply h - L16
exact hi
05Separate the logical casesL17–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hv - L18
cases hv_witness - L19
cases hv_witness_witness - L20
cases hv_witness_witness_witness - L21
cases hv_witness_witness_witness_right - L22
cases hv_witness_witness_witness_right_right - L23
cases hv_witness_witness_witness_right_right_right - L24
cases hv_witness_witness_witness_right_right_right_right - L25
cases hv_witness_witness_witness_right_right_right_right_right
06Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists x
07Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
split
08Use earlier factsL28–29
09Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
split
10Fix variables and assumptionsL31–32
11Establish hvL33–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L33
have hv : ∃ a. ∃ b. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,b) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,b,r,a)))Definitions: BetaAt(ab,ac,i,a)BetaAt(bb,bc,i,b)BetaAt(rb,rc,i,r)FpAdd(p,b,r,a)Original native command in the exact edition - L34
specialize h (i) - L35
apply h - L36
exact hi
12Separate the logical casesL37–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases hv - L38
cases hv_witness - L39
cases hv_witness_witness - L40
cases hv_witness_witness_witness - L41
cases hv_witness_witness_witness_right - L42
cases hv_witness_witness_witness_right_right - L43
cases hv_witness_witness_witness_right_right_right - L44
cases hv_witness_witness_witness_right_right_right_right - L45
cases hv_witness_witness_witness_right_right_right_right_right
13Construct an explicit witnessL46–46
Supply the displayed value, then prove that it has the required property.
- L46
exists x1
14Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
split
15Use earlier factsL48–49
16Fix variables and assumptionsL50–51
17Establish hvL52–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L52
have hv : ∃ a. ∃ b. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,b) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,b,r,a)))Definitions: BetaAt(ab,ac,i,a)BetaAt(bb,bc,i,b)BetaAt(rb,rc,i,r)FpAdd(p,b,r,a)Original native command in the exact edition - L53
specialize h (i) - L54
apply h - L55
exact hi
18Separate the logical casesL56–64
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
cases hv - L57
cases hv_witness - L58
cases hv_witness_witness - L59
cases hv_witness_witness_witness - L60
cases hv_witness_witness_witness_right - L61
cases hv_witness_witness_witness_right_right - L62
cases hv_witness_witness_witness_right_right_right - L63
cases hv_witness_witness_witness_right_right_right_right - L64
cases hv_witness_witness_witness_right_right_right_right_right
19Construct an explicit witnessL65–65
Supply the displayed value, then prove that it has the required property.
- L65
exists x2
20Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
split
Original defined command ledger · 68 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 h - 0010
split - 0011
intro i - 0012
intro hi - 0013
have hv : ∃ a. ∃ b. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,b) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,b,r,a))) - 0014
specialize h (i) - 0015
apply h - 0016
exact hi - 0017
cases hv - 0018
cases hv_witness - 0019
cases hv_witness_witness - 0020
cases hv_witness_witness_witness - 0021
cases hv_witness_witness_witness_right - 0022
cases hv_witness_witness_witness_right_right - 0023
cases hv_witness_witness_witness_right_right_right - 0024
cases hv_witness_witness_witness_right_right_right_right - 0025
cases hv_witness_witness_witness_right_right_right_right_right - 0026
exists x - 0027
split - 0028
exact hv_witness_witness_witness_left - 0029
exact hv_witness_witness_witness_right_right_right_right_right_left - 0030
split - 0031
intro i - 0032
intro hi - 0033
have hv : ∃ a. ∃ b. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,b) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,b,r,a))) - 0034
specialize h (i) - 0035
apply h - 0036
exact hi - 0037
cases hv - 0038
cases hv_witness - 0039
cases hv_witness_witness - 0040
cases hv_witness_witness_witness - 0041
cases hv_witness_witness_witness_right - 0042
cases hv_witness_witness_witness_right_right - 0043
cases hv_witness_witness_witness_right_right_right - 0044
cases hv_witness_witness_witness_right_right_right_right - 0045
cases hv_witness_witness_witness_right_right_right_right_right - 0046
exists x1 - 0047
split - 0048
exact hv_witness_witness_witness_right_left - 0049
exact hv_witness_witness_witness_right_right_right_left - 0050
intro i - 0051
intro hi - 0052
have hv : ∃ a. ∃ b. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,b) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,b,r,a))) - 0053
specialize h (i) - 0054
apply h - 0055
exact hi - 0056
cases hv - 0057
cases hv_witness - 0058
cases hv_witness_witness - 0059
cases hv_witness_witness_witness - 0060
cases hv_witness_witness_witness_right - 0061
cases hv_witness_witness_witness_right_right - 0062
cases hv_witness_witness_witness_right_right_right - 0063
cases hv_witness_witness_witness_right_right_right_right - 0064
cases hv_witness_witness_witness_right_right_right_right_right - 0065
exists x2 - 0066
split - 0067
exact hv_witness_witness_witness_right_right_left - 0068
exact hv_witness_witness_witness_right_right_right_right_left