Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
The derivative-nonzero criterion supplies no inverse or power witness: both are constructed. Roots may be arbitrary natural representatives of signed integer polynomials. Singular-root classification and p-adic completion are separate milestones.
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ a. ∀ l. ∀ m. ∀ M. Dvd(m,M) → HornerRootModulo(b,c,a,l,M) → HornerRootModulo(b,c,a,l,m)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 20 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–8
02Separate the logical casesL9–10
03Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists x
04Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
split
05Use earlier factsL13–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 20 lines
- 0001
intro b - 0002
intro c - 0003
intro a - 0004
intro l - 0005
intro m - 0006
intro M - 0007
intro hdiv - 0008
intro hroot - 0009
cases hroot - 0010
cases hroot_witness - 0011
exists x - 0012
split - 0013
exact hroot_witness_left - 0014
specialize mod_eq_of_mod_eq_multiple m - 0015
specialize mod_eq_of_mod_eq_multiple M - 0016
specialize mod_eq_of_mod_eq_multiple x - 0017
specialize mod_eq_of_mod_eq_multiple 0 - 0018
apply mod_eq_of_mod_eq_multiple - 0019
exact hdiv - 0020
exact hroot_witness_right