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. ∀ h. ∀ l. ∃ gb. ∃ gc. HornerCoefficientBlend(pb,pc,nb,nc,gb,gc,h,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 70 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–6
02Establish hrepeatedL7–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta repeat exists.
- L7
have hrepeated : ∃ rb. ∃ rc. Repeat(rb,rc,h,l)Definitions: Repeat(rb,rc,h,l)Original native command in the exact edition - L8
specialize beta_repeat_exists h - L9
specialize beta_repeat_exists l - L10
apply beta_repeat_exists
03Separate the logical casesL11–12
04Establish hscaledL13–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise mul prefix exists.
- L13
have hscaled : ∃ sb. ∃ sc. ∀ y. ∀ z. ∀ n. ∀ m. Lt(y,l) → Beta(x,x1,y,z) → Beta(nb,nc,y,n) → Beta(sb,sc,y,m) → m = z · nDefinitions: Lt(y,l)Beta(x,x1,y,z)Beta(nb,nc,y,n)Beta(sb,sc,y,m)Original native command in the exact edition - L14
specialize beta_pointwise_mul_prefix_exists x - L15
specialize beta_pointwise_mul_prefix_exists x1 - L16
specialize beta_pointwise_mul_prefix_exists nb - L17
specialize beta_pointwise_mul_prefix_exists nc - L18
specialize beta_pointwise_mul_prefix_exists l - L19
apply beta_pointwise_mul_prefix_exists
05Separate the logical casesL20–21
06Establish haddedL22–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise add prefix exists.
- L22
have hadded : ∃ gb. ∃ gc. ∀ x. ∀ y. ∀ z. ∀ n. Lt(x,l) → Beta(pb,pc,x,y) → Beta(x2,x3,x,z) → Beta(gb,gc,x,n) → n = y + zDefinitions: Lt(x,l)Beta(pb,pc,x,y)Beta(x2,x3,x,z)Beta(gb,gc,x,n)Original native command in the exact edition - L23
specialize beta_pointwise_add_prefix_exists pb - L24
specialize beta_pointwise_add_prefix_exists pc - L25
specialize beta_pointwise_add_prefix_exists x2 - L26
specialize beta_pointwise_add_prefix_exists x3 - L27
specialize beta_pointwise_add_prefix_exists l - L28
apply beta_pointwise_add_prefix_exists
07Separate the logical casesL29–30
08Construct an explicit witnessL31–32
09Fix variables and assumptionsL33–40
10Establish hentryL41–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L41
have hentry : ∃ w. Beta(x2,x3,i,w)Definitions: Beta(x2,x3,i,w)Original native command in the exact edition - L42
specialize beta_at_exists x2 - L43
specialize beta_at_exists x3 - L44
specialize beta_at_exists i - L45
apply beta_at_exists
11Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
cases hentry
12Establish hscaleL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hscaled witness witness.
- L47
have hscale : x6 = h * B - L48
specialize hscaled_witness_witness i - L49
specialize hscaled_witness_witness h - L50
specialize hscaled_witness_witness B - L51
specialize hscaled_witness_witness x6 - L52
apply hscaled_witness_witness - L53
exact hi - L54
specialize hrepeated_witness_witness i - L55
apply hrepeated_witness_witness - L56
exact hi
13Use earlier factsL57–58
14Calculate and transport equalitiesL59–59
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L59
trans A + x6
15Use earlier factsL60–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 70 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro h - 0006
intro l - 0007
have hrepeated : ∃ rb. ∃ rc. Repeat(rb,rc,h,l) - 0008
specialize beta_repeat_exists h - 0009
specialize beta_repeat_exists l - 0010
apply beta_repeat_exists - 0011
cases hrepeated - 0012
cases hrepeated_witness - 0013
have hscaled : ∃ sb. ∃ sc. ∀ y. ∀ z. ∀ n. ∀ m. Lt(y,l) → Beta(x,x1,y,z) → Beta(nb,nc,y,n) → Beta(sb,sc,y,m) → m = z · n - 0014
specialize beta_pointwise_mul_prefix_exists x - 0015
specialize beta_pointwise_mul_prefix_exists x1 - 0016
specialize beta_pointwise_mul_prefix_exists nb - 0017
specialize beta_pointwise_mul_prefix_exists nc - 0018
specialize beta_pointwise_mul_prefix_exists l - 0019
apply beta_pointwise_mul_prefix_exists - 0020
cases hscaled - 0021
cases hscaled_witness - 0022
have hadded : ∃ gb. ∃ gc. ∀ x. ∀ y. ∀ z. ∀ n. Lt(x,l) → Beta(pb,pc,x,y) → Beta(x2,x3,x,z) → Beta(gb,gc,x,n) → n = y + z - 0023
specialize beta_pointwise_add_prefix_exists pb - 0024
specialize beta_pointwise_add_prefix_exists pc - 0025
specialize beta_pointwise_add_prefix_exists x2 - 0026
specialize beta_pointwise_add_prefix_exists x3 - 0027
specialize beta_pointwise_add_prefix_exists l - 0028
apply beta_pointwise_add_prefix_exists - 0029
cases hadded - 0030
cases hadded_witness - 0031
exists x4 - 0032
exists x5 - 0033
intro i - 0034
intro A - 0035
intro B - 0036
intro C - 0037
intro hi - 0038
intro hA - 0039
intro hB - 0040
intro hC - 0041
have hentry : ∃ w. Beta(x2,x3,i,w) - 0042
specialize beta_at_exists x2 - 0043
specialize beta_at_exists x3 - 0044
specialize beta_at_exists i - 0045
apply beta_at_exists - 0046
cases hentry - 0047
have hscale : x6 = h * B - 0048
specialize hscaled_witness_witness i - 0049
specialize hscaled_witness_witness h - 0050
specialize hscaled_witness_witness B - 0051
specialize hscaled_witness_witness x6 - 0052
apply hscaled_witness_witness - 0053
exact hi - 0054
specialize hrepeated_witness_witness i - 0055
apply hrepeated_witness_witness - 0056
exact hi - 0057
exact hB - 0058
exact hentry_witness - 0059
trans A + x6 - 0060
specialize hadded_witness_witness i - 0061
specialize hadded_witness_witness A - 0062
specialize hadded_witness_witness x6 - 0063
specialize hadded_witness_witness C - 0064
apply hadded_witness_witness - 0065
exact hi - 0066
exact hA - 0067
exact hentry_witness - 0068
exact hC - 0069
rewrite hscale - 0070
refl