ND0084

SignedHornerRoot(pb,pc,nb,nc,a,l,m)

The actual positive and negative polynomial values agree modulo m.

Conservative notation; not a theorem, primitive, or axiom.

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.

Definition in prerequisite notation

∃ sph_positive_secondwave. ∃ sph_negative_secondwave. Horner(pb,pc,a,l,sph_positive_secondwave) ∧ (Horner(nb,nc,a,l,sph_negative_secondwave)ModEq(m,sph_positive_secondwave,sph_negative_secondwave))

Only definitions earlier in this acyclic notation graph are used here.

Hygienic expanded first-order definition
exists sph_positive_secondwave sph_negative_secondwave. ((exists ff_u_ph_hpl_sph_secondwave_positive ff_v_ph_hpl_sph_secondwave_positive. ((((exists fs_h_ph_hpl_sph_secondwave_positive_body_start. fs_h_ph_hpl_sph_secondwave_positive_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_sph_secondwave_positive)) /\ exists fs_q_ph_hpl_sph_secondwave_positive_body_start. ff_u_ph_hpl_sph_secondwave_positive = fs_q_ph_hpl_sph_secondwave_positive_body_start * S ((S (0)) * ff_v_ph_hpl_sph_secondwave_positive) + (0))) /\ ((((exists fs_h_ph_hpl_sph_secondwave_positive_body_terminal. fs_h_ph_hpl_sph_secondwave_positive_body_terminal + S (sph_positive_secondwave) = S ((S (l)) * ff_v_ph_hpl_sph_secondwave_positive)) /\ exists fs_q_ph_hpl_sph_secondwave_positive_body_terminal. ff_u_ph_hpl_sph_secondwave_positive = fs_q_ph_hpl_sph_secondwave_positive_body_terminal * S ((S (l)) * ff_v_ph_hpl_sph_secondwave_positive) + (sph_positive_secondwave))) /\ forall ff_i_ph_hpl_sph_secondwave_positive_body_steps. (exists ph_bound_hpl_sph_secondwave_positive_body_steps. ph_bound_hpl_sph_secondwave_positive_body_steps + S ff_i_ph_hpl_sph_secondwave_positive_body_steps = l) -> exists ff_coefficient_ph_hpl_sph_secondwave_positive_body_steps ff_previous_ph_hpl_sph_secondwave_positive_body_steps ff_current_ph_hpl_sph_secondwave_positive_body_steps. ((((exists fs_h_ph_hpl_sph_secondwave_positive_body_steps_coefficient. fs_h_ph_hpl_sph_secondwave_positive_body_steps_coefficient + S (ff_coefficient_ph_hpl_sph_secondwave_positive_body_steps) = S ((S (ff_i_ph_hpl_sph_secondwave_positive_body_steps)) * pc)) /\ exists fs_q_ph_hpl_sph_secondwave_positive_body_steps_coefficient. pb = fs_q_ph_hpl_sph_secondwave_positive_body_steps_coefficient * S ((S (ff_i_ph_hpl_sph_secondwave_positive_body_steps)) * pc) + (ff_coefficient_ph_hpl_sph_secondwave_positive_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_secondwave_positive_body_steps_before. fs_h_ph_hpl_sph_secondwave_positive_body_steps_before + S (ff_previous_ph_hpl_sph_secondwave_positive_body_steps) = S ((S (ff_i_ph_hpl_sph_secondwave_positive_body_steps)) * ff_v_ph_hpl_sph_secondwave_positive)) /\ exists fs_q_ph_hpl_sph_secondwave_positive_body_steps_before. ff_u_ph_hpl_sph_secondwave_positive = fs_q_ph_hpl_sph_secondwave_positive_body_steps_before * S ((S (ff_i_ph_hpl_sph_secondwave_positive_body_steps)) * ff_v_ph_hpl_sph_secondwave_positive) + (ff_previous_ph_hpl_sph_secondwave_positive_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_secondwave_positive_body_steps_after. fs_h_ph_hpl_sph_secondwave_positive_body_steps_after + S (ff_current_ph_hpl_sph_secondwave_positive_body_steps) = S ((S (S ff_i_ph_hpl_sph_secondwave_positive_body_steps)) * ff_v_ph_hpl_sph_secondwave_positive)) /\ exists fs_q_ph_hpl_sph_secondwave_positive_body_steps_after. ff_u_ph_hpl_sph_secondwave_positive = fs_q_ph_hpl_sph_secondwave_positive_body_steps_after * S ((S (S ff_i_ph_hpl_sph_secondwave_positive_body_steps)) * ff_v_ph_hpl_sph_secondwave_positive) + (ff_current_ph_hpl_sph_secondwave_positive_body_steps))) /\ ff_current_ph_hpl_sph_secondwave_positive_body_steps = ff_previous_ph_hpl_sph_secondwave_positive_body_steps * a + ff_coefficient_ph_hpl_sph_secondwave_positive_body_steps)))))) /\ ((exists ff_u_ph_hpl_sph_secondwave_negative ff_v_ph_hpl_sph_secondwave_negative. ((((exists fs_h_ph_hpl_sph_secondwave_negative_body_start. fs_h_ph_hpl_sph_secondwave_negative_body_start + S (0) = S ((S (0)) * ff_v_ph_hpl_sph_secondwave_negative)) /\ exists fs_q_ph_hpl_sph_secondwave_negative_body_start. ff_u_ph_hpl_sph_secondwave_negative = fs_q_ph_hpl_sph_secondwave_negative_body_start * S ((S (0)) * ff_v_ph_hpl_sph_secondwave_negative) + (0))) /\ ((((exists fs_h_ph_hpl_sph_secondwave_negative_body_terminal. fs_h_ph_hpl_sph_secondwave_negative_body_terminal + S (sph_negative_secondwave) = S ((S (l)) * ff_v_ph_hpl_sph_secondwave_negative)) /\ exists fs_q_ph_hpl_sph_secondwave_negative_body_terminal. ff_u_ph_hpl_sph_secondwave_negative = fs_q_ph_hpl_sph_secondwave_negative_body_terminal * S ((S (l)) * ff_v_ph_hpl_sph_secondwave_negative) + (sph_negative_secondwave))) /\ forall ff_i_ph_hpl_sph_secondwave_negative_body_steps. (exists ph_bound_hpl_sph_secondwave_negative_body_steps. ph_bound_hpl_sph_secondwave_negative_body_steps + S ff_i_ph_hpl_sph_secondwave_negative_body_steps = l) -> exists ff_coefficient_ph_hpl_sph_secondwave_negative_body_steps ff_previous_ph_hpl_sph_secondwave_negative_body_steps ff_current_ph_hpl_sph_secondwave_negative_body_steps. ((((exists fs_h_ph_hpl_sph_secondwave_negative_body_steps_coefficient. fs_h_ph_hpl_sph_secondwave_negative_body_steps_coefficient + S (ff_coefficient_ph_hpl_sph_secondwave_negative_body_steps) = S ((S (ff_i_ph_hpl_sph_secondwave_negative_body_steps)) * nc)) /\ exists fs_q_ph_hpl_sph_secondwave_negative_body_steps_coefficient. nb = fs_q_ph_hpl_sph_secondwave_negative_body_steps_coefficient * S ((S (ff_i_ph_hpl_sph_secondwave_negative_body_steps)) * nc) + (ff_coefficient_ph_hpl_sph_secondwave_negative_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_secondwave_negative_body_steps_before. fs_h_ph_hpl_sph_secondwave_negative_body_steps_before + S (ff_previous_ph_hpl_sph_secondwave_negative_body_steps) = S ((S (ff_i_ph_hpl_sph_secondwave_negative_body_steps)) * ff_v_ph_hpl_sph_secondwave_negative)) /\ exists fs_q_ph_hpl_sph_secondwave_negative_body_steps_before. ff_u_ph_hpl_sph_secondwave_negative = fs_q_ph_hpl_sph_secondwave_negative_body_steps_before * S ((S (ff_i_ph_hpl_sph_secondwave_negative_body_steps)) * ff_v_ph_hpl_sph_secondwave_negative) + (ff_previous_ph_hpl_sph_secondwave_negative_body_steps))) /\ ((((exists fs_h_ph_hpl_sph_secondwave_negative_body_steps_after. fs_h_ph_hpl_sph_secondwave_negative_body_steps_after + S (ff_current_ph_hpl_sph_secondwave_negative_body_steps) = S ((S (S ff_i_ph_hpl_sph_secondwave_negative_body_steps)) * ff_v_ph_hpl_sph_secondwave_negative)) /\ exists fs_q_ph_hpl_sph_secondwave_negative_body_steps_after. ff_u_ph_hpl_sph_secondwave_negative = fs_q_ph_hpl_sph_secondwave_negative_body_steps_after * S ((S (S ff_i_ph_hpl_sph_secondwave_negative_body_steps)) * ff_v_ph_hpl_sph_secondwave_negative) + (ff_current_ph_hpl_sph_secondwave_negative_body_steps))) /\ ff_current_ph_hpl_sph_secondwave_negative_body_steps = ff_previous_ph_hpl_sph_secondwave_negative_body_steps * a + ff_coefficient_ph_hpl_sph_secondwave_negative_body_steps)))))) /\ (exists hgcrt_mod_left_hpl_secondwave hgcrt_mod_right_hpl_secondwave. sph_positive_secondwave + m * hgcrt_mod_left_hpl_secondwave = sph_negative_secondwave + m * hgcrt_mod_right_hpl_secondwave)))

The unchanged native kernel never receives this surface symbol. Binder-safe expansion produces only its existing first-order syntax.

Direct definition dependencies

Definitions depending on this notation

Checked theorems using this definition