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. ∀ rb. ∀ rc. ∀ l. FpCoefficientNegation(p,ab,ac,rb,rc,l) → BetaPrefixInto(ab,ac,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 42 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–7
02Separate the logical casesL8–8
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L8
split
03Fix variables and assumptionsL9–10
04Establish hvL11–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L11
have hv : ∃ a. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,a,r,0))Definitions: BetaAt(ab,ac,i,a)BetaAt(rb,rc,i,r)FpAdd(p,a,r,0)Original native command in the exact edition - L12
specialize h (i) - L13
apply h - L14
exact hi
05Separate the logical casesL15–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
06Construct an explicit witnessL22–22
Supply the displayed value, then prove that it has the required property.
- L22
exists x
07Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
split
08Use earlier factsL24–25
09Fix variables and assumptionsL26–27
10Establish hvL28–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h.
- L28
have hv : ∃ a. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,a,r,0))Definitions: BetaAt(ab,ac,i,a)BetaAt(rb,rc,i,r)FpAdd(p,a,r,0)Original native command in the exact edition - L29
specialize h (i) - L30
apply h - L31
exact hi
11Separate the logical casesL32–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
12Construct an explicit witnessL39–39
Supply the displayed value, then prove that it has the required property.
- L39
exists x1
13Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
split
Original defined command ledger · 42 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro rb - 0005
intro rc - 0006
intro l - 0007
intro h - 0008
split - 0009
intro i - 0010
intro hi - 0011
have hv : ∃ a. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,a,r,0)) - 0012
specialize h (i) - 0013
apply h - 0014
exact hi - 0015
cases hv - 0016
cases hv_witness - 0017
cases hv_witness_witness - 0018
cases hv_witness_witness_right - 0019
cases hv_witness_witness_right_right - 0020
cases hv_witness_witness_right_right_right - 0021
cases hv_witness_witness_right_right_right_right - 0022
exists x - 0023
split - 0024
exact hv_witness_witness_left - 0025
exact hv_witness_witness_right_right_left - 0026
intro i - 0027
intro hi - 0028
have hv : ∃ a. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(rb,rc,i,r) ∧ FpAdd(p,a,r,0)) - 0029
specialize h (i) - 0030
apply h - 0031
exact hi - 0032
cases hv - 0033
cases hv_witness - 0034
cases hv_witness_witness - 0035
cases hv_witness_witness_right - 0036
cases hv_witness_witness_right_right - 0037
cases hv_witness_witness_right_right_right - 0038
cases hv_witness_witness_right_right_right_right - 0039
exists x1 - 0040
split - 0041
exact hv_witness_witness_right_left - 0042
exact hv_witness_witness_right_right_right_left