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 pb pc nb nc gb gc h a l vp dp vn dn vg dg. (forall sph_i_blend sph_A_blend sph_B_blend sph_C_blend. (exists hpl_gap_blend. hpl_gap_blend + S (sph_i_blend) = (l)) -> (((exists fs_h_sph_blend_positive. fs_h_sph_blend_positive + S (sph_A_blend) = S ((S (sph_i_blend)) * pc)) /\ exists fs_q_sph_blend_positive. pb = fs_q_sph_blend_positive * S ((S (sph_i_blend)) * pc) + (sph_A_blend))) -> (((exists fs_h_sph_blend_negative. fs_h_sph_blend_negative + S (sph_B_blend) = S ((S (sph_i_blend)) * nc)) /\ exists fs_q_sph_blend_negative. nb = fs_q_sph_blend_negative * S ((S (sph_i_blend)) * nc) + (sph_B_blend))) -> (((exists fs_h_sph_blend_combined. fs_h_sph_blend_combined + S (sph_C_blend) = S ((S (sph_i_blend)) * gc)) /\ exists fs_q_sph_blend_combined. gb = fs_q_sph_blend_combined * S ((S (sph_i_blend)) * gc) + (sph_C_blend))) -> sph_C_blend = sph_A_blend + h * sph_B_blend) -> (exists ff_u_hd_hpl_pair ff_v_hd_hpl_pair ff_d_hd_hpl_pair ff_e_hd_hpl_pair. ((((((exists fs_h_ph_hd_hpl_pair_body_value_start. fs_h_ph_hd_hpl_pair_body_value_start + S (0) = S ((S (0)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_start. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_start * S ((S (0)) * ff_v_hd_hpl_pair) + (0))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_terminal. fs_h_ph_hd_hpl_pair_body_value_terminal + S (vp) = S ((S (l)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_terminal. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_terminal * S ((S (l)) * ff_v_hd_hpl_pair) + (vp))) /\ forall ff_i_ph_hd_hpl_pair_body_value_steps. (exists ph_bound_hd_hpl_pair_body_value_steps. ph_bound_hd_hpl_pair_body_value_steps + S ff_i_ph_hd_hpl_pair_body_value_steps = l) -> exists ff_coefficient_ph_hd_hpl_pair_body_value_steps ff_previous_ph_hd_hpl_pair_body_value_steps ff_current_ph_hd_hpl_pair_body_value_steps. ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_coefficient. fs_h_ph_hd_hpl_pair_body_value_steps_coefficient + S (ff_coefficient_ph_hd_hpl_pair_body_value_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * pc)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_coefficient. pb = fs_q_ph_hd_hpl_pair_body_value_steps_coefficient * S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * pc) + (ff_coefficient_ph_hd_hpl_pair_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_before. fs_h_ph_hd_hpl_pair_body_value_steps_before + S (ff_previous_ph_hd_hpl_pair_body_value_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_before. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_steps_before * S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair) + (ff_previous_ph_hd_hpl_pair_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_after. fs_h_ph_hd_hpl_pair_body_value_steps_after + S (ff_current_ph_hd_hpl_pair_body_value_steps) = S ((S (S ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_after. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_steps_after * S ((S (S ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair) + (ff_current_ph_hd_hpl_pair_body_value_steps))) /\ ff_current_ph_hd_hpl_pair_body_value_steps = ff_previous_ph_hd_hpl_pair_body_value_steps * a + ff_coefficient_ph_hd_hpl_pair_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_hpl_pair_body_derivative_start. fs_h_ph_hd_hpl_pair_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_start. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_start * S ((S (0)) * ff_e_hd_hpl_pair) + (0))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_terminal. fs_h_ph_hd_hpl_pair_body_derivative_terminal + S (dp) = S ((S (l)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_terminal. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_terminal * S ((S (l)) * ff_e_hd_hpl_pair) + (dp))) /\ forall ff_i_ph_hd_hpl_pair_body_derivative_steps. (exists ph_bound_hd_hpl_pair_body_derivative_steps. ph_bound_hd_hpl_pair_body_derivative_steps + S ff_i_ph_hd_hpl_pair_body_derivative_steps = l) -> exists ff_coefficient_ph_hd_hpl_pair_body_derivative_steps ff_previous_ph_hd_hpl_pair_body_derivative_steps ff_current_ph_hd_hpl_pair_body_derivative_steps. ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_coefficient. fs_h_ph_hd_hpl_pair_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_hpl_pair_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_coefficient. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_v_hd_hpl_pair) + (ff_coefficient_ph_hd_hpl_pair_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_before. fs_h_ph_hd_hpl_pair_body_derivative_steps_before + S (ff_previous_ph_hd_hpl_pair_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_before. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_before * S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair) + (ff_previous_ph_hd_hpl_pair_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_after. fs_h_ph_hd_hpl_pair_body_derivative_steps_after + S (ff_current_ph_hd_hpl_pair_body_derivative_steps) = S ((S (S ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_after. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_after * S ((S (S ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair) + (ff_current_ph_hd_hpl_pair_body_derivative_steps))) /\ ff_current_ph_hd_hpl_pair_body_derivative_steps = ff_previous_ph_hd_hpl_pair_body_derivative_steps * a + ff_coefficient_ph_hd_hpl_pair_body_derivative_steps)))))))) -> (exists ff_u_hd_hpl_pair ff_v_hd_hpl_pair ff_d_hd_hpl_pair ff_e_hd_hpl_pair. ((((((exists fs_h_ph_hd_hpl_pair_body_value_start. fs_h_ph_hd_hpl_pair_body_value_start + S (0) = S ((S (0)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_start. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_start * S ((S (0)) * ff_v_hd_hpl_pair) + (0))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_terminal. fs_h_ph_hd_hpl_pair_body_value_terminal + S (vn) = S ((S (l)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_terminal. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_terminal * S ((S (l)) * ff_v_hd_hpl_pair) + (vn))) /\ forall ff_i_ph_hd_hpl_pair_body_value_steps. (exists ph_bound_hd_hpl_pair_body_value_steps. ph_bound_hd_hpl_pair_body_value_steps + S ff_i_ph_hd_hpl_pair_body_value_steps = l) -> exists ff_coefficient_ph_hd_hpl_pair_body_value_steps ff_previous_ph_hd_hpl_pair_body_value_steps ff_current_ph_hd_hpl_pair_body_value_steps. ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_coefficient. fs_h_ph_hd_hpl_pair_body_value_steps_coefficient + S (ff_coefficient_ph_hd_hpl_pair_body_value_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * nc)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_coefficient. nb = fs_q_ph_hd_hpl_pair_body_value_steps_coefficient * S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * nc) + (ff_coefficient_ph_hd_hpl_pair_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_before. fs_h_ph_hd_hpl_pair_body_value_steps_before + S (ff_previous_ph_hd_hpl_pair_body_value_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_before. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_steps_before * S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair) + (ff_previous_ph_hd_hpl_pair_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_after. fs_h_ph_hd_hpl_pair_body_value_steps_after + S (ff_current_ph_hd_hpl_pair_body_value_steps) = S ((S (S ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_after. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_steps_after * S ((S (S ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair) + (ff_current_ph_hd_hpl_pair_body_value_steps))) /\ ff_current_ph_hd_hpl_pair_body_value_steps = ff_previous_ph_hd_hpl_pair_body_value_steps * a + ff_coefficient_ph_hd_hpl_pair_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_hpl_pair_body_derivative_start. fs_h_ph_hd_hpl_pair_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_start. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_start * S ((S (0)) * ff_e_hd_hpl_pair) + (0))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_terminal. fs_h_ph_hd_hpl_pair_body_derivative_terminal + S (dn) = S ((S (l)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_terminal. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_terminal * S ((S (l)) * ff_e_hd_hpl_pair) + (dn))) /\ forall ff_i_ph_hd_hpl_pair_body_derivative_steps. (exists ph_bound_hd_hpl_pair_body_derivative_steps. ph_bound_hd_hpl_pair_body_derivative_steps + S ff_i_ph_hd_hpl_pair_body_derivative_steps = l) -> exists ff_coefficient_ph_hd_hpl_pair_body_derivative_steps ff_previous_ph_hd_hpl_pair_body_derivative_steps ff_current_ph_hd_hpl_pair_body_derivative_steps. ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_coefficient. fs_h_ph_hd_hpl_pair_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_hpl_pair_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_coefficient. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_v_hd_hpl_pair) + (ff_coefficient_ph_hd_hpl_pair_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_before. fs_h_ph_hd_hpl_pair_body_derivative_steps_before + S (ff_previous_ph_hd_hpl_pair_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_before. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_before * S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair) + (ff_previous_ph_hd_hpl_pair_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_after. fs_h_ph_hd_hpl_pair_body_derivative_steps_after + S (ff_current_ph_hd_hpl_pair_body_derivative_steps) = S ((S (S ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_after. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_after * S ((S (S ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair) + (ff_current_ph_hd_hpl_pair_body_derivative_steps))) /\ ff_current_ph_hd_hpl_pair_body_derivative_steps = ff_previous_ph_hd_hpl_pair_body_derivative_steps * a + ff_coefficient_ph_hd_hpl_pair_body_derivative_steps)))))))) -> (exists ff_u_hd_hpl_pair ff_v_hd_hpl_pair ff_d_hd_hpl_pair ff_e_hd_hpl_pair. ((((((exists fs_h_ph_hd_hpl_pair_body_value_start. fs_h_ph_hd_hpl_pair_body_value_start + S (0) = S ((S (0)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_start. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_start * S ((S (0)) * ff_v_hd_hpl_pair) + (0))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_terminal. fs_h_ph_hd_hpl_pair_body_value_terminal + S (vg) = S ((S (l)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_terminal. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_terminal * S ((S (l)) * ff_v_hd_hpl_pair) + (vg))) /\ forall ff_i_ph_hd_hpl_pair_body_value_steps. (exists ph_bound_hd_hpl_pair_body_value_steps. ph_bound_hd_hpl_pair_body_value_steps + S ff_i_ph_hd_hpl_pair_body_value_steps = l) -> exists ff_coefficient_ph_hd_hpl_pair_body_value_steps ff_previous_ph_hd_hpl_pair_body_value_steps ff_current_ph_hd_hpl_pair_body_value_steps. ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_coefficient. fs_h_ph_hd_hpl_pair_body_value_steps_coefficient + S (ff_coefficient_ph_hd_hpl_pair_body_value_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * gc)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_coefficient. gb = fs_q_ph_hd_hpl_pair_body_value_steps_coefficient * S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * gc) + (ff_coefficient_ph_hd_hpl_pair_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_before. fs_h_ph_hd_hpl_pair_body_value_steps_before + S (ff_previous_ph_hd_hpl_pair_body_value_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_before. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_steps_before * S ((S (ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair) + (ff_previous_ph_hd_hpl_pair_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_value_steps_after. fs_h_ph_hd_hpl_pair_body_value_steps_after + S (ff_current_ph_hd_hpl_pair_body_value_steps) = S ((S (S ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_value_steps_after. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_value_steps_after * S ((S (S ff_i_ph_hd_hpl_pair_body_value_steps)) * ff_v_hd_hpl_pair) + (ff_current_ph_hd_hpl_pair_body_value_steps))) /\ ff_current_ph_hd_hpl_pair_body_value_steps = ff_previous_ph_hd_hpl_pair_body_value_steps * a + ff_coefficient_ph_hd_hpl_pair_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_hpl_pair_body_derivative_start. fs_h_ph_hd_hpl_pair_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_start. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_start * S ((S (0)) * ff_e_hd_hpl_pair) + (0))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_terminal. fs_h_ph_hd_hpl_pair_body_derivative_terminal + S (dg) = S ((S (l)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_terminal. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_terminal * S ((S (l)) * ff_e_hd_hpl_pair) + (dg))) /\ forall ff_i_ph_hd_hpl_pair_body_derivative_steps. (exists ph_bound_hd_hpl_pair_body_derivative_steps. ph_bound_hd_hpl_pair_body_derivative_steps + S ff_i_ph_hd_hpl_pair_body_derivative_steps = l) -> exists ff_coefficient_ph_hd_hpl_pair_body_derivative_steps ff_previous_ph_hd_hpl_pair_body_derivative_steps ff_current_ph_hd_hpl_pair_body_derivative_steps. ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_coefficient. fs_h_ph_hd_hpl_pair_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_hpl_pair_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_v_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_coefficient. ff_u_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_v_hd_hpl_pair) + (ff_coefficient_ph_hd_hpl_pair_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_before. fs_h_ph_hd_hpl_pair_body_derivative_steps_before + S (ff_previous_ph_hd_hpl_pair_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_before. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_before * S ((S (ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair) + (ff_previous_ph_hd_hpl_pair_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_pair_body_derivative_steps_after. fs_h_ph_hd_hpl_pair_body_derivative_steps_after + S (ff_current_ph_hd_hpl_pair_body_derivative_steps) = S ((S (S ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair)) /\ exists fs_q_ph_hd_hpl_pair_body_derivative_steps_after. ff_d_hd_hpl_pair = fs_q_ph_hd_hpl_pair_body_derivative_steps_after * S ((S (S ff_i_ph_hd_hpl_pair_body_derivative_steps)) * ff_e_hd_hpl_pair) + (ff_current_ph_hd_hpl_pair_body_derivative_steps))) /\ ff_current_ph_hd_hpl_pair_body_derivative_steps = ff_previous_ph_hd_hpl_pair_body_derivative_steps * a + ff_coefficient_ph_hd_hpl_pair_body_derivative_steps)))))))) -> vg = vp + h * vn /\ dg = dp + h * dnConstructive proof overview
Generated structural guide
For every finite coefficient list, the actual recoded polynomial and its actual formal derivative are the exact weighted combinations of their signed components.
The unchanged tactic script uses 5 declared prerequisites and contains 180 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_horner_derivative_empty Alpha theorem; checked-use authorized beta_horner_derivative_successor_decompose Alpha theorem; checked-use authorized le_succ Stable theorem; checked-use authorized le_refl Stable theorem; checked-use authorized HL0015 hensel_horner_linear_successor_identityDirect 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 (1)
01Fix variables and assumptionsL1–8
02Induction on lL9–18
03Fix variables and assumptionsL19–19
Work with arbitrary variables or the premises of the current implication.
- L19
intro hcombined
04Establish hPL20–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative empty.
- L20
have hP : vp = 0 /\ dp = 0 - L21
specialize beta_horner_derivative_empty pb - L22
specialize beta_horner_derivative_empty pc - L23
specialize beta_horner_derivative_empty a - L24
specialize beta_horner_derivative_empty vp - L25
specialize beta_horner_derivative_empty dp - L26
apply beta_horner_derivative_empty - L27
exact hpositive
05Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hP
06Establish hNL29–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative empty.
- L29
have hN : vn = 0 /\ dn = 0 - L30
specialize beta_horner_derivative_empty nb - L31
specialize beta_horner_derivative_empty nc - L32
specialize beta_horner_derivative_empty a - L33
specialize beta_horner_derivative_empty vn - L34
specialize beta_horner_derivative_empty dn - L35
apply beta_horner_derivative_empty - L36
exact hnegative
07Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases hN
08Establish hGL38–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative empty.
- L38
have hG : vg = 0 /\ dg = 0 - L39
specialize beta_horner_derivative_empty gb - L40
specialize beta_horner_derivative_empty gc - L41
specialize beta_horner_derivative_empty a - L42
specialize beta_horner_derivative_empty vg - L43
specialize beta_horner_derivative_empty dg - L44
apply beta_horner_derivative_empty - L45
exact hcombined
09Separate the logical casesL46–47
10Calculate and transport equalitiesL48–55
11Fix variables and assumptionsL56–65
12Establish hPL66–74
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative successor decompose.
- L66
have hP : ∃ sph_coefficient_positive. ∃ sph_value_positive. ∃ sph_derivative_positive. Beta(pb,pc,l,sph_coefficient_positive) ∧ (HornerDerivative(pb,pc,a,l,sph_value_positive,sph_derivative_positive) ∧ (vp = sph_value_positive · a + sph_coefficient_positive ∧ dp = sph_derivative_positive · a + sph_value_positive))Definitions: BetaHornerDerivative - L67
specialize beta_horner_derivative_successor_decompose pb - L68
specialize beta_horner_derivative_successor_decompose pc - L69
specialize beta_horner_derivative_successor_decompose a - L70
specialize beta_horner_derivative_successor_decompose l - L71
specialize beta_horner_derivative_successor_decompose vp - L72
specialize beta_horner_derivative_successor_decompose dp - L73
apply beta_horner_derivative_successor_decompose - L74
exact hpositive
13Separate the logical casesL75–80
14Establish hNL81–89
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative successor decompose.
- L81
have hN : ∃ sph_coefficient_negative. ∃ sph_value_negative. ∃ sph_derivative_negative. Beta(nb,nc,l,sph_coefficient_negative) ∧ (HornerDerivative(nb,nc,a,l,sph_value_negative,sph_derivative_negative) ∧ (vn = sph_value_negative · a + sph_coefficient_negative ∧ dn = sph_derivative_negative · a + sph_value_negative))Definitions: BetaHornerDerivative - L82
specialize beta_horner_derivative_successor_decompose nb - L83
specialize beta_horner_derivative_successor_decompose nc - L84
specialize beta_horner_derivative_successor_decompose a - L85
specialize beta_horner_derivative_successor_decompose l - L86
specialize beta_horner_derivative_successor_decompose vn - L87
specialize beta_horner_derivative_successor_decompose dn - L88
apply beta_horner_derivative_successor_decompose - L89
exact hnegative
15Separate the logical casesL90–95
16Establish hGL96–104
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative successor decompose.
- L96
have hG : ∃ sph_coefficient_combined. ∃ sph_value_combined. ∃ sph_derivative_combined. Beta(gb,gc,l,sph_coefficient_combined) ∧ (HornerDerivative(gb,gc,a,l,sph_value_combined,sph_derivative_combined) ∧ (vg = sph_value_combined · a + sph_coefficient_combined ∧ dg = sph_derivative_combined · a + sph_value_combined))Definitions: BetaHornerDerivative - L97
specialize beta_horner_derivative_successor_decompose gb - L98
specialize beta_horner_derivative_successor_decompose gc - L99
specialize beta_horner_derivative_successor_decompose a - L100
specialize beta_horner_derivative_successor_decompose l - L101
specialize beta_horner_derivative_successor_decompose vg - L102
specialize beta_horner_derivative_successor_decompose dg - L103
apply beta_horner_derivative_successor_decompose - L104
exact hcombined
17Separate the logical casesL105–110
18Establish hprefix_blendL111–120
19Use earlier factsL121–130
20Use earlier factsL131–131
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L131
exact hC
21Establish hprefixL132–141
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
22Use earlier factsL142–143
23Separate the logical casesL144–144
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L144
cases hprefix
24Establish hlastL145–154
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hblend.
25Use earlier factsL155–155
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L155
exact hG_witness_witness_witness_left
26Separate the logical casesL156–156
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L156
split
27Calculate and transport equalitiesL157–161
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
28Use earlier factsL162–168
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L162
specialize hensel_horner_linear_successor_identity h - L163
specialize hensel_horner_linear_successor_identity a - L164
specialize hensel_horner_linear_successor_identity x1 - L165
specialize hensel_horner_linear_successor_identity x4 - L166
specialize hensel_horner_linear_successor_identity x - L167
specialize hensel_horner_linear_successor_identity x3 - L168
apply hensel_horner_linear_successor_identity
29Calculate and transport equalitiesL169–173
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
30Use earlier factsL174–180
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L174
specialize hensel_horner_linear_successor_identity h - L175
specialize hensel_horner_linear_successor_identity a - L176
specialize hensel_horner_linear_successor_identity x2 - L177
specialize hensel_horner_linear_successor_identity x5 - L178
specialize hensel_horner_linear_successor_identity x1 - L179
specialize hensel_horner_linear_successor_identity x4 - L180
apply hensel_horner_linear_successor_identity
Original exact command ledger · 180 lines
- 0001
intro pb - 0002
intro pc - 0003
intro nb - 0004
intro nc - 0005
intro gb - 0006
intro gc - 0007
intro h - 0008
intro a - 0009
induction l - 0010
intro vp - 0011
intro dp - 0012
intro vn - 0013
intro dn - 0014
intro vg - 0015
intro dg - 0016
intro hblend - 0017
intro hpositive - 0018
intro hnegative - 0019
intro hcombined - 0020
have hP : vp = 0 /\ dp = 0 - 0021
specialize beta_horner_derivative_empty pb - 0022
specialize beta_horner_derivative_empty pc - 0023
specialize beta_horner_derivative_empty a - 0024
specialize beta_horner_derivative_empty vp - 0025
specialize beta_horner_derivative_empty dp - 0026
apply beta_horner_derivative_empty - 0027
exact hpositive - 0028
cases hP - 0029
have hN : vn = 0 /\ dn = 0 - 0030
specialize beta_horner_derivative_empty nb - 0031
specialize beta_horner_derivative_empty nc - 0032
specialize beta_horner_derivative_empty a - 0033
specialize beta_horner_derivative_empty vn - 0034
specialize beta_horner_derivative_empty dn - 0035
apply beta_horner_derivative_empty - 0036
exact hnegative - 0037
cases hN - 0038
have hG : vg = 0 /\ dg = 0 - 0039
specialize beta_horner_derivative_empty gb - 0040
specialize beta_horner_derivative_empty gc - 0041
specialize beta_horner_derivative_empty a - 0042
specialize beta_horner_derivative_empty vg - 0043
specialize beta_horner_derivative_empty dg - 0044
apply beta_horner_derivative_empty - 0045
exact hcombined - 0046
cases hG - 0047
split - 0048
rewrite hG_left - 0049
rewrite hP_left - 0050
rewrite hN_left - 0051
simp - 0052
rewrite hG_right - 0053
rewrite hP_right - 0054
rewrite hN_right - 0055
simp - 0056
intro vp - 0057
intro dp - 0058
intro vn - 0059
intro dn - 0060
intro vg - 0061
intro dg - 0062
intro hblend - 0063
intro hpositive - 0064
intro hnegative - 0065
intro hcombined - 0066
have hP : exists sph_coefficient_positive sph_value_positive sph_derivative_positive. ((((exists fs_h_sph_positive_coefficient. fs_h_sph_positive_coefficient + S (sph_coefficient_positive) = S ((S (l)) * pc)) /\ exists fs_q_sph_positive_coefficient. pb = fs_q_sph_positive_coefficient * S ((S (l)) * pc) + (sph_coefficient_positive))) /\ ((exists ff_u_hd_hpl_sph_positive_prefix ff_v_hd_hpl_sph_positive_prefix ff_d_hd_hpl_sph_positive_prefix ff_e_hd_hpl_sph_positive_prefix. ((((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_value_start. fs_h_ph_hd_hpl_sph_positive_prefix_body_value_start + S (0) = S ((S (0)) * ff_v_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_value_start. ff_u_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_value_start * S ((S (0)) * ff_v_hd_hpl_sph_positive_prefix) + (0))) /\ ((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_value_terminal. fs_h_ph_hd_hpl_sph_positive_prefix_body_value_terminal + S (sph_value_positive) = S ((S (l)) * ff_v_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_value_terminal. ff_u_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_value_terminal * S ((S (l)) * ff_v_hd_hpl_sph_positive_prefix) + (sph_value_positive))) /\ forall ff_i_ph_hd_hpl_sph_positive_prefix_body_value_steps. (exists ph_bound_hd_hpl_sph_positive_prefix_body_value_steps. ph_bound_hd_hpl_sph_positive_prefix_body_value_steps + S ff_i_ph_hd_hpl_sph_positive_prefix_body_value_steps = l) -> exists ff_coefficient_ph_hd_hpl_sph_positive_prefix_body_value_steps ff_previous_ph_hd_hpl_sph_positive_prefix_body_value_steps ff_current_ph_hd_hpl_sph_positive_prefix_body_value_steps. ((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_value_steps_coefficient. fs_h_ph_hd_hpl_sph_positive_prefix_body_value_steps_coefficient + S (ff_coefficient_ph_hd_hpl_sph_positive_prefix_body_value_steps) = S ((S (ff_i_ph_hd_hpl_sph_positive_prefix_body_value_steps)) * pc)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_value_steps_coefficient. pb = fs_q_ph_hd_hpl_sph_positive_prefix_body_value_steps_coefficient * S ((S (ff_i_ph_hd_hpl_sph_positive_prefix_body_value_steps)) * pc) + (ff_coefficient_ph_hd_hpl_sph_positive_prefix_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_value_steps_before. fs_h_ph_hd_hpl_sph_positive_prefix_body_value_steps_before + S (ff_previous_ph_hd_hpl_sph_positive_prefix_body_value_steps) = S ((S (ff_i_ph_hd_hpl_sph_positive_prefix_body_value_steps)) * ff_v_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_value_steps_before. ff_u_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_value_steps_before * S ((S (ff_i_ph_hd_hpl_sph_positive_prefix_body_value_steps)) * ff_v_hd_hpl_sph_positive_prefix) + (ff_previous_ph_hd_hpl_sph_positive_prefix_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_value_steps_after. fs_h_ph_hd_hpl_sph_positive_prefix_body_value_steps_after + S (ff_current_ph_hd_hpl_sph_positive_prefix_body_value_steps) = S ((S (S ff_i_ph_hd_hpl_sph_positive_prefix_body_value_steps)) * ff_v_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_value_steps_after. ff_u_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_value_steps_after * S ((S (S ff_i_ph_hd_hpl_sph_positive_prefix_body_value_steps)) * ff_v_hd_hpl_sph_positive_prefix) + (ff_current_ph_hd_hpl_sph_positive_prefix_body_value_steps))) /\ ff_current_ph_hd_hpl_sph_positive_prefix_body_value_steps = ff_previous_ph_hd_hpl_sph_positive_prefix_body_value_steps * a + ff_coefficient_ph_hd_hpl_sph_positive_prefix_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_start. fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_start. ff_d_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_start * S ((S (0)) * ff_e_hd_hpl_sph_positive_prefix) + (0))) /\ ((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_terminal. fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_terminal + S (sph_derivative_positive) = S ((S (l)) * ff_e_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_terminal. ff_d_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_terminal * S ((S (l)) * ff_e_hd_hpl_sph_positive_prefix) + (sph_derivative_positive))) /\ forall ff_i_ph_hd_hpl_sph_positive_prefix_body_derivative_steps. (exists ph_bound_hd_hpl_sph_positive_prefix_body_derivative_steps. ph_bound_hd_hpl_sph_positive_prefix_body_derivative_steps + S ff_i_ph_hd_hpl_sph_positive_prefix_body_derivative_steps = l) -> exists ff_coefficient_ph_hd_hpl_sph_positive_prefix_body_derivative_steps ff_previous_ph_hd_hpl_sph_positive_prefix_body_derivative_steps ff_current_ph_hd_hpl_sph_positive_prefix_body_derivative_steps. ((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_coefficient. fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_hpl_sph_positive_prefix_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_sph_positive_prefix_body_derivative_steps)) * ff_v_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_coefficient. ff_u_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_hpl_sph_positive_prefix_body_derivative_steps)) * ff_v_hd_hpl_sph_positive_prefix) + (ff_coefficient_ph_hd_hpl_sph_positive_prefix_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_before. fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_before + S (ff_previous_ph_hd_hpl_sph_positive_prefix_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_sph_positive_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_before. ff_d_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_before * S ((S (ff_i_ph_hd_hpl_sph_positive_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_positive_prefix) + (ff_previous_ph_hd_hpl_sph_positive_prefix_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_after. fs_h_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_after + S (ff_current_ph_hd_hpl_sph_positive_prefix_body_derivative_steps) = S ((S (S ff_i_ph_hd_hpl_sph_positive_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_positive_prefix)) /\ exists fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_after. ff_d_hd_hpl_sph_positive_prefix = fs_q_ph_hd_hpl_sph_positive_prefix_body_derivative_steps_after * S ((S (S ff_i_ph_hd_hpl_sph_positive_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_positive_prefix) + (ff_current_ph_hd_hpl_sph_positive_prefix_body_derivative_steps))) /\ ff_current_ph_hd_hpl_sph_positive_prefix_body_derivative_steps = ff_previous_ph_hd_hpl_sph_positive_prefix_body_derivative_steps * a + ff_coefficient_ph_hd_hpl_sph_positive_prefix_body_derivative_steps)))))))) /\ (vp = sph_value_positive * a + sph_coefficient_positive /\ dp = sph_derivative_positive * a + sph_value_positive))) - 0067
specialize beta_horner_derivative_successor_decompose pb - 0068
specialize beta_horner_derivative_successor_decompose pc - 0069
specialize beta_horner_derivative_successor_decompose a - 0070
specialize beta_horner_derivative_successor_decompose l - 0071
specialize beta_horner_derivative_successor_decompose vp - 0072
specialize beta_horner_derivative_successor_decompose dp - 0073
apply beta_horner_derivative_successor_decompose - 0074
exact hpositive - 0075
cases hP - 0076
cases hP_witness - 0077
cases hP_witness_witness - 0078
cases hP_witness_witness_witness - 0079
cases hP_witness_witness_witness_right - 0080
cases hP_witness_witness_witness_right_right - 0081
have hN : exists sph_coefficient_negative sph_value_negative sph_derivative_negative. ((((exists fs_h_sph_negative_coefficient. fs_h_sph_negative_coefficient + S (sph_coefficient_negative) = S ((S (l)) * nc)) /\ exists fs_q_sph_negative_coefficient. nb = fs_q_sph_negative_coefficient * S ((S (l)) * nc) + (sph_coefficient_negative))) /\ ((exists ff_u_hd_hpl_sph_negative_prefix ff_v_hd_hpl_sph_negative_prefix ff_d_hd_hpl_sph_negative_prefix ff_e_hd_hpl_sph_negative_prefix. ((((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_value_start. fs_h_ph_hd_hpl_sph_negative_prefix_body_value_start + S (0) = S ((S (0)) * ff_v_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_value_start. ff_u_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_value_start * S ((S (0)) * ff_v_hd_hpl_sph_negative_prefix) + (0))) /\ ((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_value_terminal. fs_h_ph_hd_hpl_sph_negative_prefix_body_value_terminal + S (sph_value_negative) = S ((S (l)) * ff_v_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_value_terminal. ff_u_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_value_terminal * S ((S (l)) * ff_v_hd_hpl_sph_negative_prefix) + (sph_value_negative))) /\ forall ff_i_ph_hd_hpl_sph_negative_prefix_body_value_steps. (exists ph_bound_hd_hpl_sph_negative_prefix_body_value_steps. ph_bound_hd_hpl_sph_negative_prefix_body_value_steps + S ff_i_ph_hd_hpl_sph_negative_prefix_body_value_steps = l) -> exists ff_coefficient_ph_hd_hpl_sph_negative_prefix_body_value_steps ff_previous_ph_hd_hpl_sph_negative_prefix_body_value_steps ff_current_ph_hd_hpl_sph_negative_prefix_body_value_steps. ((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_value_steps_coefficient. fs_h_ph_hd_hpl_sph_negative_prefix_body_value_steps_coefficient + S (ff_coefficient_ph_hd_hpl_sph_negative_prefix_body_value_steps) = S ((S (ff_i_ph_hd_hpl_sph_negative_prefix_body_value_steps)) * nc)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_value_steps_coefficient. nb = fs_q_ph_hd_hpl_sph_negative_prefix_body_value_steps_coefficient * S ((S (ff_i_ph_hd_hpl_sph_negative_prefix_body_value_steps)) * nc) + (ff_coefficient_ph_hd_hpl_sph_negative_prefix_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_value_steps_before. fs_h_ph_hd_hpl_sph_negative_prefix_body_value_steps_before + S (ff_previous_ph_hd_hpl_sph_negative_prefix_body_value_steps) = S ((S (ff_i_ph_hd_hpl_sph_negative_prefix_body_value_steps)) * ff_v_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_value_steps_before. ff_u_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_value_steps_before * S ((S (ff_i_ph_hd_hpl_sph_negative_prefix_body_value_steps)) * ff_v_hd_hpl_sph_negative_prefix) + (ff_previous_ph_hd_hpl_sph_negative_prefix_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_value_steps_after. fs_h_ph_hd_hpl_sph_negative_prefix_body_value_steps_after + S (ff_current_ph_hd_hpl_sph_negative_prefix_body_value_steps) = S ((S (S ff_i_ph_hd_hpl_sph_negative_prefix_body_value_steps)) * ff_v_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_value_steps_after. ff_u_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_value_steps_after * S ((S (S ff_i_ph_hd_hpl_sph_negative_prefix_body_value_steps)) * ff_v_hd_hpl_sph_negative_prefix) + (ff_current_ph_hd_hpl_sph_negative_prefix_body_value_steps))) /\ ff_current_ph_hd_hpl_sph_negative_prefix_body_value_steps = ff_previous_ph_hd_hpl_sph_negative_prefix_body_value_steps * a + ff_coefficient_ph_hd_hpl_sph_negative_prefix_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_start. fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_start. ff_d_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_start * S ((S (0)) * ff_e_hd_hpl_sph_negative_prefix) + (0))) /\ ((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_terminal. fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_terminal + S (sph_derivative_negative) = S ((S (l)) * ff_e_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_terminal. ff_d_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_terminal * S ((S (l)) * ff_e_hd_hpl_sph_negative_prefix) + (sph_derivative_negative))) /\ forall ff_i_ph_hd_hpl_sph_negative_prefix_body_derivative_steps. (exists ph_bound_hd_hpl_sph_negative_prefix_body_derivative_steps. ph_bound_hd_hpl_sph_negative_prefix_body_derivative_steps + S ff_i_ph_hd_hpl_sph_negative_prefix_body_derivative_steps = l) -> exists ff_coefficient_ph_hd_hpl_sph_negative_prefix_body_derivative_steps ff_previous_ph_hd_hpl_sph_negative_prefix_body_derivative_steps ff_current_ph_hd_hpl_sph_negative_prefix_body_derivative_steps. ((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_coefficient. fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_hpl_sph_negative_prefix_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_sph_negative_prefix_body_derivative_steps)) * ff_v_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_coefficient. ff_u_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_hpl_sph_negative_prefix_body_derivative_steps)) * ff_v_hd_hpl_sph_negative_prefix) + (ff_coefficient_ph_hd_hpl_sph_negative_prefix_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_before. fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_before + S (ff_previous_ph_hd_hpl_sph_negative_prefix_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_sph_negative_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_before. ff_d_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_before * S ((S (ff_i_ph_hd_hpl_sph_negative_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_negative_prefix) + (ff_previous_ph_hd_hpl_sph_negative_prefix_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_after. fs_h_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_after + S (ff_current_ph_hd_hpl_sph_negative_prefix_body_derivative_steps) = S ((S (S ff_i_ph_hd_hpl_sph_negative_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_negative_prefix)) /\ exists fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_after. ff_d_hd_hpl_sph_negative_prefix = fs_q_ph_hd_hpl_sph_negative_prefix_body_derivative_steps_after * S ((S (S ff_i_ph_hd_hpl_sph_negative_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_negative_prefix) + (ff_current_ph_hd_hpl_sph_negative_prefix_body_derivative_steps))) /\ ff_current_ph_hd_hpl_sph_negative_prefix_body_derivative_steps = ff_previous_ph_hd_hpl_sph_negative_prefix_body_derivative_steps * a + ff_coefficient_ph_hd_hpl_sph_negative_prefix_body_derivative_steps)))))))) /\ (vn = sph_value_negative * a + sph_coefficient_negative /\ dn = sph_derivative_negative * a + sph_value_negative))) - 0082
specialize beta_horner_derivative_successor_decompose nb - 0083
specialize beta_horner_derivative_successor_decompose nc - 0084
specialize beta_horner_derivative_successor_decompose a - 0085
specialize beta_horner_derivative_successor_decompose l - 0086
specialize beta_horner_derivative_successor_decompose vn - 0087
specialize beta_horner_derivative_successor_decompose dn - 0088
apply beta_horner_derivative_successor_decompose - 0089
exact hnegative - 0090
cases hN - 0091
cases hN_witness - 0092
cases hN_witness_witness - 0093
cases hN_witness_witness_witness - 0094
cases hN_witness_witness_witness_right - 0095
cases hN_witness_witness_witness_right_right - 0096
have hG : exists sph_coefficient_combined sph_value_combined sph_derivative_combined. ((((exists fs_h_sph_combined_coefficient. fs_h_sph_combined_coefficient + S (sph_coefficient_combined) = S ((S (l)) * gc)) /\ exists fs_q_sph_combined_coefficient. gb = fs_q_sph_combined_coefficient * S ((S (l)) * gc) + (sph_coefficient_combined))) /\ ((exists ff_u_hd_hpl_sph_combined_prefix ff_v_hd_hpl_sph_combined_prefix ff_d_hd_hpl_sph_combined_prefix ff_e_hd_hpl_sph_combined_prefix. ((((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_value_start. fs_h_ph_hd_hpl_sph_combined_prefix_body_value_start + S (0) = S ((S (0)) * ff_v_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_value_start. ff_u_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_value_start * S ((S (0)) * ff_v_hd_hpl_sph_combined_prefix) + (0))) /\ ((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_value_terminal. fs_h_ph_hd_hpl_sph_combined_prefix_body_value_terminal + S (sph_value_combined) = S ((S (l)) * ff_v_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_value_terminal. ff_u_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_value_terminal * S ((S (l)) * ff_v_hd_hpl_sph_combined_prefix) + (sph_value_combined))) /\ forall ff_i_ph_hd_hpl_sph_combined_prefix_body_value_steps. (exists ph_bound_hd_hpl_sph_combined_prefix_body_value_steps. ph_bound_hd_hpl_sph_combined_prefix_body_value_steps + S ff_i_ph_hd_hpl_sph_combined_prefix_body_value_steps = l) -> exists ff_coefficient_ph_hd_hpl_sph_combined_prefix_body_value_steps ff_previous_ph_hd_hpl_sph_combined_prefix_body_value_steps ff_current_ph_hd_hpl_sph_combined_prefix_body_value_steps. ((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_value_steps_coefficient. fs_h_ph_hd_hpl_sph_combined_prefix_body_value_steps_coefficient + S (ff_coefficient_ph_hd_hpl_sph_combined_prefix_body_value_steps) = S ((S (ff_i_ph_hd_hpl_sph_combined_prefix_body_value_steps)) * gc)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_value_steps_coefficient. gb = fs_q_ph_hd_hpl_sph_combined_prefix_body_value_steps_coefficient * S ((S (ff_i_ph_hd_hpl_sph_combined_prefix_body_value_steps)) * gc) + (ff_coefficient_ph_hd_hpl_sph_combined_prefix_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_value_steps_before. fs_h_ph_hd_hpl_sph_combined_prefix_body_value_steps_before + S (ff_previous_ph_hd_hpl_sph_combined_prefix_body_value_steps) = S ((S (ff_i_ph_hd_hpl_sph_combined_prefix_body_value_steps)) * ff_v_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_value_steps_before. ff_u_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_value_steps_before * S ((S (ff_i_ph_hd_hpl_sph_combined_prefix_body_value_steps)) * ff_v_hd_hpl_sph_combined_prefix) + (ff_previous_ph_hd_hpl_sph_combined_prefix_body_value_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_value_steps_after. fs_h_ph_hd_hpl_sph_combined_prefix_body_value_steps_after + S (ff_current_ph_hd_hpl_sph_combined_prefix_body_value_steps) = S ((S (S ff_i_ph_hd_hpl_sph_combined_prefix_body_value_steps)) * ff_v_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_value_steps_after. ff_u_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_value_steps_after * S ((S (S ff_i_ph_hd_hpl_sph_combined_prefix_body_value_steps)) * ff_v_hd_hpl_sph_combined_prefix) + (ff_current_ph_hd_hpl_sph_combined_prefix_body_value_steps))) /\ ff_current_ph_hd_hpl_sph_combined_prefix_body_value_steps = ff_previous_ph_hd_hpl_sph_combined_prefix_body_value_steps * a + ff_coefficient_ph_hd_hpl_sph_combined_prefix_body_value_steps)))))) /\ (((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_start. fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_start + S (0) = S ((S (0)) * ff_e_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_start. ff_d_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_start * S ((S (0)) * ff_e_hd_hpl_sph_combined_prefix) + (0))) /\ ((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_terminal. fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_terminal + S (sph_derivative_combined) = S ((S (l)) * ff_e_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_terminal. ff_d_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_terminal * S ((S (l)) * ff_e_hd_hpl_sph_combined_prefix) + (sph_derivative_combined))) /\ forall ff_i_ph_hd_hpl_sph_combined_prefix_body_derivative_steps. (exists ph_bound_hd_hpl_sph_combined_prefix_body_derivative_steps. ph_bound_hd_hpl_sph_combined_prefix_body_derivative_steps + S ff_i_ph_hd_hpl_sph_combined_prefix_body_derivative_steps = l) -> exists ff_coefficient_ph_hd_hpl_sph_combined_prefix_body_derivative_steps ff_previous_ph_hd_hpl_sph_combined_prefix_body_derivative_steps ff_current_ph_hd_hpl_sph_combined_prefix_body_derivative_steps. ((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_coefficient. fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_coefficient + S (ff_coefficient_ph_hd_hpl_sph_combined_prefix_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_sph_combined_prefix_body_derivative_steps)) * ff_v_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_coefficient. ff_u_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_coefficient * S ((S (ff_i_ph_hd_hpl_sph_combined_prefix_body_derivative_steps)) * ff_v_hd_hpl_sph_combined_prefix) + (ff_coefficient_ph_hd_hpl_sph_combined_prefix_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_before. fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_before + S (ff_previous_ph_hd_hpl_sph_combined_prefix_body_derivative_steps) = S ((S (ff_i_ph_hd_hpl_sph_combined_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_before. ff_d_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_before * S ((S (ff_i_ph_hd_hpl_sph_combined_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_combined_prefix) + (ff_previous_ph_hd_hpl_sph_combined_prefix_body_derivative_steps))) /\ ((((exists fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_after. fs_h_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_after + S (ff_current_ph_hd_hpl_sph_combined_prefix_body_derivative_steps) = S ((S (S ff_i_ph_hd_hpl_sph_combined_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_combined_prefix)) /\ exists fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_after. ff_d_hd_hpl_sph_combined_prefix = fs_q_ph_hd_hpl_sph_combined_prefix_body_derivative_steps_after * S ((S (S ff_i_ph_hd_hpl_sph_combined_prefix_body_derivative_steps)) * ff_e_hd_hpl_sph_combined_prefix) + (ff_current_ph_hd_hpl_sph_combined_prefix_body_derivative_steps))) /\ ff_current_ph_hd_hpl_sph_combined_prefix_body_derivative_steps = ff_previous_ph_hd_hpl_sph_combined_prefix_body_derivative_steps * a + ff_coefficient_ph_hd_hpl_sph_combined_prefix_body_derivative_steps)))))))) /\ (vg = sph_value_combined * a + sph_coefficient_combined /\ dg = sph_derivative_combined * a + sph_value_combined))) - 0097
specialize beta_horner_derivative_successor_decompose gb - 0098
specialize beta_horner_derivative_successor_decompose gc - 0099
specialize beta_horner_derivative_successor_decompose a - 0100
specialize beta_horner_derivative_successor_decompose l - 0101
specialize beta_horner_derivative_successor_decompose vg - 0102
specialize beta_horner_derivative_successor_decompose dg - 0103
apply beta_horner_derivative_successor_decompose - 0104
exact hcombined - 0105
cases hG - 0106
cases hG_witness - 0107
cases hG_witness_witness - 0108
cases hG_witness_witness_witness - 0109
cases hG_witness_witness_witness_right - 0110
cases hG_witness_witness_witness_right_right - 0111
have hprefix_blend : forall sph_i_blend sph_A_blend sph_B_blend sph_C_blend. (exists hpl_gap_blend. hpl_gap_blend + S (sph_i_blend) = (l)) -> (((exists fs_h_sph_blend_positive. fs_h_sph_blend_positive + S (sph_A_blend) = S ((S (sph_i_blend)) * pc)) /\ exists fs_q_sph_blend_positive. pb = fs_q_sph_blend_positive * S ((S (sph_i_blend)) * pc) + (sph_A_blend))) -> (((exists fs_h_sph_blend_negative. fs_h_sph_blend_negative + S (sph_B_blend) = S ((S (sph_i_blend)) * nc)) /\ exists fs_q_sph_blend_negative. nb = fs_q_sph_blend_negative * S ((S (sph_i_blend)) * nc) + (sph_B_blend))) -> (((exists fs_h_sph_blend_combined. fs_h_sph_blend_combined + S (sph_C_blend) = S ((S (sph_i_blend)) * gc)) /\ exists fs_q_sph_blend_combined. gb = fs_q_sph_blend_combined * S ((S (sph_i_blend)) * gc) + (sph_C_blend))) -> sph_C_blend = sph_A_blend + h * sph_B_blend - 0112
intro i - 0113
intro A - 0114
intro B - 0115
intro C - 0116
intro hi - 0117
intro hA - 0118
intro hB - 0119
intro hC - 0120
specialize hblend i - 0121
specialize hblend A - 0122
specialize hblend B - 0123
specialize hblend C - 0124
apply hblend - 0125
specialize le_succ (S i) - 0126
specialize le_succ l - 0127
apply le_succ - 0128
exact hi - 0129
exact hA - 0130
exact hB - 0131
exact hC - 0132
have hprefix : x7 = x1 + h * x4 /\ x8 = x2 + h * x5 - 0133
specialize IH x1 - 0134
specialize IH x2 - 0135
specialize IH x4 - 0136
specialize IH x5 - 0137
specialize IH x7 - 0138
specialize IH x8 - 0139
apply IH - 0140
exact hprefix_blend - 0141
exact hP_witness_witness_witness_right_left - 0142
exact hN_witness_witness_witness_right_left - 0143
exact hG_witness_witness_witness_right_left - 0144
cases hprefix - 0145
have hlast : x6 = x + h * x3 - 0146
specialize hblend l - 0147
specialize hblend x - 0148
specialize hblend x3 - 0149
specialize hblend x6 - 0150
apply hblend - 0151
specialize le_refl (S l) - 0152
apply le_refl - 0153
exact hP_witness_witness_witness_left - 0154
exact hN_witness_witness_witness_left - 0155
exact hG_witness_witness_witness_left - 0156
split - 0157
rewrite hG_witness_witness_witness_right_right_left - 0158
rewrite hP_witness_witness_witness_right_right_left - 0159
rewrite hN_witness_witness_witness_right_right_left - 0160
rewrite hprefix_left - 0161
rewrite hlast - 0162
specialize hensel_horner_linear_successor_identity h - 0163
specialize hensel_horner_linear_successor_identity a - 0164
specialize hensel_horner_linear_successor_identity x1 - 0165
specialize hensel_horner_linear_successor_identity x4 - 0166
specialize hensel_horner_linear_successor_identity x - 0167
specialize hensel_horner_linear_successor_identity x3 - 0168
apply hensel_horner_linear_successor_identity - 0169
rewrite hG_witness_witness_witness_right_right_right - 0170
rewrite hP_witness_witness_witness_right_right_right - 0171
rewrite hN_witness_witness_witness_right_right_right - 0172
rewrite hprefix_right - 0173
rewrite hprefix_left - 0174
specialize hensel_horner_linear_successor_identity h - 0175
specialize hensel_horner_linear_successor_identity a - 0176
specialize hensel_horner_linear_successor_identity x2 - 0177
specialize hensel_horner_linear_successor_identity x5 - 0178
specialize hensel_horner_linear_successor_identity x1 - 0179
specialize hensel_horner_linear_successor_identity x4 - 0180
apply hensel_horner_linear_successor_identity