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 k ab ac bb bc M qb qc QB QC N. (forall pfd_index_prefix_unique_first. (exists pfa_gap_prefix_unique_firstbound. pfa_gap_prefix_unique_firstbound + S (pfd_index_prefix_unique_first) = (N)) -> exists pfd_value_prefix_unique_first. ((((exists ff_h_pfp_prefix_unique_firstentry. ff_h_pfp_prefix_unique_firstentry + S (pfd_value_prefix_unique_first) = S ((S (pfd_index_prefix_unique_first)) * qc)) /\ exists ff_q_pfp_prefix_unique_firstentry. qb = ff_q_pfp_prefix_unique_firstentry * S ((S (pfd_index_prefix_unique_first)) * qc) + (pfd_value_prefix_unique_first))) /\ ((exists pfd_input_prefix_unique_firststep pfd_previous_prefix_unique_firststep pfd_difference_prefix_unique_firststep. ((((exists ff_h_pfp_prefix_unique_firststepinput. ff_h_pfp_prefix_unique_firststepinput + S (pfd_input_prefix_unique_firststep) = S ((S (pfd_index_prefix_unique_first)) * ac)) /\ exists ff_q_pfp_prefix_unique_firststepinput. ab = ff_q_pfp_prefix_unique_firststepinput * S ((S (pfd_index_prefix_unique_first)) * ac) + (pfd_input_prefix_unique_firststep))) /\ (((exists pfc_terms_code_prefix_unique_firststepprevious pfc_terms_scale_prefix_unique_firststepprevious pfc_natural_sum_prefix_unique_firststepprevious. ((forall pfc_index_prefix_unique_firststeppreviousdiagonal. (exists pfa_gap_prefix_unique_firststeppreviousdiagonalbound. pfa_gap_prefix_unique_firststeppreviousdiagonalbound + S (pfc_index_prefix_unique_firststeppreviousdiagonal) = (S (pfd_index_prefix_unique_first))) -> exists pfc_value_prefix_unique_firststeppreviousdiagonal. ((((exists ff_h_pfp_prefix_unique_firststeppreviousdiagonalentry. ff_h_pfp_prefix_unique_firststeppreviousdiagonalentry + S (pfc_value_prefix_unique_firststeppreviousdiagonal) = S ((S (pfc_index_prefix_unique_firststeppreviousdiagonal)) * pfc_terms_scale_prefix_unique_firststepprevious)) /\ exists ff_q_pfp_prefix_unique_firststeppreviousdiagonalentry. pfc_terms_code_prefix_unique_firststepprevious = ff_q_pfp_prefix_unique_firststeppreviousdiagonalentry * S ((S (pfc_index_prefix_unique_firststeppreviousdiagonal)) * pfc_terms_scale_prefix_unique_firststepprevious) + (pfc_value_prefix_unique_firststeppreviousdiagonal))) /\ ((exists pfc_complement_prefix_unique_firststeppreviousdiagonalterm pfc_left_prefix_unique_firststeppreviousdiagonalterm pfc_right_prefix_unique_firststeppreviousdiagonalterm. (((pfc_index_prefix_unique_firststeppreviousdiagonal)+pfc_complement_prefix_unique_firststeppreviousdiagonalterm=(pfd_index_prefix_unique_first)) /\ ((((((exists pfa_gap_prefix_unique_firststeppreviousdiagonaltermleftinside. pfa_gap_prefix_unique_firststeppreviousdiagonaltermleftinside + S (pfc_index_prefix_unique_firststeppreviousdiagonal) = (pfd_index_prefix_unique_first)) /\ ((((exists ff_h_pfp_prefix_unique_firststeppreviousdiagonaltermleftentry. ff_h_pfp_prefix_unique_firststeppreviousdiagonaltermleftentry + S (pfc_left_prefix_unique_firststeppreviousdiagonalterm) = S ((S (pfc_index_prefix_unique_firststeppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_prefix_unique_firststeppreviousdiagonaltermleftentry. qb = ff_q_pfp_prefix_unique_firststeppreviousdiagonaltermleftentry * S ((S (pfc_index_prefix_unique_firststeppreviousdiagonal)) * qc) + (pfc_left_prefix_unique_firststeppreviousdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_firststeppreviousdiagonaltermleftoutside. pfc_gap_prefix_unique_firststeppreviousdiagonaltermleftoutside+(pfd_index_prefix_unique_first)=(pfc_index_prefix_unique_firststeppreviousdiagonal)) /\ (((pfc_left_prefix_unique_firststeppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_unique_firststeppreviousdiagonaltermrightinside. pfa_gap_prefix_unique_firststeppreviousdiagonaltermrightinside + S (pfc_complement_prefix_unique_firststeppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_unique_firststeppreviousdiagonaltermrightentry. ff_h_pfp_prefix_unique_firststeppreviousdiagonaltermrightentry + S (pfc_right_prefix_unique_firststeppreviousdiagonalterm) = S ((S (pfc_complement_prefix_unique_firststeppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_unique_firststeppreviousdiagonaltermrightentry. bb = ff_q_pfp_prefix_unique_firststeppreviousdiagonaltermrightentry * S ((S (pfc_complement_prefix_unique_firststeppreviousdiagonalterm)) * bc) + (pfc_right_prefix_unique_firststeppreviousdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_firststeppreviousdiagonaltermrightoutside. pfc_gap_prefix_unique_firststeppreviousdiagonaltermrightoutside+(M)=(pfc_complement_prefix_unique_firststeppreviousdiagonalterm)) /\ (((pfc_right_prefix_unique_firststeppreviousdiagonalterm)=0))))) /\ (((pfc_value_prefix_unique_firststeppreviousdiagonal)=pfc_left_prefix_unique_firststeppreviousdiagonalterm*pfc_right_prefix_unique_firststeppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_unique_firststepprevioussum fs_v_pfc_prefix_unique_firststepprevioussum. ((((exists fs_h_pfc_prefix_unique_firststepprevioussum_body_start. fs_h_pfc_prefix_unique_firststepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_unique_firststepprevioussum)) /\ exists fs_q_pfc_prefix_unique_firststepprevioussum_body_start. fs_u_pfc_prefix_unique_firststepprevioussum = fs_q_pfc_prefix_unique_firststepprevioussum_body_start * S ((S (0)) * fs_v_pfc_prefix_unique_firststepprevioussum) + (0))) /\ ((((exists fs_h_pfc_prefix_unique_firststepprevioussum_body_terminal. fs_h_pfc_prefix_unique_firststepprevioussum_body_terminal + S (pfc_natural_sum_prefix_unique_firststepprevious) = S ((S (S (pfd_index_prefix_unique_first))) * fs_v_pfc_prefix_unique_firststepprevioussum)) /\ exists fs_q_pfc_prefix_unique_firststepprevioussum_body_terminal. fs_u_pfc_prefix_unique_firststepprevioussum = fs_q_pfc_prefix_unique_firststepprevioussum_body_terminal * S ((S (S (pfd_index_prefix_unique_first))) * fs_v_pfc_prefix_unique_firststepprevioussum) + (pfc_natural_sum_prefix_unique_firststepprevious))) /\ forall fs_i_pfc_prefix_unique_firststepprevioussum_body_steps. (exists fs_lt_pfc_prefix_unique_firststepprevioussum_body_steps_bound. fs_lt_pfc_prefix_unique_firststepprevioussum_body_steps_bound + S fs_i_pfc_prefix_unique_firststepprevioussum_body_steps = S (pfd_index_prefix_unique_first)) -> exists fs_a_pfc_prefix_unique_firststepprevioussum_body_steps fs_r_pfc_prefix_unique_firststepprevioussum_body_steps fs_s_pfc_prefix_unique_firststepprevioussum_body_steps. ((((exists fs_h_pfc_prefix_unique_firststepprevioussum_body_steps_summand. fs_h_pfc_prefix_unique_firststepprevioussum_body_steps_summand + S (fs_a_pfc_prefix_unique_firststepprevioussum_body_steps) = S ((S (fs_i_pfc_prefix_unique_firststepprevioussum_body_steps)) * pfc_terms_scale_prefix_unique_firststepprevious)) /\ exists fs_q_pfc_prefix_unique_firststepprevioussum_body_steps_summand. pfc_terms_code_prefix_unique_firststepprevious = fs_q_pfc_prefix_unique_firststepprevioussum_body_steps_summand * S ((S (fs_i_pfc_prefix_unique_firststepprevioussum_body_steps)) * pfc_terms_scale_prefix_unique_firststepprevious) + (fs_a_pfc_prefix_unique_firststepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_firststepprevioussum_body_steps_partial. fs_h_pfc_prefix_unique_firststepprevioussum_body_steps_partial + S (fs_r_pfc_prefix_unique_firststepprevioussum_body_steps) = S ((S (fs_i_pfc_prefix_unique_firststepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_firststepprevioussum)) /\ exists fs_q_pfc_prefix_unique_firststepprevioussum_body_steps_partial. fs_u_pfc_prefix_unique_firststepprevioussum = fs_q_pfc_prefix_unique_firststepprevioussum_body_steps_partial * S ((S (fs_i_pfc_prefix_unique_firststepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_firststepprevioussum) + (fs_r_pfc_prefix_unique_firststepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_firststepprevioussum_body_steps_successor. fs_h_pfc_prefix_unique_firststepprevioussum_body_steps_successor + S (fs_s_pfc_prefix_unique_firststepprevioussum_body_steps) = S ((S (S fs_i_pfc_prefix_unique_firststepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_firststepprevioussum)) /\ exists fs_q_pfc_prefix_unique_firststepprevioussum_body_steps_successor. fs_u_pfc_prefix_unique_firststepprevioussum = fs_q_pfc_prefix_unique_firststepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_prefix_unique_firststepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_firststepprevioussum) + (fs_s_pfc_prefix_unique_firststepprevioussum_body_steps))) /\ fs_s_pfc_prefix_unique_firststepprevioussum_body_steps = fs_r_pfc_prefix_unique_firststepprevioussum_body_steps + fs_a_pfc_prefix_unique_firststepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_prefix_unique_firststeppreviousresiduebound. pfa_gap_prefix_unique_firststeppreviousresiduebound + S (pfd_previous_prefix_unique_firststep) = (p)) /\ ((exists pfa_offset_left_prefix_unique_firststeppreviousresiduecongruence pfa_offset_right_prefix_unique_firststeppreviousresiduecongruence. (pfc_natural_sum_prefix_unique_firststepprevious) + (p) * pfa_offset_left_prefix_unique_firststeppreviousresiduecongruence = (pfd_previous_prefix_unique_firststep) + (p) * pfa_offset_right_prefix_unique_firststeppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_prefix_unique_firststepsubtractleft. pfa_gap_prefix_unique_firststepsubtractleft + S (pfd_previous_prefix_unique_firststep) = (p)) /\ (((exists pfa_gap_prefix_unique_firststepsubtractright. pfa_gap_prefix_unique_firststepsubtractright + S (pfd_difference_prefix_unique_firststep) = (p)) /\ ((((exists pfa_gap_prefix_unique_firststepsubtractresultbound. pfa_gap_prefix_unique_firststepsubtractresultbound + S (pfd_input_prefix_unique_firststep) = (p)) /\ ((exists pfa_offset_left_prefix_unique_firststepsubtractresultcongruence pfa_offset_right_prefix_unique_firststepsubtractresultcongruence. ((pfd_previous_prefix_unique_firststep) + (pfd_difference_prefix_unique_firststep)) + (p) * pfa_offset_left_prefix_unique_firststepsubtractresultcongruence = (pfd_input_prefix_unique_firststep) + (p) * pfa_offset_right_prefix_unique_firststepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_prefix_unique_firststepmultiplyleft. pfa_gap_prefix_unique_firststepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_prefix_unique_firststepmultiplyright. pfa_gap_prefix_unique_firststepmultiplyright + S (pfd_difference_prefix_unique_firststep) = (p)) /\ ((((exists pfa_gap_prefix_unique_firststepmultiplyresultbound. pfa_gap_prefix_unique_firststepmultiplyresultbound + S (pfd_value_prefix_unique_first) = (p)) /\ ((exists pfa_offset_left_prefix_unique_firststepmultiplyresultcongruence pfa_offset_right_prefix_unique_firststepmultiplyresultcongruence. ((k) * (pfd_difference_prefix_unique_firststep)) + (p) * pfa_offset_left_prefix_unique_firststepmultiplyresultcongruence = (pfd_value_prefix_unique_first) + (p) * pfa_offset_right_prefix_unique_firststepmultiplyresultcongruence))))))))))))))))))) -> (forall pfd_index_prefix_unique_second. (exists pfa_gap_prefix_unique_secondbound. pfa_gap_prefix_unique_secondbound + S (pfd_index_prefix_unique_second) = (N)) -> exists pfd_value_prefix_unique_second. ((((exists ff_h_pfp_prefix_unique_secondentry. ff_h_pfp_prefix_unique_secondentry + S (pfd_value_prefix_unique_second) = S ((S (pfd_index_prefix_unique_second)) * QC)) /\ exists ff_q_pfp_prefix_unique_secondentry. QB = ff_q_pfp_prefix_unique_secondentry * S ((S (pfd_index_prefix_unique_second)) * QC) + (pfd_value_prefix_unique_second))) /\ ((exists pfd_input_prefix_unique_secondstep pfd_previous_prefix_unique_secondstep pfd_difference_prefix_unique_secondstep. ((((exists ff_h_pfp_prefix_unique_secondstepinput. ff_h_pfp_prefix_unique_secondstepinput + S (pfd_input_prefix_unique_secondstep) = S ((S (pfd_index_prefix_unique_second)) * ac)) /\ exists ff_q_pfp_prefix_unique_secondstepinput. ab = ff_q_pfp_prefix_unique_secondstepinput * S ((S (pfd_index_prefix_unique_second)) * ac) + (pfd_input_prefix_unique_secondstep))) /\ (((exists pfc_terms_code_prefix_unique_secondstepprevious pfc_terms_scale_prefix_unique_secondstepprevious pfc_natural_sum_prefix_unique_secondstepprevious. ((forall pfc_index_prefix_unique_secondsteppreviousdiagonal. (exists pfa_gap_prefix_unique_secondsteppreviousdiagonalbound. pfa_gap_prefix_unique_secondsteppreviousdiagonalbound + S (pfc_index_prefix_unique_secondsteppreviousdiagonal) = (S (pfd_index_prefix_unique_second))) -> exists pfc_value_prefix_unique_secondsteppreviousdiagonal. ((((exists ff_h_pfp_prefix_unique_secondsteppreviousdiagonalentry. ff_h_pfp_prefix_unique_secondsteppreviousdiagonalentry + S (pfc_value_prefix_unique_secondsteppreviousdiagonal) = S ((S (pfc_index_prefix_unique_secondsteppreviousdiagonal)) * pfc_terms_scale_prefix_unique_secondstepprevious)) /\ exists ff_q_pfp_prefix_unique_secondsteppreviousdiagonalentry. pfc_terms_code_prefix_unique_secondstepprevious = ff_q_pfp_prefix_unique_secondsteppreviousdiagonalentry * S ((S (pfc_index_prefix_unique_secondsteppreviousdiagonal)) * pfc_terms_scale_prefix_unique_secondstepprevious) + (pfc_value_prefix_unique_secondsteppreviousdiagonal))) /\ ((exists pfc_complement_prefix_unique_secondsteppreviousdiagonalterm pfc_left_prefix_unique_secondsteppreviousdiagonalterm pfc_right_prefix_unique_secondsteppreviousdiagonalterm. (((pfc_index_prefix_unique_secondsteppreviousdiagonal)+pfc_complement_prefix_unique_secondsteppreviousdiagonalterm=(pfd_index_prefix_unique_second)) /\ ((((((exists pfa_gap_prefix_unique_secondsteppreviousdiagonaltermleftinside. pfa_gap_prefix_unique_secondsteppreviousdiagonaltermleftinside + S (pfc_index_prefix_unique_secondsteppreviousdiagonal) = (pfd_index_prefix_unique_second)) /\ ((((exists ff_h_pfp_prefix_unique_secondsteppreviousdiagonaltermleftentry. ff_h_pfp_prefix_unique_secondsteppreviousdiagonaltermleftentry + S (pfc_left_prefix_unique_secondsteppreviousdiagonalterm) = S ((S (pfc_index_prefix_unique_secondsteppreviousdiagonal)) * QC)) /\ exists ff_q_pfp_prefix_unique_secondsteppreviousdiagonaltermleftentry. QB = ff_q_pfp_prefix_unique_secondsteppreviousdiagonaltermleftentry * S ((S (pfc_index_prefix_unique_secondsteppreviousdiagonal)) * QC) + (pfc_left_prefix_unique_secondsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_secondsteppreviousdiagonaltermleftoutside. pfc_gap_prefix_unique_secondsteppreviousdiagonaltermleftoutside+(pfd_index_prefix_unique_second)=(pfc_index_prefix_unique_secondsteppreviousdiagonal)) /\ (((pfc_left_prefix_unique_secondsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_unique_secondsteppreviousdiagonaltermrightinside. pfa_gap_prefix_unique_secondsteppreviousdiagonaltermrightinside + S (pfc_complement_prefix_unique_secondsteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_unique_secondsteppreviousdiagonaltermrightentry. ff_h_pfp_prefix_unique_secondsteppreviousdiagonaltermrightentry + S (pfc_right_prefix_unique_secondsteppreviousdiagonalterm) = S ((S (pfc_complement_prefix_unique_secondsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_unique_secondsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_prefix_unique_secondsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_prefix_unique_secondsteppreviousdiagonalterm)) * bc) + (pfc_right_prefix_unique_secondsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_secondsteppreviousdiagonaltermrightoutside. pfc_gap_prefix_unique_secondsteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_prefix_unique_secondsteppreviousdiagonalterm)) /\ (((pfc_right_prefix_unique_secondsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_prefix_unique_secondsteppreviousdiagonal)=pfc_left_prefix_unique_secondsteppreviousdiagonalterm*pfc_right_prefix_unique_secondsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_unique_secondstepprevioussum fs_v_pfc_prefix_unique_secondstepprevioussum. ((((exists fs_h_pfc_prefix_unique_secondstepprevioussum_body_start. fs_h_pfc_prefix_unique_secondstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_unique_secondstepprevioussum)) /\ exists fs_q_pfc_prefix_unique_secondstepprevioussum_body_start. fs_u_pfc_prefix_unique_secondstepprevioussum = fs_q_pfc_prefix_unique_secondstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_prefix_unique_secondstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_prefix_unique_secondstepprevioussum_body_terminal. fs_h_pfc_prefix_unique_secondstepprevioussum_body_terminal + S (pfc_natural_sum_prefix_unique_secondstepprevious) = S ((S (S (pfd_index_prefix_unique_second))) * fs_v_pfc_prefix_unique_secondstepprevioussum)) /\ exists fs_q_pfc_prefix_unique_secondstepprevioussum_body_terminal. fs_u_pfc_prefix_unique_secondstepprevioussum = fs_q_pfc_prefix_unique_secondstepprevioussum_body_terminal * S ((S (S (pfd_index_prefix_unique_second))) * fs_v_pfc_prefix_unique_secondstepprevioussum) + (pfc_natural_sum_prefix_unique_secondstepprevious))) /\ forall fs_i_pfc_prefix_unique_secondstepprevioussum_body_steps. (exists fs_lt_pfc_prefix_unique_secondstepprevioussum_body_steps_bound. fs_lt_pfc_prefix_unique_secondstepprevioussum_body_steps_bound + S fs_i_pfc_prefix_unique_secondstepprevioussum_body_steps = S (pfd_index_prefix_unique_second)) -> exists fs_a_pfc_prefix_unique_secondstepprevioussum_body_steps fs_r_pfc_prefix_unique_secondstepprevioussum_body_steps fs_s_pfc_prefix_unique_secondstepprevioussum_body_steps. ((((exists fs_h_pfc_prefix_unique_secondstepprevioussum_body_steps_summand. fs_h_pfc_prefix_unique_secondstepprevioussum_body_steps_summand + S (fs_a_pfc_prefix_unique_secondstepprevioussum_body_steps) = S ((S (fs_i_pfc_prefix_unique_secondstepprevioussum_body_steps)) * pfc_terms_scale_prefix_unique_secondstepprevious)) /\ exists fs_q_pfc_prefix_unique_secondstepprevioussum_body_steps_summand. pfc_terms_code_prefix_unique_secondstepprevious = fs_q_pfc_prefix_unique_secondstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_prefix_unique_secondstepprevioussum_body_steps)) * pfc_terms_scale_prefix_unique_secondstepprevious) + (fs_a_pfc_prefix_unique_secondstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_secondstepprevioussum_body_steps_partial. fs_h_pfc_prefix_unique_secondstepprevioussum_body_steps_partial + S (fs_r_pfc_prefix_unique_secondstepprevioussum_body_steps) = S ((S (fs_i_pfc_prefix_unique_secondstepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_secondstepprevioussum)) /\ exists fs_q_pfc_prefix_unique_secondstepprevioussum_body_steps_partial. fs_u_pfc_prefix_unique_secondstepprevioussum = fs_q_pfc_prefix_unique_secondstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_prefix_unique_secondstepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_secondstepprevioussum) + (fs_r_pfc_prefix_unique_secondstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_secondstepprevioussum_body_steps_successor. fs_h_pfc_prefix_unique_secondstepprevioussum_body_steps_successor + S (fs_s_pfc_prefix_unique_secondstepprevioussum_body_steps) = S ((S (S fs_i_pfc_prefix_unique_secondstepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_secondstepprevioussum)) /\ exists fs_q_pfc_prefix_unique_secondstepprevioussum_body_steps_successor. fs_u_pfc_prefix_unique_secondstepprevioussum = fs_q_pfc_prefix_unique_secondstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_prefix_unique_secondstepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_secondstepprevioussum) + (fs_s_pfc_prefix_unique_secondstepprevioussum_body_steps))) /\ fs_s_pfc_prefix_unique_secondstepprevioussum_body_steps = fs_r_pfc_prefix_unique_secondstepprevioussum_body_steps + fs_a_pfc_prefix_unique_secondstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_prefix_unique_secondsteppreviousresiduebound. pfa_gap_prefix_unique_secondsteppreviousresiduebound + S (pfd_previous_prefix_unique_secondstep) = (p)) /\ ((exists pfa_offset_left_prefix_unique_secondsteppreviousresiduecongruence pfa_offset_right_prefix_unique_secondsteppreviousresiduecongruence. (pfc_natural_sum_prefix_unique_secondstepprevious) + (p) * pfa_offset_left_prefix_unique_secondsteppreviousresiduecongruence = (pfd_previous_prefix_unique_secondstep) + (p) * pfa_offset_right_prefix_unique_secondsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_prefix_unique_secondstepsubtractleft. pfa_gap_prefix_unique_secondstepsubtractleft + S (pfd_previous_prefix_unique_secondstep) = (p)) /\ (((exists pfa_gap_prefix_unique_secondstepsubtractright. pfa_gap_prefix_unique_secondstepsubtractright + S (pfd_difference_prefix_unique_secondstep) = (p)) /\ ((((exists pfa_gap_prefix_unique_secondstepsubtractresultbound. pfa_gap_prefix_unique_secondstepsubtractresultbound + S (pfd_input_prefix_unique_secondstep) = (p)) /\ ((exists pfa_offset_left_prefix_unique_secondstepsubtractresultcongruence pfa_offset_right_prefix_unique_secondstepsubtractresultcongruence. ((pfd_previous_prefix_unique_secondstep) + (pfd_difference_prefix_unique_secondstep)) + (p) * pfa_offset_left_prefix_unique_secondstepsubtractresultcongruence = (pfd_input_prefix_unique_secondstep) + (p) * pfa_offset_right_prefix_unique_secondstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_prefix_unique_secondstepmultiplyleft. pfa_gap_prefix_unique_secondstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_prefix_unique_secondstepmultiplyright. pfa_gap_prefix_unique_secondstepmultiplyright + S (pfd_difference_prefix_unique_secondstep) = (p)) /\ ((((exists pfa_gap_prefix_unique_secondstepmultiplyresultbound. pfa_gap_prefix_unique_secondstepmultiplyresultbound + S (pfd_value_prefix_unique_second) = (p)) /\ ((exists pfa_offset_left_prefix_unique_secondstepmultiplyresultcongruence pfa_offset_right_prefix_unique_secondstepmultiplyresultcongruence. ((k) * (pfd_difference_prefix_unique_secondstep)) + (p) * pfa_offset_left_prefix_unique_secondstepmultiplyresultcongruence = (pfd_value_prefix_unique_second) + (p) * pfa_offset_right_prefix_unique_secondstepmultiplyresultcongruence))))))))))))))))))) -> (forall mdr_i_pfp_prefix_unique_result mdr_a_pfp_prefix_unique_result. (exists mdr_gap_pfp_prefix_unique_resultb. mdr_gap_pfp_prefix_unique_resultb + S (mdr_i_pfp_prefix_unique_result) = (N)) -> (((exists ff_h_mdr_pfp_prefix_unique_resulto. ff_h_mdr_pfp_prefix_unique_resulto + S (mdr_a_pfp_prefix_unique_result) = S ((S (mdr_i_pfp_prefix_unique_result)) * qc)) /\ exists ff_q_mdr_pfp_prefix_unique_resulto. qb = ff_q_mdr_pfp_prefix_unique_resulto * S ((S (mdr_i_pfp_prefix_unique_result)) * qc) + (mdr_a_pfp_prefix_unique_result))) -> (((exists ff_h_mdr_pfp_prefix_unique_resultn. ff_h_mdr_pfp_prefix_unique_resultn + S (mdr_a_pfp_prefix_unique_result) = S ((S (mdr_i_pfp_prefix_unique_result)) * QC)) /\ exists ff_q_mdr_pfp_prefix_unique_resultn. QB = ff_q_mdr_pfp_prefix_unique_resultn * S ((S (mdr_i_pfp_prefix_unique_result)) * QC) + (mdr_a_pfp_prefix_unique_result))))Constructive proof overview
Generated structural guide
Finite induction proves coefficientwise uniqueness of the actual quotient recursion, with no claim about beta code identity or unused entries.
The unchanged tactic script uses 8 declared prerequisites and contains 130 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
lt_not_le Alpha theorem; checked-use authorized zero_le Alpha theorem; checked-use authorized PX002A prime_field_polynomial_quotient_prefix_restrict le_succ Alpha theorem; checked-use authorized le_refl Alpha theorem; checked-use authorized finite_lt_succ_eq_or_lt Alpha theorem; checked-use authorized PX0053 prime_field_polynomial_quotient_step_prefix_functional PX002B prime_field_polynomial_quotient_prefix_entryDirect 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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Induction on NL13–19
04Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
exfalso
05Use earlier factsL21–26
06Fix variables and assumptionsL27–28
07Establish hequalL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L29
have hequal : BetaPrefixEqual(qb,qc,QB,QC,N)Definitions: BetaPrefixEqual - L30
apply IH - L31
specialize prime_field_polynomial_quotient_prefix_restrict (p) - L32
specialize prime_field_polynomial_quotient_prefix_restrict (k) - L33
specialize prime_field_polynomial_quotient_prefix_restrict (ab) - L34
specialize prime_field_polynomial_quotient_prefix_restrict (ac) - L35
specialize prime_field_polynomial_quotient_prefix_restrict (bb) - L36
specialize prime_field_polynomial_quotient_prefix_restrict (bc) - L37
specialize prime_field_polynomial_quotient_prefix_restrict (M) - L38
specialize prime_field_polynomial_quotient_prefix_restrict (qb)
08Use earlier factsL39–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
specialize prime_field_polynomial_quotient_prefix_restrict (qc) - L40
specialize prime_field_polynomial_quotient_prefix_restrict (S N) - L41
specialize prime_field_polynomial_quotient_prefix_restrict (N) - L42
apply prime_field_polynomial_quotient_prefix_restrict - L43
specialize le_succ (N) - L44
specialize le_succ (N) - L45
apply le_succ - L46
specialize le_refl (N) - L47
apply le_refl - L48
exact hfirst
09Use earlier factsL49–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
specialize prime_field_polynomial_quotient_prefix_restrict (p) - L50
specialize prime_field_polynomial_quotient_prefix_restrict (k) - L51
specialize prime_field_polynomial_quotient_prefix_restrict (ab) - L52
specialize prime_field_polynomial_quotient_prefix_restrict (ac) - L53
specialize prime_field_polynomial_quotient_prefix_restrict (bb) - L54
specialize prime_field_polynomial_quotient_prefix_restrict (bc) - L55
specialize prime_field_polynomial_quotient_prefix_restrict (M) - L56
specialize prime_field_polynomial_quotient_prefix_restrict (QB) - L57
specialize prime_field_polynomial_quotient_prefix_restrict (QC) - L58
specialize prime_field_polynomial_quotient_prefix_restrict (S N)
10Use earlier factsL59–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
11Fix variables and assumptionsL67–70
12Establish hcaseL71–75
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
13Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
cases hcase
14Calculate and transport equalitiesL77–80
15Establish hchosenL81–85
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hsecond.
16Separate the logical casesL86–87
17Establish hlastL88–97
Establish this local claim before using it. It is not an additional assumption.
- L88
have hlast : a=x - L89
specialize prime_field_polynomial_quotient_step_prefix_functional (p) - L90
specialize prime_field_polynomial_quotient_step_prefix_functional (k) - L91
specialize prime_field_polynomial_quotient_step_prefix_functional (ab) - L92
specialize prime_field_polynomial_quotient_step_prefix_functional (ac) - L93
specialize prime_field_polynomial_quotient_step_prefix_functional (bb) - L94
specialize prime_field_polynomial_quotient_step_prefix_functional (bc) - L95
specialize prime_field_polynomial_quotient_step_prefix_functional (M) - L96
specialize prime_field_polynomial_quotient_step_prefix_functional (qb) - L97
specialize prime_field_polynomial_quotient_step_prefix_functional (qc)
18Use earlier factsL98–107
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L98
specialize prime_field_polynomial_quotient_step_prefix_functional (QB) - L99
specialize prime_field_polynomial_quotient_step_prefix_functional (QC) - L100
specialize prime_field_polynomial_quotient_step_prefix_functional (N) - L101
specialize prime_field_polynomial_quotient_step_prefix_functional (a) - L102
specialize prime_field_polynomial_quotient_step_prefix_functional (x) - L103
apply prime_field_polynomial_quotient_step_prefix_functional - L104
exact hequal - L105
specialize prime_field_polynomial_quotient_prefix_entry (p) - L106
specialize prime_field_polynomial_quotient_prefix_entry (k) - L107
specialize prime_field_polynomial_quotient_prefix_entry (ab)
19Use earlier factsL108–117
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L108
specialize prime_field_polynomial_quotient_prefix_entry (ac) - L109
specialize prime_field_polynomial_quotient_prefix_entry (bb) - L110
specialize prime_field_polynomial_quotient_prefix_entry (bc) - L111
specialize prime_field_polynomial_quotient_prefix_entry (M) - L112
specialize prime_field_polynomial_quotient_prefix_entry (qb) - L113
specialize prime_field_polynomial_quotient_prefix_entry (qc) - L114
specialize prime_field_polynomial_quotient_prefix_entry (S N) - L115
specialize prime_field_polynomial_quotient_prefix_entry (N) - L116
specialize prime_field_polynomial_quotient_prefix_entry (a) - L117
apply prime_field_polynomial_quotient_prefix_entry
20Use earlier factsL118–122
21Calculate and transport equalitiesL123–124
Original exact command ledger · 130 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro qb - 0009
intro qc - 0010
intro QB - 0011
intro QC - 0012
intro N - 0013
induction N - 0014
intro hfirst - 0015
intro hsecond - 0016
intro i - 0017
intro a - 0018
intro hindex - 0019
intro hvalue - 0020
exfalso - 0021
specialize lt_not_le (i) - 0022
specialize lt_not_le (0) - 0023
apply lt_not_le - 0024
exact hindex - 0025
specialize zero_le (i) - 0026
apply zero_le - 0027
intro hfirst - 0028
intro hsecond - 0029
have hequal : forall mdr_i_pfp_prefix_unique_induction mdr_a_pfp_prefix_unique_induction. (exists mdr_gap_pfp_prefix_unique_inductionb. mdr_gap_pfp_prefix_unique_inductionb + S (mdr_i_pfp_prefix_unique_induction) = (N)) -> (((exists ff_h_mdr_pfp_prefix_unique_inductiono. ff_h_mdr_pfp_prefix_unique_inductiono + S (mdr_a_pfp_prefix_unique_induction) = S ((S (mdr_i_pfp_prefix_unique_induction)) * qc)) /\ exists ff_q_mdr_pfp_prefix_unique_inductiono. qb = ff_q_mdr_pfp_prefix_unique_inductiono * S ((S (mdr_i_pfp_prefix_unique_induction)) * qc) + (mdr_a_pfp_prefix_unique_induction))) -> (((exists ff_h_mdr_pfp_prefix_unique_inductionn. ff_h_mdr_pfp_prefix_unique_inductionn + S (mdr_a_pfp_prefix_unique_induction) = S ((S (mdr_i_pfp_prefix_unique_induction)) * QC)) /\ exists ff_q_mdr_pfp_prefix_unique_inductionn. QB = ff_q_mdr_pfp_prefix_unique_inductionn * S ((S (mdr_i_pfp_prefix_unique_induction)) * QC) + (mdr_a_pfp_prefix_unique_induction))) - 0030
apply IH - 0031
specialize prime_field_polynomial_quotient_prefix_restrict (p) - 0032
specialize prime_field_polynomial_quotient_prefix_restrict (k) - 0033
specialize prime_field_polynomial_quotient_prefix_restrict (ab) - 0034
specialize prime_field_polynomial_quotient_prefix_restrict (ac) - 0035
specialize prime_field_polynomial_quotient_prefix_restrict (bb) - 0036
specialize prime_field_polynomial_quotient_prefix_restrict (bc) - 0037
specialize prime_field_polynomial_quotient_prefix_restrict (M) - 0038
specialize prime_field_polynomial_quotient_prefix_restrict (qb) - 0039
specialize prime_field_polynomial_quotient_prefix_restrict (qc) - 0040
specialize prime_field_polynomial_quotient_prefix_restrict (S N) - 0041
specialize prime_field_polynomial_quotient_prefix_restrict (N) - 0042
apply prime_field_polynomial_quotient_prefix_restrict - 0043
specialize le_succ (N) - 0044
specialize le_succ (N) - 0045
apply le_succ - 0046
specialize le_refl (N) - 0047
apply le_refl - 0048
exact hfirst - 0049
specialize prime_field_polynomial_quotient_prefix_restrict (p) - 0050
specialize prime_field_polynomial_quotient_prefix_restrict (k) - 0051
specialize prime_field_polynomial_quotient_prefix_restrict (ab) - 0052
specialize prime_field_polynomial_quotient_prefix_restrict (ac) - 0053
specialize prime_field_polynomial_quotient_prefix_restrict (bb) - 0054
specialize prime_field_polynomial_quotient_prefix_restrict (bc) - 0055
specialize prime_field_polynomial_quotient_prefix_restrict (M) - 0056
specialize prime_field_polynomial_quotient_prefix_restrict (QB) - 0057
specialize prime_field_polynomial_quotient_prefix_restrict (QC) - 0058
specialize prime_field_polynomial_quotient_prefix_restrict (S N) - 0059
specialize prime_field_polynomial_quotient_prefix_restrict (N) - 0060
apply prime_field_polynomial_quotient_prefix_restrict - 0061
specialize le_succ (N) - 0062
specialize le_succ (N) - 0063
apply le_succ - 0064
specialize le_refl (N) - 0065
apply le_refl - 0066
exact hsecond - 0067
intro i - 0068
intro a - 0069
intro hindex - 0070
intro hvalue - 0071
have hcase : i=N \/ (exists pfa_gap_prefix_unique_earlier. pfa_gap_prefix_unique_earlier + S (i) = (N)) - 0072
specialize finite_lt_succ_eq_or_lt (N) - 0073
specialize finite_lt_succ_eq_or_lt (i) - 0074
apply finite_lt_succ_eq_or_lt - 0075
exact hindex - 0076
cases hcase - 0077
rewrite hcase_left at hvalue - 0078
rewrite hcase_left at hvalue - 0079
rewrite hcase_left - 0080
rewrite hcase_left - 0081
have hchosen : exists r. (((((exists ff_h_pfp_prefix_unique_other_value. ff_h_pfp_prefix_unique_other_value + S (r) = S ((S (N)) * QC)) /\ exists ff_q_pfp_prefix_unique_other_value. QB = ff_q_pfp_prefix_unique_other_value * S ((S (N)) * QC) + (r))) /\ ((exists pfd_input_prefix_unique_other_step pfd_previous_prefix_unique_other_step pfd_difference_prefix_unique_other_step. ((((exists ff_h_pfp_prefix_unique_other_stepinput. ff_h_pfp_prefix_unique_other_stepinput + S (pfd_input_prefix_unique_other_step) = S ((S (N)) * ac)) /\ exists ff_q_pfp_prefix_unique_other_stepinput. ab = ff_q_pfp_prefix_unique_other_stepinput * S ((S (N)) * ac) + (pfd_input_prefix_unique_other_step))) /\ (((exists pfc_terms_code_prefix_unique_other_stepprevious pfc_terms_scale_prefix_unique_other_stepprevious pfc_natural_sum_prefix_unique_other_stepprevious. ((forall pfc_index_prefix_unique_other_steppreviousdiagonal. (exists pfa_gap_prefix_unique_other_steppreviousdiagonalbound. pfa_gap_prefix_unique_other_steppreviousdiagonalbound + S (pfc_index_prefix_unique_other_steppreviousdiagonal) = (S (N))) -> exists pfc_value_prefix_unique_other_steppreviousdiagonal. ((((exists ff_h_pfp_prefix_unique_other_steppreviousdiagonalentry. ff_h_pfp_prefix_unique_other_steppreviousdiagonalentry + S (pfc_value_prefix_unique_other_steppreviousdiagonal) = S ((S (pfc_index_prefix_unique_other_steppreviousdiagonal)) * pfc_terms_scale_prefix_unique_other_stepprevious)) /\ exists ff_q_pfp_prefix_unique_other_steppreviousdiagonalentry. pfc_terms_code_prefix_unique_other_stepprevious = ff_q_pfp_prefix_unique_other_steppreviousdiagonalentry * S ((S (pfc_index_prefix_unique_other_steppreviousdiagonal)) * pfc_terms_scale_prefix_unique_other_stepprevious) + (pfc_value_prefix_unique_other_steppreviousdiagonal))) /\ ((exists pfc_complement_prefix_unique_other_steppreviousdiagonalterm pfc_left_prefix_unique_other_steppreviousdiagonalterm pfc_right_prefix_unique_other_steppreviousdiagonalterm. (((pfc_index_prefix_unique_other_steppreviousdiagonal)+pfc_complement_prefix_unique_other_steppreviousdiagonalterm=(N)) /\ ((((((exists pfa_gap_prefix_unique_other_steppreviousdiagonaltermleftinside. pfa_gap_prefix_unique_other_steppreviousdiagonaltermleftinside + S (pfc_index_prefix_unique_other_steppreviousdiagonal) = (N)) /\ ((((exists ff_h_pfp_prefix_unique_other_steppreviousdiagonaltermleftentry. ff_h_pfp_prefix_unique_other_steppreviousdiagonaltermleftentry + S (pfc_left_prefix_unique_other_steppreviousdiagonalterm) = S ((S (pfc_index_prefix_unique_other_steppreviousdiagonal)) * QC)) /\ exists ff_q_pfp_prefix_unique_other_steppreviousdiagonaltermleftentry. QB = ff_q_pfp_prefix_unique_other_steppreviousdiagonaltermleftentry * S ((S (pfc_index_prefix_unique_other_steppreviousdiagonal)) * QC) + (pfc_left_prefix_unique_other_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_other_steppreviousdiagonaltermleftoutside. pfc_gap_prefix_unique_other_steppreviousdiagonaltermleftoutside+(N)=(pfc_index_prefix_unique_other_steppreviousdiagonal)) /\ (((pfc_left_prefix_unique_other_steppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_unique_other_steppreviousdiagonaltermrightinside. pfa_gap_prefix_unique_other_steppreviousdiagonaltermrightinside + S (pfc_complement_prefix_unique_other_steppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_unique_other_steppreviousdiagonaltermrightentry. ff_h_pfp_prefix_unique_other_steppreviousdiagonaltermrightentry + S (pfc_right_prefix_unique_other_steppreviousdiagonalterm) = S ((S (pfc_complement_prefix_unique_other_steppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_unique_other_steppreviousdiagonaltermrightentry. bb = ff_q_pfp_prefix_unique_other_steppreviousdiagonaltermrightentry * S ((S (pfc_complement_prefix_unique_other_steppreviousdiagonalterm)) * bc) + (pfc_right_prefix_unique_other_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_other_steppreviousdiagonaltermrightoutside. pfc_gap_prefix_unique_other_steppreviousdiagonaltermrightoutside+(M)=(pfc_complement_prefix_unique_other_steppreviousdiagonalterm)) /\ (((pfc_right_prefix_unique_other_steppreviousdiagonalterm)=0))))) /\ (((pfc_value_prefix_unique_other_steppreviousdiagonal)=pfc_left_prefix_unique_other_steppreviousdiagonalterm*pfc_right_prefix_unique_other_steppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_unique_other_stepprevioussum fs_v_pfc_prefix_unique_other_stepprevioussum. ((((exists fs_h_pfc_prefix_unique_other_stepprevioussum_body_start. fs_h_pfc_prefix_unique_other_stepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_unique_other_stepprevioussum)) /\ exists fs_q_pfc_prefix_unique_other_stepprevioussum_body_start. fs_u_pfc_prefix_unique_other_stepprevioussum = fs_q_pfc_prefix_unique_other_stepprevioussum_body_start * S ((S (0)) * fs_v_pfc_prefix_unique_other_stepprevioussum) + (0))) /\ ((((exists fs_h_pfc_prefix_unique_other_stepprevioussum_body_terminal. fs_h_pfc_prefix_unique_other_stepprevioussum_body_terminal + S (pfc_natural_sum_prefix_unique_other_stepprevious) = S ((S (S (N))) * fs_v_pfc_prefix_unique_other_stepprevioussum)) /\ exists fs_q_pfc_prefix_unique_other_stepprevioussum_body_terminal. fs_u_pfc_prefix_unique_other_stepprevioussum = fs_q_pfc_prefix_unique_other_stepprevioussum_body_terminal * S ((S (S (N))) * fs_v_pfc_prefix_unique_other_stepprevioussum) + (pfc_natural_sum_prefix_unique_other_stepprevious))) /\ forall fs_i_pfc_prefix_unique_other_stepprevioussum_body_steps. (exists fs_lt_pfc_prefix_unique_other_stepprevioussum_body_steps_bound. fs_lt_pfc_prefix_unique_other_stepprevioussum_body_steps_bound + S fs_i_pfc_prefix_unique_other_stepprevioussum_body_steps = S (N)) -> exists fs_a_pfc_prefix_unique_other_stepprevioussum_body_steps fs_r_pfc_prefix_unique_other_stepprevioussum_body_steps fs_s_pfc_prefix_unique_other_stepprevioussum_body_steps. ((((exists fs_h_pfc_prefix_unique_other_stepprevioussum_body_steps_summand. fs_h_pfc_prefix_unique_other_stepprevioussum_body_steps_summand + S (fs_a_pfc_prefix_unique_other_stepprevioussum_body_steps) = S ((S (fs_i_pfc_prefix_unique_other_stepprevioussum_body_steps)) * pfc_terms_scale_prefix_unique_other_stepprevious)) /\ exists fs_q_pfc_prefix_unique_other_stepprevioussum_body_steps_summand. pfc_terms_code_prefix_unique_other_stepprevious = fs_q_pfc_prefix_unique_other_stepprevioussum_body_steps_summand * S ((S (fs_i_pfc_prefix_unique_other_stepprevioussum_body_steps)) * pfc_terms_scale_prefix_unique_other_stepprevious) + (fs_a_pfc_prefix_unique_other_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_other_stepprevioussum_body_steps_partial. fs_h_pfc_prefix_unique_other_stepprevioussum_body_steps_partial + S (fs_r_pfc_prefix_unique_other_stepprevioussum_body_steps) = S ((S (fs_i_pfc_prefix_unique_other_stepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_other_stepprevioussum)) /\ exists fs_q_pfc_prefix_unique_other_stepprevioussum_body_steps_partial. fs_u_pfc_prefix_unique_other_stepprevioussum = fs_q_pfc_prefix_unique_other_stepprevioussum_body_steps_partial * S ((S (fs_i_pfc_prefix_unique_other_stepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_other_stepprevioussum) + (fs_r_pfc_prefix_unique_other_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_other_stepprevioussum_body_steps_successor. fs_h_pfc_prefix_unique_other_stepprevioussum_body_steps_successor + S (fs_s_pfc_prefix_unique_other_stepprevioussum_body_steps) = S ((S (S fs_i_pfc_prefix_unique_other_stepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_other_stepprevioussum)) /\ exists fs_q_pfc_prefix_unique_other_stepprevioussum_body_steps_successor. fs_u_pfc_prefix_unique_other_stepprevioussum = fs_q_pfc_prefix_unique_other_stepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_prefix_unique_other_stepprevioussum_body_steps)) * fs_v_pfc_prefix_unique_other_stepprevioussum) + (fs_s_pfc_prefix_unique_other_stepprevioussum_body_steps))) /\ fs_s_pfc_prefix_unique_other_stepprevioussum_body_steps = fs_r_pfc_prefix_unique_other_stepprevioussum_body_steps + fs_a_pfc_prefix_unique_other_stepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_prefix_unique_other_steppreviousresiduebound. pfa_gap_prefix_unique_other_steppreviousresiduebound + S (pfd_previous_prefix_unique_other_step) = (p)) /\ ((exists pfa_offset_left_prefix_unique_other_steppreviousresiduecongruence pfa_offset_right_prefix_unique_other_steppreviousresiduecongruence. (pfc_natural_sum_prefix_unique_other_stepprevious) + (p) * pfa_offset_left_prefix_unique_other_steppreviousresiduecongruence = (pfd_previous_prefix_unique_other_step) + (p) * pfa_offset_right_prefix_unique_other_steppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_prefix_unique_other_stepsubtractleft. pfa_gap_prefix_unique_other_stepsubtractleft + S (pfd_previous_prefix_unique_other_step) = (p)) /\ (((exists pfa_gap_prefix_unique_other_stepsubtractright. pfa_gap_prefix_unique_other_stepsubtractright + S (pfd_difference_prefix_unique_other_step) = (p)) /\ ((((exists pfa_gap_prefix_unique_other_stepsubtractresultbound. pfa_gap_prefix_unique_other_stepsubtractresultbound + S (pfd_input_prefix_unique_other_step) = (p)) /\ ((exists pfa_offset_left_prefix_unique_other_stepsubtractresultcongruence pfa_offset_right_prefix_unique_other_stepsubtractresultcongruence. ((pfd_previous_prefix_unique_other_step) + (pfd_difference_prefix_unique_other_step)) + (p) * pfa_offset_left_prefix_unique_other_stepsubtractresultcongruence = (pfd_input_prefix_unique_other_step) + (p) * pfa_offset_right_prefix_unique_other_stepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_prefix_unique_other_stepmultiplyleft. pfa_gap_prefix_unique_other_stepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_prefix_unique_other_stepmultiplyright. pfa_gap_prefix_unique_other_stepmultiplyright + S (pfd_difference_prefix_unique_other_step) = (p)) /\ ((((exists pfa_gap_prefix_unique_other_stepmultiplyresultbound. pfa_gap_prefix_unique_other_stepmultiplyresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_unique_other_stepmultiplyresultcongruence pfa_offset_right_prefix_unique_other_stepmultiplyresultcongruence. ((k) * (pfd_difference_prefix_unique_other_step)) + (p) * pfa_offset_left_prefix_unique_other_stepmultiplyresultcongruence = (r) + (p) * pfa_offset_right_prefix_unique_other_stepmultiplyresultcongruence))))))))))))))))))) - 0082
specialize hsecond (N) - 0083
apply hsecond - 0084
specialize le_refl (S N) - 0085
apply le_refl - 0086
cases hchosen - 0087
cases hchosen_witness - 0088
have hlast : a=x - 0089
specialize prime_field_polynomial_quotient_step_prefix_functional (p) - 0090
specialize prime_field_polynomial_quotient_step_prefix_functional (k) - 0091
specialize prime_field_polynomial_quotient_step_prefix_functional (ab) - 0092
specialize prime_field_polynomial_quotient_step_prefix_functional (ac) - 0093
specialize prime_field_polynomial_quotient_step_prefix_functional (bb) - 0094
specialize prime_field_polynomial_quotient_step_prefix_functional (bc) - 0095
specialize prime_field_polynomial_quotient_step_prefix_functional (M) - 0096
specialize prime_field_polynomial_quotient_step_prefix_functional (qb) - 0097
specialize prime_field_polynomial_quotient_step_prefix_functional (qc) - 0098
specialize prime_field_polynomial_quotient_step_prefix_functional (QB) - 0099
specialize prime_field_polynomial_quotient_step_prefix_functional (QC) - 0100
specialize prime_field_polynomial_quotient_step_prefix_functional (N) - 0101
specialize prime_field_polynomial_quotient_step_prefix_functional (a) - 0102
specialize prime_field_polynomial_quotient_step_prefix_functional (x) - 0103
apply prime_field_polynomial_quotient_step_prefix_functional - 0104
exact hequal - 0105
specialize prime_field_polynomial_quotient_prefix_entry (p) - 0106
specialize prime_field_polynomial_quotient_prefix_entry (k) - 0107
specialize prime_field_polynomial_quotient_prefix_entry (ab) - 0108
specialize prime_field_polynomial_quotient_prefix_entry (ac) - 0109
specialize prime_field_polynomial_quotient_prefix_entry (bb) - 0110
specialize prime_field_polynomial_quotient_prefix_entry (bc) - 0111
specialize prime_field_polynomial_quotient_prefix_entry (M) - 0112
specialize prime_field_polynomial_quotient_prefix_entry (qb) - 0113
specialize prime_field_polynomial_quotient_prefix_entry (qc) - 0114
specialize prime_field_polynomial_quotient_prefix_entry (S N) - 0115
specialize prime_field_polynomial_quotient_prefix_entry (N) - 0116
specialize prime_field_polynomial_quotient_prefix_entry (a) - 0117
apply prime_field_polynomial_quotient_prefix_entry - 0118
exact hfirst - 0119
specialize le_refl (S N) - 0120
apply le_refl - 0121
exact hvalue - 0122
exact hchosen_witness_right - 0123
rewrite hlast - 0124
rewrite hlast - 0125
exact hchosen_witness_left - 0126
specialize hequal (i) - 0127
specialize hequal (a) - 0128
apply hequal - 0129
exact hcase_right - 0130
exact hvalue