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. ∀ M. ∀ r. SignedHornerValueDerivative(pb,pc,nb,nc,a,l,vp,dp,vn,dn) → SignedDerivativeUnit(p,dp,dn) → m = p · s → CanonicalSignedHornerLift(pb,pc,nb,nc,l,m,a,M,r) → SignedSimpleHornerRoot(pb,pc,nb,nc,r,l,M,p)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 102 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
03Separate the logical casesL20–22
04Establish hactualL23–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta signed horner root value derivative exists.
- L23
have hactual : ∃ P. ∃ D. ∃ N. ∃ E. SignedHornerValueDerivative(pb,pc,nb,nc,r,l,P,D,N,E) ∧ ModEq(M,P,N)Definitions: SignedHornerValueDerivative(pb,pc,nb,nc,r,l,P,D,N,E)ModEq(M,P,N)Original native command in the exact edition - L24
specialize beta_signed_horner_root_value_derivative_exists pb - L25
specialize beta_signed_horner_root_value_derivative_exists pc - L26
specialize beta_signed_horner_root_value_derivative_exists nb - L27
specialize beta_signed_horner_root_value_derivative_exists nc - L28
specialize beta_signed_horner_root_value_derivative_exists r - L29
specialize beta_signed_horner_root_value_derivative_exists l - L30
specialize beta_signed_horner_root_value_derivative_exists M - L31
apply beta_signed_horner_root_value_derivative_exists - L32
exact hlift_right_right
05Separate the logical casesL33–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
06Establish hpointL39–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq of mod eq multiple.
07Construct an explicit witnessL45–45
Supply the displayed value, then prove that it has the required property.
- L45
exists s
08Use earlier factsL46–51
09Establish hpositiveL52–61
Establish this local claim before using it. It is not an additional assumption.
- L52
have hpositive : ModEq(p,vp,x) ∧ ModEq(p,dp,x1)Definitions: ModEq(p,vp,x)ModEq(p,dp,x1)Original native command in the exact edition - L53
specialize beta_horner_derivative_mod_congruence pb - L54
specialize beta_horner_derivative_mod_congruence pc - L55
specialize beta_horner_derivative_mod_congruence p - L56
specialize beta_horner_derivative_mod_congruence a - L57
specialize beta_horner_derivative_mod_congruence r - L58
specialize beta_horner_derivative_mod_congruence l - L59
specialize beta_horner_derivative_mod_congruence vp - L60
specialize beta_horner_derivative_mod_congruence dp - L61
specialize beta_horner_derivative_mod_congruence x
10Use earlier factsL62–66
11Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
cases hpositive
12Establish hnegativeL68–77
Establish this local claim before using it. It is not an additional assumption.
- L68
have hnegative : ModEq(p,vn,x2) ∧ ModEq(p,dn,x3)Definitions: ModEq(p,vn,x2)ModEq(p,dn,x3)Original native command in the exact edition - L69
specialize beta_horner_derivative_mod_congruence nb - L70
specialize beta_horner_derivative_mod_congruence nc - L71
specialize beta_horner_derivative_mod_congruence p - L72
specialize beta_horner_derivative_mod_congruence a - L73
specialize beta_horner_derivative_mod_congruence r - L74
specialize beta_horner_derivative_mod_congruence l - L75
specialize beta_horner_derivative_mod_congruence vn - L76
specialize beta_horner_derivative_mod_congruence dn - L77
specialize beta_horner_derivative_mod_congruence x2
13Use earlier factsL78–82
14Separate the logical casesL83–83
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L83
cases hnegative
15Construct an explicit witnessL84–87
16Separate the logical casesL88–89
17Use earlier factsL90–91
18Separate the logical casesL92–92
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L92
split
19Use earlier factsL93–102
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L93
exact hactual_witness_witness_witness_witness_right - L94
specialize hensel_signed_derivative_unit_mod_transport p - L95
specialize hensel_signed_derivative_unit_mod_transport dp - L96
specialize hensel_signed_derivative_unit_mod_transport dn - L97
specialize hensel_signed_derivative_unit_mod_transport x1 - L98
specialize hensel_signed_derivative_unit_mod_transport x3 - L99
apply hensel_signed_derivative_unit_mod_transport - L100
exact hpositive_right - L101
exact hnegative_right - L102
exact hunit
Original defined command ledger · 102 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 M - 0015
intro r - 0016
intro hpair - 0017
intro hunit - 0018
intro hfactor - 0019
intro hlift - 0020
cases hpair - 0021
cases hlift - 0022
cases hlift_right - 0023
have hactual : ∃ P. ∃ D. ∃ N. ∃ E. SignedHornerValueDerivative(pb,pc,nb,nc,r,l,P,D,N,E) ∧ ModEq(M,P,N) - 0024
specialize beta_signed_horner_root_value_derivative_exists pb - 0025
specialize beta_signed_horner_root_value_derivative_exists pc - 0026
specialize beta_signed_horner_root_value_derivative_exists nb - 0027
specialize beta_signed_horner_root_value_derivative_exists nc - 0028
specialize beta_signed_horner_root_value_derivative_exists r - 0029
specialize beta_signed_horner_root_value_derivative_exists l - 0030
specialize beta_signed_horner_root_value_derivative_exists M - 0031
apply beta_signed_horner_root_value_derivative_exists - 0032
exact hlift_right_right - 0033
cases hactual - 0034
cases hactual_witness - 0035
cases hactual_witness_witness - 0036
cases hactual_witness_witness_witness - 0037
cases hactual_witness_witness_witness_witness - 0038
cases hactual_witness_witness_witness_witness_left - 0039
have hpoint : ModEq(p,a,r) - 0040
specialize mod_eq_of_mod_eq_multiple p - 0041
specialize mod_eq_of_mod_eq_multiple m - 0042
specialize mod_eq_of_mod_eq_multiple a - 0043
specialize mod_eq_of_mod_eq_multiple r - 0044
apply mod_eq_of_mod_eq_multiple - 0045
exists s - 0046
exact hfactor - 0047
specialize mod_eq_symm m - 0048
specialize mod_eq_symm r - 0049
specialize mod_eq_symm a - 0050
apply mod_eq_symm - 0051
exact hlift_right_left - 0052
have hpositive : ModEq(p,vp,x) ∧ ModEq(p,dp,x1) - 0053
specialize beta_horner_derivative_mod_congruence pb - 0054
specialize beta_horner_derivative_mod_congruence pc - 0055
specialize beta_horner_derivative_mod_congruence p - 0056
specialize beta_horner_derivative_mod_congruence a - 0057
specialize beta_horner_derivative_mod_congruence r - 0058
specialize beta_horner_derivative_mod_congruence l - 0059
specialize beta_horner_derivative_mod_congruence vp - 0060
specialize beta_horner_derivative_mod_congruence dp - 0061
specialize beta_horner_derivative_mod_congruence x - 0062
specialize beta_horner_derivative_mod_congruence x1 - 0063
apply beta_horner_derivative_mod_congruence - 0064
exact hpoint - 0065
exact hpair_left - 0066
exact hactual_witness_witness_witness_witness_left_left - 0067
cases hpositive - 0068
have hnegative : ModEq(p,vn,x2) ∧ ModEq(p,dn,x3) - 0069
specialize beta_horner_derivative_mod_congruence nb - 0070
specialize beta_horner_derivative_mod_congruence nc - 0071
specialize beta_horner_derivative_mod_congruence p - 0072
specialize beta_horner_derivative_mod_congruence a - 0073
specialize beta_horner_derivative_mod_congruence r - 0074
specialize beta_horner_derivative_mod_congruence l - 0075
specialize beta_horner_derivative_mod_congruence vn - 0076
specialize beta_horner_derivative_mod_congruence dn - 0077
specialize beta_horner_derivative_mod_congruence x2 - 0078
specialize beta_horner_derivative_mod_congruence x3 - 0079
apply beta_horner_derivative_mod_congruence - 0080
exact hpoint - 0081
exact hpair_right - 0082
exact hactual_witness_witness_witness_witness_left_right - 0083
cases hnegative - 0084
exists x - 0085
exists x1 - 0086
exists x2 - 0087
exists x3 - 0088
split - 0089
split - 0090
exact hactual_witness_witness_witness_witness_left_left - 0091
exact hactual_witness_witness_witness_witness_left_right - 0092
split - 0093
exact hactual_witness_witness_witness_witness_right - 0094
specialize hensel_signed_derivative_unit_mod_transport p - 0095
specialize hensel_signed_derivative_unit_mod_transport dp - 0096
specialize hensel_signed_derivative_unit_mod_transport dn - 0097
specialize hensel_signed_derivative_unit_mod_transport x1 - 0098
specialize hensel_signed_derivative_unit_mod_transport x3 - 0099
apply hensel_signed_derivative_unit_mod_transport - 0100
exact hpositive_right - 0101
exact hnegative_right - 0102
exact hunit