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 ab ac L bb bc M c pb pc N. (~((p) = 1) /\ forall pfa_factor_left_append_exists_prime pfa_factor_right_append_exists_prime. (p) = pfa_factor_left_append_exists_prime * pfa_factor_right_append_exists_prime -> pfa_factor_left_append_exists_prime = 1 \/ pfa_factor_right_append_exists_prime = 1) -> (exists pfa_gap_append_exists_scalar. pfa_gap_append_exists_scalar + S (c) = (p)) -> (((forall fom_index_pfp_append_exists_oldleft. (exists fom_gap_pfp_append_exists_oldleft_index_bound. fom_gap_pfp_append_exists_oldleft_index_bound + S (fom_index_pfp_append_exists_oldleft) = L) -> exists fom_value_pfp_append_exists_oldleft. ((((exists fom_beta_height_pfp_append_exists_oldleft_entry. fom_beta_height_pfp_append_exists_oldleft_entry + S (fom_value_pfp_append_exists_oldleft) = S ((S (fom_index_pfp_append_exists_oldleft)) * ac)) /\ exists fom_beta_quotient_pfp_append_exists_oldleft_entry. ab = fom_beta_quotient_pfp_append_exists_oldleft_entry * S ((S (fom_index_pfp_append_exists_oldleft)) * ac) + (fom_value_pfp_append_exists_oldleft))) /\ (exists fom_gap_pfp_append_exists_oldleft_value_bound. fom_gap_pfp_append_exists_oldleft_value_bound + S (fom_value_pfp_append_exists_oldleft) = p))) /\ (((forall fom_index_pfp_append_exists_oldright. (exists fom_gap_pfp_append_exists_oldright_index_bound. fom_gap_pfp_append_exists_oldright_index_bound + S (fom_index_pfp_append_exists_oldright) = M) -> exists fom_value_pfp_append_exists_oldright. ((((exists fom_beta_height_pfp_append_exists_oldright_entry. fom_beta_height_pfp_append_exists_oldright_entry + S (fom_value_pfp_append_exists_oldright) = S ((S (fom_index_pfp_append_exists_oldright)) * bc)) /\ exists fom_beta_quotient_pfp_append_exists_oldright_entry. bb = fom_beta_quotient_pfp_append_exists_oldright_entry * S ((S (fom_index_pfp_append_exists_oldright)) * bc) + (fom_value_pfp_append_exists_oldright))) /\ (exists fom_gap_pfp_append_exists_oldright_value_bound. fom_gap_pfp_append_exists_oldright_value_bound + S (fom_value_pfp_append_exists_oldright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_append_exists_oldcoefficients. (exists pfa_gap_append_exists_oldcoefficientsbound. pfa_gap_append_exists_oldcoefficientsbound + S (pfc_index_append_exists_oldcoefficients) = (N)) -> exists pfc_value_append_exists_oldcoefficients. ((((exists ff_h_pfp_append_exists_oldcoefficientsentry. ff_h_pfp_append_exists_oldcoefficientsentry + S (pfc_value_append_exists_oldcoefficients) = S ((S (pfc_index_append_exists_oldcoefficients)) * pc)) /\ exists ff_q_pfp_append_exists_oldcoefficientsentry. pb = ff_q_pfp_append_exists_oldcoefficientsentry * S ((S (pfc_index_append_exists_oldcoefficients)) * pc) + (pfc_value_append_exists_oldcoefficients))) /\ ((exists pfc_terms_code_append_exists_oldcoefficientscoefficient pfc_terms_scale_append_exists_oldcoefficientscoefficient pfc_natural_sum_append_exists_oldcoefficientscoefficient. ((forall pfc_index_append_exists_oldcoefficientscoefficientdiagonal. (exists pfa_gap_append_exists_oldcoefficientscoefficientdiagonalbound. pfa_gap_append_exists_oldcoefficientscoefficientdiagonalbound + S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal) = (S (pfc_index_append_exists_oldcoefficients))) -> exists pfc_value_append_exists_oldcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonalentry. ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonalentry + S (pfc_value_append_exists_oldcoefficientscoefficientdiagonal) = S ((S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) * pfc_terms_scale_append_exists_oldcoefficientscoefficient)) /\ exists ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonalentry. pfc_terms_code_append_exists_oldcoefficientscoefficient = ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonalentry * S ((S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) * pfc_terms_scale_append_exists_oldcoefficientscoefficient) + (pfc_value_append_exists_oldcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm. (((pfc_index_append_exists_oldcoefficientscoefficientdiagonal)+pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm=(pfc_index_append_exists_oldcoefficients)) /\ ((((((exists pfa_gap_append_exists_oldcoefficientscoefficientdiagonaltermleftinside. pfa_gap_append_exists_oldcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) * ac) + (pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_append_exists_oldcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_append_exists_oldcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) /\ (((pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_append_exists_oldcoefficientscoefficientdiagonaltermrightinside. pfa_gap_append_exists_oldcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_append_exists_oldcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_append_exists_oldcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_append_exists_oldcoefficientscoefficientdiagonal)=pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm*pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_append_exists_oldcoefficientscoefficientsum fs_v_pfc_append_exists_oldcoefficientscoefficientsum. ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_start. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_start. fs_u_pfc_append_exists_oldcoefficientscoefficientsum = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_terminal. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_append_exists_oldcoefficientscoefficient) = S ((S (S (pfc_index_append_exists_oldcoefficients))) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_terminal. fs_u_pfc_append_exists_oldcoefficientscoefficientsum = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_append_exists_oldcoefficients))) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum) + (pfc_natural_sum_append_exists_oldcoefficientscoefficient))) /\ forall fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps = S (pfc_index_append_exists_oldcoefficients)) -> exists fs_a_pfc_append_exists_oldcoefficientscoefficientsum_body_steps fs_r_pfc_append_exists_oldcoefficientscoefficientsum_body_steps fs_s_pfc_append_exists_oldcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_append_exists_oldcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_append_exists_oldcoefficientscoefficient)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_append_exists_oldcoefficientscoefficient = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_append_exists_oldcoefficientscoefficient) + (fs_a_pfc_append_exists_oldcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_append_exists_oldcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_append_exists_oldcoefficientscoefficientsum = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum) + (fs_r_pfc_append_exists_oldcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_append_exists_oldcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_append_exists_oldcoefficientscoefficientsum = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum) + (fs_s_pfc_append_exists_oldcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_append_exists_oldcoefficientscoefficientsum_body_steps = fs_r_pfc_append_exists_oldcoefficientscoefficientsum_body_steps + fs_a_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_append_exists_oldcoefficientscoefficientresiduebound. pfa_gap_append_exists_oldcoefficientscoefficientresiduebound + S (pfc_value_append_exists_oldcoefficients) = (p)) /\ ((exists pfa_offset_left_append_exists_oldcoefficientscoefficientresiduecongruence pfa_offset_right_append_exists_oldcoefficientscoefficientresiduecongruence. (pfc_natural_sum_append_exists_oldcoefficientscoefficient) + (p) * pfa_offset_left_append_exists_oldcoefficientscoefficientresiduecongruence = (pfc_value_append_exists_oldcoefficients) + (p) * pfa_offset_right_append_exists_oldcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (exists db dc K qb qc ub uc vb vc UB UC VB VC rb rc. ((forall mdr_i_pfp_append_exists_preserve mdr_a_pfp_append_exists_preserve. (exists mdr_gap_pfp_append_exists_preserveb. mdr_gap_pfp_append_exists_preserveb + S (mdr_i_pfp_append_exists_preserve) = (M)) -> (((exists ff_h_mdr_pfp_append_exists_preserveo. ff_h_mdr_pfp_append_exists_preserveo + S (mdr_a_pfp_append_exists_preserve) = S ((S (mdr_i_pfp_append_exists_preserve)) * bc)) /\ exists ff_q_mdr_pfp_append_exists_preserveo. bb = ff_q_mdr_pfp_append_exists_preserveo * S ((S (mdr_i_pfp_append_exists_preserve)) * bc) + (mdr_a_pfp_append_exists_preserve))) -> (((exists ff_h_mdr_pfp_append_exists_preserven. ff_h_mdr_pfp_append_exists_preserven + S (mdr_a_pfp_append_exists_preserve) = S ((S (mdr_i_pfp_append_exists_preserve)) * dc)) /\ exists ff_q_mdr_pfp_append_exists_preserven. db = ff_q_mdr_pfp_append_exists_preserven * S ((S (mdr_i_pfp_append_exists_preserve)) * dc) + (mdr_a_pfp_append_exists_preserve)))) /\ (((((exists ff_h_pfp_append_exists_last. ff_h_pfp_append_exists_last + S (c) = S ((S (M)) * dc)) /\ exists ff_q_pfp_append_exists_last. db = ff_q_pfp_append_exists_last * S ((S (M)) * dc) + (c))) /\ (((((forall fom_index_pfp_append_exists_newleft. (exists fom_gap_pfp_append_exists_newleft_index_bound. fom_gap_pfp_append_exists_newleft_index_bound + S (fom_index_pfp_append_exists_newleft) = L) -> exists fom_value_pfp_append_exists_newleft. ((((exists fom_beta_height_pfp_append_exists_newleft_entry. fom_beta_height_pfp_append_exists_newleft_entry + S (fom_value_pfp_append_exists_newleft) = S ((S (fom_index_pfp_append_exists_newleft)) * ac)) /\ exists fom_beta_quotient_pfp_append_exists_newleft_entry. ab = fom_beta_quotient_pfp_append_exists_newleft_entry * S ((S (fom_index_pfp_append_exists_newleft)) * ac) + (fom_value_pfp_append_exists_newleft))) /\ (exists fom_gap_pfp_append_exists_newleft_value_bound. fom_gap_pfp_append_exists_newleft_value_bound + S (fom_value_pfp_append_exists_newleft) = p))) /\ (((forall fom_index_pfp_append_exists_newright. (exists fom_gap_pfp_append_exists_newright_index_bound. fom_gap_pfp_append_exists_newright_index_bound + S (fom_index_pfp_append_exists_newright) = S M) -> exists fom_value_pfp_append_exists_newright. ((((exists fom_beta_height_pfp_append_exists_newright_entry. fom_beta_height_pfp_append_exists_newright_entry + S (fom_value_pfp_append_exists_newright) = S ((S (fom_index_pfp_append_exists_newright)) * dc)) /\ exists fom_beta_quotient_pfp_append_exists_newright_entry. db = fom_beta_quotient_pfp_append_exists_newright_entry * S ((S (fom_index_pfp_append_exists_newright)) * dc) + (fom_value_pfp_append_exists_newright))) /\ (exists fom_gap_pfp_append_exists_newright_value_bound. fom_gap_pfp_append_exists_newright_value_bound + S (fom_value_pfp_append_exists_newright) = p))) /\ (((((((L)=0 \/ (S M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((S M)=0)) /\ (((L)+(S M)=S (K)))))))) /\ ((forall pfc_index_append_exists_newcoefficients. (exists pfa_gap_append_exists_newcoefficientsbound. pfa_gap_append_exists_newcoefficientsbound + S (pfc_index_append_exists_newcoefficients) = (K)) -> exists pfc_value_append_exists_newcoefficients. ((((exists ff_h_pfp_append_exists_newcoefficientsentry. ff_h_pfp_append_exists_newcoefficientsentry + S (pfc_value_append_exists_newcoefficients) = S ((S (pfc_index_append_exists_newcoefficients)) * qc)) /\ exists ff_q_pfp_append_exists_newcoefficientsentry. qb = ff_q_pfp_append_exists_newcoefficientsentry * S ((S (pfc_index_append_exists_newcoefficients)) * qc) + (pfc_value_append_exists_newcoefficients))) /\ ((exists pfc_terms_code_append_exists_newcoefficientscoefficient pfc_terms_scale_append_exists_newcoefficientscoefficient pfc_natural_sum_append_exists_newcoefficientscoefficient. ((forall pfc_index_append_exists_newcoefficientscoefficientdiagonal. (exists pfa_gap_append_exists_newcoefficientscoefficientdiagonalbound. pfa_gap_append_exists_newcoefficientscoefficientdiagonalbound + S (pfc_index_append_exists_newcoefficientscoefficientdiagonal) = (S (pfc_index_append_exists_newcoefficients))) -> exists pfc_value_append_exists_newcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_append_exists_newcoefficientscoefficientdiagonalentry. ff_h_pfp_append_exists_newcoefficientscoefficientdiagonalentry + S (pfc_value_append_exists_newcoefficientscoefficientdiagonal) = S ((S (pfc_index_append_exists_newcoefficientscoefficientdiagonal)) * pfc_terms_scale_append_exists_newcoefficientscoefficient)) /\ exists ff_q_pfp_append_exists_newcoefficientscoefficientdiagonalentry. pfc_terms_code_append_exists_newcoefficientscoefficient = ff_q_pfp_append_exists_newcoefficientscoefficientdiagonalentry * S ((S (pfc_index_append_exists_newcoefficientscoefficientdiagonal)) * pfc_terms_scale_append_exists_newcoefficientscoefficient) + (pfc_value_append_exists_newcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_append_exists_newcoefficientscoefficientdiagonalterm pfc_left_append_exists_newcoefficientscoefficientdiagonalterm pfc_right_append_exists_newcoefficientscoefficientdiagonalterm. (((pfc_index_append_exists_newcoefficientscoefficientdiagonal)+pfc_complement_append_exists_newcoefficientscoefficientdiagonalterm=(pfc_index_append_exists_newcoefficients)) /\ ((((((exists pfa_gap_append_exists_newcoefficientscoefficientdiagonaltermleftinside. pfa_gap_append_exists_newcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_append_exists_newcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_append_exists_newcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_append_exists_newcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_append_exists_newcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_append_exists_newcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_append_exists_newcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_append_exists_newcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_append_exists_newcoefficientscoefficientdiagonal)) * ac) + (pfc_left_append_exists_newcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_append_exists_newcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_append_exists_newcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_append_exists_newcoefficientscoefficientdiagonal)) /\ (((pfc_left_append_exists_newcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_append_exists_newcoefficientscoefficientdiagonaltermrightinside. pfa_gap_append_exists_newcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_append_exists_newcoefficientscoefficientdiagonalterm) = (S M)) /\ ((((exists ff_h_pfp_append_exists_newcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_append_exists_newcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_append_exists_newcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_append_exists_newcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_append_exists_newcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_append_exists_newcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_append_exists_newcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_append_exists_newcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_append_exists_newcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_append_exists_newcoefficientscoefficientdiagonaltermrightoutside+(S M)=(pfc_complement_append_exists_newcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_append_exists_newcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_append_exists_newcoefficientscoefficientdiagonal)=pfc_left_append_exists_newcoefficientscoefficientdiagonalterm*pfc_right_append_exists_newcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_append_exists_newcoefficientscoefficientsum fs_v_pfc_append_exists_newcoefficientscoefficientsum. ((((exists fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_start. fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_append_exists_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_start. fs_u_pfc_append_exists_newcoefficientscoefficientsum = fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_append_exists_newcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_terminal. fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_append_exists_newcoefficientscoefficient) = S ((S (S (pfc_index_append_exists_newcoefficients))) * fs_v_pfc_append_exists_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_terminal. fs_u_pfc_append_exists_newcoefficientscoefficientsum = fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_append_exists_newcoefficients))) * fs_v_pfc_append_exists_newcoefficientscoefficientsum) + (pfc_natural_sum_append_exists_newcoefficientscoefficient))) /\ forall fs_i_pfc_append_exists_newcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_append_exists_newcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_append_exists_newcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_append_exists_newcoefficientscoefficientsum_body_steps = S (pfc_index_append_exists_newcoefficients)) -> exists fs_a_pfc_append_exists_newcoefficientscoefficientsum_body_steps fs_r_pfc_append_exists_newcoefficientscoefficientsum_body_steps fs_s_pfc_append_exists_newcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_append_exists_newcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_append_exists_newcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_append_exists_newcoefficientscoefficient)) /\ exists fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_append_exists_newcoefficientscoefficient = fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_append_exists_newcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_append_exists_newcoefficientscoefficient) + (fs_a_pfc_append_exists_newcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_append_exists_newcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_append_exists_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_append_exists_newcoefficientscoefficientsum = fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_append_exists_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_newcoefficientscoefficientsum) + (fs_r_pfc_append_exists_newcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_append_exists_newcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_append_exists_newcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_append_exists_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_append_exists_newcoefficientscoefficientsum = fs_q_pfc_append_exists_newcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_append_exists_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_newcoefficientscoefficientsum) + (fs_s_pfc_append_exists_newcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_append_exists_newcoefficientscoefficientsum_body_steps = fs_r_pfc_append_exists_newcoefficientscoefficientsum_body_steps + fs_a_pfc_append_exists_newcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_append_exists_newcoefficientscoefficientresiduebound. pfa_gap_append_exists_newcoefficientscoefficientresiduebound + S (pfc_value_append_exists_newcoefficients) = (p)) /\ ((exists pfa_offset_left_append_exists_newcoefficientscoefficientresiduecongruence pfa_offset_right_append_exists_newcoefficientscoefficientresiduecongruence. (pfc_natural_sum_append_exists_newcoefficientscoefficient) + (p) * pfa_offset_left_append_exists_newcoefficientscoefficientresiduecongruence = (pfc_value_append_exists_newcoefficients) + (p) * pfa_offset_right_append_exists_newcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((((forall mdr_i_pfp_append_exists_result_shiftprefix mdr_a_pfp_append_exists_result_shiftprefix. (exists mdr_gap_pfp_append_exists_result_shiftprefixb. mdr_gap_pfp_append_exists_result_shiftprefixb + S (mdr_i_pfp_append_exists_result_shiftprefix) = (N)) -> (((exists ff_h_mdr_pfp_append_exists_result_shiftprefixo. ff_h_mdr_pfp_append_exists_result_shiftprefixo + S (mdr_a_pfp_append_exists_result_shiftprefix) = S ((S (mdr_i_pfp_append_exists_result_shiftprefix)) * pc)) /\ exists ff_q_mdr_pfp_append_exists_result_shiftprefixo. pb = ff_q_mdr_pfp_append_exists_result_shiftprefixo * S ((S (mdr_i_pfp_append_exists_result_shiftprefix)) * pc) + (mdr_a_pfp_append_exists_result_shiftprefix))) -> (((exists ff_h_mdr_pfp_append_exists_result_shiftprefixn. ff_h_mdr_pfp_append_exists_result_shiftprefixn + S (mdr_a_pfp_append_exists_result_shiftprefix) = S ((S (mdr_i_pfp_append_exists_result_shiftprefix)) * uc)) /\ exists ff_q_mdr_pfp_append_exists_result_shiftprefixn. ub = ff_q_mdr_pfp_append_exists_result_shiftprefixn * S ((S (mdr_i_pfp_append_exists_result_shiftprefix)) * uc) + (mdr_a_pfp_append_exists_result_shiftprefix)))) /\ ((((exists ff_h_pfp_append_exists_result_shiftlast. ff_h_pfp_append_exists_result_shiftlast + S (0) = S ((S (N)) * uc)) /\ exists ff_q_pfp_append_exists_result_shiftlast. ub = ff_q_pfp_append_exists_result_shiftlast * S ((S (N)) * uc) + (0)))))) /\ (((((exists pfa_gap_append_exists_result_scalescalar. pfa_gap_append_exists_result_scalescalar + S (c) = (p)) /\ ((forall pfp_index_append_exists_result_scale. (exists pfa_gap_append_exists_result_scaleindex. pfa_gap_append_exists_result_scaleindex + S (pfp_index_append_exists_result_scale) = (L)) -> exists pfp_source_append_exists_result_scale pfp_value_append_exists_result_scale. ((((exists ff_h_pfp_append_exists_result_scalesource. ff_h_pfp_append_exists_result_scalesource + S (pfp_source_append_exists_result_scale) = S ((S (pfp_index_append_exists_result_scale)) * ac)) /\ exists ff_q_pfp_append_exists_result_scalesource. ab = ff_q_pfp_append_exists_result_scalesource * S ((S (pfp_index_append_exists_result_scale)) * ac) + (pfp_source_append_exists_result_scale))) /\ (((((exists ff_h_pfp_append_exists_result_scaletarget. ff_h_pfp_append_exists_result_scaletarget + S (pfp_value_append_exists_result_scale) = S ((S (pfp_index_append_exists_result_scale)) * vc)) /\ exists ff_q_pfp_append_exists_result_scaletarget. vb = ff_q_pfp_append_exists_result_scaletarget * S ((S (pfp_index_append_exists_result_scale)) * vc) + (pfp_value_append_exists_result_scale))) /\ ((((exists pfa_gap_append_exists_result_scaleoperationleft. pfa_gap_append_exists_result_scaleoperationleft + S (c) = (p)) /\ (((exists pfa_gap_append_exists_result_scaleoperationright. pfa_gap_append_exists_result_scaleoperationright + S (pfp_source_append_exists_result_scale) = (p)) /\ ((((exists pfa_gap_append_exists_result_scaleoperationresultbound. pfa_gap_append_exists_result_scaleoperationresultbound + S (pfp_value_append_exists_result_scale) = (p)) /\ ((exists pfa_offset_left_append_exists_result_scaleoperationresultcongruence pfa_offset_right_append_exists_result_scaleoperationresultcongruence. ((c) * (pfp_source_append_exists_result_scale)) + (p) * pfa_offset_left_append_exists_result_scaleoperationresultcongruence = (pfp_value_append_exists_result_scale) + (p) * pfa_offset_right_append_exists_result_scaleoperationresultcongruence))))))))))))))))) /\ (((((forall pfp_repeat_index_append_exists_result_leftzeros. (exists pfa_gap_append_exists_result_leftzerosindex. pfa_gap_append_exists_result_leftzerosindex + S (pfp_repeat_index_append_exists_result_leftzeros) = (L)) -> (((exists ff_h_pfp_append_exists_result_leftzerosentry. ff_h_pfp_append_exists_result_leftzerosentry + S (0) = S ((S (pfp_repeat_index_append_exists_result_leftzeros)) * UC)) /\ exists ff_q_pfp_append_exists_result_leftzerosentry. UB = ff_q_pfp_append_exists_result_leftzerosentry * S ((S (pfp_repeat_index_append_exists_result_leftzeros)) * UC) + (0)))) /\ ((forall pfrep_index_append_exists_result_left pfrep_value_append_exists_result_left. (exists pfa_gap_append_exists_result_leftbound. pfa_gap_append_exists_result_leftbound + S (pfrep_index_append_exists_result_left) = (S N)) -> (((exists ff_h_pfp_append_exists_result_leftinput. ff_h_pfp_append_exists_result_leftinput + S (pfrep_value_append_exists_result_left) = S ((S (pfrep_index_append_exists_result_left)) * uc)) /\ exists ff_q_pfp_append_exists_result_leftinput. ub = ff_q_pfp_append_exists_result_leftinput * S ((S (pfrep_index_append_exists_result_left)) * uc) + (pfrep_value_append_exists_result_left))) -> (((exists ff_h_pfp_append_exists_result_leftoutput. ff_h_pfp_append_exists_result_leftoutput + S (pfrep_value_append_exists_result_left) = S ((S ((L)+pfrep_index_append_exists_result_left)) * UC)) /\ exists ff_q_pfp_append_exists_result_leftoutput. UB = ff_q_pfp_append_exists_result_leftoutput * S ((S ((L)+pfrep_index_append_exists_result_left)) * UC) + (pfrep_value_append_exists_result_left))))))) /\ (((((forall pfp_repeat_index_append_exists_result_rightzeros. (exists pfa_gap_append_exists_result_rightzerosindex. pfa_gap_append_exists_result_rightzerosindex + S (pfp_repeat_index_append_exists_result_rightzeros) = (S N)) -> (((exists ff_h_pfp_append_exists_result_rightzerosentry. ff_h_pfp_append_exists_result_rightzerosentry + S (0) = S ((S (pfp_repeat_index_append_exists_result_rightzeros)) * VC)) /\ exists ff_q_pfp_append_exists_result_rightzerosentry. VB = ff_q_pfp_append_exists_result_rightzerosentry * S ((S (pfp_repeat_index_append_exists_result_rightzeros)) * VC) + (0)))) /\ ((forall pfrep_index_append_exists_result_right pfrep_value_append_exists_result_right. (exists pfa_gap_append_exists_result_rightbound. pfa_gap_append_exists_result_rightbound + S (pfrep_index_append_exists_result_right) = (L)) -> (((exists ff_h_pfp_append_exists_result_rightinput. ff_h_pfp_append_exists_result_rightinput + S (pfrep_value_append_exists_result_right) = S ((S (pfrep_index_append_exists_result_right)) * vc)) /\ exists ff_q_pfp_append_exists_result_rightinput. vb = ff_q_pfp_append_exists_result_rightinput * S ((S (pfrep_index_append_exists_result_right)) * vc) + (pfrep_value_append_exists_result_right))) -> (((exists ff_h_pfp_append_exists_result_rightoutput. ff_h_pfp_append_exists_result_rightoutput + S (pfrep_value_append_exists_result_right) = S ((S ((S N)+pfrep_index_append_exists_result_right)) * VC)) /\ exists ff_q_pfp_append_exists_result_rightoutput. VB = ff_q_pfp_append_exists_result_rightoutput * S ((S ((S N)+pfrep_index_append_exists_result_right)) * VC) + (pfrep_value_append_exists_result_right))))))) /\ (((forall pfp_index_append_exists_result_sum. (exists pfa_gap_append_exists_result_sumindex. pfa_gap_append_exists_result_sumindex + S (pfp_index_append_exists_result_sum) = (L+S N)) -> exists pfp_left_append_exists_result_sum pfp_right_append_exists_result_sum pfp_value_append_exists_result_sum. ((((exists ff_h_pfp_append_exists_result_sumleft. ff_h_pfp_append_exists_result_sumleft + S (pfp_left_append_exists_result_sum) = S ((S (pfp_index_append_exists_result_sum)) * UC)) /\ exists ff_q_pfp_append_exists_result_sumleft. UB = ff_q_pfp_append_exists_result_sumleft * S ((S (pfp_index_append_exists_result_sum)) * UC) + (pfp_left_append_exists_result_sum))) /\ (((((exists ff_h_pfp_append_exists_result_sumright. ff_h_pfp_append_exists_result_sumright + S (pfp_right_append_exists_result_sum) = S ((S (pfp_index_append_exists_result_sum)) * VC)) /\ exists ff_q_pfp_append_exists_result_sumright. VB = ff_q_pfp_append_exists_result_sumright * S ((S (pfp_index_append_exists_result_sum)) * VC) + (pfp_right_append_exists_result_sum))) /\ (((((exists ff_h_pfp_append_exists_result_sumtarget. ff_h_pfp_append_exists_result_sumtarget + S (pfp_value_append_exists_result_sum) = S ((S (pfp_index_append_exists_result_sum)) * rc)) /\ exists ff_q_pfp_append_exists_result_sumtarget. rb = ff_q_pfp_append_exists_result_sumtarget * S ((S (pfp_index_append_exists_result_sum)) * rc) + (pfp_value_append_exists_result_sum))) /\ ((((exists pfa_gap_append_exists_result_sumoperationleft. pfa_gap_append_exists_result_sumoperationleft + S (pfp_left_append_exists_result_sum) = (p)) /\ (((exists pfa_gap_append_exists_result_sumoperationright. pfa_gap_append_exists_result_sumoperationright + S (pfp_right_append_exists_result_sum) = (p)) /\ ((((exists pfa_gap_append_exists_result_sumoperationresultbound. pfa_gap_append_exists_result_sumoperationresultbound + S (pfp_value_append_exists_result_sum) = (p)) /\ ((exists pfa_offset_left_append_exists_result_sumoperationresultcongruence pfa_offset_right_append_exists_result_sumoperationresultcongruence. ((pfp_left_append_exists_result_sum) + (pfp_right_append_exists_result_sum)) + (p) * pfa_offset_left_append_exists_result_sumoperationresultcongruence = (pfp_value_append_exists_result_sum) + (p) * pfa_offset_right_append_exists_result_sumoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_append_exists_equivalence pfrep_left_append_exists_equivalence pfrep_right_append_exists_equivalence. ((exists pfrep_position_append_exists_equivalencefirst. ((pfrep_position_append_exists_equivalencefirst+S (pfrep_power_append_exists_equivalence)=(K)) /\ ((((exists ff_h_pfp_append_exists_equivalencefirstentry. ff_h_pfp_append_exists_equivalencefirstentry + S (pfrep_left_append_exists_equivalence) = S ((S (pfrep_position_append_exists_equivalencefirst)) * qc)) /\ exists ff_q_pfp_append_exists_equivalencefirstentry. qb = ff_q_pfp_append_exists_equivalencefirstentry * S ((S (pfrep_position_append_exists_equivalencefirst)) * qc) + (pfrep_left_append_exists_equivalence)))))) \/ (((exists pfrep_gap_append_exists_equivalencefirstoutside. pfrep_gap_append_exists_equivalencefirstoutside+(K)=(pfrep_power_append_exists_equivalence)) /\ (((pfrep_left_append_exists_equivalence)=0))))) -> ((exists pfrep_position_append_exists_equivalencesecond. ((pfrep_position_append_exists_equivalencesecond+S (pfrep_power_append_exists_equivalence)=(L+S N)) /\ ((((exists ff_h_pfp_append_exists_equivalencesecondentry. ff_h_pfp_append_exists_equivalencesecondentry + S (pfrep_right_append_exists_equivalence) = S ((S (pfrep_position_append_exists_equivalencesecond)) * rc)) /\ exists ff_q_pfp_append_exists_equivalencesecondentry. rb = ff_q_pfp_append_exists_equivalencesecondentry * S ((S (pfrep_position_append_exists_equivalencesecond)) * rc) + (pfrep_right_append_exists_equivalence)))))) \/ (((exists pfrep_gap_append_exists_equivalencesecondoutside. pfrep_gap_append_exists_equivalencesecondoutside+(L+S N)=(pfrep_power_append_exists_equivalence)) /\ (((pfrep_right_append_exists_equivalence)=0))))) -> pfrep_left_append_exists_equivalence=pfrep_right_append_exists_equivalence))))))))))))))))))Constructive proof overview
Generated structural guide
From an actual old product and a canonical next coefficient, construct the appended right factor, its proper product, the shift and scalar outputs, both aligned paddings and the actual sum, then prove the formal recurrence. No output existence or polynomial identity is assumed.
The unchanged tactic script uses 9 declared prerequisites and contains 180 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_nonzero Alpha theorem; checked-use authorized beta_prefix_extend Alpha theorem; checked-use authorized matrix_rank_bounded_prefix_extend Alpha theorem; checked-use authorized matrix_rank_bounded_prefix_transport Alpha theorem; checked-use authorized polynomial_product_length_exists Alpha theorem; checked-use authorized prime_field_polynomial_convolution_at_length_exists Alpha theorem; checked-use authorized PG001D prime_field_polynomial_shift_scale_aligned_sum_exists prime_field_polynomial_convolution_bounded Alpha theorem; checked-use authorized PG001E prime_field_polynomial_convolution_right_append_equivalentDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Establish hp0L15–20
04Establish holdL21–22
Establish this local claim before using it. It is not an additional assumption.
- L21
have hold : FpPolyProduct(p,ab,ac,L,bb,bc,M,pb,pc,N)Definitions: FpPolyProduct - L22
exact hP
05Separate the logical casesL23–25
06Establish hdL26–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
07Separate the logical casesL32–34
08Establish hboundedL35–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply matrix rank bounded prefix extend.
- L35
have hbounded : BetaPrefixInto(x,x1,S M,p)Definitions: BetaPrefixInto - L36
specialize matrix_rank_bounded_prefix_extend (x) - L37
specialize matrix_rank_bounded_prefix_extend (x1) - L38
specialize matrix_rank_bounded_prefix_extend (M) - L39
specialize matrix_rank_bounded_prefix_extend (p) - L40
specialize matrix_rank_bounded_prefix_extend (c) - L41
apply matrix_rank_bounded_prefix_extend - L42
specialize matrix_rank_bounded_prefix_transport (bb) - L43
specialize matrix_rank_bounded_prefix_transport (bc) - L44
specialize matrix_rank_bounded_prefix_transport (x)
09Use earlier factsL45–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
specialize matrix_rank_bounded_prefix_transport (x1) - L46
specialize matrix_rank_bounded_prefix_transport (M) - L47
specialize matrix_rank_bounded_prefix_transport (p) - L48
apply matrix_rank_bounded_prefix_transport - L49
exact hd_witness_witness_right - L50
exact hold_right_left - L51
exact hd_witness_witness_left - L52
exact hc
10Establish hlL53–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial product length exists.
11Separate the logical casesL57–57
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L57
cases hl
12Establish hQL58–67
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial convolution at length exists.
- L58
have hQ : ∃ qb. ∃ qc. FpPolyProduct(p,ab,ac,L,x,x1,S M,qb,qc,x2)Definitions: FpPolyProduct - L59
specialize prime_field_polynomial_convolution_at_length_exists (p) - L60
specialize prime_field_polynomial_convolution_at_length_exists (ab) - L61
specialize prime_field_polynomial_convolution_at_length_exists (ac) - L62
specialize prime_field_polynomial_convolution_at_length_exists (L) - L63
specialize prime_field_polynomial_convolution_at_length_exists (x) - L64
specialize prime_field_polynomial_convolution_at_length_exists (x1) - L65
specialize prime_field_polynomial_convolution_at_length_exists (S M) - L66
specialize prime_field_polynomial_convolution_at_length_exists (x2) - L67
apply prime_field_polynomial_convolution_at_length_exists
13Use earlier factsL68–71
14Separate the logical casesL72–73
15Establish hAL74–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial shift scale aligned sum exists.
- L74
have hA : ∃ ub. ∃ uc. ∃ vb. ∃ vc. ∃ UB. ∃ UC. ∃ VB. ∃ VC. ∃ rb. ∃ rc. PolynomialShift(pb,pc,N,ub,uc) ∧ (FpPolyScale(p,c,ab,ac,vb,vc,L) ∧ (PolynomialLeftPad(ub,uc,S N,L,UB,UC) ∧ (PolynomialLeftPad(vb,vc,L,S N,VB,VC) ∧ FpPolyAdd(p,UB,UC,VB,VC,rb,rc,L + S N))))Definitions: FpPolyAddFpPolyScalePolynomialLeftPadPolynomialShift - L75
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (p) - L76
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (c) - L77
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (ab) - L78
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (ac) - L79
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (L) - L80
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (pb) - L81
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (pc) - L82
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (N) - L83
apply prime_field_polynomial_shift_scale_aligned_sum_exists
16Use earlier factsL84–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L84
exact hp - L85
exact hc - L86
exact hold_left - L87
specialize prime_field_polynomial_convolution_bounded (p) - L88
specialize prime_field_polynomial_convolution_bounded (ab) - L89
specialize prime_field_polynomial_convolution_bounded (ac) - L90
specialize prime_field_polynomial_convolution_bounded (L) - L91
specialize prime_field_polynomial_convolution_bounded (bb) - L92
specialize prime_field_polynomial_convolution_bounded (bc) - L93
specialize prime_field_polynomial_convolution_bounded (M)
17Use earlier factsL94–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
18Separate the logical casesL99–108
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L99
cases hA - L100
cases hA_witness - L101
cases hA_witness_witness - L102
cases hA_witness_witness_witness - L103
cases hA_witness_witness_witness_witness - L104
cases hA_witness_witness_witness_witness_witness - L105
cases hA_witness_witness_witness_witness_witness_witness - L106
cases hA_witness_witness_witness_witness_witness_witness_witness - L107
cases hA_witness_witness_witness_witness_witness_witness_witness_witness - L108
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness
19Separate the logical casesL109–112
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L109
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness - L110
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right - L111
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right - L112
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right
20Construct an explicit witnessL113–122
21Construct an explicit witnessL123–127
22Separate the logical casesL128–128
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L128
split
23Use earlier factsL129–129
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L129
exact hd_witness_witness_right
24Separate the logical casesL130–130
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L130
split
25Use earlier factsL131–131
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L131
exact hd_witness_witness_left
26Separate the logical casesL132–132
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L132
split
27Use earlier factsL133–133
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L133
exact hQ_witness_witness
28Separate the logical casesL134–134
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L134
split
29Use earlier factsL135–135
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L135
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_left
30Separate the logical casesL136–136
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L136
split
31Use earlier factsL137–137
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L137
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_left
32Separate the logical casesL138–138
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L138
split
33Use earlier factsL139–139
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L139
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left
34Separate the logical casesL140–140
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L140
split
35Use earlier factsL141–141
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L141
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left
36Separate the logical casesL142–142
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L142
split
37Use earlier factsL143–152
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L143
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - L144
specialize prime_field_polynomial_convolution_right_append_equivalent (p) - L145
specialize prime_field_polynomial_convolution_right_append_equivalent (ab) - L146
specialize prime_field_polynomial_convolution_right_append_equivalent (ac) - L147
specialize prime_field_polynomial_convolution_right_append_equivalent (L) - L148
specialize prime_field_polynomial_convolution_right_append_equivalent (bb) - L149
specialize prime_field_polynomial_convolution_right_append_equivalent (bc) - L150
specialize prime_field_polynomial_convolution_right_append_equivalent (M) - L151
specialize prime_field_polynomial_convolution_right_append_equivalent (c) - L152
specialize prime_field_polynomial_convolution_right_append_equivalent (x)
38Use earlier factsL153–162
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L153
specialize prime_field_polynomial_convolution_right_append_equivalent (x1) - L154
specialize prime_field_polynomial_convolution_right_append_equivalent (pb) - L155
specialize prime_field_polynomial_convolution_right_append_equivalent (pc) - L156
specialize prime_field_polynomial_convolution_right_append_equivalent (N) - L157
specialize prime_field_polynomial_convolution_right_append_equivalent (x3) - L158
specialize prime_field_polynomial_convolution_right_append_equivalent (x4) - L159
specialize prime_field_polynomial_convolution_right_append_equivalent (x2) - L160
specialize prime_field_polynomial_convolution_right_append_equivalent (x5) - L161
specialize prime_field_polynomial_convolution_right_append_equivalent (x6) - L162
specialize prime_field_polynomial_convolution_right_append_equivalent (x7)
39Use earlier factsL163–172
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L163
specialize prime_field_polynomial_convolution_right_append_equivalent (x8) - L164
specialize prime_field_polynomial_convolution_right_append_equivalent (x9) - L165
specialize prime_field_polynomial_convolution_right_append_equivalent (x10) - L166
specialize prime_field_polynomial_convolution_right_append_equivalent (x11) - L167
specialize prime_field_polynomial_convolution_right_append_equivalent (x12) - L168
specialize prime_field_polynomial_convolution_right_append_equivalent (x13) - L169
specialize prime_field_polynomial_convolution_right_append_equivalent (x14) - L170
apply prime_field_polynomial_convolution_right_append_equivalent - L171
exact hp - L172
exact hd_witness_witness_right
40Use earlier factsL173–180
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L173
exact hd_witness_witness_left - L174
exact hP - L175
exact hQ_witness_witness - L176
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_left - L177
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_left - L178
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - L179
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - L180
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right
Original exact command ledger · 180 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro c - 0009
intro pb - 0010
intro pc - 0011
intro N - 0012
intro hp - 0013
intro hc - 0014
intro hP - 0015
have hp0 : ~(p=0) - 0016
intro hz - 0017
specialize prime_nonzero (p) - 0018
apply prime_nonzero - 0019
exact hp - 0020
exact hz - 0021
have hold : ((forall fom_index_pfp_append_exists_oldleft. (exists fom_gap_pfp_append_exists_oldleft_index_bound. fom_gap_pfp_append_exists_oldleft_index_bound + S (fom_index_pfp_append_exists_oldleft) = L) -> exists fom_value_pfp_append_exists_oldleft. ((((exists fom_beta_height_pfp_append_exists_oldleft_entry. fom_beta_height_pfp_append_exists_oldleft_entry + S (fom_value_pfp_append_exists_oldleft) = S ((S (fom_index_pfp_append_exists_oldleft)) * ac)) /\ exists fom_beta_quotient_pfp_append_exists_oldleft_entry. ab = fom_beta_quotient_pfp_append_exists_oldleft_entry * S ((S (fom_index_pfp_append_exists_oldleft)) * ac) + (fom_value_pfp_append_exists_oldleft))) /\ (exists fom_gap_pfp_append_exists_oldleft_value_bound. fom_gap_pfp_append_exists_oldleft_value_bound + S (fom_value_pfp_append_exists_oldleft) = p))) /\ (((forall fom_index_pfp_append_exists_oldright. (exists fom_gap_pfp_append_exists_oldright_index_bound. fom_gap_pfp_append_exists_oldright_index_bound + S (fom_index_pfp_append_exists_oldright) = M) -> exists fom_value_pfp_append_exists_oldright. ((((exists fom_beta_height_pfp_append_exists_oldright_entry. fom_beta_height_pfp_append_exists_oldright_entry + S (fom_value_pfp_append_exists_oldright) = S ((S (fom_index_pfp_append_exists_oldright)) * bc)) /\ exists fom_beta_quotient_pfp_append_exists_oldright_entry. bb = fom_beta_quotient_pfp_append_exists_oldright_entry * S ((S (fom_index_pfp_append_exists_oldright)) * bc) + (fom_value_pfp_append_exists_oldright))) /\ (exists fom_gap_pfp_append_exists_oldright_value_bound. fom_gap_pfp_append_exists_oldright_value_bound + S (fom_value_pfp_append_exists_oldright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_append_exists_oldcoefficients. (exists pfa_gap_append_exists_oldcoefficientsbound. pfa_gap_append_exists_oldcoefficientsbound + S (pfc_index_append_exists_oldcoefficients) = (N)) -> exists pfc_value_append_exists_oldcoefficients. ((((exists ff_h_pfp_append_exists_oldcoefficientsentry. ff_h_pfp_append_exists_oldcoefficientsentry + S (pfc_value_append_exists_oldcoefficients) = S ((S (pfc_index_append_exists_oldcoefficients)) * pc)) /\ exists ff_q_pfp_append_exists_oldcoefficientsentry. pb = ff_q_pfp_append_exists_oldcoefficientsentry * S ((S (pfc_index_append_exists_oldcoefficients)) * pc) + (pfc_value_append_exists_oldcoefficients))) /\ ((exists pfc_terms_code_append_exists_oldcoefficientscoefficient pfc_terms_scale_append_exists_oldcoefficientscoefficient pfc_natural_sum_append_exists_oldcoefficientscoefficient. ((forall pfc_index_append_exists_oldcoefficientscoefficientdiagonal. (exists pfa_gap_append_exists_oldcoefficientscoefficientdiagonalbound. pfa_gap_append_exists_oldcoefficientscoefficientdiagonalbound + S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal) = (S (pfc_index_append_exists_oldcoefficients))) -> exists pfc_value_append_exists_oldcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonalentry. ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonalentry + S (pfc_value_append_exists_oldcoefficientscoefficientdiagonal) = S ((S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) * pfc_terms_scale_append_exists_oldcoefficientscoefficient)) /\ exists ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonalentry. pfc_terms_code_append_exists_oldcoefficientscoefficient = ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonalentry * S ((S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) * pfc_terms_scale_append_exists_oldcoefficientscoefficient) + (pfc_value_append_exists_oldcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm. (((pfc_index_append_exists_oldcoefficientscoefficientdiagonal)+pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm=(pfc_index_append_exists_oldcoefficients)) /\ ((((((exists pfa_gap_append_exists_oldcoefficientscoefficientdiagonaltermleftinside. pfa_gap_append_exists_oldcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) * ac) + (pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_append_exists_oldcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_append_exists_oldcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_append_exists_oldcoefficientscoefficientdiagonal)) /\ (((pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_append_exists_oldcoefficientscoefficientdiagonaltermrightinside. pfa_gap_append_exists_oldcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_append_exists_oldcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_append_exists_oldcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_append_exists_oldcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_append_exists_oldcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_append_exists_oldcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_append_exists_oldcoefficientscoefficientdiagonal)=pfc_left_append_exists_oldcoefficientscoefficientdiagonalterm*pfc_right_append_exists_oldcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_append_exists_oldcoefficientscoefficientsum fs_v_pfc_append_exists_oldcoefficientscoefficientsum. ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_start. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_start. fs_u_pfc_append_exists_oldcoefficientscoefficientsum = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_terminal. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_append_exists_oldcoefficientscoefficient) = S ((S (S (pfc_index_append_exists_oldcoefficients))) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_terminal. fs_u_pfc_append_exists_oldcoefficientscoefficientsum = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_append_exists_oldcoefficients))) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum) + (pfc_natural_sum_append_exists_oldcoefficientscoefficient))) /\ forall fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps = S (pfc_index_append_exists_oldcoefficients)) -> exists fs_a_pfc_append_exists_oldcoefficientscoefficientsum_body_steps fs_r_pfc_append_exists_oldcoefficientscoefficientsum_body_steps fs_s_pfc_append_exists_oldcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_append_exists_oldcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_append_exists_oldcoefficientscoefficient)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_append_exists_oldcoefficientscoefficient = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_append_exists_oldcoefficientscoefficient) + (fs_a_pfc_append_exists_oldcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_append_exists_oldcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_append_exists_oldcoefficientscoefficientsum = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum) + (fs_r_pfc_append_exists_oldcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_append_exists_oldcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_append_exists_oldcoefficientscoefficientsum = fs_q_pfc_append_exists_oldcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_oldcoefficientscoefficientsum) + (fs_s_pfc_append_exists_oldcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_append_exists_oldcoefficientscoefficientsum_body_steps = fs_r_pfc_append_exists_oldcoefficientscoefficientsum_body_steps + fs_a_pfc_append_exists_oldcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_append_exists_oldcoefficientscoefficientresiduebound. pfa_gap_append_exists_oldcoefficientscoefficientresiduebound + S (pfc_value_append_exists_oldcoefficients) = (p)) /\ ((exists pfa_offset_left_append_exists_oldcoefficientscoefficientresiduecongruence pfa_offset_right_append_exists_oldcoefficientscoefficientresiduecongruence. (pfc_natural_sum_append_exists_oldcoefficientscoefficient) + (p) * pfa_offset_left_append_exists_oldcoefficientscoefficientresiduecongruence = (pfc_value_append_exists_oldcoefficients) + (p) * pfa_offset_right_append_exists_oldcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0022
exact hP - 0023
cases hold - 0024
cases hold_right - 0025
cases hold_right_right - 0026
have hd : exists db dc. ((((exists ff_h_pfp_append_exists_last. ff_h_pfp_append_exists_last + S (c) = S ((S (M)) * dc)) /\ exists ff_q_pfp_append_exists_last. db = ff_q_pfp_append_exists_last * S ((S (M)) * dc) + (c))) /\ ((forall mdr_i_pfp_append_exists_preserve mdr_a_pfp_append_exists_preserve. (exists mdr_gap_pfp_append_exists_preserveb. mdr_gap_pfp_append_exists_preserveb + S (mdr_i_pfp_append_exists_preserve) = (M)) -> (((exists ff_h_mdr_pfp_append_exists_preserveo. ff_h_mdr_pfp_append_exists_preserveo + S (mdr_a_pfp_append_exists_preserve) = S ((S (mdr_i_pfp_append_exists_preserve)) * bc)) /\ exists ff_q_mdr_pfp_append_exists_preserveo. bb = ff_q_mdr_pfp_append_exists_preserveo * S ((S (mdr_i_pfp_append_exists_preserve)) * bc) + (mdr_a_pfp_append_exists_preserve))) -> (((exists ff_h_mdr_pfp_append_exists_preserven. ff_h_mdr_pfp_append_exists_preserven + S (mdr_a_pfp_append_exists_preserve) = S ((S (mdr_i_pfp_append_exists_preserve)) * dc)) /\ exists ff_q_mdr_pfp_append_exists_preserven. db = ff_q_mdr_pfp_append_exists_preserven * S ((S (mdr_i_pfp_append_exists_preserve)) * dc) + (mdr_a_pfp_append_exists_preserve)))))) - 0027
specialize beta_prefix_extend (M) - 0028
specialize beta_prefix_extend (bb) - 0029
specialize beta_prefix_extend (bc) - 0030
specialize beta_prefix_extend (c) - 0031
apply beta_prefix_extend - 0032
cases hd - 0033
cases hd_witness - 0034
cases hd_witness_witness - 0035
have hbounded : forall fom_index_pfp_append_exists_new_bound. (exists fom_gap_pfp_append_exists_new_bound_index_bound. fom_gap_pfp_append_exists_new_bound_index_bound + S (fom_index_pfp_append_exists_new_bound) = S M) -> exists fom_value_pfp_append_exists_new_bound. ((((exists fom_beta_height_pfp_append_exists_new_bound_entry. fom_beta_height_pfp_append_exists_new_bound_entry + S (fom_value_pfp_append_exists_new_bound) = S ((S (fom_index_pfp_append_exists_new_bound)) * x1)) /\ exists fom_beta_quotient_pfp_append_exists_new_bound_entry. x = fom_beta_quotient_pfp_append_exists_new_bound_entry * S ((S (fom_index_pfp_append_exists_new_bound)) * x1) + (fom_value_pfp_append_exists_new_bound))) /\ (exists fom_gap_pfp_append_exists_new_bound_value_bound. fom_gap_pfp_append_exists_new_bound_value_bound + S (fom_value_pfp_append_exists_new_bound) = p)) - 0036
specialize matrix_rank_bounded_prefix_extend (x) - 0037
specialize matrix_rank_bounded_prefix_extend (x1) - 0038
specialize matrix_rank_bounded_prefix_extend (M) - 0039
specialize matrix_rank_bounded_prefix_extend (p) - 0040
specialize matrix_rank_bounded_prefix_extend (c) - 0041
apply matrix_rank_bounded_prefix_extend - 0042
specialize matrix_rank_bounded_prefix_transport (bb) - 0043
specialize matrix_rank_bounded_prefix_transport (bc) - 0044
specialize matrix_rank_bounded_prefix_transport (x) - 0045
specialize matrix_rank_bounded_prefix_transport (x1) - 0046
specialize matrix_rank_bounded_prefix_transport (M) - 0047
specialize matrix_rank_bounded_prefix_transport (p) - 0048
apply matrix_rank_bounded_prefix_transport - 0049
exact hd_witness_witness_right - 0050
exact hold_right_left - 0051
exact hd_witness_witness_left - 0052
exact hc - 0053
have hl : exists K. ((((L)=0 \/ (S M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((S M)=0)) /\ (((L)+(S M)=S (K))))))) - 0054
specialize polynomial_product_length_exists (L) - 0055
specialize polynomial_product_length_exists (S M) - 0056
apply polynomial_product_length_exists - 0057
cases hl - 0058
have hQ : exists qb qc. ((forall fom_index_pfp_append_exists_chosen_productleft. (exists fom_gap_pfp_append_exists_chosen_productleft_index_bound. fom_gap_pfp_append_exists_chosen_productleft_index_bound + S (fom_index_pfp_append_exists_chosen_productleft) = L) -> exists fom_value_pfp_append_exists_chosen_productleft. ((((exists fom_beta_height_pfp_append_exists_chosen_productleft_entry. fom_beta_height_pfp_append_exists_chosen_productleft_entry + S (fom_value_pfp_append_exists_chosen_productleft) = S ((S (fom_index_pfp_append_exists_chosen_productleft)) * ac)) /\ exists fom_beta_quotient_pfp_append_exists_chosen_productleft_entry. ab = fom_beta_quotient_pfp_append_exists_chosen_productleft_entry * S ((S (fom_index_pfp_append_exists_chosen_productleft)) * ac) + (fom_value_pfp_append_exists_chosen_productleft))) /\ (exists fom_gap_pfp_append_exists_chosen_productleft_value_bound. fom_gap_pfp_append_exists_chosen_productleft_value_bound + S (fom_value_pfp_append_exists_chosen_productleft) = p))) /\ (((forall fom_index_pfp_append_exists_chosen_productright. (exists fom_gap_pfp_append_exists_chosen_productright_index_bound. fom_gap_pfp_append_exists_chosen_productright_index_bound + S (fom_index_pfp_append_exists_chosen_productright) = S M) -> exists fom_value_pfp_append_exists_chosen_productright. ((((exists fom_beta_height_pfp_append_exists_chosen_productright_entry. fom_beta_height_pfp_append_exists_chosen_productright_entry + S (fom_value_pfp_append_exists_chosen_productright) = S ((S (fom_index_pfp_append_exists_chosen_productright)) * x1)) /\ exists fom_beta_quotient_pfp_append_exists_chosen_productright_entry. x = fom_beta_quotient_pfp_append_exists_chosen_productright_entry * S ((S (fom_index_pfp_append_exists_chosen_productright)) * x1) + (fom_value_pfp_append_exists_chosen_productright))) /\ (exists fom_gap_pfp_append_exists_chosen_productright_value_bound. fom_gap_pfp_append_exists_chosen_productright_value_bound + S (fom_value_pfp_append_exists_chosen_productright) = p))) /\ (((((((L)=0 \/ (S M)=0) /\ (((x2)=0)))) \/ (((~((L)=0)) /\ (((~((S M)=0)) /\ (((L)+(S M)=S (x2)))))))) /\ ((forall pfc_index_append_exists_chosen_productcoefficients. (exists pfa_gap_append_exists_chosen_productcoefficientsbound. pfa_gap_append_exists_chosen_productcoefficientsbound + S (pfc_index_append_exists_chosen_productcoefficients) = (x2)) -> exists pfc_value_append_exists_chosen_productcoefficients. ((((exists ff_h_pfp_append_exists_chosen_productcoefficientsentry. ff_h_pfp_append_exists_chosen_productcoefficientsentry + S (pfc_value_append_exists_chosen_productcoefficients) = S ((S (pfc_index_append_exists_chosen_productcoefficients)) * qc)) /\ exists ff_q_pfp_append_exists_chosen_productcoefficientsentry. qb = ff_q_pfp_append_exists_chosen_productcoefficientsentry * S ((S (pfc_index_append_exists_chosen_productcoefficients)) * qc) + (pfc_value_append_exists_chosen_productcoefficients))) /\ ((exists pfc_terms_code_append_exists_chosen_productcoefficientscoefficient pfc_terms_scale_append_exists_chosen_productcoefficientscoefficient pfc_natural_sum_append_exists_chosen_productcoefficientscoefficient. ((forall pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal. (exists pfa_gap_append_exists_chosen_productcoefficientscoefficientdiagonalbound. pfa_gap_append_exists_chosen_productcoefficientscoefficientdiagonalbound + S (pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal) = (S (pfc_index_append_exists_chosen_productcoefficients))) -> exists pfc_value_append_exists_chosen_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_append_exists_chosen_productcoefficientscoefficientdiagonalentry. ff_h_pfp_append_exists_chosen_productcoefficientscoefficientdiagonalentry + S (pfc_value_append_exists_chosen_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_append_exists_chosen_productcoefficientscoefficient)) /\ exists ff_q_pfp_append_exists_chosen_productcoefficientscoefficientdiagonalentry. pfc_terms_code_append_exists_chosen_productcoefficientscoefficient = ff_q_pfp_append_exists_chosen_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_append_exists_chosen_productcoefficientscoefficient) + (pfc_value_append_exists_chosen_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_append_exists_chosen_productcoefficientscoefficientdiagonalterm pfc_left_append_exists_chosen_productcoefficientscoefficientdiagonalterm pfc_right_append_exists_chosen_productcoefficientscoefficientdiagonalterm. (((pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal)+pfc_complement_append_exists_chosen_productcoefficientscoefficientdiagonalterm=(pfc_index_append_exists_chosen_productcoefficients)) /\ ((((((exists pfa_gap_append_exists_chosen_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_append_exists_chosen_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_append_exists_chosen_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_append_exists_chosen_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_append_exists_chosen_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_append_exists_chosen_productcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_append_exists_chosen_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal)) * ac) + (pfc_left_append_exists_chosen_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_append_exists_chosen_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_append_exists_chosen_productcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_append_exists_chosen_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_append_exists_chosen_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_append_exists_chosen_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_append_exists_chosen_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_append_exists_chosen_productcoefficientscoefficientdiagonalterm) = (S M)) /\ ((((exists ff_h_pfp_append_exists_chosen_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_append_exists_chosen_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_append_exists_chosen_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_append_exists_chosen_productcoefficientscoefficientdiagonalterm)) * x1)) /\ exists ff_q_pfp_append_exists_chosen_productcoefficientscoefficientdiagonaltermrightentry. x = ff_q_pfp_append_exists_chosen_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_append_exists_chosen_productcoefficientscoefficientdiagonalterm)) * x1) + (pfc_right_append_exists_chosen_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_append_exists_chosen_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_append_exists_chosen_productcoefficientscoefficientdiagonaltermrightoutside+(S M)=(pfc_complement_append_exists_chosen_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_append_exists_chosen_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_append_exists_chosen_productcoefficientscoefficientdiagonal)=pfc_left_append_exists_chosen_productcoefficientscoefficientdiagonalterm*pfc_right_append_exists_chosen_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_append_exists_chosen_productcoefficientscoefficientsum fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum. ((((exists fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_start. fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_start. fs_u_pfc_append_exists_chosen_productcoefficientscoefficientsum = fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_append_exists_chosen_productcoefficientscoefficient) = S ((S (S (pfc_index_append_exists_chosen_productcoefficients))) * fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_append_exists_chosen_productcoefficientscoefficientsum = fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_append_exists_chosen_productcoefficients))) * fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum) + (pfc_natural_sum_append_exists_chosen_productcoefficientscoefficient))) /\ forall fs_i_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps = S (pfc_index_append_exists_chosen_productcoefficients)) -> exists fs_a_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps fs_r_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps fs_s_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_append_exists_chosen_productcoefficientscoefficient)) /\ exists fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_append_exists_chosen_productcoefficientscoefficient = fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_append_exists_chosen_productcoefficientscoefficient) + (fs_a_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_append_exists_chosen_productcoefficientscoefficientsum = fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum) + (fs_r_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_append_exists_chosen_productcoefficientscoefficientsum = fs_q_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_append_exists_chosen_productcoefficientscoefficientsum) + (fs_s_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps = fs_r_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps + fs_a_pfc_append_exists_chosen_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_append_exists_chosen_productcoefficientscoefficientresiduebound. pfa_gap_append_exists_chosen_productcoefficientscoefficientresiduebound + S (pfc_value_append_exists_chosen_productcoefficients) = (p)) /\ ((exists pfa_offset_left_append_exists_chosen_productcoefficientscoefficientresiduecongruence pfa_offset_right_append_exists_chosen_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_append_exists_chosen_productcoefficientscoefficient) + (p) * pfa_offset_left_append_exists_chosen_productcoefficientscoefficientresiduecongruence = (pfc_value_append_exists_chosen_productcoefficients) + (p) * pfa_offset_right_append_exists_chosen_productcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0059
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0060
specialize prime_field_polynomial_convolution_at_length_exists (ab) - 0061
specialize prime_field_polynomial_convolution_at_length_exists (ac) - 0062
specialize prime_field_polynomial_convolution_at_length_exists (L) - 0063
specialize prime_field_polynomial_convolution_at_length_exists (x) - 0064
specialize prime_field_polynomial_convolution_at_length_exists (x1) - 0065
specialize prime_field_polynomial_convolution_at_length_exists (S M) - 0066
specialize prime_field_polynomial_convolution_at_length_exists (x2) - 0067
apply prime_field_polynomial_convolution_at_length_exists - 0068
exact hp0 - 0069
exact hold_left - 0070
exact hbounded - 0071
exact hl_witness - 0072
cases hQ - 0073
cases hQ_witness - 0074
have hA : exists ub uc vb vc UB UC VB VC rb rc. ((((forall mdr_i_pfp_append_exists_alignment_shiftprefix mdr_a_pfp_append_exists_alignment_shiftprefix. (exists mdr_gap_pfp_append_exists_alignment_shiftprefixb. mdr_gap_pfp_append_exists_alignment_shiftprefixb + S (mdr_i_pfp_append_exists_alignment_shiftprefix) = (N)) -> (((exists ff_h_mdr_pfp_append_exists_alignment_shiftprefixo. ff_h_mdr_pfp_append_exists_alignment_shiftprefixo + S (mdr_a_pfp_append_exists_alignment_shiftprefix) = S ((S (mdr_i_pfp_append_exists_alignment_shiftprefix)) * pc)) /\ exists ff_q_mdr_pfp_append_exists_alignment_shiftprefixo. pb = ff_q_mdr_pfp_append_exists_alignment_shiftprefixo * S ((S (mdr_i_pfp_append_exists_alignment_shiftprefix)) * pc) + (mdr_a_pfp_append_exists_alignment_shiftprefix))) -> (((exists ff_h_mdr_pfp_append_exists_alignment_shiftprefixn. ff_h_mdr_pfp_append_exists_alignment_shiftprefixn + S (mdr_a_pfp_append_exists_alignment_shiftprefix) = S ((S (mdr_i_pfp_append_exists_alignment_shiftprefix)) * uc)) /\ exists ff_q_mdr_pfp_append_exists_alignment_shiftprefixn. ub = ff_q_mdr_pfp_append_exists_alignment_shiftprefixn * S ((S (mdr_i_pfp_append_exists_alignment_shiftprefix)) * uc) + (mdr_a_pfp_append_exists_alignment_shiftprefix)))) /\ ((((exists ff_h_pfp_append_exists_alignment_shiftlast. ff_h_pfp_append_exists_alignment_shiftlast + S (0) = S ((S (N)) * uc)) /\ exists ff_q_pfp_append_exists_alignment_shiftlast. ub = ff_q_pfp_append_exists_alignment_shiftlast * S ((S (N)) * uc) + (0)))))) /\ (((((exists pfa_gap_append_exists_alignment_scalescalar. pfa_gap_append_exists_alignment_scalescalar + S (c) = (p)) /\ ((forall pfp_index_append_exists_alignment_scale. (exists pfa_gap_append_exists_alignment_scaleindex. pfa_gap_append_exists_alignment_scaleindex + S (pfp_index_append_exists_alignment_scale) = (L)) -> exists pfp_source_append_exists_alignment_scale pfp_value_append_exists_alignment_scale. ((((exists ff_h_pfp_append_exists_alignment_scalesource. ff_h_pfp_append_exists_alignment_scalesource + S (pfp_source_append_exists_alignment_scale) = S ((S (pfp_index_append_exists_alignment_scale)) * ac)) /\ exists ff_q_pfp_append_exists_alignment_scalesource. ab = ff_q_pfp_append_exists_alignment_scalesource * S ((S (pfp_index_append_exists_alignment_scale)) * ac) + (pfp_source_append_exists_alignment_scale))) /\ (((((exists ff_h_pfp_append_exists_alignment_scaletarget. ff_h_pfp_append_exists_alignment_scaletarget + S (pfp_value_append_exists_alignment_scale) = S ((S (pfp_index_append_exists_alignment_scale)) * vc)) /\ exists ff_q_pfp_append_exists_alignment_scaletarget. vb = ff_q_pfp_append_exists_alignment_scaletarget * S ((S (pfp_index_append_exists_alignment_scale)) * vc) + (pfp_value_append_exists_alignment_scale))) /\ ((((exists pfa_gap_append_exists_alignment_scaleoperationleft. pfa_gap_append_exists_alignment_scaleoperationleft + S (c) = (p)) /\ (((exists pfa_gap_append_exists_alignment_scaleoperationright. pfa_gap_append_exists_alignment_scaleoperationright + S (pfp_source_append_exists_alignment_scale) = (p)) /\ ((((exists pfa_gap_append_exists_alignment_scaleoperationresultbound. pfa_gap_append_exists_alignment_scaleoperationresultbound + S (pfp_value_append_exists_alignment_scale) = (p)) /\ ((exists pfa_offset_left_append_exists_alignment_scaleoperationresultcongruence pfa_offset_right_append_exists_alignment_scaleoperationresultcongruence. ((c) * (pfp_source_append_exists_alignment_scale)) + (p) * pfa_offset_left_append_exists_alignment_scaleoperationresultcongruence = (pfp_value_append_exists_alignment_scale) + (p) * pfa_offset_right_append_exists_alignment_scaleoperationresultcongruence))))))))))))))))) /\ (((((forall pfp_repeat_index_append_exists_alignment_leftzeros. (exists pfa_gap_append_exists_alignment_leftzerosindex. pfa_gap_append_exists_alignment_leftzerosindex + S (pfp_repeat_index_append_exists_alignment_leftzeros) = (L)) -> (((exists ff_h_pfp_append_exists_alignment_leftzerosentry. ff_h_pfp_append_exists_alignment_leftzerosentry + S (0) = S ((S (pfp_repeat_index_append_exists_alignment_leftzeros)) * UC)) /\ exists ff_q_pfp_append_exists_alignment_leftzerosentry. UB = ff_q_pfp_append_exists_alignment_leftzerosentry * S ((S (pfp_repeat_index_append_exists_alignment_leftzeros)) * UC) + (0)))) /\ ((forall pfrep_index_append_exists_alignment_left pfrep_value_append_exists_alignment_left. (exists pfa_gap_append_exists_alignment_leftbound. pfa_gap_append_exists_alignment_leftbound + S (pfrep_index_append_exists_alignment_left) = (S N)) -> (((exists ff_h_pfp_append_exists_alignment_leftinput. ff_h_pfp_append_exists_alignment_leftinput + S (pfrep_value_append_exists_alignment_left) = S ((S (pfrep_index_append_exists_alignment_left)) * uc)) /\ exists ff_q_pfp_append_exists_alignment_leftinput. ub = ff_q_pfp_append_exists_alignment_leftinput * S ((S (pfrep_index_append_exists_alignment_left)) * uc) + (pfrep_value_append_exists_alignment_left))) -> (((exists ff_h_pfp_append_exists_alignment_leftoutput. ff_h_pfp_append_exists_alignment_leftoutput + S (pfrep_value_append_exists_alignment_left) = S ((S ((L)+pfrep_index_append_exists_alignment_left)) * UC)) /\ exists ff_q_pfp_append_exists_alignment_leftoutput. UB = ff_q_pfp_append_exists_alignment_leftoutput * S ((S ((L)+pfrep_index_append_exists_alignment_left)) * UC) + (pfrep_value_append_exists_alignment_left))))))) /\ (((((forall pfp_repeat_index_append_exists_alignment_rightzeros. (exists pfa_gap_append_exists_alignment_rightzerosindex. pfa_gap_append_exists_alignment_rightzerosindex + S (pfp_repeat_index_append_exists_alignment_rightzeros) = (S N)) -> (((exists ff_h_pfp_append_exists_alignment_rightzerosentry. ff_h_pfp_append_exists_alignment_rightzerosentry + S (0) = S ((S (pfp_repeat_index_append_exists_alignment_rightzeros)) * VC)) /\ exists ff_q_pfp_append_exists_alignment_rightzerosentry. VB = ff_q_pfp_append_exists_alignment_rightzerosentry * S ((S (pfp_repeat_index_append_exists_alignment_rightzeros)) * VC) + (0)))) /\ ((forall pfrep_index_append_exists_alignment_right pfrep_value_append_exists_alignment_right. (exists pfa_gap_append_exists_alignment_rightbound. pfa_gap_append_exists_alignment_rightbound + S (pfrep_index_append_exists_alignment_right) = (L)) -> (((exists ff_h_pfp_append_exists_alignment_rightinput. ff_h_pfp_append_exists_alignment_rightinput + S (pfrep_value_append_exists_alignment_right) = S ((S (pfrep_index_append_exists_alignment_right)) * vc)) /\ exists ff_q_pfp_append_exists_alignment_rightinput. vb = ff_q_pfp_append_exists_alignment_rightinput * S ((S (pfrep_index_append_exists_alignment_right)) * vc) + (pfrep_value_append_exists_alignment_right))) -> (((exists ff_h_pfp_append_exists_alignment_rightoutput. ff_h_pfp_append_exists_alignment_rightoutput + S (pfrep_value_append_exists_alignment_right) = S ((S ((S N)+pfrep_index_append_exists_alignment_right)) * VC)) /\ exists ff_q_pfp_append_exists_alignment_rightoutput. VB = ff_q_pfp_append_exists_alignment_rightoutput * S ((S ((S N)+pfrep_index_append_exists_alignment_right)) * VC) + (pfrep_value_append_exists_alignment_right))))))) /\ ((forall pfp_index_append_exists_alignment_sum. (exists pfa_gap_append_exists_alignment_sumindex. pfa_gap_append_exists_alignment_sumindex + S (pfp_index_append_exists_alignment_sum) = (L+S N)) -> exists pfp_left_append_exists_alignment_sum pfp_right_append_exists_alignment_sum pfp_value_append_exists_alignment_sum. ((((exists ff_h_pfp_append_exists_alignment_sumleft. ff_h_pfp_append_exists_alignment_sumleft + S (pfp_left_append_exists_alignment_sum) = S ((S (pfp_index_append_exists_alignment_sum)) * UC)) /\ exists ff_q_pfp_append_exists_alignment_sumleft. UB = ff_q_pfp_append_exists_alignment_sumleft * S ((S (pfp_index_append_exists_alignment_sum)) * UC) + (pfp_left_append_exists_alignment_sum))) /\ (((((exists ff_h_pfp_append_exists_alignment_sumright. ff_h_pfp_append_exists_alignment_sumright + S (pfp_right_append_exists_alignment_sum) = S ((S (pfp_index_append_exists_alignment_sum)) * VC)) /\ exists ff_q_pfp_append_exists_alignment_sumright. VB = ff_q_pfp_append_exists_alignment_sumright * S ((S (pfp_index_append_exists_alignment_sum)) * VC) + (pfp_right_append_exists_alignment_sum))) /\ (((((exists ff_h_pfp_append_exists_alignment_sumtarget. ff_h_pfp_append_exists_alignment_sumtarget + S (pfp_value_append_exists_alignment_sum) = S ((S (pfp_index_append_exists_alignment_sum)) * rc)) /\ exists ff_q_pfp_append_exists_alignment_sumtarget. rb = ff_q_pfp_append_exists_alignment_sumtarget * S ((S (pfp_index_append_exists_alignment_sum)) * rc) + (pfp_value_append_exists_alignment_sum))) /\ ((((exists pfa_gap_append_exists_alignment_sumoperationleft. pfa_gap_append_exists_alignment_sumoperationleft + S (pfp_left_append_exists_alignment_sum) = (p)) /\ (((exists pfa_gap_append_exists_alignment_sumoperationright. pfa_gap_append_exists_alignment_sumoperationright + S (pfp_right_append_exists_alignment_sum) = (p)) /\ ((((exists pfa_gap_append_exists_alignment_sumoperationresultbound. pfa_gap_append_exists_alignment_sumoperationresultbound + S (pfp_value_append_exists_alignment_sum) = (p)) /\ ((exists pfa_offset_left_append_exists_alignment_sumoperationresultcongruence pfa_offset_right_append_exists_alignment_sumoperationresultcongruence. ((pfp_left_append_exists_alignment_sum) + (pfp_right_append_exists_alignment_sum)) + (p) * pfa_offset_left_append_exists_alignment_sumoperationresultcongruence = (pfp_value_append_exists_alignment_sum) + (p) * pfa_offset_right_append_exists_alignment_sumoperationresultcongruence)))))))))))))))))))))))) - 0075
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (p) - 0076
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (c) - 0077
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (ab) - 0078
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (ac) - 0079
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (L) - 0080
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (pb) - 0081
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (pc) - 0082
specialize prime_field_polynomial_shift_scale_aligned_sum_exists (N) - 0083
apply prime_field_polynomial_shift_scale_aligned_sum_exists - 0084
exact hp - 0085
exact hc - 0086
exact hold_left - 0087
specialize prime_field_polynomial_convolution_bounded (p) - 0088
specialize prime_field_polynomial_convolution_bounded (ab) - 0089
specialize prime_field_polynomial_convolution_bounded (ac) - 0090
specialize prime_field_polynomial_convolution_bounded (L) - 0091
specialize prime_field_polynomial_convolution_bounded (bb) - 0092
specialize prime_field_polynomial_convolution_bounded (bc) - 0093
specialize prime_field_polynomial_convolution_bounded (M) - 0094
specialize prime_field_polynomial_convolution_bounded (pb) - 0095
specialize prime_field_polynomial_convolution_bounded (pc) - 0096
specialize prime_field_polynomial_convolution_bounded (N) - 0097
apply prime_field_polynomial_convolution_bounded - 0098
exact hP - 0099
cases hA - 0100
cases hA_witness - 0101
cases hA_witness_witness - 0102
cases hA_witness_witness_witness - 0103
cases hA_witness_witness_witness_witness - 0104
cases hA_witness_witness_witness_witness_witness - 0105
cases hA_witness_witness_witness_witness_witness_witness - 0106
cases hA_witness_witness_witness_witness_witness_witness_witness - 0107
cases hA_witness_witness_witness_witness_witness_witness_witness_witness - 0108
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness - 0109
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness - 0110
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right - 0111
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0112
cases hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0113
exists x - 0114
exists x1 - 0115
exists x2 - 0116
exists x3 - 0117
exists x4 - 0118
exists x5 - 0119
exists x6 - 0120
exists x7 - 0121
exists x8 - 0122
exists x9 - 0123
exists x10 - 0124
exists x11 - 0125
exists x12 - 0126
exists x13 - 0127
exists x14 - 0128
split - 0129
exact hd_witness_witness_right - 0130
split - 0131
exact hd_witness_witness_left - 0132
split - 0133
exact hQ_witness_witness - 0134
split - 0135
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_left - 0136
split - 0137
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0138
split - 0139
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0140
split - 0141
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0142
split - 0143
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0144
specialize prime_field_polynomial_convolution_right_append_equivalent (p) - 0145
specialize prime_field_polynomial_convolution_right_append_equivalent (ab) - 0146
specialize prime_field_polynomial_convolution_right_append_equivalent (ac) - 0147
specialize prime_field_polynomial_convolution_right_append_equivalent (L) - 0148
specialize prime_field_polynomial_convolution_right_append_equivalent (bb) - 0149
specialize prime_field_polynomial_convolution_right_append_equivalent (bc) - 0150
specialize prime_field_polynomial_convolution_right_append_equivalent (M) - 0151
specialize prime_field_polynomial_convolution_right_append_equivalent (c) - 0152
specialize prime_field_polynomial_convolution_right_append_equivalent (x) - 0153
specialize prime_field_polynomial_convolution_right_append_equivalent (x1) - 0154
specialize prime_field_polynomial_convolution_right_append_equivalent (pb) - 0155
specialize prime_field_polynomial_convolution_right_append_equivalent (pc) - 0156
specialize prime_field_polynomial_convolution_right_append_equivalent (N) - 0157
specialize prime_field_polynomial_convolution_right_append_equivalent (x3) - 0158
specialize prime_field_polynomial_convolution_right_append_equivalent (x4) - 0159
specialize prime_field_polynomial_convolution_right_append_equivalent (x2) - 0160
specialize prime_field_polynomial_convolution_right_append_equivalent (x5) - 0161
specialize prime_field_polynomial_convolution_right_append_equivalent (x6) - 0162
specialize prime_field_polynomial_convolution_right_append_equivalent (x7) - 0163
specialize prime_field_polynomial_convolution_right_append_equivalent (x8) - 0164
specialize prime_field_polynomial_convolution_right_append_equivalent (x9) - 0165
specialize prime_field_polynomial_convolution_right_append_equivalent (x10) - 0166
specialize prime_field_polynomial_convolution_right_append_equivalent (x11) - 0167
specialize prime_field_polynomial_convolution_right_append_equivalent (x12) - 0168
specialize prime_field_polynomial_convolution_right_append_equivalent (x13) - 0169
specialize prime_field_polynomial_convolution_right_append_equivalent (x14) - 0170
apply prime_field_polynomial_convolution_right_append_equivalent - 0171
exact hp - 0172
exact hd_witness_witness_right - 0173
exact hd_witness_witness_left - 0174
exact hP - 0175
exact hQ_witness_witness - 0176
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_left - 0177
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0178
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0179
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0180
exact hA_witness_witness_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right