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 expanded first-order arithmetic statement
forall p c ab ac L b0 c0 N0 b1 c1 N1 u0b u0c v0b v0c UP0b UP0c VP0b VP0c z0b z0c u1b u1c v1b v1c UP1b UP1c VP1b VP1c z1b z1c. (~((p) = 1) /\ forall pfa_factor_left_step_alignment_prime pfa_factor_right_step_alignment_prime. (p) = pfa_factor_left_step_alignment_prime * pfa_factor_right_step_alignment_prime -> pfa_factor_left_step_alignment_prime = 1 \/ pfa_factor_right_step_alignment_prime = 1) -> (forall pfrep_power_step_alignment_old_equal pfrep_left_step_alignment_old_equal pfrep_right_step_alignment_old_equal. ((exists pfrep_position_step_alignment_old_equalfirst. ((pfrep_position_step_alignment_old_equalfirst+S (pfrep_power_step_alignment_old_equal)=(N0)) /\ ((((exists ff_h_pfp_step_alignment_old_equalfirstentry. ff_h_pfp_step_alignment_old_equalfirstentry + S (pfrep_left_step_alignment_old_equal) = S ((S (pfrep_position_step_alignment_old_equalfirst)) * c0)) /\ exists ff_q_pfp_step_alignment_old_equalfirstentry. b0 = ff_q_pfp_step_alignment_old_equalfirstentry * S ((S (pfrep_position_step_alignment_old_equalfirst)) * c0) + (pfrep_left_step_alignment_old_equal)))))) \/ (((exists pfrep_gap_step_alignment_old_equalfirstoutside. pfrep_gap_step_alignment_old_equalfirstoutside+(N0)=(pfrep_power_step_alignment_old_equal)) /\ (((pfrep_left_step_alignment_old_equal)=0))))) -> ((exists pfrep_position_step_alignment_old_equalsecond. ((pfrep_position_step_alignment_old_equalsecond+S (pfrep_power_step_alignment_old_equal)=(N1)) /\ ((((exists ff_h_pfp_step_alignment_old_equalsecondentry. ff_h_pfp_step_alignment_old_equalsecondentry + S (pfrep_right_step_alignment_old_equal) = S ((S (pfrep_position_step_alignment_old_equalsecond)) * c1)) /\ exists ff_q_pfp_step_alignment_old_equalsecondentry. b1 = ff_q_pfp_step_alignment_old_equalsecondentry * S ((S (pfrep_position_step_alignment_old_equalsecond)) * c1) + (pfrep_right_step_alignment_old_equal)))))) \/ (((exists pfrep_gap_step_alignment_old_equalsecondoutside. pfrep_gap_step_alignment_old_equalsecondoutside+(N1)=(pfrep_power_step_alignment_old_equal)) /\ (((pfrep_right_step_alignment_old_equal)=0))))) -> pfrep_left_step_alignment_old_equal=pfrep_right_step_alignment_old_equal) -> (((forall mdr_i_pfp_step_alignment_old_shiftprefix mdr_a_pfp_step_alignment_old_shiftprefix. (exists mdr_gap_pfp_step_alignment_old_shiftprefixb. mdr_gap_pfp_step_alignment_old_shiftprefixb + S (mdr_i_pfp_step_alignment_old_shiftprefix) = (N0)) -> (((exists ff_h_mdr_pfp_step_alignment_old_shiftprefixo. ff_h_mdr_pfp_step_alignment_old_shiftprefixo + S (mdr_a_pfp_step_alignment_old_shiftprefix) = S ((S (mdr_i_pfp_step_alignment_old_shiftprefix)) * c0)) /\ exists ff_q_mdr_pfp_step_alignment_old_shiftprefixo. b0 = ff_q_mdr_pfp_step_alignment_old_shiftprefixo * S ((S (mdr_i_pfp_step_alignment_old_shiftprefix)) * c0) + (mdr_a_pfp_step_alignment_old_shiftprefix))) -> (((exists ff_h_mdr_pfp_step_alignment_old_shiftprefixn. ff_h_mdr_pfp_step_alignment_old_shiftprefixn + S (mdr_a_pfp_step_alignment_old_shiftprefix) = S ((S (mdr_i_pfp_step_alignment_old_shiftprefix)) * u0c)) /\ exists ff_q_mdr_pfp_step_alignment_old_shiftprefixn. u0b = ff_q_mdr_pfp_step_alignment_old_shiftprefixn * S ((S (mdr_i_pfp_step_alignment_old_shiftprefix)) * u0c) + (mdr_a_pfp_step_alignment_old_shiftprefix)))) /\ ((((exists ff_h_pfp_step_alignment_old_shiftzero. ff_h_pfp_step_alignment_old_shiftzero + S (0) = S ((S (N0)) * u0c)) /\ exists ff_q_pfp_step_alignment_old_shiftzero. u0b = ff_q_pfp_step_alignment_old_shiftzero * S ((S (N0)) * u0c) + (0)))))) -> (((exists pfa_gap_step_alignment_old_scalescalar. pfa_gap_step_alignment_old_scalescalar + S (c) = (p)) /\ ((forall pfp_index_step_alignment_old_scale. (exists pfa_gap_step_alignment_old_scaleindex. pfa_gap_step_alignment_old_scaleindex + S (pfp_index_step_alignment_old_scale) = (L)) -> exists pfp_source_step_alignment_old_scale pfp_value_step_alignment_old_scale. ((((exists ff_h_pfp_step_alignment_old_scalesource. ff_h_pfp_step_alignment_old_scalesource + S (pfp_source_step_alignment_old_scale) = S ((S (pfp_index_step_alignment_old_scale)) * ac)) /\ exists ff_q_pfp_step_alignment_old_scalesource. ab = ff_q_pfp_step_alignment_old_scalesource * S ((S (pfp_index_step_alignment_old_scale)) * ac) + (pfp_source_step_alignment_old_scale))) /\ (((((exists ff_h_pfp_step_alignment_old_scaletarget. ff_h_pfp_step_alignment_old_scaletarget + S (pfp_value_step_alignment_old_scale) = S ((S (pfp_index_step_alignment_old_scale)) * v0c)) /\ exists ff_q_pfp_step_alignment_old_scaletarget. v0b = ff_q_pfp_step_alignment_old_scaletarget * S ((S (pfp_index_step_alignment_old_scale)) * v0c) + (pfp_value_step_alignment_old_scale))) /\ ((((exists pfa_gap_step_alignment_old_scaleoperationleft. pfa_gap_step_alignment_old_scaleoperationleft + S (c) = (p)) /\ (((exists pfa_gap_step_alignment_old_scaleoperationright. pfa_gap_step_alignment_old_scaleoperationright + S (pfp_source_step_alignment_old_scale) = (p)) /\ ((((exists pfa_gap_step_alignment_old_scaleoperationresultbound. pfa_gap_step_alignment_old_scaleoperationresultbound + S (pfp_value_step_alignment_old_scale) = (p)) /\ ((exists pfa_offset_left_step_alignment_old_scaleoperationresultcongruence pfa_offset_right_step_alignment_old_scaleoperationresultcongruence. ((c) * (pfp_source_step_alignment_old_scale)) + (p) * pfa_offset_left_step_alignment_old_scaleoperationresultcongruence = (pfp_value_step_alignment_old_scale) + (p) * pfa_offset_right_step_alignment_old_scaleoperationresultcongruence))))))))))))))))) -> (((forall pfp_repeat_index_step_alignment_old_leftzeros. (exists pfa_gap_step_alignment_old_leftzerosindex. pfa_gap_step_alignment_old_leftzerosindex + S (pfp_repeat_index_step_alignment_old_leftzeros) = (L)) -> (((exists ff_h_pfp_step_alignment_old_leftzerosentry. ff_h_pfp_step_alignment_old_leftzerosentry + S (0) = S ((S (pfp_repeat_index_step_alignment_old_leftzeros)) * UP0c)) /\ exists ff_q_pfp_step_alignment_old_leftzerosentry. UP0b = ff_q_pfp_step_alignment_old_leftzerosentry * S ((S (pfp_repeat_index_step_alignment_old_leftzeros)) * UP0c) + (0)))) /\ ((forall pfrep_index_step_alignment_old_left pfrep_value_step_alignment_old_left. (exists pfa_gap_step_alignment_old_leftbound. pfa_gap_step_alignment_old_leftbound + S (pfrep_index_step_alignment_old_left) = (S N0)) -> (((exists ff_h_pfp_step_alignment_old_leftinput. ff_h_pfp_step_alignment_old_leftinput + S (pfrep_value_step_alignment_old_left) = S ((S (pfrep_index_step_alignment_old_left)) * u0c)) /\ exists ff_q_pfp_step_alignment_old_leftinput. u0b = ff_q_pfp_step_alignment_old_leftinput * S ((S (pfrep_index_step_alignment_old_left)) * u0c) + (pfrep_value_step_alignment_old_left))) -> (((exists ff_h_pfp_step_alignment_old_leftoutput. ff_h_pfp_step_alignment_old_leftoutput + S (pfrep_value_step_alignment_old_left) = S ((S ((L)+pfrep_index_step_alignment_old_left)) * UP0c)) /\ exists ff_q_pfp_step_alignment_old_leftoutput. UP0b = ff_q_pfp_step_alignment_old_leftoutput * S ((S ((L)+pfrep_index_step_alignment_old_left)) * UP0c) + (pfrep_value_step_alignment_old_left))))))) -> (((forall pfp_repeat_index_step_alignment_old_rightzeros. (exists pfa_gap_step_alignment_old_rightzerosindex. pfa_gap_step_alignment_old_rightzerosindex + S (pfp_repeat_index_step_alignment_old_rightzeros) = (S N0)) -> (((exists ff_h_pfp_step_alignment_old_rightzerosentry. ff_h_pfp_step_alignment_old_rightzerosentry + S (0) = S ((S (pfp_repeat_index_step_alignment_old_rightzeros)) * VP0c)) /\ exists ff_q_pfp_step_alignment_old_rightzerosentry. VP0b = ff_q_pfp_step_alignment_old_rightzerosentry * S ((S (pfp_repeat_index_step_alignment_old_rightzeros)) * VP0c) + (0)))) /\ ((forall pfrep_index_step_alignment_old_right pfrep_value_step_alignment_old_right. (exists pfa_gap_step_alignment_old_rightbound. pfa_gap_step_alignment_old_rightbound + S (pfrep_index_step_alignment_old_right) = (L)) -> (((exists ff_h_pfp_step_alignment_old_rightinput. ff_h_pfp_step_alignment_old_rightinput + S (pfrep_value_step_alignment_old_right) = S ((S (pfrep_index_step_alignment_old_right)) * v0c)) /\ exists ff_q_pfp_step_alignment_old_rightinput. v0b = ff_q_pfp_step_alignment_old_rightinput * S ((S (pfrep_index_step_alignment_old_right)) * v0c) + (pfrep_value_step_alignment_old_right))) -> (((exists ff_h_pfp_step_alignment_old_rightoutput. ff_h_pfp_step_alignment_old_rightoutput + S (pfrep_value_step_alignment_old_right) = S ((S ((S N0)+pfrep_index_step_alignment_old_right)) * VP0c)) /\ exists ff_q_pfp_step_alignment_old_rightoutput. VP0b = ff_q_pfp_step_alignment_old_rightoutput * S ((S ((S N0)+pfrep_index_step_alignment_old_right)) * VP0c) + (pfrep_value_step_alignment_old_right))))))) -> (forall pfp_index_step_alignment_old_sum. (exists pfa_gap_step_alignment_old_sumindex. pfa_gap_step_alignment_old_sumindex + S (pfp_index_step_alignment_old_sum) = (L+S N0)) -> exists pfp_left_step_alignment_old_sum pfp_right_step_alignment_old_sum pfp_value_step_alignment_old_sum. ((((exists ff_h_pfp_step_alignment_old_sumleft. ff_h_pfp_step_alignment_old_sumleft + S (pfp_left_step_alignment_old_sum) = S ((S (pfp_index_step_alignment_old_sum)) * UP0c)) /\ exists ff_q_pfp_step_alignment_old_sumleft. UP0b = ff_q_pfp_step_alignment_old_sumleft * S ((S (pfp_index_step_alignment_old_sum)) * UP0c) + (pfp_left_step_alignment_old_sum))) /\ (((((exists ff_h_pfp_step_alignment_old_sumright. ff_h_pfp_step_alignment_old_sumright + S (pfp_right_step_alignment_old_sum) = S ((S (pfp_index_step_alignment_old_sum)) * VP0c)) /\ exists ff_q_pfp_step_alignment_old_sumright. VP0b = ff_q_pfp_step_alignment_old_sumright * S ((S (pfp_index_step_alignment_old_sum)) * VP0c) + (pfp_right_step_alignment_old_sum))) /\ (((((exists ff_h_pfp_step_alignment_old_sumtarget. ff_h_pfp_step_alignment_old_sumtarget + S (pfp_value_step_alignment_old_sum) = S ((S (pfp_index_step_alignment_old_sum)) * z0c)) /\ exists ff_q_pfp_step_alignment_old_sumtarget. z0b = ff_q_pfp_step_alignment_old_sumtarget * S ((S (pfp_index_step_alignment_old_sum)) * z0c) + (pfp_value_step_alignment_old_sum))) /\ ((((exists pfa_gap_step_alignment_old_sumoperationleft. pfa_gap_step_alignment_old_sumoperationleft + S (pfp_left_step_alignment_old_sum) = (p)) /\ (((exists pfa_gap_step_alignment_old_sumoperationright. pfa_gap_step_alignment_old_sumoperationright + S (pfp_right_step_alignment_old_sum) = (p)) /\ ((((exists pfa_gap_step_alignment_old_sumoperationresultbound. pfa_gap_step_alignment_old_sumoperationresultbound + S (pfp_value_step_alignment_old_sum) = (p)) /\ ((exists pfa_offset_left_step_alignment_old_sumoperationresultcongruence pfa_offset_right_step_alignment_old_sumoperationresultcongruence. ((pfp_left_step_alignment_old_sum) + (pfp_right_step_alignment_old_sum)) + (p) * pfa_offset_left_step_alignment_old_sumoperationresultcongruence = (pfp_value_step_alignment_old_sum) + (p) * pfa_offset_right_step_alignment_old_sumoperationresultcongruence)))))))))))))))) -> (((forall mdr_i_pfp_step_alignment_new_shiftprefix mdr_a_pfp_step_alignment_new_shiftprefix. (exists mdr_gap_pfp_step_alignment_new_shiftprefixb. mdr_gap_pfp_step_alignment_new_shiftprefixb + S (mdr_i_pfp_step_alignment_new_shiftprefix) = (N1)) -> (((exists ff_h_mdr_pfp_step_alignment_new_shiftprefixo. ff_h_mdr_pfp_step_alignment_new_shiftprefixo + S (mdr_a_pfp_step_alignment_new_shiftprefix) = S ((S (mdr_i_pfp_step_alignment_new_shiftprefix)) * c1)) /\ exists ff_q_mdr_pfp_step_alignment_new_shiftprefixo. b1 = ff_q_mdr_pfp_step_alignment_new_shiftprefixo * S ((S (mdr_i_pfp_step_alignment_new_shiftprefix)) * c1) + (mdr_a_pfp_step_alignment_new_shiftprefix))) -> (((exists ff_h_mdr_pfp_step_alignment_new_shiftprefixn. ff_h_mdr_pfp_step_alignment_new_shiftprefixn + S (mdr_a_pfp_step_alignment_new_shiftprefix) = S ((S (mdr_i_pfp_step_alignment_new_shiftprefix)) * u1c)) /\ exists ff_q_mdr_pfp_step_alignment_new_shiftprefixn. u1b = ff_q_mdr_pfp_step_alignment_new_shiftprefixn * S ((S (mdr_i_pfp_step_alignment_new_shiftprefix)) * u1c) + (mdr_a_pfp_step_alignment_new_shiftprefix)))) /\ ((((exists ff_h_pfp_step_alignment_new_shiftzero. ff_h_pfp_step_alignment_new_shiftzero + S (0) = S ((S (N1)) * u1c)) /\ exists ff_q_pfp_step_alignment_new_shiftzero. u1b = ff_q_pfp_step_alignment_new_shiftzero * S ((S (N1)) * u1c) + (0)))))) -> (((exists pfa_gap_step_alignment_new_scalescalar. pfa_gap_step_alignment_new_scalescalar + S (c) = (p)) /\ ((forall pfp_index_step_alignment_new_scale. (exists pfa_gap_step_alignment_new_scaleindex. pfa_gap_step_alignment_new_scaleindex + S (pfp_index_step_alignment_new_scale) = (L)) -> exists pfp_source_step_alignment_new_scale pfp_value_step_alignment_new_scale. ((((exists ff_h_pfp_step_alignment_new_scalesource. ff_h_pfp_step_alignment_new_scalesource + S (pfp_source_step_alignment_new_scale) = S ((S (pfp_index_step_alignment_new_scale)) * ac)) /\ exists ff_q_pfp_step_alignment_new_scalesource. ab = ff_q_pfp_step_alignment_new_scalesource * S ((S (pfp_index_step_alignment_new_scale)) * ac) + (pfp_source_step_alignment_new_scale))) /\ (((((exists ff_h_pfp_step_alignment_new_scaletarget. ff_h_pfp_step_alignment_new_scaletarget + S (pfp_value_step_alignment_new_scale) = S ((S (pfp_index_step_alignment_new_scale)) * v1c)) /\ exists ff_q_pfp_step_alignment_new_scaletarget. v1b = ff_q_pfp_step_alignment_new_scaletarget * S ((S (pfp_index_step_alignment_new_scale)) * v1c) + (pfp_value_step_alignment_new_scale))) /\ ((((exists pfa_gap_step_alignment_new_scaleoperationleft. pfa_gap_step_alignment_new_scaleoperationleft + S (c) = (p)) /\ (((exists pfa_gap_step_alignment_new_scaleoperationright. pfa_gap_step_alignment_new_scaleoperationright + S (pfp_source_step_alignment_new_scale) = (p)) /\ ((((exists pfa_gap_step_alignment_new_scaleoperationresultbound. pfa_gap_step_alignment_new_scaleoperationresultbound + S (pfp_value_step_alignment_new_scale) = (p)) /\ ((exists pfa_offset_left_step_alignment_new_scaleoperationresultcongruence pfa_offset_right_step_alignment_new_scaleoperationresultcongruence. ((c) * (pfp_source_step_alignment_new_scale)) + (p) * pfa_offset_left_step_alignment_new_scaleoperationresultcongruence = (pfp_value_step_alignment_new_scale) + (p) * pfa_offset_right_step_alignment_new_scaleoperationresultcongruence))))))))))))))))) -> (((forall pfp_repeat_index_step_alignment_new_leftzeros. (exists pfa_gap_step_alignment_new_leftzerosindex. pfa_gap_step_alignment_new_leftzerosindex + S (pfp_repeat_index_step_alignment_new_leftzeros) = (L)) -> (((exists ff_h_pfp_step_alignment_new_leftzerosentry. ff_h_pfp_step_alignment_new_leftzerosentry + S (0) = S ((S (pfp_repeat_index_step_alignment_new_leftzeros)) * UP1c)) /\ exists ff_q_pfp_step_alignment_new_leftzerosentry. UP1b = ff_q_pfp_step_alignment_new_leftzerosentry * S ((S (pfp_repeat_index_step_alignment_new_leftzeros)) * UP1c) + (0)))) /\ ((forall pfrep_index_step_alignment_new_left pfrep_value_step_alignment_new_left. (exists pfa_gap_step_alignment_new_leftbound. pfa_gap_step_alignment_new_leftbound + S (pfrep_index_step_alignment_new_left) = (S N1)) -> (((exists ff_h_pfp_step_alignment_new_leftinput. ff_h_pfp_step_alignment_new_leftinput + S (pfrep_value_step_alignment_new_left) = S ((S (pfrep_index_step_alignment_new_left)) * u1c)) /\ exists ff_q_pfp_step_alignment_new_leftinput. u1b = ff_q_pfp_step_alignment_new_leftinput * S ((S (pfrep_index_step_alignment_new_left)) * u1c) + (pfrep_value_step_alignment_new_left))) -> (((exists ff_h_pfp_step_alignment_new_leftoutput. ff_h_pfp_step_alignment_new_leftoutput + S (pfrep_value_step_alignment_new_left) = S ((S ((L)+pfrep_index_step_alignment_new_left)) * UP1c)) /\ exists ff_q_pfp_step_alignment_new_leftoutput. UP1b = ff_q_pfp_step_alignment_new_leftoutput * S ((S ((L)+pfrep_index_step_alignment_new_left)) * UP1c) + (pfrep_value_step_alignment_new_left))))))) -> (((forall pfp_repeat_index_step_alignment_new_rightzeros. (exists pfa_gap_step_alignment_new_rightzerosindex. pfa_gap_step_alignment_new_rightzerosindex + S (pfp_repeat_index_step_alignment_new_rightzeros) = (S N1)) -> (((exists ff_h_pfp_step_alignment_new_rightzerosentry. ff_h_pfp_step_alignment_new_rightzerosentry + S (0) = S ((S (pfp_repeat_index_step_alignment_new_rightzeros)) * VP1c)) /\ exists ff_q_pfp_step_alignment_new_rightzerosentry. VP1b = ff_q_pfp_step_alignment_new_rightzerosentry * S ((S (pfp_repeat_index_step_alignment_new_rightzeros)) * VP1c) + (0)))) /\ ((forall pfrep_index_step_alignment_new_right pfrep_value_step_alignment_new_right. (exists pfa_gap_step_alignment_new_rightbound. pfa_gap_step_alignment_new_rightbound + S (pfrep_index_step_alignment_new_right) = (L)) -> (((exists ff_h_pfp_step_alignment_new_rightinput. ff_h_pfp_step_alignment_new_rightinput + S (pfrep_value_step_alignment_new_right) = S ((S (pfrep_index_step_alignment_new_right)) * v1c)) /\ exists ff_q_pfp_step_alignment_new_rightinput. v1b = ff_q_pfp_step_alignment_new_rightinput * S ((S (pfrep_index_step_alignment_new_right)) * v1c) + (pfrep_value_step_alignment_new_right))) -> (((exists ff_h_pfp_step_alignment_new_rightoutput. ff_h_pfp_step_alignment_new_rightoutput + S (pfrep_value_step_alignment_new_right) = S ((S ((S N1)+pfrep_index_step_alignment_new_right)) * VP1c)) /\ exists ff_q_pfp_step_alignment_new_rightoutput. VP1b = ff_q_pfp_step_alignment_new_rightoutput * S ((S ((S N1)+pfrep_index_step_alignment_new_right)) * VP1c) + (pfrep_value_step_alignment_new_right))))))) -> (forall pfp_index_step_alignment_new_sum. (exists pfa_gap_step_alignment_new_sumindex. pfa_gap_step_alignment_new_sumindex + S (pfp_index_step_alignment_new_sum) = (L+S N1)) -> exists pfp_left_step_alignment_new_sum pfp_right_step_alignment_new_sum pfp_value_step_alignment_new_sum. ((((exists ff_h_pfp_step_alignment_new_sumleft. ff_h_pfp_step_alignment_new_sumleft + S (pfp_left_step_alignment_new_sum) = S ((S (pfp_index_step_alignment_new_sum)) * UP1c)) /\ exists ff_q_pfp_step_alignment_new_sumleft. UP1b = ff_q_pfp_step_alignment_new_sumleft * S ((S (pfp_index_step_alignment_new_sum)) * UP1c) + (pfp_left_step_alignment_new_sum))) /\ (((((exists ff_h_pfp_step_alignment_new_sumright. ff_h_pfp_step_alignment_new_sumright + S (pfp_right_step_alignment_new_sum) = S ((S (pfp_index_step_alignment_new_sum)) * VP1c)) /\ exists ff_q_pfp_step_alignment_new_sumright. VP1b = ff_q_pfp_step_alignment_new_sumright * S ((S (pfp_index_step_alignment_new_sum)) * VP1c) + (pfp_right_step_alignment_new_sum))) /\ (((((exists ff_h_pfp_step_alignment_new_sumtarget. ff_h_pfp_step_alignment_new_sumtarget + S (pfp_value_step_alignment_new_sum) = S ((S (pfp_index_step_alignment_new_sum)) * z1c)) /\ exists ff_q_pfp_step_alignment_new_sumtarget. z1b = ff_q_pfp_step_alignment_new_sumtarget * S ((S (pfp_index_step_alignment_new_sum)) * z1c) + (pfp_value_step_alignment_new_sum))) /\ ((((exists pfa_gap_step_alignment_new_sumoperationleft. pfa_gap_step_alignment_new_sumoperationleft + S (pfp_left_step_alignment_new_sum) = (p)) /\ (((exists pfa_gap_step_alignment_new_sumoperationright. pfa_gap_step_alignment_new_sumoperationright + S (pfp_right_step_alignment_new_sum) = (p)) /\ ((((exists pfa_gap_step_alignment_new_sumoperationresultbound. pfa_gap_step_alignment_new_sumoperationresultbound + S (pfp_value_step_alignment_new_sum) = (p)) /\ ((exists pfa_offset_left_step_alignment_new_sumoperationresultcongruence pfa_offset_right_step_alignment_new_sumoperationresultcongruence. ((pfp_left_step_alignment_new_sum) + (pfp_right_step_alignment_new_sum)) + (p) * pfa_offset_left_step_alignment_new_sumoperationresultcongruence = (pfp_value_step_alignment_new_sum) + (p) * pfa_offset_right_step_alignment_new_sumoperationresultcongruence)))))))))))))))) -> (forall pfrep_power_step_alignment_result pfrep_left_step_alignment_result pfrep_right_step_alignment_result. ((exists pfrep_position_step_alignment_resultfirst. ((pfrep_position_step_alignment_resultfirst+S (pfrep_power_step_alignment_result)=(L+S N0)) /\ ((((exists ff_h_pfp_step_alignment_resultfirstentry. ff_h_pfp_step_alignment_resultfirstentry + S (pfrep_left_step_alignment_result) = S ((S (pfrep_position_step_alignment_resultfirst)) * z0c)) /\ exists ff_q_pfp_step_alignment_resultfirstentry. z0b = ff_q_pfp_step_alignment_resultfirstentry * S ((S (pfrep_position_step_alignment_resultfirst)) * z0c) + (pfrep_left_step_alignment_result)))))) \/ (((exists pfrep_gap_step_alignment_resultfirstoutside. pfrep_gap_step_alignment_resultfirstoutside+(L+S N0)=(pfrep_power_step_alignment_result)) /\ (((pfrep_left_step_alignment_result)=0))))) -> ((exists pfrep_position_step_alignment_resultsecond. ((pfrep_position_step_alignment_resultsecond+S (pfrep_power_step_alignment_result)=(L+S N1)) /\ ((((exists ff_h_pfp_step_alignment_resultsecondentry. ff_h_pfp_step_alignment_resultsecondentry + S (pfrep_right_step_alignment_result) = S ((S (pfrep_position_step_alignment_resultsecond)) * z1c)) /\ exists ff_q_pfp_step_alignment_resultsecondentry. z1b = ff_q_pfp_step_alignment_resultsecondentry * S ((S (pfrep_position_step_alignment_resultsecond)) * z1c) + (pfrep_right_step_alignment_result)))))) \/ (((exists pfrep_gap_step_alignment_resultsecondoutside. pfrep_gap_step_alignment_resultsecondoutside+(L+S N1)=(pfrep_power_step_alignment_result)) /\ (((pfrep_right_step_alignment_result)=0))))) -> pfrep_left_step_alignment_result=pfrep_right_step_alignment_result)Constructive proof overview
Generated structural guide
Formal equivalence of two old prefixes preserves every actual aligned sum of their trailing-zero shifts with a fixed actual scalar multiple of the same source. Both old lengths, all shift/scale encodings, both leading paddings and the sum encodings remain independent; only formal output coefficients are concluded equal.
The unchanged tactic script uses 8 declared prerequisites and contains 214 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
PG0020 prime_field_polynomial_shift_equivalent_congruent prime_field_polynomial_scale_functional Alpha theorem; checked-use authorized prime_field_polynomial_equal_implies_equivalent Alpha theorem; checked-use authorized prime_field_polynomial_left_pad_equivalent Alpha theorem; checked-use authorized add_comm Alpha theorem; checked-use authorized prime_field_polynomial_equivalent_transitive Alpha theorem; checked-use authorized prime_field_polynomial_equivalent_symmetric Alpha theorem; checked-use authorized prime_field_polynomial_add_equivalent_congruent 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 (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–30
04Fix variables and assumptionsL31–40
05Fix variables and assumptionsL41–43
06Establish hshiftedL44–53
Establish this local claim before using it. It is not an additional assumption.
- L44
have hshifted : PolynomialEquivalent(u0b,u0c,S N0,u1b,u1c,S N1)Definitions: PolynomialEquivalent - L45
specialize prime_field_polynomial_shift_equivalent_congruent (b0) - L46
specialize prime_field_polynomial_shift_equivalent_congruent (c0) - L47
specialize prime_field_polynomial_shift_equivalent_congruent (N0) - L48
specialize prime_field_polynomial_shift_equivalent_congruent (b1) - L49
specialize prime_field_polynomial_shift_equivalent_congruent (c1) - L50
specialize prime_field_polynomial_shift_equivalent_congruent (N1) - L51
specialize prime_field_polynomial_shift_equivalent_congruent (u0b) - L52
specialize prime_field_polynomial_shift_equivalent_congruent (u0c) - L53
specialize prime_field_polynomial_shift_equivalent_congruent (u1b)
07Use earlier factsL54–58
08Establish hscaledL59–68
Establish this local claim before using it. It is not an additional assumption.
- L59
have hscaled : BetaPrefixEqual(v0b,v0c,v1b,v1c,L)Definitions: BetaPrefixEqual - L60
specialize prime_field_polynomial_scale_functional (p) - L61
specialize prime_field_polynomial_scale_functional (c) - L62
specialize prime_field_polynomial_scale_functional (ab) - L63
specialize prime_field_polynomial_scale_functional (ac) - L64
specialize prime_field_polynomial_scale_functional (v0b) - L65
specialize prime_field_polynomial_scale_functional (v0c) - L66
specialize prime_field_polynomial_scale_functional (v1b) - L67
specialize prime_field_polynomial_scale_functional (v1c) - L68
specialize prime_field_polynomial_scale_functional (L)
09Use earlier factsL69–71
10Establish hscalar_equalL72–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equal implies equivalent.
- L72
have hscalar_equal : PolynomialEquivalent(v0b,v0c,L,v1b,v1c,L)Definitions: PolynomialEquivalent - L73
specialize prime_field_polynomial_equal_implies_equivalent (v0b) - L74
specialize prime_field_polynomial_equal_implies_equivalent (v0c) - L75
specialize prime_field_polynomial_equal_implies_equivalent (v1b) - L76
specialize prime_field_polynomial_equal_implies_equivalent (v1c) - L77
specialize prime_field_polynomial_equal_implies_equivalent (L) - L78
apply prime_field_polynomial_equal_implies_equivalent - L79
exact hscaled
11Establish hpad_left0L80–88
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L80
have hpad_left0 : PolynomialEquivalent(u0b,u0c,S N0,UP0b,UP0c,L + S N0)Definitions: PolynomialEquivalent - L81
specialize prime_field_polynomial_left_pad_equivalent (u0b) - L82
specialize prime_field_polynomial_left_pad_equivalent (u0c) - L83
specialize prime_field_polynomial_left_pad_equivalent (S N0) - L84
specialize prime_field_polynomial_left_pad_equivalent (L) - L85
specialize prime_field_polynomial_left_pad_equivalent (UP0b) - L86
specialize prime_field_polynomial_left_pad_equivalent (UP0c) - L87
apply prime_field_polynomial_left_pad_equivalent - L88
exact hUP0
12Establish hpad_left1L89–97
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L89
have hpad_left1 : PolynomialEquivalent(u1b,u1c,S N1,UP1b,UP1c,L + S N1)Definitions: PolynomialEquivalent - L90
specialize prime_field_polynomial_left_pad_equivalent (u1b) - L91
specialize prime_field_polynomial_left_pad_equivalent (u1c) - L92
specialize prime_field_polynomial_left_pad_equivalent (S N1) - L93
specialize prime_field_polynomial_left_pad_equivalent (L) - L94
specialize prime_field_polynomial_left_pad_equivalent (UP1b) - L95
specialize prime_field_polynomial_left_pad_equivalent (UP1c) - L96
apply prime_field_polynomial_left_pad_equivalent - L97
exact hUP1
13Establish hpad_right0L98–106
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L98
have hpad_right0 : PolynomialEquivalent(v0b,v0c,L,VP0b,VP0c,S N0 + L)Definitions: PolynomialEquivalent - L99
specialize prime_field_polynomial_left_pad_equivalent (v0b) - L100
specialize prime_field_polynomial_left_pad_equivalent (v0c) - L101
specialize prime_field_polynomial_left_pad_equivalent (L) - L102
specialize prime_field_polynomial_left_pad_equivalent (S N0) - L103
specialize prime_field_polynomial_left_pad_equivalent (VP0b) - L104
specialize prime_field_polynomial_left_pad_equivalent (VP0c) - L105
apply prime_field_polynomial_left_pad_equivalent - L106
exact hVP0
14Establish hcomm_right0L107–112
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
15Establish hpad_right1L113–121
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L113
have hpad_right1 : PolynomialEquivalent(v1b,v1c,L,VP1b,VP1c,S N1 + L)Definitions: PolynomialEquivalent - L114
specialize prime_field_polynomial_left_pad_equivalent (v1b) - L115
specialize prime_field_polynomial_left_pad_equivalent (v1c) - L116
specialize prime_field_polynomial_left_pad_equivalent (L) - L117
specialize prime_field_polynomial_left_pad_equivalent (S N1) - L118
specialize prime_field_polynomial_left_pad_equivalent (VP1b) - L119
specialize prime_field_polynomial_left_pad_equivalent (VP1c) - L120
apply prime_field_polynomial_left_pad_equivalent - L121
exact hVP1
16Establish hcomm_right1L122–127
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
17Establish hmiddle_leftL128–137
Establish this local claim before using it. It is not an additional assumption.
- L128
have hmiddle_left : PolynomialEquivalent(UP0b,UP0c,L + S N0,u1b,u1c,S N1)Definitions: PolynomialEquivalent - L129
specialize prime_field_polynomial_equivalent_transitive (UP0b) - L130
specialize prime_field_polynomial_equivalent_transitive (UP0c) - L131
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - L132
specialize prime_field_polynomial_equivalent_transitive (u0b) - L133
specialize prime_field_polynomial_equivalent_transitive (u0c) - L134
specialize prime_field_polynomial_equivalent_transitive (S N0) - L135
specialize prime_field_polynomial_equivalent_transitive (u1b) - L136
specialize prime_field_polynomial_equivalent_transitive (u1c) - L137
specialize prime_field_polynomial_equivalent_transitive (S N1)
18Use earlier factsL138–147
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L138
apply prime_field_polynomial_equivalent_transitive - L139
specialize prime_field_polynomial_equivalent_symmetric (u0b) - L140
specialize prime_field_polynomial_equivalent_symmetric (u0c) - L141
specialize prime_field_polynomial_equivalent_symmetric (S N0) - L142
specialize prime_field_polynomial_equivalent_symmetric (UP0b) - L143
specialize prime_field_polynomial_equivalent_symmetric (UP0c) - L144
specialize prime_field_polynomial_equivalent_symmetric (L+S N0) - L145
apply prime_field_polynomial_equivalent_symmetric - L146
exact hpad_left0 - L147
exact hshifted
19Establish hequal_leftL148–157
Establish this local claim before using it. It is not an additional assumption.
- L148
have hequal_left : PolynomialEquivalent(UP0b,UP0c,L + S N0,UP1b,UP1c,L + S N1)Definitions: PolynomialEquivalent - L149
specialize prime_field_polynomial_equivalent_transitive (UP0b) - L150
specialize prime_field_polynomial_equivalent_transitive (UP0c) - L151
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - L152
specialize prime_field_polynomial_equivalent_transitive (u1b) - L153
specialize prime_field_polynomial_equivalent_transitive (u1c) - L154
specialize prime_field_polynomial_equivalent_transitive (S N1) - L155
specialize prime_field_polynomial_equivalent_transitive (UP1b) - L156
specialize prime_field_polynomial_equivalent_transitive (UP1c) - L157
specialize prime_field_polynomial_equivalent_transitive (L+S N1)
20Use earlier factsL158–160
21Establish hmiddle_rightL161–170
Establish this local claim before using it. It is not an additional assumption.
- L161
have hmiddle_right : PolynomialEquivalent(VP0b,VP0c,L + S N0,v1b,v1c,L)Definitions: PolynomialEquivalent - L162
specialize prime_field_polynomial_equivalent_transitive (VP0b) - L163
specialize prime_field_polynomial_equivalent_transitive (VP0c) - L164
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - L165
specialize prime_field_polynomial_equivalent_transitive (v0b) - L166
specialize prime_field_polynomial_equivalent_transitive (v0c) - L167
specialize prime_field_polynomial_equivalent_transitive (L) - L168
specialize prime_field_polynomial_equivalent_transitive (v1b) - L169
specialize prime_field_polynomial_equivalent_transitive (v1c) - L170
specialize prime_field_polynomial_equivalent_transitive (L)
22Use earlier factsL171–180
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L171
apply prime_field_polynomial_equivalent_transitive - L172
specialize prime_field_polynomial_equivalent_symmetric (v0b) - L173
specialize prime_field_polynomial_equivalent_symmetric (v0c) - L174
specialize prime_field_polynomial_equivalent_symmetric (L) - L175
specialize prime_field_polynomial_equivalent_symmetric (VP0b) - L176
specialize prime_field_polynomial_equivalent_symmetric (VP0c) - L177
specialize prime_field_polynomial_equivalent_symmetric (L+S N0) - L178
apply prime_field_polynomial_equivalent_symmetric - L179
exact hpad_right0 - L180
exact hscalar_equal
23Establish hequal_rightL181–190
Establish this local claim before using it. It is not an additional assumption.
- L181
have hequal_right : PolynomialEquivalent(VP0b,VP0c,L + S N0,VP1b,VP1c,L + S N1)Definitions: PolynomialEquivalent - L182
specialize prime_field_polynomial_equivalent_transitive (VP0b) - L183
specialize prime_field_polynomial_equivalent_transitive (VP0c) - L184
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - L185
specialize prime_field_polynomial_equivalent_transitive (v1b) - L186
specialize prime_field_polynomial_equivalent_transitive (v1c) - L187
specialize prime_field_polynomial_equivalent_transitive (L) - L188
specialize prime_field_polynomial_equivalent_transitive (VP1b) - L189
specialize prime_field_polynomial_equivalent_transitive (VP1c) - L190
specialize prime_field_polynomial_equivalent_transitive (L+S N1)
24Use earlier factsL191–200
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L191
apply prime_field_polynomial_equivalent_transitive - L192
exact hmiddle_right - L193
exact hpad_right1 - L194
specialize prime_field_polynomial_add_equivalent_congruent (p) - L195
specialize prime_field_polynomial_add_equivalent_congruent (UP0b) - L196
specialize prime_field_polynomial_add_equivalent_congruent (UP0c) - L197
specialize prime_field_polynomial_add_equivalent_congruent (VP0b) - L198
specialize prime_field_polynomial_add_equivalent_congruent (VP0c) - L199
specialize prime_field_polynomial_add_equivalent_congruent (z0b) - L200
specialize prime_field_polynomial_add_equivalent_congruent (z0c)
25Use earlier factsL201–210
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L201
specialize prime_field_polynomial_add_equivalent_congruent (L+S N0) - L202
specialize prime_field_polynomial_add_equivalent_congruent (UP1b) - L203
specialize prime_field_polynomial_add_equivalent_congruent (UP1c) - L204
specialize prime_field_polynomial_add_equivalent_congruent (VP1b) - L205
specialize prime_field_polynomial_add_equivalent_congruent (VP1c) - L206
specialize prime_field_polynomial_add_equivalent_congruent (z1b) - L207
specialize prime_field_polynomial_add_equivalent_congruent (z1c) - L208
specialize prime_field_polynomial_add_equivalent_congruent (L+S N1) - L209
apply prime_field_polynomial_add_equivalent_congruent - L210
exact hp
Original exact command ledger · 214 lines
- 0001
intro p - 0002
intro c - 0003
intro ab - 0004
intro ac - 0005
intro L - 0006
intro b0 - 0007
intro c0 - 0008
intro N0 - 0009
intro b1 - 0010
intro c1 - 0011
intro N1 - 0012
intro u0b - 0013
intro u0c - 0014
intro v0b - 0015
intro v0c - 0016
intro UP0b - 0017
intro UP0c - 0018
intro VP0b - 0019
intro VP0c - 0020
intro z0b - 0021
intro z0c - 0022
intro u1b - 0023
intro u1c - 0024
intro v1b - 0025
intro v1c - 0026
intro UP1b - 0027
intro UP1c - 0028
intro VP1b - 0029
intro VP1c - 0030
intro z1b - 0031
intro z1c - 0032
intro hp - 0033
intro he - 0034
intro hU0 - 0035
intro hV0 - 0036
intro hUP0 - 0037
intro hVP0 - 0038
intro hZ0 - 0039
intro hU1 - 0040
intro hV1 - 0041
intro hUP1 - 0042
intro hVP1 - 0043
intro hZ1 - 0044
have hshifted : forall pfrep_power_step_alignment_shifted pfrep_left_step_alignment_shifted pfrep_right_step_alignment_shifted. ((exists pfrep_position_step_alignment_shiftedfirst. ((pfrep_position_step_alignment_shiftedfirst+S (pfrep_power_step_alignment_shifted)=(S N0)) /\ ((((exists ff_h_pfp_step_alignment_shiftedfirstentry. ff_h_pfp_step_alignment_shiftedfirstentry + S (pfrep_left_step_alignment_shifted) = S ((S (pfrep_position_step_alignment_shiftedfirst)) * u0c)) /\ exists ff_q_pfp_step_alignment_shiftedfirstentry. u0b = ff_q_pfp_step_alignment_shiftedfirstentry * S ((S (pfrep_position_step_alignment_shiftedfirst)) * u0c) + (pfrep_left_step_alignment_shifted)))))) \/ (((exists pfrep_gap_step_alignment_shiftedfirstoutside. pfrep_gap_step_alignment_shiftedfirstoutside+(S N0)=(pfrep_power_step_alignment_shifted)) /\ (((pfrep_left_step_alignment_shifted)=0))))) -> ((exists pfrep_position_step_alignment_shiftedsecond. ((pfrep_position_step_alignment_shiftedsecond+S (pfrep_power_step_alignment_shifted)=(S N1)) /\ ((((exists ff_h_pfp_step_alignment_shiftedsecondentry. ff_h_pfp_step_alignment_shiftedsecondentry + S (pfrep_right_step_alignment_shifted) = S ((S (pfrep_position_step_alignment_shiftedsecond)) * u1c)) /\ exists ff_q_pfp_step_alignment_shiftedsecondentry. u1b = ff_q_pfp_step_alignment_shiftedsecondentry * S ((S (pfrep_position_step_alignment_shiftedsecond)) * u1c) + (pfrep_right_step_alignment_shifted)))))) \/ (((exists pfrep_gap_step_alignment_shiftedsecondoutside. pfrep_gap_step_alignment_shiftedsecondoutside+(S N1)=(pfrep_power_step_alignment_shifted)) /\ (((pfrep_right_step_alignment_shifted)=0))))) -> pfrep_left_step_alignment_shifted=pfrep_right_step_alignment_shifted - 0045
specialize prime_field_polynomial_shift_equivalent_congruent (b0) - 0046
specialize prime_field_polynomial_shift_equivalent_congruent (c0) - 0047
specialize prime_field_polynomial_shift_equivalent_congruent (N0) - 0048
specialize prime_field_polynomial_shift_equivalent_congruent (b1) - 0049
specialize prime_field_polynomial_shift_equivalent_congruent (c1) - 0050
specialize prime_field_polynomial_shift_equivalent_congruent (N1) - 0051
specialize prime_field_polynomial_shift_equivalent_congruent (u0b) - 0052
specialize prime_field_polynomial_shift_equivalent_congruent (u0c) - 0053
specialize prime_field_polynomial_shift_equivalent_congruent (u1b) - 0054
specialize prime_field_polynomial_shift_equivalent_congruent (u1c) - 0055
apply prime_field_polynomial_shift_equivalent_congruent - 0056
exact he - 0057
exact hU0 - 0058
exact hU1 - 0059
have hscaled : forall mdr_i_pfp_step_alignment_scaled mdr_a_pfp_step_alignment_scaled. (exists mdr_gap_pfp_step_alignment_scaledb. mdr_gap_pfp_step_alignment_scaledb + S (mdr_i_pfp_step_alignment_scaled) = (L)) -> (((exists ff_h_mdr_pfp_step_alignment_scaledo. ff_h_mdr_pfp_step_alignment_scaledo + S (mdr_a_pfp_step_alignment_scaled) = S ((S (mdr_i_pfp_step_alignment_scaled)) * v0c)) /\ exists ff_q_mdr_pfp_step_alignment_scaledo. v0b = ff_q_mdr_pfp_step_alignment_scaledo * S ((S (mdr_i_pfp_step_alignment_scaled)) * v0c) + (mdr_a_pfp_step_alignment_scaled))) -> (((exists ff_h_mdr_pfp_step_alignment_scaledn. ff_h_mdr_pfp_step_alignment_scaledn + S (mdr_a_pfp_step_alignment_scaled) = S ((S (mdr_i_pfp_step_alignment_scaled)) * v1c)) /\ exists ff_q_mdr_pfp_step_alignment_scaledn. v1b = ff_q_mdr_pfp_step_alignment_scaledn * S ((S (mdr_i_pfp_step_alignment_scaled)) * v1c) + (mdr_a_pfp_step_alignment_scaled))) - 0060
specialize prime_field_polynomial_scale_functional (p) - 0061
specialize prime_field_polynomial_scale_functional (c) - 0062
specialize prime_field_polynomial_scale_functional (ab) - 0063
specialize prime_field_polynomial_scale_functional (ac) - 0064
specialize prime_field_polynomial_scale_functional (v0b) - 0065
specialize prime_field_polynomial_scale_functional (v0c) - 0066
specialize prime_field_polynomial_scale_functional (v1b) - 0067
specialize prime_field_polynomial_scale_functional (v1c) - 0068
specialize prime_field_polynomial_scale_functional (L) - 0069
apply prime_field_polynomial_scale_functional - 0070
exact hV0 - 0071
exact hV1 - 0072
have hscalar_equal : forall pfrep_power_step_alignment_scalar_equal pfrep_left_step_alignment_scalar_equal pfrep_right_step_alignment_scalar_equal. ((exists pfrep_position_step_alignment_scalar_equalfirst. ((pfrep_position_step_alignment_scalar_equalfirst+S (pfrep_power_step_alignment_scalar_equal)=(L)) /\ ((((exists ff_h_pfp_step_alignment_scalar_equalfirstentry. ff_h_pfp_step_alignment_scalar_equalfirstentry + S (pfrep_left_step_alignment_scalar_equal) = S ((S (pfrep_position_step_alignment_scalar_equalfirst)) * v0c)) /\ exists ff_q_pfp_step_alignment_scalar_equalfirstentry. v0b = ff_q_pfp_step_alignment_scalar_equalfirstentry * S ((S (pfrep_position_step_alignment_scalar_equalfirst)) * v0c) + (pfrep_left_step_alignment_scalar_equal)))))) \/ (((exists pfrep_gap_step_alignment_scalar_equalfirstoutside. pfrep_gap_step_alignment_scalar_equalfirstoutside+(L)=(pfrep_power_step_alignment_scalar_equal)) /\ (((pfrep_left_step_alignment_scalar_equal)=0))))) -> ((exists pfrep_position_step_alignment_scalar_equalsecond. ((pfrep_position_step_alignment_scalar_equalsecond+S (pfrep_power_step_alignment_scalar_equal)=(L)) /\ ((((exists ff_h_pfp_step_alignment_scalar_equalsecondentry. ff_h_pfp_step_alignment_scalar_equalsecondentry + S (pfrep_right_step_alignment_scalar_equal) = S ((S (pfrep_position_step_alignment_scalar_equalsecond)) * v1c)) /\ exists ff_q_pfp_step_alignment_scalar_equalsecondentry. v1b = ff_q_pfp_step_alignment_scalar_equalsecondentry * S ((S (pfrep_position_step_alignment_scalar_equalsecond)) * v1c) + (pfrep_right_step_alignment_scalar_equal)))))) \/ (((exists pfrep_gap_step_alignment_scalar_equalsecondoutside. pfrep_gap_step_alignment_scalar_equalsecondoutside+(L)=(pfrep_power_step_alignment_scalar_equal)) /\ (((pfrep_right_step_alignment_scalar_equal)=0))))) -> pfrep_left_step_alignment_scalar_equal=pfrep_right_step_alignment_scalar_equal - 0073
specialize prime_field_polynomial_equal_implies_equivalent (v0b) - 0074
specialize prime_field_polynomial_equal_implies_equivalent (v0c) - 0075
specialize prime_field_polynomial_equal_implies_equivalent (v1b) - 0076
specialize prime_field_polynomial_equal_implies_equivalent (v1c) - 0077
specialize prime_field_polynomial_equal_implies_equivalent (L) - 0078
apply prime_field_polynomial_equal_implies_equivalent - 0079
exact hscaled - 0080
have hpad_left0 : forall pfrep_power_step_alignment_pad_left0 pfrep_left_step_alignment_pad_left0 pfrep_right_step_alignment_pad_left0. ((exists pfrep_position_step_alignment_pad_left0first. ((pfrep_position_step_alignment_pad_left0first+S (pfrep_power_step_alignment_pad_left0)=(S N0)) /\ ((((exists ff_h_pfp_step_alignment_pad_left0firstentry. ff_h_pfp_step_alignment_pad_left0firstentry + S (pfrep_left_step_alignment_pad_left0) = S ((S (pfrep_position_step_alignment_pad_left0first)) * u0c)) /\ exists ff_q_pfp_step_alignment_pad_left0firstentry. u0b = ff_q_pfp_step_alignment_pad_left0firstentry * S ((S (pfrep_position_step_alignment_pad_left0first)) * u0c) + (pfrep_left_step_alignment_pad_left0)))))) \/ (((exists pfrep_gap_step_alignment_pad_left0firstoutside. pfrep_gap_step_alignment_pad_left0firstoutside+(S N0)=(pfrep_power_step_alignment_pad_left0)) /\ (((pfrep_left_step_alignment_pad_left0)=0))))) -> ((exists pfrep_position_step_alignment_pad_left0second. ((pfrep_position_step_alignment_pad_left0second+S (pfrep_power_step_alignment_pad_left0)=(L+S N0)) /\ ((((exists ff_h_pfp_step_alignment_pad_left0secondentry. ff_h_pfp_step_alignment_pad_left0secondentry + S (pfrep_right_step_alignment_pad_left0) = S ((S (pfrep_position_step_alignment_pad_left0second)) * UP0c)) /\ exists ff_q_pfp_step_alignment_pad_left0secondentry. UP0b = ff_q_pfp_step_alignment_pad_left0secondentry * S ((S (pfrep_position_step_alignment_pad_left0second)) * UP0c) + (pfrep_right_step_alignment_pad_left0)))))) \/ (((exists pfrep_gap_step_alignment_pad_left0secondoutside. pfrep_gap_step_alignment_pad_left0secondoutside+(L+S N0)=(pfrep_power_step_alignment_pad_left0)) /\ (((pfrep_right_step_alignment_pad_left0)=0))))) -> pfrep_left_step_alignment_pad_left0=pfrep_right_step_alignment_pad_left0 - 0081
specialize prime_field_polynomial_left_pad_equivalent (u0b) - 0082
specialize prime_field_polynomial_left_pad_equivalent (u0c) - 0083
specialize prime_field_polynomial_left_pad_equivalent (S N0) - 0084
specialize prime_field_polynomial_left_pad_equivalent (L) - 0085
specialize prime_field_polynomial_left_pad_equivalent (UP0b) - 0086
specialize prime_field_polynomial_left_pad_equivalent (UP0c) - 0087
apply prime_field_polynomial_left_pad_equivalent - 0088
exact hUP0 - 0089
have hpad_left1 : forall pfrep_power_step_alignment_pad_left1 pfrep_left_step_alignment_pad_left1 pfrep_right_step_alignment_pad_left1. ((exists pfrep_position_step_alignment_pad_left1first. ((pfrep_position_step_alignment_pad_left1first+S (pfrep_power_step_alignment_pad_left1)=(S N1)) /\ ((((exists ff_h_pfp_step_alignment_pad_left1firstentry. ff_h_pfp_step_alignment_pad_left1firstentry + S (pfrep_left_step_alignment_pad_left1) = S ((S (pfrep_position_step_alignment_pad_left1first)) * u1c)) /\ exists ff_q_pfp_step_alignment_pad_left1firstentry. u1b = ff_q_pfp_step_alignment_pad_left1firstentry * S ((S (pfrep_position_step_alignment_pad_left1first)) * u1c) + (pfrep_left_step_alignment_pad_left1)))))) \/ (((exists pfrep_gap_step_alignment_pad_left1firstoutside. pfrep_gap_step_alignment_pad_left1firstoutside+(S N1)=(pfrep_power_step_alignment_pad_left1)) /\ (((pfrep_left_step_alignment_pad_left1)=0))))) -> ((exists pfrep_position_step_alignment_pad_left1second. ((pfrep_position_step_alignment_pad_left1second+S (pfrep_power_step_alignment_pad_left1)=(L+S N1)) /\ ((((exists ff_h_pfp_step_alignment_pad_left1secondentry. ff_h_pfp_step_alignment_pad_left1secondentry + S (pfrep_right_step_alignment_pad_left1) = S ((S (pfrep_position_step_alignment_pad_left1second)) * UP1c)) /\ exists ff_q_pfp_step_alignment_pad_left1secondentry. UP1b = ff_q_pfp_step_alignment_pad_left1secondentry * S ((S (pfrep_position_step_alignment_pad_left1second)) * UP1c) + (pfrep_right_step_alignment_pad_left1)))))) \/ (((exists pfrep_gap_step_alignment_pad_left1secondoutside. pfrep_gap_step_alignment_pad_left1secondoutside+(L+S N1)=(pfrep_power_step_alignment_pad_left1)) /\ (((pfrep_right_step_alignment_pad_left1)=0))))) -> pfrep_left_step_alignment_pad_left1=pfrep_right_step_alignment_pad_left1 - 0090
specialize prime_field_polynomial_left_pad_equivalent (u1b) - 0091
specialize prime_field_polynomial_left_pad_equivalent (u1c) - 0092
specialize prime_field_polynomial_left_pad_equivalent (S N1) - 0093
specialize prime_field_polynomial_left_pad_equivalent (L) - 0094
specialize prime_field_polynomial_left_pad_equivalent (UP1b) - 0095
specialize prime_field_polynomial_left_pad_equivalent (UP1c) - 0096
apply prime_field_polynomial_left_pad_equivalent - 0097
exact hUP1 - 0098
have hpad_right0 : forall pfrep_power_step_alignment_pad_right0 pfrep_left_step_alignment_pad_right0 pfrep_right_step_alignment_pad_right0. ((exists pfrep_position_step_alignment_pad_right0first. ((pfrep_position_step_alignment_pad_right0first+S (pfrep_power_step_alignment_pad_right0)=(L)) /\ ((((exists ff_h_pfp_step_alignment_pad_right0firstentry. ff_h_pfp_step_alignment_pad_right0firstentry + S (pfrep_left_step_alignment_pad_right0) = S ((S (pfrep_position_step_alignment_pad_right0first)) * v0c)) /\ exists ff_q_pfp_step_alignment_pad_right0firstentry. v0b = ff_q_pfp_step_alignment_pad_right0firstentry * S ((S (pfrep_position_step_alignment_pad_right0first)) * v0c) + (pfrep_left_step_alignment_pad_right0)))))) \/ (((exists pfrep_gap_step_alignment_pad_right0firstoutside. pfrep_gap_step_alignment_pad_right0firstoutside+(L)=(pfrep_power_step_alignment_pad_right0)) /\ (((pfrep_left_step_alignment_pad_right0)=0))))) -> ((exists pfrep_position_step_alignment_pad_right0second. ((pfrep_position_step_alignment_pad_right0second+S (pfrep_power_step_alignment_pad_right0)=(S N0+L)) /\ ((((exists ff_h_pfp_step_alignment_pad_right0secondentry. ff_h_pfp_step_alignment_pad_right0secondentry + S (pfrep_right_step_alignment_pad_right0) = S ((S (pfrep_position_step_alignment_pad_right0second)) * VP0c)) /\ exists ff_q_pfp_step_alignment_pad_right0secondentry. VP0b = ff_q_pfp_step_alignment_pad_right0secondentry * S ((S (pfrep_position_step_alignment_pad_right0second)) * VP0c) + (pfrep_right_step_alignment_pad_right0)))))) \/ (((exists pfrep_gap_step_alignment_pad_right0secondoutside. pfrep_gap_step_alignment_pad_right0secondoutside+(S N0+L)=(pfrep_power_step_alignment_pad_right0)) /\ (((pfrep_right_step_alignment_pad_right0)=0))))) -> pfrep_left_step_alignment_pad_right0=pfrep_right_step_alignment_pad_right0 - 0099
specialize prime_field_polynomial_left_pad_equivalent (v0b) - 0100
specialize prime_field_polynomial_left_pad_equivalent (v0c) - 0101
specialize prime_field_polynomial_left_pad_equivalent (L) - 0102
specialize prime_field_polynomial_left_pad_equivalent (S N0) - 0103
specialize prime_field_polynomial_left_pad_equivalent (VP0b) - 0104
specialize prime_field_polynomial_left_pad_equivalent (VP0c) - 0105
apply prime_field_polynomial_left_pad_equivalent - 0106
exact hVP0 - 0107
have hcomm_right0 : S N0+L=L+S N0 - 0108
specialize add_comm (S N0) - 0109
specialize add_comm (L) - 0110
apply add_comm - 0111
rewrite hcomm_right0 at hpad_right0 - 0112
rewrite hcomm_right0 at hpad_right0 - 0113
have hpad_right1 : forall pfrep_power_step_alignment_pad_right1 pfrep_left_step_alignment_pad_right1 pfrep_right_step_alignment_pad_right1. ((exists pfrep_position_step_alignment_pad_right1first. ((pfrep_position_step_alignment_pad_right1first+S (pfrep_power_step_alignment_pad_right1)=(L)) /\ ((((exists ff_h_pfp_step_alignment_pad_right1firstentry. ff_h_pfp_step_alignment_pad_right1firstentry + S (pfrep_left_step_alignment_pad_right1) = S ((S (pfrep_position_step_alignment_pad_right1first)) * v1c)) /\ exists ff_q_pfp_step_alignment_pad_right1firstentry. v1b = ff_q_pfp_step_alignment_pad_right1firstentry * S ((S (pfrep_position_step_alignment_pad_right1first)) * v1c) + (pfrep_left_step_alignment_pad_right1)))))) \/ (((exists pfrep_gap_step_alignment_pad_right1firstoutside. pfrep_gap_step_alignment_pad_right1firstoutside+(L)=(pfrep_power_step_alignment_pad_right1)) /\ (((pfrep_left_step_alignment_pad_right1)=0))))) -> ((exists pfrep_position_step_alignment_pad_right1second. ((pfrep_position_step_alignment_pad_right1second+S (pfrep_power_step_alignment_pad_right1)=(S N1+L)) /\ ((((exists ff_h_pfp_step_alignment_pad_right1secondentry. ff_h_pfp_step_alignment_pad_right1secondentry + S (pfrep_right_step_alignment_pad_right1) = S ((S (pfrep_position_step_alignment_pad_right1second)) * VP1c)) /\ exists ff_q_pfp_step_alignment_pad_right1secondentry. VP1b = ff_q_pfp_step_alignment_pad_right1secondentry * S ((S (pfrep_position_step_alignment_pad_right1second)) * VP1c) + (pfrep_right_step_alignment_pad_right1)))))) \/ (((exists pfrep_gap_step_alignment_pad_right1secondoutside. pfrep_gap_step_alignment_pad_right1secondoutside+(S N1+L)=(pfrep_power_step_alignment_pad_right1)) /\ (((pfrep_right_step_alignment_pad_right1)=0))))) -> pfrep_left_step_alignment_pad_right1=pfrep_right_step_alignment_pad_right1 - 0114
specialize prime_field_polynomial_left_pad_equivalent (v1b) - 0115
specialize prime_field_polynomial_left_pad_equivalent (v1c) - 0116
specialize prime_field_polynomial_left_pad_equivalent (L) - 0117
specialize prime_field_polynomial_left_pad_equivalent (S N1) - 0118
specialize prime_field_polynomial_left_pad_equivalent (VP1b) - 0119
specialize prime_field_polynomial_left_pad_equivalent (VP1c) - 0120
apply prime_field_polynomial_left_pad_equivalent - 0121
exact hVP1 - 0122
have hcomm_right1 : S N1+L=L+S N1 - 0123
specialize add_comm (S N1) - 0124
specialize add_comm (L) - 0125
apply add_comm - 0126
rewrite hcomm_right1 at hpad_right1 - 0127
rewrite hcomm_right1 at hpad_right1 - 0128
have hmiddle_left : forall pfrep_power_step_alignment_middle_left pfrep_left_step_alignment_middle_left pfrep_right_step_alignment_middle_left. ((exists pfrep_position_step_alignment_middle_leftfirst. ((pfrep_position_step_alignment_middle_leftfirst+S (pfrep_power_step_alignment_middle_left)=(L+S N0)) /\ ((((exists ff_h_pfp_step_alignment_middle_leftfirstentry. ff_h_pfp_step_alignment_middle_leftfirstentry + S (pfrep_left_step_alignment_middle_left) = S ((S (pfrep_position_step_alignment_middle_leftfirst)) * UP0c)) /\ exists ff_q_pfp_step_alignment_middle_leftfirstentry. UP0b = ff_q_pfp_step_alignment_middle_leftfirstentry * S ((S (pfrep_position_step_alignment_middle_leftfirst)) * UP0c) + (pfrep_left_step_alignment_middle_left)))))) \/ (((exists pfrep_gap_step_alignment_middle_leftfirstoutside. pfrep_gap_step_alignment_middle_leftfirstoutside+(L+S N0)=(pfrep_power_step_alignment_middle_left)) /\ (((pfrep_left_step_alignment_middle_left)=0))))) -> ((exists pfrep_position_step_alignment_middle_leftsecond. ((pfrep_position_step_alignment_middle_leftsecond+S (pfrep_power_step_alignment_middle_left)=(S N1)) /\ ((((exists ff_h_pfp_step_alignment_middle_leftsecondentry. ff_h_pfp_step_alignment_middle_leftsecondentry + S (pfrep_right_step_alignment_middle_left) = S ((S (pfrep_position_step_alignment_middle_leftsecond)) * u1c)) /\ exists ff_q_pfp_step_alignment_middle_leftsecondentry. u1b = ff_q_pfp_step_alignment_middle_leftsecondentry * S ((S (pfrep_position_step_alignment_middle_leftsecond)) * u1c) + (pfrep_right_step_alignment_middle_left)))))) \/ (((exists pfrep_gap_step_alignment_middle_leftsecondoutside. pfrep_gap_step_alignment_middle_leftsecondoutside+(S N1)=(pfrep_power_step_alignment_middle_left)) /\ (((pfrep_right_step_alignment_middle_left)=0))))) -> pfrep_left_step_alignment_middle_left=pfrep_right_step_alignment_middle_left - 0129
specialize prime_field_polynomial_equivalent_transitive (UP0b) - 0130
specialize prime_field_polynomial_equivalent_transitive (UP0c) - 0131
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - 0132
specialize prime_field_polynomial_equivalent_transitive (u0b) - 0133
specialize prime_field_polynomial_equivalent_transitive (u0c) - 0134
specialize prime_field_polynomial_equivalent_transitive (S N0) - 0135
specialize prime_field_polynomial_equivalent_transitive (u1b) - 0136
specialize prime_field_polynomial_equivalent_transitive (u1c) - 0137
specialize prime_field_polynomial_equivalent_transitive (S N1) - 0138
apply prime_field_polynomial_equivalent_transitive - 0139
specialize prime_field_polynomial_equivalent_symmetric (u0b) - 0140
specialize prime_field_polynomial_equivalent_symmetric (u0c) - 0141
specialize prime_field_polynomial_equivalent_symmetric (S N0) - 0142
specialize prime_field_polynomial_equivalent_symmetric (UP0b) - 0143
specialize prime_field_polynomial_equivalent_symmetric (UP0c) - 0144
specialize prime_field_polynomial_equivalent_symmetric (L+S N0) - 0145
apply prime_field_polynomial_equivalent_symmetric - 0146
exact hpad_left0 - 0147
exact hshifted - 0148
have hequal_left : forall pfrep_power_step_alignment_result_left pfrep_left_step_alignment_result_left pfrep_right_step_alignment_result_left. ((exists pfrep_position_step_alignment_result_leftfirst. ((pfrep_position_step_alignment_result_leftfirst+S (pfrep_power_step_alignment_result_left)=(L+S N0)) /\ ((((exists ff_h_pfp_step_alignment_result_leftfirstentry. ff_h_pfp_step_alignment_result_leftfirstentry + S (pfrep_left_step_alignment_result_left) = S ((S (pfrep_position_step_alignment_result_leftfirst)) * UP0c)) /\ exists ff_q_pfp_step_alignment_result_leftfirstentry. UP0b = ff_q_pfp_step_alignment_result_leftfirstentry * S ((S (pfrep_position_step_alignment_result_leftfirst)) * UP0c) + (pfrep_left_step_alignment_result_left)))))) \/ (((exists pfrep_gap_step_alignment_result_leftfirstoutside. pfrep_gap_step_alignment_result_leftfirstoutside+(L+S N0)=(pfrep_power_step_alignment_result_left)) /\ (((pfrep_left_step_alignment_result_left)=0))))) -> ((exists pfrep_position_step_alignment_result_leftsecond. ((pfrep_position_step_alignment_result_leftsecond+S (pfrep_power_step_alignment_result_left)=(L+S N1)) /\ ((((exists ff_h_pfp_step_alignment_result_leftsecondentry. ff_h_pfp_step_alignment_result_leftsecondentry + S (pfrep_right_step_alignment_result_left) = S ((S (pfrep_position_step_alignment_result_leftsecond)) * UP1c)) /\ exists ff_q_pfp_step_alignment_result_leftsecondentry. UP1b = ff_q_pfp_step_alignment_result_leftsecondentry * S ((S (pfrep_position_step_alignment_result_leftsecond)) * UP1c) + (pfrep_right_step_alignment_result_left)))))) \/ (((exists pfrep_gap_step_alignment_result_leftsecondoutside. pfrep_gap_step_alignment_result_leftsecondoutside+(L+S N1)=(pfrep_power_step_alignment_result_left)) /\ (((pfrep_right_step_alignment_result_left)=0))))) -> pfrep_left_step_alignment_result_left=pfrep_right_step_alignment_result_left - 0149
specialize prime_field_polynomial_equivalent_transitive (UP0b) - 0150
specialize prime_field_polynomial_equivalent_transitive (UP0c) - 0151
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - 0152
specialize prime_field_polynomial_equivalent_transitive (u1b) - 0153
specialize prime_field_polynomial_equivalent_transitive (u1c) - 0154
specialize prime_field_polynomial_equivalent_transitive (S N1) - 0155
specialize prime_field_polynomial_equivalent_transitive (UP1b) - 0156
specialize prime_field_polynomial_equivalent_transitive (UP1c) - 0157
specialize prime_field_polynomial_equivalent_transitive (L+S N1) - 0158
apply prime_field_polynomial_equivalent_transitive - 0159
exact hmiddle_left - 0160
exact hpad_left1 - 0161
have hmiddle_right : forall pfrep_power_step_alignment_middle_right pfrep_left_step_alignment_middle_right pfrep_right_step_alignment_middle_right. ((exists pfrep_position_step_alignment_middle_rightfirst. ((pfrep_position_step_alignment_middle_rightfirst+S (pfrep_power_step_alignment_middle_right)=(L+S N0)) /\ ((((exists ff_h_pfp_step_alignment_middle_rightfirstentry. ff_h_pfp_step_alignment_middle_rightfirstentry + S (pfrep_left_step_alignment_middle_right) = S ((S (pfrep_position_step_alignment_middle_rightfirst)) * VP0c)) /\ exists ff_q_pfp_step_alignment_middle_rightfirstentry. VP0b = ff_q_pfp_step_alignment_middle_rightfirstentry * S ((S (pfrep_position_step_alignment_middle_rightfirst)) * VP0c) + (pfrep_left_step_alignment_middle_right)))))) \/ (((exists pfrep_gap_step_alignment_middle_rightfirstoutside. pfrep_gap_step_alignment_middle_rightfirstoutside+(L+S N0)=(pfrep_power_step_alignment_middle_right)) /\ (((pfrep_left_step_alignment_middle_right)=0))))) -> ((exists pfrep_position_step_alignment_middle_rightsecond. ((pfrep_position_step_alignment_middle_rightsecond+S (pfrep_power_step_alignment_middle_right)=(L)) /\ ((((exists ff_h_pfp_step_alignment_middle_rightsecondentry. ff_h_pfp_step_alignment_middle_rightsecondentry + S (pfrep_right_step_alignment_middle_right) = S ((S (pfrep_position_step_alignment_middle_rightsecond)) * v1c)) /\ exists ff_q_pfp_step_alignment_middle_rightsecondentry. v1b = ff_q_pfp_step_alignment_middle_rightsecondentry * S ((S (pfrep_position_step_alignment_middle_rightsecond)) * v1c) + (pfrep_right_step_alignment_middle_right)))))) \/ (((exists pfrep_gap_step_alignment_middle_rightsecondoutside. pfrep_gap_step_alignment_middle_rightsecondoutside+(L)=(pfrep_power_step_alignment_middle_right)) /\ (((pfrep_right_step_alignment_middle_right)=0))))) -> pfrep_left_step_alignment_middle_right=pfrep_right_step_alignment_middle_right - 0162
specialize prime_field_polynomial_equivalent_transitive (VP0b) - 0163
specialize prime_field_polynomial_equivalent_transitive (VP0c) - 0164
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - 0165
specialize prime_field_polynomial_equivalent_transitive (v0b) - 0166
specialize prime_field_polynomial_equivalent_transitive (v0c) - 0167
specialize prime_field_polynomial_equivalent_transitive (L) - 0168
specialize prime_field_polynomial_equivalent_transitive (v1b) - 0169
specialize prime_field_polynomial_equivalent_transitive (v1c) - 0170
specialize prime_field_polynomial_equivalent_transitive (L) - 0171
apply prime_field_polynomial_equivalent_transitive - 0172
specialize prime_field_polynomial_equivalent_symmetric (v0b) - 0173
specialize prime_field_polynomial_equivalent_symmetric (v0c) - 0174
specialize prime_field_polynomial_equivalent_symmetric (L) - 0175
specialize prime_field_polynomial_equivalent_symmetric (VP0b) - 0176
specialize prime_field_polynomial_equivalent_symmetric (VP0c) - 0177
specialize prime_field_polynomial_equivalent_symmetric (L+S N0) - 0178
apply prime_field_polynomial_equivalent_symmetric - 0179
exact hpad_right0 - 0180
exact hscalar_equal - 0181
have hequal_right : forall pfrep_power_step_alignment_result_right pfrep_left_step_alignment_result_right pfrep_right_step_alignment_result_right. ((exists pfrep_position_step_alignment_result_rightfirst. ((pfrep_position_step_alignment_result_rightfirst+S (pfrep_power_step_alignment_result_right)=(L+S N0)) /\ ((((exists ff_h_pfp_step_alignment_result_rightfirstentry. ff_h_pfp_step_alignment_result_rightfirstentry + S (pfrep_left_step_alignment_result_right) = S ((S (pfrep_position_step_alignment_result_rightfirst)) * VP0c)) /\ exists ff_q_pfp_step_alignment_result_rightfirstentry. VP0b = ff_q_pfp_step_alignment_result_rightfirstentry * S ((S (pfrep_position_step_alignment_result_rightfirst)) * VP0c) + (pfrep_left_step_alignment_result_right)))))) \/ (((exists pfrep_gap_step_alignment_result_rightfirstoutside. pfrep_gap_step_alignment_result_rightfirstoutside+(L+S N0)=(pfrep_power_step_alignment_result_right)) /\ (((pfrep_left_step_alignment_result_right)=0))))) -> ((exists pfrep_position_step_alignment_result_rightsecond. ((pfrep_position_step_alignment_result_rightsecond+S (pfrep_power_step_alignment_result_right)=(L+S N1)) /\ ((((exists ff_h_pfp_step_alignment_result_rightsecondentry. ff_h_pfp_step_alignment_result_rightsecondentry + S (pfrep_right_step_alignment_result_right) = S ((S (pfrep_position_step_alignment_result_rightsecond)) * VP1c)) /\ exists ff_q_pfp_step_alignment_result_rightsecondentry. VP1b = ff_q_pfp_step_alignment_result_rightsecondentry * S ((S (pfrep_position_step_alignment_result_rightsecond)) * VP1c) + (pfrep_right_step_alignment_result_right)))))) \/ (((exists pfrep_gap_step_alignment_result_rightsecondoutside. pfrep_gap_step_alignment_result_rightsecondoutside+(L+S N1)=(pfrep_power_step_alignment_result_right)) /\ (((pfrep_right_step_alignment_result_right)=0))))) -> pfrep_left_step_alignment_result_right=pfrep_right_step_alignment_result_right - 0182
specialize prime_field_polynomial_equivalent_transitive (VP0b) - 0183
specialize prime_field_polynomial_equivalent_transitive (VP0c) - 0184
specialize prime_field_polynomial_equivalent_transitive (L+S N0) - 0185
specialize prime_field_polynomial_equivalent_transitive (v1b) - 0186
specialize prime_field_polynomial_equivalent_transitive (v1c) - 0187
specialize prime_field_polynomial_equivalent_transitive (L) - 0188
specialize prime_field_polynomial_equivalent_transitive (VP1b) - 0189
specialize prime_field_polynomial_equivalent_transitive (VP1c) - 0190
specialize prime_field_polynomial_equivalent_transitive (L+S N1) - 0191
apply prime_field_polynomial_equivalent_transitive - 0192
exact hmiddle_right - 0193
exact hpad_right1 - 0194
specialize prime_field_polynomial_add_equivalent_congruent (p) - 0195
specialize prime_field_polynomial_add_equivalent_congruent (UP0b) - 0196
specialize prime_field_polynomial_add_equivalent_congruent (UP0c) - 0197
specialize prime_field_polynomial_add_equivalent_congruent (VP0b) - 0198
specialize prime_field_polynomial_add_equivalent_congruent (VP0c) - 0199
specialize prime_field_polynomial_add_equivalent_congruent (z0b) - 0200
specialize prime_field_polynomial_add_equivalent_congruent (z0c) - 0201
specialize prime_field_polynomial_add_equivalent_congruent (L+S N0) - 0202
specialize prime_field_polynomial_add_equivalent_congruent (UP1b) - 0203
specialize prime_field_polynomial_add_equivalent_congruent (UP1c) - 0204
specialize prime_field_polynomial_add_equivalent_congruent (VP1b) - 0205
specialize prime_field_polynomial_add_equivalent_congruent (VP1c) - 0206
specialize prime_field_polynomial_add_equivalent_congruent (z1b) - 0207
specialize prime_field_polynomial_add_equivalent_congruent (z1c) - 0208
specialize prime_field_polynomial_add_equivalent_congruent (L+S N1) - 0209
apply prime_field_polynomial_add_equivalent_congruent - 0210
exact hp - 0211
exact hequal_left - 0212
exact hequal_right - 0213
exact hZ0 - 0214
exact hZ1