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.
Exact expanded first-order arithmetic statement
forall b c a l n d m p s q t y. ~(p = 0) -> (exists ff_u_hd_pth_lift_pair ff_v_hd_pth_lift_pair ff_d_hd_pth_lift_pair ff_e_hd_pth_lift_pair. ((((((exists fs_h_ph_hd_pth_lift_pair_body_value_start. fs_h_ph_hd_pth_lift_pair_body_value_start + S (0) = S ((S (0)) * ff_v_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_value_start. ff_u_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_value_start * S ((S (0)) * ff_v_hd_pth_lift_pair) + (0))) /\ ((((exists fs_h_ph_hd_pth_lift_pair_body_value_terminal. fs_h_ph_hd_pth_lift_pair_body_value_terminal + S (n) = S ((S (l)) * ff_v_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_value_terminal. ff_u_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_value_terminal * S ((S (l)) * ff_v_hd_pth_lift_pair) + (n))) /\ forall ff_i_ph_hd_pth_lift_pair_body_value_steps. (exists ph_bound_hd_pth_lift_pair_body_value_steps. ph_bound_hd_pth_lift_pair_body_value_steps + S ff_i_ph_hd_pth_lift_pair_body_value_steps = l) -> exists ff_coefficient_ph_hd_pth_lift_pair_body_value_steps ff_previous_ph_hd_pth_lift_pair_body_value_steps ff_current_ph_hd_pth_lift_pair_body_value_steps. ((((exists fs_h_ph_hd_pth_lift_pair_body_value_steps_coefficient. fs_h_ph_hd_pth_lift_pair_body_value_steps_coefficient + S (ff_coefficient_ph_hd_pth_lift_pair_body_value_steps) = S ((S (ff_i_ph_hd_pth_lift_pair_body_value_steps)) * c)) /\ exists fs_q_ph_hd_pth_lift_pair_body_value_steps_coefficient. b = fs_q_ph_hd_pth_lift_pair_body_value_steps_coefficient * S ((S (ff_i_ph_hd_pth_lift_pair_body_value_steps)) * c) + (ff_coefficient_ph_hd_pth_lift_pair_body_value_steps))) /\ ((((exists fs_h_ph_hd_pth_lift_pair_body_value_steps_before. fs_h_ph_hd_pth_lift_pair_body_value_steps_before + S (ff_previous_ph_hd_pth_lift_pair_body_value_steps) = S ((S (ff_i_ph_hd_pth_lift_pair_body_value_steps)) * ff_v_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_value_steps_before. ff_u_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_value_steps_before * S ((S (ff_i_ph_hd_pth_lift_pair_body_value_steps)) * ff_v_hd_pth_lift_pair) + (ff_previous_ph_hd_pth_lift_pair_body_value_steps))) /\ ((((exists fs_h_ph_hd_pth_lift_pair_body_value_steps_after. fs_h_ph_hd_pth_lift_pair_body_value_steps_after + S (ff_current_ph_hd_pth_lift_pair_body_value_steps) = S ((S (S ff_i_ph_hd_pth_lift_pair_body_value_steps)) * ff_v_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_value_steps_after. ff_u_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_value_steps_after * S ((S (S ff_i_ph_hd_pth_lift_pair_body_value_steps)) * ff_v_hd_pth_lift_pair) + (ff_current_ph_hd_pth_lift_pair_body_value_steps))) /\ ff_current_ph_hd_pth_lift_pair_body_value_steps = ff_previous_ph_hd_pth_lift_pair_body_value_steps * a + ff_coefficient_ph_hd_pth_lift_pair_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_pth_lift_pair_body_derivative_start. fs_h_ph_hd_pth_lift_pair_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_derivative_start. ff_d_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_derivative_start * S ((S (0)) * ff_e_hd_pth_lift_pair) + (0))) /\ ((((exists fs_h_ph_hd_pth_lift_pair_body_derivative_terminal. fs_h_ph_hd_pth_lift_pair_body_derivative_terminal + S (d) = S ((S (l)) * ff_e_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_derivative_terminal. ff_d_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_derivative_terminal * S ((S (l)) * ff_e_hd_pth_lift_pair) + (d))) /\ forall ff_i_ph_hd_pth_lift_pair_body_derivative_steps. (exists ph_bound_hd_pth_lift_pair_body_derivative_steps. ph_bound_hd_pth_lift_pair_body_derivative_steps + S ff_i_ph_hd_pth_lift_pair_body_derivative_steps = l) -> exists ff_coefficient_ph_hd_pth_lift_pair_body_derivative_steps ff_previous_ph_hd_pth_lift_pair_body_derivative_steps ff_current_ph_hd_pth_lift_pair_body_derivative_steps. ((((exists fs_h_ph_hd_pth_lift_pair_body_derivative_steps_coefficient. fs_h_ph_hd_pth_lift_pair_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_pth_lift_pair_body_derivative_steps) = S ((S (ff_i_ph_hd_pth_lift_pair_body_derivative_steps)) * ff_v_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_derivative_steps_coefficient. ff_u_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_pth_lift_pair_body_derivative_steps)) * ff_v_hd_pth_lift_pair) + (ff_coefficient_ph_hd_pth_lift_pair_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_pth_lift_pair_body_derivative_steps_before. fs_h_ph_hd_pth_lift_pair_body_derivative_steps_before + S (ff_previous_ph_hd_pth_lift_pair_body_derivative_steps) = S ((S (ff_i_ph_hd_pth_lift_pair_body_derivative_steps)) * ff_e_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_derivative_steps_before. ff_d_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_derivative_steps_before * S ((S (ff_i_ph_hd_pth_lift_pair_body_derivative_steps)) * ff_e_hd_pth_lift_pair) + (ff_previous_ph_hd_pth_lift_pair_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_pth_lift_pair_body_derivative_steps_after. fs_h_ph_hd_pth_lift_pair_body_derivative_steps_after + S (ff_current_ph_hd_pth_lift_pair_body_derivative_steps) = S ((S (S ff_i_ph_hd_pth_lift_pair_body_derivative_steps)) * ff_e_hd_pth_lift_pair)) /\ exists fs_q_ph_hd_pth_lift_pair_body_derivative_steps_after. ff_d_hd_pth_lift_pair = fs_q_ph_hd_pth_lift_pair_body_derivative_steps_after * S ((S (S ff_i_ph_hd_pth_lift_pair_body_derivative_steps)) * ff_e_hd_pth_lift_pair) + (ff_current_ph_hd_pth_lift_pair_body_derivative_steps))) /\ ff_current_ph_hd_pth_lift_pair_body_derivative_steps = ff_previous_ph_hd_pth_lift_pair_body_derivative_steps * a + ff_coefficient_ph_hd_pth_lift_pair_body_derivative_steps)))))))) -> (exists ff_u_ph_pth_lift_value ff_v_ph_pth_lift_value. ((((exists fs_h_ph_pth_lift_value_body_start. fs_h_ph_pth_lift_value_body_start + S (0) = S ((S (0)) * ff_v_ph_pth_lift_value)) /\ exists fs_q_ph_pth_lift_value_body_start. ff_u_ph_pth_lift_value = fs_q_ph_pth_lift_value_body_start * S ((S (0)) * ff_v_ph_pth_lift_value) + (0))) /\ ((((exists fs_h_ph_pth_lift_value_body_terminal. fs_h_ph_pth_lift_value_body_terminal + S (y) = S ((S (l)) * ff_v_ph_pth_lift_value)) /\ exists fs_q_ph_pth_lift_value_body_terminal. ff_u_ph_pth_lift_value = fs_q_ph_pth_lift_value_body_terminal * S ((S (l)) * ff_v_ph_pth_lift_value) + (y))) /\ forall ff_i_ph_pth_lift_value_body_steps. (exists ph_bound_pth_lift_value_body_steps. ph_bound_pth_lift_value_body_steps + S ff_i_ph_pth_lift_value_body_steps = l) -> exists ff_coefficient_ph_pth_lift_value_body_steps ff_previous_ph_pth_lift_value_body_steps ff_current_ph_pth_lift_value_body_steps. ((((exists fs_h_ph_pth_lift_value_body_steps_coefficient. fs_h_ph_pth_lift_value_body_steps_coefficient + S (ff_coefficient_ph_pth_lift_value_body_steps) = S ((S (ff_i_ph_pth_lift_value_body_steps)) * c)) /\ exists fs_q_ph_pth_lift_value_body_steps_coefficient. b = fs_q_ph_pth_lift_value_body_steps_coefficient * S ((S (ff_i_ph_pth_lift_value_body_steps)) * c) + (ff_coefficient_ph_pth_lift_value_body_steps))) /\ ((((exists fs_h_ph_pth_lift_value_body_steps_before. fs_h_ph_pth_lift_value_body_steps_before + S (ff_previous_ph_pth_lift_value_body_steps) = S ((S (ff_i_ph_pth_lift_value_body_steps)) * ff_v_ph_pth_lift_value)) /\ exists fs_q_ph_pth_lift_value_body_steps_before. ff_u_ph_pth_lift_value = fs_q_ph_pth_lift_value_body_steps_before * S ((S (ff_i_ph_pth_lift_value_body_steps)) * ff_v_ph_pth_lift_value) + (ff_previous_ph_pth_lift_value_body_steps))) /\ ((((exists fs_h_ph_pth_lift_value_body_steps_after. fs_h_ph_pth_lift_value_body_steps_after + S (ff_current_ph_pth_lift_value_body_steps) = S ((S (S ff_i_ph_pth_lift_value_body_steps)) * ff_v_ph_pth_lift_value)) /\ exists fs_q_ph_pth_lift_value_body_steps_after. ff_u_ph_pth_lift_value = fs_q_ph_pth_lift_value_body_steps_after * S ((S (S ff_i_ph_pth_lift_value_body_steps)) * ff_v_ph_pth_lift_value) + (ff_current_ph_pth_lift_value_body_steps))) /\ ff_current_ph_pth_lift_value_body_steps = ff_previous_ph_pth_lift_value_body_steps * (a + m * t) + ff_coefficient_ph_pth_lift_value_body_steps)))))) -> m = p * s -> n = m * q -> (((exists ff_lt_pth_lift_correction_bound. ff_lt_pth_lift_correction_bound + S t = p) /\ (exists hgcrt_mod_left_pth_lift_correction_annihilation hgcrt_mod_right_pth_lift_correction_annihilation. (q + d * t) + p * hgcrt_mod_left_pth_lift_correction_annihilation = 0 + p * hgcrt_mod_right_pth_lift_correction_annihilation))) -> exists w. y = (p * m) * wConstructive proof overview
Generated structural guide
A real bounded simple-root correction lifts an arbitrary beta-coded polynomial root from m to p*m whenever p divides m.
The unchanged tactic script uses 6 declared prerequisites and contains 73 exact native proof lines.
Alpha v34 checked-use · first admitted v25 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
TH0008 beta_horner_taylor_remainder_exists TH000F hensel_correction_implies_multiple TH0010 hensel_linear_correction_multiple TH0011 hensel_square_shift_multiple multiple_mul_right Stable theorem; checked-use authorized multiple_add Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 exact 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
Separate complete second-wave branches: Full G095 proof · Alpha v27.