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)) -> (((forall pfp_repeat_index_product_factor_padding_rightzeros. (exists pfa_gap_product_factor_padding_rightzerosindex. pfa_gap_product_factor_padding_rightzerosindex + S (pfp_repeat_index_product_factor_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_product_factor_padding_rightzerosentry. ff_h_pfp_product_factor_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_product_factor_padding_rightzeros)) * BC)) /\ exists ff_q_pfp_product_factor_padding_rightzerosentry. BB = ff_q_pfp_product_factor_padding_rightzerosentry * S ((S (pfp_repeat_index_product_factor_padding_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_product_factor_padding_right pfrep_value_product_factor_padding_right. (exists pfa_gap_product_factor_padding_rightbound. pfa_gap_product_factor_padding_rightbound + S (pfrep_index_product_factor_padding_right) = (M)) -> (((exists ff_h_pfp_product_factor_padding_rightinput. ff_h_pfp_product_factor_padding_rightinput + S (pfrep_value_product_factor_padding_right) = S ((S (pfrep_index_product_factor_padding_right)) * bc)) /\ exists ff_q_pfp_product_factor_padding_rightinput. bb = ff_q_pfp_product_factor_padding_rightinput * S ((S (pfrep_index_product_factor_padding_right)) * bc) + (pfrep_value_product_factor_padding_right))) -> (((exists ff_h_pfp_product_factor_padding_rightoutput. ff_h_pfp_product_factor_padding_rightoutput + S (pfrep_value_product_factor_padding_right) = S ((S ((t)+pfrep_index_product_factor_padding_right)) * BC)) /\ exists ff_q_pfp_product_factor_padding_rightoutput. BB = ff_q_pfp_product_factor_padding_rightoutput * S ((S ((t)+pfrep_index_product_factor_padding_right)) * BC) + (pfrep_value_product_factor_padding_right))))))) -> (((forall fom_index_pfp_product_original_rightleft. (exists fom_gap_pfp_product_original_rightleft_index_bound. fom_gap_pfp_product_original_rightleft_index_bound + S (fom_index_pfp_product_original_rightleft) = L) -> exists fom_value_pfp_product_original_rightleft. ((((exists fom_beta_height_pfp_product_original_rightleft_entry. fom_beta_height_pfp_product_original_rightleft_entry + S (fom_value_pfp_product_original_rightleft) = S ((S (fom_index_pfp_product_original_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_product_original_rightleft_entry. ab = fom_beta_quotient_pfp_product_original_rightleft_entry * S ((S (fom_index_pfp_product_original_rightleft)) * ac) + (fom_value_pfp_product_original_rightleft))) /\ (exists fom_gap_pfp_product_original_rightleft_value_bound. fom_gap_pfp_product_original_rightleft_value_bound + S (fom_value_pfp_product_original_rightleft) = p))) /\ (((forall fom_index_pfp_product_original_rightright. (exists fom_gap_pfp_product_original_rightright_index_bound. fom_gap_pfp_product_original_rightright_index_bound + S (fom_index_pfp_product_original_rightright) = M) -> exists fom_value_pfp_product_original_rightright. ((((exists fom_beta_height_pfp_product_original_rightright_entry. fom_beta_height_pfp_product_original_rightright_entry + S (fom_value_pfp_product_original_rightright) = S ((S (fom_index_pfp_product_original_rightright)) * bc)) /\ exists fom_beta_quotient_pfp_product_original_rightright_entry. bb = fom_beta_quotient_pfp_product_original_rightright_entry * S ((S (fom_index_pfp_product_original_rightright)) * bc) + (fom_value_pfp_product_original_rightright))) /\ (exists fom_gap_pfp_product_original_rightright_value_bound. fom_gap_pfp_product_original_rightright_value_bound + S (fom_value_pfp_product_original_rightright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_product_original_rightcoefficients. (exists pfa_gap_product_original_rightcoefficientsbound. pfa_gap_product_original_rightcoefficientsbound + S (pfc_index_product_original_rightcoefficients) = (N)) -> exists pfc_value_product_original_rightcoefficients. ((((exists ff_h_pfp_product_original_rightcoefficientsentry. ff_h_pfp_product_original_rightcoefficientsentry + S (pfc_value_product_original_rightcoefficients) = S ((S (pfc_index_product_original_rightcoefficients)) * cc)) /\ exists ff_q_pfp_product_original_rightcoefficientsentry. cb = ff_q_pfp_product_original_rightcoefficientsentry * S ((S (pfc_index_product_original_rightcoefficients)) * cc) + (pfc_value_product_original_rightcoefficients))) /\ ((exists pfc_terms_code_product_original_rightcoefficientscoefficient pfc_terms_scale_product_original_rightcoefficientscoefficient pfc_natural_sum_product_original_rightcoefficientscoefficient. ((forall pfc_index_product_original_rightcoefficientscoefficientdiagonal. (exists pfa_gap_product_original_rightcoefficientscoefficientdiagonalbound. pfa_gap_product_original_rightcoefficientscoefficientdiagonalbound + S (pfc_index_product_original_rightcoefficientscoefficientdiagonal) = (S (pfc_index_product_original_rightcoefficients))) -> exists pfc_value_product_original_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_product_original_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_product_original_rightcoefficientscoefficientdiagonalentry + S (pfc_value_product_original_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_product_original_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_original_rightcoefficientscoefficient)) /\ exists ff_q_pfp_product_original_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_product_original_rightcoefficientscoefficient = ff_q_pfp_product_original_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_product_original_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_original_rightcoefficientscoefficient) + (pfc_value_product_original_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm pfc_left_product_original_rightcoefficientscoefficientdiagonalterm pfc_right_product_original_rightcoefficientscoefficientdiagonalterm. (((pfc_index_product_original_rightcoefficientscoefficientdiagonal)+pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm=(pfc_index_product_original_rightcoefficients)) /\ ((((((exists pfa_gap_product_original_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_product_original_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_product_original_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_product_original_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_product_original_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_product_original_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_product_original_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_product_original_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_product_original_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_product_original_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_product_original_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_original_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_product_original_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_product_original_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_product_original_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_product_original_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_product_original_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_product_original_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_product_original_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_product_original_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_product_original_rightcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_product_original_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_product_original_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_original_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_product_original_rightcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_product_original_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_product_original_rightcoefficientscoefficientdiagonal)=pfc_left_product_original_rightcoefficientscoefficientdiagonalterm*pfc_right_product_original_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_product_original_rightcoefficientscoefficientsum fs_v_pfc_product_original_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_start. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_start. fs_u_pfc_product_original_rightcoefficientscoefficientsum = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_product_original_rightcoefficientscoefficient) = S ((S (S (pfc_index_product_original_rightcoefficients))) * fs_v_pfc_product_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_product_original_rightcoefficientscoefficientsum = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_product_original_rightcoefficients))) * fs_v_pfc_product_original_rightcoefficientscoefficientsum) + (pfc_natural_sum_product_original_rightcoefficientscoefficient))) /\ forall fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_product_original_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_product_original_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps = S (pfc_index_product_original_rightcoefficients)) -> exists fs_a_pfc_product_original_rightcoefficientscoefficientsum_body_steps fs_r_pfc_product_original_rightcoefficientscoefficientsum_body_steps fs_s_pfc_product_original_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_product_original_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_original_rightcoefficientscoefficient)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_product_original_rightcoefficientscoefficient = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_original_rightcoefficientscoefficient) + (fs_a_pfc_product_original_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_product_original_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_product_original_rightcoefficientscoefficientsum = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum) + (fs_r_pfc_product_original_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_product_original_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_product_original_rightcoefficientscoefficientsum = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum) + (fs_s_pfc_product_original_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_product_original_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_product_original_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_product_original_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_product_original_rightcoefficientscoefficientresiduebound. pfa_gap_product_original_rightcoefficientscoefficientresiduebound + S (pfc_value_product_original_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_product_original_rightcoefficientscoefficientresiduecongruence pfa_offset_right_product_original_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_product_original_rightcoefficientscoefficient) + (p) * pfa_offset_left_product_original_rightcoefficientscoefficientresiduecongruence = (pfc_value_product_original_rightcoefficients) + (p) * pfa_offset_right_product_original_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_product_padded_rightleft. (exists fom_gap_pfp_product_padded_rightleft_index_bound. fom_gap_pfp_product_padded_rightleft_index_bound + S (fom_index_pfp_product_padded_rightleft) = L) -> exists fom_value_pfp_product_padded_rightleft. ((((exists fom_beta_height_pfp_product_padded_rightleft_entry. fom_beta_height_pfp_product_padded_rightleft_entry + S (fom_value_pfp_product_padded_rightleft) = S ((S (fom_index_pfp_product_padded_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_product_padded_rightleft_entry. ab = fom_beta_quotient_pfp_product_padded_rightleft_entry * S ((S (fom_index_pfp_product_padded_rightleft)) * ac) + (fom_value_pfp_product_padded_rightleft))) /\ (exists fom_gap_pfp_product_padded_rightleft_value_bound. fom_gap_pfp_product_padded_rightleft_value_bound + S (fom_value_pfp_product_padded_rightleft) = p))) /\ (((forall fom_index_pfp_product_padded_rightright. (exists fom_gap_pfp_product_padded_rightright_index_bound. fom_gap_pfp_product_padded_rightright_index_bound + S (fom_index_pfp_product_padded_rightright) = t+M) -> exists fom_value_pfp_product_padded_rightright. ((((exists fom_beta_height_pfp_product_padded_rightright_entry. fom_beta_height_pfp_product_padded_rightright_entry + S (fom_value_pfp_product_padded_rightright) = S ((S (fom_index_pfp_product_padded_rightright)) * BC)) /\ exists fom_beta_quotient_pfp_product_padded_rightright_entry. BB = fom_beta_quotient_pfp_product_padded_rightright_entry * S ((S (fom_index_pfp_product_padded_rightright)) * BC) + (fom_value_pfp_product_padded_rightright))) /\ (exists fom_gap_pfp_product_padded_rightright_value_bound. fom_gap_pfp_product_padded_rightright_value_bound + S (fom_value_pfp_product_padded_rightright) = p))) /\ (((((((L)=0 \/ (t+M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((t+M)=0)) /\ (((L)+(t+M)=S (K)))))))) /\ ((forall pfc_index_product_padded_rightcoefficients. (exists pfa_gap_product_padded_rightcoefficientsbound. pfa_gap_product_padded_rightcoefficientsbound + S (pfc_index_product_padded_rightcoefficients) = (K)) -> exists pfc_value_product_padded_rightcoefficients. ((((exists ff_h_pfp_product_padded_rightcoefficientsentry. ff_h_pfp_product_padded_rightcoefficientsentry + S (pfc_value_product_padded_rightcoefficients) = S ((S (pfc_index_product_padded_rightcoefficients)) * CC)) /\ exists ff_q_pfp_product_padded_rightcoefficientsentry. CB = ff_q_pfp_product_padded_rightcoefficientsentry * S ((S (pfc_index_product_padded_rightcoefficients)) * CC) + (pfc_value_product_padded_rightcoefficients))) /\ ((exists pfc_terms_code_product_padded_rightcoefficientscoefficient pfc_terms_scale_product_padded_rightcoefficientscoefficient pfc_natural_sum_product_padded_rightcoefficientscoefficient. ((forall pfc_index_product_padded_rightcoefficientscoefficientdiagonal. (exists pfa_gap_product_padded_rightcoefficientscoefficientdiagonalbound. pfa_gap_product_padded_rightcoefficientscoefficientdiagonalbound + S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal) = (S (pfc_index_product_padded_rightcoefficients))) -> exists pfc_value_product_padded_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonalentry + S (pfc_value_product_padded_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_padded_rightcoefficientscoefficient)) /\ exists ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_product_padded_rightcoefficientscoefficient = ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_padded_rightcoefficientscoefficient) + (pfc_value_product_padded_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm. (((pfc_index_product_padded_rightcoefficientscoefficientdiagonal)+pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm=(pfc_index_product_padded_rightcoefficients)) /\ ((((((exists pfa_gap_product_padded_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_product_padded_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_padded_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_product_padded_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_product_padded_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_product_padded_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm)) * BC)) /\ exists ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonaltermrightentry. BB = ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm)) * BC) + (pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_padded_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_product_padded_rightcoefficientscoefficientdiagonaltermrightoutside+(t+M)=(pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_product_padded_rightcoefficientscoefficientdiagonal)=pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm*pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_product_padded_rightcoefficientscoefficientsum fs_v_pfc_product_padded_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_start. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_start. fs_u_pfc_product_padded_rightcoefficientscoefficientsum = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_product_padded_rightcoefficientscoefficient) = S ((S (S (pfc_index_product_padded_rightcoefficients))) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_product_padded_rightcoefficientscoefficientsum = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_product_padded_rightcoefficients))) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum) + (pfc_natural_sum_product_padded_rightcoefficientscoefficient))) /\ forall fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps = S (pfc_index_product_padded_rightcoefficients)) -> exists fs_a_pfc_product_padded_rightcoefficientscoefficientsum_body_steps fs_r_pfc_product_padded_rightcoefficientscoefficientsum_body_steps fs_s_pfc_product_padded_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_product_padded_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_padded_rightcoefficientscoefficient)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_product_padded_rightcoefficientscoefficient = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_padded_rightcoefficientscoefficient) + (fs_a_pfc_product_padded_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_product_padded_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_product_padded_rightcoefficientscoefficientsum = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum) + (fs_r_pfc_product_padded_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_product_padded_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_product_padded_rightcoefficientscoefficientsum = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum) + (fs_s_pfc_product_padded_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_product_padded_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_product_padded_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_product_padded_rightcoefficientscoefficientresiduebound. pfa_gap_product_padded_rightcoefficientscoefficientresiduebound + S (pfc_value_product_padded_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_product_padded_rightcoefficientscoefficientresiduecongruence pfa_offset_right_product_padded_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_product_padded_rightcoefficientscoefficient) + (p) * pfa_offset_left_product_padded_rightcoefficientscoefficientresiduecongruence = (pfc_value_product_padded_rightcoefficients) + (p) * pfa_offset_right_product_padded_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfrep_power_product_equivalent_right pfrep_left_product_equivalent_right pfrep_right_product_equivalent_right. ((exists pfrep_position_product_equivalent_rightfirst. ((pfrep_position_product_equivalent_rightfirst+S (pfrep_power_product_equivalent_right)=(N)) /\ ((((exists ff_h_pfp_product_equivalent_rightfirstentry. ff_h_pfp_product_equivalent_rightfirstentry + S (pfrep_left_product_equivalent_right) = S ((S (pfrep_position_product_equivalent_rightfirst)) * cc)) /\ exists ff_q_pfp_product_equivalent_rightfirstentry. cb = ff_q_pfp_product_equivalent_rightfirstentry * S ((S (pfrep_position_product_equivalent_rightfirst)) * cc) + (pfrep_left_product_equivalent_right)))))) \/ (((exists pfrep_gap_product_equivalent_rightfirstoutside. pfrep_gap_product_equivalent_rightfirstoutside+(N)=(pfrep_power_product_equivalent_right)) /\ (((pfrep_left_product_equivalent_right)=0))))) -> ((exists pfrep_position_product_equivalent_rightsecond. ((pfrep_position_product_equivalent_rightsecond+S (pfrep_power_product_equivalent_right)=(K)) /\ ((((exists ff_h_pfp_product_equivalent_rightsecondentry. ff_h_pfp_product_equivalent_rightsecondentry + S (pfrep_right_product_equivalent_right) = S ((S (pfrep_position_product_equivalent_rightsecond)) * CC)) /\ exists ff_q_pfp_product_equivalent_rightsecondentry. CB = ff_q_pfp_product_equivalent_rightsecondentry * S ((S (pfrep_position_product_equivalent_rightsecond)) * CC) + (pfrep_right_product_equivalent_right)))))) \/ (((exists pfrep_gap_product_equivalent_rightsecondoutside. pfrep_gap_product_equivalent_rightsecondoutside+(K)=(pfrep_power_product_equivalent_right)) /\ (((pfrep_right_product_equivalent_right)=0))))) -> pfrep_left_product_equivalent_right=pfrep_right_product_equivalent_right)Constructive proof overview
Generated structural guide
Genuine leading-zero padding of the right 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 PX006D prime_field_polynomial_convolution_left_padding_nonempty_right 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_rightleft. (exists pfa_gap_empty_factor_zero_rightleftindex. pfa_gap_empty_factor_zero_rightleftindex + S (pfp_repeat_index_empty_factor_zero_rightleft) = (L)) -> (((exists ff_h_pfp_empty_factor_zero_rightleftentry. ff_h_pfp_empty_factor_zero_rightleftentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_rightleft)) * ac)) /\ exists ff_q_pfp_empty_factor_zero_rightleftentry. ab = ff_q_pfp_empty_factor_zero_rightleftentry * S ((S (pfp_repeat_index_empty_factor_zero_rightleft)) * 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 : Repeat(cb,cc,0,N)Definitions: Repeat - 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_rightleft. (exists pfa_gap_empty_padded_product_rightleftindex. pfa_gap_empty_padded_product_rightleftindex + S (pfp_repeat_index_empty_padded_product_rightleft) = (K)) -> (((exists ff_h_pfp_empty_padded_product_rightleftentry. ff_h_pfp_empty_padded_product_rightleftentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_rightleft)) * CC)) /\ exists ff_q_pfp_empty_padded_product_rightleftentry. CB = ff_q_pfp_empty_padded_product_rightleftentry * S ((S (pfp_repeat_index_empty_padded_product_rightleft)) * 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 (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 (t+M) - L57
specialize prime_field_polynomial_convolution_zero_left (CB) - L58
specialize prime_field_polynomial_convolution_zero_left (CC)
11Use earlier factsL59–63
12Establish hecL64–69
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.
- L64
have hec : PolynomialEquivalent(cb,cc,N,0,0,0)Definitions: PolynomialEquivalent - L65
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cb) - L66
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc) - L67
specialize prime_field_polynomial_zero_prefix_equivalent_empty (N) - L68
apply prime_field_polynomial_zero_prefix_equivalent_empty - L69
exact hc0
13Establish henL70–79
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.
- L70
have hen : PolynomialEquivalent(CB,CC,K,0,0,0)Definitions: PolynomialEquivalent - L71
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CB) - L72
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC) - L73
specialize prime_field_polynomial_zero_prefix_equivalent_empty (K) - L74
apply prime_field_polynomial_zero_prefix_equivalent_empty - L75
exact hn0 - L76
specialize prime_field_polynomial_equivalent_transitive (cb) - L77
specialize prime_field_polynomial_equivalent_transitive (cc) - L78
specialize prime_field_polynomial_equivalent_transitive (N) - L79
specialize prime_field_polynomial_equivalent_transitive (0)
14Use earlier factsL80–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L80
specialize prime_field_polynomial_equivalent_transitive (0) - L81
specialize prime_field_polynomial_equivalent_transitive (0) - L82
specialize prime_field_polynomial_equivalent_transitive (CB) - L83
specialize prime_field_polynomial_equivalent_transitive (CC) - L84
specialize prime_field_polynomial_equivalent_transitive (K) - L85
apply prime_field_polynomial_equivalent_transitive - L86
exact hec - L87
specialize prime_field_polynomial_equivalent_symmetric (CB) - L88
specialize prime_field_polynomial_equivalent_symmetric (CC) - L89
specialize prime_field_polynomial_equivalent_symmetric (K)
15Use earlier factsL90–94
Instantiate or apply named facts and discharge the corresponding proof obligations.
16Establish hML95–98
17Separate the logical casesL99–99
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L99
cases hM
18Establish hzL100–103
Establish this local claim before using it. It is not an additional assumption.
- L100
have hz : forall pfp_repeat_index_empty_factor_zero_rightright. (exists pfa_gap_empty_factor_zero_rightrightindex. pfa_gap_empty_factor_zero_rightrightindex + S (pfp_repeat_index_empty_factor_zero_rightright) = (M)) -> (((exists ff_h_pfp_empty_factor_zero_rightrightentry. ff_h_pfp_empty_factor_zero_rightrightentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_rightright)) * bc)) /\ exists ff_q_pfp_empty_factor_zero_rightrightentry. bb = ff_q_pfp_empty_factor_zero_rightrightentry * S ((S (pfp_repeat_index_empty_factor_zero_rightright)) * bc) + (0))) - L101
intro j - L102
intro hj - L103
rewrite hM_left at hj
19Separate the logical casesL104–104
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L104
exfalso
20Use earlier factsL105–107
21Establish hc0L108–117
Establish this local claim before using it. It is not an additional assumption.
- L108
have hc0 : Repeat(cb,cc,0,N)Definitions: Repeat - L109
specialize prime_field_polynomial_convolution_zero_right (p) - L110
specialize prime_field_polynomial_convolution_zero_right (ab) - L111
specialize prime_field_polynomial_convolution_zero_right (ac) - L112
specialize prime_field_polynomial_convolution_zero_right (L) - L113
specialize prime_field_polynomial_convolution_zero_right (bb) - L114
specialize prime_field_polynomial_convolution_zero_right (bc) - L115
specialize prime_field_polynomial_convolution_zero_right (M) - L116
specialize prime_field_polynomial_convolution_zero_right (cb) - L117
specialize prime_field_polynomial_convolution_zero_right (cc)
22Use earlier factsL118–122
23Establish hn0L123–132
Establish this local claim before using it. It is not an additional assumption.
- L123
have hn0 : forall pfp_repeat_index_empty_padded_product_rightright. (exists pfa_gap_empty_padded_product_rightrightindex. pfa_gap_empty_padded_product_rightrightindex + S (pfp_repeat_index_empty_padded_product_rightright) = (K)) -> (((exists ff_h_pfp_empty_padded_product_rightrightentry. ff_h_pfp_empty_padded_product_rightrightentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_rightright)) * CC)) /\ exists ff_q_pfp_empty_padded_product_rightrightentry. CB = ff_q_pfp_empty_padded_product_rightrightentry * S ((S (pfp_repeat_index_empty_padded_product_rightright)) * CC) + (0))) - L124
specialize prime_field_polynomial_convolution_zero_right (p) - L125
specialize prime_field_polynomial_convolution_zero_right (ab) - L126
specialize prime_field_polynomial_convolution_zero_right (ac) - L127
specialize prime_field_polynomial_convolution_zero_right (L) - L128
specialize prime_field_polynomial_convolution_zero_right (BB) - L129
specialize prime_field_polynomial_convolution_zero_right (BC) - L130
specialize prime_field_polynomial_convolution_zero_right (t+M) - L131
specialize prime_field_polynomial_convolution_zero_right (CB) - L132
specialize prime_field_polynomial_convolution_zero_right (CC)
24Use earlier factsL133–142
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L133
specialize prime_field_polynomial_convolution_zero_right (K) - L134
apply prime_field_polynomial_convolution_zero_right - L135
exact hp - L136
specialize polynomial_left_pad_zero_prefix (bb) - L137
specialize polynomial_left_pad_zero_prefix (bc) - L138
specialize polynomial_left_pad_zero_prefix (M) - L139
specialize polynomial_left_pad_zero_prefix (t) - L140
specialize polynomial_left_pad_zero_prefix (BB) - L141
specialize polynomial_left_pad_zero_prefix (BC) - L142
apply polynomial_left_pad_zero_prefix
25Use earlier factsL143–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_right (p) - L179
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (ab) - L180
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (ac) - L181
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (L) - L182
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (bb) - L183
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (bc) - L184
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (M) - L185
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (cb) - L186
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (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_right (N) - L188
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (BB) - L189
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (BC) - L190
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (t) - L191
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (CB) - L192
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (CC) - L193
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (K) - L194
apply prime_field_polynomial_convolution_left_padding_nonempty_right - 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 BB - 0012
intro BC - 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_rightleft. (exists pfa_gap_empty_factor_zero_rightleftindex. pfa_gap_empty_factor_zero_rightleftindex + S (pfp_repeat_index_empty_factor_zero_rightleft) = (L)) -> (((exists ff_h_pfp_empty_factor_zero_rightleftentry. ff_h_pfp_empty_factor_zero_rightleftentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_rightleft)) * ac)) /\ exists ff_q_pfp_empty_factor_zero_rightleftentry. ab = ff_q_pfp_empty_factor_zero_rightleftentry * S ((S (pfp_repeat_index_empty_factor_zero_rightleft)) * 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_rightleft. (exists pfa_gap_empty_original_product_rightleftindex. pfa_gap_empty_original_product_rightleftindex + S (pfp_repeat_index_empty_original_product_rightleft) = (N)) -> (((exists ff_h_pfp_empty_original_product_rightleftentry. ff_h_pfp_empty_original_product_rightleftentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_rightleft)) * cc)) /\ exists ff_q_pfp_empty_original_product_rightleftentry. cb = ff_q_pfp_empty_original_product_rightleftentry * S ((S (pfp_repeat_index_empty_original_product_rightleft)) * 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_rightleft. (exists pfa_gap_empty_padded_product_rightleftindex. pfa_gap_empty_padded_product_rightleftindex + S (pfp_repeat_index_empty_padded_product_rightleft) = (K)) -> (((exists ff_h_pfp_empty_padded_product_rightleftentry. ff_h_pfp_empty_padded_product_rightleftentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_rightleft)) * CC)) /\ exists ff_q_pfp_empty_padded_product_rightleftentry. CB = ff_q_pfp_empty_padded_product_rightleftentry * S ((S (pfp_repeat_index_empty_padded_product_rightleft)) * 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 (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 (t+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
exact hz - 0063
exact hn - 0064
have hec : forall pfrep_power_empty_first_equivalence_rightleft pfrep_left_empty_first_equivalence_rightleft pfrep_right_empty_first_equivalence_rightleft. ((exists pfrep_position_empty_first_equivalence_rightleftfirst. ((pfrep_position_empty_first_equivalence_rightleftfirst+S (pfrep_power_empty_first_equivalence_rightleft)=(N)) /\ ((((exists ff_h_pfp_empty_first_equivalence_rightleftfirstentry. ff_h_pfp_empty_first_equivalence_rightleftfirstentry + S (pfrep_left_empty_first_equivalence_rightleft) = S ((S (pfrep_position_empty_first_equivalence_rightleftfirst)) * cc)) /\ exists ff_q_pfp_empty_first_equivalence_rightleftfirstentry. cb = ff_q_pfp_empty_first_equivalence_rightleftfirstentry * S ((S (pfrep_position_empty_first_equivalence_rightleftfirst)) * cc) + (pfrep_left_empty_first_equivalence_rightleft)))))) \/ (((exists pfrep_gap_empty_first_equivalence_rightleftfirstoutside. pfrep_gap_empty_first_equivalence_rightleftfirstoutside+(N)=(pfrep_power_empty_first_equivalence_rightleft)) /\ (((pfrep_left_empty_first_equivalence_rightleft)=0))))) -> ((exists pfrep_position_empty_first_equivalence_rightleftsecond. ((pfrep_position_empty_first_equivalence_rightleftsecond+S (pfrep_power_empty_first_equivalence_rightleft)=(0)) /\ ((((exists ff_h_pfp_empty_first_equivalence_rightleftsecondentry. ff_h_pfp_empty_first_equivalence_rightleftsecondentry + S (pfrep_right_empty_first_equivalence_rightleft) = S ((S (pfrep_position_empty_first_equivalence_rightleftsecond)) * 0)) /\ exists ff_q_pfp_empty_first_equivalence_rightleftsecondentry. 0 = ff_q_pfp_empty_first_equivalence_rightleftsecondentry * S ((S (pfrep_position_empty_first_equivalence_rightleftsecond)) * 0) + (pfrep_right_empty_first_equivalence_rightleft)))))) \/ (((exists pfrep_gap_empty_first_equivalence_rightleftsecondoutside. pfrep_gap_empty_first_equivalence_rightleftsecondoutside+(0)=(pfrep_power_empty_first_equivalence_rightleft)) /\ (((pfrep_right_empty_first_equivalence_rightleft)=0))))) -> pfrep_left_empty_first_equivalence_rightleft=pfrep_right_empty_first_equivalence_rightleft - 0065
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cb) - 0066
specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc) - 0067
specialize prime_field_polynomial_zero_prefix_equivalent_empty (N) - 0068
apply prime_field_polynomial_zero_prefix_equivalent_empty - 0069
exact hc0 - 0070
have hen : forall pfrep_power_empty_second_equivalence_rightleft pfrep_left_empty_second_equivalence_rightleft pfrep_right_empty_second_equivalence_rightleft. ((exists pfrep_position_empty_second_equivalence_rightleftfirst. ((pfrep_position_empty_second_equivalence_rightleftfirst+S (pfrep_power_empty_second_equivalence_rightleft)=(K)) /\ ((((exists ff_h_pfp_empty_second_equivalence_rightleftfirstentry. ff_h_pfp_empty_second_equivalence_rightleftfirstentry + S (pfrep_left_empty_second_equivalence_rightleft) = S ((S (pfrep_position_empty_second_equivalence_rightleftfirst)) * CC)) /\ exists ff_q_pfp_empty_second_equivalence_rightleftfirstentry. CB = ff_q_pfp_empty_second_equivalence_rightleftfirstentry * S ((S (pfrep_position_empty_second_equivalence_rightleftfirst)) * CC) + (pfrep_left_empty_second_equivalence_rightleft)))))) \/ (((exists pfrep_gap_empty_second_equivalence_rightleftfirstoutside. pfrep_gap_empty_second_equivalence_rightleftfirstoutside+(K)=(pfrep_power_empty_second_equivalence_rightleft)) /\ (((pfrep_left_empty_second_equivalence_rightleft)=0))))) -> ((exists pfrep_position_empty_second_equivalence_rightleftsecond. ((pfrep_position_empty_second_equivalence_rightleftsecond+S (pfrep_power_empty_second_equivalence_rightleft)=(0)) /\ ((((exists ff_h_pfp_empty_second_equivalence_rightleftsecondentry. ff_h_pfp_empty_second_equivalence_rightleftsecondentry + S (pfrep_right_empty_second_equivalence_rightleft) = S ((S (pfrep_position_empty_second_equivalence_rightleftsecond)) * 0)) /\ exists ff_q_pfp_empty_second_equivalence_rightleftsecondentry. 0 = ff_q_pfp_empty_second_equivalence_rightleftsecondentry * S ((S (pfrep_position_empty_second_equivalence_rightleftsecond)) * 0) + (pfrep_right_empty_second_equivalence_rightleft)))))) \/ (((exists pfrep_gap_empty_second_equivalence_rightleftsecondoutside. pfrep_gap_empty_second_equivalence_rightleftsecondoutside+(0)=(pfrep_power_empty_second_equivalence_rightleft)) /\ (((pfrep_right_empty_second_equivalence_rightleft)=0))))) -> pfrep_left_empty_second_equivalence_rightleft=pfrep_right_empty_second_equivalence_rightleft - 0071
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CB) - 0072
specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC) - 0073
specialize prime_field_polynomial_zero_prefix_equivalent_empty (K) - 0074
apply prime_field_polynomial_zero_prefix_equivalent_empty - 0075
exact hn0 - 0076
specialize prime_field_polynomial_equivalent_transitive (cb) - 0077
specialize prime_field_polynomial_equivalent_transitive (cc) - 0078
specialize prime_field_polynomial_equivalent_transitive (N) - 0079
specialize prime_field_polynomial_equivalent_transitive (0) - 0080
specialize prime_field_polynomial_equivalent_transitive (0) - 0081
specialize prime_field_polynomial_equivalent_transitive (0) - 0082
specialize prime_field_polynomial_equivalent_transitive (CB) - 0083
specialize prime_field_polynomial_equivalent_transitive (CC) - 0084
specialize prime_field_polynomial_equivalent_transitive (K) - 0085
apply prime_field_polynomial_equivalent_transitive - 0086
exact hec - 0087
specialize prime_field_polynomial_equivalent_symmetric (CB) - 0088
specialize prime_field_polynomial_equivalent_symmetric (CC) - 0089
specialize prime_field_polynomial_equivalent_symmetric (K) - 0090
specialize prime_field_polynomial_equivalent_symmetric (0) - 0091
specialize prime_field_polynomial_equivalent_symmetric (0) - 0092
specialize prime_field_polynomial_equivalent_symmetric (0) - 0093
apply prime_field_polynomial_equivalent_symmetric - 0094
exact hen - 0095
have hM : M=0 \/ ~(M=0) - 0096
specialize eq_decidable (M) - 0097
specialize eq_decidable (0) - 0098
apply eq_decidable - 0099
cases hM - 0100
have hz : forall pfp_repeat_index_empty_factor_zero_rightright. (exists pfa_gap_empty_factor_zero_rightrightindex. pfa_gap_empty_factor_zero_rightrightindex + S (pfp_repeat_index_empty_factor_zero_rightright) = (M)) -> (((exists ff_h_pfp_empty_factor_zero_rightrightentry. ff_h_pfp_empty_factor_zero_rightrightentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_rightright)) * bc)) /\ exists ff_q_pfp_empty_factor_zero_rightrightentry. bb = ff_q_pfp_empty_factor_zero_rightrightentry * S ((S (pfp_repeat_index_empty_factor_zero_rightright)) * bc) + (0))) - 0101
intro j - 0102
intro hj - 0103
rewrite hM_left at hj - 0104
exfalso - 0105
specialize matrix_rank_no_index_below_zero (j) - 0106
apply matrix_rank_no_index_below_zero - 0107
exact hj - 0108
have hc0 : forall pfp_repeat_index_empty_original_product_rightright. (exists pfa_gap_empty_original_product_rightrightindex. pfa_gap_empty_original_product_rightrightindex + S (pfp_repeat_index_empty_original_product_rightright) = (N)) -> (((exists ff_h_pfp_empty_original_product_rightrightentry. ff_h_pfp_empty_original_product_rightrightentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_rightright)) * cc)) /\ exists ff_q_pfp_empty_original_product_rightrightentry. cb = ff_q_pfp_empty_original_product_rightrightentry * S ((S (pfp_repeat_index_empty_original_product_rightright)) * cc) + (0))) - 0109
specialize prime_field_polynomial_convolution_zero_right (p) - 0110
specialize prime_field_polynomial_convolution_zero_right (ab) - 0111
specialize prime_field_polynomial_convolution_zero_right (ac) - 0112
specialize prime_field_polynomial_convolution_zero_right (L) - 0113
specialize prime_field_polynomial_convolution_zero_right (bb) - 0114
specialize prime_field_polynomial_convolution_zero_right (bc) - 0115
specialize prime_field_polynomial_convolution_zero_right (M) - 0116
specialize prime_field_polynomial_convolution_zero_right (cb) - 0117
specialize prime_field_polynomial_convolution_zero_right (cc) - 0118
specialize prime_field_polynomial_convolution_zero_right (N) - 0119
apply prime_field_polynomial_convolution_zero_right - 0120
exact hp - 0121
exact hz - 0122
exact hc - 0123
have hn0 : forall pfp_repeat_index_empty_padded_product_rightright. (exists pfa_gap_empty_padded_product_rightrightindex. pfa_gap_empty_padded_product_rightrightindex + S (pfp_repeat_index_empty_padded_product_rightright) = (K)) -> (((exists ff_h_pfp_empty_padded_product_rightrightentry. ff_h_pfp_empty_padded_product_rightrightentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_rightright)) * CC)) /\ exists ff_q_pfp_empty_padded_product_rightrightentry. CB = ff_q_pfp_empty_padded_product_rightrightentry * S ((S (pfp_repeat_index_empty_padded_product_rightright)) * CC) + (0))) - 0124
specialize prime_field_polynomial_convolution_zero_right (p) - 0125
specialize prime_field_polynomial_convolution_zero_right (ab) - 0126
specialize prime_field_polynomial_convolution_zero_right (ac) - 0127
specialize prime_field_polynomial_convolution_zero_right (L) - 0128
specialize prime_field_polynomial_convolution_zero_right (BB) - 0129
specialize prime_field_polynomial_convolution_zero_right (BC) - 0130
specialize prime_field_polynomial_convolution_zero_right (t+M) - 0131
specialize prime_field_polynomial_convolution_zero_right (CB) - 0132
specialize prime_field_polynomial_convolution_zero_right (CC) - 0133
specialize prime_field_polynomial_convolution_zero_right (K) - 0134
apply prime_field_polynomial_convolution_zero_right - 0135
exact hp - 0136
specialize polynomial_left_pad_zero_prefix (bb) - 0137
specialize polynomial_left_pad_zero_prefix (bc) - 0138
specialize polynomial_left_pad_zero_prefix (M) - 0139
specialize polynomial_left_pad_zero_prefix (t) - 0140
specialize polynomial_left_pad_zero_prefix (BB) - 0141
specialize polynomial_left_pad_zero_prefix (BC) - 0142
apply polynomial_left_pad_zero_prefix - 0143
exact hz - 0144
exact hpad - 0145
exact hn - 0146
have hec : forall pfrep_power_empty_first_equivalence_rightright pfrep_left_empty_first_equivalence_rightright pfrep_right_empty_first_equivalence_rightright. ((exists pfrep_position_empty_first_equivalence_rightrightfirst. ((pfrep_position_empty_first_equivalence_rightrightfirst+S (pfrep_power_empty_first_equivalence_rightright)=(N)) /\ ((((exists ff_h_pfp_empty_first_equivalence_rightrightfirstentry. ff_h_pfp_empty_first_equivalence_rightrightfirstentry + S (pfrep_left_empty_first_equivalence_rightright) = S ((S (pfrep_position_empty_first_equivalence_rightrightfirst)) * cc)) /\ exists ff_q_pfp_empty_first_equivalence_rightrightfirstentry. cb = ff_q_pfp_empty_first_equivalence_rightrightfirstentry * S ((S (pfrep_position_empty_first_equivalence_rightrightfirst)) * cc) + (pfrep_left_empty_first_equivalence_rightright)))))) \/ (((exists pfrep_gap_empty_first_equivalence_rightrightfirstoutside. pfrep_gap_empty_first_equivalence_rightrightfirstoutside+(N)=(pfrep_power_empty_first_equivalence_rightright)) /\ (((pfrep_left_empty_first_equivalence_rightright)=0))))) -> ((exists pfrep_position_empty_first_equivalence_rightrightsecond. ((pfrep_position_empty_first_equivalence_rightrightsecond+S (pfrep_power_empty_first_equivalence_rightright)=(0)) /\ ((((exists ff_h_pfp_empty_first_equivalence_rightrightsecondentry. ff_h_pfp_empty_first_equivalence_rightrightsecondentry + S (pfrep_right_empty_first_equivalence_rightright) = S ((S (pfrep_position_empty_first_equivalence_rightrightsecond)) * 0)) /\ exists ff_q_pfp_empty_first_equivalence_rightrightsecondentry. 0 = ff_q_pfp_empty_first_equivalence_rightrightsecondentry * S ((S (pfrep_position_empty_first_equivalence_rightrightsecond)) * 0) + (pfrep_right_empty_first_equivalence_rightright)))))) \/ (((exists pfrep_gap_empty_first_equivalence_rightrightsecondoutside. pfrep_gap_empty_first_equivalence_rightrightsecondoutside+(0)=(pfrep_power_empty_first_equivalence_rightright)) /\ (((pfrep_right_empty_first_equivalence_rightright)=0))))) -> pfrep_left_empty_first_equivalence_rightright=pfrep_right_empty_first_equivalence_rightright - 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_rightright pfrep_left_empty_second_equivalence_rightright pfrep_right_empty_second_equivalence_rightright. ((exists pfrep_position_empty_second_equivalence_rightrightfirst. ((pfrep_position_empty_second_equivalence_rightrightfirst+S (pfrep_power_empty_second_equivalence_rightright)=(K)) /\ ((((exists ff_h_pfp_empty_second_equivalence_rightrightfirstentry. ff_h_pfp_empty_second_equivalence_rightrightfirstentry + S (pfrep_left_empty_second_equivalence_rightright) = S ((S (pfrep_position_empty_second_equivalence_rightrightfirst)) * CC)) /\ exists ff_q_pfp_empty_second_equivalence_rightrightfirstentry. CB = ff_q_pfp_empty_second_equivalence_rightrightfirstentry * S ((S (pfrep_position_empty_second_equivalence_rightrightfirst)) * CC) + (pfrep_left_empty_second_equivalence_rightright)))))) \/ (((exists pfrep_gap_empty_second_equivalence_rightrightfirstoutside. pfrep_gap_empty_second_equivalence_rightrightfirstoutside+(K)=(pfrep_power_empty_second_equivalence_rightright)) /\ (((pfrep_left_empty_second_equivalence_rightright)=0))))) -> ((exists pfrep_position_empty_second_equivalence_rightrightsecond. ((pfrep_position_empty_second_equivalence_rightrightsecond+S (pfrep_power_empty_second_equivalence_rightright)=(0)) /\ ((((exists ff_h_pfp_empty_second_equivalence_rightrightsecondentry. ff_h_pfp_empty_second_equivalence_rightrightsecondentry + S (pfrep_right_empty_second_equivalence_rightright) = S ((S (pfrep_position_empty_second_equivalence_rightrightsecond)) * 0)) /\ exists ff_q_pfp_empty_second_equivalence_rightrightsecondentry. 0 = ff_q_pfp_empty_second_equivalence_rightrightsecondentry * S ((S (pfrep_position_empty_second_equivalence_rightrightsecond)) * 0) + (pfrep_right_empty_second_equivalence_rightright)))))) \/ (((exists pfrep_gap_empty_second_equivalence_rightrightsecondoutside. pfrep_gap_empty_second_equivalence_rightrightsecondoutside+(0)=(pfrep_power_empty_second_equivalence_rightright)) /\ (((pfrep_right_empty_second_equivalence_rightright)=0))))) -> pfrep_left_empty_second_equivalence_rightright=pfrep_right_empty_second_equivalence_rightright - 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_rightzeros. (exists pfa_gap_product_equivalent_padding_rightzerosindex. pfa_gap_product_equivalent_padding_rightzerosindex + S (pfp_repeat_index_product_equivalent_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_product_equivalent_padding_rightzerosentry. ff_h_pfp_product_equivalent_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_product_equivalent_padding_rightzeros)) * CC)) /\ exists ff_q_pfp_product_equivalent_padding_rightzerosentry. CB = ff_q_pfp_product_equivalent_padding_rightzerosentry * S ((S (pfp_repeat_index_product_equivalent_padding_rightzeros)) * CC) + (0)))) /\ ((forall pfrep_index_product_equivalent_padding_right pfrep_value_product_equivalent_padding_right. (exists pfa_gap_product_equivalent_padding_rightbound. pfa_gap_product_equivalent_padding_rightbound + S (pfrep_index_product_equivalent_padding_right) = (N)) -> (((exists ff_h_pfp_product_equivalent_padding_rightinput. ff_h_pfp_product_equivalent_padding_rightinput + S (pfrep_value_product_equivalent_padding_right) = S ((S (pfrep_index_product_equivalent_padding_right)) * cc)) /\ exists ff_q_pfp_product_equivalent_padding_rightinput. cb = ff_q_pfp_product_equivalent_padding_rightinput * S ((S (pfrep_index_product_equivalent_padding_right)) * cc) + (pfrep_value_product_equivalent_padding_right))) -> (((exists ff_h_pfp_product_equivalent_padding_rightoutput. ff_h_pfp_product_equivalent_padding_rightoutput + S (pfrep_value_product_equivalent_padding_right) = S ((S ((t)+pfrep_index_product_equivalent_padding_right)) * CC)) /\ exists ff_q_pfp_product_equivalent_padding_rightoutput. CB = ff_q_pfp_product_equivalent_padding_rightoutput * S ((S ((t)+pfrep_index_product_equivalent_padding_right)) * CC) + (pfrep_value_product_equivalent_padding_right))))))))) - 0178
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (p) - 0179
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (ab) - 0180
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (ac) - 0181
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (L) - 0182
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (bb) - 0183
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (bc) - 0184
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (M) - 0185
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (cb) - 0186
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (cc) - 0187
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (N) - 0188
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (BB) - 0189
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (BC) - 0190
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (t) - 0191
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (CB) - 0192
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (CC) - 0193
specialize prime_field_polynomial_convolution_left_padding_nonempty_right (K) - 0194
apply prime_field_polynomial_convolution_left_padding_nonempty_right - 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