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 M m. M = S h -> (exists q. M = m * q) -> (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 hpl_value_root. ((exists ff_u_ph_hpl_root ff_v_ph_hpl_root. ((((exists fs_h_ph_hpl_root_body_start. fs_h_ph_hpl_root_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_start. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_start * S ((S (0)) * ff_v_ph_hpl_root) + (0))) /\ ((((exists fs_h_ph_hpl_root_body_terminal. fs_h_ph_hpl_root_body_terminal + S (hpl_value_root) = S ((S (l)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_terminal. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_terminal * S ((S (l)) * ff_v_ph_hpl_root) + (hpl_value_root))) /\ forall ff_i_ph_hpl_root_body_steps. (exists ph_bound_hpl_root_body_steps. ph_bound_hpl_root_body_steps + S ff_i_ph_hpl_root_body_steps = l) -> exists ff_coefficient_ph_hpl_root_body_steps ff_previous_ph_hpl_root_body_steps ff_current_ph_hpl_root_body_steps. ((((exists fs_h_ph_hpl_root_body_steps_coefficient. fs_h_ph_hpl_root_body_steps_coefficient + S (ff_coefficient_ph_hpl_root_body_steps) = S ((S (ff_i_ph_hpl_root_body_steps)) * gc)) /\ exists fs_q_ph_hpl_root_body_steps_coefficient. gb = fs_q_ph_hpl_root_body_steps_coefficient * S ((S (ff_i_ph_hpl_root_body_steps)) * gc) + (ff_coefficient_ph_hpl_root_body_steps))) /\ ((((exists fs_h_ph_hpl_root_body_steps_before. fs_h_ph_hpl_root_body_steps_before + S (ff_previous_ph_hpl_root_body_steps) = S ((S (ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_steps_before. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_steps_before * S ((S (ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root) + (ff_previous_ph_hpl_root_body_steps))) /\ ((((exists fs_h_ph_hpl_root_body_steps_after. fs_h_ph_hpl_root_body_steps_after + S (ff_current_ph_hpl_root_body_steps) = S ((S (S ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_steps_after. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_steps_after * S ((S (S ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root) + (ff_current_ph_hpl_root_body_steps))) /\ ff_current_ph_hpl_root_body_steps = ff_previous_ph_hpl_root_body_steps * a + ff_coefficient_ph_hpl_root_body_steps)))))) /\ (exists hgcrt_mod_left_hpl_root hgcrt_mod_right_hpl_root. hpl_value_root + m * hgcrt_mod_left_hpl_root = 0 + m * hgcrt_mod_right_hpl_root))) -> (exists sph_positive_root sph_negative_root. ((exists ff_u_ph_hpl_sph_root_positive ff_v_ph_hpl_sph_root_positive. ((((exists fs_h_ph_hpl_sph_root_positive_body_start. fs_h_ph_hpl_sph_root_positive_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_sph_root_positive)) /\ exists fs_q_ph_hpl_sph_root_positive_body_start. ff_u_ph_hpl_sph_root_positive = fs_q_ph_hpl_sph_root_positive_body_start * S ((S (0)) * ff_v_ph_hpl_sph_root_positive) + (0))) /\ ((((exists fs_h_ph_hpl_sph_root_positive_body_terminal. fs_h_ph_hpl_sph_root_positive_body_terminal + S (sph_positive_root) = S ((S (l)) * ff_v_ph_hpl_sph_root_positive)) /\ exists fs_q_ph_hpl_sph_root_positive_body_terminal. ff_u_ph_hpl_sph_root_positive = fs_q_ph_hpl_sph_root_positive_body_terminal * S ((S (l)) * ff_v_ph_hpl_sph_root_positive) + (sph_positive_root))) /\ forall ff_i_ph_hpl_sph_root_positive_body_steps. (exists ph_bound_hpl_sph_root_positive_body_steps. ph_bound_hpl_sph_root_positive_body_steps + S ff_i_ph_hpl_sph_root_positive_body_steps = l) -> exists ff_coefficient_ph_hpl_sph_root_positive_body_steps ff_previous_ph_hpl_sph_root_positive_body_steps ff_current_ph_hpl_sph_root_positive_body_steps. ((((exists fs_h_ph_hpl_sph_root_positive_body_steps_coefficient. fs_h_ph_hpl_sph_root_positive_body_steps_coefficient + S (ff_coefficient_ph_hpl_sph_root_positive_body_steps) = S ((S (ff_i_ph_hpl_sph_root_positive_body_steps)) * pc)) /\ exists fs_q_ph_hpl_sph_root_positive_body_steps_coefficient. pb = fs_q_ph_hpl_sph_root_positive_body_steps_coefficient * S ((S (ff_i_ph_hpl_sph_root_positive_body_steps)) * pc) + (ff_coefficient_ph_hpl_sph_root_positive_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_root_positive_body_steps_before. fs_h_ph_hpl_sph_root_positive_body_steps_before + S (ff_previous_ph_hpl_sph_root_positive_body_steps) = S ((S (ff_i_ph_hpl_sph_root_positive_body_steps)) * ff_v_ph_hpl_sph_root_positive)) /\ exists fs_q_ph_hpl_sph_root_positive_body_steps_before. ff_u_ph_hpl_sph_root_positive = fs_q_ph_hpl_sph_root_positive_body_steps_before * S ((S (ff_i_ph_hpl_sph_root_positive_body_steps)) * ff_v_ph_hpl_sph_root_positive) + (ff_previous_ph_hpl_sph_root_positive_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_root_positive_body_steps_after. fs_h_ph_hpl_sph_root_positive_body_steps_after + S (ff_current_ph_hpl_sph_root_positive_body_steps) = S ((S (S ff_i_ph_hpl_sph_root_positive_body_steps)) * ff_v_ph_hpl_sph_root_positive)) /\ exists fs_q_ph_hpl_sph_root_positive_body_steps_after. ff_u_ph_hpl_sph_root_positive = fs_q_ph_hpl_sph_root_positive_body_steps_after * S ((S (S ff_i_ph_hpl_sph_root_positive_body_steps)) * ff_v_ph_hpl_sph_root_positive) + (ff_current_ph_hpl_sph_root_positive_body_steps))) /\ ff_current_ph_hpl_sph_root_positive_body_steps = ff_previous_ph_hpl_sph_root_positive_body_steps * a + ff_coefficient_ph_hpl_sph_root_positive_body_steps)))))) /\ ((exists ff_u_ph_hpl_sph_root_negative ff_v_ph_hpl_sph_root_negative. ((((exists fs_h_ph_hpl_sph_root_negative_body_start. fs_h_ph_hpl_sph_root_negative_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_sph_root_negative)) /\ exists fs_q_ph_hpl_sph_root_negative_body_start. ff_u_ph_hpl_sph_root_negative = fs_q_ph_hpl_sph_root_negative_body_start * S ((S (0)) * ff_v_ph_hpl_sph_root_negative) + (0))) /\ ((((exists fs_h_ph_hpl_sph_root_negative_body_terminal. fs_h_ph_hpl_sph_root_negative_body_terminal + S (sph_negative_root) = S ((S (l)) * ff_v_ph_hpl_sph_root_negative)) /\ exists fs_q_ph_hpl_sph_root_negative_body_terminal. ff_u_ph_hpl_sph_root_negative = fs_q_ph_hpl_sph_root_negative_body_terminal * S ((S (l)) * ff_v_ph_hpl_sph_root_negative) + (sph_negative_root))) /\ forall ff_i_ph_hpl_sph_root_negative_body_steps. (exists ph_bound_hpl_sph_root_negative_body_steps. ph_bound_hpl_sph_root_negative_body_steps + S ff_i_ph_hpl_sph_root_negative_body_steps = l) -> exists ff_coefficient_ph_hpl_sph_root_negative_body_steps ff_previous_ph_hpl_sph_root_negative_body_steps ff_current_ph_hpl_sph_root_negative_body_steps. ((((exists fs_h_ph_hpl_sph_root_negative_body_steps_coefficient. fs_h_ph_hpl_sph_root_negative_body_steps_coefficient + S (ff_coefficient_ph_hpl_sph_root_negative_body_steps) = S ((S (ff_i_ph_hpl_sph_root_negative_body_steps)) * nc)) /\ exists fs_q_ph_hpl_sph_root_negative_body_steps_coefficient. nb = fs_q_ph_hpl_sph_root_negative_body_steps_coefficient * S ((S (ff_i_ph_hpl_sph_root_negative_body_steps)) * nc) + (ff_coefficient_ph_hpl_sph_root_negative_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_root_negative_body_steps_before. fs_h_ph_hpl_sph_root_negative_body_steps_before + S (ff_previous_ph_hpl_sph_root_negative_body_steps) = S ((S (ff_i_ph_hpl_sph_root_negative_body_steps)) * ff_v_ph_hpl_sph_root_negative)) /\ exists fs_q_ph_hpl_sph_root_negative_body_steps_before. ff_u_ph_hpl_sph_root_negative = fs_q_ph_hpl_sph_root_negative_body_steps_before * S ((S (ff_i_ph_hpl_sph_root_negative_body_steps)) * ff_v_ph_hpl_sph_root_negative) + (ff_previous_ph_hpl_sph_root_negative_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_root_negative_body_steps_after. fs_h_ph_hpl_sph_root_negative_body_steps_after + S (ff_current_ph_hpl_sph_root_negative_body_steps) = S ((S (S ff_i_ph_hpl_sph_root_negative_body_steps)) * ff_v_ph_hpl_sph_root_negative)) /\ exists fs_q_ph_hpl_sph_root_negative_body_steps_after. ff_u_ph_hpl_sph_root_negative = fs_q_ph_hpl_sph_root_negative_body_steps_after * S ((S (S ff_i_ph_hpl_sph_root_negative_body_steps)) * ff_v_ph_hpl_sph_root_negative) + (ff_current_ph_hpl_sph_root_negative_body_steps))) /\ ff_current_ph_hpl_sph_root_negative_body_steps = ff_previous_ph_hpl_sph_root_negative_body_steps * a + ff_coefficient_ph_hpl_sph_root_negative_body_steps)))))) /\ (exists hgcrt_mod_left_hpl_root hgcrt_mod_right_hpl_root. sph_positive_root + m * hgcrt_mod_left_hpl_root = sph_negative_root + m * hgcrt_mod_right_hpl_root))))) /\ ((exists sph_positive_root sph_negative_root. ((exists ff_u_ph_hpl_sph_root_positive ff_v_ph_hpl_sph_root_positive. ((((exists fs_h_ph_hpl_sph_root_positive_body_start. fs_h_ph_hpl_sph_root_positive_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_sph_root_positive)) /\ exists fs_q_ph_hpl_sph_root_positive_body_start. ff_u_ph_hpl_sph_root_positive = fs_q_ph_hpl_sph_root_positive_body_start * S ((S (0)) * ff_v_ph_hpl_sph_root_positive) + (0))) /\ ((((exists fs_h_ph_hpl_sph_root_positive_body_terminal. fs_h_ph_hpl_sph_root_positive_body_terminal + S (sph_positive_root) = S ((S (l)) * ff_v_ph_hpl_sph_root_positive)) /\ exists fs_q_ph_hpl_sph_root_positive_body_terminal. ff_u_ph_hpl_sph_root_positive = fs_q_ph_hpl_sph_root_positive_body_terminal * S ((S (l)) * ff_v_ph_hpl_sph_root_positive) + (sph_positive_root))) /\ forall ff_i_ph_hpl_sph_root_positive_body_steps. (exists ph_bound_hpl_sph_root_positive_body_steps. ph_bound_hpl_sph_root_positive_body_steps + S ff_i_ph_hpl_sph_root_positive_body_steps = l) -> exists ff_coefficient_ph_hpl_sph_root_positive_body_steps ff_previous_ph_hpl_sph_root_positive_body_steps ff_current_ph_hpl_sph_root_positive_body_steps. ((((exists fs_h_ph_hpl_sph_root_positive_body_steps_coefficient. fs_h_ph_hpl_sph_root_positive_body_steps_coefficient + S (ff_coefficient_ph_hpl_sph_root_positive_body_steps) = S ((S (ff_i_ph_hpl_sph_root_positive_body_steps)) * pc)) /\ exists fs_q_ph_hpl_sph_root_positive_body_steps_coefficient. pb = fs_q_ph_hpl_sph_root_positive_body_steps_coefficient * S ((S (ff_i_ph_hpl_sph_root_positive_body_steps)) * pc) + (ff_coefficient_ph_hpl_sph_root_positive_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_root_positive_body_steps_before. fs_h_ph_hpl_sph_root_positive_body_steps_before + S (ff_previous_ph_hpl_sph_root_positive_body_steps) = S ((S (ff_i_ph_hpl_sph_root_positive_body_steps)) * ff_v_ph_hpl_sph_root_positive)) /\ exists fs_q_ph_hpl_sph_root_positive_body_steps_before. ff_u_ph_hpl_sph_root_positive = fs_q_ph_hpl_sph_root_positive_body_steps_before * S ((S (ff_i_ph_hpl_sph_root_positive_body_steps)) * ff_v_ph_hpl_sph_root_positive) + (ff_previous_ph_hpl_sph_root_positive_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_root_positive_body_steps_after. fs_h_ph_hpl_sph_root_positive_body_steps_after + S (ff_current_ph_hpl_sph_root_positive_body_steps) = S ((S (S ff_i_ph_hpl_sph_root_positive_body_steps)) * ff_v_ph_hpl_sph_root_positive)) /\ exists fs_q_ph_hpl_sph_root_positive_body_steps_after. ff_u_ph_hpl_sph_root_positive = fs_q_ph_hpl_sph_root_positive_body_steps_after * S ((S (S ff_i_ph_hpl_sph_root_positive_body_steps)) * ff_v_ph_hpl_sph_root_positive) + (ff_current_ph_hpl_sph_root_positive_body_steps))) /\ ff_current_ph_hpl_sph_root_positive_body_steps = ff_previous_ph_hpl_sph_root_positive_body_steps * a + ff_coefficient_ph_hpl_sph_root_positive_body_steps)))))) /\ ((exists ff_u_ph_hpl_sph_root_negative ff_v_ph_hpl_sph_root_negative. ((((exists fs_h_ph_hpl_sph_root_negative_body_start. fs_h_ph_hpl_sph_root_negative_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_sph_root_negative)) /\ exists fs_q_ph_hpl_sph_root_negative_body_start. ff_u_ph_hpl_sph_root_negative = fs_q_ph_hpl_sph_root_negative_body_start * S ((S (0)) * ff_v_ph_hpl_sph_root_negative) + (0))) /\ ((((exists fs_h_ph_hpl_sph_root_negative_body_terminal. fs_h_ph_hpl_sph_root_negative_body_terminal + S (sph_negative_root) = S ((S (l)) * ff_v_ph_hpl_sph_root_negative)) /\ exists fs_q_ph_hpl_sph_root_negative_body_terminal. ff_u_ph_hpl_sph_root_negative = fs_q_ph_hpl_sph_root_negative_body_terminal * S ((S (l)) * ff_v_ph_hpl_sph_root_negative) + (sph_negative_root))) /\ forall ff_i_ph_hpl_sph_root_negative_body_steps. (exists ph_bound_hpl_sph_root_negative_body_steps. ph_bound_hpl_sph_root_negative_body_steps + S ff_i_ph_hpl_sph_root_negative_body_steps = l) -> exists ff_coefficient_ph_hpl_sph_root_negative_body_steps ff_previous_ph_hpl_sph_root_negative_body_steps ff_current_ph_hpl_sph_root_negative_body_steps. ((((exists fs_h_ph_hpl_sph_root_negative_body_steps_coefficient. fs_h_ph_hpl_sph_root_negative_body_steps_coefficient + S (ff_coefficient_ph_hpl_sph_root_negative_body_steps) = S ((S (ff_i_ph_hpl_sph_root_negative_body_steps)) * nc)) /\ exists fs_q_ph_hpl_sph_root_negative_body_steps_coefficient. nb = fs_q_ph_hpl_sph_root_negative_body_steps_coefficient * S ((S (ff_i_ph_hpl_sph_root_negative_body_steps)) * nc) + (ff_coefficient_ph_hpl_sph_root_negative_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_root_negative_body_steps_before. fs_h_ph_hpl_sph_root_negative_body_steps_before + S (ff_previous_ph_hpl_sph_root_negative_body_steps) = S ((S (ff_i_ph_hpl_sph_root_negative_body_steps)) * ff_v_ph_hpl_sph_root_negative)) /\ exists fs_q_ph_hpl_sph_root_negative_body_steps_before. ff_u_ph_hpl_sph_root_negative = fs_q_ph_hpl_sph_root_negative_body_steps_before * S ((S (ff_i_ph_hpl_sph_root_negative_body_steps)) * ff_v_ph_hpl_sph_root_negative) + (ff_previous_ph_hpl_sph_root_negative_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_root_negative_body_steps_after. fs_h_ph_hpl_sph_root_negative_body_steps_after + S (ff_current_ph_hpl_sph_root_negative_body_steps) = S ((S (S ff_i_ph_hpl_sph_root_negative_body_steps)) * ff_v_ph_hpl_sph_root_negative)) /\ exists fs_q_ph_hpl_sph_root_negative_body_steps_after. ff_u_ph_hpl_sph_root_negative = fs_q_ph_hpl_sph_root_negative_body_steps_after * S ((S (S ff_i_ph_hpl_sph_root_negative_body_steps)) * ff_v_ph_hpl_sph_root_negative) + (ff_current_ph_hpl_sph_root_negative_body_steps))) /\ ff_current_ph_hpl_sph_root_negative_body_steps = ff_previous_ph_hpl_sph_root_negative_body_steps * a + ff_coefficient_ph_hpl_sph_root_negative_body_steps)))))) /\ (exists hgcrt_mod_left_hpl_root hgcrt_mod_right_hpl_root. sph_positive_root + m * hgcrt_mod_left_hpl_root = sph_negative_root + m * hgcrt_mod_right_hpl_root)))) -> (exists hpl_value_root. ((exists ff_u_ph_hpl_root ff_v_ph_hpl_root. ((((exists fs_h_ph_hpl_root_body_start. fs_h_ph_hpl_root_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_start. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_start * S ((S (0)) * ff_v_ph_hpl_root) + (0))) /\ ((((exists fs_h_ph_hpl_root_body_terminal. fs_h_ph_hpl_root_body_terminal + S (hpl_value_root) = S ((S (l)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_terminal. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_terminal * S ((S (l)) * ff_v_ph_hpl_root) + (hpl_value_root))) /\ forall ff_i_ph_hpl_root_body_steps. (exists ph_bound_hpl_root_body_steps. ph_bound_hpl_root_body_steps + S ff_i_ph_hpl_root_body_steps = l) -> exists ff_coefficient_ph_hpl_root_body_steps ff_previous_ph_hpl_root_body_steps ff_current_ph_hpl_root_body_steps. ((((exists fs_h_ph_hpl_root_body_steps_coefficient. fs_h_ph_hpl_root_body_steps_coefficient + S (ff_coefficient_ph_hpl_root_body_steps) = S ((S (ff_i_ph_hpl_root_body_steps)) * gc)) /\ exists fs_q_ph_hpl_root_body_steps_coefficient. gb = fs_q_ph_hpl_root_body_steps_coefficient * S ((S (ff_i_ph_hpl_root_body_steps)) * gc) + (ff_coefficient_ph_hpl_root_body_steps))) /\ ((((exists fs_h_ph_hpl_root_body_steps_before. fs_h_ph_hpl_root_body_steps_before + S (ff_previous_ph_hpl_root_body_steps) = S ((S (ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_steps_before. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_steps_before * S ((S (ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root) + (ff_previous_ph_hpl_root_body_steps))) /\ ((((exists fs_h_ph_hpl_root_body_steps_after. fs_h_ph_hpl_root_body_steps_after + S (ff_current_ph_hpl_root_body_steps) = S ((S (S ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root)) /\ exists fs_q_ph_hpl_root_body_steps_after. ff_u_ph_hpl_root = fs_q_ph_hpl_root_body_steps_after * S ((S (S ff_i_ph_hpl_root_body_steps)) * ff_v_ph_hpl_root) + (ff_current_ph_hpl_root_body_steps))) /\ ff_current_ph_hpl_root_body_steps = ff_previous_ph_hpl_root_body_steps * a + ff_coefficient_ph_hpl_root_body_steps)))))) /\ (exists hgcrt_mod_left_hpl_root hgcrt_mod_right_hpl_root. hpl_value_root + m * hgcrt_mod_left_hpl_root = 0 + m * hgcrt_mod_right_hpl_root)))))Constructive proof overview
Generated structural guide
At every natural point the recoded natural root condition is equivalent to the original integer-polynomial root condition, not merely implied by it.
The unchanged tactic script uses 5 declared prerequisites and contains 169 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_value_exists Alpha theorem; checked-use authorized HL0016 beta_horner_coefficient_blend_value_derivative HL0019 hensel_signed_blend_zero_iff beta_horner_derivative_value_projection Alpha theorem; checked-use authorized beta_horner_eval_functional Alpha 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Establish hPL15–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative value exists.
- L15
have hP : ∃ vp. ∃ dp. HornerDerivative(pb,pc,a,l,vp,dp)Definitions: HornerDerivative - L16
specialize beta_horner_derivative_value_exists pb - L17
specialize beta_horner_derivative_value_exists pc - L18
specialize beta_horner_derivative_value_exists a - L19
specialize beta_horner_derivative_value_exists l - L20
apply beta_horner_derivative_value_exists
04Separate the logical casesL21–22
05Establish hNL23–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative value exists.
- L23
have hN : ∃ vn. ∃ dn. HornerDerivative(nb,nc,a,l,vn,dn)Definitions: HornerDerivative - L24
specialize beta_horner_derivative_value_exists nb - L25
specialize beta_horner_derivative_value_exists nc - L26
specialize beta_horner_derivative_value_exists a - L27
specialize beta_horner_derivative_value_exists l - L28
apply beta_horner_derivative_value_exists
06Separate the logical casesL29–30
07Establish hGL31–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner derivative value exists.
- L31
have hG : ∃ vg. ∃ dg. HornerDerivative(gb,gc,a,l,vg,dg)Definitions: HornerDerivative - L32
specialize beta_horner_derivative_value_exists gb - L33
specialize beta_horner_derivative_value_exists gc - L34
specialize beta_horner_derivative_value_exists a - L35
specialize beta_horner_derivative_value_exists l - L36
apply beta_horner_derivative_value_exists
08Separate the logical casesL37–38
09Establish hlinearL39–48
Establish this local claim before using it. It is not an additional assumption.
- L39
have hlinear : x4 = x + h * x2 /\ x5 = x1 + h * x3 - L40
specialize beta_horner_coefficient_blend_value_derivative pb - L41
specialize beta_horner_coefficient_blend_value_derivative pc - L42
specialize beta_horner_coefficient_blend_value_derivative nb - L43
specialize beta_horner_coefficient_blend_value_derivative nc - L44
specialize beta_horner_coefficient_blend_value_derivative gb - L45
specialize beta_horner_coefficient_blend_value_derivative gc - L46
specialize beta_horner_coefficient_blend_value_derivative h - L47
specialize beta_horner_coefficient_blend_value_derivative a - L48
specialize beta_horner_coefficient_blend_value_derivative l
10Use earlier factsL49–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
specialize beta_horner_coefficient_blend_value_derivative x - L50
specialize beta_horner_coefficient_blend_value_derivative x1 - L51
specialize beta_horner_coefficient_blend_value_derivative x2 - L52
specialize beta_horner_coefficient_blend_value_derivative x3 - L53
specialize beta_horner_coefficient_blend_value_derivative x4 - L54
specialize beta_horner_coefficient_blend_value_derivative x5 - L55
apply beta_horner_coefficient_blend_value_derivative - L56
exact hblend - L57
exact hP_witness_witness - L58
exact hN_witness_witness
11Use earlier factsL59–59
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
exact hG_witness_witness
12Separate the logical casesL60–60
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L60
cases hlinear
13Establish hiffL61–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel signed blend zero iff.
- L61
have hiff : (((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. x4 + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. x + m * hgcrt_mod_left_hpl_mod = x2 + m * hgcrt_mod_right_hpl_mod)) /\ ((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. x + m * hgcrt_mod_left_hpl_mod = x2 + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. x4 + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod))) - L62
specialize hensel_signed_blend_zero_iff m - L63
specialize hensel_signed_blend_zero_iff M - L64
specialize hensel_signed_blend_zero_iff h - L65
specialize hensel_signed_blend_zero_iff x - L66
specialize hensel_signed_blend_zero_iff x2 - L67
specialize hensel_signed_blend_zero_iff x4 - L68
apply hensel_signed_blend_zero_iff - L69
exact hM - L70
exact hdiv
14Use earlier factsL71–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
exact hlinear_left
15Separate the logical casesL72–73
16Fix variables and assumptionsL74–74
Work with arbitrary variables or the premises of the current implication.
- L74
intro hnatural
17Separate the logical casesL75–76
18Establish hvalueL77–86
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval functional.
- L77
have hvalue : x4 = x6 - L78
specialize beta_horner_eval_functional gb - L79
specialize beta_horner_eval_functional gc - L80
specialize beta_horner_eval_functional a - L81
specialize beta_horner_eval_functional l - L82
specialize beta_horner_eval_functional x4 - L83
specialize beta_horner_eval_functional x6 - L84
apply beta_horner_eval_functional - L85
specialize beta_horner_derivative_value_projection gb - L86
specialize beta_horner_derivative_value_projection gc
19Use earlier factsL87–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
specialize beta_horner_derivative_value_projection a - L88
specialize beta_horner_derivative_value_projection l - L89
specialize beta_horner_derivative_value_projection x4 - L90
specialize beta_horner_derivative_value_projection x5 - L91
apply beta_horner_derivative_value_projection - L92
exact hG_witness_witness - L93
exact hnatural_witness_left
20Construct an explicit witnessL94–95
21Separate the logical casesL96–96
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L96
split
22Use earlier factsL97–104
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L97
specialize beta_horner_derivative_value_projection pb - L98
specialize beta_horner_derivative_value_projection pc - L99
specialize beta_horner_derivative_value_projection a - L100
specialize beta_horner_derivative_value_projection l - L101
specialize beta_horner_derivative_value_projection x - L102
specialize beta_horner_derivative_value_projection x1 - L103
apply beta_horner_derivative_value_projection - L104
exact hP_witness_witness
23Separate the logical casesL105–105
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L105
split
24Use earlier factsL106–114
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L106
specialize beta_horner_derivative_value_projection nb - L107
specialize beta_horner_derivative_value_projection nc - L108
specialize beta_horner_derivative_value_projection a - L109
specialize beta_horner_derivative_value_projection l - L110
specialize beta_horner_derivative_value_projection x2 - L111
specialize beta_horner_derivative_value_projection x3 - L112
apply beta_horner_derivative_value_projection - L113
exact hN_witness_witness - L114
apply hiff_left
25Calculate and transport equalitiesL115–115
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L115
rewrite hvalue
26Use earlier factsL116–116
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L116
exact hnatural_witness_right
27Fix variables and assumptionsL117–117
Work with arbitrary variables or the premises of the current implication.
- L117
intro hsigned
28Separate the logical casesL118–121
29Establish hpositiveL122–131
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval functional.
- L122
have hpositive : x = x6 - L123
specialize beta_horner_eval_functional pb - L124
specialize beta_horner_eval_functional pc - L125
specialize beta_horner_eval_functional a - L126
specialize beta_horner_eval_functional l - L127
specialize beta_horner_eval_functional x - L128
specialize beta_horner_eval_functional x6 - L129
apply beta_horner_eval_functional - L130
specialize beta_horner_derivative_value_projection pb - L131
specialize beta_horner_derivative_value_projection pc
30Use earlier factsL132–138
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L132
specialize beta_horner_derivative_value_projection a - L133
specialize beta_horner_derivative_value_projection l - L134
specialize beta_horner_derivative_value_projection x - L135
specialize beta_horner_derivative_value_projection x1 - L136
apply beta_horner_derivative_value_projection - L137
exact hP_witness_witness - L138
exact hsigned_witness_witness_left
31Establish hnegativeL139–148
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval functional.
- L139
have hnegative : x2 = x7 - L140
specialize beta_horner_eval_functional nb - L141
specialize beta_horner_eval_functional nc - L142
specialize beta_horner_eval_functional a - L143
specialize beta_horner_eval_functional l - L144
specialize beta_horner_eval_functional x2 - L145
specialize beta_horner_eval_functional x7 - L146
apply beta_horner_eval_functional - L147
specialize beta_horner_derivative_value_projection nb - L148
specialize beta_horner_derivative_value_projection nc
32Use earlier factsL149–155
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L149
specialize beta_horner_derivative_value_projection a - L150
specialize beta_horner_derivative_value_projection l - L151
specialize beta_horner_derivative_value_projection x2 - L152
specialize beta_horner_derivative_value_projection x3 - L153
apply beta_horner_derivative_value_projection - L154
exact hN_witness_witness - L155
exact hsigned_witness_witness_right_left
33Construct an explicit witnessL156–156
Supply the displayed value, then prove that it has the required property.
- L156
exists x4
34Separate the logical casesL157–157
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L157
split
35Use earlier factsL158–166
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L158
specialize beta_horner_derivative_value_projection gb - L159
specialize beta_horner_derivative_value_projection gc - L160
specialize beta_horner_derivative_value_projection a - L161
specialize beta_horner_derivative_value_projection l - L162
specialize beta_horner_derivative_value_projection x4 - L163
specialize beta_horner_derivative_value_projection x5 - L164
apply beta_horner_derivative_value_projection - L165
exact hG_witness_witness - L166
apply hiff_right
36Calculate and transport equalitiesL167–168
37Use earlier factsL169–169
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L169
exact hsigned_witness_witness_right_right
Original exact command ledger · 169 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
intro l - 0010
intro M - 0011
intro m - 0012
intro hM - 0013
intro hdiv - 0014
intro hblend - 0015
have hP : exists vp dp. (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)))))))) - 0016
specialize beta_horner_derivative_value_exists pb - 0017
specialize beta_horner_derivative_value_exists pc - 0018
specialize beta_horner_derivative_value_exists a - 0019
specialize beta_horner_derivative_value_exists l - 0020
apply beta_horner_derivative_value_exists - 0021
cases hP - 0022
cases hP_witness - 0023
have hN : exists vn dn. (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)))))))) - 0024
specialize beta_horner_derivative_value_exists nb - 0025
specialize beta_horner_derivative_value_exists nc - 0026
specialize beta_horner_derivative_value_exists a - 0027
specialize beta_horner_derivative_value_exists l - 0028
apply beta_horner_derivative_value_exists - 0029
cases hN - 0030
cases hN_witness - 0031
have hG : exists vg dg. (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)))))))) - 0032
specialize beta_horner_derivative_value_exists gb - 0033
specialize beta_horner_derivative_value_exists gc - 0034
specialize beta_horner_derivative_value_exists a - 0035
specialize beta_horner_derivative_value_exists l - 0036
apply beta_horner_derivative_value_exists - 0037
cases hG - 0038
cases hG_witness - 0039
have hlinear : x4 = x + h * x2 /\ x5 = x1 + h * x3 - 0040
specialize beta_horner_coefficient_blend_value_derivative pb - 0041
specialize beta_horner_coefficient_blend_value_derivative pc - 0042
specialize beta_horner_coefficient_blend_value_derivative nb - 0043
specialize beta_horner_coefficient_blend_value_derivative nc - 0044
specialize beta_horner_coefficient_blend_value_derivative gb - 0045
specialize beta_horner_coefficient_blend_value_derivative gc - 0046
specialize beta_horner_coefficient_blend_value_derivative h - 0047
specialize beta_horner_coefficient_blend_value_derivative a - 0048
specialize beta_horner_coefficient_blend_value_derivative l - 0049
specialize beta_horner_coefficient_blend_value_derivative x - 0050
specialize beta_horner_coefficient_blend_value_derivative x1 - 0051
specialize beta_horner_coefficient_blend_value_derivative x2 - 0052
specialize beta_horner_coefficient_blend_value_derivative x3 - 0053
specialize beta_horner_coefficient_blend_value_derivative x4 - 0054
specialize beta_horner_coefficient_blend_value_derivative x5 - 0055
apply beta_horner_coefficient_blend_value_derivative - 0056
exact hblend - 0057
exact hP_witness_witness - 0058
exact hN_witness_witness - 0059
exact hG_witness_witness - 0060
cases hlinear - 0061
have hiff : (((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. x4 + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. x + m * hgcrt_mod_left_hpl_mod = x2 + m * hgcrt_mod_right_hpl_mod)) /\ ((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. x + m * hgcrt_mod_left_hpl_mod = x2 + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. x4 + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod))) - 0062
specialize hensel_signed_blend_zero_iff m - 0063
specialize hensel_signed_blend_zero_iff M - 0064
specialize hensel_signed_blend_zero_iff h - 0065
specialize hensel_signed_blend_zero_iff x - 0066
specialize hensel_signed_blend_zero_iff x2 - 0067
specialize hensel_signed_blend_zero_iff x4 - 0068
apply hensel_signed_blend_zero_iff - 0069
exact hM - 0070
exact hdiv - 0071
exact hlinear_left - 0072
cases hiff - 0073
split - 0074
intro hnatural - 0075
cases hnatural - 0076
cases hnatural_witness - 0077
have hvalue : x4 = x6 - 0078
specialize beta_horner_eval_functional gb - 0079
specialize beta_horner_eval_functional gc - 0080
specialize beta_horner_eval_functional a - 0081
specialize beta_horner_eval_functional l - 0082
specialize beta_horner_eval_functional x4 - 0083
specialize beta_horner_eval_functional x6 - 0084
apply beta_horner_eval_functional - 0085
specialize beta_horner_derivative_value_projection gb - 0086
specialize beta_horner_derivative_value_projection gc - 0087
specialize beta_horner_derivative_value_projection a - 0088
specialize beta_horner_derivative_value_projection l - 0089
specialize beta_horner_derivative_value_projection x4 - 0090
specialize beta_horner_derivative_value_projection x5 - 0091
apply beta_horner_derivative_value_projection - 0092
exact hG_witness_witness - 0093
exact hnatural_witness_left - 0094
exists x - 0095
exists x2 - 0096
split - 0097
specialize beta_horner_derivative_value_projection pb - 0098
specialize beta_horner_derivative_value_projection pc - 0099
specialize beta_horner_derivative_value_projection a - 0100
specialize beta_horner_derivative_value_projection l - 0101
specialize beta_horner_derivative_value_projection x - 0102
specialize beta_horner_derivative_value_projection x1 - 0103
apply beta_horner_derivative_value_projection - 0104
exact hP_witness_witness - 0105
split - 0106
specialize beta_horner_derivative_value_projection nb - 0107
specialize beta_horner_derivative_value_projection nc - 0108
specialize beta_horner_derivative_value_projection a - 0109
specialize beta_horner_derivative_value_projection l - 0110
specialize beta_horner_derivative_value_projection x2 - 0111
specialize beta_horner_derivative_value_projection x3 - 0112
apply beta_horner_derivative_value_projection - 0113
exact hN_witness_witness - 0114
apply hiff_left - 0115
rewrite hvalue - 0116
exact hnatural_witness_right - 0117
intro hsigned - 0118
cases hsigned - 0119
cases hsigned_witness - 0120
cases hsigned_witness_witness - 0121
cases hsigned_witness_witness_right - 0122
have hpositive : x = x6 - 0123
specialize beta_horner_eval_functional pb - 0124
specialize beta_horner_eval_functional pc - 0125
specialize beta_horner_eval_functional a - 0126
specialize beta_horner_eval_functional l - 0127
specialize beta_horner_eval_functional x - 0128
specialize beta_horner_eval_functional x6 - 0129
apply beta_horner_eval_functional - 0130
specialize beta_horner_derivative_value_projection pb - 0131
specialize beta_horner_derivative_value_projection pc - 0132
specialize beta_horner_derivative_value_projection a - 0133
specialize beta_horner_derivative_value_projection l - 0134
specialize beta_horner_derivative_value_projection x - 0135
specialize beta_horner_derivative_value_projection x1 - 0136
apply beta_horner_derivative_value_projection - 0137
exact hP_witness_witness - 0138
exact hsigned_witness_witness_left - 0139
have hnegative : x2 = x7 - 0140
specialize beta_horner_eval_functional nb - 0141
specialize beta_horner_eval_functional nc - 0142
specialize beta_horner_eval_functional a - 0143
specialize beta_horner_eval_functional l - 0144
specialize beta_horner_eval_functional x2 - 0145
specialize beta_horner_eval_functional x7 - 0146
apply beta_horner_eval_functional - 0147
specialize beta_horner_derivative_value_projection nb - 0148
specialize beta_horner_derivative_value_projection nc - 0149
specialize beta_horner_derivative_value_projection a - 0150
specialize beta_horner_derivative_value_projection l - 0151
specialize beta_horner_derivative_value_projection x2 - 0152
specialize beta_horner_derivative_value_projection x3 - 0153
apply beta_horner_derivative_value_projection - 0154
exact hN_witness_witness - 0155
exact hsigned_witness_witness_right_left - 0156
exists x4 - 0157
split - 0158
specialize beta_horner_derivative_value_projection gb - 0159
specialize beta_horner_derivative_value_projection gc - 0160
specialize beta_horner_derivative_value_projection a - 0161
specialize beta_horner_derivative_value_projection l - 0162
specialize beta_horner_derivative_value_projection x4 - 0163
specialize beta_horner_derivative_value_projection x5 - 0164
apply beta_horner_derivative_value_projection - 0165
exact hG_witness_witness - 0166
apply hiff_right - 0167
rewrite hpositive - 0168
rewrite hnegative - 0169
exact hsigned_witness_witness_right_right