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 c ab ac L bb bc M pb pc N qb qc K rb rc T ub uc vb vc UPb UPc VPb VPc zb zc sb sc W eb ec fb fc EPb EPc FPb FPc yb yc. (~((p) = 1) /\ forall pfa_factor_left_step_helper_prime pfa_factor_right_step_helper_prime. (p) = pfa_factor_left_step_helper_prime * pfa_factor_right_step_helper_prime -> pfa_factor_left_step_helper_prime = 1 \/ pfa_factor_right_step_helper_prime = 1) -> (((forall fom_index_pfp_step_helper_ABleft. (exists fom_gap_pfp_step_helper_ABleft_index_bound. fom_gap_pfp_step_helper_ABleft_index_bound + S (fom_index_pfp_step_helper_ABleft) = L) -> exists fom_value_pfp_step_helper_ABleft. ((((exists fom_beta_height_pfp_step_helper_ABleft_entry. fom_beta_height_pfp_step_helper_ABleft_entry + S (fom_value_pfp_step_helper_ABleft) = S ((S (fom_index_pfp_step_helper_ABleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_ABleft_entry. ab = fom_beta_quotient_pfp_step_helper_ABleft_entry * S ((S (fom_index_pfp_step_helper_ABleft)) * ac) + (fom_value_pfp_step_helper_ABleft))) /\ (exists fom_gap_pfp_step_helper_ABleft_value_bound. fom_gap_pfp_step_helper_ABleft_value_bound + S (fom_value_pfp_step_helper_ABleft) = p))) /\ (((forall fom_index_pfp_step_helper_ABright. (exists fom_gap_pfp_step_helper_ABright_index_bound. fom_gap_pfp_step_helper_ABright_index_bound + S (fom_index_pfp_step_helper_ABright) = M) -> exists fom_value_pfp_step_helper_ABright. ((((exists fom_beta_height_pfp_step_helper_ABright_entry. fom_beta_height_pfp_step_helper_ABright_entry + S (fom_value_pfp_step_helper_ABright) = S ((S (fom_index_pfp_step_helper_ABright)) * bc)) /\ exists fom_beta_quotient_pfp_step_helper_ABright_entry. bb = fom_beta_quotient_pfp_step_helper_ABright_entry * S ((S (fom_index_pfp_step_helper_ABright)) * bc) + (fom_value_pfp_step_helper_ABright))) /\ (exists fom_gap_pfp_step_helper_ABright_value_bound. fom_gap_pfp_step_helper_ABright_value_bound + S (fom_value_pfp_step_helper_ABright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_step_helper_ABcoefficients. (exists pfa_gap_step_helper_ABcoefficientsbound. pfa_gap_step_helper_ABcoefficientsbound + S (pfc_index_step_helper_ABcoefficients) = (N)) -> exists pfc_value_step_helper_ABcoefficients. ((((exists ff_h_pfp_step_helper_ABcoefficientsentry. ff_h_pfp_step_helper_ABcoefficientsentry + S (pfc_value_step_helper_ABcoefficients) = S ((S (pfc_index_step_helper_ABcoefficients)) * pc)) /\ exists ff_q_pfp_step_helper_ABcoefficientsentry. pb = ff_q_pfp_step_helper_ABcoefficientsentry * S ((S (pfc_index_step_helper_ABcoefficients)) * pc) + (pfc_value_step_helper_ABcoefficients))) /\ ((exists pfc_terms_code_step_helper_ABcoefficientscoefficient pfc_terms_scale_step_helper_ABcoefficientscoefficient pfc_natural_sum_step_helper_ABcoefficientscoefficient. ((forall pfc_index_step_helper_ABcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_ABcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_ABcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_ABcoefficients))) -> exists pfc_value_step_helper_ABcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_ABcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_ABcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_ABcoefficientscoefficient = ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_ABcoefficientscoefficient) + (pfc_value_step_helper_ABcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_ABcoefficientscoefficientdiagonal)+pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_ABcoefficients)) /\ ((((((exists pfa_gap_step_helper_ABcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_ABcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_ABcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_ABcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_ABcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_ABcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_ABcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_ABcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_ABcoefficientscoefficientdiagonal)=pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm*pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_ABcoefficientscoefficientsum fs_v_pfc_step_helper_ABcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_ABcoefficientscoefficientsum = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_ABcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_ABcoefficients))) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_ABcoefficientscoefficientsum = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_ABcoefficients))) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_ABcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_ABcoefficients)) -> exists fs_a_pfc_step_helper_ABcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_ABcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_ABcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_ABcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_ABcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_ABcoefficientscoefficient = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_ABcoefficientscoefficient) + (fs_a_pfc_step_helper_ABcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_ABcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_ABcoefficientscoefficientsum = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum) + (fs_r_pfc_step_helper_ABcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_ABcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_ABcoefficientscoefficientsum = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum) + (fs_s_pfc_step_helper_ABcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_ABcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_ABcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_ABcoefficientscoefficientresiduebound. pfa_gap_step_helper_ABcoefficientscoefficientresiduebound + S (pfc_value_step_helper_ABcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_ABcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_ABcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_ABcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_ABcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_ABcoefficients) + (p) * pfa_offset_right_step_helper_ABcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_step_helper_AQleft. (exists fom_gap_pfp_step_helper_AQleft_index_bound. fom_gap_pfp_step_helper_AQleft_index_bound + S (fom_index_pfp_step_helper_AQleft) = L) -> exists fom_value_pfp_step_helper_AQleft. ((((exists fom_beta_height_pfp_step_helper_AQleft_entry. fom_beta_height_pfp_step_helper_AQleft_entry + S (fom_value_pfp_step_helper_AQleft) = S ((S (fom_index_pfp_step_helper_AQleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_AQleft_entry. ab = fom_beta_quotient_pfp_step_helper_AQleft_entry * S ((S (fom_index_pfp_step_helper_AQleft)) * ac) + (fom_value_pfp_step_helper_AQleft))) /\ (exists fom_gap_pfp_step_helper_AQleft_value_bound. fom_gap_pfp_step_helper_AQleft_value_bound + S (fom_value_pfp_step_helper_AQleft) = p))) /\ (((forall fom_index_pfp_step_helper_AQright. (exists fom_gap_pfp_step_helper_AQright_index_bound. fom_gap_pfp_step_helper_AQright_index_bound + S (fom_index_pfp_step_helper_AQright) = K) -> exists fom_value_pfp_step_helper_AQright. ((((exists fom_beta_height_pfp_step_helper_AQright_entry. fom_beta_height_pfp_step_helper_AQright_entry + S (fom_value_pfp_step_helper_AQright) = S ((S (fom_index_pfp_step_helper_AQright)) * qc)) /\ exists fom_beta_quotient_pfp_step_helper_AQright_entry. qb = fom_beta_quotient_pfp_step_helper_AQright_entry * S ((S (fom_index_pfp_step_helper_AQright)) * qc) + (fom_value_pfp_step_helper_AQright))) /\ (exists fom_gap_pfp_step_helper_AQright_value_bound. fom_gap_pfp_step_helper_AQright_value_bound + S (fom_value_pfp_step_helper_AQright) = p))) /\ (((((((L)=0 \/ (K)=0) /\ (((T)=0)))) \/ (((~((L)=0)) /\ (((~((K)=0)) /\ (((L)+(K)=S (T)))))))) /\ ((forall pfc_index_step_helper_AQcoefficients. (exists pfa_gap_step_helper_AQcoefficientsbound. pfa_gap_step_helper_AQcoefficientsbound + S (pfc_index_step_helper_AQcoefficients) = (T)) -> exists pfc_value_step_helper_AQcoefficients. ((((exists ff_h_pfp_step_helper_AQcoefficientsentry. ff_h_pfp_step_helper_AQcoefficientsentry + S (pfc_value_step_helper_AQcoefficients) = S ((S (pfc_index_step_helper_AQcoefficients)) * rc)) /\ exists ff_q_pfp_step_helper_AQcoefficientsentry. rb = ff_q_pfp_step_helper_AQcoefficientsentry * S ((S (pfc_index_step_helper_AQcoefficients)) * rc) + (pfc_value_step_helper_AQcoefficients))) /\ ((exists pfc_terms_code_step_helper_AQcoefficientscoefficient pfc_terms_scale_step_helper_AQcoefficientscoefficient pfc_natural_sum_step_helper_AQcoefficientscoefficient. ((forall pfc_index_step_helper_AQcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_AQcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_AQcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_AQcoefficients))) -> exists pfc_value_step_helper_AQcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_AQcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_AQcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_AQcoefficientscoefficient = ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_AQcoefficientscoefficient) + (pfc_value_step_helper_AQcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_AQcoefficientscoefficientdiagonal)+pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_AQcoefficients)) /\ ((((((exists pfa_gap_step_helper_AQcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_AQcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_AQcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_AQcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_AQcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_AQcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm) = (K)) /\ ((((exists ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm)) * qc)) /\ exists ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonaltermrightentry. qb = ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm)) * qc) + (pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_AQcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_AQcoefficientscoefficientdiagonaltermrightoutside+(K)=(pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_AQcoefficientscoefficientdiagonal)=pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm*pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_AQcoefficientscoefficientsum fs_v_pfc_step_helper_AQcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_AQcoefficientscoefficientsum = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_AQcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_AQcoefficients))) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_AQcoefficientscoefficientsum = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_AQcoefficients))) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_AQcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_AQcoefficients)) -> exists fs_a_pfc_step_helper_AQcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_AQcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_AQcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_AQcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_AQcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_AQcoefficientscoefficient = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_AQcoefficientscoefficient) + (fs_a_pfc_step_helper_AQcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_AQcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_AQcoefficientscoefficientsum = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum) + (fs_r_pfc_step_helper_AQcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_AQcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_AQcoefficientscoefficientsum = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum) + (fs_s_pfc_step_helper_AQcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_AQcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_AQcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_AQcoefficientscoefficientresiduebound. pfa_gap_step_helper_AQcoefficientscoefficientresiduebound + S (pfc_value_step_helper_AQcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_AQcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_AQcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_AQcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_AQcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_AQcoefficients) + (p) * pfa_offset_right_step_helper_AQcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall mdr_i_pfp_step_helper_left_shiftprefix mdr_a_pfp_step_helper_left_shiftprefix. (exists mdr_gap_pfp_step_helper_left_shiftprefixb. mdr_gap_pfp_step_helper_left_shiftprefixb + S (mdr_i_pfp_step_helper_left_shiftprefix) = (K)) -> (((exists ff_h_mdr_pfp_step_helper_left_shiftprefixo. ff_h_mdr_pfp_step_helper_left_shiftprefixo + S (mdr_a_pfp_step_helper_left_shiftprefix) = S ((S (mdr_i_pfp_step_helper_left_shiftprefix)) * qc)) /\ exists ff_q_mdr_pfp_step_helper_left_shiftprefixo. qb = ff_q_mdr_pfp_step_helper_left_shiftprefixo * S ((S (mdr_i_pfp_step_helper_left_shiftprefix)) * qc) + (mdr_a_pfp_step_helper_left_shiftprefix))) -> (((exists ff_h_mdr_pfp_step_helper_left_shiftprefixn. ff_h_mdr_pfp_step_helper_left_shiftprefixn + S (mdr_a_pfp_step_helper_left_shiftprefix) = S ((S (mdr_i_pfp_step_helper_left_shiftprefix)) * uc)) /\ exists ff_q_mdr_pfp_step_helper_left_shiftprefixn. ub = ff_q_mdr_pfp_step_helper_left_shiftprefixn * S ((S (mdr_i_pfp_step_helper_left_shiftprefix)) * uc) + (mdr_a_pfp_step_helper_left_shiftprefix)))) /\ ((((exists ff_h_pfp_step_helper_left_shiftzero. ff_h_pfp_step_helper_left_shiftzero + S (0) = S ((S (K)) * uc)) /\ exists ff_q_pfp_step_helper_left_shiftzero. ub = ff_q_pfp_step_helper_left_shiftzero * S ((S (K)) * uc) + (0)))))) -> (((exists pfa_gap_step_helper_left_scalescalar. pfa_gap_step_helper_left_scalescalar + S (c) = (p)) /\ ((forall pfp_index_step_helper_left_scale. (exists pfa_gap_step_helper_left_scaleindex. pfa_gap_step_helper_left_scaleindex + S (pfp_index_step_helper_left_scale) = (M)) -> exists pfp_source_step_helper_left_scale pfp_value_step_helper_left_scale. ((((exists ff_h_pfp_step_helper_left_scalesource. ff_h_pfp_step_helper_left_scalesource + S (pfp_source_step_helper_left_scale) = S ((S (pfp_index_step_helper_left_scale)) * bc)) /\ exists ff_q_pfp_step_helper_left_scalesource. bb = ff_q_pfp_step_helper_left_scalesource * S ((S (pfp_index_step_helper_left_scale)) * bc) + (pfp_source_step_helper_left_scale))) /\ (((((exists ff_h_pfp_step_helper_left_scaletarget. ff_h_pfp_step_helper_left_scaletarget + S (pfp_value_step_helper_left_scale) = S ((S (pfp_index_step_helper_left_scale)) * vc)) /\ exists ff_q_pfp_step_helper_left_scaletarget. vb = ff_q_pfp_step_helper_left_scaletarget * S ((S (pfp_index_step_helper_left_scale)) * vc) + (pfp_value_step_helper_left_scale))) /\ ((((exists pfa_gap_step_helper_left_scaleoperationleft. pfa_gap_step_helper_left_scaleoperationleft + S (c) = (p)) /\ (((exists pfa_gap_step_helper_left_scaleoperationright. pfa_gap_step_helper_left_scaleoperationright + S (pfp_source_step_helper_left_scale) = (p)) /\ ((((exists pfa_gap_step_helper_left_scaleoperationresultbound. pfa_gap_step_helper_left_scaleoperationresultbound + S (pfp_value_step_helper_left_scale) = (p)) /\ ((exists pfa_offset_left_step_helper_left_scaleoperationresultcongruence pfa_offset_right_step_helper_left_scaleoperationresultcongruence. ((c) * (pfp_source_step_helper_left_scale)) + (p) * pfa_offset_left_step_helper_left_scaleoperationresultcongruence = (pfp_value_step_helper_left_scale) + (p) * pfa_offset_right_step_helper_left_scaleoperationresultcongruence))))))))))))))))) -> (((forall pfp_repeat_index_step_helper_left_leftzeros. (exists pfa_gap_step_helper_left_leftzerosindex. pfa_gap_step_helper_left_leftzerosindex + S (pfp_repeat_index_step_helper_left_leftzeros) = (M)) -> (((exists ff_h_pfp_step_helper_left_leftzerosentry. ff_h_pfp_step_helper_left_leftzerosentry + S (0) = S ((S (pfp_repeat_index_step_helper_left_leftzeros)) * UPc)) /\ exists ff_q_pfp_step_helper_left_leftzerosentry. UPb = ff_q_pfp_step_helper_left_leftzerosentry * S ((S (pfp_repeat_index_step_helper_left_leftzeros)) * UPc) + (0)))) /\ ((forall pfrep_index_step_helper_left_left pfrep_value_step_helper_left_left. (exists pfa_gap_step_helper_left_leftbound. pfa_gap_step_helper_left_leftbound + S (pfrep_index_step_helper_left_left) = (S K)) -> (((exists ff_h_pfp_step_helper_left_leftinput. ff_h_pfp_step_helper_left_leftinput + S (pfrep_value_step_helper_left_left) = S ((S (pfrep_index_step_helper_left_left)) * uc)) /\ exists ff_q_pfp_step_helper_left_leftinput. ub = ff_q_pfp_step_helper_left_leftinput * S ((S (pfrep_index_step_helper_left_left)) * uc) + (pfrep_value_step_helper_left_left))) -> (((exists ff_h_pfp_step_helper_left_leftoutput. ff_h_pfp_step_helper_left_leftoutput + S (pfrep_value_step_helper_left_left) = S ((S ((M)+pfrep_index_step_helper_left_left)) * UPc)) /\ exists ff_q_pfp_step_helper_left_leftoutput. UPb = ff_q_pfp_step_helper_left_leftoutput * S ((S ((M)+pfrep_index_step_helper_left_left)) * UPc) + (pfrep_value_step_helper_left_left))))))) -> (((forall pfp_repeat_index_step_helper_left_rightzeros. (exists pfa_gap_step_helper_left_rightzerosindex. pfa_gap_step_helper_left_rightzerosindex + S (pfp_repeat_index_step_helper_left_rightzeros) = (S K)) -> (((exists ff_h_pfp_step_helper_left_rightzerosentry. ff_h_pfp_step_helper_left_rightzerosentry + S (0) = S ((S (pfp_repeat_index_step_helper_left_rightzeros)) * VPc)) /\ exists ff_q_pfp_step_helper_left_rightzerosentry. VPb = ff_q_pfp_step_helper_left_rightzerosentry * S ((S (pfp_repeat_index_step_helper_left_rightzeros)) * VPc) + (0)))) /\ ((forall pfrep_index_step_helper_left_right pfrep_value_step_helper_left_right. (exists pfa_gap_step_helper_left_rightbound. pfa_gap_step_helper_left_rightbound + S (pfrep_index_step_helper_left_right) = (M)) -> (((exists ff_h_pfp_step_helper_left_rightinput. ff_h_pfp_step_helper_left_rightinput + S (pfrep_value_step_helper_left_right) = S ((S (pfrep_index_step_helper_left_right)) * vc)) /\ exists ff_q_pfp_step_helper_left_rightinput. vb = ff_q_pfp_step_helper_left_rightinput * S ((S (pfrep_index_step_helper_left_right)) * vc) + (pfrep_value_step_helper_left_right))) -> (((exists ff_h_pfp_step_helper_left_rightoutput. ff_h_pfp_step_helper_left_rightoutput + S (pfrep_value_step_helper_left_right) = S ((S ((S K)+pfrep_index_step_helper_left_right)) * VPc)) /\ exists ff_q_pfp_step_helper_left_rightoutput. VPb = ff_q_pfp_step_helper_left_rightoutput * S ((S ((S K)+pfrep_index_step_helper_left_right)) * VPc) + (pfrep_value_step_helper_left_right))))))) -> (forall pfp_index_step_helper_left_sum. (exists pfa_gap_step_helper_left_sumindex. pfa_gap_step_helper_left_sumindex + S (pfp_index_step_helper_left_sum) = (M+S K)) -> exists pfp_left_step_helper_left_sum pfp_right_step_helper_left_sum pfp_value_step_helper_left_sum. ((((exists ff_h_pfp_step_helper_left_sumleft. ff_h_pfp_step_helper_left_sumleft + S (pfp_left_step_helper_left_sum) = S ((S (pfp_index_step_helper_left_sum)) * UPc)) /\ exists ff_q_pfp_step_helper_left_sumleft. UPb = ff_q_pfp_step_helper_left_sumleft * S ((S (pfp_index_step_helper_left_sum)) * UPc) + (pfp_left_step_helper_left_sum))) /\ (((((exists ff_h_pfp_step_helper_left_sumright. ff_h_pfp_step_helper_left_sumright + S (pfp_right_step_helper_left_sum) = S ((S (pfp_index_step_helper_left_sum)) * VPc)) /\ exists ff_q_pfp_step_helper_left_sumright. VPb = ff_q_pfp_step_helper_left_sumright * S ((S (pfp_index_step_helper_left_sum)) * VPc) + (pfp_right_step_helper_left_sum))) /\ (((((exists ff_h_pfp_step_helper_left_sumtarget. ff_h_pfp_step_helper_left_sumtarget + S (pfp_value_step_helper_left_sum) = S ((S (pfp_index_step_helper_left_sum)) * zc)) /\ exists ff_q_pfp_step_helper_left_sumtarget. zb = ff_q_pfp_step_helper_left_sumtarget * S ((S (pfp_index_step_helper_left_sum)) * zc) + (pfp_value_step_helper_left_sum))) /\ ((((exists pfa_gap_step_helper_left_sumoperationleft. pfa_gap_step_helper_left_sumoperationleft + S (pfp_left_step_helper_left_sum) = (p)) /\ (((exists pfa_gap_step_helper_left_sumoperationright. pfa_gap_step_helper_left_sumoperationright + S (pfp_right_step_helper_left_sum) = (p)) /\ ((((exists pfa_gap_step_helper_left_sumoperationresultbound. pfa_gap_step_helper_left_sumoperationresultbound + S (pfp_value_step_helper_left_sum) = (p)) /\ ((exists pfa_offset_left_step_helper_left_sumoperationresultcongruence pfa_offset_right_step_helper_left_sumoperationresultcongruence. ((pfp_left_step_helper_left_sum) + (pfp_right_step_helper_left_sum)) + (p) * pfa_offset_left_step_helper_left_sumoperationresultcongruence = (pfp_value_step_helper_left_sum) + (p) * pfa_offset_right_step_helper_left_sumoperationresultcongruence)))))))))))))))) -> (((forall fom_index_pfp_step_helper_AZleft. (exists fom_gap_pfp_step_helper_AZleft_index_bound. fom_gap_pfp_step_helper_AZleft_index_bound + S (fom_index_pfp_step_helper_AZleft) = L) -> exists fom_value_pfp_step_helper_AZleft. ((((exists fom_beta_height_pfp_step_helper_AZleft_entry. fom_beta_height_pfp_step_helper_AZleft_entry + S (fom_value_pfp_step_helper_AZleft) = S ((S (fom_index_pfp_step_helper_AZleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_AZleft_entry. ab = fom_beta_quotient_pfp_step_helper_AZleft_entry * S ((S (fom_index_pfp_step_helper_AZleft)) * ac) + (fom_value_pfp_step_helper_AZleft))) /\ (exists fom_gap_pfp_step_helper_AZleft_value_bound. fom_gap_pfp_step_helper_AZleft_value_bound + S (fom_value_pfp_step_helper_AZleft) = p))) /\ (((forall fom_index_pfp_step_helper_AZright. (exists fom_gap_pfp_step_helper_AZright_index_bound. fom_gap_pfp_step_helper_AZright_index_bound + S (fom_index_pfp_step_helper_AZright) = M+S K) -> exists fom_value_pfp_step_helper_AZright. ((((exists fom_beta_height_pfp_step_helper_AZright_entry. fom_beta_height_pfp_step_helper_AZright_entry + S (fom_value_pfp_step_helper_AZright) = S ((S (fom_index_pfp_step_helper_AZright)) * zc)) /\ exists fom_beta_quotient_pfp_step_helper_AZright_entry. zb = fom_beta_quotient_pfp_step_helper_AZright_entry * S ((S (fom_index_pfp_step_helper_AZright)) * zc) + (fom_value_pfp_step_helper_AZright))) /\ (exists fom_gap_pfp_step_helper_AZright_value_bound. fom_gap_pfp_step_helper_AZright_value_bound + S (fom_value_pfp_step_helper_AZright) = p))) /\ (((((((L)=0 \/ (M+S K)=0) /\ (((W)=0)))) \/ (((~((L)=0)) /\ (((~((M+S K)=0)) /\ (((L)+(M+S K)=S (W)))))))) /\ ((forall pfc_index_step_helper_AZcoefficients. (exists pfa_gap_step_helper_AZcoefficientsbound. pfa_gap_step_helper_AZcoefficientsbound + S (pfc_index_step_helper_AZcoefficients) = (W)) -> exists pfc_value_step_helper_AZcoefficients. ((((exists ff_h_pfp_step_helper_AZcoefficientsentry. ff_h_pfp_step_helper_AZcoefficientsentry + S (pfc_value_step_helper_AZcoefficients) = S ((S (pfc_index_step_helper_AZcoefficients)) * sc)) /\ exists ff_q_pfp_step_helper_AZcoefficientsentry. sb = ff_q_pfp_step_helper_AZcoefficientsentry * S ((S (pfc_index_step_helper_AZcoefficients)) * sc) + (pfc_value_step_helper_AZcoefficients))) /\ ((exists pfc_terms_code_step_helper_AZcoefficientscoefficient pfc_terms_scale_step_helper_AZcoefficientscoefficient pfc_natural_sum_step_helper_AZcoefficientscoefficient. ((forall pfc_index_step_helper_AZcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_AZcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_AZcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_AZcoefficients))) -> exists pfc_value_step_helper_AZcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_AZcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_AZcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_AZcoefficientscoefficient = ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_AZcoefficientscoefficient) + (pfc_value_step_helper_AZcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_AZcoefficientscoefficientdiagonal)+pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_AZcoefficients)) /\ ((((((exists pfa_gap_step_helper_AZcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_AZcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_AZcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_AZcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_AZcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_AZcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm) = (M+S K)) /\ ((((exists ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm)) * zc)) /\ exists ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonaltermrightentry. zb = ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm)) * zc) + (pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_AZcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_AZcoefficientscoefficientdiagonaltermrightoutside+(M+S K)=(pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_AZcoefficientscoefficientdiagonal)=pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm*pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_AZcoefficientscoefficientsum fs_v_pfc_step_helper_AZcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_AZcoefficientscoefficientsum = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_AZcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_AZcoefficients))) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_AZcoefficientscoefficientsum = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_AZcoefficients))) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_AZcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_AZcoefficients)) -> exists fs_a_pfc_step_helper_AZcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_AZcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_AZcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_AZcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_AZcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_AZcoefficientscoefficient = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_AZcoefficientscoefficient) + (fs_a_pfc_step_helper_AZcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_AZcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_AZcoefficientscoefficientsum = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum) + (fs_r_pfc_step_helper_AZcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_AZcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_AZcoefficientscoefficientsum = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum) + (fs_s_pfc_step_helper_AZcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_AZcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_AZcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_AZcoefficientscoefficientresiduebound. pfa_gap_step_helper_AZcoefficientscoefficientresiduebound + S (pfc_value_step_helper_AZcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_AZcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_AZcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_AZcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_AZcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_AZcoefficients) + (p) * pfa_offset_right_step_helper_AZcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall mdr_i_pfp_step_helper_right_shiftprefix mdr_a_pfp_step_helper_right_shiftprefix. (exists mdr_gap_pfp_step_helper_right_shiftprefixb. mdr_gap_pfp_step_helper_right_shiftprefixb + S (mdr_i_pfp_step_helper_right_shiftprefix) = (T)) -> (((exists ff_h_mdr_pfp_step_helper_right_shiftprefixo. ff_h_mdr_pfp_step_helper_right_shiftprefixo + S (mdr_a_pfp_step_helper_right_shiftprefix) = S ((S (mdr_i_pfp_step_helper_right_shiftprefix)) * rc)) /\ exists ff_q_mdr_pfp_step_helper_right_shiftprefixo. rb = ff_q_mdr_pfp_step_helper_right_shiftprefixo * S ((S (mdr_i_pfp_step_helper_right_shiftprefix)) * rc) + (mdr_a_pfp_step_helper_right_shiftprefix))) -> (((exists ff_h_mdr_pfp_step_helper_right_shiftprefixn. ff_h_mdr_pfp_step_helper_right_shiftprefixn + S (mdr_a_pfp_step_helper_right_shiftprefix) = S ((S (mdr_i_pfp_step_helper_right_shiftprefix)) * ec)) /\ exists ff_q_mdr_pfp_step_helper_right_shiftprefixn. eb = ff_q_mdr_pfp_step_helper_right_shiftprefixn * S ((S (mdr_i_pfp_step_helper_right_shiftprefix)) * ec) + (mdr_a_pfp_step_helper_right_shiftprefix)))) /\ ((((exists ff_h_pfp_step_helper_right_shiftzero. ff_h_pfp_step_helper_right_shiftzero + S (0) = S ((S (T)) * ec)) /\ exists ff_q_pfp_step_helper_right_shiftzero. eb = ff_q_pfp_step_helper_right_shiftzero * S ((S (T)) * ec) + (0)))))) -> (((exists pfa_gap_step_helper_right_scalescalar. pfa_gap_step_helper_right_scalescalar + S (c) = (p)) /\ ((forall pfp_index_step_helper_right_scale. (exists pfa_gap_step_helper_right_scaleindex. pfa_gap_step_helper_right_scaleindex + S (pfp_index_step_helper_right_scale) = (N)) -> exists pfp_source_step_helper_right_scale pfp_value_step_helper_right_scale. ((((exists ff_h_pfp_step_helper_right_scalesource. ff_h_pfp_step_helper_right_scalesource + S (pfp_source_step_helper_right_scale) = S ((S (pfp_index_step_helper_right_scale)) * pc)) /\ exists ff_q_pfp_step_helper_right_scalesource. pb = ff_q_pfp_step_helper_right_scalesource * S ((S (pfp_index_step_helper_right_scale)) * pc) + (pfp_source_step_helper_right_scale))) /\ (((((exists ff_h_pfp_step_helper_right_scaletarget. ff_h_pfp_step_helper_right_scaletarget + S (pfp_value_step_helper_right_scale) = S ((S (pfp_index_step_helper_right_scale)) * fc)) /\ exists ff_q_pfp_step_helper_right_scaletarget. fb = ff_q_pfp_step_helper_right_scaletarget * S ((S (pfp_index_step_helper_right_scale)) * fc) + (pfp_value_step_helper_right_scale))) /\ ((((exists pfa_gap_step_helper_right_scaleoperationleft. pfa_gap_step_helper_right_scaleoperationleft + S (c) = (p)) /\ (((exists pfa_gap_step_helper_right_scaleoperationright. pfa_gap_step_helper_right_scaleoperationright + S (pfp_source_step_helper_right_scale) = (p)) /\ ((((exists pfa_gap_step_helper_right_scaleoperationresultbound. pfa_gap_step_helper_right_scaleoperationresultbound + S (pfp_value_step_helper_right_scale) = (p)) /\ ((exists pfa_offset_left_step_helper_right_scaleoperationresultcongruence pfa_offset_right_step_helper_right_scaleoperationresultcongruence. ((c) * (pfp_source_step_helper_right_scale)) + (p) * pfa_offset_left_step_helper_right_scaleoperationresultcongruence = (pfp_value_step_helper_right_scale) + (p) * pfa_offset_right_step_helper_right_scaleoperationresultcongruence))))))))))))))))) -> (((forall pfp_repeat_index_step_helper_right_leftzeros. (exists pfa_gap_step_helper_right_leftzerosindex. pfa_gap_step_helper_right_leftzerosindex + S (pfp_repeat_index_step_helper_right_leftzeros) = (N)) -> (((exists ff_h_pfp_step_helper_right_leftzerosentry. ff_h_pfp_step_helper_right_leftzerosentry + S (0) = S ((S (pfp_repeat_index_step_helper_right_leftzeros)) * EPc)) /\ exists ff_q_pfp_step_helper_right_leftzerosentry. EPb = ff_q_pfp_step_helper_right_leftzerosentry * S ((S (pfp_repeat_index_step_helper_right_leftzeros)) * EPc) + (0)))) /\ ((forall pfrep_index_step_helper_right_left pfrep_value_step_helper_right_left. (exists pfa_gap_step_helper_right_leftbound. pfa_gap_step_helper_right_leftbound + S (pfrep_index_step_helper_right_left) = (S T)) -> (((exists ff_h_pfp_step_helper_right_leftinput. ff_h_pfp_step_helper_right_leftinput + S (pfrep_value_step_helper_right_left) = S ((S (pfrep_index_step_helper_right_left)) * ec)) /\ exists ff_q_pfp_step_helper_right_leftinput. eb = ff_q_pfp_step_helper_right_leftinput * S ((S (pfrep_index_step_helper_right_left)) * ec) + (pfrep_value_step_helper_right_left))) -> (((exists ff_h_pfp_step_helper_right_leftoutput. ff_h_pfp_step_helper_right_leftoutput + S (pfrep_value_step_helper_right_left) = S ((S ((N)+pfrep_index_step_helper_right_left)) * EPc)) /\ exists ff_q_pfp_step_helper_right_leftoutput. EPb = ff_q_pfp_step_helper_right_leftoutput * S ((S ((N)+pfrep_index_step_helper_right_left)) * EPc) + (pfrep_value_step_helper_right_left))))))) -> (((forall pfp_repeat_index_step_helper_right_rightzeros. (exists pfa_gap_step_helper_right_rightzerosindex. pfa_gap_step_helper_right_rightzerosindex + S (pfp_repeat_index_step_helper_right_rightzeros) = (S T)) -> (((exists ff_h_pfp_step_helper_right_rightzerosentry. ff_h_pfp_step_helper_right_rightzerosentry + S (0) = S ((S (pfp_repeat_index_step_helper_right_rightzeros)) * FPc)) /\ exists ff_q_pfp_step_helper_right_rightzerosentry. FPb = ff_q_pfp_step_helper_right_rightzerosentry * S ((S (pfp_repeat_index_step_helper_right_rightzeros)) * FPc) + (0)))) /\ ((forall pfrep_index_step_helper_right_right pfrep_value_step_helper_right_right. (exists pfa_gap_step_helper_right_rightbound. pfa_gap_step_helper_right_rightbound + S (pfrep_index_step_helper_right_right) = (N)) -> (((exists ff_h_pfp_step_helper_right_rightinput. ff_h_pfp_step_helper_right_rightinput + S (pfrep_value_step_helper_right_right) = S ((S (pfrep_index_step_helper_right_right)) * fc)) /\ exists ff_q_pfp_step_helper_right_rightinput. fb = ff_q_pfp_step_helper_right_rightinput * S ((S (pfrep_index_step_helper_right_right)) * fc) + (pfrep_value_step_helper_right_right))) -> (((exists ff_h_pfp_step_helper_right_rightoutput. ff_h_pfp_step_helper_right_rightoutput + S (pfrep_value_step_helper_right_right) = S ((S ((S T)+pfrep_index_step_helper_right_right)) * FPc)) /\ exists ff_q_pfp_step_helper_right_rightoutput. FPb = ff_q_pfp_step_helper_right_rightoutput * S ((S ((S T)+pfrep_index_step_helper_right_right)) * FPc) + (pfrep_value_step_helper_right_right))))))) -> (forall pfp_index_step_helper_right_sum. (exists pfa_gap_step_helper_right_sumindex. pfa_gap_step_helper_right_sumindex + S (pfp_index_step_helper_right_sum) = (N+S T)) -> exists pfp_left_step_helper_right_sum pfp_right_step_helper_right_sum pfp_value_step_helper_right_sum. ((((exists ff_h_pfp_step_helper_right_sumleft. ff_h_pfp_step_helper_right_sumleft + S (pfp_left_step_helper_right_sum) = S ((S (pfp_index_step_helper_right_sum)) * EPc)) /\ exists ff_q_pfp_step_helper_right_sumleft. EPb = ff_q_pfp_step_helper_right_sumleft * S ((S (pfp_index_step_helper_right_sum)) * EPc) + (pfp_left_step_helper_right_sum))) /\ (((((exists ff_h_pfp_step_helper_right_sumright. ff_h_pfp_step_helper_right_sumright + S (pfp_right_step_helper_right_sum) = S ((S (pfp_index_step_helper_right_sum)) * FPc)) /\ exists ff_q_pfp_step_helper_right_sumright. FPb = ff_q_pfp_step_helper_right_sumright * S ((S (pfp_index_step_helper_right_sum)) * FPc) + (pfp_right_step_helper_right_sum))) /\ (((((exists ff_h_pfp_step_helper_right_sumtarget. ff_h_pfp_step_helper_right_sumtarget + S (pfp_value_step_helper_right_sum) = S ((S (pfp_index_step_helper_right_sum)) * yc)) /\ exists ff_q_pfp_step_helper_right_sumtarget. yb = ff_q_pfp_step_helper_right_sumtarget * S ((S (pfp_index_step_helper_right_sum)) * yc) + (pfp_value_step_helper_right_sum))) /\ ((((exists pfa_gap_step_helper_right_sumoperationleft. pfa_gap_step_helper_right_sumoperationleft + S (pfp_left_step_helper_right_sum) = (p)) /\ (((exists pfa_gap_step_helper_right_sumoperationright. pfa_gap_step_helper_right_sumoperationright + S (pfp_right_step_helper_right_sum) = (p)) /\ ((((exists pfa_gap_step_helper_right_sumoperationresultbound. pfa_gap_step_helper_right_sumoperationresultbound + S (pfp_value_step_helper_right_sum) = (p)) /\ ((exists pfa_offset_left_step_helper_right_sumoperationresultcongruence pfa_offset_right_step_helper_right_sumoperationresultcongruence. ((pfp_left_step_helper_right_sum) + (pfp_right_step_helper_right_sum)) + (p) * pfa_offset_left_step_helper_right_sumoperationresultcongruence = (pfp_value_step_helper_right_sum) + (p) * pfa_offset_right_step_helper_right_sumoperationresultcongruence)))))))))))))))) -> (forall pfrep_power_step_helper_result pfrep_left_step_helper_result pfrep_right_step_helper_result. ((exists pfrep_position_step_helper_resultfirst. ((pfrep_position_step_helper_resultfirst+S (pfrep_power_step_helper_result)=(W)) /\ ((((exists ff_h_pfp_step_helper_resultfirstentry. ff_h_pfp_step_helper_resultfirstentry + S (pfrep_left_step_helper_result) = S ((S (pfrep_position_step_helper_resultfirst)) * sc)) /\ exists ff_q_pfp_step_helper_resultfirstentry. sb = ff_q_pfp_step_helper_resultfirstentry * S ((S (pfrep_position_step_helper_resultfirst)) * sc) + (pfrep_left_step_helper_result)))))) \/ (((exists pfrep_gap_step_helper_resultfirstoutside. pfrep_gap_step_helper_resultfirstoutside+(W)=(pfrep_power_step_helper_result)) /\ (((pfrep_left_step_helper_result)=0))))) -> ((exists pfrep_position_step_helper_resultsecond. ((pfrep_position_step_helper_resultsecond+S (pfrep_power_step_helper_result)=(N+S T)) /\ ((((exists ff_h_pfp_step_helper_resultsecondentry. ff_h_pfp_step_helper_resultsecondentry + S (pfrep_right_step_helper_result) = S ((S (pfrep_position_step_helper_resultsecond)) * yc)) /\ exists ff_q_pfp_step_helper_resultsecondentry. yb = ff_q_pfp_step_helper_resultsecondentry * S ((S (pfrep_position_step_helper_resultsecond)) * yc) + (pfrep_right_step_helper_result)))))) \/ (((exists pfrep_gap_step_helper_resultsecondoutside. pfrep_gap_step_helper_resultsecondoutside+(N+S T)=(pfrep_power_step_helper_result)) /\ (((pfrep_right_step_helper_result)=0))))) -> pfrep_left_step_helper_result=pfrep_right_step_helper_result)Constructive proof overview
Generated structural guide
For actual AB and AQ, multiplying an actual leading-pad-aligned sum XQ+cB by A is formally equivalent to every actual aligned sum X(AQ)+c(AB). All four intermediate products are genuinely constructed, scalar and shift outputs remain actual graph witnesses, proper product lengths are independent, and no associativity hypothesis or output equality is assumed.
The unchanged tactic script uses 16 declared prerequisites and contains 421 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_nonzero Alpha theorem; checked-use authorized prime_field_polynomial_scale_bounded Alpha theorem; checked-use authorized prime_field_polynomial_add_bounded Alpha theorem; checked-use authorized polynomial_product_length_exists Alpha theorem; checked-use authorized prime_field_polynomial_convolution_at_length_exists Alpha theorem; checked-use authorized PG0002 prime_field_polynomial_shift_bounded prime_field_polynomial_convolution_left_add Alpha theorem; checked-use authorized PG000C prime_field_polynomial_convolution_shift_right_equivalent prime_field_polynomial_convolution_left_padding_equivalent_right Alpha theorem; checked-use authorized prime_field_polynomial_equivalent_transitive Alpha theorem; checked-use authorized prime_field_polynomial_equivalent_symmetric Alpha theorem; checked-use authorized prime_field_polynomial_left_pad_equivalent Alpha theorem; checked-use authorized PG0016 prime_field_polynomial_convolution_right_scale_equal prime_field_polynomial_equal_implies_equivalent Alpha theorem; checked-use authorized add_comm Alpha theorem; checked-use authorized prime_field_polynomial_add_equivalent_congruent Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–30
04Fix variables and assumptionsL31–40
05Fix variables and assumptionsL41–50
06Fix variables and assumptionsL51–54
07Establish hp0L55–60
08Establish hABcopyL61–62
Establish this local claim before using it. It is not an additional assumption.
- L61
have hABcopy : FpPolyProduct(p,ab,ac,L,bb,bc,M,pb,pc,N)Definitions: FpPolyProduct - L62
exact hAB
09Separate the logical casesL63–65
10Establish hAQcopyL66–67
Establish this local claim before using it. It is not an additional assumption.
- L66
have hAQcopy : FpPolyProduct(p,ab,ac,L,qb,qc,K,rb,rc,T)Definitions: FpPolyProduct - L67
exact hAQ
11Separate the logical casesL68–70
12Establish hAZcopyL71–72
Establish this local claim before using it. It is not an additional assumption.
- L71
have hAZcopy : FpPolyProduct(p,ab,ac,L,zb,zc,M + S K,sb,sc,W)Definitions: FpPolyProduct - L72
exact hAZ
13Separate the logical casesL73–75
14Establish hscale_boundsL76–85
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial scale bounded.
- L76
have hscale_bounds : BetaPrefixInto(bb,bc,M,p) ∧ BetaPrefixInto(vb,vc,M,p)Definitions: BetaPrefixInto - L77
specialize prime_field_polynomial_scale_bounded (p) - L78
specialize prime_field_polynomial_scale_bounded (c) - L79
specialize prime_field_polynomial_scale_bounded (bb) - L80
specialize prime_field_polynomial_scale_bounded (bc) - L81
specialize prime_field_polynomial_scale_bounded (vb) - L82
specialize prime_field_polynomial_scale_bounded (vc) - L83
specialize prime_field_polynomial_scale_bounded (M) - L84
apply prime_field_polynomial_scale_bounded - L85
exact hV
15Separate the logical casesL86–86
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L86
cases hscale_bounds
16Establish hadd_boundsL87–96
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial add bounded.
- L87
have hadd_bounds : BetaPrefixInto(UPb,UPc,M + S K,p) ∧ (BetaPrefixInto(VPb,VPc,M + S K,p) ∧ BetaPrefixInto(zb,zc,M + S K,p))Definitions: BetaPrefixInto - L88
specialize prime_field_polynomial_add_bounded (p) - L89
specialize prime_field_polynomial_add_bounded (UPb) - L90
specialize prime_field_polynomial_add_bounded (UPc) - L91
specialize prime_field_polynomial_add_bounded (VPb) - L92
specialize prime_field_polynomial_add_bounded (VPc) - L93
specialize prime_field_polynomial_add_bounded (zb) - L94
specialize prime_field_polynomial_add_bounded (zc) - L95
specialize prime_field_polynomial_add_bounded (M+S K) - L96
apply prime_field_polynomial_add_bounded
17Use earlier factsL97–97
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L97
exact hZ
18Separate the logical casesL98–99
19Establish hlengthL100–103
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial product length exists.
20Separate the logical casesL104–104
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L104
cases hlength
21Establish hshifted_productL105–114
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial convolution at length exists.
- L105
have hshifted_product : ∃ mb. ∃ mc. FpPolyProduct(p,ab,ac,L,ub,uc,S K,mb,mc,x)Definitions: FpPolyProduct - L106
specialize prime_field_polynomial_convolution_at_length_exists (p) - L107
specialize prime_field_polynomial_convolution_at_length_exists (ab) - L108
specialize prime_field_polynomial_convolution_at_length_exists (ac) - L109
specialize prime_field_polynomial_convolution_at_length_exists (L) - L110
specialize prime_field_polynomial_convolution_at_length_exists (ub) - L111
specialize prime_field_polynomial_convolution_at_length_exists (uc) - L112
specialize prime_field_polynomial_convolution_at_length_exists (S K) - L113
specialize prime_field_polynomial_convolution_at_length_exists (x) - L114
apply prime_field_polynomial_convolution_at_length_exists
22Use earlier factsL115–124
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
exact hp0 - L116
exact hABcopy_left - L117
specialize prime_field_polynomial_shift_bounded (p) - L118
specialize prime_field_polynomial_shift_bounded (qb) - L119
specialize prime_field_polynomial_shift_bounded (qc) - L120
specialize prime_field_polynomial_shift_bounded (K) - L121
specialize prime_field_polynomial_shift_bounded (ub) - L122
specialize prime_field_polynomial_shift_bounded (uc) - L123
apply prime_field_polynomial_shift_bounded - L124
exact hp
23Use earlier factsL125–127
24Separate the logical casesL128–129
25Establish hscaled_productL130–139
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial convolution at length exists.
- L130
have hscaled_product : ∃ mb. ∃ mc. FpPolyProduct(p,ab,ac,L,vb,vc,M,mb,mc,N)Definitions: FpPolyProduct - L131
specialize prime_field_polynomial_convolution_at_length_exists (p) - L132
specialize prime_field_polynomial_convolution_at_length_exists (ab) - L133
specialize prime_field_polynomial_convolution_at_length_exists (ac) - L134
specialize prime_field_polynomial_convolution_at_length_exists (L) - L135
specialize prime_field_polynomial_convolution_at_length_exists (vb) - L136
specialize prime_field_polynomial_convolution_at_length_exists (vc) - L137
specialize prime_field_polynomial_convolution_at_length_exists (M) - L138
specialize prime_field_polynomial_convolution_at_length_exists (N) - L139
apply prime_field_polynomial_convolution_at_length_exists
26Use earlier factsL140–143
27Separate the logical casesL144–145
28Establish hfirstL146–155
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial convolution at length exists.
- L146
have hfirst : ∃ mb. ∃ mc. FpPolyProduct(p,ab,ac,L,UPb,UPc,M + S K,mb,mc,W)Definitions: FpPolyProduct - L147
specialize prime_field_polynomial_convolution_at_length_exists (p) - L148
specialize prime_field_polynomial_convolution_at_length_exists (ab) - L149
specialize prime_field_polynomial_convolution_at_length_exists (ac) - L150
specialize prime_field_polynomial_convolution_at_length_exists (L) - L151
specialize prime_field_polynomial_convolution_at_length_exists (UPb) - L152
specialize prime_field_polynomial_convolution_at_length_exists (UPc) - L153
specialize prime_field_polynomial_convolution_at_length_exists (M+S K) - L154
specialize prime_field_polynomial_convolution_at_length_exists (W) - L155
apply prime_field_polynomial_convolution_at_length_exists
29Use earlier factsL156–159
30Separate the logical casesL160–161
31Establish hsecondL162–171
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial convolution at length exists.
- L162
have hsecond : ∃ mb. ∃ mc. FpPolyProduct(p,ab,ac,L,VPb,VPc,M + S K,mb,mc,W)Definitions: FpPolyProduct - L163
specialize prime_field_polynomial_convolution_at_length_exists (p) - L164
specialize prime_field_polynomial_convolution_at_length_exists (ab) - L165
specialize prime_field_polynomial_convolution_at_length_exists (ac) - L166
specialize prime_field_polynomial_convolution_at_length_exists (L) - L167
specialize prime_field_polynomial_convolution_at_length_exists (VPb) - L168
specialize prime_field_polynomial_convolution_at_length_exists (VPc) - L169
specialize prime_field_polynomial_convolution_at_length_exists (M+S K) - L170
specialize prime_field_polynomial_convolution_at_length_exists (W) - L171
apply prime_field_polynomial_convolution_at_length_exists
32Use earlier factsL172–175
33Separate the logical casesL176–177
34Establish hdistributedL178–187
Establish this local claim before using it. It is not an additional assumption.
- L178
have hdistributed : FpPolyAdd(p,x5,x6,x7,x8,sb,sc,W)Definitions: FpPolyAdd - L179
specialize prime_field_polynomial_convolution_left_add (p) - L180
specialize prime_field_polynomial_convolution_left_add (UPb) - L181
specialize prime_field_polynomial_convolution_left_add (UPc) - L182
specialize prime_field_polynomial_convolution_left_add (VPb) - L183
specialize prime_field_polynomial_convolution_left_add (VPc) - L184
specialize prime_field_polynomial_convolution_left_add (zb) - L185
specialize prime_field_polynomial_convolution_left_add (zc) - L186
specialize prime_field_polynomial_convolution_left_add (M+S K) - L187
specialize prime_field_polynomial_convolution_left_add (ab)
35Use earlier factsL188–197
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L188
specialize prime_field_polynomial_convolution_left_add (ac) - L189
specialize prime_field_polynomial_convolution_left_add (L) - L190
specialize prime_field_polynomial_convolution_left_add (x5) - L191
specialize prime_field_polynomial_convolution_left_add (x6) - L192
specialize prime_field_polynomial_convolution_left_add (x7) - L193
specialize prime_field_polynomial_convolution_left_add (x8) - L194
specialize prime_field_polynomial_convolution_left_add (sb) - L195
specialize prime_field_polynomial_convolution_left_add (sc) - L196
specialize prime_field_polynomial_convolution_left_add (W) - L197
apply prime_field_polynomial_convolution_left_add
36Use earlier factsL198–201
37Establish hshift_equalL202–211
Establish this local claim before using it. It is not an additional assumption.
- L202
have hshift_equal : PolynomialEquivalent(x1,x2,x,eb,ec,S T)Definitions: PolynomialEquivalent - L203
specialize prime_field_polynomial_convolution_shift_right_equivalent (p) - L204
specialize prime_field_polynomial_convolution_shift_right_equivalent (ab) - L205
specialize prime_field_polynomial_convolution_shift_right_equivalent (ac) - L206
specialize prime_field_polynomial_convolution_shift_right_equivalent (L) - L207
specialize prime_field_polynomial_convolution_shift_right_equivalent (qb) - L208
specialize prime_field_polynomial_convolution_shift_right_equivalent (qc) - L209
specialize prime_field_polynomial_convolution_shift_right_equivalent (K) - L210
specialize prime_field_polynomial_convolution_shift_right_equivalent (rb) - L211
specialize prime_field_polynomial_convolution_shift_right_equivalent (rc)
38Use earlier factsL212–221
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L212
specialize prime_field_polynomial_convolution_shift_right_equivalent (T) - L213
specialize prime_field_polynomial_convolution_shift_right_equivalent (ub) - L214
specialize prime_field_polynomial_convolution_shift_right_equivalent (uc) - L215
specialize prime_field_polynomial_convolution_shift_right_equivalent (x1) - L216
specialize prime_field_polynomial_convolution_shift_right_equivalent (x2) - L217
specialize prime_field_polynomial_convolution_shift_right_equivalent (x) - L218
specialize prime_field_polynomial_convolution_shift_right_equivalent (eb) - L219
specialize prime_field_polynomial_convolution_shift_right_equivalent (ec) - L220
apply prime_field_polynomial_convolution_shift_right_equivalent - L221
exact hp0
39Use earlier factsL222–225
40Establish hfirst_padL226–235
Establish this local claim before using it. It is not an additional assumption.
- L226
have hfirst_pad : PolynomialEquivalent(x1,x2,x,x5,x6,W)Definitions: PolynomialEquivalent - L227
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (p) - L228
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ab) - L229
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ac) - L230
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (L) - L231
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ub) - L232
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (uc) - L233
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (S K) - L234
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x1) - L235
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x2)
41Use earlier factsL236–245
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L236
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x) - L237
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (UPb) - L238
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (UPc) - L239
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (M) - L240
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x5) - L241
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x6) - L242
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (W) - L243
apply prime_field_polynomial_convolution_left_padding_equivalent_right - L244
exact hp0 - L245
exact hUP
42Use earlier factsL246–247
43Establish hfirst_baseL248–257
Establish this local claim before using it. It is not an additional assumption.
- L248
have hfirst_base : PolynomialEquivalent(x5,x6,W,eb,ec,S T)Definitions: PolynomialEquivalent - L249
specialize prime_field_polynomial_equivalent_transitive (x5) - L250
specialize prime_field_polynomial_equivalent_transitive (x6) - L251
specialize prime_field_polynomial_equivalent_transitive (W) - L252
specialize prime_field_polynomial_equivalent_transitive (x1) - L253
specialize prime_field_polynomial_equivalent_transitive (x2) - L254
specialize prime_field_polynomial_equivalent_transitive (x) - L255
specialize prime_field_polynomial_equivalent_transitive (eb) - L256
specialize prime_field_polynomial_equivalent_transitive (ec) - L257
specialize prime_field_polynomial_equivalent_transitive (S T)
44Use earlier factsL258–267
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L258
apply prime_field_polynomial_equivalent_transitive - L259
specialize prime_field_polynomial_equivalent_symmetric (x1) - L260
specialize prime_field_polynomial_equivalent_symmetric (x2) - L261
specialize prime_field_polynomial_equivalent_symmetric (x) - L262
specialize prime_field_polynomial_equivalent_symmetric (x5) - L263
specialize prime_field_polynomial_equivalent_symmetric (x6) - L264
specialize prime_field_polynomial_equivalent_symmetric (W) - L265
apply prime_field_polynomial_equivalent_symmetric - L266
exact hfirst_pad - L267
exact hshift_equal
45Establish hfirst_equalL268–277
Establish this local claim before using it. It is not an additional assumption.
- L268
have hfirst_equal : PolynomialEquivalent(x5,x6,W,EPb,EPc,N + S T)Definitions: PolynomialEquivalent - L269
specialize prime_field_polynomial_equivalent_transitive (x5) - L270
specialize prime_field_polynomial_equivalent_transitive (x6) - L271
specialize prime_field_polynomial_equivalent_transitive (W) - L272
specialize prime_field_polynomial_equivalent_transitive (eb) - L273
specialize prime_field_polynomial_equivalent_transitive (ec) - L274
specialize prime_field_polynomial_equivalent_transitive (S T) - L275
specialize prime_field_polynomial_equivalent_transitive (EPb) - L276
specialize prime_field_polynomial_equivalent_transitive (EPc) - L277
specialize prime_field_polynomial_equivalent_transitive (N+S T)
46Use earlier factsL278–287
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L278
apply prime_field_polynomial_equivalent_transitive - L279
exact hfirst_base - L280
specialize prime_field_polynomial_left_pad_equivalent (eb) - L281
specialize prime_field_polynomial_left_pad_equivalent (ec) - L282
specialize prime_field_polynomial_left_pad_equivalent (S T) - L283
specialize prime_field_polynomial_left_pad_equivalent (N) - L284
specialize prime_field_polynomial_left_pad_equivalent (EPb) - L285
specialize prime_field_polynomial_left_pad_equivalent (EPc) - L286
apply prime_field_polynomial_left_pad_equivalent - L287
exact hEP
47Establish hscaled_equalL288–297
Establish this local claim before using it. It is not an additional assumption.
- L288
have hscaled_equal : N = N ∧ BetaPrefixEqual(x3,x4,fb,fc,N)Definitions: BetaPrefixEqual - L289
specialize prime_field_polynomial_convolution_right_scale_equal (p) - L290
specialize prime_field_polynomial_convolution_right_scale_equal (c) - L291
specialize prime_field_polynomial_convolution_right_scale_equal (ab) - L292
specialize prime_field_polynomial_convolution_right_scale_equal (ac) - L293
specialize prime_field_polynomial_convolution_right_scale_equal (L) - L294
specialize prime_field_polynomial_convolution_right_scale_equal (bb) - L295
specialize prime_field_polynomial_convolution_right_scale_equal (bc) - L296
specialize prime_field_polynomial_convolution_right_scale_equal (M) - L297
specialize prime_field_polynomial_convolution_right_scale_equal (vb)
48Use earlier factsL298–307
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L298
specialize prime_field_polynomial_convolution_right_scale_equal (vc) - L299
specialize prime_field_polynomial_convolution_right_scale_equal (pb) - L300
specialize prime_field_polynomial_convolution_right_scale_equal (pc) - L301
specialize prime_field_polynomial_convolution_right_scale_equal (N) - L302
specialize prime_field_polynomial_convolution_right_scale_equal (x3) - L303
specialize prime_field_polynomial_convolution_right_scale_equal (x4) - L304
specialize prime_field_polynomial_convolution_right_scale_equal (N) - L305
specialize prime_field_polynomial_convolution_right_scale_equal (fb) - L306
specialize prime_field_polynomial_convolution_right_scale_equal (fc) - L307
apply prime_field_polynomial_convolution_right_scale_equal
49Use earlier factsL308–311
50Separate the logical casesL312–312
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L312
cases hscaled_equal
51Establish hscalar_baseL313–320
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equal implies equivalent.
- L313
have hscalar_base : PolynomialEquivalent(x3,x4,N,fb,fc,N)Definitions: PolynomialEquivalent - L314
specialize prime_field_polynomial_equal_implies_equivalent (x3) - L315
specialize prime_field_polynomial_equal_implies_equivalent (x4) - L316
specialize prime_field_polynomial_equal_implies_equivalent (fb) - L317
specialize prime_field_polynomial_equal_implies_equivalent (fc) - L318
specialize prime_field_polynomial_equal_implies_equivalent (N) - L319
apply prime_field_polynomial_equal_implies_equivalent - L320
exact hscaled_equal_right
52Establish hsecond_padL321–330
Establish this local claim before using it. It is not an additional assumption.
- L321
have hsecond_pad : PolynomialEquivalent(x3,x4,N,x7,x8,W)Definitions: PolynomialEquivalent - L322
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (p) - L323
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ab) - L324
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ac) - L325
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (L) - L326
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (vb) - L327
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (vc) - L328
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (M) - L329
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x3) - L330
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x4)
53Use earlier factsL331–340
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L331
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (N) - L332
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (VPb) - L333
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (VPc) - L334
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (S K) - L335
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x7) - L336
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x8) - L337
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (W) - L338
apply prime_field_polynomial_convolution_left_padding_equivalent_right - L339
exact hp0 - L340
exact hVP
54Use earlier factsL341–341
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L341
exact hscaled_product_witness_witness
55Establish hcomm_inputL342–351
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
56Use earlier factsL352–352
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L352
exact hsecond_witness_witness
57Establish hsecond_baseL353–362
Establish this local claim before using it. It is not an additional assumption.
- L353
have hsecond_base : PolynomialEquivalent(x7,x8,W,fb,fc,N)Definitions: PolynomialEquivalent - L354
specialize prime_field_polynomial_equivalent_transitive (x7) - L355
specialize prime_field_polynomial_equivalent_transitive (x8) - L356
specialize prime_field_polynomial_equivalent_transitive (W) - L357
specialize prime_field_polynomial_equivalent_transitive (x3) - L358
specialize prime_field_polynomial_equivalent_transitive (x4) - L359
specialize prime_field_polynomial_equivalent_transitive (N) - L360
specialize prime_field_polynomial_equivalent_transitive (fb) - L361
specialize prime_field_polynomial_equivalent_transitive (fc) - L362
specialize prime_field_polynomial_equivalent_transitive (N)
58Use earlier factsL363–372
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L363
apply prime_field_polynomial_equivalent_transitive - L364
specialize prime_field_polynomial_equivalent_symmetric (x3) - L365
specialize prime_field_polynomial_equivalent_symmetric (x4) - L366
specialize prime_field_polynomial_equivalent_symmetric (N) - L367
specialize prime_field_polynomial_equivalent_symmetric (x7) - L368
specialize prime_field_polynomial_equivalent_symmetric (x8) - L369
specialize prime_field_polynomial_equivalent_symmetric (W) - L370
apply prime_field_polynomial_equivalent_symmetric - L371
exact hsecond_pad - L372
exact hscalar_base
59Establish hsecond_equalL373–382
Establish this local claim before using it. It is not an additional assumption.
- L373
have hsecond_equal : PolynomialEquivalent(x7,x8,W,FPb,FPc,N + S T)Definitions: PolynomialEquivalent - L374
specialize prime_field_polynomial_equivalent_transitive (x7) - L375
specialize prime_field_polynomial_equivalent_transitive (x8) - L376
specialize prime_field_polynomial_equivalent_transitive (W) - L377
specialize prime_field_polynomial_equivalent_transitive (fb) - L378
specialize prime_field_polynomial_equivalent_transitive (fc) - L379
specialize prime_field_polynomial_equivalent_transitive (N) - L380
specialize prime_field_polynomial_equivalent_transitive (FPb) - L381
specialize prime_field_polynomial_equivalent_transitive (FPc) - L382
specialize prime_field_polynomial_equivalent_transitive (N+S T)
60Use earlier factsL383–384
61Establish houtput_padL385–393
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial left pad equivalent.
- L385
have houtput_pad : PolynomialEquivalent(fb,fc,N,FPb,FPc,S T + N)Definitions: PolynomialEquivalent - L386
specialize prime_field_polynomial_left_pad_equivalent (fb) - L387
specialize prime_field_polynomial_left_pad_equivalent (fc) - L388
specialize prime_field_polynomial_left_pad_equivalent (N) - L389
specialize prime_field_polynomial_left_pad_equivalent (S T) - L390
specialize prime_field_polynomial_left_pad_equivalent (FPb) - L391
specialize prime_field_polynomial_left_pad_equivalent (FPc) - L392
apply prime_field_polynomial_left_pad_equivalent - L393
exact hFP
62Establish hcomm_outputL394–403
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
- L394
have hcomm_output : S T+N=N+S T - L395
specialize add_comm (S T) - L396
specialize add_comm (N) - L397
apply add_comm - L398
rewrite hcomm_output at houtput_pad - L399
rewrite hcomm_output at houtput_pad - L400
exact houtput_pad - L401
specialize prime_field_polynomial_add_equivalent_congruent (p) - L402
specialize prime_field_polynomial_add_equivalent_congruent (x5) - L403
specialize prime_field_polynomial_add_equivalent_congruent (x6)
63Use earlier factsL404–413
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L404
specialize prime_field_polynomial_add_equivalent_congruent (x7) - L405
specialize prime_field_polynomial_add_equivalent_congruent (x8) - L406
specialize prime_field_polynomial_add_equivalent_congruent (sb) - L407
specialize prime_field_polynomial_add_equivalent_congruent (sc) - L408
specialize prime_field_polynomial_add_equivalent_congruent (W) - L409
specialize prime_field_polynomial_add_equivalent_congruent (EPb) - L410
specialize prime_field_polynomial_add_equivalent_congruent (EPc) - L411
specialize prime_field_polynomial_add_equivalent_congruent (FPb) - L412
specialize prime_field_polynomial_add_equivalent_congruent (FPc) - L413
specialize prime_field_polynomial_add_equivalent_congruent (yb)
64Use earlier factsL414–421
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 421 lines
- 0001
intro p - 0002
intro c - 0003
intro ab - 0004
intro ac - 0005
intro L - 0006
intro bb - 0007
intro bc - 0008
intro M - 0009
intro pb - 0010
intro pc - 0011
intro N - 0012
intro qb - 0013
intro qc - 0014
intro K - 0015
intro rb - 0016
intro rc - 0017
intro T - 0018
intro ub - 0019
intro uc - 0020
intro vb - 0021
intro vc - 0022
intro UPb - 0023
intro UPc - 0024
intro VPb - 0025
intro VPc - 0026
intro zb - 0027
intro zc - 0028
intro sb - 0029
intro sc - 0030
intro W - 0031
intro eb - 0032
intro ec - 0033
intro fb - 0034
intro fc - 0035
intro EPb - 0036
intro EPc - 0037
intro FPb - 0038
intro FPc - 0039
intro yb - 0040
intro yc - 0041
intro hp - 0042
intro hAB - 0043
intro hAQ - 0044
intro hU - 0045
intro hV - 0046
intro hUP - 0047
intro hVP - 0048
intro hZ - 0049
intro hAZ - 0050
intro hE - 0051
intro hF - 0052
intro hEP - 0053
intro hFP - 0054
intro hY - 0055
have hp0 : ~(p=0) - 0056
intro hz - 0057
specialize prime_nonzero (p) - 0058
apply prime_nonzero - 0059
exact hp - 0060
exact hz - 0061
have hABcopy : ((forall fom_index_pfp_step_helper_ABleft. (exists fom_gap_pfp_step_helper_ABleft_index_bound. fom_gap_pfp_step_helper_ABleft_index_bound + S (fom_index_pfp_step_helper_ABleft) = L) -> exists fom_value_pfp_step_helper_ABleft. ((((exists fom_beta_height_pfp_step_helper_ABleft_entry. fom_beta_height_pfp_step_helper_ABleft_entry + S (fom_value_pfp_step_helper_ABleft) = S ((S (fom_index_pfp_step_helper_ABleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_ABleft_entry. ab = fom_beta_quotient_pfp_step_helper_ABleft_entry * S ((S (fom_index_pfp_step_helper_ABleft)) * ac) + (fom_value_pfp_step_helper_ABleft))) /\ (exists fom_gap_pfp_step_helper_ABleft_value_bound. fom_gap_pfp_step_helper_ABleft_value_bound + S (fom_value_pfp_step_helper_ABleft) = p))) /\ (((forall fom_index_pfp_step_helper_ABright. (exists fom_gap_pfp_step_helper_ABright_index_bound. fom_gap_pfp_step_helper_ABright_index_bound + S (fom_index_pfp_step_helper_ABright) = M) -> exists fom_value_pfp_step_helper_ABright. ((((exists fom_beta_height_pfp_step_helper_ABright_entry. fom_beta_height_pfp_step_helper_ABright_entry + S (fom_value_pfp_step_helper_ABright) = S ((S (fom_index_pfp_step_helper_ABright)) * bc)) /\ exists fom_beta_quotient_pfp_step_helper_ABright_entry. bb = fom_beta_quotient_pfp_step_helper_ABright_entry * S ((S (fom_index_pfp_step_helper_ABright)) * bc) + (fom_value_pfp_step_helper_ABright))) /\ (exists fom_gap_pfp_step_helper_ABright_value_bound. fom_gap_pfp_step_helper_ABright_value_bound + S (fom_value_pfp_step_helper_ABright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_step_helper_ABcoefficients. (exists pfa_gap_step_helper_ABcoefficientsbound. pfa_gap_step_helper_ABcoefficientsbound + S (pfc_index_step_helper_ABcoefficients) = (N)) -> exists pfc_value_step_helper_ABcoefficients. ((((exists ff_h_pfp_step_helper_ABcoefficientsentry. ff_h_pfp_step_helper_ABcoefficientsentry + S (pfc_value_step_helper_ABcoefficients) = S ((S (pfc_index_step_helper_ABcoefficients)) * pc)) /\ exists ff_q_pfp_step_helper_ABcoefficientsentry. pb = ff_q_pfp_step_helper_ABcoefficientsentry * S ((S (pfc_index_step_helper_ABcoefficients)) * pc) + (pfc_value_step_helper_ABcoefficients))) /\ ((exists pfc_terms_code_step_helper_ABcoefficientscoefficient pfc_terms_scale_step_helper_ABcoefficientscoefficient pfc_natural_sum_step_helper_ABcoefficientscoefficient. ((forall pfc_index_step_helper_ABcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_ABcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_ABcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_ABcoefficients))) -> exists pfc_value_step_helper_ABcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_ABcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_ABcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_ABcoefficientscoefficient = ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_ABcoefficientscoefficient) + (pfc_value_step_helper_ABcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_ABcoefficientscoefficientdiagonal)+pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_ABcoefficients)) /\ ((((((exists pfa_gap_step_helper_ABcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_ABcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_ABcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_ABcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_ABcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_ABcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_ABcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_ABcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_step_helper_ABcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_ABcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_ABcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_step_helper_ABcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_ABcoefficientscoefficientdiagonal)=pfc_left_step_helper_ABcoefficientscoefficientdiagonalterm*pfc_right_step_helper_ABcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_ABcoefficientscoefficientsum fs_v_pfc_step_helper_ABcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_ABcoefficientscoefficientsum = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_ABcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_ABcoefficients))) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_ABcoefficientscoefficientsum = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_ABcoefficients))) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_ABcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_ABcoefficients)) -> exists fs_a_pfc_step_helper_ABcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_ABcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_ABcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_ABcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_ABcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_ABcoefficientscoefficient = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_ABcoefficientscoefficient) + (fs_a_pfc_step_helper_ABcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_ABcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_ABcoefficientscoefficientsum = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum) + (fs_r_pfc_step_helper_ABcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_ABcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_ABcoefficientscoefficientsum = fs_q_pfc_step_helper_ABcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_ABcoefficientscoefficientsum) + (fs_s_pfc_step_helper_ABcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_ABcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_ABcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_ABcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_ABcoefficientscoefficientresiduebound. pfa_gap_step_helper_ABcoefficientscoefficientresiduebound + S (pfc_value_step_helper_ABcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_ABcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_ABcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_ABcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_ABcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_ABcoefficients) + (p) * pfa_offset_right_step_helper_ABcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0062
exact hAB - 0063
cases hABcopy - 0064
cases hABcopy_right - 0065
cases hABcopy_right_right - 0066
have hAQcopy : ((forall fom_index_pfp_step_helper_AQleft. (exists fom_gap_pfp_step_helper_AQleft_index_bound. fom_gap_pfp_step_helper_AQleft_index_bound + S (fom_index_pfp_step_helper_AQleft) = L) -> exists fom_value_pfp_step_helper_AQleft. ((((exists fom_beta_height_pfp_step_helper_AQleft_entry. fom_beta_height_pfp_step_helper_AQleft_entry + S (fom_value_pfp_step_helper_AQleft) = S ((S (fom_index_pfp_step_helper_AQleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_AQleft_entry. ab = fom_beta_quotient_pfp_step_helper_AQleft_entry * S ((S (fom_index_pfp_step_helper_AQleft)) * ac) + (fom_value_pfp_step_helper_AQleft))) /\ (exists fom_gap_pfp_step_helper_AQleft_value_bound. fom_gap_pfp_step_helper_AQleft_value_bound + S (fom_value_pfp_step_helper_AQleft) = p))) /\ (((forall fom_index_pfp_step_helper_AQright. (exists fom_gap_pfp_step_helper_AQright_index_bound. fom_gap_pfp_step_helper_AQright_index_bound + S (fom_index_pfp_step_helper_AQright) = K) -> exists fom_value_pfp_step_helper_AQright. ((((exists fom_beta_height_pfp_step_helper_AQright_entry. fom_beta_height_pfp_step_helper_AQright_entry + S (fom_value_pfp_step_helper_AQright) = S ((S (fom_index_pfp_step_helper_AQright)) * qc)) /\ exists fom_beta_quotient_pfp_step_helper_AQright_entry. qb = fom_beta_quotient_pfp_step_helper_AQright_entry * S ((S (fom_index_pfp_step_helper_AQright)) * qc) + (fom_value_pfp_step_helper_AQright))) /\ (exists fom_gap_pfp_step_helper_AQright_value_bound. fom_gap_pfp_step_helper_AQright_value_bound + S (fom_value_pfp_step_helper_AQright) = p))) /\ (((((((L)=0 \/ (K)=0) /\ (((T)=0)))) \/ (((~((L)=0)) /\ (((~((K)=0)) /\ (((L)+(K)=S (T)))))))) /\ ((forall pfc_index_step_helper_AQcoefficients. (exists pfa_gap_step_helper_AQcoefficientsbound. pfa_gap_step_helper_AQcoefficientsbound + S (pfc_index_step_helper_AQcoefficients) = (T)) -> exists pfc_value_step_helper_AQcoefficients. ((((exists ff_h_pfp_step_helper_AQcoefficientsentry. ff_h_pfp_step_helper_AQcoefficientsentry + S (pfc_value_step_helper_AQcoefficients) = S ((S (pfc_index_step_helper_AQcoefficients)) * rc)) /\ exists ff_q_pfp_step_helper_AQcoefficientsentry. rb = ff_q_pfp_step_helper_AQcoefficientsentry * S ((S (pfc_index_step_helper_AQcoefficients)) * rc) + (pfc_value_step_helper_AQcoefficients))) /\ ((exists pfc_terms_code_step_helper_AQcoefficientscoefficient pfc_terms_scale_step_helper_AQcoefficientscoefficient pfc_natural_sum_step_helper_AQcoefficientscoefficient. ((forall pfc_index_step_helper_AQcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_AQcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_AQcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_AQcoefficients))) -> exists pfc_value_step_helper_AQcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_AQcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_AQcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_AQcoefficientscoefficient = ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_AQcoefficientscoefficient) + (pfc_value_step_helper_AQcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_AQcoefficientscoefficientdiagonal)+pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_AQcoefficients)) /\ ((((((exists pfa_gap_step_helper_AQcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_AQcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_AQcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_AQcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_AQcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_AQcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_AQcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm) = (K)) /\ ((((exists ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_AQcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm)) * qc)) /\ exists ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonaltermrightentry. qb = ff_q_pfp_step_helper_AQcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm)) * qc) + (pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_AQcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_AQcoefficientscoefficientdiagonaltermrightoutside+(K)=(pfc_complement_step_helper_AQcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_AQcoefficientscoefficientdiagonal)=pfc_left_step_helper_AQcoefficientscoefficientdiagonalterm*pfc_right_step_helper_AQcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_AQcoefficientscoefficientsum fs_v_pfc_step_helper_AQcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_AQcoefficientscoefficientsum = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_AQcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_AQcoefficients))) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_AQcoefficientscoefficientsum = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_AQcoefficients))) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_AQcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_AQcoefficients)) -> exists fs_a_pfc_step_helper_AQcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_AQcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_AQcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_AQcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_AQcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_AQcoefficientscoefficient = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_AQcoefficientscoefficient) + (fs_a_pfc_step_helper_AQcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_AQcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_AQcoefficientscoefficientsum = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum) + (fs_r_pfc_step_helper_AQcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_AQcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_AQcoefficientscoefficientsum = fs_q_pfc_step_helper_AQcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AQcoefficientscoefficientsum) + (fs_s_pfc_step_helper_AQcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_AQcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_AQcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_AQcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_AQcoefficientscoefficientresiduebound. pfa_gap_step_helper_AQcoefficientscoefficientresiduebound + S (pfc_value_step_helper_AQcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_AQcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_AQcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_AQcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_AQcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_AQcoefficients) + (p) * pfa_offset_right_step_helper_AQcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0067
exact hAQ - 0068
cases hAQcopy - 0069
cases hAQcopy_right - 0070
cases hAQcopy_right_right - 0071
have hAZcopy : ((forall fom_index_pfp_step_helper_AZleft. (exists fom_gap_pfp_step_helper_AZleft_index_bound. fom_gap_pfp_step_helper_AZleft_index_bound + S (fom_index_pfp_step_helper_AZleft) = L) -> exists fom_value_pfp_step_helper_AZleft. ((((exists fom_beta_height_pfp_step_helper_AZleft_entry. fom_beta_height_pfp_step_helper_AZleft_entry + S (fom_value_pfp_step_helper_AZleft) = S ((S (fom_index_pfp_step_helper_AZleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_AZleft_entry. ab = fom_beta_quotient_pfp_step_helper_AZleft_entry * S ((S (fom_index_pfp_step_helper_AZleft)) * ac) + (fom_value_pfp_step_helper_AZleft))) /\ (exists fom_gap_pfp_step_helper_AZleft_value_bound. fom_gap_pfp_step_helper_AZleft_value_bound + S (fom_value_pfp_step_helper_AZleft) = p))) /\ (((forall fom_index_pfp_step_helper_AZright. (exists fom_gap_pfp_step_helper_AZright_index_bound. fom_gap_pfp_step_helper_AZright_index_bound + S (fom_index_pfp_step_helper_AZright) = M+S K) -> exists fom_value_pfp_step_helper_AZright. ((((exists fom_beta_height_pfp_step_helper_AZright_entry. fom_beta_height_pfp_step_helper_AZright_entry + S (fom_value_pfp_step_helper_AZright) = S ((S (fom_index_pfp_step_helper_AZright)) * zc)) /\ exists fom_beta_quotient_pfp_step_helper_AZright_entry. zb = fom_beta_quotient_pfp_step_helper_AZright_entry * S ((S (fom_index_pfp_step_helper_AZright)) * zc) + (fom_value_pfp_step_helper_AZright))) /\ (exists fom_gap_pfp_step_helper_AZright_value_bound. fom_gap_pfp_step_helper_AZright_value_bound + S (fom_value_pfp_step_helper_AZright) = p))) /\ (((((((L)=0 \/ (M+S K)=0) /\ (((W)=0)))) \/ (((~((L)=0)) /\ (((~((M+S K)=0)) /\ (((L)+(M+S K)=S (W)))))))) /\ ((forall pfc_index_step_helper_AZcoefficients. (exists pfa_gap_step_helper_AZcoefficientsbound. pfa_gap_step_helper_AZcoefficientsbound + S (pfc_index_step_helper_AZcoefficients) = (W)) -> exists pfc_value_step_helper_AZcoefficients. ((((exists ff_h_pfp_step_helper_AZcoefficientsentry. ff_h_pfp_step_helper_AZcoefficientsentry + S (pfc_value_step_helper_AZcoefficients) = S ((S (pfc_index_step_helper_AZcoefficients)) * sc)) /\ exists ff_q_pfp_step_helper_AZcoefficientsentry. sb = ff_q_pfp_step_helper_AZcoefficientsentry * S ((S (pfc_index_step_helper_AZcoefficients)) * sc) + (pfc_value_step_helper_AZcoefficients))) /\ ((exists pfc_terms_code_step_helper_AZcoefficientscoefficient pfc_terms_scale_step_helper_AZcoefficientscoefficient pfc_natural_sum_step_helper_AZcoefficientscoefficient. ((forall pfc_index_step_helper_AZcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_AZcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_AZcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_AZcoefficients))) -> exists pfc_value_step_helper_AZcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_AZcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_AZcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_AZcoefficientscoefficient = ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_AZcoefficientscoefficient) + (pfc_value_step_helper_AZcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_AZcoefficientscoefficientdiagonal)+pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_AZcoefficients)) /\ ((((((exists pfa_gap_step_helper_AZcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_AZcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_AZcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_AZcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_AZcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_AZcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_AZcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm) = (M+S K)) /\ ((((exists ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_AZcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm)) * zc)) /\ exists ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonaltermrightentry. zb = ff_q_pfp_step_helper_AZcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm)) * zc) + (pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_AZcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_AZcoefficientscoefficientdiagonaltermrightoutside+(M+S K)=(pfc_complement_step_helper_AZcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_AZcoefficientscoefficientdiagonal)=pfc_left_step_helper_AZcoefficientscoefficientdiagonalterm*pfc_right_step_helper_AZcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_AZcoefficientscoefficientsum fs_v_pfc_step_helper_AZcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_AZcoefficientscoefficientsum = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_AZcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_AZcoefficients))) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_AZcoefficientscoefficientsum = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_AZcoefficients))) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_AZcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_AZcoefficients)) -> exists fs_a_pfc_step_helper_AZcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_AZcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_AZcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_AZcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_AZcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_AZcoefficientscoefficient = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_AZcoefficientscoefficient) + (fs_a_pfc_step_helper_AZcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_AZcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_AZcoefficientscoefficientsum = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum) + (fs_r_pfc_step_helper_AZcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_AZcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_AZcoefficientscoefficientsum = fs_q_pfc_step_helper_AZcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_AZcoefficientscoefficientsum) + (fs_s_pfc_step_helper_AZcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_AZcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_AZcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_AZcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_AZcoefficientscoefficientresiduebound. pfa_gap_step_helper_AZcoefficientscoefficientresiduebound + S (pfc_value_step_helper_AZcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_AZcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_AZcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_AZcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_AZcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_AZcoefficients) + (p) * pfa_offset_right_step_helper_AZcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0072
exact hAZ - 0073
cases hAZcopy - 0074
cases hAZcopy_right - 0075
cases hAZcopy_right_right - 0076
have hscale_bounds : ((forall fom_index_pfp_step_helper_B_bound. (exists fom_gap_pfp_step_helper_B_bound_index_bound. fom_gap_pfp_step_helper_B_bound_index_bound + S (fom_index_pfp_step_helper_B_bound) = M) -> exists fom_value_pfp_step_helper_B_bound. ((((exists fom_beta_height_pfp_step_helper_B_bound_entry. fom_beta_height_pfp_step_helper_B_bound_entry + S (fom_value_pfp_step_helper_B_bound) = S ((S (fom_index_pfp_step_helper_B_bound)) * bc)) /\ exists fom_beta_quotient_pfp_step_helper_B_bound_entry. bb = fom_beta_quotient_pfp_step_helper_B_bound_entry * S ((S (fom_index_pfp_step_helper_B_bound)) * bc) + (fom_value_pfp_step_helper_B_bound))) /\ (exists fom_gap_pfp_step_helper_B_bound_value_bound. fom_gap_pfp_step_helper_B_bound_value_bound + S (fom_value_pfp_step_helper_B_bound) = p))) /\ ((forall fom_index_pfp_step_helper_scaled_B_bound. (exists fom_gap_pfp_step_helper_scaled_B_bound_index_bound. fom_gap_pfp_step_helper_scaled_B_bound_index_bound + S (fom_index_pfp_step_helper_scaled_B_bound) = M) -> exists fom_value_pfp_step_helper_scaled_B_bound. ((((exists fom_beta_height_pfp_step_helper_scaled_B_bound_entry. fom_beta_height_pfp_step_helper_scaled_B_bound_entry + S (fom_value_pfp_step_helper_scaled_B_bound) = S ((S (fom_index_pfp_step_helper_scaled_B_bound)) * vc)) /\ exists fom_beta_quotient_pfp_step_helper_scaled_B_bound_entry. vb = fom_beta_quotient_pfp_step_helper_scaled_B_bound_entry * S ((S (fom_index_pfp_step_helper_scaled_B_bound)) * vc) + (fom_value_pfp_step_helper_scaled_B_bound))) /\ (exists fom_gap_pfp_step_helper_scaled_B_bound_value_bound. fom_gap_pfp_step_helper_scaled_B_bound_value_bound + S (fom_value_pfp_step_helper_scaled_B_bound) = p))))) - 0077
specialize prime_field_polynomial_scale_bounded (p) - 0078
specialize prime_field_polynomial_scale_bounded (c) - 0079
specialize prime_field_polynomial_scale_bounded (bb) - 0080
specialize prime_field_polynomial_scale_bounded (bc) - 0081
specialize prime_field_polynomial_scale_bounded (vb) - 0082
specialize prime_field_polynomial_scale_bounded (vc) - 0083
specialize prime_field_polynomial_scale_bounded (M) - 0084
apply prime_field_polynomial_scale_bounded - 0085
exact hV - 0086
cases hscale_bounds - 0087
have hadd_bounds : ((forall fom_index_pfp_step_helper_input_left_bound. (exists fom_gap_pfp_step_helper_input_left_bound_index_bound. fom_gap_pfp_step_helper_input_left_bound_index_bound + S (fom_index_pfp_step_helper_input_left_bound) = M+S K) -> exists fom_value_pfp_step_helper_input_left_bound. ((((exists fom_beta_height_pfp_step_helper_input_left_bound_entry. fom_beta_height_pfp_step_helper_input_left_bound_entry + S (fom_value_pfp_step_helper_input_left_bound) = S ((S (fom_index_pfp_step_helper_input_left_bound)) * UPc)) /\ exists fom_beta_quotient_pfp_step_helper_input_left_bound_entry. UPb = fom_beta_quotient_pfp_step_helper_input_left_bound_entry * S ((S (fom_index_pfp_step_helper_input_left_bound)) * UPc) + (fom_value_pfp_step_helper_input_left_bound))) /\ (exists fom_gap_pfp_step_helper_input_left_bound_value_bound. fom_gap_pfp_step_helper_input_left_bound_value_bound + S (fom_value_pfp_step_helper_input_left_bound) = p))) /\ (((forall fom_index_pfp_step_helper_input_right_bound. (exists fom_gap_pfp_step_helper_input_right_bound_index_bound. fom_gap_pfp_step_helper_input_right_bound_index_bound + S (fom_index_pfp_step_helper_input_right_bound) = M+S K) -> exists fom_value_pfp_step_helper_input_right_bound. ((((exists fom_beta_height_pfp_step_helper_input_right_bound_entry. fom_beta_height_pfp_step_helper_input_right_bound_entry + S (fom_value_pfp_step_helper_input_right_bound) = S ((S (fom_index_pfp_step_helper_input_right_bound)) * VPc)) /\ exists fom_beta_quotient_pfp_step_helper_input_right_bound_entry. VPb = fom_beta_quotient_pfp_step_helper_input_right_bound_entry * S ((S (fom_index_pfp_step_helper_input_right_bound)) * VPc) + (fom_value_pfp_step_helper_input_right_bound))) /\ (exists fom_gap_pfp_step_helper_input_right_bound_value_bound. fom_gap_pfp_step_helper_input_right_bound_value_bound + S (fom_value_pfp_step_helper_input_right_bound) = p))) /\ ((forall fom_index_pfp_step_helper_input_sum_bound. (exists fom_gap_pfp_step_helper_input_sum_bound_index_bound. fom_gap_pfp_step_helper_input_sum_bound_index_bound + S (fom_index_pfp_step_helper_input_sum_bound) = M+S K) -> exists fom_value_pfp_step_helper_input_sum_bound. ((((exists fom_beta_height_pfp_step_helper_input_sum_bound_entry. fom_beta_height_pfp_step_helper_input_sum_bound_entry + S (fom_value_pfp_step_helper_input_sum_bound) = S ((S (fom_index_pfp_step_helper_input_sum_bound)) * zc)) /\ exists fom_beta_quotient_pfp_step_helper_input_sum_bound_entry. zb = fom_beta_quotient_pfp_step_helper_input_sum_bound_entry * S ((S (fom_index_pfp_step_helper_input_sum_bound)) * zc) + (fom_value_pfp_step_helper_input_sum_bound))) /\ (exists fom_gap_pfp_step_helper_input_sum_bound_value_bound. fom_gap_pfp_step_helper_input_sum_bound_value_bound + S (fom_value_pfp_step_helper_input_sum_bound) = p))))))) - 0088
specialize prime_field_polynomial_add_bounded (p) - 0089
specialize prime_field_polynomial_add_bounded (UPb) - 0090
specialize prime_field_polynomial_add_bounded (UPc) - 0091
specialize prime_field_polynomial_add_bounded (VPb) - 0092
specialize prime_field_polynomial_add_bounded (VPc) - 0093
specialize prime_field_polynomial_add_bounded (zb) - 0094
specialize prime_field_polynomial_add_bounded (zc) - 0095
specialize prime_field_polynomial_add_bounded (M+S K) - 0096
apply prime_field_polynomial_add_bounded - 0097
exact hZ - 0098
cases hadd_bounds - 0099
cases hadd_bounds_right - 0100
have hlength : exists J. (((((L)=0 \/ (S K)=0) /\ (((J)=0)))) \/ (((~((L)=0)) /\ (((~((S K)=0)) /\ (((L)+(S K)=S (J)))))))) - 0101
specialize polynomial_product_length_exists (L) - 0102
specialize polynomial_product_length_exists (S K) - 0103
apply polynomial_product_length_exists - 0104
cases hlength - 0105
have hshifted_product : exists mb mc. ((forall fom_index_pfp_step_helper_shifted_productleft. (exists fom_gap_pfp_step_helper_shifted_productleft_index_bound. fom_gap_pfp_step_helper_shifted_productleft_index_bound + S (fom_index_pfp_step_helper_shifted_productleft) = L) -> exists fom_value_pfp_step_helper_shifted_productleft. ((((exists fom_beta_height_pfp_step_helper_shifted_productleft_entry. fom_beta_height_pfp_step_helper_shifted_productleft_entry + S (fom_value_pfp_step_helper_shifted_productleft) = S ((S (fom_index_pfp_step_helper_shifted_productleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_shifted_productleft_entry. ab = fom_beta_quotient_pfp_step_helper_shifted_productleft_entry * S ((S (fom_index_pfp_step_helper_shifted_productleft)) * ac) + (fom_value_pfp_step_helper_shifted_productleft))) /\ (exists fom_gap_pfp_step_helper_shifted_productleft_value_bound. fom_gap_pfp_step_helper_shifted_productleft_value_bound + S (fom_value_pfp_step_helper_shifted_productleft) = p))) /\ (((forall fom_index_pfp_step_helper_shifted_productright. (exists fom_gap_pfp_step_helper_shifted_productright_index_bound. fom_gap_pfp_step_helper_shifted_productright_index_bound + S (fom_index_pfp_step_helper_shifted_productright) = S K) -> exists fom_value_pfp_step_helper_shifted_productright. ((((exists fom_beta_height_pfp_step_helper_shifted_productright_entry. fom_beta_height_pfp_step_helper_shifted_productright_entry + S (fom_value_pfp_step_helper_shifted_productright) = S ((S (fom_index_pfp_step_helper_shifted_productright)) * uc)) /\ exists fom_beta_quotient_pfp_step_helper_shifted_productright_entry. ub = fom_beta_quotient_pfp_step_helper_shifted_productright_entry * S ((S (fom_index_pfp_step_helper_shifted_productright)) * uc) + (fom_value_pfp_step_helper_shifted_productright))) /\ (exists fom_gap_pfp_step_helper_shifted_productright_value_bound. fom_gap_pfp_step_helper_shifted_productright_value_bound + S (fom_value_pfp_step_helper_shifted_productright) = p))) /\ (((((((L)=0 \/ (S K)=0) /\ (((x)=0)))) \/ (((~((L)=0)) /\ (((~((S K)=0)) /\ (((L)+(S K)=S (x)))))))) /\ ((forall pfc_index_step_helper_shifted_productcoefficients. (exists pfa_gap_step_helper_shifted_productcoefficientsbound. pfa_gap_step_helper_shifted_productcoefficientsbound + S (pfc_index_step_helper_shifted_productcoefficients) = (x)) -> exists pfc_value_step_helper_shifted_productcoefficients. ((((exists ff_h_pfp_step_helper_shifted_productcoefficientsentry. ff_h_pfp_step_helper_shifted_productcoefficientsentry + S (pfc_value_step_helper_shifted_productcoefficients) = S ((S (pfc_index_step_helper_shifted_productcoefficients)) * mc)) /\ exists ff_q_pfp_step_helper_shifted_productcoefficientsentry. mb = ff_q_pfp_step_helper_shifted_productcoefficientsentry * S ((S (pfc_index_step_helper_shifted_productcoefficients)) * mc) + (pfc_value_step_helper_shifted_productcoefficients))) /\ ((exists pfc_terms_code_step_helper_shifted_productcoefficientscoefficient pfc_terms_scale_step_helper_shifted_productcoefficientscoefficient pfc_natural_sum_step_helper_shifted_productcoefficientscoefficient. ((forall pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_shifted_productcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_shifted_productcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_shifted_productcoefficients))) -> exists pfc_value_step_helper_shifted_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_shifted_productcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_shifted_productcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_shifted_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_shifted_productcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_shifted_productcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_shifted_productcoefficientscoefficient = ff_q_pfp_step_helper_shifted_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_shifted_productcoefficientscoefficient) + (pfc_value_step_helper_shifted_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_shifted_productcoefficientscoefficientdiagonalterm pfc_left_step_helper_shifted_productcoefficientscoefficientdiagonalterm pfc_right_step_helper_shifted_productcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal)+pfc_complement_step_helper_shifted_productcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_shifted_productcoefficients)) /\ ((((((exists pfa_gap_step_helper_shifted_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_shifted_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_shifted_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_shifted_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_shifted_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_shifted_productcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_shifted_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_shifted_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_shifted_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_shifted_productcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_shifted_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_shifted_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_shifted_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_shifted_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_shifted_productcoefficientscoefficientdiagonalterm) = (S K)) /\ ((((exists ff_h_pfp_step_helper_shifted_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_shifted_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_shifted_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_shifted_productcoefficientscoefficientdiagonalterm)) * uc)) /\ exists ff_q_pfp_step_helper_shifted_productcoefficientscoefficientdiagonaltermrightentry. ub = ff_q_pfp_step_helper_shifted_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_shifted_productcoefficientscoefficientdiagonalterm)) * uc) + (pfc_right_step_helper_shifted_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_shifted_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_shifted_productcoefficientscoefficientdiagonaltermrightoutside+(S K)=(pfc_complement_step_helper_shifted_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_shifted_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_shifted_productcoefficientscoefficientdiagonal)=pfc_left_step_helper_shifted_productcoefficientscoefficientdiagonalterm*pfc_right_step_helper_shifted_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_shifted_productcoefficientscoefficientsum fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_shifted_productcoefficientscoefficientsum = fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_shifted_productcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_shifted_productcoefficients))) * fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_shifted_productcoefficientscoefficientsum = fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_shifted_productcoefficients))) * fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_shifted_productcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_shifted_productcoefficients)) -> exists fs_a_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_shifted_productcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_shifted_productcoefficientscoefficient = fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_shifted_productcoefficientscoefficient) + (fs_a_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_shifted_productcoefficientscoefficientsum = fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum) + (fs_r_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_shifted_productcoefficientscoefficientsum = fs_q_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_shifted_productcoefficientscoefficientsum) + (fs_s_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_shifted_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_shifted_productcoefficientscoefficientresiduebound. pfa_gap_step_helper_shifted_productcoefficientscoefficientresiduebound + S (pfc_value_step_helper_shifted_productcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_shifted_productcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_shifted_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_shifted_productcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_shifted_productcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_shifted_productcoefficients) + (p) * pfa_offset_right_step_helper_shifted_productcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0106
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0107
specialize prime_field_polynomial_convolution_at_length_exists (ab) - 0108
specialize prime_field_polynomial_convolution_at_length_exists (ac) - 0109
specialize prime_field_polynomial_convolution_at_length_exists (L) - 0110
specialize prime_field_polynomial_convolution_at_length_exists (ub) - 0111
specialize prime_field_polynomial_convolution_at_length_exists (uc) - 0112
specialize prime_field_polynomial_convolution_at_length_exists (S K) - 0113
specialize prime_field_polynomial_convolution_at_length_exists (x) - 0114
apply prime_field_polynomial_convolution_at_length_exists - 0115
exact hp0 - 0116
exact hABcopy_left - 0117
specialize prime_field_polynomial_shift_bounded (p) - 0118
specialize prime_field_polynomial_shift_bounded (qb) - 0119
specialize prime_field_polynomial_shift_bounded (qc) - 0120
specialize prime_field_polynomial_shift_bounded (K) - 0121
specialize prime_field_polynomial_shift_bounded (ub) - 0122
specialize prime_field_polynomial_shift_bounded (uc) - 0123
apply prime_field_polynomial_shift_bounded - 0124
exact hp - 0125
exact hAQcopy_right_left - 0126
exact hU - 0127
exact hlength_witness - 0128
cases hshifted_product - 0129
cases hshifted_product_witness - 0130
have hscaled_product : exists mb mc. ((forall fom_index_pfp_step_helper_scaled_productleft. (exists fom_gap_pfp_step_helper_scaled_productleft_index_bound. fom_gap_pfp_step_helper_scaled_productleft_index_bound + S (fom_index_pfp_step_helper_scaled_productleft) = L) -> exists fom_value_pfp_step_helper_scaled_productleft. ((((exists fom_beta_height_pfp_step_helper_scaled_productleft_entry. fom_beta_height_pfp_step_helper_scaled_productleft_entry + S (fom_value_pfp_step_helper_scaled_productleft) = S ((S (fom_index_pfp_step_helper_scaled_productleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_scaled_productleft_entry. ab = fom_beta_quotient_pfp_step_helper_scaled_productleft_entry * S ((S (fom_index_pfp_step_helper_scaled_productleft)) * ac) + (fom_value_pfp_step_helper_scaled_productleft))) /\ (exists fom_gap_pfp_step_helper_scaled_productleft_value_bound. fom_gap_pfp_step_helper_scaled_productleft_value_bound + S (fom_value_pfp_step_helper_scaled_productleft) = p))) /\ (((forall fom_index_pfp_step_helper_scaled_productright. (exists fom_gap_pfp_step_helper_scaled_productright_index_bound. fom_gap_pfp_step_helper_scaled_productright_index_bound + S (fom_index_pfp_step_helper_scaled_productright) = M) -> exists fom_value_pfp_step_helper_scaled_productright. ((((exists fom_beta_height_pfp_step_helper_scaled_productright_entry. fom_beta_height_pfp_step_helper_scaled_productright_entry + S (fom_value_pfp_step_helper_scaled_productright) = S ((S (fom_index_pfp_step_helper_scaled_productright)) * vc)) /\ exists fom_beta_quotient_pfp_step_helper_scaled_productright_entry. vb = fom_beta_quotient_pfp_step_helper_scaled_productright_entry * S ((S (fom_index_pfp_step_helper_scaled_productright)) * vc) + (fom_value_pfp_step_helper_scaled_productright))) /\ (exists fom_gap_pfp_step_helper_scaled_productright_value_bound. fom_gap_pfp_step_helper_scaled_productright_value_bound + S (fom_value_pfp_step_helper_scaled_productright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_step_helper_scaled_productcoefficients. (exists pfa_gap_step_helper_scaled_productcoefficientsbound. pfa_gap_step_helper_scaled_productcoefficientsbound + S (pfc_index_step_helper_scaled_productcoefficients) = (N)) -> exists pfc_value_step_helper_scaled_productcoefficients. ((((exists ff_h_pfp_step_helper_scaled_productcoefficientsentry. ff_h_pfp_step_helper_scaled_productcoefficientsentry + S (pfc_value_step_helper_scaled_productcoefficients) = S ((S (pfc_index_step_helper_scaled_productcoefficients)) * mc)) /\ exists ff_q_pfp_step_helper_scaled_productcoefficientsentry. mb = ff_q_pfp_step_helper_scaled_productcoefficientsentry * S ((S (pfc_index_step_helper_scaled_productcoefficients)) * mc) + (pfc_value_step_helper_scaled_productcoefficients))) /\ ((exists pfc_terms_code_step_helper_scaled_productcoefficientscoefficient pfc_terms_scale_step_helper_scaled_productcoefficientscoefficient pfc_natural_sum_step_helper_scaled_productcoefficientscoefficient. ((forall pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_scaled_productcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_scaled_productcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_scaled_productcoefficients))) -> exists pfc_value_step_helper_scaled_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_scaled_productcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_scaled_productcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_scaled_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_scaled_productcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_scaled_productcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_scaled_productcoefficientscoefficient = ff_q_pfp_step_helper_scaled_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_scaled_productcoefficientscoefficient) + (pfc_value_step_helper_scaled_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_scaled_productcoefficientscoefficientdiagonalterm pfc_left_step_helper_scaled_productcoefficientscoefficientdiagonalterm pfc_right_step_helper_scaled_productcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal)+pfc_complement_step_helper_scaled_productcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_scaled_productcoefficients)) /\ ((((((exists pfa_gap_step_helper_scaled_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_scaled_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_scaled_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_scaled_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_scaled_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_scaled_productcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_scaled_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_scaled_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_scaled_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_scaled_productcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_scaled_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_scaled_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_scaled_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_scaled_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_scaled_productcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_step_helper_scaled_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_scaled_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_scaled_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_scaled_productcoefficientscoefficientdiagonalterm)) * vc)) /\ exists ff_q_pfp_step_helper_scaled_productcoefficientscoefficientdiagonaltermrightentry. vb = ff_q_pfp_step_helper_scaled_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_scaled_productcoefficientscoefficientdiagonalterm)) * vc) + (pfc_right_step_helper_scaled_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_scaled_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_scaled_productcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_step_helper_scaled_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_scaled_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_scaled_productcoefficientscoefficientdiagonal)=pfc_left_step_helper_scaled_productcoefficientscoefficientdiagonalterm*pfc_right_step_helper_scaled_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_scaled_productcoefficientscoefficientsum fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_scaled_productcoefficientscoefficientsum = fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_scaled_productcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_scaled_productcoefficients))) * fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_scaled_productcoefficientscoefficientsum = fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_scaled_productcoefficients))) * fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_scaled_productcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_scaled_productcoefficients)) -> exists fs_a_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_scaled_productcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_scaled_productcoefficientscoefficient = fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_scaled_productcoefficientscoefficient) + (fs_a_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_scaled_productcoefficientscoefficientsum = fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum) + (fs_r_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_scaled_productcoefficientscoefficientsum = fs_q_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_scaled_productcoefficientscoefficientsum) + (fs_s_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_scaled_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_scaled_productcoefficientscoefficientresiduebound. pfa_gap_step_helper_scaled_productcoefficientscoefficientresiduebound + S (pfc_value_step_helper_scaled_productcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_scaled_productcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_scaled_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_scaled_productcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_scaled_productcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_scaled_productcoefficients) + (p) * pfa_offset_right_step_helper_scaled_productcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0131
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0132
specialize prime_field_polynomial_convolution_at_length_exists (ab) - 0133
specialize prime_field_polynomial_convolution_at_length_exists (ac) - 0134
specialize prime_field_polynomial_convolution_at_length_exists (L) - 0135
specialize prime_field_polynomial_convolution_at_length_exists (vb) - 0136
specialize prime_field_polynomial_convolution_at_length_exists (vc) - 0137
specialize prime_field_polynomial_convolution_at_length_exists (M) - 0138
specialize prime_field_polynomial_convolution_at_length_exists (N) - 0139
apply prime_field_polynomial_convolution_at_length_exists - 0140
exact hp0 - 0141
exact hABcopy_left - 0142
exact hscale_bounds_right - 0143
exact hABcopy_right_right_left - 0144
cases hscaled_product - 0145
cases hscaled_product_witness - 0146
have hfirst : exists mb mc. ((forall fom_index_pfp_step_helper_hfirstleft. (exists fom_gap_pfp_step_helper_hfirstleft_index_bound. fom_gap_pfp_step_helper_hfirstleft_index_bound + S (fom_index_pfp_step_helper_hfirstleft) = L) -> exists fom_value_pfp_step_helper_hfirstleft. ((((exists fom_beta_height_pfp_step_helper_hfirstleft_entry. fom_beta_height_pfp_step_helper_hfirstleft_entry + S (fom_value_pfp_step_helper_hfirstleft) = S ((S (fom_index_pfp_step_helper_hfirstleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_hfirstleft_entry. ab = fom_beta_quotient_pfp_step_helper_hfirstleft_entry * S ((S (fom_index_pfp_step_helper_hfirstleft)) * ac) + (fom_value_pfp_step_helper_hfirstleft))) /\ (exists fom_gap_pfp_step_helper_hfirstleft_value_bound. fom_gap_pfp_step_helper_hfirstleft_value_bound + S (fom_value_pfp_step_helper_hfirstleft) = p))) /\ (((forall fom_index_pfp_step_helper_hfirstright. (exists fom_gap_pfp_step_helper_hfirstright_index_bound. fom_gap_pfp_step_helper_hfirstright_index_bound + S (fom_index_pfp_step_helper_hfirstright) = M+S K) -> exists fom_value_pfp_step_helper_hfirstright. ((((exists fom_beta_height_pfp_step_helper_hfirstright_entry. fom_beta_height_pfp_step_helper_hfirstright_entry + S (fom_value_pfp_step_helper_hfirstright) = S ((S (fom_index_pfp_step_helper_hfirstright)) * UPc)) /\ exists fom_beta_quotient_pfp_step_helper_hfirstright_entry. UPb = fom_beta_quotient_pfp_step_helper_hfirstright_entry * S ((S (fom_index_pfp_step_helper_hfirstright)) * UPc) + (fom_value_pfp_step_helper_hfirstright))) /\ (exists fom_gap_pfp_step_helper_hfirstright_value_bound. fom_gap_pfp_step_helper_hfirstright_value_bound + S (fom_value_pfp_step_helper_hfirstright) = p))) /\ (((((((L)=0 \/ (M+S K)=0) /\ (((W)=0)))) \/ (((~((L)=0)) /\ (((~((M+S K)=0)) /\ (((L)+(M+S K)=S (W)))))))) /\ ((forall pfc_index_step_helper_hfirstcoefficients. (exists pfa_gap_step_helper_hfirstcoefficientsbound. pfa_gap_step_helper_hfirstcoefficientsbound + S (pfc_index_step_helper_hfirstcoefficients) = (W)) -> exists pfc_value_step_helper_hfirstcoefficients. ((((exists ff_h_pfp_step_helper_hfirstcoefficientsentry. ff_h_pfp_step_helper_hfirstcoefficientsentry + S (pfc_value_step_helper_hfirstcoefficients) = S ((S (pfc_index_step_helper_hfirstcoefficients)) * mc)) /\ exists ff_q_pfp_step_helper_hfirstcoefficientsentry. mb = ff_q_pfp_step_helper_hfirstcoefficientsentry * S ((S (pfc_index_step_helper_hfirstcoefficients)) * mc) + (pfc_value_step_helper_hfirstcoefficients))) /\ ((exists pfc_terms_code_step_helper_hfirstcoefficientscoefficient pfc_terms_scale_step_helper_hfirstcoefficientscoefficient pfc_natural_sum_step_helper_hfirstcoefficientscoefficient. ((forall pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_hfirstcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_hfirstcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_hfirstcoefficients))) -> exists pfc_value_step_helper_hfirstcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_hfirstcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_hfirstcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_hfirstcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_hfirstcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_hfirstcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_hfirstcoefficientscoefficient = ff_q_pfp_step_helper_hfirstcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_hfirstcoefficientscoefficient) + (pfc_value_step_helper_hfirstcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_hfirstcoefficientscoefficientdiagonalterm pfc_left_step_helper_hfirstcoefficientscoefficientdiagonalterm pfc_right_step_helper_hfirstcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal)+pfc_complement_step_helper_hfirstcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_hfirstcoefficients)) /\ ((((((exists pfa_gap_step_helper_hfirstcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_hfirstcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_hfirstcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_hfirstcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_hfirstcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_hfirstcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_hfirstcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_hfirstcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_hfirstcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_hfirstcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_hfirstcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_hfirstcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_hfirstcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_hfirstcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_hfirstcoefficientscoefficientdiagonalterm) = (M+S K)) /\ ((((exists ff_h_pfp_step_helper_hfirstcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_hfirstcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_hfirstcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_hfirstcoefficientscoefficientdiagonalterm)) * UPc)) /\ exists ff_q_pfp_step_helper_hfirstcoefficientscoefficientdiagonaltermrightentry. UPb = ff_q_pfp_step_helper_hfirstcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_hfirstcoefficientscoefficientdiagonalterm)) * UPc) + (pfc_right_step_helper_hfirstcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_hfirstcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_hfirstcoefficientscoefficientdiagonaltermrightoutside+(M+S K)=(pfc_complement_step_helper_hfirstcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_hfirstcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_hfirstcoefficientscoefficientdiagonal)=pfc_left_step_helper_hfirstcoefficientscoefficientdiagonalterm*pfc_right_step_helper_hfirstcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_hfirstcoefficientscoefficientsum fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_hfirstcoefficientscoefficientsum = fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_hfirstcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_hfirstcoefficients))) * fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_hfirstcoefficientscoefficientsum = fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_hfirstcoefficients))) * fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_hfirstcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_hfirstcoefficients)) -> exists fs_a_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_hfirstcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_hfirstcoefficientscoefficient = fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_hfirstcoefficientscoefficient) + (fs_a_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_hfirstcoefficientscoefficientsum = fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum) + (fs_r_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_hfirstcoefficientscoefficientsum = fs_q_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_hfirstcoefficientscoefficientsum) + (fs_s_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_hfirstcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_hfirstcoefficientscoefficientresiduebound. pfa_gap_step_helper_hfirstcoefficientscoefficientresiduebound + S (pfc_value_step_helper_hfirstcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_hfirstcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_hfirstcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_hfirstcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_hfirstcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_hfirstcoefficients) + (p) * pfa_offset_right_step_helper_hfirstcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0147
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0148
specialize prime_field_polynomial_convolution_at_length_exists (ab) - 0149
specialize prime_field_polynomial_convolution_at_length_exists (ac) - 0150
specialize prime_field_polynomial_convolution_at_length_exists (L) - 0151
specialize prime_field_polynomial_convolution_at_length_exists (UPb) - 0152
specialize prime_field_polynomial_convolution_at_length_exists (UPc) - 0153
specialize prime_field_polynomial_convolution_at_length_exists (M+S K) - 0154
specialize prime_field_polynomial_convolution_at_length_exists (W) - 0155
apply prime_field_polynomial_convolution_at_length_exists - 0156
exact hp0 - 0157
exact hABcopy_left - 0158
exact hadd_bounds_left - 0159
exact hAZcopy_right_right_left - 0160
cases hfirst - 0161
cases hfirst_witness - 0162
have hsecond : exists mb mc. ((forall fom_index_pfp_step_helper_hsecondleft. (exists fom_gap_pfp_step_helper_hsecondleft_index_bound. fom_gap_pfp_step_helper_hsecondleft_index_bound + S (fom_index_pfp_step_helper_hsecondleft) = L) -> exists fom_value_pfp_step_helper_hsecondleft. ((((exists fom_beta_height_pfp_step_helper_hsecondleft_entry. fom_beta_height_pfp_step_helper_hsecondleft_entry + S (fom_value_pfp_step_helper_hsecondleft) = S ((S (fom_index_pfp_step_helper_hsecondleft)) * ac)) /\ exists fom_beta_quotient_pfp_step_helper_hsecondleft_entry. ab = fom_beta_quotient_pfp_step_helper_hsecondleft_entry * S ((S (fom_index_pfp_step_helper_hsecondleft)) * ac) + (fom_value_pfp_step_helper_hsecondleft))) /\ (exists fom_gap_pfp_step_helper_hsecondleft_value_bound. fom_gap_pfp_step_helper_hsecondleft_value_bound + S (fom_value_pfp_step_helper_hsecondleft) = p))) /\ (((forall fom_index_pfp_step_helper_hsecondright. (exists fom_gap_pfp_step_helper_hsecondright_index_bound. fom_gap_pfp_step_helper_hsecondright_index_bound + S (fom_index_pfp_step_helper_hsecondright) = M+S K) -> exists fom_value_pfp_step_helper_hsecondright. ((((exists fom_beta_height_pfp_step_helper_hsecondright_entry. fom_beta_height_pfp_step_helper_hsecondright_entry + S (fom_value_pfp_step_helper_hsecondright) = S ((S (fom_index_pfp_step_helper_hsecondright)) * VPc)) /\ exists fom_beta_quotient_pfp_step_helper_hsecondright_entry. VPb = fom_beta_quotient_pfp_step_helper_hsecondright_entry * S ((S (fom_index_pfp_step_helper_hsecondright)) * VPc) + (fom_value_pfp_step_helper_hsecondright))) /\ (exists fom_gap_pfp_step_helper_hsecondright_value_bound. fom_gap_pfp_step_helper_hsecondright_value_bound + S (fom_value_pfp_step_helper_hsecondright) = p))) /\ (((((((L)=0 \/ (M+S K)=0) /\ (((W)=0)))) \/ (((~((L)=0)) /\ (((~((M+S K)=0)) /\ (((L)+(M+S K)=S (W)))))))) /\ ((forall pfc_index_step_helper_hsecondcoefficients. (exists pfa_gap_step_helper_hsecondcoefficientsbound. pfa_gap_step_helper_hsecondcoefficientsbound + S (pfc_index_step_helper_hsecondcoefficients) = (W)) -> exists pfc_value_step_helper_hsecondcoefficients. ((((exists ff_h_pfp_step_helper_hsecondcoefficientsentry. ff_h_pfp_step_helper_hsecondcoefficientsentry + S (pfc_value_step_helper_hsecondcoefficients) = S ((S (pfc_index_step_helper_hsecondcoefficients)) * mc)) /\ exists ff_q_pfp_step_helper_hsecondcoefficientsentry. mb = ff_q_pfp_step_helper_hsecondcoefficientsentry * S ((S (pfc_index_step_helper_hsecondcoefficients)) * mc) + (pfc_value_step_helper_hsecondcoefficients))) /\ ((exists pfc_terms_code_step_helper_hsecondcoefficientscoefficient pfc_terms_scale_step_helper_hsecondcoefficientscoefficient pfc_natural_sum_step_helper_hsecondcoefficientscoefficient. ((forall pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal. (exists pfa_gap_step_helper_hsecondcoefficientscoefficientdiagonalbound. pfa_gap_step_helper_hsecondcoefficientscoefficientdiagonalbound + S (pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal) = (S (pfc_index_step_helper_hsecondcoefficients))) -> exists pfc_value_step_helper_hsecondcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_step_helper_hsecondcoefficientscoefficientdiagonalentry. ff_h_pfp_step_helper_hsecondcoefficientscoefficientdiagonalentry + S (pfc_value_step_helper_hsecondcoefficientscoefficientdiagonal) = S ((S (pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_hsecondcoefficientscoefficient)) /\ exists ff_q_pfp_step_helper_hsecondcoefficientscoefficientdiagonalentry. pfc_terms_code_step_helper_hsecondcoefficientscoefficient = ff_q_pfp_step_helper_hsecondcoefficientscoefficientdiagonalentry * S ((S (pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal)) * pfc_terms_scale_step_helper_hsecondcoefficientscoefficient) + (pfc_value_step_helper_hsecondcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_step_helper_hsecondcoefficientscoefficientdiagonalterm pfc_left_step_helper_hsecondcoefficientscoefficientdiagonalterm pfc_right_step_helper_hsecondcoefficientscoefficientdiagonalterm. (((pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal)+pfc_complement_step_helper_hsecondcoefficientscoefficientdiagonalterm=(pfc_index_step_helper_hsecondcoefficients)) /\ ((((((exists pfa_gap_step_helper_hsecondcoefficientscoefficientdiagonaltermleftinside. pfa_gap_step_helper_hsecondcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_step_helper_hsecondcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_step_helper_hsecondcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_step_helper_hsecondcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_step_helper_hsecondcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_step_helper_hsecondcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal)) * ac) + (pfc_left_step_helper_hsecondcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_hsecondcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_step_helper_hsecondcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_step_helper_hsecondcoefficientscoefficientdiagonal)) /\ (((pfc_left_step_helper_hsecondcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_step_helper_hsecondcoefficientscoefficientdiagonaltermrightinside. pfa_gap_step_helper_hsecondcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_step_helper_hsecondcoefficientscoefficientdiagonalterm) = (M+S K)) /\ ((((exists ff_h_pfp_step_helper_hsecondcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_step_helper_hsecondcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_step_helper_hsecondcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_step_helper_hsecondcoefficientscoefficientdiagonalterm)) * VPc)) /\ exists ff_q_pfp_step_helper_hsecondcoefficientscoefficientdiagonaltermrightentry. VPb = ff_q_pfp_step_helper_hsecondcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_step_helper_hsecondcoefficientscoefficientdiagonalterm)) * VPc) + (pfc_right_step_helper_hsecondcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_step_helper_hsecondcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_step_helper_hsecondcoefficientscoefficientdiagonaltermrightoutside+(M+S K)=(pfc_complement_step_helper_hsecondcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_step_helper_hsecondcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_step_helper_hsecondcoefficientscoefficientdiagonal)=pfc_left_step_helper_hsecondcoefficientscoefficientdiagonalterm*pfc_right_step_helper_hsecondcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_step_helper_hsecondcoefficientscoefficientsum fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum. ((((exists fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_start. fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_start. fs_u_pfc_step_helper_hsecondcoefficientscoefficientsum = fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_terminal. fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_step_helper_hsecondcoefficientscoefficient) = S ((S (S (pfc_index_step_helper_hsecondcoefficients))) * fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_terminal. fs_u_pfc_step_helper_hsecondcoefficientscoefficientsum = fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_step_helper_hsecondcoefficients))) * fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum) + (pfc_natural_sum_step_helper_hsecondcoefficientscoefficient))) /\ forall fs_i_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps = S (pfc_index_step_helper_hsecondcoefficients)) -> exists fs_a_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps fs_r_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps fs_s_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_hsecondcoefficientscoefficient)) /\ exists fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_step_helper_hsecondcoefficientscoefficient = fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_step_helper_hsecondcoefficientscoefficient) + (fs_a_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_step_helper_hsecondcoefficientscoefficientsum = fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum) + (fs_r_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_step_helper_hsecondcoefficientscoefficientsum = fs_q_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_step_helper_hsecondcoefficientscoefficientsum) + (fs_s_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps = fs_r_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps + fs_a_pfc_step_helper_hsecondcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_step_helper_hsecondcoefficientscoefficientresiduebound. pfa_gap_step_helper_hsecondcoefficientscoefficientresiduebound + S (pfc_value_step_helper_hsecondcoefficients) = (p)) /\ ((exists pfa_offset_left_step_helper_hsecondcoefficientscoefficientresiduecongruence pfa_offset_right_step_helper_hsecondcoefficientscoefficientresiduecongruence. (pfc_natural_sum_step_helper_hsecondcoefficientscoefficient) + (p) * pfa_offset_left_step_helper_hsecondcoefficientscoefficientresiduecongruence = (pfc_value_step_helper_hsecondcoefficients) + (p) * pfa_offset_right_step_helper_hsecondcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0163
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0164
specialize prime_field_polynomial_convolution_at_length_exists (ab) - 0165
specialize prime_field_polynomial_convolution_at_length_exists (ac) - 0166
specialize prime_field_polynomial_convolution_at_length_exists (L) - 0167
specialize prime_field_polynomial_convolution_at_length_exists (VPb) - 0168
specialize prime_field_polynomial_convolution_at_length_exists (VPc) - 0169
specialize prime_field_polynomial_convolution_at_length_exists (M+S K) - 0170
specialize prime_field_polynomial_convolution_at_length_exists (W) - 0171
apply prime_field_polynomial_convolution_at_length_exists - 0172
exact hp0 - 0173
exact hABcopy_left - 0174
exact hadd_bounds_right_left - 0175
exact hAZcopy_right_right_left - 0176
cases hsecond - 0177
cases hsecond_witness - 0178
have hdistributed : forall pfp_index_step_helper_distributed. (exists pfa_gap_step_helper_distributedindex. pfa_gap_step_helper_distributedindex + S (pfp_index_step_helper_distributed) = (W)) -> exists pfp_left_step_helper_distributed pfp_right_step_helper_distributed pfp_value_step_helper_distributed. ((((exists ff_h_pfp_step_helper_distributedleft. ff_h_pfp_step_helper_distributedleft + S (pfp_left_step_helper_distributed) = S ((S (pfp_index_step_helper_distributed)) * x6)) /\ exists ff_q_pfp_step_helper_distributedleft. x5 = ff_q_pfp_step_helper_distributedleft * S ((S (pfp_index_step_helper_distributed)) * x6) + (pfp_left_step_helper_distributed))) /\ (((((exists ff_h_pfp_step_helper_distributedright. ff_h_pfp_step_helper_distributedright + S (pfp_right_step_helper_distributed) = S ((S (pfp_index_step_helper_distributed)) * x8)) /\ exists ff_q_pfp_step_helper_distributedright. x7 = ff_q_pfp_step_helper_distributedright * S ((S (pfp_index_step_helper_distributed)) * x8) + (pfp_right_step_helper_distributed))) /\ (((((exists ff_h_pfp_step_helper_distributedtarget. ff_h_pfp_step_helper_distributedtarget + S (pfp_value_step_helper_distributed) = S ((S (pfp_index_step_helper_distributed)) * sc)) /\ exists ff_q_pfp_step_helper_distributedtarget. sb = ff_q_pfp_step_helper_distributedtarget * S ((S (pfp_index_step_helper_distributed)) * sc) + (pfp_value_step_helper_distributed))) /\ ((((exists pfa_gap_step_helper_distributedoperationleft. pfa_gap_step_helper_distributedoperationleft + S (pfp_left_step_helper_distributed) = (p)) /\ (((exists pfa_gap_step_helper_distributedoperationright. pfa_gap_step_helper_distributedoperationright + S (pfp_right_step_helper_distributed) = (p)) /\ ((((exists pfa_gap_step_helper_distributedoperationresultbound. pfa_gap_step_helper_distributedoperationresultbound + S (pfp_value_step_helper_distributed) = (p)) /\ ((exists pfa_offset_left_step_helper_distributedoperationresultcongruence pfa_offset_right_step_helper_distributedoperationresultcongruence. ((pfp_left_step_helper_distributed) + (pfp_right_step_helper_distributed)) + (p) * pfa_offset_left_step_helper_distributedoperationresultcongruence = (pfp_value_step_helper_distributed) + (p) * pfa_offset_right_step_helper_distributedoperationresultcongruence))))))))))))))) - 0179
specialize prime_field_polynomial_convolution_left_add (p) - 0180
specialize prime_field_polynomial_convolution_left_add (UPb) - 0181
specialize prime_field_polynomial_convolution_left_add (UPc) - 0182
specialize prime_field_polynomial_convolution_left_add (VPb) - 0183
specialize prime_field_polynomial_convolution_left_add (VPc) - 0184
specialize prime_field_polynomial_convolution_left_add (zb) - 0185
specialize prime_field_polynomial_convolution_left_add (zc) - 0186
specialize prime_field_polynomial_convolution_left_add (M+S K) - 0187
specialize prime_field_polynomial_convolution_left_add (ab) - 0188
specialize prime_field_polynomial_convolution_left_add (ac) - 0189
specialize prime_field_polynomial_convolution_left_add (L) - 0190
specialize prime_field_polynomial_convolution_left_add (x5) - 0191
specialize prime_field_polynomial_convolution_left_add (x6) - 0192
specialize prime_field_polynomial_convolution_left_add (x7) - 0193
specialize prime_field_polynomial_convolution_left_add (x8) - 0194
specialize prime_field_polynomial_convolution_left_add (sb) - 0195
specialize prime_field_polynomial_convolution_left_add (sc) - 0196
specialize prime_field_polynomial_convolution_left_add (W) - 0197
apply prime_field_polynomial_convolution_left_add - 0198
exact hZ - 0199
exact hfirst_witness_witness - 0200
exact hsecond_witness_witness - 0201
exact hAZ - 0202
have hshift_equal : forall pfrep_power_step_helper_shift_equal pfrep_left_step_helper_shift_equal pfrep_right_step_helper_shift_equal. ((exists pfrep_position_step_helper_shift_equalfirst. ((pfrep_position_step_helper_shift_equalfirst+S (pfrep_power_step_helper_shift_equal)=(x)) /\ ((((exists ff_h_pfp_step_helper_shift_equalfirstentry. ff_h_pfp_step_helper_shift_equalfirstentry + S (pfrep_left_step_helper_shift_equal) = S ((S (pfrep_position_step_helper_shift_equalfirst)) * x2)) /\ exists ff_q_pfp_step_helper_shift_equalfirstentry. x1 = ff_q_pfp_step_helper_shift_equalfirstentry * S ((S (pfrep_position_step_helper_shift_equalfirst)) * x2) + (pfrep_left_step_helper_shift_equal)))))) \/ (((exists pfrep_gap_step_helper_shift_equalfirstoutside. pfrep_gap_step_helper_shift_equalfirstoutside+(x)=(pfrep_power_step_helper_shift_equal)) /\ (((pfrep_left_step_helper_shift_equal)=0))))) -> ((exists pfrep_position_step_helper_shift_equalsecond. ((pfrep_position_step_helper_shift_equalsecond+S (pfrep_power_step_helper_shift_equal)=(S T)) /\ ((((exists ff_h_pfp_step_helper_shift_equalsecondentry. ff_h_pfp_step_helper_shift_equalsecondentry + S (pfrep_right_step_helper_shift_equal) = S ((S (pfrep_position_step_helper_shift_equalsecond)) * ec)) /\ exists ff_q_pfp_step_helper_shift_equalsecondentry. eb = ff_q_pfp_step_helper_shift_equalsecondentry * S ((S (pfrep_position_step_helper_shift_equalsecond)) * ec) + (pfrep_right_step_helper_shift_equal)))))) \/ (((exists pfrep_gap_step_helper_shift_equalsecondoutside. pfrep_gap_step_helper_shift_equalsecondoutside+(S T)=(pfrep_power_step_helper_shift_equal)) /\ (((pfrep_right_step_helper_shift_equal)=0))))) -> pfrep_left_step_helper_shift_equal=pfrep_right_step_helper_shift_equal - 0203
specialize prime_field_polynomial_convolution_shift_right_equivalent (p) - 0204
specialize prime_field_polynomial_convolution_shift_right_equivalent (ab) - 0205
specialize prime_field_polynomial_convolution_shift_right_equivalent (ac) - 0206
specialize prime_field_polynomial_convolution_shift_right_equivalent (L) - 0207
specialize prime_field_polynomial_convolution_shift_right_equivalent (qb) - 0208
specialize prime_field_polynomial_convolution_shift_right_equivalent (qc) - 0209
specialize prime_field_polynomial_convolution_shift_right_equivalent (K) - 0210
specialize prime_field_polynomial_convolution_shift_right_equivalent (rb) - 0211
specialize prime_field_polynomial_convolution_shift_right_equivalent (rc) - 0212
specialize prime_field_polynomial_convolution_shift_right_equivalent (T) - 0213
specialize prime_field_polynomial_convolution_shift_right_equivalent (ub) - 0214
specialize prime_field_polynomial_convolution_shift_right_equivalent (uc) - 0215
specialize prime_field_polynomial_convolution_shift_right_equivalent (x1) - 0216
specialize prime_field_polynomial_convolution_shift_right_equivalent (x2) - 0217
specialize prime_field_polynomial_convolution_shift_right_equivalent (x) - 0218
specialize prime_field_polynomial_convolution_shift_right_equivalent (eb) - 0219
specialize prime_field_polynomial_convolution_shift_right_equivalent (ec) - 0220
apply prime_field_polynomial_convolution_shift_right_equivalent - 0221
exact hp0 - 0222
exact hU - 0223
exact hAQ - 0224
exact hshifted_product_witness_witness - 0225
exact hE - 0226
have hfirst_pad : forall pfrep_power_step_helper_first_pad pfrep_left_step_helper_first_pad pfrep_right_step_helper_first_pad. ((exists pfrep_position_step_helper_first_padfirst. ((pfrep_position_step_helper_first_padfirst+S (pfrep_power_step_helper_first_pad)=(x)) /\ ((((exists ff_h_pfp_step_helper_first_padfirstentry. ff_h_pfp_step_helper_first_padfirstentry + S (pfrep_left_step_helper_first_pad) = S ((S (pfrep_position_step_helper_first_padfirst)) * x2)) /\ exists ff_q_pfp_step_helper_first_padfirstentry. x1 = ff_q_pfp_step_helper_first_padfirstentry * S ((S (pfrep_position_step_helper_first_padfirst)) * x2) + (pfrep_left_step_helper_first_pad)))))) \/ (((exists pfrep_gap_step_helper_first_padfirstoutside. pfrep_gap_step_helper_first_padfirstoutside+(x)=(pfrep_power_step_helper_first_pad)) /\ (((pfrep_left_step_helper_first_pad)=0))))) -> ((exists pfrep_position_step_helper_first_padsecond. ((pfrep_position_step_helper_first_padsecond+S (pfrep_power_step_helper_first_pad)=(W)) /\ ((((exists ff_h_pfp_step_helper_first_padsecondentry. ff_h_pfp_step_helper_first_padsecondentry + S (pfrep_right_step_helper_first_pad) = S ((S (pfrep_position_step_helper_first_padsecond)) * x6)) /\ exists ff_q_pfp_step_helper_first_padsecondentry. x5 = ff_q_pfp_step_helper_first_padsecondentry * S ((S (pfrep_position_step_helper_first_padsecond)) * x6) + (pfrep_right_step_helper_first_pad)))))) \/ (((exists pfrep_gap_step_helper_first_padsecondoutside. pfrep_gap_step_helper_first_padsecondoutside+(W)=(pfrep_power_step_helper_first_pad)) /\ (((pfrep_right_step_helper_first_pad)=0))))) -> pfrep_left_step_helper_first_pad=pfrep_right_step_helper_first_pad - 0227
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (p) - 0228
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ab) - 0229
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ac) - 0230
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (L) - 0231
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ub) - 0232
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (uc) - 0233
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (S K) - 0234
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x1) - 0235
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x2) - 0236
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x) - 0237
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (UPb) - 0238
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (UPc) - 0239
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (M) - 0240
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x5) - 0241
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x6) - 0242
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (W) - 0243
apply prime_field_polynomial_convolution_left_padding_equivalent_right - 0244
exact hp0 - 0245
exact hUP - 0246
exact hshifted_product_witness_witness - 0247
exact hfirst_witness_witness - 0248
have hfirst_base : forall pfrep_power_step_helper_first_base pfrep_left_step_helper_first_base pfrep_right_step_helper_first_base. ((exists pfrep_position_step_helper_first_basefirst. ((pfrep_position_step_helper_first_basefirst+S (pfrep_power_step_helper_first_base)=(W)) /\ ((((exists ff_h_pfp_step_helper_first_basefirstentry. ff_h_pfp_step_helper_first_basefirstentry + S (pfrep_left_step_helper_first_base) = S ((S (pfrep_position_step_helper_first_basefirst)) * x6)) /\ exists ff_q_pfp_step_helper_first_basefirstentry. x5 = ff_q_pfp_step_helper_first_basefirstentry * S ((S (pfrep_position_step_helper_first_basefirst)) * x6) + (pfrep_left_step_helper_first_base)))))) \/ (((exists pfrep_gap_step_helper_first_basefirstoutside. pfrep_gap_step_helper_first_basefirstoutside+(W)=(pfrep_power_step_helper_first_base)) /\ (((pfrep_left_step_helper_first_base)=0))))) -> ((exists pfrep_position_step_helper_first_basesecond. ((pfrep_position_step_helper_first_basesecond+S (pfrep_power_step_helper_first_base)=(S T)) /\ ((((exists ff_h_pfp_step_helper_first_basesecondentry. ff_h_pfp_step_helper_first_basesecondentry + S (pfrep_right_step_helper_first_base) = S ((S (pfrep_position_step_helper_first_basesecond)) * ec)) /\ exists ff_q_pfp_step_helper_first_basesecondentry. eb = ff_q_pfp_step_helper_first_basesecondentry * S ((S (pfrep_position_step_helper_first_basesecond)) * ec) + (pfrep_right_step_helper_first_base)))))) \/ (((exists pfrep_gap_step_helper_first_basesecondoutside. pfrep_gap_step_helper_first_basesecondoutside+(S T)=(pfrep_power_step_helper_first_base)) /\ (((pfrep_right_step_helper_first_base)=0))))) -> pfrep_left_step_helper_first_base=pfrep_right_step_helper_first_base - 0249
specialize prime_field_polynomial_equivalent_transitive (x5) - 0250
specialize prime_field_polynomial_equivalent_transitive (x6) - 0251
specialize prime_field_polynomial_equivalent_transitive (W) - 0252
specialize prime_field_polynomial_equivalent_transitive (x1) - 0253
specialize prime_field_polynomial_equivalent_transitive (x2) - 0254
specialize prime_field_polynomial_equivalent_transitive (x) - 0255
specialize prime_field_polynomial_equivalent_transitive (eb) - 0256
specialize prime_field_polynomial_equivalent_transitive (ec) - 0257
specialize prime_field_polynomial_equivalent_transitive (S T) - 0258
apply prime_field_polynomial_equivalent_transitive - 0259
specialize prime_field_polynomial_equivalent_symmetric (x1) - 0260
specialize prime_field_polynomial_equivalent_symmetric (x2) - 0261
specialize prime_field_polynomial_equivalent_symmetric (x) - 0262
specialize prime_field_polynomial_equivalent_symmetric (x5) - 0263
specialize prime_field_polynomial_equivalent_symmetric (x6) - 0264
specialize prime_field_polynomial_equivalent_symmetric (W) - 0265
apply prime_field_polynomial_equivalent_symmetric - 0266
exact hfirst_pad - 0267
exact hshift_equal - 0268
have hfirst_equal : forall pfrep_power_step_helper_first_equal pfrep_left_step_helper_first_equal pfrep_right_step_helper_first_equal. ((exists pfrep_position_step_helper_first_equalfirst. ((pfrep_position_step_helper_first_equalfirst+S (pfrep_power_step_helper_first_equal)=(W)) /\ ((((exists ff_h_pfp_step_helper_first_equalfirstentry. ff_h_pfp_step_helper_first_equalfirstentry + S (pfrep_left_step_helper_first_equal) = S ((S (pfrep_position_step_helper_first_equalfirst)) * x6)) /\ exists ff_q_pfp_step_helper_first_equalfirstentry. x5 = ff_q_pfp_step_helper_first_equalfirstentry * S ((S (pfrep_position_step_helper_first_equalfirst)) * x6) + (pfrep_left_step_helper_first_equal)))))) \/ (((exists pfrep_gap_step_helper_first_equalfirstoutside. pfrep_gap_step_helper_first_equalfirstoutside+(W)=(pfrep_power_step_helper_first_equal)) /\ (((pfrep_left_step_helper_first_equal)=0))))) -> ((exists pfrep_position_step_helper_first_equalsecond. ((pfrep_position_step_helper_first_equalsecond+S (pfrep_power_step_helper_first_equal)=(N+S T)) /\ ((((exists ff_h_pfp_step_helper_first_equalsecondentry. ff_h_pfp_step_helper_first_equalsecondentry + S (pfrep_right_step_helper_first_equal) = S ((S (pfrep_position_step_helper_first_equalsecond)) * EPc)) /\ exists ff_q_pfp_step_helper_first_equalsecondentry. EPb = ff_q_pfp_step_helper_first_equalsecondentry * S ((S (pfrep_position_step_helper_first_equalsecond)) * EPc) + (pfrep_right_step_helper_first_equal)))))) \/ (((exists pfrep_gap_step_helper_first_equalsecondoutside. pfrep_gap_step_helper_first_equalsecondoutside+(N+S T)=(pfrep_power_step_helper_first_equal)) /\ (((pfrep_right_step_helper_first_equal)=0))))) -> pfrep_left_step_helper_first_equal=pfrep_right_step_helper_first_equal - 0269
specialize prime_field_polynomial_equivalent_transitive (x5) - 0270
specialize prime_field_polynomial_equivalent_transitive (x6) - 0271
specialize prime_field_polynomial_equivalent_transitive (W) - 0272
specialize prime_field_polynomial_equivalent_transitive (eb) - 0273
specialize prime_field_polynomial_equivalent_transitive (ec) - 0274
specialize prime_field_polynomial_equivalent_transitive (S T) - 0275
specialize prime_field_polynomial_equivalent_transitive (EPb) - 0276
specialize prime_field_polynomial_equivalent_transitive (EPc) - 0277
specialize prime_field_polynomial_equivalent_transitive (N+S T) - 0278
apply prime_field_polynomial_equivalent_transitive - 0279
exact hfirst_base - 0280
specialize prime_field_polynomial_left_pad_equivalent (eb) - 0281
specialize prime_field_polynomial_left_pad_equivalent (ec) - 0282
specialize prime_field_polynomial_left_pad_equivalent (S T) - 0283
specialize prime_field_polynomial_left_pad_equivalent (N) - 0284
specialize prime_field_polynomial_left_pad_equivalent (EPb) - 0285
specialize prime_field_polynomial_left_pad_equivalent (EPc) - 0286
apply prime_field_polynomial_left_pad_equivalent - 0287
exact hEP - 0288
have hscaled_equal : ((N=N) /\ ((forall mdr_i_pfp_step_helper_scalar_equal mdr_a_pfp_step_helper_scalar_equal. (exists mdr_gap_pfp_step_helper_scalar_equalb. mdr_gap_pfp_step_helper_scalar_equalb + S (mdr_i_pfp_step_helper_scalar_equal) = (N)) -> (((exists ff_h_mdr_pfp_step_helper_scalar_equalo. ff_h_mdr_pfp_step_helper_scalar_equalo + S (mdr_a_pfp_step_helper_scalar_equal) = S ((S (mdr_i_pfp_step_helper_scalar_equal)) * x4)) /\ exists ff_q_mdr_pfp_step_helper_scalar_equalo. x3 = ff_q_mdr_pfp_step_helper_scalar_equalo * S ((S (mdr_i_pfp_step_helper_scalar_equal)) * x4) + (mdr_a_pfp_step_helper_scalar_equal))) -> (((exists ff_h_mdr_pfp_step_helper_scalar_equaln. ff_h_mdr_pfp_step_helper_scalar_equaln + S (mdr_a_pfp_step_helper_scalar_equal) = S ((S (mdr_i_pfp_step_helper_scalar_equal)) * fc)) /\ exists ff_q_mdr_pfp_step_helper_scalar_equaln. fb = ff_q_mdr_pfp_step_helper_scalar_equaln * S ((S (mdr_i_pfp_step_helper_scalar_equal)) * fc) + (mdr_a_pfp_step_helper_scalar_equal)))))) - 0289
specialize prime_field_polynomial_convolution_right_scale_equal (p) - 0290
specialize prime_field_polynomial_convolution_right_scale_equal (c) - 0291
specialize prime_field_polynomial_convolution_right_scale_equal (ab) - 0292
specialize prime_field_polynomial_convolution_right_scale_equal (ac) - 0293
specialize prime_field_polynomial_convolution_right_scale_equal (L) - 0294
specialize prime_field_polynomial_convolution_right_scale_equal (bb) - 0295
specialize prime_field_polynomial_convolution_right_scale_equal (bc) - 0296
specialize prime_field_polynomial_convolution_right_scale_equal (M) - 0297
specialize prime_field_polynomial_convolution_right_scale_equal (vb) - 0298
specialize prime_field_polynomial_convolution_right_scale_equal (vc) - 0299
specialize prime_field_polynomial_convolution_right_scale_equal (pb) - 0300
specialize prime_field_polynomial_convolution_right_scale_equal (pc) - 0301
specialize prime_field_polynomial_convolution_right_scale_equal (N) - 0302
specialize prime_field_polynomial_convolution_right_scale_equal (x3) - 0303
specialize prime_field_polynomial_convolution_right_scale_equal (x4) - 0304
specialize prime_field_polynomial_convolution_right_scale_equal (N) - 0305
specialize prime_field_polynomial_convolution_right_scale_equal (fb) - 0306
specialize prime_field_polynomial_convolution_right_scale_equal (fc) - 0307
apply prime_field_polynomial_convolution_right_scale_equal - 0308
exact hV - 0309
exact hAB - 0310
exact hscaled_product_witness_witness - 0311
exact hF - 0312
cases hscaled_equal - 0313
have hscalar_base : forall pfrep_power_step_helper_scalar_base pfrep_left_step_helper_scalar_base pfrep_right_step_helper_scalar_base. ((exists pfrep_position_step_helper_scalar_basefirst. ((pfrep_position_step_helper_scalar_basefirst+S (pfrep_power_step_helper_scalar_base)=(N)) /\ ((((exists ff_h_pfp_step_helper_scalar_basefirstentry. ff_h_pfp_step_helper_scalar_basefirstentry + S (pfrep_left_step_helper_scalar_base) = S ((S (pfrep_position_step_helper_scalar_basefirst)) * x4)) /\ exists ff_q_pfp_step_helper_scalar_basefirstentry. x3 = ff_q_pfp_step_helper_scalar_basefirstentry * S ((S (pfrep_position_step_helper_scalar_basefirst)) * x4) + (pfrep_left_step_helper_scalar_base)))))) \/ (((exists pfrep_gap_step_helper_scalar_basefirstoutside. pfrep_gap_step_helper_scalar_basefirstoutside+(N)=(pfrep_power_step_helper_scalar_base)) /\ (((pfrep_left_step_helper_scalar_base)=0))))) -> ((exists pfrep_position_step_helper_scalar_basesecond. ((pfrep_position_step_helper_scalar_basesecond+S (pfrep_power_step_helper_scalar_base)=(N)) /\ ((((exists ff_h_pfp_step_helper_scalar_basesecondentry. ff_h_pfp_step_helper_scalar_basesecondentry + S (pfrep_right_step_helper_scalar_base) = S ((S (pfrep_position_step_helper_scalar_basesecond)) * fc)) /\ exists ff_q_pfp_step_helper_scalar_basesecondentry. fb = ff_q_pfp_step_helper_scalar_basesecondentry * S ((S (pfrep_position_step_helper_scalar_basesecond)) * fc) + (pfrep_right_step_helper_scalar_base)))))) \/ (((exists pfrep_gap_step_helper_scalar_basesecondoutside. pfrep_gap_step_helper_scalar_basesecondoutside+(N)=(pfrep_power_step_helper_scalar_base)) /\ (((pfrep_right_step_helper_scalar_base)=0))))) -> pfrep_left_step_helper_scalar_base=pfrep_right_step_helper_scalar_base - 0314
specialize prime_field_polynomial_equal_implies_equivalent (x3) - 0315
specialize prime_field_polynomial_equal_implies_equivalent (x4) - 0316
specialize prime_field_polynomial_equal_implies_equivalent (fb) - 0317
specialize prime_field_polynomial_equal_implies_equivalent (fc) - 0318
specialize prime_field_polynomial_equal_implies_equivalent (N) - 0319
apply prime_field_polynomial_equal_implies_equivalent - 0320
exact hscaled_equal_right - 0321
have hsecond_pad : forall pfrep_power_step_helper_second_pad pfrep_left_step_helper_second_pad pfrep_right_step_helper_second_pad. ((exists pfrep_position_step_helper_second_padfirst. ((pfrep_position_step_helper_second_padfirst+S (pfrep_power_step_helper_second_pad)=(N)) /\ ((((exists ff_h_pfp_step_helper_second_padfirstentry. ff_h_pfp_step_helper_second_padfirstentry + S (pfrep_left_step_helper_second_pad) = S ((S (pfrep_position_step_helper_second_padfirst)) * x4)) /\ exists ff_q_pfp_step_helper_second_padfirstentry. x3 = ff_q_pfp_step_helper_second_padfirstentry * S ((S (pfrep_position_step_helper_second_padfirst)) * x4) + (pfrep_left_step_helper_second_pad)))))) \/ (((exists pfrep_gap_step_helper_second_padfirstoutside. pfrep_gap_step_helper_second_padfirstoutside+(N)=(pfrep_power_step_helper_second_pad)) /\ (((pfrep_left_step_helper_second_pad)=0))))) -> ((exists pfrep_position_step_helper_second_padsecond. ((pfrep_position_step_helper_second_padsecond+S (pfrep_power_step_helper_second_pad)=(W)) /\ ((((exists ff_h_pfp_step_helper_second_padsecondentry. ff_h_pfp_step_helper_second_padsecondentry + S (pfrep_right_step_helper_second_pad) = S ((S (pfrep_position_step_helper_second_padsecond)) * x8)) /\ exists ff_q_pfp_step_helper_second_padsecondentry. x7 = ff_q_pfp_step_helper_second_padsecondentry * S ((S (pfrep_position_step_helper_second_padsecond)) * x8) + (pfrep_right_step_helper_second_pad)))))) \/ (((exists pfrep_gap_step_helper_second_padsecondoutside. pfrep_gap_step_helper_second_padsecondoutside+(W)=(pfrep_power_step_helper_second_pad)) /\ (((pfrep_right_step_helper_second_pad)=0))))) -> pfrep_left_step_helper_second_pad=pfrep_right_step_helper_second_pad - 0322
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (p) - 0323
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ab) - 0324
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ac) - 0325
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (L) - 0326
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (vb) - 0327
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (vc) - 0328
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (M) - 0329
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x3) - 0330
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x4) - 0331
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (N) - 0332
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (VPb) - 0333
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (VPc) - 0334
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (S K) - 0335
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x7) - 0336
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x8) - 0337
specialize prime_field_polynomial_convolution_left_padding_equivalent_right (W) - 0338
apply prime_field_polynomial_convolution_left_padding_equivalent_right - 0339
exact hp0 - 0340
exact hVP - 0341
exact hscaled_product_witness_witness - 0342
have hcomm_input : S K+M=M+S K - 0343
specialize add_comm (S K) - 0344
specialize add_comm (M) - 0345
apply add_comm - 0346
rewrite hcomm_input - 0347
rewrite hcomm_input - 0348
rewrite hcomm_input - 0349
rewrite hcomm_input - 0350
rewrite hcomm_input - 0351
rewrite hcomm_input - 0352
exact hsecond_witness_witness - 0353
have hsecond_base : forall pfrep_power_step_helper_second_base pfrep_left_step_helper_second_base pfrep_right_step_helper_second_base. ((exists pfrep_position_step_helper_second_basefirst. ((pfrep_position_step_helper_second_basefirst+S (pfrep_power_step_helper_second_base)=(W)) /\ ((((exists ff_h_pfp_step_helper_second_basefirstentry. ff_h_pfp_step_helper_second_basefirstentry + S (pfrep_left_step_helper_second_base) = S ((S (pfrep_position_step_helper_second_basefirst)) * x8)) /\ exists ff_q_pfp_step_helper_second_basefirstentry. x7 = ff_q_pfp_step_helper_second_basefirstentry * S ((S (pfrep_position_step_helper_second_basefirst)) * x8) + (pfrep_left_step_helper_second_base)))))) \/ (((exists pfrep_gap_step_helper_second_basefirstoutside. pfrep_gap_step_helper_second_basefirstoutside+(W)=(pfrep_power_step_helper_second_base)) /\ (((pfrep_left_step_helper_second_base)=0))))) -> ((exists pfrep_position_step_helper_second_basesecond. ((pfrep_position_step_helper_second_basesecond+S (pfrep_power_step_helper_second_base)=(N)) /\ ((((exists ff_h_pfp_step_helper_second_basesecondentry. ff_h_pfp_step_helper_second_basesecondentry + S (pfrep_right_step_helper_second_base) = S ((S (pfrep_position_step_helper_second_basesecond)) * fc)) /\ exists ff_q_pfp_step_helper_second_basesecondentry. fb = ff_q_pfp_step_helper_second_basesecondentry * S ((S (pfrep_position_step_helper_second_basesecond)) * fc) + (pfrep_right_step_helper_second_base)))))) \/ (((exists pfrep_gap_step_helper_second_basesecondoutside. pfrep_gap_step_helper_second_basesecondoutside+(N)=(pfrep_power_step_helper_second_base)) /\ (((pfrep_right_step_helper_second_base)=0))))) -> pfrep_left_step_helper_second_base=pfrep_right_step_helper_second_base - 0354
specialize prime_field_polynomial_equivalent_transitive (x7) - 0355
specialize prime_field_polynomial_equivalent_transitive (x8) - 0356
specialize prime_field_polynomial_equivalent_transitive (W) - 0357
specialize prime_field_polynomial_equivalent_transitive (x3) - 0358
specialize prime_field_polynomial_equivalent_transitive (x4) - 0359
specialize prime_field_polynomial_equivalent_transitive (N) - 0360
specialize prime_field_polynomial_equivalent_transitive (fb) - 0361
specialize prime_field_polynomial_equivalent_transitive (fc) - 0362
specialize prime_field_polynomial_equivalent_transitive (N) - 0363
apply prime_field_polynomial_equivalent_transitive - 0364
specialize prime_field_polynomial_equivalent_symmetric (x3) - 0365
specialize prime_field_polynomial_equivalent_symmetric (x4) - 0366
specialize prime_field_polynomial_equivalent_symmetric (N) - 0367
specialize prime_field_polynomial_equivalent_symmetric (x7) - 0368
specialize prime_field_polynomial_equivalent_symmetric (x8) - 0369
specialize prime_field_polynomial_equivalent_symmetric (W) - 0370
apply prime_field_polynomial_equivalent_symmetric - 0371
exact hsecond_pad - 0372
exact hscalar_base - 0373
have hsecond_equal : forall pfrep_power_step_helper_second_equal pfrep_left_step_helper_second_equal pfrep_right_step_helper_second_equal. ((exists pfrep_position_step_helper_second_equalfirst. ((pfrep_position_step_helper_second_equalfirst+S (pfrep_power_step_helper_second_equal)=(W)) /\ ((((exists ff_h_pfp_step_helper_second_equalfirstentry. ff_h_pfp_step_helper_second_equalfirstentry + S (pfrep_left_step_helper_second_equal) = S ((S (pfrep_position_step_helper_second_equalfirst)) * x8)) /\ exists ff_q_pfp_step_helper_second_equalfirstentry. x7 = ff_q_pfp_step_helper_second_equalfirstentry * S ((S (pfrep_position_step_helper_second_equalfirst)) * x8) + (pfrep_left_step_helper_second_equal)))))) \/ (((exists pfrep_gap_step_helper_second_equalfirstoutside. pfrep_gap_step_helper_second_equalfirstoutside+(W)=(pfrep_power_step_helper_second_equal)) /\ (((pfrep_left_step_helper_second_equal)=0))))) -> ((exists pfrep_position_step_helper_second_equalsecond. ((pfrep_position_step_helper_second_equalsecond+S (pfrep_power_step_helper_second_equal)=(N+S T)) /\ ((((exists ff_h_pfp_step_helper_second_equalsecondentry. ff_h_pfp_step_helper_second_equalsecondentry + S (pfrep_right_step_helper_second_equal) = S ((S (pfrep_position_step_helper_second_equalsecond)) * FPc)) /\ exists ff_q_pfp_step_helper_second_equalsecondentry. FPb = ff_q_pfp_step_helper_second_equalsecondentry * S ((S (pfrep_position_step_helper_second_equalsecond)) * FPc) + (pfrep_right_step_helper_second_equal)))))) \/ (((exists pfrep_gap_step_helper_second_equalsecondoutside. pfrep_gap_step_helper_second_equalsecondoutside+(N+S T)=(pfrep_power_step_helper_second_equal)) /\ (((pfrep_right_step_helper_second_equal)=0))))) -> pfrep_left_step_helper_second_equal=pfrep_right_step_helper_second_equal - 0374
specialize prime_field_polynomial_equivalent_transitive (x7) - 0375
specialize prime_field_polynomial_equivalent_transitive (x8) - 0376
specialize prime_field_polynomial_equivalent_transitive (W) - 0377
specialize prime_field_polynomial_equivalent_transitive (fb) - 0378
specialize prime_field_polynomial_equivalent_transitive (fc) - 0379
specialize prime_field_polynomial_equivalent_transitive (N) - 0380
specialize prime_field_polynomial_equivalent_transitive (FPb) - 0381
specialize prime_field_polynomial_equivalent_transitive (FPc) - 0382
specialize prime_field_polynomial_equivalent_transitive (N+S T) - 0383
apply prime_field_polynomial_equivalent_transitive - 0384
exact hsecond_base - 0385
have houtput_pad : forall pfrep_power_step_helper_output_commute pfrep_left_step_helper_output_commute pfrep_right_step_helper_output_commute. ((exists pfrep_position_step_helper_output_commutefirst. ((pfrep_position_step_helper_output_commutefirst+S (pfrep_power_step_helper_output_commute)=(N)) /\ ((((exists ff_h_pfp_step_helper_output_commutefirstentry. ff_h_pfp_step_helper_output_commutefirstentry + S (pfrep_left_step_helper_output_commute) = S ((S (pfrep_position_step_helper_output_commutefirst)) * fc)) /\ exists ff_q_pfp_step_helper_output_commutefirstentry. fb = ff_q_pfp_step_helper_output_commutefirstentry * S ((S (pfrep_position_step_helper_output_commutefirst)) * fc) + (pfrep_left_step_helper_output_commute)))))) \/ (((exists pfrep_gap_step_helper_output_commutefirstoutside. pfrep_gap_step_helper_output_commutefirstoutside+(N)=(pfrep_power_step_helper_output_commute)) /\ (((pfrep_left_step_helper_output_commute)=0))))) -> ((exists pfrep_position_step_helper_output_commutesecond. ((pfrep_position_step_helper_output_commutesecond+S (pfrep_power_step_helper_output_commute)=(S T+N)) /\ ((((exists ff_h_pfp_step_helper_output_commutesecondentry. ff_h_pfp_step_helper_output_commutesecondentry + S (pfrep_right_step_helper_output_commute) = S ((S (pfrep_position_step_helper_output_commutesecond)) * FPc)) /\ exists ff_q_pfp_step_helper_output_commutesecondentry. FPb = ff_q_pfp_step_helper_output_commutesecondentry * S ((S (pfrep_position_step_helper_output_commutesecond)) * FPc) + (pfrep_right_step_helper_output_commute)))))) \/ (((exists pfrep_gap_step_helper_output_commutesecondoutside. pfrep_gap_step_helper_output_commutesecondoutside+(S T+N)=(pfrep_power_step_helper_output_commute)) /\ (((pfrep_right_step_helper_output_commute)=0))))) -> pfrep_left_step_helper_output_commute=pfrep_right_step_helper_output_commute - 0386
specialize prime_field_polynomial_left_pad_equivalent (fb) - 0387
specialize prime_field_polynomial_left_pad_equivalent (fc) - 0388
specialize prime_field_polynomial_left_pad_equivalent (N) - 0389
specialize prime_field_polynomial_left_pad_equivalent (S T) - 0390
specialize prime_field_polynomial_left_pad_equivalent (FPb) - 0391
specialize prime_field_polynomial_left_pad_equivalent (FPc) - 0392
apply prime_field_polynomial_left_pad_equivalent - 0393
exact hFP - 0394
have hcomm_output : S T+N=N+S T - 0395
specialize add_comm (S T) - 0396
specialize add_comm (N) - 0397
apply add_comm - 0398
rewrite hcomm_output at houtput_pad - 0399
rewrite hcomm_output at houtput_pad - 0400
exact houtput_pad - 0401
specialize prime_field_polynomial_add_equivalent_congruent (p) - 0402
specialize prime_field_polynomial_add_equivalent_congruent (x5) - 0403
specialize prime_field_polynomial_add_equivalent_congruent (x6) - 0404
specialize prime_field_polynomial_add_equivalent_congruent (x7) - 0405
specialize prime_field_polynomial_add_equivalent_congruent (x8) - 0406
specialize prime_field_polynomial_add_equivalent_congruent (sb) - 0407
specialize prime_field_polynomial_add_equivalent_congruent (sc) - 0408
specialize prime_field_polynomial_add_equivalent_congruent (W) - 0409
specialize prime_field_polynomial_add_equivalent_congruent (EPb) - 0410
specialize prime_field_polynomial_add_equivalent_congruent (EPc) - 0411
specialize prime_field_polynomial_add_equivalent_congruent (FPb) - 0412
specialize prime_field_polynomial_add_equivalent_congruent (FPc) - 0413
specialize prime_field_polynomial_add_equivalent_congruent (yb) - 0414
specialize prime_field_polynomial_add_equivalent_congruent (yc) - 0415
specialize prime_field_polynomial_add_equivalent_congruent (N+S T) - 0416
apply prime_field_polynomial_add_equivalent_congruent - 0417
exact hp - 0418
exact hfirst_equal - 0419
exact hsecond_equal - 0420
exact hdistributed - 0421
exact hY