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 cb cc N BB BC t CB CC K. (~(p=0)) -> (~(L=0)) -> (~(M=0)) -> (((forall pfp_repeat_index_nonempty_factor_padding_rightzeros. (exists pfa_gap_nonempty_factor_padding_rightzerosindex. pfa_gap_nonempty_factor_padding_rightzerosindex + S (pfp_repeat_index_nonempty_factor_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_nonempty_factor_padding_rightzerosentry. ff_h_pfp_nonempty_factor_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_nonempty_factor_padding_rightzeros)) * BC)) /\ exists ff_q_pfp_nonempty_factor_padding_rightzerosentry. BB = ff_q_pfp_nonempty_factor_padding_rightzerosentry * S ((S (pfp_repeat_index_nonempty_factor_padding_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_nonempty_factor_padding_right pfrep_value_nonempty_factor_padding_right. (exists pfa_gap_nonempty_factor_padding_rightbound. pfa_gap_nonempty_factor_padding_rightbound + S (pfrep_index_nonempty_factor_padding_right) = (M)) -> (((exists ff_h_pfp_nonempty_factor_padding_rightinput. ff_h_pfp_nonempty_factor_padding_rightinput + S (pfrep_value_nonempty_factor_padding_right) = S ((S (pfrep_index_nonempty_factor_padding_right)) * bc)) /\ exists ff_q_pfp_nonempty_factor_padding_rightinput. bb = ff_q_pfp_nonempty_factor_padding_rightinput * S ((S (pfrep_index_nonempty_factor_padding_right)) * bc) + (pfrep_value_nonempty_factor_padding_right))) -> (((exists ff_h_pfp_nonempty_factor_padding_rightoutput. ff_h_pfp_nonempty_factor_padding_rightoutput + S (pfrep_value_nonempty_factor_padding_right) = S ((S ((t)+pfrep_index_nonempty_factor_padding_right)) * BC)) /\ exists ff_q_pfp_nonempty_factor_padding_rightoutput. BB = ff_q_pfp_nonempty_factor_padding_rightoutput * S ((S ((t)+pfrep_index_nonempty_factor_padding_right)) * BC) + (pfrep_value_nonempty_factor_padding_right))))))) -> (((forall fom_index_pfp_nonempty_old_rightleft. (exists fom_gap_pfp_nonempty_old_rightleft_index_bound. fom_gap_pfp_nonempty_old_rightleft_index_bound + S (fom_index_pfp_nonempty_old_rightleft) = L) -> exists fom_value_pfp_nonempty_old_rightleft. ((((exists fom_beta_height_pfp_nonempty_old_rightleft_entry. fom_beta_height_pfp_nonempty_old_rightleft_entry + S (fom_value_pfp_nonempty_old_rightleft) = S ((S (fom_index_pfp_nonempty_old_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_nonempty_old_rightleft_entry. ab = fom_beta_quotient_pfp_nonempty_old_rightleft_entry * S ((S (fom_index_pfp_nonempty_old_rightleft)) * ac) + (fom_value_pfp_nonempty_old_rightleft))) /\ (exists fom_gap_pfp_nonempty_old_rightleft_value_bound. fom_gap_pfp_nonempty_old_rightleft_value_bound + S (fom_value_pfp_nonempty_old_rightleft) = p))) /\ (((forall fom_index_pfp_nonempty_old_rightright. (exists fom_gap_pfp_nonempty_old_rightright_index_bound. fom_gap_pfp_nonempty_old_rightright_index_bound + S (fom_index_pfp_nonempty_old_rightright) = M) -> exists fom_value_pfp_nonempty_old_rightright. ((((exists fom_beta_height_pfp_nonempty_old_rightright_entry. fom_beta_height_pfp_nonempty_old_rightright_entry + S (fom_value_pfp_nonempty_old_rightright) = S ((S (fom_index_pfp_nonempty_old_rightright)) * bc)) /\ exists fom_beta_quotient_pfp_nonempty_old_rightright_entry. bb = fom_beta_quotient_pfp_nonempty_old_rightright_entry * S ((S (fom_index_pfp_nonempty_old_rightright)) * bc) + (fom_value_pfp_nonempty_old_rightright))) /\ (exists fom_gap_pfp_nonempty_old_rightright_value_bound. fom_gap_pfp_nonempty_old_rightright_value_bound + S (fom_value_pfp_nonempty_old_rightright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_nonempty_old_rightcoefficients. (exists pfa_gap_nonempty_old_rightcoefficientsbound. pfa_gap_nonempty_old_rightcoefficientsbound + S (pfc_index_nonempty_old_rightcoefficients) = (N)) -> exists pfc_value_nonempty_old_rightcoefficients. ((((exists ff_h_pfp_nonempty_old_rightcoefficientsentry. ff_h_pfp_nonempty_old_rightcoefficientsentry + S (pfc_value_nonempty_old_rightcoefficients) = S ((S (pfc_index_nonempty_old_rightcoefficients)) * cc)) /\ exists ff_q_pfp_nonempty_old_rightcoefficientsentry. cb = ff_q_pfp_nonempty_old_rightcoefficientsentry * S ((S (pfc_index_nonempty_old_rightcoefficients)) * cc) + (pfc_value_nonempty_old_rightcoefficients))) /\ ((exists pfc_terms_code_nonempty_old_rightcoefficientscoefficient pfc_terms_scale_nonempty_old_rightcoefficientscoefficient pfc_natural_sum_nonempty_old_rightcoefficientscoefficient. ((forall pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal. (exists pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonalbound. pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonalbound + S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal) = (S (pfc_index_nonempty_old_rightcoefficients))) -> exists pfc_value_nonempty_old_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonalentry + S (pfc_value_nonempty_old_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_old_rightcoefficientscoefficient)) /\ exists ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_nonempty_old_rightcoefficientscoefficient = ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_old_rightcoefficientscoefficient) + (pfc_value_nonempty_old_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm. (((pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)+pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm=(pfc_index_nonempty_old_rightcoefficients)) /\ ((((((exists pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_nonempty_old_rightcoefficientscoefficientdiagonal)=pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm*pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_start. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_start. fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_nonempty_old_rightcoefficientscoefficient) = S ((S (S (pfc_index_nonempty_old_rightcoefficients))) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_nonempty_old_rightcoefficients))) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum) + (pfc_natural_sum_nonempty_old_rightcoefficientscoefficient))) /\ forall fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps = S (pfc_index_nonempty_old_rightcoefficients)) -> exists fs_a_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps fs_r_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps fs_s_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_old_rightcoefficientscoefficient)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_nonempty_old_rightcoefficientscoefficient = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_old_rightcoefficientscoefficient) + (fs_a_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum) + (fs_r_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum) + (fs_s_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_old_rightcoefficientscoefficientresiduebound. pfa_gap_nonempty_old_rightcoefficientscoefficientresiduebound + S (pfc_value_nonempty_old_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_nonempty_old_rightcoefficientscoefficientresiduecongruence pfa_offset_right_nonempty_old_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_nonempty_old_rightcoefficientscoefficient) + (p) * pfa_offset_left_nonempty_old_rightcoefficientscoefficientresiduecongruence = (pfc_value_nonempty_old_rightcoefficients) + (p) * pfa_offset_right_nonempty_old_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_nonempty_new_rightleft. (exists fom_gap_pfp_nonempty_new_rightleft_index_bound. fom_gap_pfp_nonempty_new_rightleft_index_bound + S (fom_index_pfp_nonempty_new_rightleft) = L) -> exists fom_value_pfp_nonempty_new_rightleft. ((((exists fom_beta_height_pfp_nonempty_new_rightleft_entry. fom_beta_height_pfp_nonempty_new_rightleft_entry + S (fom_value_pfp_nonempty_new_rightleft) = S ((S (fom_index_pfp_nonempty_new_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_nonempty_new_rightleft_entry. ab = fom_beta_quotient_pfp_nonempty_new_rightleft_entry * S ((S (fom_index_pfp_nonempty_new_rightleft)) * ac) + (fom_value_pfp_nonempty_new_rightleft))) /\ (exists fom_gap_pfp_nonempty_new_rightleft_value_bound. fom_gap_pfp_nonempty_new_rightleft_value_bound + S (fom_value_pfp_nonempty_new_rightleft) = p))) /\ (((forall fom_index_pfp_nonempty_new_rightright. (exists fom_gap_pfp_nonempty_new_rightright_index_bound. fom_gap_pfp_nonempty_new_rightright_index_bound + S (fom_index_pfp_nonempty_new_rightright) = t+M) -> exists fom_value_pfp_nonempty_new_rightright. ((((exists fom_beta_height_pfp_nonempty_new_rightright_entry. fom_beta_height_pfp_nonempty_new_rightright_entry + S (fom_value_pfp_nonempty_new_rightright) = S ((S (fom_index_pfp_nonempty_new_rightright)) * BC)) /\ exists fom_beta_quotient_pfp_nonempty_new_rightright_entry. BB = fom_beta_quotient_pfp_nonempty_new_rightright_entry * S ((S (fom_index_pfp_nonempty_new_rightright)) * BC) + (fom_value_pfp_nonempty_new_rightright))) /\ (exists fom_gap_pfp_nonempty_new_rightright_value_bound. fom_gap_pfp_nonempty_new_rightright_value_bound + S (fom_value_pfp_nonempty_new_rightright) = p))) /\ (((((((L)=0 \/ (t+M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((t+M)=0)) /\ (((L)+(t+M)=S (K)))))))) /\ ((forall pfc_index_nonempty_new_rightcoefficients. (exists pfa_gap_nonempty_new_rightcoefficientsbound. pfa_gap_nonempty_new_rightcoefficientsbound + S (pfc_index_nonempty_new_rightcoefficients) = (K)) -> exists pfc_value_nonempty_new_rightcoefficients. ((((exists ff_h_pfp_nonempty_new_rightcoefficientsentry. ff_h_pfp_nonempty_new_rightcoefficientsentry + S (pfc_value_nonempty_new_rightcoefficients) = S ((S (pfc_index_nonempty_new_rightcoefficients)) * CC)) /\ exists ff_q_pfp_nonempty_new_rightcoefficientsentry. CB = ff_q_pfp_nonempty_new_rightcoefficientsentry * S ((S (pfc_index_nonempty_new_rightcoefficients)) * CC) + (pfc_value_nonempty_new_rightcoefficients))) /\ ((exists pfc_terms_code_nonempty_new_rightcoefficientscoefficient pfc_terms_scale_nonempty_new_rightcoefficientscoefficient pfc_natural_sum_nonempty_new_rightcoefficientscoefficient. ((forall pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal. (exists pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonalbound. pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonalbound + S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal) = (S (pfc_index_nonempty_new_rightcoefficients))) -> exists pfc_value_nonempty_new_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonalentry + S (pfc_value_nonempty_new_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_new_rightcoefficientscoefficient)) /\ exists ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_nonempty_new_rightcoefficientscoefficient = ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_new_rightcoefficientscoefficient) + (pfc_value_nonempty_new_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm. (((pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)+pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm=(pfc_index_nonempty_new_rightcoefficients)) /\ ((((((exists pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm)) * BC)) /\ exists ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermrightentry. BB = ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm)) * BC) + (pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermrightoutside+(t+M)=(pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_nonempty_new_rightcoefficientscoefficientdiagonal)=pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm*pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_start. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_start. fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_nonempty_new_rightcoefficientscoefficient) = S ((S (S (pfc_index_nonempty_new_rightcoefficients))) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_nonempty_new_rightcoefficients))) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum) + (pfc_natural_sum_nonempty_new_rightcoefficientscoefficient))) /\ forall fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps = S (pfc_index_nonempty_new_rightcoefficients)) -> exists fs_a_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps fs_r_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps fs_s_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_new_rightcoefficientscoefficient)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_nonempty_new_rightcoefficientscoefficient = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_new_rightcoefficientscoefficient) + (fs_a_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum) + (fs_r_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum) + (fs_s_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_new_rightcoefficientscoefficientresiduebound. pfa_gap_nonempty_new_rightcoefficientscoefficientresiduebound + S (pfc_value_nonempty_new_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_nonempty_new_rightcoefficientscoefficientresiduecongruence pfa_offset_right_nonempty_new_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_nonempty_new_rightcoefficientscoefficient) + (p) * pfa_offset_left_nonempty_new_rightcoefficientscoefficientresiduecongruence = (pfc_value_nonempty_new_rightcoefficients) + (p) * pfa_offset_right_nonempty_new_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((K=t+N) /\ ((((forall pfp_repeat_index_nonempty_product_padding_rightzeros. (exists pfa_gap_nonempty_product_padding_rightzerosindex. pfa_gap_nonempty_product_padding_rightzerosindex + S (pfp_repeat_index_nonempty_product_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_nonempty_product_padding_rightzerosentry. ff_h_pfp_nonempty_product_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_nonempty_product_padding_rightzeros)) * CC)) /\ exists ff_q_pfp_nonempty_product_padding_rightzerosentry. CB = ff_q_pfp_nonempty_product_padding_rightzerosentry * S ((S (pfp_repeat_index_nonempty_product_padding_rightzeros)) * CC) + (0)))) /\ ((forall pfrep_index_nonempty_product_padding_right pfrep_value_nonempty_product_padding_right. (exists pfa_gap_nonempty_product_padding_rightbound. pfa_gap_nonempty_product_padding_rightbound + S (pfrep_index_nonempty_product_padding_right) = (N)) -> (((exists ff_h_pfp_nonempty_product_padding_rightinput. ff_h_pfp_nonempty_product_padding_rightinput + S (pfrep_value_nonempty_product_padding_right) = S ((S (pfrep_index_nonempty_product_padding_right)) * cc)) /\ exists ff_q_pfp_nonempty_product_padding_rightinput. cb = ff_q_pfp_nonempty_product_padding_rightinput * S ((S (pfrep_index_nonempty_product_padding_right)) * cc) + (pfrep_value_nonempty_product_padding_right))) -> (((exists ff_h_pfp_nonempty_product_padding_rightoutput. ff_h_pfp_nonempty_product_padding_rightoutput + S (pfrep_value_nonempty_product_padding_right) = S ((S ((t)+pfrep_index_nonempty_product_padding_right)) * CC)) /\ exists ff_q_pfp_nonempty_product_padding_rightoutput. CB = ff_q_pfp_nonempty_product_padding_rightoutput * S ((S ((t)+pfrep_index_nonempty_product_padding_right)) * CC) + (pfrep_value_nonempty_product_padding_right))))))))))Constructive proof overview
Generated structural guide
Two actual nonempty-factor products are related by exact leading-zero output padding and its proved length equation; no raw beta-code equality is asserted.
The unchanged tactic script uses 8 declared prerequisites and contains 142 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
PX006B polynomial_product_length_left_padding_right le_trans Alpha theorem; checked-use authorized le_add_right Alpha theorem; checked-use authorized PX0069 prime_field_convolution_coefficient_before_left_padding_right prime_field_convolution_prefix_entry Alpha theorem; checked-use authorized matrix_recursive_lt_add_left Alpha theorem; checked-use authorized prime_field_convolution_coefficient_functional Alpha theorem; checked-use authorized PX0067 prime_field_convolution_coefficient_left_padding_rightDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–22
04Separate the logical casesL23–28
05Establish hlengthL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial product length left padding right.
- L29
have hlength : K=t+N - L30
specialize polynomial_product_length_left_padding_right (L) - L31
specialize polynomial_product_length_left_padding_right (M) - L32
specialize polynomial_product_length_left_padding_right (N) - L33
specialize polynomial_product_length_left_padding_right (t) - L34
specialize polynomial_product_length_left_padding_right (K) - L35
apply polynomial_product_length_left_padding_right - L36
exact hc_right_right_left - L37
exact hL - L38
exact hM
06Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hn_right_right_left
07Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
split
08Use earlier factsL41–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L41
exact hlength
09Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
10Fix variables and assumptionsL43–44
11Establish hvL45–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hn right right right.
- L45
have hv : ∃ r. BetaAt(CB,CC,i,r) ∧ FpConvolutionCoefficient(p,ab,ac,L,BB,BC,t + M,i,r)Definitions: FpConvolutionCoefficientBetaAt - L46
specialize hn_right_right_right (i) - L47
apply hn_right_right_right - L48
specialize le_trans (S i) - L49
specialize le_trans (t) - L50
specialize le_trans (K) - L51
apply le_trans - L52
exact hi - L53
rewrite hlength - L54
specialize le_add_right (t)
12Use earlier factsL55–56
13Separate the logical casesL57–58
14Establish hzeroL59–68
Establish this local claim before using it. It is not an additional assumption.
- L59
have hzero : x=0 - L60
specialize prime_field_convolution_coefficient_before_left_padding_right (p) - L61
specialize prime_field_convolution_coefficient_before_left_padding_right (ab) - L62
specialize prime_field_convolution_coefficient_before_left_padding_right (ac) - L63
specialize prime_field_convolution_coefficient_before_left_padding_right (L) - L64
specialize prime_field_convolution_coefficient_before_left_padding_right (bb) - L65
specialize prime_field_convolution_coefficient_before_left_padding_right (bc) - L66
specialize prime_field_convolution_coefficient_before_left_padding_right (M) - L67
specialize prime_field_convolution_coefficient_before_left_padding_right (BB) - L68
specialize prime_field_convolution_coefficient_before_left_padding_right (BC)
15Use earlier factsL69–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
specialize prime_field_convolution_coefficient_before_left_padding_right (t) - L70
specialize prime_field_convolution_coefficient_before_left_padding_right (i) - L71
specialize prime_field_convolution_coefficient_before_left_padding_right (x) - L72
apply prime_field_convolution_coefficient_before_left_padding_right - L73
exact hp - L74
exact hpad - L75
exact hi - L76
exact hv_witness_right
16Calculate and transport equalitiesL77–78
17Use earlier factsL79–79
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L79
exact hv_witness_left
18Fix variables and assumptionsL80–83
19Establish hcoefficientL84–93
Establish this local claim before using it. It is not an additional assumption.
- L84
have hcoefficient : FpConvolutionCoefficient(p,ab,ac,L,bb,bc,M,i,a)Definitions: FpConvolutionCoefficient - L85
specialize prime_field_convolution_prefix_entry (p) - L86
specialize prime_field_convolution_prefix_entry (ab) - L87
specialize prime_field_convolution_prefix_entry (ac) - L88
specialize prime_field_convolution_prefix_entry (L) - L89
specialize prime_field_convolution_prefix_entry (bb) - L90
specialize prime_field_convolution_prefix_entry (bc) - L91
specialize prime_field_convolution_prefix_entry (M) - L92
specialize prime_field_convolution_prefix_entry (cb) - L93
specialize prime_field_convolution_prefix_entry (cc)
20Use earlier factsL94–100
Instantiate or apply named facts and discharge the corresponding proof obligations.
21Establish hvL101–109
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hn right right right.
- L101
have hv : ∃ r. BetaAt(CB,CC,t + i,r) ∧ FpConvolutionCoefficient(p,ab,ac,L,BB,BC,t + M,t + i,r)Definitions: FpConvolutionCoefficientBetaAt - L102
specialize hn_right_right_right (t+i) - L103
apply hn_right_right_right - L104
rewrite hlength - L105
specialize matrix_recursive_lt_add_left (i) - L106
specialize matrix_recursive_lt_add_left (N) - L107
specialize matrix_recursive_lt_add_left (t) - L108
apply matrix_recursive_lt_add_left - L109
exact hi
22Separate the logical casesL110–111
23Establish heqL112–121
Establish this local claim before using it. It is not an additional assumption.
- L112
have heq : x=a - L113
specialize prime_field_convolution_coefficient_functional (p) - L114
specialize prime_field_convolution_coefficient_functional (ab) - L115
specialize prime_field_convolution_coefficient_functional (ac) - L116
specialize prime_field_convolution_coefficient_functional (L) - L117
specialize prime_field_convolution_coefficient_functional (BB) - L118
specialize prime_field_convolution_coefficient_functional (BC) - L119
specialize prime_field_convolution_coefficient_functional (t+M) - L120
specialize prime_field_convolution_coefficient_functional (t+i) - L121
specialize prime_field_convolution_coefficient_functional (x)
24Use earlier factsL122–131
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L122
specialize prime_field_convolution_coefficient_functional (a) - L123
apply prime_field_convolution_coefficient_functional - L124
exact hv_witness_right - L125
specialize prime_field_convolution_coefficient_left_padding_right (p) - L126
specialize prime_field_convolution_coefficient_left_padding_right (ab) - L127
specialize prime_field_convolution_coefficient_left_padding_right (ac) - L128
specialize prime_field_convolution_coefficient_left_padding_right (L) - L129
specialize prime_field_convolution_coefficient_left_padding_right (bb) - L130
specialize prime_field_convolution_coefficient_left_padding_right (bc) - L131
specialize prime_field_convolution_coefficient_left_padding_right (M)
25Use earlier factsL132–139
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L132
specialize prime_field_convolution_coefficient_left_padding_right (BB) - L133
specialize prime_field_convolution_coefficient_left_padding_right (BC) - L134
specialize prime_field_convolution_coefficient_left_padding_right (t) - L135
specialize prime_field_convolution_coefficient_left_padding_right (i) - L136
specialize prime_field_convolution_coefficient_left_padding_right (a) - L137
apply prime_field_convolution_coefficient_left_padding_right - L138
exact hpad - L139
exact hcoefficient
26Calculate and transport equalitiesL140–141
27Use earlier factsL142–142
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L142
exact hv_witness_left
Original exact command ledger · 142 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro cb - 0009
intro cc - 0010
intro N - 0011
intro BB - 0012
intro BC - 0013
intro t - 0014
intro CB - 0015
intro CC - 0016
intro K - 0017
intro hp - 0018
intro hL - 0019
intro hM - 0020
intro hpad - 0021
intro hc - 0022
intro hn - 0023
cases hc - 0024
cases hc_right - 0025
cases hc_right_right - 0026
cases hn - 0027
cases hn_right - 0028
cases hn_right_right - 0029
have hlength : K=t+N - 0030
specialize polynomial_product_length_left_padding_right (L) - 0031
specialize polynomial_product_length_left_padding_right (M) - 0032
specialize polynomial_product_length_left_padding_right (N) - 0033
specialize polynomial_product_length_left_padding_right (t) - 0034
specialize polynomial_product_length_left_padding_right (K) - 0035
apply polynomial_product_length_left_padding_right - 0036
exact hc_right_right_left - 0037
exact hL - 0038
exact hM - 0039
exact hn_right_right_left - 0040
split - 0041
exact hlength - 0042
split - 0043
intro i - 0044
intro hi - 0045
have hv : exists r. ((((exists ff_h_pfp_nonempty_zero_entry_right. ff_h_pfp_nonempty_zero_entry_right + S (r) = S ((S (i)) * CC)) /\ exists ff_q_pfp_nonempty_zero_entry_right. CB = ff_q_pfp_nonempty_zero_entry_right * S ((S (i)) * CC) + (r))) /\ ((exists pfc_terms_code_nonempty_zero_coefficient_right pfc_terms_scale_nonempty_zero_coefficient_right pfc_natural_sum_nonempty_zero_coefficient_right. ((forall pfc_index_nonempty_zero_coefficient_rightdiagonal. (exists pfa_gap_nonempty_zero_coefficient_rightdiagonalbound. pfa_gap_nonempty_zero_coefficient_rightdiagonalbound + S (pfc_index_nonempty_zero_coefficient_rightdiagonal) = (S (i))) -> exists pfc_value_nonempty_zero_coefficient_rightdiagonal. ((((exists ff_h_pfp_nonempty_zero_coefficient_rightdiagonalentry. ff_h_pfp_nonempty_zero_coefficient_rightdiagonalentry + S (pfc_value_nonempty_zero_coefficient_rightdiagonal) = S ((S (pfc_index_nonempty_zero_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_zero_coefficient_right)) /\ exists ff_q_pfp_nonempty_zero_coefficient_rightdiagonalentry. pfc_terms_code_nonempty_zero_coefficient_right = ff_q_pfp_nonempty_zero_coefficient_rightdiagonalentry * S ((S (pfc_index_nonempty_zero_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_zero_coefficient_right) + (pfc_value_nonempty_zero_coefficient_rightdiagonal))) /\ ((exists pfc_complement_nonempty_zero_coefficient_rightdiagonalterm pfc_left_nonempty_zero_coefficient_rightdiagonalterm pfc_right_nonempty_zero_coefficient_rightdiagonalterm. (((pfc_index_nonempty_zero_coefficient_rightdiagonal)+pfc_complement_nonempty_zero_coefficient_rightdiagonalterm=(i)) /\ ((((((exists pfa_gap_nonempty_zero_coefficient_rightdiagonaltermleftinside. pfa_gap_nonempty_zero_coefficient_rightdiagonaltermleftinside + S (pfc_index_nonempty_zero_coefficient_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_zero_coefficient_rightdiagonaltermleftentry. ff_h_pfp_nonempty_zero_coefficient_rightdiagonaltermleftentry + S (pfc_left_nonempty_zero_coefficient_rightdiagonalterm) = S ((S (pfc_index_nonempty_zero_coefficient_rightdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_zero_coefficient_rightdiagonaltermleftentry. ab = ff_q_pfp_nonempty_zero_coefficient_rightdiagonaltermleftentry * S ((S (pfc_index_nonempty_zero_coefficient_rightdiagonal)) * ac) + (pfc_left_nonempty_zero_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_zero_coefficient_rightdiagonaltermleftoutside. pfc_gap_nonempty_zero_coefficient_rightdiagonaltermleftoutside+(L)=(pfc_index_nonempty_zero_coefficient_rightdiagonal)) /\ (((pfc_left_nonempty_zero_coefficient_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_zero_coefficient_rightdiagonaltermrightinside. pfa_gap_nonempty_zero_coefficient_rightdiagonaltermrightinside + S (pfc_complement_nonempty_zero_coefficient_rightdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_nonempty_zero_coefficient_rightdiagonaltermrightentry. ff_h_pfp_nonempty_zero_coefficient_rightdiagonaltermrightentry + S (pfc_right_nonempty_zero_coefficient_rightdiagonalterm) = S ((S (pfc_complement_nonempty_zero_coefficient_rightdiagonalterm)) * BC)) /\ exists ff_q_pfp_nonempty_zero_coefficient_rightdiagonaltermrightentry. BB = ff_q_pfp_nonempty_zero_coefficient_rightdiagonaltermrightentry * S ((S (pfc_complement_nonempty_zero_coefficient_rightdiagonalterm)) * BC) + (pfc_right_nonempty_zero_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_zero_coefficient_rightdiagonaltermrightoutside. pfc_gap_nonempty_zero_coefficient_rightdiagonaltermrightoutside+(t+M)=(pfc_complement_nonempty_zero_coefficient_rightdiagonalterm)) /\ (((pfc_right_nonempty_zero_coefficient_rightdiagonalterm)=0))))) /\ (((pfc_value_nonempty_zero_coefficient_rightdiagonal)=pfc_left_nonempty_zero_coefficient_rightdiagonalterm*pfc_right_nonempty_zero_coefficient_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_zero_coefficient_rightsum fs_v_pfc_nonempty_zero_coefficient_rightsum. ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_start. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_zero_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_start. fs_u_pfc_nonempty_zero_coefficient_rightsum = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_zero_coefficient_rightsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_terminal. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_terminal + S (pfc_natural_sum_nonempty_zero_coefficient_right) = S ((S (S (i))) * fs_v_pfc_nonempty_zero_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_terminal. fs_u_pfc_nonempty_zero_coefficient_rightsum = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_terminal * S ((S (S (i))) * fs_v_pfc_nonempty_zero_coefficient_rightsum) + (pfc_natural_sum_nonempty_zero_coefficient_right))) /\ forall fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps. (exists fs_lt_pfc_nonempty_zero_coefficient_rightsum_body_steps_bound. fs_lt_pfc_nonempty_zero_coefficient_rightsum_body_steps_bound + S fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps = S (i)) -> exists fs_a_pfc_nonempty_zero_coefficient_rightsum_body_steps fs_r_pfc_nonempty_zero_coefficient_rightsum_body_steps fs_s_pfc_nonempty_zero_coefficient_rightsum_body_steps. ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_summand. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_summand + S (fs_a_pfc_nonempty_zero_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_zero_coefficient_right)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_summand. pfc_terms_code_nonempty_zero_coefficient_right = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_zero_coefficient_right) + (fs_a_pfc_nonempty_zero_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_partial. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_partial + S (fs_r_pfc_nonempty_zero_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_partial. fs_u_pfc_nonempty_zero_coefficient_rightsum = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_rightsum) + (fs_r_pfc_nonempty_zero_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_successor. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_successor + S (fs_s_pfc_nonempty_zero_coefficient_rightsum_body_steps) = S ((S (S fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_successor. fs_u_pfc_nonempty_zero_coefficient_rightsum = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_rightsum) + (fs_s_pfc_nonempty_zero_coefficient_rightsum_body_steps))) /\ fs_s_pfc_nonempty_zero_coefficient_rightsum_body_steps = fs_r_pfc_nonempty_zero_coefficient_rightsum_body_steps + fs_a_pfc_nonempty_zero_coefficient_rightsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_zero_coefficient_rightresiduebound. pfa_gap_nonempty_zero_coefficient_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_nonempty_zero_coefficient_rightresiduecongruence pfa_offset_right_nonempty_zero_coefficient_rightresiduecongruence. (pfc_natural_sum_nonempty_zero_coefficient_right) + (p) * pfa_offset_left_nonempty_zero_coefficient_rightresiduecongruence = (r) + (p) * pfa_offset_right_nonempty_zero_coefficient_rightresiduecongruence))))))))))) - 0046
specialize hn_right_right_right (i) - 0047
apply hn_right_right_right - 0048
specialize le_trans (S i) - 0049
specialize le_trans (t) - 0050
specialize le_trans (K) - 0051
apply le_trans - 0052
exact hi - 0053
rewrite hlength - 0054
specialize le_add_right (t) - 0055
specialize le_add_right (N) - 0056
apply le_add_right - 0057
cases hv - 0058
cases hv_witness - 0059
have hzero : x=0 - 0060
specialize prime_field_convolution_coefficient_before_left_padding_right (p) - 0061
specialize prime_field_convolution_coefficient_before_left_padding_right (ab) - 0062
specialize prime_field_convolution_coefficient_before_left_padding_right (ac) - 0063
specialize prime_field_convolution_coefficient_before_left_padding_right (L) - 0064
specialize prime_field_convolution_coefficient_before_left_padding_right (bb) - 0065
specialize prime_field_convolution_coefficient_before_left_padding_right (bc) - 0066
specialize prime_field_convolution_coefficient_before_left_padding_right (M) - 0067
specialize prime_field_convolution_coefficient_before_left_padding_right (BB) - 0068
specialize prime_field_convolution_coefficient_before_left_padding_right (BC) - 0069
specialize prime_field_convolution_coefficient_before_left_padding_right (t) - 0070
specialize prime_field_convolution_coefficient_before_left_padding_right (i) - 0071
specialize prime_field_convolution_coefficient_before_left_padding_right (x) - 0072
apply prime_field_convolution_coefficient_before_left_padding_right - 0073
exact hp - 0074
exact hpad - 0075
exact hi - 0076
exact hv_witness_right - 0077
rewrite hzero at hv_witness_left - 0078
rewrite hzero at hv_witness_left - 0079
exact hv_witness_left - 0080
intro i - 0081
intro a - 0082
intro hi - 0083
intro ha - 0084
have hcoefficient : exists pfc_terms_code_nonempty_original_coefficient_right pfc_terms_scale_nonempty_original_coefficient_right pfc_natural_sum_nonempty_original_coefficient_right. ((forall pfc_index_nonempty_original_coefficient_rightdiagonal. (exists pfa_gap_nonempty_original_coefficient_rightdiagonalbound. pfa_gap_nonempty_original_coefficient_rightdiagonalbound + S (pfc_index_nonempty_original_coefficient_rightdiagonal) = (S (i))) -> exists pfc_value_nonempty_original_coefficient_rightdiagonal. ((((exists ff_h_pfp_nonempty_original_coefficient_rightdiagonalentry. ff_h_pfp_nonempty_original_coefficient_rightdiagonalentry + S (pfc_value_nonempty_original_coefficient_rightdiagonal) = S ((S (pfc_index_nonempty_original_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_original_coefficient_right)) /\ exists ff_q_pfp_nonempty_original_coefficient_rightdiagonalentry. pfc_terms_code_nonempty_original_coefficient_right = ff_q_pfp_nonempty_original_coefficient_rightdiagonalentry * S ((S (pfc_index_nonempty_original_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_original_coefficient_right) + (pfc_value_nonempty_original_coefficient_rightdiagonal))) /\ ((exists pfc_complement_nonempty_original_coefficient_rightdiagonalterm pfc_left_nonempty_original_coefficient_rightdiagonalterm pfc_right_nonempty_original_coefficient_rightdiagonalterm. (((pfc_index_nonempty_original_coefficient_rightdiagonal)+pfc_complement_nonempty_original_coefficient_rightdiagonalterm=(i)) /\ ((((((exists pfa_gap_nonempty_original_coefficient_rightdiagonaltermleftinside. pfa_gap_nonempty_original_coefficient_rightdiagonaltermleftinside + S (pfc_index_nonempty_original_coefficient_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_original_coefficient_rightdiagonaltermleftentry. ff_h_pfp_nonempty_original_coefficient_rightdiagonaltermleftentry + S (pfc_left_nonempty_original_coefficient_rightdiagonalterm) = S ((S (pfc_index_nonempty_original_coefficient_rightdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_original_coefficient_rightdiagonaltermleftentry. ab = ff_q_pfp_nonempty_original_coefficient_rightdiagonaltermleftentry * S ((S (pfc_index_nonempty_original_coefficient_rightdiagonal)) * ac) + (pfc_left_nonempty_original_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_original_coefficient_rightdiagonaltermleftoutside. pfc_gap_nonempty_original_coefficient_rightdiagonaltermleftoutside+(L)=(pfc_index_nonempty_original_coefficient_rightdiagonal)) /\ (((pfc_left_nonempty_original_coefficient_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_original_coefficient_rightdiagonaltermrightinside. pfa_gap_nonempty_original_coefficient_rightdiagonaltermrightinside + S (pfc_complement_nonempty_original_coefficient_rightdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_original_coefficient_rightdiagonaltermrightentry. ff_h_pfp_nonempty_original_coefficient_rightdiagonaltermrightentry + S (pfc_right_nonempty_original_coefficient_rightdiagonalterm) = S ((S (pfc_complement_nonempty_original_coefficient_rightdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_original_coefficient_rightdiagonaltermrightentry. bb = ff_q_pfp_nonempty_original_coefficient_rightdiagonaltermrightentry * S ((S (pfc_complement_nonempty_original_coefficient_rightdiagonalterm)) * bc) + (pfc_right_nonempty_original_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_original_coefficient_rightdiagonaltermrightoutside. pfc_gap_nonempty_original_coefficient_rightdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_original_coefficient_rightdiagonalterm)) /\ (((pfc_right_nonempty_original_coefficient_rightdiagonalterm)=0))))) /\ (((pfc_value_nonempty_original_coefficient_rightdiagonal)=pfc_left_nonempty_original_coefficient_rightdiagonalterm*pfc_right_nonempty_original_coefficient_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_original_coefficient_rightsum fs_v_pfc_nonempty_original_coefficient_rightsum. ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_start. fs_h_pfc_nonempty_original_coefficient_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_original_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_start. fs_u_pfc_nonempty_original_coefficient_rightsum = fs_q_pfc_nonempty_original_coefficient_rightsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_original_coefficient_rightsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_terminal. fs_h_pfc_nonempty_original_coefficient_rightsum_body_terminal + S (pfc_natural_sum_nonempty_original_coefficient_right) = S ((S (S (i))) * fs_v_pfc_nonempty_original_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_terminal. fs_u_pfc_nonempty_original_coefficient_rightsum = fs_q_pfc_nonempty_original_coefficient_rightsum_body_terminal * S ((S (S (i))) * fs_v_pfc_nonempty_original_coefficient_rightsum) + (pfc_natural_sum_nonempty_original_coefficient_right))) /\ forall fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps. (exists fs_lt_pfc_nonempty_original_coefficient_rightsum_body_steps_bound. fs_lt_pfc_nonempty_original_coefficient_rightsum_body_steps_bound + S fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps = S (i)) -> exists fs_a_pfc_nonempty_original_coefficient_rightsum_body_steps fs_r_pfc_nonempty_original_coefficient_rightsum_body_steps fs_s_pfc_nonempty_original_coefficient_rightsum_body_steps. ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_summand. fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_summand + S (fs_a_pfc_nonempty_original_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_original_coefficient_right)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_summand. pfc_terms_code_nonempty_original_coefficient_right = fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_original_coefficient_right) + (fs_a_pfc_nonempty_original_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_partial. fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_partial + S (fs_r_pfc_nonempty_original_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_partial. fs_u_pfc_nonempty_original_coefficient_rightsum = fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_rightsum) + (fs_r_pfc_nonempty_original_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_successor. fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_successor + S (fs_s_pfc_nonempty_original_coefficient_rightsum_body_steps) = S ((S (S fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_successor. fs_u_pfc_nonempty_original_coefficient_rightsum = fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_rightsum) + (fs_s_pfc_nonempty_original_coefficient_rightsum_body_steps))) /\ fs_s_pfc_nonempty_original_coefficient_rightsum_body_steps = fs_r_pfc_nonempty_original_coefficient_rightsum_body_steps + fs_a_pfc_nonempty_original_coefficient_rightsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_original_coefficient_rightresiduebound. pfa_gap_nonempty_original_coefficient_rightresiduebound + S (a) = (p)) /\ ((exists pfa_offset_left_nonempty_original_coefficient_rightresiduecongruence pfa_offset_right_nonempty_original_coefficient_rightresiduecongruence. (pfc_natural_sum_nonempty_original_coefficient_right) + (p) * pfa_offset_left_nonempty_original_coefficient_rightresiduecongruence = (a) + (p) * pfa_offset_right_nonempty_original_coefficient_rightresiduecongruence)))))))) - 0085
specialize prime_field_convolution_prefix_entry (p) - 0086
specialize prime_field_convolution_prefix_entry (ab) - 0087
specialize prime_field_convolution_prefix_entry (ac) - 0088
specialize prime_field_convolution_prefix_entry (L) - 0089
specialize prime_field_convolution_prefix_entry (bb) - 0090
specialize prime_field_convolution_prefix_entry (bc) - 0091
specialize prime_field_convolution_prefix_entry (M) - 0092
specialize prime_field_convolution_prefix_entry (cb) - 0093
specialize prime_field_convolution_prefix_entry (cc) - 0094
specialize prime_field_convolution_prefix_entry (N) - 0095
specialize prime_field_convolution_prefix_entry (i) - 0096
specialize prime_field_convolution_prefix_entry (a) - 0097
apply prime_field_convolution_prefix_entry - 0098
exact hc_right_right_right - 0099
exact hi - 0100
exact ha - 0101
have hv : exists r. ((((exists ff_h_pfp_nonempty_shifted_entry_right. ff_h_pfp_nonempty_shifted_entry_right + S (r) = S ((S (t+i)) * CC)) /\ exists ff_q_pfp_nonempty_shifted_entry_right. CB = ff_q_pfp_nonempty_shifted_entry_right * S ((S (t+i)) * CC) + (r))) /\ ((exists pfc_terms_code_nonempty_shifted_coefficient_right pfc_terms_scale_nonempty_shifted_coefficient_right pfc_natural_sum_nonempty_shifted_coefficient_right. ((forall pfc_index_nonempty_shifted_coefficient_rightdiagonal. (exists pfa_gap_nonempty_shifted_coefficient_rightdiagonalbound. pfa_gap_nonempty_shifted_coefficient_rightdiagonalbound + S (pfc_index_nonempty_shifted_coefficient_rightdiagonal) = (S (t+i))) -> exists pfc_value_nonempty_shifted_coefficient_rightdiagonal. ((((exists ff_h_pfp_nonempty_shifted_coefficient_rightdiagonalentry. ff_h_pfp_nonempty_shifted_coefficient_rightdiagonalentry + S (pfc_value_nonempty_shifted_coefficient_rightdiagonal) = S ((S (pfc_index_nonempty_shifted_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_shifted_coefficient_right)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_rightdiagonalentry. pfc_terms_code_nonempty_shifted_coefficient_right = ff_q_pfp_nonempty_shifted_coefficient_rightdiagonalentry * S ((S (pfc_index_nonempty_shifted_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_shifted_coefficient_right) + (pfc_value_nonempty_shifted_coefficient_rightdiagonal))) /\ ((exists pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm pfc_left_nonempty_shifted_coefficient_rightdiagonalterm pfc_right_nonempty_shifted_coefficient_rightdiagonalterm. (((pfc_index_nonempty_shifted_coefficient_rightdiagonal)+pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm=(t+i)) /\ ((((((exists pfa_gap_nonempty_shifted_coefficient_rightdiagonaltermleftinside. pfa_gap_nonempty_shifted_coefficient_rightdiagonaltermleftinside + S (pfc_index_nonempty_shifted_coefficient_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_shifted_coefficient_rightdiagonaltermleftentry. ff_h_pfp_nonempty_shifted_coefficient_rightdiagonaltermleftentry + S (pfc_left_nonempty_shifted_coefficient_rightdiagonalterm) = S ((S (pfc_index_nonempty_shifted_coefficient_rightdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_rightdiagonaltermleftentry. ab = ff_q_pfp_nonempty_shifted_coefficient_rightdiagonaltermleftentry * S ((S (pfc_index_nonempty_shifted_coefficient_rightdiagonal)) * ac) + (pfc_left_nonempty_shifted_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_shifted_coefficient_rightdiagonaltermleftoutside. pfc_gap_nonempty_shifted_coefficient_rightdiagonaltermleftoutside+(L)=(pfc_index_nonempty_shifted_coefficient_rightdiagonal)) /\ (((pfc_left_nonempty_shifted_coefficient_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_shifted_coefficient_rightdiagonaltermrightinside. pfa_gap_nonempty_shifted_coefficient_rightdiagonaltermrightinside + S (pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_nonempty_shifted_coefficient_rightdiagonaltermrightentry. ff_h_pfp_nonempty_shifted_coefficient_rightdiagonaltermrightentry + S (pfc_right_nonempty_shifted_coefficient_rightdiagonalterm) = S ((S (pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm)) * BC)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_rightdiagonaltermrightentry. BB = ff_q_pfp_nonempty_shifted_coefficient_rightdiagonaltermrightentry * S ((S (pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm)) * BC) + (pfc_right_nonempty_shifted_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_shifted_coefficient_rightdiagonaltermrightoutside. pfc_gap_nonempty_shifted_coefficient_rightdiagonaltermrightoutside+(t+M)=(pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm)) /\ (((pfc_right_nonempty_shifted_coefficient_rightdiagonalterm)=0))))) /\ (((pfc_value_nonempty_shifted_coefficient_rightdiagonal)=pfc_left_nonempty_shifted_coefficient_rightdiagonalterm*pfc_right_nonempty_shifted_coefficient_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_shifted_coefficient_rightsum fs_v_pfc_nonempty_shifted_coefficient_rightsum. ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_start. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_start. fs_u_pfc_nonempty_shifted_coefficient_rightsum = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_terminal. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_terminal + S (pfc_natural_sum_nonempty_shifted_coefficient_right) = S ((S (S (t+i))) * fs_v_pfc_nonempty_shifted_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_terminal. fs_u_pfc_nonempty_shifted_coefficient_rightsum = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_terminal * S ((S (S (t+i))) * fs_v_pfc_nonempty_shifted_coefficient_rightsum) + (pfc_natural_sum_nonempty_shifted_coefficient_right))) /\ forall fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps. (exists fs_lt_pfc_nonempty_shifted_coefficient_rightsum_body_steps_bound. fs_lt_pfc_nonempty_shifted_coefficient_rightsum_body_steps_bound + S fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps = S (t+i)) -> exists fs_a_pfc_nonempty_shifted_coefficient_rightsum_body_steps fs_r_pfc_nonempty_shifted_coefficient_rightsum_body_steps fs_s_pfc_nonempty_shifted_coefficient_rightsum_body_steps. ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_summand. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_summand + S (fs_a_pfc_nonempty_shifted_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_shifted_coefficient_right)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_summand. pfc_terms_code_nonempty_shifted_coefficient_right = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_shifted_coefficient_right) + (fs_a_pfc_nonempty_shifted_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_partial. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_partial + S (fs_r_pfc_nonempty_shifted_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_partial. fs_u_pfc_nonempty_shifted_coefficient_rightsum = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum) + (fs_r_pfc_nonempty_shifted_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_successor. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_successor + S (fs_s_pfc_nonempty_shifted_coefficient_rightsum_body_steps) = S ((S (S fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_successor. fs_u_pfc_nonempty_shifted_coefficient_rightsum = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum) + (fs_s_pfc_nonempty_shifted_coefficient_rightsum_body_steps))) /\ fs_s_pfc_nonempty_shifted_coefficient_rightsum_body_steps = fs_r_pfc_nonempty_shifted_coefficient_rightsum_body_steps + fs_a_pfc_nonempty_shifted_coefficient_rightsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_shifted_coefficient_rightresiduebound. pfa_gap_nonempty_shifted_coefficient_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_nonempty_shifted_coefficient_rightresiduecongruence pfa_offset_right_nonempty_shifted_coefficient_rightresiduecongruence. (pfc_natural_sum_nonempty_shifted_coefficient_right) + (p) * pfa_offset_left_nonempty_shifted_coefficient_rightresiduecongruence = (r) + (p) * pfa_offset_right_nonempty_shifted_coefficient_rightresiduecongruence))))))))))) - 0102
specialize hn_right_right_right (t+i) - 0103
apply hn_right_right_right - 0104
rewrite hlength - 0105
specialize matrix_recursive_lt_add_left (i) - 0106
specialize matrix_recursive_lt_add_left (N) - 0107
specialize matrix_recursive_lt_add_left (t) - 0108
apply matrix_recursive_lt_add_left - 0109
exact hi - 0110
cases hv - 0111
cases hv_witness - 0112
have heq : x=a - 0113
specialize prime_field_convolution_coefficient_functional (p) - 0114
specialize prime_field_convolution_coefficient_functional (ab) - 0115
specialize prime_field_convolution_coefficient_functional (ac) - 0116
specialize prime_field_convolution_coefficient_functional (L) - 0117
specialize prime_field_convolution_coefficient_functional (BB) - 0118
specialize prime_field_convolution_coefficient_functional (BC) - 0119
specialize prime_field_convolution_coefficient_functional (t+M) - 0120
specialize prime_field_convolution_coefficient_functional (t+i) - 0121
specialize prime_field_convolution_coefficient_functional (x) - 0122
specialize prime_field_convolution_coefficient_functional (a) - 0123
apply prime_field_convolution_coefficient_functional - 0124
exact hv_witness_right - 0125
specialize prime_field_convolution_coefficient_left_padding_right (p) - 0126
specialize prime_field_convolution_coefficient_left_padding_right (ab) - 0127
specialize prime_field_convolution_coefficient_left_padding_right (ac) - 0128
specialize prime_field_convolution_coefficient_left_padding_right (L) - 0129
specialize prime_field_convolution_coefficient_left_padding_right (bb) - 0130
specialize prime_field_convolution_coefficient_left_padding_right (bc) - 0131
specialize prime_field_convolution_coefficient_left_padding_right (M) - 0132
specialize prime_field_convolution_coefficient_left_padding_right (BB) - 0133
specialize prime_field_convolution_coefficient_left_padding_right (BC) - 0134
specialize prime_field_convolution_coefficient_left_padding_right (t) - 0135
specialize prime_field_convolution_coefficient_left_padding_right (i) - 0136
specialize prime_field_convolution_coefficient_left_padding_right (a) - 0137
apply prime_field_convolution_coefficient_left_padding_right - 0138
exact hpad - 0139
exact hcoefficient - 0140
rewrite heq at hv_witness_left - 0141
rewrite heq at hv_witness_left - 0142
exact hv_witness_left