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. ∀ M. SignedHornerRoot(pb,pc,nb,nc,a,l,M) → ∃ x. ∃ y. ∃ z. ∃ n. SignedHornerValueDerivative(pb,pc,nb,nc,a,l,x,y,z,n) ∧ ModEq(M,x,z)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 73 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
02Establish hPL9–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative value exists.
- L9
have hP : ∃ vp. ∃ dp. HornerDerivative(pb,pc,a,l,vp,dp)Definitions: HornerDerivative(pb,pc,a,l,vp,dp)Original native command in the exact edition - L10
specialize beta_horner_derivative_value_exists pb - L11
specialize beta_horner_derivative_value_exists pc - L12
specialize beta_horner_derivative_value_exists a - L13
specialize beta_horner_derivative_value_exists l - L14
apply beta_horner_derivative_value_exists
03Separate the logical casesL15–16
04Establish hNL17–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative value exists.
- L17
have hN : ∃ vn. ∃ dn. HornerDerivative(nb,nc,a,l,vn,dn)Definitions: HornerDerivative(nb,nc,a,l,vn,dn)Original native command in the exact edition - L18
specialize beta_horner_derivative_value_exists nb - L19
specialize beta_horner_derivative_value_exists nc - L20
specialize beta_horner_derivative_value_exists a - L21
specialize beta_horner_derivative_value_exists l - L22
apply beta_horner_derivative_value_exists
05Separate the logical casesL23–28
06Establish hpositiveL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval functional.
- L29
have hpositive : x = x4 - L30
specialize beta_horner_eval_functional pb - L31
specialize beta_horner_eval_functional pc - L32
specialize beta_horner_eval_functional a - L33
specialize beta_horner_eval_functional l - L34
specialize beta_horner_eval_functional x - L35
specialize beta_horner_eval_functional x4 - L36
apply beta_horner_eval_functional - L37
specialize beta_horner_derivative_value_projection pb - L38
specialize beta_horner_derivative_value_projection pc
07Use earlier factsL39–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
specialize beta_horner_derivative_value_projection a - L40
specialize beta_horner_derivative_value_projection l - L41
specialize beta_horner_derivative_value_projection x - L42
specialize beta_horner_derivative_value_projection x1 - L43
apply beta_horner_derivative_value_projection - L44
exact hP_witness_witness - L45
exact hroot_witness_witness_left
08Establish hnegativeL46–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval functional.
- L46
have hnegative : x2 = x5 - L47
specialize beta_horner_eval_functional nb - L48
specialize beta_horner_eval_functional nc - L49
specialize beta_horner_eval_functional a - L50
specialize beta_horner_eval_functional l - L51
specialize beta_horner_eval_functional x2 - L52
specialize beta_horner_eval_functional x5 - L53
apply beta_horner_eval_functional - L54
specialize beta_horner_derivative_value_projection nb - L55
specialize beta_horner_derivative_value_projection nc
09Use earlier factsL56–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
specialize beta_horner_derivative_value_projection a - L57
specialize beta_horner_derivative_value_projection l - L58
specialize beta_horner_derivative_value_projection x2 - L59
specialize beta_horner_derivative_value_projection x3 - L60
apply beta_horner_derivative_value_projection - L61
exact hN_witness_witness - L62
exact hroot_witness_witness_right_left
10Construct an explicit witnessL63–66
11Separate the logical casesL67–68
12Use earlier factsL69–70
13Calculate and transport equalitiesL71–72
14Use earlier factsL73–73
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L73
exact hroot_witness_witness_right_right
Original defined command ledger · 73 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro a - 0006
intro l - 0007
intro M - 0008
intro hroot - 0009
have hP : ∃ vp. ∃ dp. HornerDerivative(pb,pc,a,l,vp,dp) - 0010
specialize beta_horner_derivative_value_exists pb - 0011
specialize beta_horner_derivative_value_exists pc - 0012
specialize beta_horner_derivative_value_exists a - 0013
specialize beta_horner_derivative_value_exists l - 0014
apply beta_horner_derivative_value_exists - 0015
cases hP - 0016
cases hP_witness - 0017
have hN : ∃ vn. ∃ dn. HornerDerivative(nb,nc,a,l,vn,dn) - 0018
specialize beta_horner_derivative_value_exists nb - 0019
specialize beta_horner_derivative_value_exists nc - 0020
specialize beta_horner_derivative_value_exists a - 0021
specialize beta_horner_derivative_value_exists l - 0022
apply beta_horner_derivative_value_exists - 0023
cases hN - 0024
cases hN_witness - 0025
cases hroot - 0026
cases hroot_witness - 0027
cases hroot_witness_witness - 0028
cases hroot_witness_witness_right - 0029
have hpositive : x = x4 - 0030
specialize beta_horner_eval_functional pb - 0031
specialize beta_horner_eval_functional pc - 0032
specialize beta_horner_eval_functional a - 0033
specialize beta_horner_eval_functional l - 0034
specialize beta_horner_eval_functional x - 0035
specialize beta_horner_eval_functional x4 - 0036
apply beta_horner_eval_functional - 0037
specialize beta_horner_derivative_value_projection pb - 0038
specialize beta_horner_derivative_value_projection pc - 0039
specialize beta_horner_derivative_value_projection a - 0040
specialize beta_horner_derivative_value_projection l - 0041
specialize beta_horner_derivative_value_projection x - 0042
specialize beta_horner_derivative_value_projection x1 - 0043
apply beta_horner_derivative_value_projection - 0044
exact hP_witness_witness - 0045
exact hroot_witness_witness_left - 0046
have hnegative : x2 = x5 - 0047
specialize beta_horner_eval_functional nb - 0048
specialize beta_horner_eval_functional nc - 0049
specialize beta_horner_eval_functional a - 0050
specialize beta_horner_eval_functional l - 0051
specialize beta_horner_eval_functional x2 - 0052
specialize beta_horner_eval_functional x5 - 0053
apply beta_horner_eval_functional - 0054
specialize beta_horner_derivative_value_projection nb - 0055
specialize beta_horner_derivative_value_projection nc - 0056
specialize beta_horner_derivative_value_projection a - 0057
specialize beta_horner_derivative_value_projection l - 0058
specialize beta_horner_derivative_value_projection x2 - 0059
specialize beta_horner_derivative_value_projection x3 - 0060
apply beta_horner_derivative_value_projection - 0061
exact hN_witness_witness - 0062
exact hroot_witness_witness_right_left - 0063
exists x - 0064
exists x1 - 0065
exists x2 - 0066
exists x3 - 0067
split - 0068
split - 0069
exact hP_witness_witness - 0070
exact hN_witness_witness - 0071
rewrite hpositive - 0072
rewrite hnegative - 0073
exact hroot_witness_witness_right_right