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.
Historical partial components only: this chapter proves exact natural polynomial Taylor remainders, bounded corrections, and one-step divisibility lifts. G095 is now closed in the separate Alpha-v27 hensel-lifting branch for integer polynomials, unrestricted input roots, unique canonical representatives, and every positive prime power. Full G095 proof · Alpha v27
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ a. ∀ l. ∀ n. ∀ d. ∀ m. ∀ p. ∀ s. ∀ q. ∀ t. ∀ y. ¬p = 0 → HornerDerivative(b,c,a,l,n,d) → Horner(b,c,a + m · t,l,y) → m = p · s → n = m · q → HenselCorrection(d,p,q,t) → Dvd(p · m,y)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 73 lines are the exact independently kernel-checked original 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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–18
03Establish htaylorL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner taylor remainder exists.
- L19
have htaylor : exists w. y = (n + (m * t) * d) + ((m * t) * (m * t)) * w - L20
specialize beta_horner_taylor_remainder_exists b - L21
specialize beta_horner_taylor_remainder_exists c - L22
specialize beta_horner_taylor_remainder_exists a - L23
specialize beta_horner_taylor_remainder_exists (m * t) - L24
specialize beta_horner_taylor_remainder_exists l - L25
specialize beta_horner_taylor_remainder_exists n - L26
specialize beta_horner_taylor_remainder_exists d - L27
specialize beta_horner_taylor_remainder_exists y - L28
apply beta_horner_taylor_remainder_exists
04Use earlier factsL29–30
05Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases htaylor
06Establish hcorrection_multipleL32–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel correction implies multiple.
- L32
have hcorrection_multiple : exists w. q + d * t = p * w - L33
specialize hensel_correction_implies_multiple d - L34
specialize hensel_correction_implies_multiple p - L35
specialize hensel_correction_implies_multiple q - L36
specialize hensel_correction_implies_multiple t - L37
apply hensel_correction_implies_multiple - L38
exact hp - L39
exact hcorrection
07Establish hlinearL40–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel linear correction multiple.
- L40
have hlinear : exists w. n + (m * t) * d = (p * m) * w - L41
rewrite hroot - L42
specialize hensel_linear_correction_multiple m - L43
specialize hensel_linear_correction_multiple d - L44
specialize hensel_linear_correction_multiple q - L45
specialize hensel_linear_correction_multiple t - L46
specialize hensel_linear_correction_multiple p - L47
apply hensel_linear_correction_multiple - L48
exact hcorrection_multiple
08Establish hsquareL49–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel square shift multiple.
09Establish hquadraticL56–61
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply multiple mul right.
10Establish hsumL62–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply multiple add.
11Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
cases hsum
12Construct an explicit witnessL70–70
Supply the displayed value, then prove that it has the required property.
- L70
exists x1
13Calculate and transport equalitiesL71–71
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L71
trans (n + (m * t) * d) + ((m * t) * (m * t)) * x
Original defined command ledger · 73 lines
- 0001
intro b - 0002
intro c - 0003
intro a - 0004
intro l - 0005
intro n - 0006
intro d - 0007
intro m - 0008
intro p - 0009
intro s - 0010
intro q - 0011
intro t - 0012
intro y - 0013
intro hp - 0014
intro hpair - 0015
intro hvalue - 0016
intro hfactor - 0017
intro hroot - 0018
intro hcorrection - 0019
have htaylor : exists w. y = (n + (m * t) * d) + ((m * t) * (m * t)) * w - 0020
specialize beta_horner_taylor_remainder_exists b - 0021
specialize beta_horner_taylor_remainder_exists c - 0022
specialize beta_horner_taylor_remainder_exists a - 0023
specialize beta_horner_taylor_remainder_exists (m * t) - 0024
specialize beta_horner_taylor_remainder_exists l - 0025
specialize beta_horner_taylor_remainder_exists n - 0026
specialize beta_horner_taylor_remainder_exists d - 0027
specialize beta_horner_taylor_remainder_exists y - 0028
apply beta_horner_taylor_remainder_exists - 0029
exact hpair - 0030
exact hvalue - 0031
cases htaylor - 0032
have hcorrection_multiple : exists w. q + d * t = p * w - 0033
specialize hensel_correction_implies_multiple d - 0034
specialize hensel_correction_implies_multiple p - 0035
specialize hensel_correction_implies_multiple q - 0036
specialize hensel_correction_implies_multiple t - 0037
apply hensel_correction_implies_multiple - 0038
exact hp - 0039
exact hcorrection - 0040
have hlinear : exists w. n + (m * t) * d = (p * m) * w - 0041
rewrite hroot - 0042
specialize hensel_linear_correction_multiple m - 0043
specialize hensel_linear_correction_multiple d - 0044
specialize hensel_linear_correction_multiple q - 0045
specialize hensel_linear_correction_multiple t - 0046
specialize hensel_linear_correction_multiple p - 0047
apply hensel_linear_correction_multiple - 0048
exact hcorrection_multiple - 0049
have hsquare : exists w. (m * t) * (m * t) = (p * m) * w - 0050
specialize hensel_square_shift_multiple m - 0051
specialize hensel_square_shift_multiple t - 0052
specialize hensel_square_shift_multiple p - 0053
specialize hensel_square_shift_multiple s - 0054
apply hensel_square_shift_multiple - 0055
exact hfactor - 0056
have hquadratic : exists w. ((m * t) * (m * t)) * x = (p * m) * w - 0057
specialize multiple_mul_right (p * m) - 0058
specialize multiple_mul_right ((m * t) * (m * t)) - 0059
specialize multiple_mul_right x - 0060
apply multiple_mul_right - 0061
exact hsquare - 0062
have hsum : exists w. (n + (m * t) * d) + ((m * t) * (m * t)) * x = (p * m) * w - 0063
specialize multiple_add (p * m) - 0064
specialize multiple_add (n + (m * t) * d) - 0065
specialize multiple_add (((m * t) * (m * t)) * x) - 0066
apply multiple_add - 0067
exact hlinear - 0068
exact hquadratic - 0069
cases hsum - 0070
exists x1 - 0071
trans (n + (m * t) * d) + ((m * t) * (m * t)) * x - 0072
exact htaylor_witness - 0073
exact hsum_witness