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. ∀ b. ∀ c. ∀ zb. ∀ zc. ∀ l. Prime(p) → BetaPrefixInto(b,c,l,p) → Repeat(zb,zc,0,l) → FpPolyScale(p,0,b,c,zb,zc,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 34 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
03Use earlier factsL11–13
04Fix variables and assumptionsL14–15
05Establish haL16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hc.
- L16
have ha : ∃ a. BetaAt(b,c,i,a) ∧ Lt(a,p)Definitions: BetaAt(b,c,i,a)Lt(a,p)Original native command in the exact edition - L17
specialize hc (i) - L18
apply hc - L19
exact hi
06Separate the logical casesL20–21
07Construct an explicit witnessL22–23
08Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
split
09Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact ha_witness_left
10Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
split
11Use earlier factsL27–34
Original defined command ledger · 34 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro zb - 0005
intro zc - 0006
intro l - 0007
intro hp - 0008
intro hc - 0009
intro hz - 0010
split - 0011
specialize prime_field_zero_below_prime (p) - 0012
apply prime_field_zero_below_prime - 0013
exact hp - 0014
intro i - 0015
intro hi - 0016
have ha : ∃ a. BetaAt(b,c,i,a) ∧ Lt(a,p) - 0017
specialize hc (i) - 0018
apply hc - 0019
exact hi - 0020
cases ha - 0021
cases ha_witness - 0022
exists x - 0023
exists 0 - 0024
split - 0025
exact ha_witness_left - 0026
split - 0027
specialize hz (i) - 0028
apply hz - 0029
exact hi - 0030
specialize prime_field_multiply_zero_left (p) - 0031
specialize prime_field_multiply_zero_left (x) - 0032
apply prime_field_multiply_zero_left - 0033
exact hp - 0034
exact ha_witness_right