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 AB AC t CB CC K. (~(p=0)) -> (((forall pfp_repeat_index_product_factor_padding_leftzeros. (exists pfa_gap_product_factor_padding_leftzerosindex. pfa_gap_product_factor_padding_leftzerosindex + S (pfp_repeat_index_product_factor_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_product_factor_padding_leftzerosentry. ff_h_pfp_product_factor_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_product_factor_padding_leftzeros)) * AC)) /\ exists ff_q_pfp_product_factor_padding_leftzerosentry. AB = ff_q_pfp_product_factor_padding_leftzerosentry * S ((S (pfp_repeat_index_product_factor_padding_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_product_factor_padding_left pfrep_value_product_factor_padding_left. (exists pfa_gap_product_factor_padding_leftbound. pfa_gap_product_factor_padding_leftbound + S (pfrep_index_product_factor_padding_left) = (L)) -> (((exists ff_h_pfp_product_factor_padding_leftinput. ff_h_pfp_product_factor_padding_leftinput + S (pfrep_value_product_factor_padding_left) = S ((S (pfrep_index_product_factor_padding_left)) * ac)) /\ exists ff_q_pfp_product_factor_padding_leftinput. ab = ff_q_pfp_product_factor_padding_leftinput * S ((S (pfrep_index_product_factor_padding_left)) * ac) + (pfrep_value_product_factor_padding_left))) -> (((exists ff_h_pfp_product_factor_padding_leftoutput. ff_h_pfp_product_factor_padding_leftoutput + S (pfrep_value_product_factor_padding_left) = S ((S ((t)+pfrep_index_product_factor_padding_left)) * AC)) /\ exists ff_q_pfp_product_factor_padding_leftoutput. AB = ff_q_pfp_product_factor_padding_leftoutput * S ((S ((t)+pfrep_index_product_factor_padding_left)) * AC) + (pfrep_value_product_factor_padding_left))))))) -> (((forall fom_index_pfp_product_original_leftleft. (exists fom_gap_pfp_product_original_leftleft_index_bound. fom_gap_pfp_product_original_leftleft_index_bound + S (fom_index_pfp_product_original_leftleft) = L) -> exists fom_value_pfp_product_original_leftleft. ((((exists fom_beta_height_pfp_product_original_leftleft_entry. fom_beta_height_pfp_product_original_leftleft_entry + S (fom_value_pfp_product_original_leftleft) = S ((S (fom_index_pfp_product_original_leftleft)) * ac)) /\ exists fom_beta_quotient_pfp_product_original_leftleft_entry. ab = fom_beta_quotient_pfp_product_original_leftleft_entry * S ((S (fom_index_pfp_product_original_leftleft)) * ac) + (fom_value_pfp_product_original_leftleft))) /\ (exists fom_gap_pfp_product_original_leftleft_value_bound. fom_gap_pfp_product_original_leftleft_value_bound + S (fom_value_pfp_product_original_leftleft) = p))) /\ (((forall fom_index_pfp_product_original_leftright. (exists fom_gap_pfp_product_original_leftright_index_bound. fom_gap_pfp_product_original_leftright_index_bound + S (fom_index_pfp_product_original_leftright) = M) -> exists fom_value_pfp_product_original_leftright. ((((exists fom_beta_height_pfp_product_original_leftright_entry. fom_beta_height_pfp_product_original_leftright_entry + S (fom_value_pfp_product_original_leftright) = S ((S (fom_index_pfp_product_original_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_product_original_leftright_entry. bb = fom_beta_quotient_pfp_product_original_leftright_entry * S ((S (fom_index_pfp_product_original_leftright)) * bc) + (fom_value_pfp_product_original_leftright))) /\ (exists fom_gap_pfp_product_original_leftright_value_bound. fom_gap_pfp_product_original_leftright_value_bound + S (fom_value_pfp_product_original_leftright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_product_original_leftcoefficients. (exists pfa_gap_product_original_leftcoefficientsbound. pfa_gap_product_original_leftcoefficientsbound + S (pfc_index_product_original_leftcoefficients) = (N)) -> exists pfc_value_product_original_leftcoefficients. ((((exists ff_h_pfp_product_original_leftcoefficientsentry. ff_h_pfp_product_original_leftcoefficientsentry + S (pfc_value_product_original_leftcoefficients) = S ((S (pfc_index_product_original_leftcoefficients)) * cc)) /\ exists ff_q_pfp_product_original_leftcoefficientsentry. cb = ff_q_pfp_product_original_leftcoefficientsentry * S ((S (pfc_index_product_original_leftcoefficients)) * cc) + (pfc_value_product_original_leftcoefficients))) /\ ((exists pfc_terms_code_product_original_leftcoefficientscoefficient pfc_terms_scale_product_original_leftcoefficientscoefficient pfc_natural_sum_product_original_leftcoefficientscoefficient. ((forall pfc_index_product_original_leftcoefficientscoefficientdiagonal. (exists pfa_gap_product_original_leftcoefficientscoefficientdiagonalbound. pfa_gap_product_original_leftcoefficientscoefficientdiagonalbound + S (pfc_index_product_original_leftcoefficientscoefficientdiagonal) = (S (pfc_index_product_original_leftcoefficients))) -> exists pfc_value_product_original_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_product_original_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_product_original_leftcoefficientscoefficientdiagonalentry + S (pfc_value_product_original_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_product_original_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_original_leftcoefficientscoefficient)) /\ exists ff_q_pfp_product_original_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_product_original_leftcoefficientscoefficient = ff_q_pfp_product_original_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_product_original_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_original_leftcoefficientscoefficient) + (pfc_value_product_original_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm pfc_left_product_original_leftcoefficientscoefficientdiagonalterm pfc_right_product_original_leftcoefficientscoefficientdiagonalterm. (((pfc_index_product_original_leftcoefficientscoefficientdiagonal)+pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm=(pfc_index_product_original_leftcoefficients)) /\ ((((((exists pfa_gap_product_original_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_product_original_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_product_original_leftcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_product_original_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_product_original_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_product_original_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_product_original_leftcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_product_original_leftcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_product_original_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_product_original_leftcoefficientscoefficientdiagonal)) * ac) + (pfc_left_product_original_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_original_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_product_original_leftcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_product_original_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_product_original_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_product_original_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_product_original_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_product_original_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_product_original_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_product_original_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_product_original_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_product_original_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_product_original_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_original_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_product_original_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_product_original_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_product_original_leftcoefficientscoefficientdiagonal)=pfc_left_product_original_leftcoefficientscoefficientdiagonalterm*pfc_right_product_original_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_product_original_leftcoefficientscoefficientsum fs_v_pfc_product_original_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_start. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_start. fs_u_pfc_product_original_leftcoefficientscoefficientsum = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_product_original_leftcoefficientscoefficient) = S ((S (S (pfc_index_product_original_leftcoefficients))) * fs_v_pfc_product_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_product_original_leftcoefficientscoefficientsum = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_product_original_leftcoefficients))) * fs_v_pfc_product_original_leftcoefficientscoefficientsum) + (pfc_natural_sum_product_original_leftcoefficientscoefficient))) /\ forall fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_product_original_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_product_original_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps = S (pfc_index_product_original_leftcoefficients)) -> exists fs_a_pfc_product_original_leftcoefficientscoefficientsum_body_steps fs_r_pfc_product_original_leftcoefficientscoefficientsum_body_steps fs_s_pfc_product_original_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_product_original_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_original_leftcoefficientscoefficient)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_product_original_leftcoefficientscoefficient = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_original_leftcoefficientscoefficient) + (fs_a_pfc_product_original_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_product_original_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_product_original_leftcoefficientscoefficientsum = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum) + (fs_r_pfc_product_original_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_product_original_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_product_original_leftcoefficientscoefficientsum = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum) + (fs_s_pfc_product_original_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_product_original_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_product_original_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_product_original_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_product_original_leftcoefficientscoefficientresiduebound. pfa_gap_product_original_leftcoefficientscoefficientresiduebound + S (pfc_value_product_original_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_product_original_leftcoefficientscoefficientresiduecongruence pfa_offset_right_product_original_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_product_original_leftcoefficientscoefficient) + (p) * pfa_offset_left_product_original_leftcoefficientscoefficientresiduecongruence = (pfc_value_product_original_leftcoefficients) + (p) * pfa_offset_right_product_original_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_product_padded_leftleft. (exists fom_gap_pfp_product_padded_leftleft_index_bound. fom_gap_pfp_product_padded_leftleft_index_bound + S (fom_index_pfp_product_padded_leftleft) = t+L) -> exists fom_value_pfp_product_padded_leftleft. ((((exists fom_beta_height_pfp_product_padded_leftleft_entry. fom_beta_height_pfp_product_padded_leftleft_entry + S (fom_value_pfp_product_padded_leftleft) = S ((S (fom_index_pfp_product_padded_leftleft)) * AC)) /\ exists fom_beta_quotient_pfp_product_padded_leftleft_entry. AB = fom_beta_quotient_pfp_product_padded_leftleft_entry * S ((S (fom_index_pfp_product_padded_leftleft)) * AC) + (fom_value_pfp_product_padded_leftleft))) /\ (exists fom_gap_pfp_product_padded_leftleft_value_bound. fom_gap_pfp_product_padded_leftleft_value_bound + S (fom_value_pfp_product_padded_leftleft) = p))) /\ (((forall fom_index_pfp_product_padded_leftright. (exists fom_gap_pfp_product_padded_leftright_index_bound. fom_gap_pfp_product_padded_leftright_index_bound + S (fom_index_pfp_product_padded_leftright) = M) -> exists fom_value_pfp_product_padded_leftright. ((((exists fom_beta_height_pfp_product_padded_leftright_entry. fom_beta_height_pfp_product_padded_leftright_entry + S (fom_value_pfp_product_padded_leftright) = S ((S (fom_index_pfp_product_padded_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_product_padded_leftright_entry. bb = fom_beta_quotient_pfp_product_padded_leftright_entry * S ((S (fom_index_pfp_product_padded_leftright)) * bc) + (fom_value_pfp_product_padded_leftright))) /\ (exists fom_gap_pfp_product_padded_leftright_value_bound. fom_gap_pfp_product_padded_leftright_value_bound + S (fom_value_pfp_product_padded_leftright) = p))) /\ (((((((t+L)=0 \/ (M)=0) /\ (((K)=0)))) \/ (((~((t+L)=0)) /\ (((~((M)=0)) /\ (((t+L)+(M)=S (K)))))))) /\ ((forall pfc_index_product_padded_leftcoefficients. (exists pfa_gap_product_padded_leftcoefficientsbound. pfa_gap_product_padded_leftcoefficientsbound + S (pfc_index_product_padded_leftcoefficients) = (K)) -> exists pfc_value_product_padded_leftcoefficients. ((((exists ff_h_pfp_product_padded_leftcoefficientsentry. ff_h_pfp_product_padded_leftcoefficientsentry + S (pfc_value_product_padded_leftcoefficients) = S ((S (pfc_index_product_padded_leftcoefficients)) * CC)) /\ exists ff_q_pfp_product_padded_leftcoefficientsentry. CB = ff_q_pfp_product_padded_leftcoefficientsentry * S ((S (pfc_index_product_padded_leftcoefficients)) * CC) + (pfc_value_product_padded_leftcoefficients))) /\ ((exists pfc_terms_code_product_padded_leftcoefficientscoefficient pfc_terms_scale_product_padded_leftcoefficientscoefficient pfc_natural_sum_product_padded_leftcoefficientscoefficient. ((forall pfc_index_product_padded_leftcoefficientscoefficientdiagonal. (exists pfa_gap_product_padded_leftcoefficientscoefficientdiagonalbound. pfa_gap_product_padded_leftcoefficientscoefficientdiagonalbound + S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal) = (S (pfc_index_product_padded_leftcoefficients))) -> exists pfc_value_product_padded_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonalentry + S (pfc_value_product_padded_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_padded_leftcoefficientscoefficient)) /\ exists ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_product_padded_leftcoefficientscoefficient = ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_padded_leftcoefficientscoefficient) + (pfc_value_product_padded_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm. (((pfc_index_product_padded_leftcoefficientscoefficientdiagonal)+pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm=(pfc_index_product_padded_leftcoefficients)) /\ ((((((exists pfa_gap_product_padded_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_product_padded_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal) = (t+L)) /\ ((((exists ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) * AC)) /\ exists ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonaltermleftentry. AB = ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) * AC) + (pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_padded_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_product_padded_leftcoefficientscoefficientdiagonaltermleftoutside+(t+L)=(pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_product_padded_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_product_padded_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_padded_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_product_padded_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_product_padded_leftcoefficientscoefficientdiagonal)=pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm*pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_product_padded_leftcoefficientscoefficientsum fs_v_pfc_product_padded_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_start. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_start. fs_u_pfc_product_padded_leftcoefficientscoefficientsum = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_product_padded_leftcoefficientscoefficient) = S ((S (S (pfc_index_product_padded_leftcoefficients))) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_product_padded_leftcoefficientscoefficientsum = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_product_padded_leftcoefficients))) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum) + (pfc_natural_sum_product_padded_leftcoefficientscoefficient))) /\ forall fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps = S (pfc_index_product_padded_leftcoefficients)) -> exists fs_a_pfc_product_padded_leftcoefficientscoefficientsum_body_steps fs_r_pfc_product_padded_leftcoefficientscoefficientsum_body_steps fs_s_pfc_product_padded_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_product_padded_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_padded_leftcoefficientscoefficient)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_product_padded_leftcoefficientscoefficient = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_padded_leftcoefficientscoefficient) + (fs_a_pfc_product_padded_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_product_padded_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_product_padded_leftcoefficientscoefficientsum = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum) + (fs_r_pfc_product_padded_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_product_padded_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_product_padded_leftcoefficientscoefficientsum = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum) + (fs_s_pfc_product_padded_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_product_padded_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_product_padded_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_product_padded_leftcoefficientscoefficientresiduebound. pfa_gap_product_padded_leftcoefficientscoefficientresiduebound + S (pfc_value_product_padded_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_product_padded_leftcoefficientscoefficientresiduecongruence pfa_offset_right_product_padded_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_product_padded_leftcoefficientscoefficient) + (p) * pfa_offset_left_product_padded_leftcoefficientscoefficientresiduecongruence = (pfc_value_product_padded_leftcoefficients) + (p) * pfa_offset_right_product_padded_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfrep_power_product_equivalent_left pfrep_left_product_equivalent_left pfrep_right_product_equivalent_left. ((exists pfrep_position_product_equivalent_leftfirst. ((pfrep_position_product_equivalent_leftfirst+S (pfrep_power_product_equivalent_left)=(N)) /\ ((((exists ff_h_pfp_product_equivalent_leftfirstentry. ff_h_pfp_product_equivalent_leftfirstentry + S (pfrep_left_product_equivalent_left) = S ((S (pfrep_position_product_equivalent_leftfirst)) * cc)) /\ exists ff_q_pfp_product_equivalent_leftfirstentry. cb = ff_q_pfp_product_equivalent_leftfirstentry * S ((S (pfrep_position_product_equivalent_leftfirst)) * cc) + (pfrep_left_product_equivalent_left)))))) \/ (((exists pfrep_gap_product_equivalent_leftfirstoutside. pfrep_gap_product_equivalent_leftfirstoutside+(N)=(pfrep_power_product_equivalent_left)) /\ (((pfrep_left_product_equivalent_left)=0))))) -> ((exists pfrep_position_product_equivalent_leftsecond. ((pfrep_position_product_equivalent_leftsecond+S (pfrep_power_product_equivalent_left)=(K)) /\ ((((exists ff_h_pfp_product_equivalent_leftsecondentry. ff_h_pfp_product_equivalent_leftsecondentry + S (pfrep_right_product_equivalent_left) = S ((S (pfrep_position_product_equivalent_leftsecond)) * CC)) /\ exists ff_q_pfp_product_equivalent_leftsecondentry. CB = ff_q_pfp_product_equivalent_leftsecondentry * S ((S (pfrep_position_product_equivalent_leftsecond)) * CC) + (pfrep_right_product_equivalent_left)))))) \/ (((exists pfrep_gap_product_equivalent_leftsecondoutside. pfrep_gap_product_equivalent_leftsecondoutside+(K)=(pfrep_power_product_equivalent_left)) /\ (((pfrep_right_product_equivalent_left)=0))))) -> pfrep_left_product_equivalent_left=pfrep_right_product_equivalent_left)Constructive proof overview
Generated structural guide
Genuine leading-zero padding of the left factor preserves the formal polynomial product, including empty factors whose proper product lengths need not differ by the padding count.
The unchanged tactic script uses 10 declared prerequisites and contains 211 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
eq_decidable Alpha theorem; checked-use authorized matrix_rank_no_index_below_zero Alpha theorem; checked-use authorized prime_field_polynomial_convolution_zero_left Alpha theorem; checked-use authorized prime_field_polynomial_convolution_zero_right Alpha theorem; checked-use authorized PX005D polynomial_left_pad_zero_prefix PX0022 prime_field_polynomial_zero_prefix_equivalent_empty PX0010 prime_field_polynomial_equivalent_transitive PX000F prime_field_polynomial_equivalent_symmetric PX006C prime_field_polynomial_convolution_left_padding_nonempty_left PX001B prime_field_polynomial_left_pad_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 (6)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Establish hLL21–24
04Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hL
05Establish hzL26–29
Establish this local claim before using it. It is not an additional assumption.
- L26
have hz : forall pfp_repeat_index_empty_factor_zero_leftleft. (exists pfa_gap_empty_factor_zero_leftleftindex. pfa_gap_empty_factor_zero_leftleftindex + S (pfp_repeat_index_empty_factor_zero_leftleft) = (L)) -> (((exists ff_h_pfp_empty_factor_zero_leftleftentry. ff_h_pfp_empty_factor_zero_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_leftleft)) * ac)) /\ exists ff_q_pfp_empty_factor_zero_leftleftentry. ab = ff_q_pfp_empty_factor_zero_leftleftentry * S ((S (pfp_repeat_index_empty_factor_zero_leftleft)) * ac) + (0))) - L27
intro j - L28
intro hj - L29
rewrite hL_left at hj
06Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
exfalso
07Use earlier factsL31–33
08Establish hc0L34–43
Establish this local claim before using it. It is not an additional assumption.
- L34
have hc0 : forall pfp_repeat_index_empty_original_product_leftleft. (exists pfa_gap_empty_original_product_leftleftindex. pfa_gap_empty_original_product_leftleftindex + S (pfp_repeat_index_empty_original_product_leftleft) = (N)) -> (((exists ff_h_pfp_empty_original_product_leftleftentry. ff_h_pfp_empty_original_product_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_leftleft)) * cc)) /\ exists ff_q_pfp_empty_original_product_leftleftentry. cb = ff_q_pfp_empty_original_product_leftleftentry * S ((S (pfp_repeat_index_empty_original_product_leftleft)) * cc) + (0))) - L35
specialize prime_field_polynomial_convolution_zero_left (p) - L36
specialize prime_field_polynomial_convolution_zero_left (ab) - L37
specialize prime_field_polynomial_convolution_zero_left (ac) - L38
specialize prime_field_polynomial_convolution_zero_left (L) - L39
specialize prime_field_polynomial_convolution_zero_left (bb) - L40
specialize prime_field_polynomial_convolution_zero_left (bc) - L41
specialize prime_field_polynomial_convolution_zero_left (M) - L42
specialize prime_field_polynomial_convolution_zero_left (cb) - L43
specialize prime_field_polynomial_convolution_zero_left (cc)
09Use earlier factsL44–48
10Establish hn0L49–58
Establish this local claim before using it. It is not an additional assumption.
- L49
have hn0 : forall pfp_repeat_index_empty_padded_product_leftleft. (exists pfa_gap_empty_padded_product_leftleftindex. pfa_gap_empty_padded_product_leftleftindex + S (pfp_repeat_index_empty_padded_product_leftleft) = (K)) -> (((exists ff_h_pfp_empty_padded_product_leftleftentry. ff_h_pfp_empty_padded_product_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_leftleft)) * CC)) /\ exists ff_q_pfp_empty_padded_product_leftleftentry. CB = ff_q_pfp_empty_padded_product_leftleftentry * S ((S (pfp_repeat_index_empty_padded_product_leftleft)) * CC) + (0))) - L50
specialize prime_field_polynomial_convolution_zero_left (p) - L51
specialize prime_field_polynomial_convolution_zero_left (AB) - L52
specialize prime_field_polynomial_convolution_zero_left (AC) - L53
specialize prime_field_polynomial_convolution_zero_left (t+L) - L54
specialize prime_field_polynomial_convolution_zero_left (bb) - L55
specialize prime_field_polynomial_convolution_zero_left (bc) - L56
specialize prime_field_polynomial_convolution_zero_left (M) - L57
specialize prime_field_polynomial_convolution_zero_left (CB) - L58
specialize prime_field_polynomial_convolution_zero_left (CC)
11Use earlier factsL59–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
specialize prime_field_polynomial_convolution_zero_left (K) - L60
apply prime_field_polynomial_convolution_zero_left - L61
exact hp - L62
specialize polynomial_left_pad_zero_prefix (ab) - L63
specialize polynomial_left_pad_zero_prefix (ac) - L64
specialize polynomial_left_pad_zero_prefix (L) - L65
specialize polynomial_left_pad_zero_prefix (t) - L66
specialize polynomial_left_pad_zero_prefix (AB) - L67
specialize polynomial_left_pad_zero_prefix (AC) - L68
apply polynomial_left_pad_zero_prefix
12Use earlier factsL69–71
13Establish hecL72–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial zero prefix equivalent empty.
- L72
have hec : PolynomialEquivalent(cb,cc,N,0,0,0)Definitions: PolynomialEquivalent - L73
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cb) - L74
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc) - L75
specialize prime_field_polynomial_zero_prefix_equivalent_empty (N) - L76
apply prime_field_polynomial_zero_prefix_equivalent_empty - L77
exact hc0
14Establish henL78–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial zero prefix equivalent empty.
- L78
have hen : PolynomialEquivalent(CB,CC,K,0,0,0)Definitions: PolynomialEquivalent - L79
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CB) - L80
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC) - L81
specialize prime_field_polynomial_zero_prefix_equivalent_empty (K) - L82
apply prime_field_polynomial_zero_prefix_equivalent_empty - L83
exact hn0 - L84
specialize prime_field_polynomial_equivalent_transitive (cb) - L85
specialize prime_field_polynomial_equivalent_transitive (cc) - L86
specialize prime_field_polynomial_equivalent_transitive (N) - L87
specialize prime_field_polynomial_equivalent_transitive (0)
15Use earlier factsL88–97
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L88
specialize prime_field_polynomial_equivalent_transitive (0) - L89
specialize prime_field_polynomial_equivalent_transitive (0) - L90
specialize prime_field_polynomial_equivalent_transitive (CB) - L91
specialize prime_field_polynomial_equivalent_transitive (CC) - L92
specialize prime_field_polynomial_equivalent_transitive (K) - L93
apply prime_field_polynomial_equivalent_transitive - L94
exact hec - L95
specialize prime_field_polynomial_equivalent_symmetric (CB) - L96
specialize prime_field_polynomial_equivalent_symmetric (CC) - L97
specialize prime_field_polynomial_equivalent_symmetric (K)
16Use earlier factsL98–102
Instantiate or apply named facts and discharge the corresponding proof obligations.
17Establish hML103–106
18Separate the logical casesL107–107
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L107
cases hM
19Establish hzL108–111
Establish this local claim before using it. It is not an additional assumption.
- L108
have hz : forall pfp_repeat_index_empty_factor_zero_leftright. (exists pfa_gap_empty_factor_zero_leftrightindex. pfa_gap_empty_factor_zero_leftrightindex + S (pfp_repeat_index_empty_factor_zero_leftright) = (M)) -> (((exists ff_h_pfp_empty_factor_zero_leftrightentry. ff_h_pfp_empty_factor_zero_leftrightentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_leftright)) * bc)) /\ exists ff_q_pfp_empty_factor_zero_leftrightentry. bb = ff_q_pfp_empty_factor_zero_leftrightentry * S ((S (pfp_repeat_index_empty_factor_zero_leftright)) * bc) + (0))) - L109
intro j - L110
intro hj - L111
rewrite hM_left at hj
20Separate the logical casesL112–112
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L112
exfalso
21Use earlier factsL113–115
22Establish hc0L116–125
Establish this local claim before using it. It is not an additional assumption.
- L116
have hc0 : Repeat(cb,cc,0,N)Definitions: Repeat - L117
specialize prime_field_polynomial_convolution_zero_right (p) - L118
specialize prime_field_polynomial_convolution_zero_right (ab) - L119
specialize prime_field_polynomial_convolution_zero_right (ac) - L120
specialize prime_field_polynomial_convolution_zero_right (L) - L121
specialize prime_field_polynomial_convolution_zero_right (bb) - L122
specialize prime_field_polynomial_convolution_zero_right (bc) - L123
specialize prime_field_polynomial_convolution_zero_right (M) - L124
specialize prime_field_polynomial_convolution_zero_right (cb) - L125
specialize prime_field_polynomial_convolution_zero_right (cc)
23Use earlier factsL126–130
24Establish hn0L131–140
Establish this local claim before using it. It is not an additional assumption.
- L131
have hn0 : forall pfp_repeat_index_empty_padded_product_leftright. (exists pfa_gap_empty_padded_product_leftrightindex. pfa_gap_empty_padded_product_leftrightindex + S (pfp_repeat_index_empty_padded_product_leftright) = (K)) -> (((exists ff_h_pfp_empty_padded_product_leftrightentry. ff_h_pfp_empty_padded_product_leftrightentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_leftright)) * CC)) /\ exists ff_q_pfp_empty_padded_product_leftrightentry. CB = ff_q_pfp_empty_padded_product_leftrightentry * S ((S (pfp_repeat_index_empty_padded_product_leftright)) * CC) + (0))) - L132
specialize prime_field_polynomial_convolution_zero_right (p) - L133
specialize prime_field_polynomial_convolution_zero_right (AB) - L134
specialize prime_field_polynomial_convolution_zero_right (AC) - L135
specialize prime_field_polynomial_convolution_zero_right (t+L) - L136
specialize prime_field_polynomial_convolution_zero_right (bb) - L137
specialize prime_field_polynomial_convolution_zero_right (bc) - L138
specialize prime_field_polynomial_convolution_zero_right (M) - L139
specialize prime_field_polynomial_convolution_zero_right (CB) - L140
specialize prime_field_polynomial_convolution_zero_right (CC)
25Use earlier factsL141–145
26Establish hecL146–151
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial zero prefix equivalent empty.
- L146
have hec : PolynomialEquivalent(cb,cc,N,0,0,0)Definitions: PolynomialEquivalent - L147
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cb) - L148
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc) - L149
specialize prime_field_polynomial_zero_prefix_equivalent_empty (N) - L150
apply prime_field_polynomial_zero_prefix_equivalent_empty - L151
exact hc0
27Establish henL152–161
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial zero prefix equivalent empty.
- L152
have hen : PolynomialEquivalent(CB,CC,K,0,0,0)Definitions: PolynomialEquivalent - L153
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CB) - L154
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC) - L155
specialize prime_field_polynomial_zero_prefix_equivalent_empty (K) - L156
apply prime_field_polynomial_zero_prefix_equivalent_empty - L157
exact hn0 - L158
specialize prime_field_polynomial_equivalent_transitive (cb) - L159
specialize prime_field_polynomial_equivalent_transitive (cc) - L160
specialize prime_field_polynomial_equivalent_transitive (N) - L161
specialize prime_field_polynomial_equivalent_transitive (0)
28Use earlier factsL162–171
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L162
specialize prime_field_polynomial_equivalent_transitive (0) - L163
specialize prime_field_polynomial_equivalent_transitive (0) - L164
specialize prime_field_polynomial_equivalent_transitive (CB) - L165
specialize prime_field_polynomial_equivalent_transitive (CC) - L166
specialize prime_field_polynomial_equivalent_transitive (K) - L167
apply prime_field_polynomial_equivalent_transitive - L168
exact hec - L169
specialize prime_field_polynomial_equivalent_symmetric (CB) - L170
specialize prime_field_polynomial_equivalent_symmetric (CC) - L171
specialize prime_field_polynomial_equivalent_symmetric (K)
29Use earlier factsL172–176
Instantiate or apply named facts and discharge the corresponding proof obligations.
30Establish hdL177–186
Establish this local claim before using it. It is not an additional assumption.
- L177
have hd : K = t + N ∧ PolynomialLeftPad(cb,cc,N,t,CB,CC)Definitions: PolynomialLeftPad - L178
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (p) - L179
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (ab) - L180
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (ac) - L181
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (L) - L182
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (bb) - L183
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (bc) - L184
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (M) - L185
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (cb) - L186
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (cc)
31Use earlier factsL187–196
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L187
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (N) - L188
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (AB) - L189
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (AC) - L190
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (t) - L191
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (CB) - L192
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (CC) - L193
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (K) - L194
apply prime_field_polynomial_convolution_left_padding_nonempty_left - L195
exact hp - L196
exact hL_right
32Use earlier factsL197–200
33Separate the logical casesL201–201
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L201
cases hd
34Calculate and transport equalitiesL202–203
35Use earlier factsL204–211
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L204
specialize prime_field_polynomial_left_pad_equivalent (cb) - L205
specialize prime_field_polynomial_left_pad_equivalent (cc) - L206
specialize prime_field_polynomial_left_pad_equivalent (N) - L207
specialize prime_field_polynomial_left_pad_equivalent (t) - L208
specialize prime_field_polynomial_left_pad_equivalent (CB) - L209
specialize prime_field_polynomial_left_pad_equivalent (CC) - L210
apply prime_field_polynomial_left_pad_equivalent - L211
exact hd_right
Original exact command ledger · 211 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 AB - 0012
intro AC - 0013
intro t - 0014
intro CB - 0015
intro CC - 0016
intro K - 0017
intro hp - 0018
intro hpad - 0019
intro hc - 0020
intro hn - 0021
have hL : L=0 \/ ~(L=0) - 0022
specialize eq_decidable (L) - 0023
specialize eq_decidable (0) - 0024
apply eq_decidable - 0025
cases hL - 0026
have hz : forall pfp_repeat_index_empty_factor_zero_leftleft. (exists pfa_gap_empty_factor_zero_leftleftindex. pfa_gap_empty_factor_zero_leftleftindex + S (pfp_repeat_index_empty_factor_zero_leftleft) = (L)) -> (((exists ff_h_pfp_empty_factor_zero_leftleftentry. ff_h_pfp_empty_factor_zero_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_leftleft)) * ac)) /\ exists ff_q_pfp_empty_factor_zero_leftleftentry. ab = ff_q_pfp_empty_factor_zero_leftleftentry * S ((S (pfp_repeat_index_empty_factor_zero_leftleft)) * ac) + (0))) - 0027
intro j - 0028
intro hj - 0029
rewrite hL_left at hj - 0030
exfalso - 0031
specialize matrix_rank_no_index_below_zero (j) - 0032
apply matrix_rank_no_index_below_zero - 0033
exact hj - 0034
have hc0 : forall pfp_repeat_index_empty_original_product_leftleft. (exists pfa_gap_empty_original_product_leftleftindex. pfa_gap_empty_original_product_leftleftindex + S (pfp_repeat_index_empty_original_product_leftleft) = (N)) -> (((exists ff_h_pfp_empty_original_product_leftleftentry. ff_h_pfp_empty_original_product_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_leftleft)) * cc)) /\ exists ff_q_pfp_empty_original_product_leftleftentry. cb = ff_q_pfp_empty_original_product_leftleftentry * S ((S (pfp_repeat_index_empty_original_product_leftleft)) * cc) + (0))) - 0035
specialize prime_field_polynomial_convolution_zero_left (p) - 0036
specialize prime_field_polynomial_convolution_zero_left (ab) - 0037
specialize prime_field_polynomial_convolution_zero_left (ac) - 0038
specialize prime_field_polynomial_convolution_zero_left (L) - 0039
specialize prime_field_polynomial_convolution_zero_left (bb) - 0040
specialize prime_field_polynomial_convolution_zero_left (bc) - 0041
specialize prime_field_polynomial_convolution_zero_left (M) - 0042
specialize prime_field_polynomial_convolution_zero_left (cb) - 0043
specialize prime_field_polynomial_convolution_zero_left (cc) - 0044
specialize prime_field_polynomial_convolution_zero_left (N) - 0045
apply prime_field_polynomial_convolution_zero_left - 0046
exact hp - 0047
exact hz - 0048
exact hc - 0049
have hn0 : forall pfp_repeat_index_empty_padded_product_leftleft. (exists pfa_gap_empty_padded_product_leftleftindex. pfa_gap_empty_padded_product_leftleftindex + S (pfp_repeat_index_empty_padded_product_leftleft) = (K)) -> (((exists ff_h_pfp_empty_padded_product_leftleftentry. ff_h_pfp_empty_padded_product_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_leftleft)) * CC)) /\ exists ff_q_pfp_empty_padded_product_leftleftentry. CB = ff_q_pfp_empty_padded_product_leftleftentry * S ((S (pfp_repeat_index_empty_padded_product_leftleft)) * CC) + (0))) - 0050
specialize prime_field_polynomial_convolution_zero_left (p) - 0051
specialize prime_field_polynomial_convolution_zero_left (AB) - 0052
specialize prime_field_polynomial_convolution_zero_left (AC) - 0053
specialize prime_field_polynomial_convolution_zero_left (t+L) - 0054
specialize prime_field_polynomial_convolution_zero_left (bb) - 0055
specialize prime_field_polynomial_convolution_zero_left (bc) - 0056
specialize prime_field_polynomial_convolution_zero_left (M) - 0057
specialize prime_field_polynomial_convolution_zero_left (CB) - 0058
specialize prime_field_polynomial_convolution_zero_left (CC) - 0059
specialize prime_field_polynomial_convolution_zero_left (K) - 0060
apply prime_field_polynomial_convolution_zero_left - 0061
exact hp - 0062
specialize polynomial_left_pad_zero_prefix (ab) - 0063
specialize polynomial_left_pad_zero_prefix (ac) - 0064
specialize polynomial_left_pad_zero_prefix (L) - 0065
specialize polynomial_left_pad_zero_prefix (t) - 0066
specialize polynomial_left_pad_zero_prefix (AB) - 0067
specialize polynomial_left_pad_zero_prefix (AC) - 0068
apply polynomial_left_pad_zero_prefix - 0069
exact hz - 0070
exact hpad - 0071
exact hn - 0072
have hec : forall pfrep_power_empty_first_equivalence_leftleft pfrep_left_empty_first_equivalence_leftleft pfrep_right_empty_first_equivalence_leftleft. ((exists pfrep_position_empty_first_equivalence_leftleftfirst. ((pfrep_position_empty_first_equivalence_leftleftfirst+S (pfrep_power_empty_first_equivalence_leftleft)=(N)) /\ ((((exists ff_h_pfp_empty_first_equivalence_leftleftfirstentry. ff_h_pfp_empty_first_equivalence_leftleftfirstentry + S (pfrep_left_empty_first_equivalence_leftleft) = S ((S (pfrep_position_empty_first_equivalence_leftleftfirst)) * cc)) /\ exists ff_q_pfp_empty_first_equivalence_leftleftfirstentry. cb = ff_q_pfp_empty_first_equivalence_leftleftfirstentry * S ((S (pfrep_position_empty_first_equivalence_leftleftfirst)) * cc) + (pfrep_left_empty_first_equivalence_leftleft)))))) \/ (((exists pfrep_gap_empty_first_equivalence_leftleftfirstoutside. pfrep_gap_empty_first_equivalence_leftleftfirstoutside+(N)=(pfrep_power_empty_first_equivalence_leftleft)) /\ (((pfrep_left_empty_first_equivalence_leftleft)=0))))) -> ((exists pfrep_position_empty_first_equivalence_leftleftsecond. ((pfrep_position_empty_first_equivalence_leftleftsecond+S (pfrep_power_empty_first_equivalence_leftleft)=(0)) /\ ((((exists ff_h_pfp_empty_first_equivalence_leftleftsecondentry. ff_h_pfp_empty_first_equivalence_leftleftsecondentry + S (pfrep_right_empty_first_equivalence_leftleft) = S ((S (pfrep_position_empty_first_equivalence_leftleftsecond)) * 0)) /\ exists ff_q_pfp_empty_first_equivalence_leftleftsecondentry. 0 = ff_q_pfp_empty_first_equivalence_leftleftsecondentry * S ((S (pfrep_position_empty_first_equivalence_leftleftsecond)) * 0) + (pfrep_right_empty_first_equivalence_leftleft)))))) \/ (((exists pfrep_gap_empty_first_equivalence_leftleftsecondoutside. pfrep_gap_empty_first_equivalence_leftleftsecondoutside+(0)=(pfrep_power_empty_first_equivalence_leftleft)) /\ (((pfrep_right_empty_first_equivalence_leftleft)=0))))) -> pfrep_left_empty_first_equivalence_leftleft=pfrep_right_empty_first_equivalence_leftleft - 0073
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cb) - 0074
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc) - 0075
specialize prime_field_polynomial_zero_prefix_equivalent_empty (N) - 0076
apply prime_field_polynomial_zero_prefix_equivalent_empty - 0077
exact hc0 - 0078
have hen : forall pfrep_power_empty_second_equivalence_leftleft pfrep_left_empty_second_equivalence_leftleft pfrep_right_empty_second_equivalence_leftleft. ((exists pfrep_position_empty_second_equivalence_leftleftfirst. ((pfrep_position_empty_second_equivalence_leftleftfirst+S (pfrep_power_empty_second_equivalence_leftleft)=(K)) /\ ((((exists ff_h_pfp_empty_second_equivalence_leftleftfirstentry. ff_h_pfp_empty_second_equivalence_leftleftfirstentry + S (pfrep_left_empty_second_equivalence_leftleft) = S ((S (pfrep_position_empty_second_equivalence_leftleftfirst)) * CC)) /\ exists ff_q_pfp_empty_second_equivalence_leftleftfirstentry. CB = ff_q_pfp_empty_second_equivalence_leftleftfirstentry * S ((S (pfrep_position_empty_second_equivalence_leftleftfirst)) * CC) + (pfrep_left_empty_second_equivalence_leftleft)))))) \/ (((exists pfrep_gap_empty_second_equivalence_leftleftfirstoutside. pfrep_gap_empty_second_equivalence_leftleftfirstoutside+(K)=(pfrep_power_empty_second_equivalence_leftleft)) /\ (((pfrep_left_empty_second_equivalence_leftleft)=0))))) -> ((exists pfrep_position_empty_second_equivalence_leftleftsecond. ((pfrep_position_empty_second_equivalence_leftleftsecond+S (pfrep_power_empty_second_equivalence_leftleft)=(0)) /\ ((((exists ff_h_pfp_empty_second_equivalence_leftleftsecondentry. ff_h_pfp_empty_second_equivalence_leftleftsecondentry + S (pfrep_right_empty_second_equivalence_leftleft) = S ((S (pfrep_position_empty_second_equivalence_leftleftsecond)) * 0)) /\ exists ff_q_pfp_empty_second_equivalence_leftleftsecondentry. 0 = ff_q_pfp_empty_second_equivalence_leftleftsecondentry * S ((S (pfrep_position_empty_second_equivalence_leftleftsecond)) * 0) + (pfrep_right_empty_second_equivalence_leftleft)))))) \/ (((exists pfrep_gap_empty_second_equivalence_leftleftsecondoutside. pfrep_gap_empty_second_equivalence_leftleftsecondoutside+(0)=(pfrep_power_empty_second_equivalence_leftleft)) /\ (((pfrep_right_empty_second_equivalence_leftleft)=0))))) -> pfrep_left_empty_second_equivalence_leftleft=pfrep_right_empty_second_equivalence_leftleft - 0079
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CB) - 0080
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC) - 0081
specialize prime_field_polynomial_zero_prefix_equivalent_empty (K) - 0082
apply prime_field_polynomial_zero_prefix_equivalent_empty - 0083
exact hn0 - 0084
specialize prime_field_polynomial_equivalent_transitive (cb) - 0085
specialize prime_field_polynomial_equivalent_transitive (cc) - 0086
specialize prime_field_polynomial_equivalent_transitive (N) - 0087
specialize prime_field_polynomial_equivalent_transitive (0) - 0088
specialize prime_field_polynomial_equivalent_transitive (0) - 0089
specialize prime_field_polynomial_equivalent_transitive (0) - 0090
specialize prime_field_polynomial_equivalent_transitive (CB) - 0091
specialize prime_field_polynomial_equivalent_transitive (CC) - 0092
specialize prime_field_polynomial_equivalent_transitive (K) - 0093
apply prime_field_polynomial_equivalent_transitive - 0094
exact hec - 0095
specialize prime_field_polynomial_equivalent_symmetric (CB) - 0096
specialize prime_field_polynomial_equivalent_symmetric (CC) - 0097
specialize prime_field_polynomial_equivalent_symmetric (K) - 0098
specialize prime_field_polynomial_equivalent_symmetric (0) - 0099
specialize prime_field_polynomial_equivalent_symmetric (0) - 0100
specialize prime_field_polynomial_equivalent_symmetric (0) - 0101
apply prime_field_polynomial_equivalent_symmetric - 0102
exact hen - 0103
have hM : M=0 \/ ~(M=0) - 0104
specialize eq_decidable (M) - 0105
specialize eq_decidable (0) - 0106
apply eq_decidable - 0107
cases hM - 0108
have hz : forall pfp_repeat_index_empty_factor_zero_leftright. (exists pfa_gap_empty_factor_zero_leftrightindex. pfa_gap_empty_factor_zero_leftrightindex + S (pfp_repeat_index_empty_factor_zero_leftright) = (M)) -> (((exists ff_h_pfp_empty_factor_zero_leftrightentry. ff_h_pfp_empty_factor_zero_leftrightentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_leftright)) * bc)) /\ exists ff_q_pfp_empty_factor_zero_leftrightentry. bb = ff_q_pfp_empty_factor_zero_leftrightentry * S ((S (pfp_repeat_index_empty_factor_zero_leftright)) * bc) + (0))) - 0109
intro j - 0110
intro hj - 0111
rewrite hM_left at hj - 0112
exfalso - 0113
specialize matrix_rank_no_index_below_zero (j) - 0114
apply matrix_rank_no_index_below_zero - 0115
exact hj - 0116
have hc0 : forall pfp_repeat_index_empty_original_product_leftright. (exists pfa_gap_empty_original_product_leftrightindex. pfa_gap_empty_original_product_leftrightindex + S (pfp_repeat_index_empty_original_product_leftright) = (N)) -> (((exists ff_h_pfp_empty_original_product_leftrightentry. ff_h_pfp_empty_original_product_leftrightentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_leftright)) * cc)) /\ exists ff_q_pfp_empty_original_product_leftrightentry. cb = ff_q_pfp_empty_original_product_leftrightentry * S ((S (pfp_repeat_index_empty_original_product_leftright)) * cc) + (0))) - 0117
specialize prime_field_polynomial_convolution_zero_right (p) - 0118
specialize prime_field_polynomial_convolution_zero_right (ab) - 0119
specialize prime_field_polynomial_convolution_zero_right (ac) - 0120
specialize prime_field_polynomial_convolution_zero_right (L) - 0121
specialize prime_field_polynomial_convolution_zero_right (bb) - 0122
specialize prime_field_polynomial_convolution_zero_right (bc) - 0123
specialize prime_field_polynomial_convolution_zero_right (M) - 0124
specialize prime_field_polynomial_convolution_zero_right (cb) - 0125
specialize prime_field_polynomial_convolution_zero_right (cc) - 0126
specialize prime_field_polynomial_convolution_zero_right (N) - 0127
apply prime_field_polynomial_convolution_zero_right - 0128
exact hp - 0129
exact hz - 0130
exact hc - 0131
have hn0 : forall pfp_repeat_index_empty_padded_product_leftright. (exists pfa_gap_empty_padded_product_leftrightindex. pfa_gap_empty_padded_product_leftrightindex + S (pfp_repeat_index_empty_padded_product_leftright) = (K)) -> (((exists ff_h_pfp_empty_padded_product_leftrightentry. ff_h_pfp_empty_padded_product_leftrightentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_leftright)) * CC)) /\ exists ff_q_pfp_empty_padded_product_leftrightentry. CB = ff_q_pfp_empty_padded_product_leftrightentry * S ((S (pfp_repeat_index_empty_padded_product_leftright)) * CC) + (0))) - 0132
specialize prime_field_polynomial_convolution_zero_right (p) - 0133
specialize prime_field_polynomial_convolution_zero_right (AB) - 0134
specialize prime_field_polynomial_convolution_zero_right (AC) - 0135
specialize prime_field_polynomial_convolution_zero_right (t+L) - 0136
specialize prime_field_polynomial_convolution_zero_right (bb) - 0137
specialize prime_field_polynomial_convolution_zero_right (bc) - 0138
specialize prime_field_polynomial_convolution_zero_right (M) - 0139
specialize prime_field_polynomial_convolution_zero_right (CB) - 0140
specialize prime_field_polynomial_convolution_zero_right (CC) - 0141
specialize prime_field_polynomial_convolution_zero_right (K) - 0142
apply prime_field_polynomial_convolution_zero_right - 0143
exact hp - 0144
exact hz - 0145
exact hn - 0146
have hec : forall pfrep_power_empty_first_equivalence_leftright pfrep_left_empty_first_equivalence_leftright pfrep_right_empty_first_equivalence_leftright. ((exists pfrep_position_empty_first_equivalence_leftrightfirst. ((pfrep_position_empty_first_equivalence_leftrightfirst+S (pfrep_power_empty_first_equivalence_leftright)=(N)) /\ ((((exists ff_h_pfp_empty_first_equivalence_leftrightfirstentry. ff_h_pfp_empty_first_equivalence_leftrightfirstentry + S (pfrep_left_empty_first_equivalence_leftright) = S ((S (pfrep_position_empty_first_equivalence_leftrightfirst)) * cc)) /\ exists ff_q_pfp_empty_first_equivalence_leftrightfirstentry. cb = ff_q_pfp_empty_first_equivalence_leftrightfirstentry * S ((S (pfrep_position_empty_first_equivalence_leftrightfirst)) * cc) + (pfrep_left_empty_first_equivalence_leftright)))))) \/ (((exists pfrep_gap_empty_first_equivalence_leftrightfirstoutside. pfrep_gap_empty_first_equivalence_leftrightfirstoutside+(N)=(pfrep_power_empty_first_equivalence_leftright)) /\ (((pfrep_left_empty_first_equivalence_leftright)=0))))) -> ((exists pfrep_position_empty_first_equivalence_leftrightsecond. ((pfrep_position_empty_first_equivalence_leftrightsecond+S (pfrep_power_empty_first_equivalence_leftright)=(0)) /\ ((((exists ff_h_pfp_empty_first_equivalence_leftrightsecondentry. ff_h_pfp_empty_first_equivalence_leftrightsecondentry + S (pfrep_right_empty_first_equivalence_leftright) = S ((S (pfrep_position_empty_first_equivalence_leftrightsecond)) * 0)) /\ exists ff_q_pfp_empty_first_equivalence_leftrightsecondentry. 0 = ff_q_pfp_empty_first_equivalence_leftrightsecondentry * S ((S (pfrep_position_empty_first_equivalence_leftrightsecond)) * 0) + (pfrep_right_empty_first_equivalence_leftright)))))) \/ (((exists pfrep_gap_empty_first_equivalence_leftrightsecondoutside. pfrep_gap_empty_first_equivalence_leftrightsecondoutside+(0)=(pfrep_power_empty_first_equivalence_leftright)) /\ (((pfrep_right_empty_first_equivalence_leftright)=0))))) -> pfrep_left_empty_first_equivalence_leftright=pfrep_right_empty_first_equivalence_leftright - 0147
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cb) - 0148
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc) - 0149
specialize prime_field_polynomial_zero_prefix_equivalent_empty (N) - 0150
apply prime_field_polynomial_zero_prefix_equivalent_empty - 0151
exact hc0 - 0152
have hen : forall pfrep_power_empty_second_equivalence_leftright pfrep_left_empty_second_equivalence_leftright pfrep_right_empty_second_equivalence_leftright. ((exists pfrep_position_empty_second_equivalence_leftrightfirst. ((pfrep_position_empty_second_equivalence_leftrightfirst+S (pfrep_power_empty_second_equivalence_leftright)=(K)) /\ ((((exists ff_h_pfp_empty_second_equivalence_leftrightfirstentry. ff_h_pfp_empty_second_equivalence_leftrightfirstentry + S (pfrep_left_empty_second_equivalence_leftright) = S ((S (pfrep_position_empty_second_equivalence_leftrightfirst)) * CC)) /\ exists ff_q_pfp_empty_second_equivalence_leftrightfirstentry. CB = ff_q_pfp_empty_second_equivalence_leftrightfirstentry * S ((S (pfrep_position_empty_second_equivalence_leftrightfirst)) * CC) + (pfrep_left_empty_second_equivalence_leftright)))))) \/ (((exists pfrep_gap_empty_second_equivalence_leftrightfirstoutside. pfrep_gap_empty_second_equivalence_leftrightfirstoutside+(K)=(pfrep_power_empty_second_equivalence_leftright)) /\ (((pfrep_left_empty_second_equivalence_leftright)=0))))) -> ((exists pfrep_position_empty_second_equivalence_leftrightsecond. ((pfrep_position_empty_second_equivalence_leftrightsecond+S (pfrep_power_empty_second_equivalence_leftright)=(0)) /\ ((((exists ff_h_pfp_empty_second_equivalence_leftrightsecondentry. ff_h_pfp_empty_second_equivalence_leftrightsecondentry + S (pfrep_right_empty_second_equivalence_leftright) = S ((S (pfrep_position_empty_second_equivalence_leftrightsecond)) * 0)) /\ exists ff_q_pfp_empty_second_equivalence_leftrightsecondentry. 0 = ff_q_pfp_empty_second_equivalence_leftrightsecondentry * S ((S (pfrep_position_empty_second_equivalence_leftrightsecond)) * 0) + (pfrep_right_empty_second_equivalence_leftright)))))) \/ (((exists pfrep_gap_empty_second_equivalence_leftrightsecondoutside. pfrep_gap_empty_second_equivalence_leftrightsecondoutside+(0)=(pfrep_power_empty_second_equivalence_leftright)) /\ (((pfrep_right_empty_second_equivalence_leftright)=0))))) -> pfrep_left_empty_second_equivalence_leftright=pfrep_right_empty_second_equivalence_leftright - 0153
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CB) - 0154
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC) - 0155
specialize prime_field_polynomial_zero_prefix_equivalent_empty (K) - 0156
apply prime_field_polynomial_zero_prefix_equivalent_empty - 0157
exact hn0 - 0158
specialize prime_field_polynomial_equivalent_transitive (cb) - 0159
specialize prime_field_polynomial_equivalent_transitive (cc) - 0160
specialize prime_field_polynomial_equivalent_transitive (N) - 0161
specialize prime_field_polynomial_equivalent_transitive (0) - 0162
specialize prime_field_polynomial_equivalent_transitive (0) - 0163
specialize prime_field_polynomial_equivalent_transitive (0) - 0164
specialize prime_field_polynomial_equivalent_transitive (CB) - 0165
specialize prime_field_polynomial_equivalent_transitive (CC) - 0166
specialize prime_field_polynomial_equivalent_transitive (K) - 0167
apply prime_field_polynomial_equivalent_transitive - 0168
exact hec - 0169
specialize prime_field_polynomial_equivalent_symmetric (CB) - 0170
specialize prime_field_polynomial_equivalent_symmetric (CC) - 0171
specialize prime_field_polynomial_equivalent_symmetric (K) - 0172
specialize prime_field_polynomial_equivalent_symmetric (0) - 0173
specialize prime_field_polynomial_equivalent_symmetric (0) - 0174
specialize prime_field_polynomial_equivalent_symmetric (0) - 0175
apply prime_field_polynomial_equivalent_symmetric - 0176
exact hen - 0177
have hd : ((K=t+N) /\ ((((forall pfp_repeat_index_product_equivalent_padding_leftzeros. (exists pfa_gap_product_equivalent_padding_leftzerosindex. pfa_gap_product_equivalent_padding_leftzerosindex + S (pfp_repeat_index_product_equivalent_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_product_equivalent_padding_leftzerosentry. ff_h_pfp_product_equivalent_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_product_equivalent_padding_leftzeros)) * CC)) /\ exists ff_q_pfp_product_equivalent_padding_leftzerosentry. CB = ff_q_pfp_product_equivalent_padding_leftzerosentry * S ((S (pfp_repeat_index_product_equivalent_padding_leftzeros)) * CC) + (0)))) /\ ((forall pfrep_index_product_equivalent_padding_left pfrep_value_product_equivalent_padding_left. (exists pfa_gap_product_equivalent_padding_leftbound. pfa_gap_product_equivalent_padding_leftbound + S (pfrep_index_product_equivalent_padding_left) = (N)) -> (((exists ff_h_pfp_product_equivalent_padding_leftinput. ff_h_pfp_product_equivalent_padding_leftinput + S (pfrep_value_product_equivalent_padding_left) = S ((S (pfrep_index_product_equivalent_padding_left)) * cc)) /\ exists ff_q_pfp_product_equivalent_padding_leftinput. cb = ff_q_pfp_product_equivalent_padding_leftinput * S ((S (pfrep_index_product_equivalent_padding_left)) * cc) + (pfrep_value_product_equivalent_padding_left))) -> (((exists ff_h_pfp_product_equivalent_padding_leftoutput. ff_h_pfp_product_equivalent_padding_leftoutput + S (pfrep_value_product_equivalent_padding_left) = S ((S ((t)+pfrep_index_product_equivalent_padding_left)) * CC)) /\ exists ff_q_pfp_product_equivalent_padding_leftoutput. CB = ff_q_pfp_product_equivalent_padding_leftoutput * S ((S ((t)+pfrep_index_product_equivalent_padding_left)) * CC) + (pfrep_value_product_equivalent_padding_left))))))))) - 0178
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (p) - 0179
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (ab) - 0180
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (ac) - 0181
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (L) - 0182
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (bb) - 0183
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (bc) - 0184
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (M) - 0185
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (cb) - 0186
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (cc) - 0187
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (N) - 0188
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (AB) - 0189
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (AC) - 0190
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (t) - 0191
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (CB) - 0192
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (CC) - 0193
specialize prime_field_polynomial_convolution_left_padding_nonempty_left (K) - 0194
apply prime_field_polynomial_convolution_left_padding_nonempty_left - 0195
exact hp - 0196
exact hL_right - 0197
exact hM_right - 0198
exact hpad - 0199
exact hc - 0200
exact hn - 0201
cases hd - 0202
rewrite hd_left - 0203
rewrite hd_left - 0204
specialize prime_field_polynomial_left_pad_equivalent (cb) - 0205
specialize prime_field_polynomial_left_pad_equivalent (cc) - 0206
specialize prime_field_polynomial_left_pad_equivalent (N) - 0207
specialize prime_field_polynomial_left_pad_equivalent (t) - 0208
specialize prime_field_polynomial_left_pad_equivalent (CB) - 0209
specialize prime_field_polynomial_left_pad_equivalent (CC) - 0210
apply prime_field_polynomial_left_pad_equivalent - 0211
exact hd_right