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. ∀ p. ∀ k. ∀ m. ¬p = 0 → ¬k = 0 → Pow(p,k,m) → SignedHornerValueDerivative(pb,pc,nb,nc,a,l,vp,dp,vn,dn) → ModEq(m,vp,vn) → SignedDerivativeUnit(p,dp,dn) → ∃ x. Pow(p,S k,x) ∧ (∃ y. CanonicalSignedHornerLift(pb,pc,nb,nc,l,m,a,x,y) ∧ (∀ z. CanonicalSignedHornerLift(pb,pc,nb,nc,l,m,a,x,z) → z = y))
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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–19
03Establish hfactorL20–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel positive power factor.
04Separate the logical casesL28–29
05Construct an explicit witnessL30–30
Supply the displayed value, then prove that it has the required property.
- L30
exists m * p
06Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
split
07Use earlier factsL32–37
08Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
refl
09Use earlier factsL39–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique pb - L40
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique pc - L41
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique nb - L42
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique nc - L43
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique a - L44
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique l - L45
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique vp - L46
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique dp - L47
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique vn - L48
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique dn
10Use earlier factsL49–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique m - L50
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique p - L51
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique x - L52
apply beta_signed_horner_simple_root_hensel_lift_exists_unique - L53
exact hp - L54
exact hfactor_left - L55
exact hfactor_right_witness - L56
exact hpair - L57
exact hroot - L58
exact hunit
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 p - 0012
intro k - 0013
intro m - 0014
intro hp - 0015
intro hk - 0016
intro hpower - 0017
intro hpair - 0018
intro hroot - 0019
intro hunit - 0020
have hfactor : ¬m = 0 ∧ Dvd(p,m) - 0021
specialize hensel_positive_power_factor p - 0022
specialize hensel_positive_power_factor k - 0023
specialize hensel_positive_power_factor m - 0024
apply hensel_positive_power_factor - 0025
exact hp - 0026
exact hk - 0027
exact hpower - 0028
cases hfactor - 0029
cases hfactor_right - 0030
exists m * p - 0031
split - 0032
specialize pow_successor_compose p - 0033
specialize pow_successor_compose k - 0034
specialize pow_successor_compose m - 0035
specialize pow_successor_compose (m * p) - 0036
apply pow_successor_compose - 0037
exact hpower - 0038
refl - 0039
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique pb - 0040
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique pc - 0041
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique nb - 0042
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique nc - 0043
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique a - 0044
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique l - 0045
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique vp - 0046
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique dp - 0047
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique vn - 0048
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique dn - 0049
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique m - 0050
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique p - 0051
specialize beta_signed_horner_simple_root_hensel_lift_exists_unique x - 0052
apply beta_signed_horner_simple_root_hensel_lift_exists_unique - 0053
exact hp - 0054
exact hfactor_left - 0055
exact hfactor_right_witness - 0056
exact hpair - 0057
exact hroot - 0058
exact hunit