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
∀ pb. ∀ pc. ∀ nb. ∀ nc. ∀ a. ∀ l. ∀ vp. ∀ dp. ∀ vn. ∀ dn. ∀ m. ∀ p. ∀ s. ¬p = 0 → ¬m = 0 → m = p · s → SignedHornerValueDerivative(pb,pc,nb,nc,a,l,vp,dp,vn,dn) → ModEq(m,vp,vn) → SignedDerivativeUnit(p,dp,dn) → ∃ x. CanonicalSignedHornerLift(pb,pc,nb,nc,l,m,a,m · p,x) ∧ (∀ y. CanonicalSignedHornerLift(pb,pc,nb,nc,l,m,a,m · p,y) → y = x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 58 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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–19
03Establish hpowerL20–20
Establish this local claim before using it. It is not an additional assumption.
04Establish hexistsL21–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow exists.
05Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hexists
06Establish heqL26–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow one.
07Use earlier factsL36–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
specialize beta_signed_horner_hensel_iterated_exists_unique pb - L37
specialize beta_signed_horner_hensel_iterated_exists_unique pc - L38
specialize beta_signed_horner_hensel_iterated_exists_unique nb - L39
specialize beta_signed_horner_hensel_iterated_exists_unique nc - L40
specialize beta_signed_horner_hensel_iterated_exists_unique a - L41
specialize beta_signed_horner_hensel_iterated_exists_unique l - L42
specialize beta_signed_horner_hensel_iterated_exists_unique vp - L43
specialize beta_signed_horner_hensel_iterated_exists_unique dp - L44
specialize beta_signed_horner_hensel_iterated_exists_unique vn - L45
specialize beta_signed_horner_hensel_iterated_exists_unique dn
08Use earlier factsL46–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
specialize beta_signed_horner_hensel_iterated_exists_unique m - L47
specialize beta_signed_horner_hensel_iterated_exists_unique p - L48
specialize beta_signed_horner_hensel_iterated_exists_unique s - L49
specialize beta_signed_horner_hensel_iterated_exists_unique 1 - L50
specialize beta_signed_horner_hensel_iterated_exists_unique p - L51
apply beta_signed_horner_hensel_iterated_exists_unique - L52
exact hp - L53
exact hm - L54
exact hfactor - L55
exact hpair
Original defined command ledger · 58 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro a - 0006
intro l - 0007
intro vp - 0008
intro dp - 0009
intro vn - 0010
intro dn - 0011
intro m - 0012
intro p - 0013
intro s - 0014
intro hp - 0015
intro hm - 0016
intro hfactor - 0017
intro hpair - 0018
intro hroot - 0019
intro hunit - 0020
have hpower : Pow(p,1,p) - 0021
have hexists : ∃ q. Pow(p,1,q) - 0022
specialize pow_exists p - 0023
specialize pow_exists 1 - 0024
apply pow_exists - 0025
cases hexists - 0026
have heq : x = p - 0027
specialize pow_one p - 0028
specialize pow_one 1 - 0029
specialize pow_one x - 0030
apply pow_one - 0031
refl - 0032
exact hexists_witness - 0033
rewrite heq at hexists_witness - 0034
rewrite heq at hexists_witness - 0035
exact hexists_witness - 0036
specialize beta_signed_horner_hensel_iterated_exists_unique pb - 0037
specialize beta_signed_horner_hensel_iterated_exists_unique pc - 0038
specialize beta_signed_horner_hensel_iterated_exists_unique nb - 0039
specialize beta_signed_horner_hensel_iterated_exists_unique nc - 0040
specialize beta_signed_horner_hensel_iterated_exists_unique a - 0041
specialize beta_signed_horner_hensel_iterated_exists_unique l - 0042
specialize beta_signed_horner_hensel_iterated_exists_unique vp - 0043
specialize beta_signed_horner_hensel_iterated_exists_unique dp - 0044
specialize beta_signed_horner_hensel_iterated_exists_unique vn - 0045
specialize beta_signed_horner_hensel_iterated_exists_unique dn - 0046
specialize beta_signed_horner_hensel_iterated_exists_unique m - 0047
specialize beta_signed_horner_hensel_iterated_exists_unique p - 0048
specialize beta_signed_horner_hensel_iterated_exists_unique s - 0049
specialize beta_signed_horner_hensel_iterated_exists_unique 1 - 0050
specialize beta_signed_horner_hensel_iterated_exists_unique p - 0051
apply beta_signed_horner_hensel_iterated_exists_unique - 0052
exact hp - 0053
exact hm - 0054
exact hfactor - 0055
exact hpair - 0056
exact hroot - 0057
exact hunit - 0058
exact hpower