PG0059

prime_field_polynomial_right_divides_aligned_subtract

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

A common actual right divisor divides the genuine aligned subtract: construct the corresponding quotient operation and its proper product, use checked right distributivity and compare real aligned sums.

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 db dc J ab ac L bb bc M rb rc N. (~((p) = 1) /\ forall pfa_factor_left_subtract_divides_prime pfa_factor_right_subtract_divides_prime. (p) = pfa_factor_left_subtract_divides_prime * pfa_factor_right_subtract_divides_prime -> pfa_factor_left_subtract_divides_prime = 1 \/ pfa_factor_right_subtract_divides_prime = 1) -> (((forall fom_index_pfp_subtract_divides_left_canonical. (exists fom_gap_pfp_subtract_divides_left_canonical_index_bound. fom_gap_pfp_subtract_divides_left_canonical_index_bound + S (fom_index_pfp_subtract_divides_left_canonical) = L) -> exists fom_value_pfp_subtract_divides_left_canonical. ((((exists fom_beta_height_pfp_subtract_divides_left_canonical_entry. fom_beta_height_pfp_subtract_divides_left_canonical_entry + S (fom_value_pfp_subtract_divides_left_canonical) = S ((S (fom_index_pfp_subtract_divides_left_canonical)) * ac)) /\ exists fom_beta_quotient_pfp_subtract_divides_left_canonical_entry. ab = fom_beta_quotient_pfp_subtract_divides_left_canonical_entry * S ((S (fom_index_pfp_subtract_divides_left_canonical)) * ac) + (fom_value_pfp_subtract_divides_left_canonical))) /\ (exists fom_gap_pfp_subtract_divides_left_canonical_value_bound. fom_gap_pfp_subtract_divides_left_canonical_value_bound + S (fom_value_pfp_subtract_divides_left_canonical) = p))) /\ ((exists pfrd_qb_subtract_divides_left pfrd_qc_subtract_divides_left pfrd_qlen_subtract_divides_left pfrd_pb_subtract_divides_left pfrd_pc_subtract_divides_left pfrd_plen_subtract_divides_left. ((((forall fom_index_pfp_subtract_divides_left_productleft. (exists fom_gap_pfp_subtract_divides_left_productleft_index_bound. fom_gap_pfp_subtract_divides_left_productleft_index_bound + S (fom_index_pfp_subtract_divides_left_productleft) = pfrd_qlen_subtract_divides_left) -> exists fom_value_pfp_subtract_divides_left_productleft. ((((exists fom_beta_height_pfp_subtract_divides_left_productleft_entry. fom_beta_height_pfp_subtract_divides_left_productleft_entry + S (fom_value_pfp_subtract_divides_left_productleft) = S ((S (fom_index_pfp_subtract_divides_left_productleft)) * pfrd_qc_subtract_divides_left)) /\ exists fom_beta_quotient_pfp_subtract_divides_left_productleft_entry. pfrd_qb_subtract_divides_left = fom_beta_quotient_pfp_subtract_divides_left_productleft_entry * S ((S (fom_index_pfp_subtract_divides_left_productleft)) * pfrd_qc_subtract_divides_left) + (fom_value_pfp_subtract_divides_left_productleft))) /\ (exists fom_gap_pfp_subtract_divides_left_productleft_value_bound. fom_gap_pfp_subtract_divides_left_productleft_value_bound + S (fom_value_pfp_subtract_divides_left_productleft) = p))) /\ (((forall fom_index_pfp_subtract_divides_left_productright. (exists fom_gap_pfp_subtract_divides_left_productright_index_bound. fom_gap_pfp_subtract_divides_left_productright_index_bound + S (fom_index_pfp_subtract_divides_left_productright) = J) -> exists fom_value_pfp_subtract_divides_left_productright. ((((exists fom_beta_height_pfp_subtract_divides_left_productright_entry. fom_beta_height_pfp_subtract_divides_left_productright_entry + S (fom_value_pfp_subtract_divides_left_productright) = S ((S (fom_index_pfp_subtract_divides_left_productright)) * dc)) /\ exists fom_beta_quotient_pfp_subtract_divides_left_productright_entry. db = fom_beta_quotient_pfp_subtract_divides_left_productright_entry * S ((S (fom_index_pfp_subtract_divides_left_productright)) * dc) + (fom_value_pfp_subtract_divides_left_productright))) /\ (exists fom_gap_pfp_subtract_divides_left_productright_value_bound. fom_gap_pfp_subtract_divides_left_productright_value_bound + S (fom_value_pfp_subtract_divides_left_productright) = p))) /\ (((((((pfrd_qlen_subtract_divides_left)=0 \/ (J)=0) /\ (((pfrd_plen_subtract_divides_left)=0)))) \/ (((~((pfrd_qlen_subtract_divides_left)=0)) /\ (((~((J)=0)) /\ (((pfrd_qlen_subtract_divides_left)+(J)=S (pfrd_plen_subtract_divides_left)))))))) /\ ((forall pfc_index_subtract_divides_left_productcoefficients. (exists pfa_gap_subtract_divides_left_productcoefficientsbound. pfa_gap_subtract_divides_left_productcoefficientsbound + S (pfc_index_subtract_divides_left_productcoefficients) = (pfrd_plen_subtract_divides_left)) -> exists pfc_value_subtract_divides_left_productcoefficients. ((((exists ff_h_pfp_subtract_divides_left_productcoefficientsentry. ff_h_pfp_subtract_divides_left_productcoefficientsentry + S (pfc_value_subtract_divides_left_productcoefficients) = S ((S (pfc_index_subtract_divides_left_productcoefficients)) * pfrd_pc_subtract_divides_left)) /\ exists ff_q_pfp_subtract_divides_left_productcoefficientsentry. pfrd_pb_subtract_divides_left = ff_q_pfp_subtract_divides_left_productcoefficientsentry * S ((S (pfc_index_subtract_divides_left_productcoefficients)) * pfrd_pc_subtract_divides_left) + (pfc_value_subtract_divides_left_productcoefficients))) /\ ((exists pfc_terms_code_subtract_divides_left_productcoefficientscoefficient pfc_terms_scale_subtract_divides_left_productcoefficientscoefficient pfc_natural_sum_subtract_divides_left_productcoefficientscoefficient. ((forall pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal. (exists pfa_gap_subtract_divides_left_productcoefficientscoefficientdiagonalbound. pfa_gap_subtract_divides_left_productcoefficientscoefficientdiagonalbound + S (pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal) = (S (pfc_index_subtract_divides_left_productcoefficients))) -> exists pfc_value_subtract_divides_left_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_subtract_divides_left_productcoefficientscoefficientdiagonalentry. ff_h_pfp_subtract_divides_left_productcoefficientscoefficientdiagonalentry + S (pfc_value_subtract_divides_left_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_divides_left_productcoefficientscoefficient)) /\ exists ff_q_pfp_subtract_divides_left_productcoefficientscoefficientdiagonalentry. pfc_terms_code_subtract_divides_left_productcoefficientscoefficient = ff_q_pfp_subtract_divides_left_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_divides_left_productcoefficientscoefficient) + (pfc_value_subtract_divides_left_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_subtract_divides_left_productcoefficientscoefficientdiagonalterm pfc_left_subtract_divides_left_productcoefficientscoefficientdiagonalterm pfc_right_subtract_divides_left_productcoefficientscoefficientdiagonalterm. (((pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal)+pfc_complement_subtract_divides_left_productcoefficientscoefficientdiagonalterm=(pfc_index_subtract_divides_left_productcoefficients)) /\ ((((((exists pfa_gap_subtract_divides_left_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_subtract_divides_left_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal) = (pfrd_qlen_subtract_divides_left)) /\ ((((exists ff_h_pfp_subtract_divides_left_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_subtract_divides_left_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_subtract_divides_left_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal)) * pfrd_qc_subtract_divides_left)) /\ exists ff_q_pfp_subtract_divides_left_productcoefficientscoefficientdiagonaltermleftentry. pfrd_qb_subtract_divides_left = ff_q_pfp_subtract_divides_left_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal)) * pfrd_qc_subtract_divides_left) + (pfc_left_subtract_divides_left_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_divides_left_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_subtract_divides_left_productcoefficientscoefficientdiagonaltermleftoutside+(pfrd_qlen_subtract_divides_left)=(pfc_index_subtract_divides_left_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_subtract_divides_left_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_subtract_divides_left_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_subtract_divides_left_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_subtract_divides_left_productcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_subtract_divides_left_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_subtract_divides_left_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_subtract_divides_left_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_subtract_divides_left_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_subtract_divides_left_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_subtract_divides_left_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_subtract_divides_left_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_subtract_divides_left_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_divides_left_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_subtract_divides_left_productcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_subtract_divides_left_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_subtract_divides_left_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_subtract_divides_left_productcoefficientscoefficientdiagonal)=pfc_left_subtract_divides_left_productcoefficientscoefficientdiagonalterm*pfc_right_subtract_divides_left_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_subtract_divides_left_productcoefficientscoefficientsum fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum. ((((exists fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_start. fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_start. fs_u_pfc_subtract_divides_left_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_subtract_divides_left_productcoefficientscoefficient) = S ((S (S (pfc_index_subtract_divides_left_productcoefficients))) * fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_subtract_divides_left_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_subtract_divides_left_productcoefficients))) * fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum) + (pfc_natural_sum_subtract_divides_left_productcoefficientscoefficient))) /\ forall fs_i_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps = S (pfc_index_subtract_divides_left_productcoefficients)) -> exists fs_a_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps fs_r_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps fs_s_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_divides_left_productcoefficientscoefficient)) /\ exists fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_subtract_divides_left_productcoefficientscoefficient = fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_divides_left_productcoefficientscoefficient) + (fs_a_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_subtract_divides_left_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum) + (fs_r_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_subtract_divides_left_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_left_productcoefficientscoefficientsum) + (fs_s_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps = fs_r_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps + fs_a_pfc_subtract_divides_left_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_subtract_divides_left_productcoefficientscoefficientresiduebound. pfa_gap_subtract_divides_left_productcoefficientscoefficientresiduebound + S (pfc_value_subtract_divides_left_productcoefficients) = (p)) /\ ((exists pfa_offset_left_subtract_divides_left_productcoefficientscoefficientresiduecongruence pfa_offset_right_subtract_divides_left_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_subtract_divides_left_productcoefficientscoefficient) + (p) * pfa_offset_left_subtract_divides_left_productcoefficientscoefficientresiduecongruence = (pfc_value_subtract_divides_left_productcoefficients) + (p) * pfa_offset_right_subtract_divides_left_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_subtract_divides_left_target pfrep_left_subtract_divides_left_target pfrep_right_subtract_divides_left_target. ((exists pfrep_position_subtract_divides_left_targetfirst. ((pfrep_position_subtract_divides_left_targetfirst+S (pfrep_power_subtract_divides_left_target)=(pfrd_plen_subtract_divides_left)) /\ ((((exists ff_h_pfp_subtract_divides_left_targetfirstentry. ff_h_pfp_subtract_divides_left_targetfirstentry + S (pfrep_left_subtract_divides_left_target) = S ((S (pfrep_position_subtract_divides_left_targetfirst)) * pfrd_pc_subtract_divides_left)) /\ exists ff_q_pfp_subtract_divides_left_targetfirstentry. pfrd_pb_subtract_divides_left = ff_q_pfp_subtract_divides_left_targetfirstentry * S ((S (pfrep_position_subtract_divides_left_targetfirst)) * pfrd_pc_subtract_divides_left) + (pfrep_left_subtract_divides_left_target)))))) \/ (((exists pfrep_gap_subtract_divides_left_targetfirstoutside. pfrep_gap_subtract_divides_left_targetfirstoutside+(pfrd_plen_subtract_divides_left)=(pfrep_power_subtract_divides_left_target)) /\ (((pfrep_left_subtract_divides_left_target)=0))))) -> ((exists pfrep_position_subtract_divides_left_targetsecond. ((pfrep_position_subtract_divides_left_targetsecond+S (pfrep_power_subtract_divides_left_target)=(L)) /\ ((((exists ff_h_pfp_subtract_divides_left_targetsecondentry. ff_h_pfp_subtract_divides_left_targetsecondentry + S (pfrep_right_subtract_divides_left_target) = S ((S (pfrep_position_subtract_divides_left_targetsecond)) * ac)) /\ exists ff_q_pfp_subtract_divides_left_targetsecondentry. ab = ff_q_pfp_subtract_divides_left_targetsecondentry * S ((S (pfrep_position_subtract_divides_left_targetsecond)) * ac) + (pfrep_right_subtract_divides_left_target)))))) \/ (((exists pfrep_gap_subtract_divides_left_targetsecondoutside. pfrep_gap_subtract_divides_left_targetsecondoutside+(L)=(pfrep_power_subtract_divides_left_target)) /\ (((pfrep_right_subtract_divides_left_target)=0))))) -> pfrep_left_subtract_divides_left_target=pfrep_right_subtract_divides_left_target))))))) -> (((forall fom_index_pfp_subtract_divides_right_canonical. (exists fom_gap_pfp_subtract_divides_right_canonical_index_bound. fom_gap_pfp_subtract_divides_right_canonical_index_bound + S (fom_index_pfp_subtract_divides_right_canonical) = M) -> exists fom_value_pfp_subtract_divides_right_canonical. ((((exists fom_beta_height_pfp_subtract_divides_right_canonical_entry. fom_beta_height_pfp_subtract_divides_right_canonical_entry + S (fom_value_pfp_subtract_divides_right_canonical) = S ((S (fom_index_pfp_subtract_divides_right_canonical)) * bc)) /\ exists fom_beta_quotient_pfp_subtract_divides_right_canonical_entry. bb = fom_beta_quotient_pfp_subtract_divides_right_canonical_entry * S ((S (fom_index_pfp_subtract_divides_right_canonical)) * bc) + (fom_value_pfp_subtract_divides_right_canonical))) /\ (exists fom_gap_pfp_subtract_divides_right_canonical_value_bound. fom_gap_pfp_subtract_divides_right_canonical_value_bound + S (fom_value_pfp_subtract_divides_right_canonical) = p))) /\ ((exists pfrd_qb_subtract_divides_right pfrd_qc_subtract_divides_right pfrd_qlen_subtract_divides_right pfrd_pb_subtract_divides_right pfrd_pc_subtract_divides_right pfrd_plen_subtract_divides_right. ((((forall fom_index_pfp_subtract_divides_right_productleft. (exists fom_gap_pfp_subtract_divides_right_productleft_index_bound. fom_gap_pfp_subtract_divides_right_productleft_index_bound + S (fom_index_pfp_subtract_divides_right_productleft) = pfrd_qlen_subtract_divides_right) -> exists fom_value_pfp_subtract_divides_right_productleft. ((((exists fom_beta_height_pfp_subtract_divides_right_productleft_entry. fom_beta_height_pfp_subtract_divides_right_productleft_entry + S (fom_value_pfp_subtract_divides_right_productleft) = S ((S (fom_index_pfp_subtract_divides_right_productleft)) * pfrd_qc_subtract_divides_right)) /\ exists fom_beta_quotient_pfp_subtract_divides_right_productleft_entry. pfrd_qb_subtract_divides_right = fom_beta_quotient_pfp_subtract_divides_right_productleft_entry * S ((S (fom_index_pfp_subtract_divides_right_productleft)) * pfrd_qc_subtract_divides_right) + (fom_value_pfp_subtract_divides_right_productleft))) /\ (exists fom_gap_pfp_subtract_divides_right_productleft_value_bound. fom_gap_pfp_subtract_divides_right_productleft_value_bound + S (fom_value_pfp_subtract_divides_right_productleft) = p))) /\ (((forall fom_index_pfp_subtract_divides_right_productright. (exists fom_gap_pfp_subtract_divides_right_productright_index_bound. fom_gap_pfp_subtract_divides_right_productright_index_bound + S (fom_index_pfp_subtract_divides_right_productright) = J) -> exists fom_value_pfp_subtract_divides_right_productright. ((((exists fom_beta_height_pfp_subtract_divides_right_productright_entry. fom_beta_height_pfp_subtract_divides_right_productright_entry + S (fom_value_pfp_subtract_divides_right_productright) = S ((S (fom_index_pfp_subtract_divides_right_productright)) * dc)) /\ exists fom_beta_quotient_pfp_subtract_divides_right_productright_entry. db = fom_beta_quotient_pfp_subtract_divides_right_productright_entry * S ((S (fom_index_pfp_subtract_divides_right_productright)) * dc) + (fom_value_pfp_subtract_divides_right_productright))) /\ (exists fom_gap_pfp_subtract_divides_right_productright_value_bound. fom_gap_pfp_subtract_divides_right_productright_value_bound + S (fom_value_pfp_subtract_divides_right_productright) = p))) /\ (((((((pfrd_qlen_subtract_divides_right)=0 \/ (J)=0) /\ (((pfrd_plen_subtract_divides_right)=0)))) \/ (((~((pfrd_qlen_subtract_divides_right)=0)) /\ (((~((J)=0)) /\ (((pfrd_qlen_subtract_divides_right)+(J)=S (pfrd_plen_subtract_divides_right)))))))) /\ ((forall pfc_index_subtract_divides_right_productcoefficients. (exists pfa_gap_subtract_divides_right_productcoefficientsbound. pfa_gap_subtract_divides_right_productcoefficientsbound + S (pfc_index_subtract_divides_right_productcoefficients) = (pfrd_plen_subtract_divides_right)) -> exists pfc_value_subtract_divides_right_productcoefficients. ((((exists ff_h_pfp_subtract_divides_right_productcoefficientsentry. ff_h_pfp_subtract_divides_right_productcoefficientsentry + S (pfc_value_subtract_divides_right_productcoefficients) = S ((S (pfc_index_subtract_divides_right_productcoefficients)) * pfrd_pc_subtract_divides_right)) /\ exists ff_q_pfp_subtract_divides_right_productcoefficientsentry. pfrd_pb_subtract_divides_right = ff_q_pfp_subtract_divides_right_productcoefficientsentry * S ((S (pfc_index_subtract_divides_right_productcoefficients)) * pfrd_pc_subtract_divides_right) + (pfc_value_subtract_divides_right_productcoefficients))) /\ ((exists pfc_terms_code_subtract_divides_right_productcoefficientscoefficient pfc_terms_scale_subtract_divides_right_productcoefficientscoefficient pfc_natural_sum_subtract_divides_right_productcoefficientscoefficient. ((forall pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal. (exists pfa_gap_subtract_divides_right_productcoefficientscoefficientdiagonalbound. pfa_gap_subtract_divides_right_productcoefficientscoefficientdiagonalbound + S (pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal) = (S (pfc_index_subtract_divides_right_productcoefficients))) -> exists pfc_value_subtract_divides_right_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_subtract_divides_right_productcoefficientscoefficientdiagonalentry. ff_h_pfp_subtract_divides_right_productcoefficientscoefficientdiagonalentry + S (pfc_value_subtract_divides_right_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_divides_right_productcoefficientscoefficient)) /\ exists ff_q_pfp_subtract_divides_right_productcoefficientscoefficientdiagonalentry. pfc_terms_code_subtract_divides_right_productcoefficientscoefficient = ff_q_pfp_subtract_divides_right_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_divides_right_productcoefficientscoefficient) + (pfc_value_subtract_divides_right_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_subtract_divides_right_productcoefficientscoefficientdiagonalterm pfc_left_subtract_divides_right_productcoefficientscoefficientdiagonalterm pfc_right_subtract_divides_right_productcoefficientscoefficientdiagonalterm. (((pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal)+pfc_complement_subtract_divides_right_productcoefficientscoefficientdiagonalterm=(pfc_index_subtract_divides_right_productcoefficients)) /\ ((((((exists pfa_gap_subtract_divides_right_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_subtract_divides_right_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal) = (pfrd_qlen_subtract_divides_right)) /\ ((((exists ff_h_pfp_subtract_divides_right_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_subtract_divides_right_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_subtract_divides_right_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal)) * pfrd_qc_subtract_divides_right)) /\ exists ff_q_pfp_subtract_divides_right_productcoefficientscoefficientdiagonaltermleftentry. pfrd_qb_subtract_divides_right = ff_q_pfp_subtract_divides_right_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal)) * pfrd_qc_subtract_divides_right) + (pfc_left_subtract_divides_right_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_divides_right_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_subtract_divides_right_productcoefficientscoefficientdiagonaltermleftoutside+(pfrd_qlen_subtract_divides_right)=(pfc_index_subtract_divides_right_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_subtract_divides_right_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_subtract_divides_right_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_subtract_divides_right_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_subtract_divides_right_productcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_subtract_divides_right_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_subtract_divides_right_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_subtract_divides_right_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_subtract_divides_right_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_subtract_divides_right_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_subtract_divides_right_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_subtract_divides_right_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_subtract_divides_right_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_divides_right_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_subtract_divides_right_productcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_subtract_divides_right_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_subtract_divides_right_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_subtract_divides_right_productcoefficientscoefficientdiagonal)=pfc_left_subtract_divides_right_productcoefficientscoefficientdiagonalterm*pfc_right_subtract_divides_right_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_subtract_divides_right_productcoefficientscoefficientsum fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum. ((((exists fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_start. fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_start. fs_u_pfc_subtract_divides_right_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_subtract_divides_right_productcoefficientscoefficient) = S ((S (S (pfc_index_subtract_divides_right_productcoefficients))) * fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_subtract_divides_right_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_subtract_divides_right_productcoefficients))) * fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum) + (pfc_natural_sum_subtract_divides_right_productcoefficientscoefficient))) /\ forall fs_i_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps = S (pfc_index_subtract_divides_right_productcoefficients)) -> exists fs_a_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps fs_r_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps fs_s_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_divides_right_productcoefficientscoefficient)) /\ exists fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_subtract_divides_right_productcoefficientscoefficient = fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_divides_right_productcoefficientscoefficient) + (fs_a_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_subtract_divides_right_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum) + (fs_r_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_subtract_divides_right_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_right_productcoefficientscoefficientsum) + (fs_s_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps = fs_r_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps + fs_a_pfc_subtract_divides_right_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_subtract_divides_right_productcoefficientscoefficientresiduebound. pfa_gap_subtract_divides_right_productcoefficientscoefficientresiduebound + S (pfc_value_subtract_divides_right_productcoefficients) = (p)) /\ ((exists pfa_offset_left_subtract_divides_right_productcoefficientscoefficientresiduecongruence pfa_offset_right_subtract_divides_right_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_subtract_divides_right_productcoefficientscoefficient) + (p) * pfa_offset_left_subtract_divides_right_productcoefficientscoefficientresiduecongruence = (pfc_value_subtract_divides_right_productcoefficients) + (p) * pfa_offset_right_subtract_divides_right_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_subtract_divides_right_target pfrep_left_subtract_divides_right_target pfrep_right_subtract_divides_right_target. ((exists pfrep_position_subtract_divides_right_targetfirst. ((pfrep_position_subtract_divides_right_targetfirst+S (pfrep_power_subtract_divides_right_target)=(pfrd_plen_subtract_divides_right)) /\ ((((exists ff_h_pfp_subtract_divides_right_targetfirstentry. ff_h_pfp_subtract_divides_right_targetfirstentry + S (pfrep_left_subtract_divides_right_target) = S ((S (pfrep_position_subtract_divides_right_targetfirst)) * pfrd_pc_subtract_divides_right)) /\ exists ff_q_pfp_subtract_divides_right_targetfirstentry. pfrd_pb_subtract_divides_right = ff_q_pfp_subtract_divides_right_targetfirstentry * S ((S (pfrep_position_subtract_divides_right_targetfirst)) * pfrd_pc_subtract_divides_right) + (pfrep_left_subtract_divides_right_target)))))) \/ (((exists pfrep_gap_subtract_divides_right_targetfirstoutside. pfrep_gap_subtract_divides_right_targetfirstoutside+(pfrd_plen_subtract_divides_right)=(pfrep_power_subtract_divides_right_target)) /\ (((pfrep_left_subtract_divides_right_target)=0))))) -> ((exists pfrep_position_subtract_divides_right_targetsecond. ((pfrep_position_subtract_divides_right_targetsecond+S (pfrep_power_subtract_divides_right_target)=(M)) /\ ((((exists ff_h_pfp_subtract_divides_right_targetsecondentry. ff_h_pfp_subtract_divides_right_targetsecondentry + S (pfrep_right_subtract_divides_right_target) = S ((S (pfrep_position_subtract_divides_right_targetsecond)) * bc)) /\ exists ff_q_pfp_subtract_divides_right_targetsecondentry. bb = ff_q_pfp_subtract_divides_right_targetsecondentry * S ((S (pfrep_position_subtract_divides_right_targetsecond)) * bc) + (pfrep_right_subtract_divides_right_target)))))) \/ (((exists pfrep_gap_subtract_divides_right_targetsecondoutside. pfrep_gap_subtract_divides_right_targetsecondoutside+(M)=(pfrep_power_subtract_divides_right_target)) /\ (((pfrep_right_subtract_divides_right_target)=0))))) -> pfrep_left_subtract_divides_right_target=pfrep_right_subtract_divides_right_target))))))) -> (((forall fom_index_pfp_subtract_divides_operation_left_bounded. (exists fom_gap_pfp_subtract_divides_operation_left_bounded_index_bound. fom_gap_pfp_subtract_divides_operation_left_bounded_index_bound + S (fom_index_pfp_subtract_divides_operation_left_bounded) = M) -> exists fom_value_pfp_subtract_divides_operation_left_bounded. ((((exists fom_beta_height_pfp_subtract_divides_operation_left_bounded_entry. fom_beta_height_pfp_subtract_divides_operation_left_bounded_entry + S (fom_value_pfp_subtract_divides_operation_left_bounded) = S ((S (fom_index_pfp_subtract_divides_operation_left_bounded)) * bc)) /\ exists fom_beta_quotient_pfp_subtract_divides_operation_left_bounded_entry. bb = fom_beta_quotient_pfp_subtract_divides_operation_left_bounded_entry * S ((S (fom_index_pfp_subtract_divides_operation_left_bounded)) * bc) + (fom_value_pfp_subtract_divides_operation_left_bounded))) /\ (exists fom_gap_pfp_subtract_divides_operation_left_bounded_value_bound. fom_gap_pfp_subtract_divides_operation_left_bounded_value_bound + S (fom_value_pfp_subtract_divides_operation_left_bounded) = p))) /\ (((forall fom_index_pfp_subtract_divides_operation_right_bounded. (exists fom_gap_pfp_subtract_divides_operation_right_bounded_index_bound. fom_gap_pfp_subtract_divides_operation_right_bounded_index_bound + S (fom_index_pfp_subtract_divides_operation_right_bounded) = N) -> exists fom_value_pfp_subtract_divides_operation_right_bounded. ((((exists fom_beta_height_pfp_subtract_divides_operation_right_bounded_entry. fom_beta_height_pfp_subtract_divides_operation_right_bounded_entry + S (fom_value_pfp_subtract_divides_operation_right_bounded) = S ((S (fom_index_pfp_subtract_divides_operation_right_bounded)) * rc)) /\ exists fom_beta_quotient_pfp_subtract_divides_operation_right_bounded_entry. rb = fom_beta_quotient_pfp_subtract_divides_operation_right_bounded_entry * S ((S (fom_index_pfp_subtract_divides_operation_right_bounded)) * rc) + (fom_value_pfp_subtract_divides_operation_right_bounded))) /\ (exists fom_gap_pfp_subtract_divides_operation_right_bounded_value_bound. fom_gap_pfp_subtract_divides_operation_right_bounded_value_bound + S (fom_value_pfp_subtract_divides_operation_right_bounded) = p))) /\ (((forall fom_index_pfp_subtract_divides_operation_result_bounded. (exists fom_gap_pfp_subtract_divides_operation_result_bounded_index_bound. fom_gap_pfp_subtract_divides_operation_result_bounded_index_bound + S (fom_index_pfp_subtract_divides_operation_result_bounded) = L) -> exists fom_value_pfp_subtract_divides_operation_result_bounded. ((((exists fom_beta_height_pfp_subtract_divides_operation_result_bounded_entry. fom_beta_height_pfp_subtract_divides_operation_result_bounded_entry + S (fom_value_pfp_subtract_divides_operation_result_bounded) = S ((S (fom_index_pfp_subtract_divides_operation_result_bounded)) * ac)) /\ exists fom_beta_quotient_pfp_subtract_divides_operation_result_bounded_entry. ab = fom_beta_quotient_pfp_subtract_divides_operation_result_bounded_entry * S ((S (fom_index_pfp_subtract_divides_operation_result_bounded)) * ac) + (fom_value_pfp_subtract_divides_operation_result_bounded))) /\ (exists fom_gap_pfp_subtract_divides_operation_result_bounded_value_bound. fom_gap_pfp_subtract_divides_operation_result_bounded_value_bound + S (fom_value_pfp_subtract_divides_operation_result_bounded) = p))) /\ ((exists pfaa_left_b_subtract_divides_operation pfaa_left_c_subtract_divides_operation pfaa_right_b_subtract_divides_operation pfaa_right_c_subtract_divides_operation pfaa_sum_b_subtract_divides_operation pfaa_sum_c_subtract_divides_operation pfaa_length_subtract_divides_operation. ((((forall pfrep_power_subtract_divides_operation_witness_common_left pfrep_left_subtract_divides_operation_witness_common_left pfrep_right_subtract_divides_operation_witness_common_left. ((exists pfrep_position_subtract_divides_operation_witness_common_leftfirst. ((pfrep_position_subtract_divides_operation_witness_common_leftfirst+S (pfrep_power_subtract_divides_operation_witness_common_left)=(M)) /\ ((((exists ff_h_pfp_subtract_divides_operation_witness_common_leftfirstentry. ff_h_pfp_subtract_divides_operation_witness_common_leftfirstentry + S (pfrep_left_subtract_divides_operation_witness_common_left) = S ((S (pfrep_position_subtract_divides_operation_witness_common_leftfirst)) * bc)) /\ exists ff_q_pfp_subtract_divides_operation_witness_common_leftfirstentry. bb = ff_q_pfp_subtract_divides_operation_witness_common_leftfirstentry * S ((S (pfrep_position_subtract_divides_operation_witness_common_leftfirst)) * bc) + (pfrep_left_subtract_divides_operation_witness_common_left)))))) \/ (((exists pfrep_gap_subtract_divides_operation_witness_common_leftfirstoutside. pfrep_gap_subtract_divides_operation_witness_common_leftfirstoutside+(M)=(pfrep_power_subtract_divides_operation_witness_common_left)) /\ (((pfrep_left_subtract_divides_operation_witness_common_left)=0))))) -> ((exists pfrep_position_subtract_divides_operation_witness_common_leftsecond. ((pfrep_position_subtract_divides_operation_witness_common_leftsecond+S (pfrep_power_subtract_divides_operation_witness_common_left)=(pfaa_length_subtract_divides_operation)) /\ ((((exists ff_h_pfp_subtract_divides_operation_witness_common_leftsecondentry. ff_h_pfp_subtract_divides_operation_witness_common_leftsecondentry + S (pfrep_right_subtract_divides_operation_witness_common_left) = S ((S (pfrep_position_subtract_divides_operation_witness_common_leftsecond)) * pfaa_left_c_subtract_divides_operation)) /\ exists ff_q_pfp_subtract_divides_operation_witness_common_leftsecondentry. pfaa_left_b_subtract_divides_operation = ff_q_pfp_subtract_divides_operation_witness_common_leftsecondentry * S ((S (pfrep_position_subtract_divides_operation_witness_common_leftsecond)) * pfaa_left_c_subtract_divides_operation) + (pfrep_right_subtract_divides_operation_witness_common_left)))))) \/ (((exists pfrep_gap_subtract_divides_operation_witness_common_leftsecondoutside. pfrep_gap_subtract_divides_operation_witness_common_leftsecondoutside+(pfaa_length_subtract_divides_operation)=(pfrep_power_subtract_divides_operation_witness_common_left)) /\ (((pfrep_right_subtract_divides_operation_witness_common_left)=0))))) -> pfrep_left_subtract_divides_operation_witness_common_left=pfrep_right_subtract_divides_operation_witness_common_left) /\ ((forall pfrep_power_subtract_divides_operation_witness_common_right pfrep_left_subtract_divides_operation_witness_common_right pfrep_right_subtract_divides_operation_witness_common_right. ((exists pfrep_position_subtract_divides_operation_witness_common_rightfirst. ((pfrep_position_subtract_divides_operation_witness_common_rightfirst+S (pfrep_power_subtract_divides_operation_witness_common_right)=(N)) /\ ((((exists ff_h_pfp_subtract_divides_operation_witness_common_rightfirstentry. ff_h_pfp_subtract_divides_operation_witness_common_rightfirstentry + S (pfrep_left_subtract_divides_operation_witness_common_right) = S ((S (pfrep_position_subtract_divides_operation_witness_common_rightfirst)) * rc)) /\ exists ff_q_pfp_subtract_divides_operation_witness_common_rightfirstentry. rb = ff_q_pfp_subtract_divides_operation_witness_common_rightfirstentry * S ((S (pfrep_position_subtract_divides_operation_witness_common_rightfirst)) * rc) + (pfrep_left_subtract_divides_operation_witness_common_right)))))) \/ (((exists pfrep_gap_subtract_divides_operation_witness_common_rightfirstoutside. pfrep_gap_subtract_divides_operation_witness_common_rightfirstoutside+(N)=(pfrep_power_subtract_divides_operation_witness_common_right)) /\ (((pfrep_left_subtract_divides_operation_witness_common_right)=0))))) -> ((exists pfrep_position_subtract_divides_operation_witness_common_rightsecond. ((pfrep_position_subtract_divides_operation_witness_common_rightsecond+S (pfrep_power_subtract_divides_operation_witness_common_right)=(pfaa_length_subtract_divides_operation)) /\ ((((exists ff_h_pfp_subtract_divides_operation_witness_common_rightsecondentry. ff_h_pfp_subtract_divides_operation_witness_common_rightsecondentry + S (pfrep_right_subtract_divides_operation_witness_common_right) = S ((S (pfrep_position_subtract_divides_operation_witness_common_rightsecond)) * pfaa_right_c_subtract_divides_operation)) /\ exists ff_q_pfp_subtract_divides_operation_witness_common_rightsecondentry. pfaa_right_b_subtract_divides_operation = ff_q_pfp_subtract_divides_operation_witness_common_rightsecondentry * S ((S (pfrep_position_subtract_divides_operation_witness_common_rightsecond)) * pfaa_right_c_subtract_divides_operation) + (pfrep_right_subtract_divides_operation_witness_common_right)))))) \/ (((exists pfrep_gap_subtract_divides_operation_witness_common_rightsecondoutside. pfrep_gap_subtract_divides_operation_witness_common_rightsecondoutside+(pfaa_length_subtract_divides_operation)=(pfrep_power_subtract_divides_operation_witness_common_right)) /\ (((pfrep_right_subtract_divides_operation_witness_common_right)=0))))) -> pfrep_left_subtract_divides_operation_witness_common_right=pfrep_right_subtract_divides_operation_witness_common_right)))) /\ (((forall pfp_index_subtract_divides_operation_witness_operation. (exists pfa_gap_subtract_divides_operation_witness_operationindex. pfa_gap_subtract_divides_operation_witness_operationindex + S (pfp_index_subtract_divides_operation_witness_operation) = (pfaa_length_subtract_divides_operation)) -> exists pfp_left_subtract_divides_operation_witness_operation pfp_right_subtract_divides_operation_witness_operation pfp_value_subtract_divides_operation_witness_operation. ((((exists ff_h_pfp_subtract_divides_operation_witness_operationleft. ff_h_pfp_subtract_divides_operation_witness_operationleft + S (pfp_left_subtract_divides_operation_witness_operation) = S ((S (pfp_index_subtract_divides_operation_witness_operation)) * pfaa_left_c_subtract_divides_operation)) /\ exists ff_q_pfp_subtract_divides_operation_witness_operationleft. pfaa_left_b_subtract_divides_operation = ff_q_pfp_subtract_divides_operation_witness_operationleft * S ((S (pfp_index_subtract_divides_operation_witness_operation)) * pfaa_left_c_subtract_divides_operation) + (pfp_left_subtract_divides_operation_witness_operation))) /\ (((((exists ff_h_pfp_subtract_divides_operation_witness_operationright. ff_h_pfp_subtract_divides_operation_witness_operationright + S (pfp_right_subtract_divides_operation_witness_operation) = S ((S (pfp_index_subtract_divides_operation_witness_operation)) * pfaa_right_c_subtract_divides_operation)) /\ exists ff_q_pfp_subtract_divides_operation_witness_operationright. pfaa_right_b_subtract_divides_operation = ff_q_pfp_subtract_divides_operation_witness_operationright * S ((S (pfp_index_subtract_divides_operation_witness_operation)) * pfaa_right_c_subtract_divides_operation) + (pfp_right_subtract_divides_operation_witness_operation))) /\ (((((exists ff_h_pfp_subtract_divides_operation_witness_operationtarget. ff_h_pfp_subtract_divides_operation_witness_operationtarget + S (pfp_value_subtract_divides_operation_witness_operation) = S ((S (pfp_index_subtract_divides_operation_witness_operation)) * pfaa_sum_c_subtract_divides_operation)) /\ exists ff_q_pfp_subtract_divides_operation_witness_operationtarget. pfaa_sum_b_subtract_divides_operation = ff_q_pfp_subtract_divides_operation_witness_operationtarget * S ((S (pfp_index_subtract_divides_operation_witness_operation)) * pfaa_sum_c_subtract_divides_operation) + (pfp_value_subtract_divides_operation_witness_operation))) /\ ((((exists pfa_gap_subtract_divides_operation_witness_operationoperationleft. pfa_gap_subtract_divides_operation_witness_operationoperationleft + S (pfp_left_subtract_divides_operation_witness_operation) = (p)) /\ (((exists pfa_gap_subtract_divides_operation_witness_operationoperationright. pfa_gap_subtract_divides_operation_witness_operationoperationright + S (pfp_right_subtract_divides_operation_witness_operation) = (p)) /\ ((((exists pfa_gap_subtract_divides_operation_witness_operationoperationresultbound. pfa_gap_subtract_divides_operation_witness_operationoperationresultbound + S (pfp_value_subtract_divides_operation_witness_operation) = (p)) /\ ((exists pfa_offset_left_subtract_divides_operation_witness_operationoperationresultcongruence pfa_offset_right_subtract_divides_operation_witness_operationoperationresultcongruence. ((pfp_left_subtract_divides_operation_witness_operation) + (pfp_right_subtract_divides_operation_witness_operation)) + (p) * pfa_offset_left_subtract_divides_operation_witness_operationoperationresultcongruence = (pfp_value_subtract_divides_operation_witness_operation) + (p) * pfa_offset_right_subtract_divides_operation_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_subtract_divides_operation_witness_output pfrep_left_subtract_divides_operation_witness_output pfrep_right_subtract_divides_operation_witness_output. ((exists pfrep_position_subtract_divides_operation_witness_outputfirst. ((pfrep_position_subtract_divides_operation_witness_outputfirst+S (pfrep_power_subtract_divides_operation_witness_output)=(pfaa_length_subtract_divides_operation)) /\ ((((exists ff_h_pfp_subtract_divides_operation_witness_outputfirstentry. ff_h_pfp_subtract_divides_operation_witness_outputfirstentry + S (pfrep_left_subtract_divides_operation_witness_output) = S ((S (pfrep_position_subtract_divides_operation_witness_outputfirst)) * pfaa_sum_c_subtract_divides_operation)) /\ exists ff_q_pfp_subtract_divides_operation_witness_outputfirstentry. pfaa_sum_b_subtract_divides_operation = ff_q_pfp_subtract_divides_operation_witness_outputfirstentry * S ((S (pfrep_position_subtract_divides_operation_witness_outputfirst)) * pfaa_sum_c_subtract_divides_operation) + (pfrep_left_subtract_divides_operation_witness_output)))))) \/ (((exists pfrep_gap_subtract_divides_operation_witness_outputfirstoutside. pfrep_gap_subtract_divides_operation_witness_outputfirstoutside+(pfaa_length_subtract_divides_operation)=(pfrep_power_subtract_divides_operation_witness_output)) /\ (((pfrep_left_subtract_divides_operation_witness_output)=0))))) -> ((exists pfrep_position_subtract_divides_operation_witness_outputsecond. ((pfrep_position_subtract_divides_operation_witness_outputsecond+S (pfrep_power_subtract_divides_operation_witness_output)=(L)) /\ ((((exists ff_h_pfp_subtract_divides_operation_witness_outputsecondentry. ff_h_pfp_subtract_divides_operation_witness_outputsecondentry + S (pfrep_right_subtract_divides_operation_witness_output) = S ((S (pfrep_position_subtract_divides_operation_witness_outputsecond)) * ac)) /\ exists ff_q_pfp_subtract_divides_operation_witness_outputsecondentry. ab = ff_q_pfp_subtract_divides_operation_witness_outputsecondentry * S ((S (pfrep_position_subtract_divides_operation_witness_outputsecond)) * ac) + (pfrep_right_subtract_divides_operation_witness_output)))))) \/ (((exists pfrep_gap_subtract_divides_operation_witness_outputsecondoutside. pfrep_gap_subtract_divides_operation_witness_outputsecondoutside+(L)=(pfrep_power_subtract_divides_operation_witness_output)) /\ (((pfrep_right_subtract_divides_operation_witness_output)=0))))) -> pfrep_left_subtract_divides_operation_witness_output=pfrep_right_subtract_divides_operation_witness_output))))))))))))) -> (((forall fom_index_pfp_subtract_divides_result_canonical. (exists fom_gap_pfp_subtract_divides_result_canonical_index_bound. fom_gap_pfp_subtract_divides_result_canonical_index_bound + S (fom_index_pfp_subtract_divides_result_canonical) = N) -> exists fom_value_pfp_subtract_divides_result_canonical. ((((exists fom_beta_height_pfp_subtract_divides_result_canonical_entry. fom_beta_height_pfp_subtract_divides_result_canonical_entry + S (fom_value_pfp_subtract_divides_result_canonical) = S ((S (fom_index_pfp_subtract_divides_result_canonical)) * rc)) /\ exists fom_beta_quotient_pfp_subtract_divides_result_canonical_entry. rb = fom_beta_quotient_pfp_subtract_divides_result_canonical_entry * S ((S (fom_index_pfp_subtract_divides_result_canonical)) * rc) + (fom_value_pfp_subtract_divides_result_canonical))) /\ (exists fom_gap_pfp_subtract_divides_result_canonical_value_bound. fom_gap_pfp_subtract_divides_result_canonical_value_bound + S (fom_value_pfp_subtract_divides_result_canonical) = p))) /\ ((exists pfrd_qb_subtract_divides_result pfrd_qc_subtract_divides_result pfrd_qlen_subtract_divides_result pfrd_pb_subtract_divides_result pfrd_pc_subtract_divides_result pfrd_plen_subtract_divides_result. ((((forall fom_index_pfp_subtract_divides_result_productleft. (exists fom_gap_pfp_subtract_divides_result_productleft_index_bound. fom_gap_pfp_subtract_divides_result_productleft_index_bound + S (fom_index_pfp_subtract_divides_result_productleft) = pfrd_qlen_subtract_divides_result) -> exists fom_value_pfp_subtract_divides_result_productleft. ((((exists fom_beta_height_pfp_subtract_divides_result_productleft_entry. fom_beta_height_pfp_subtract_divides_result_productleft_entry + S (fom_value_pfp_subtract_divides_result_productleft) = S ((S (fom_index_pfp_subtract_divides_result_productleft)) * pfrd_qc_subtract_divides_result)) /\ exists fom_beta_quotient_pfp_subtract_divides_result_productleft_entry. pfrd_qb_subtract_divides_result = fom_beta_quotient_pfp_subtract_divides_result_productleft_entry * S ((S (fom_index_pfp_subtract_divides_result_productleft)) * pfrd_qc_subtract_divides_result) + (fom_value_pfp_subtract_divides_result_productleft))) /\ (exists fom_gap_pfp_subtract_divides_result_productleft_value_bound. fom_gap_pfp_subtract_divides_result_productleft_value_bound + S (fom_value_pfp_subtract_divides_result_productleft) = p))) /\ (((forall fom_index_pfp_subtract_divides_result_productright. (exists fom_gap_pfp_subtract_divides_result_productright_index_bound. fom_gap_pfp_subtract_divides_result_productright_index_bound + S (fom_index_pfp_subtract_divides_result_productright) = J) -> exists fom_value_pfp_subtract_divides_result_productright. ((((exists fom_beta_height_pfp_subtract_divides_result_productright_entry. fom_beta_height_pfp_subtract_divides_result_productright_entry + S (fom_value_pfp_subtract_divides_result_productright) = S ((S (fom_index_pfp_subtract_divides_result_productright)) * dc)) /\ exists fom_beta_quotient_pfp_subtract_divides_result_productright_entry. db = fom_beta_quotient_pfp_subtract_divides_result_productright_entry * S ((S (fom_index_pfp_subtract_divides_result_productright)) * dc) + (fom_value_pfp_subtract_divides_result_productright))) /\ (exists fom_gap_pfp_subtract_divides_result_productright_value_bound. fom_gap_pfp_subtract_divides_result_productright_value_bound + S (fom_value_pfp_subtract_divides_result_productright) = p))) /\ (((((((pfrd_qlen_subtract_divides_result)=0 \/ (J)=0) /\ (((pfrd_plen_subtract_divides_result)=0)))) \/ (((~((pfrd_qlen_subtract_divides_result)=0)) /\ (((~((J)=0)) /\ (((pfrd_qlen_subtract_divides_result)+(J)=S (pfrd_plen_subtract_divides_result)))))))) /\ ((forall pfc_index_subtract_divides_result_productcoefficients. (exists pfa_gap_subtract_divides_result_productcoefficientsbound. pfa_gap_subtract_divides_result_productcoefficientsbound + S (pfc_index_subtract_divides_result_productcoefficients) = (pfrd_plen_subtract_divides_result)) -> exists pfc_value_subtract_divides_result_productcoefficients. ((((exists ff_h_pfp_subtract_divides_result_productcoefficientsentry. ff_h_pfp_subtract_divides_result_productcoefficientsentry + S (pfc_value_subtract_divides_result_productcoefficients) = S ((S (pfc_index_subtract_divides_result_productcoefficients)) * pfrd_pc_subtract_divides_result)) /\ exists ff_q_pfp_subtract_divides_result_productcoefficientsentry. pfrd_pb_subtract_divides_result = ff_q_pfp_subtract_divides_result_productcoefficientsentry * S ((S (pfc_index_subtract_divides_result_productcoefficients)) * pfrd_pc_subtract_divides_result) + (pfc_value_subtract_divides_result_productcoefficients))) /\ ((exists pfc_terms_code_subtract_divides_result_productcoefficientscoefficient pfc_terms_scale_subtract_divides_result_productcoefficientscoefficient pfc_natural_sum_subtract_divides_result_productcoefficientscoefficient. ((forall pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal. (exists pfa_gap_subtract_divides_result_productcoefficientscoefficientdiagonalbound. pfa_gap_subtract_divides_result_productcoefficientscoefficientdiagonalbound + S (pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal) = (S (pfc_index_subtract_divides_result_productcoefficients))) -> exists pfc_value_subtract_divides_result_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_subtract_divides_result_productcoefficientscoefficientdiagonalentry. ff_h_pfp_subtract_divides_result_productcoefficientscoefficientdiagonalentry + S (pfc_value_subtract_divides_result_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_divides_result_productcoefficientscoefficient)) /\ exists ff_q_pfp_subtract_divides_result_productcoefficientscoefficientdiagonalentry. pfc_terms_code_subtract_divides_result_productcoefficientscoefficient = ff_q_pfp_subtract_divides_result_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_divides_result_productcoefficientscoefficient) + (pfc_value_subtract_divides_result_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_subtract_divides_result_productcoefficientscoefficientdiagonalterm pfc_left_subtract_divides_result_productcoefficientscoefficientdiagonalterm pfc_right_subtract_divides_result_productcoefficientscoefficientdiagonalterm. (((pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal)+pfc_complement_subtract_divides_result_productcoefficientscoefficientdiagonalterm=(pfc_index_subtract_divides_result_productcoefficients)) /\ ((((((exists pfa_gap_subtract_divides_result_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_subtract_divides_result_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal) = (pfrd_qlen_subtract_divides_result)) /\ ((((exists ff_h_pfp_subtract_divides_result_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_subtract_divides_result_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_subtract_divides_result_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal)) * pfrd_qc_subtract_divides_result)) /\ exists ff_q_pfp_subtract_divides_result_productcoefficientscoefficientdiagonaltermleftentry. pfrd_qb_subtract_divides_result = ff_q_pfp_subtract_divides_result_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal)) * pfrd_qc_subtract_divides_result) + (pfc_left_subtract_divides_result_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_divides_result_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_subtract_divides_result_productcoefficientscoefficientdiagonaltermleftoutside+(pfrd_qlen_subtract_divides_result)=(pfc_index_subtract_divides_result_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_subtract_divides_result_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_subtract_divides_result_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_subtract_divides_result_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_subtract_divides_result_productcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_subtract_divides_result_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_subtract_divides_result_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_subtract_divides_result_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_subtract_divides_result_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_subtract_divides_result_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_subtract_divides_result_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_subtract_divides_result_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_subtract_divides_result_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_divides_result_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_subtract_divides_result_productcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_subtract_divides_result_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_subtract_divides_result_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_subtract_divides_result_productcoefficientscoefficientdiagonal)=pfc_left_subtract_divides_result_productcoefficientscoefficientdiagonalterm*pfc_right_subtract_divides_result_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_subtract_divides_result_productcoefficientscoefficientsum fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum. ((((exists fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_start. fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_start. fs_u_pfc_subtract_divides_result_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_subtract_divides_result_productcoefficientscoefficient) = S ((S (S (pfc_index_subtract_divides_result_productcoefficients))) * fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_subtract_divides_result_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_subtract_divides_result_productcoefficients))) * fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum) + (pfc_natural_sum_subtract_divides_result_productcoefficientscoefficient))) /\ forall fs_i_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps = S (pfc_index_subtract_divides_result_productcoefficients)) -> exists fs_a_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps fs_r_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps fs_s_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_divides_result_productcoefficientscoefficient)) /\ exists fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_subtract_divides_result_productcoefficientscoefficient = fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_divides_result_productcoefficientscoefficient) + (fs_a_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_subtract_divides_result_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum) + (fs_r_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_subtract_divides_result_productcoefficientscoefficientsum = fs_q_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_divides_result_productcoefficientscoefficientsum) + (fs_s_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps = fs_r_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps + fs_a_pfc_subtract_divides_result_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_subtract_divides_result_productcoefficientscoefficientresiduebound. pfa_gap_subtract_divides_result_productcoefficientscoefficientresiduebound + S (pfc_value_subtract_divides_result_productcoefficients) = (p)) /\ ((exists pfa_offset_left_subtract_divides_result_productcoefficientscoefficientresiduecongruence pfa_offset_right_subtract_divides_result_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_subtract_divides_result_productcoefficientscoefficient) + (p) * pfa_offset_left_subtract_divides_result_productcoefficientscoefficientresiduecongruence = (pfc_value_subtract_divides_result_productcoefficients) + (p) * pfa_offset_right_subtract_divides_result_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_subtract_divides_result_target pfrep_left_subtract_divides_result_target pfrep_right_subtract_divides_result_target. ((exists pfrep_position_subtract_divides_result_targetfirst. ((pfrep_position_subtract_divides_result_targetfirst+S (pfrep_power_subtract_divides_result_target)=(pfrd_plen_subtract_divides_result)) /\ ((((exists ff_h_pfp_subtract_divides_result_targetfirstentry. ff_h_pfp_subtract_divides_result_targetfirstentry + S (pfrep_left_subtract_divides_result_target) = S ((S (pfrep_position_subtract_divides_result_targetfirst)) * pfrd_pc_subtract_divides_result)) /\ exists ff_q_pfp_subtract_divides_result_targetfirstentry. pfrd_pb_subtract_divides_result = ff_q_pfp_subtract_divides_result_targetfirstentry * S ((S (pfrep_position_subtract_divides_result_targetfirst)) * pfrd_pc_subtract_divides_result) + (pfrep_left_subtract_divides_result_target)))))) \/ (((exists pfrep_gap_subtract_divides_result_targetfirstoutside. pfrep_gap_subtract_divides_result_targetfirstoutside+(pfrd_plen_subtract_divides_result)=(pfrep_power_subtract_divides_result_target)) /\ (((pfrep_left_subtract_divides_result_target)=0))))) -> ((exists pfrep_position_subtract_divides_result_targetsecond. ((pfrep_position_subtract_divides_result_targetsecond+S (pfrep_power_subtract_divides_result_target)=(N)) /\ ((((exists ff_h_pfp_subtract_divides_result_targetsecondentry. ff_h_pfp_subtract_divides_result_targetsecondentry + S (pfrep_right_subtract_divides_result_target) = S ((S (pfrep_position_subtract_divides_result_targetsecond)) * rc)) /\ exists ff_q_pfp_subtract_divides_result_targetsecondentry. rb = ff_q_pfp_subtract_divides_result_targetsecondentry * S ((S (pfrep_position_subtract_divides_result_targetsecond)) * rc) + (pfrep_right_subtract_divides_result_target)))))) \/ (((exists pfrep_gap_subtract_divides_result_targetsecondoutside. pfrep_gap_subtract_divides_result_targetsecondoutside+(N)=(pfrep_power_subtract_divides_result_target)) /\ (((pfrep_right_subtract_divides_result_target)=0))))) -> pfrep_left_subtract_divides_result_target=pfrep_right_subtract_divides_result_target)))))))

Constructive proof overview

Generated structural guide

A common actual right divisor divides the genuine aligned subtract: construct the corresponding quotient operation and its proper product, use checked right distributivity and compare real aligned sums.

The unchanged tactic script uses 12 declared prerequisites and contains 255 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_convolution_bounded Alpha theorem; checked-use authorized PG0045 prime_field_polynomial_aligned_subtract_exists PG003D prime_field_polynomial_aligned_add_bounded polynomial_product_length_exists Alpha theorem; checked-use authorized prime_field_polynomial_convolution_at_length_exists Alpha theorem; checked-use authorized PG004C prime_field_polynomial_aligned_convolution_right_add PG003F prime_field_polynomial_aligned_add_transport prime_field_polynomial_power_coefficient_functional Alpha theorem; checked-use authorized PG0046 prime_field_polynomial_aligned_add_cancel_left PG0026 prime_field_polynomial_right_divides_from_product prime_field_polynomial_equivalent_symmetric Alpha theorem; checked-use authorized

Direct 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

255 script commands · 40 reading checkpoints · 14 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Named ingredients (6)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–10

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro p
  2. L2
    intro db
  3. L3
    intro dc
  4. L4
    intro J
  5. L5
    intro ab
  6. L6
    intro ac
  7. L7
    intro L
  8. L8
    intro bb
  9. L9
    intro bc
  10. L10
    intro M
02Fix variables and assumptionsL11–17

Work with arbitrary variables or the premises of the current implication.

  1. L11
    intro rb
  2. L12
    intro rc
  3. L13
    intro N
  4. L14
    intro hp
  5. L15
    intro hDA
  6. L16
    intro hDB
  7. L17
    intro hop
03Establish hp0L18–23

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime nonzero.

  1. L18
    have hp0 : ~(p=0)
  2. L19
    intro hz
  3. L20
    specialize prime_nonzero (p)
  4. L21
    apply prime_nonzero
  5. L22
    exact hp
  6. L23
    exact hz
04Separate the logical casesL24–33

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L24
    cases hDA
  2. L25
    cases hDA_right
  3. L26
    cases hDA_right_witness
  4. L27
    cases hDA_right_witness_witness
  5. L28
    cases hDA_right_witness_witness_witness
  6. L29
    cases hDA_right_witness_witness_witness_witness
  7. L30
    cases hDA_right_witness_witness_witness_witness_witness
  8. L31
    cases hDA_right_witness_witness_witness_witness_witness_witness
  9. L32
    cases hDB
  10. L33
    cases hDB_right
05Separate the logical casesL34–39

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L34
    cases hDB_right_witness
  2. L35
    cases hDB_right_witness_witness
  3. L36
    cases hDB_right_witness_witness_witness
  4. L37
    cases hDB_right_witness_witness_witness_witness
  5. L38
    cases hDB_right_witness_witness_witness_witness_witness
  6. L39
    cases hDB_right_witness_witness_witness_witness_witness_witness
06Establish hfirstL40–41

Establish this local claim before using it. It is not an additional assumption.

  1. L40
    have hfirst : FpPolyProduct(p,x,x1,x2,db,dc,J,x3,x4,x5)Definitions: FpPolyProduct
  2. L41
    exact hDA_right_witness_witness_witness_witness_witness_witness_left
07Separate the logical casesL42–44

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L42
    cases hfirst
  2. L43
    cases hfirst_right
  3. L44
    cases hfirst_right_right
08Establish hfirst_boundedL45–54

Establish this local claim before using it. It is not an additional assumption.

  1. L45
    have hfirst_bounded : BetaPrefixInto(x3,x4,x5,p)Definitions: BetaPrefixInto
  2. L46
    specialize prime_field_polynomial_convolution_bounded (p)
  3. L47
    specialize prime_field_polynomial_convolution_bounded (x)
  4. L48
    specialize prime_field_polynomial_convolution_bounded (x1)
  5. L49
    specialize prime_field_polynomial_convolution_bounded (x2)
  6. L50
    specialize prime_field_polynomial_convolution_bounded (db)
  7. L51
    specialize prime_field_polynomial_convolution_bounded (dc)
  8. L52
    specialize prime_field_polynomial_convolution_bounded (J)
  9. L53
    specialize prime_field_polynomial_convolution_bounded (x3)
  10. L54
    specialize prime_field_polynomial_convolution_bounded (x4)
09Use earlier factsL55–57

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L55
    specialize prime_field_polynomial_convolution_bounded (x5)
  2. L56
    apply prime_field_polynomial_convolution_bounded
  3. L57
    exact hDA_right_witness_witness_witness_witness_witness_witness_left
10Establish hsecondL58–59

Establish this local claim before using it. It is not an additional assumption.

  1. L58
    have hsecond : FpPolyProduct(p,x6,x7,x8,db,dc,J,x9,x10,x11)Definitions: FpPolyProduct
  2. L59
    exact hDB_right_witness_witness_witness_witness_witness_witness_left
11Separate the logical casesL60–62

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L60
    cases hsecond
  2. L61
    cases hsecond_right
  3. L62
    cases hsecond_right_right
12Establish hsecond_boundedL63–72

Establish this local claim before using it. It is not an additional assumption.

  1. L63
    have hsecond_bounded : BetaPrefixInto(x9,x10,x11,p)Definitions: BetaPrefixInto
  2. L64
    specialize prime_field_polynomial_convolution_bounded (p)
  3. L65
    specialize prime_field_polynomial_convolution_bounded (x6)
  4. L66
    specialize prime_field_polynomial_convolution_bounded (x7)
  5. L67
    specialize prime_field_polynomial_convolution_bounded (x8)
  6. L68
    specialize prime_field_polynomial_convolution_bounded (db)
  7. L69
    specialize prime_field_polynomial_convolution_bounded (dc)
  8. L70
    specialize prime_field_polynomial_convolution_bounded (J)
  9. L71
    specialize prime_field_polynomial_convolution_bounded (x9)
  10. L72
    specialize prime_field_polynomial_convolution_bounded (x10)
13Use earlier factsL73–75

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L73
    specialize prime_field_polynomial_convolution_bounded (x11)
  2. L74
    apply prime_field_polynomial_convolution_bounded
  3. L75
    exact hDB_right_witness_witness_witness_witness_witness_witness_left
14Establish hwL76–85

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial aligned subtract exists.

  1. L76
    have hw : ∃ wb. ∃ wc. FpPolynomialAlignedAdd(p,x6,x7,x8,wb,wc,x2 + x8,x,x1,x2)Definitions: FpPolynomialAlignedAdd
  2. L77
    specialize prime_field_polynomial_aligned_subtract_exists (p)
  3. L78
    specialize prime_field_polynomial_aligned_subtract_exists (x)
  4. L79
    specialize prime_field_polynomial_aligned_subtract_exists (x1)
  5. L80
    specialize prime_field_polynomial_aligned_subtract_exists (x2)
  6. L81
    specialize prime_field_polynomial_aligned_subtract_exists (x6)
  7. L82
    specialize prime_field_polynomial_aligned_subtract_exists (x7)
  8. L83
    specialize prime_field_polynomial_aligned_subtract_exists (x8)
  9. L84
    apply prime_field_polynomial_aligned_subtract_exists
  10. L85
    exact hp
15Use earlier factsL86–87

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L86
    exact hfirst_left
  2. L87
    exact hsecond_left
16Separate the logical casesL88–89

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L88
    cases hw
  2. L89
    cases hw_witness
17Establish hwboundL90–99

Establish this local claim before using it. It is not an additional assumption.

  1. L90
    have hwbound : BetaPrefixInto(x6,x7,x8,p) ∧ (BetaPrefixInto(x12,x13,x2 + x8,p) ∧ BetaPrefixInto(x,x1,x2,p))Definitions: BetaPrefixInto
  2. L91
    specialize prime_field_polynomial_aligned_add_bounded (p)
  3. L92
    specialize prime_field_polynomial_aligned_add_bounded (x6)
  4. L93
    specialize prime_field_polynomial_aligned_add_bounded (x7)
  5. L94
    specialize prime_field_polynomial_aligned_add_bounded (x8)
  6. L95
    specialize prime_field_polynomial_aligned_add_bounded (x12)
  7. L96
    specialize prime_field_polynomial_aligned_add_bounded (x13)
  8. L97
    specialize prime_field_polynomial_aligned_add_bounded ((x2)+(x8))
  9. L98
    specialize prime_field_polynomial_aligned_add_bounded (x)
  10. L99
    specialize prime_field_polynomial_aligned_add_bounded (x1)
18Use earlier factsL100–102

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L100
    specialize prime_field_polynomial_aligned_add_bounded (x2)
  2. L101
    apply prime_field_polynomial_aligned_add_bounded
  3. L102
    exact hw_witness_witness
19Separate the logical casesL103–104

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L103
    cases hwbound
  2. L104
    cases hwbound_right
20Establish hresult_lengthL105–108

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial product length exists.

  1. L105
    have hresult_length : exists n. (((((x2)+(x8))=0 \/ (J)=0) /\ (((n)=0)))) \/ (((~(((x2)+(x8))=0)) /\ (((~((J)=0)) /\ ((((x2)+(x8))+(J)=S (n)))))))
  2. L106
    specialize polynomial_product_length_exists ((x2)+(x8))
  3. L107
    specialize polynomial_product_length_exists (J)
  4. L108
    apply polynomial_product_length_exists
21Separate the logical casesL109–109

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L109
    cases hresult_length
22Establish hresult_productL110–119

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.

  1. L110
    have hresult_product : ∃ b. ∃ c. FpPolyProduct(p,x12,x13,x2 + x8,db,dc,J,b,c,x14)Definitions: FpPolyProduct
  2. L111
    specialize prime_field_polynomial_convolution_at_length_exists (p)
  3. L112
    specialize prime_field_polynomial_convolution_at_length_exists (x12)
  4. L113
    specialize prime_field_polynomial_convolution_at_length_exists (x13)
  5. L114
    specialize prime_field_polynomial_convolution_at_length_exists ((x2)+(x8))
  6. L115
    specialize prime_field_polynomial_convolution_at_length_exists (db)
  7. L116
    specialize prime_field_polynomial_convolution_at_length_exists (dc)
  8. L117
    specialize prime_field_polynomial_convolution_at_length_exists (J)
  9. L118
    specialize prime_field_polynomial_convolution_at_length_exists (x14)
  10. L119
    apply prime_field_polynomial_convolution_at_length_exists
23Use earlier factsL120–123

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L120
    exact hp0
  2. L121
    exact hwbound_right_left
  3. L122
    exact hfirst_right_left
  4. L123
    exact hresult_length_witness
24Separate the logical casesL124–125

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L124
    cases hresult_product
  2. L125
    cases hresult_product_witness
25Establish htboundL126–135

Establish this local claim before using it. It is not an additional assumption.

  1. L126
    have htbound : BetaPrefixInto(x15,x16,x14,p)Definitions: BetaPrefixInto
  2. L127
    specialize prime_field_polynomial_convolution_bounded (p)
  3. L128
    specialize prime_field_polynomial_convolution_bounded (x12)
  4. L129
    specialize prime_field_polynomial_convolution_bounded (x13)
  5. L130
    specialize prime_field_polynomial_convolution_bounded ((x2)+(x8))
  6. L131
    specialize prime_field_polynomial_convolution_bounded (db)
  7. L132
    specialize prime_field_polynomial_convolution_bounded (dc)
  8. L133
    specialize prime_field_polynomial_convolution_bounded (J)
  9. L134
    specialize prime_field_polynomial_convolution_bounded (x15)
  10. L135
    specialize prime_field_polynomial_convolution_bounded (x16)
26Use earlier factsL136–138

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L136
    specialize prime_field_polynomial_convolution_bounded (x14)
  2. L137
    apply prime_field_polynomial_convolution_bounded
  3. L138
    exact hresult_product_witness_witness
27Establish hdistrL139–148

Establish this local claim before using it. It is not an additional assumption.

  1. L139
    have hdistr : FpPolynomialAlignedAdd(p,x9,x10,x11,x15,x16,x14,x3,x4,x5)Definitions: FpPolynomialAlignedAdd
  2. L140
    specialize prime_field_polynomial_aligned_convolution_right_add (p)
  3. L141
    specialize prime_field_polynomial_aligned_convolution_right_add (x6)
  4. L142
    specialize prime_field_polynomial_aligned_convolution_right_add (x7)
  5. L143
    specialize prime_field_polynomial_aligned_convolution_right_add (x8)
  6. L144
    specialize prime_field_polynomial_aligned_convolution_right_add (x12)
  7. L145
    specialize prime_field_polynomial_aligned_convolution_right_add (x13)
  8. L146
    specialize prime_field_polynomial_aligned_convolution_right_add ((x2)+(x8))
  9. L147
    specialize prime_field_polynomial_aligned_convolution_right_add (x)
  10. L148
    specialize prime_field_polynomial_aligned_convolution_right_add (x1)
28Use earlier factsL149–158

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L149
    specialize prime_field_polynomial_aligned_convolution_right_add (x2)
  2. L150
    specialize prime_field_polynomial_aligned_convolution_right_add (db)
  3. L151
    specialize prime_field_polynomial_aligned_convolution_right_add (dc)
  4. L152
    specialize prime_field_polynomial_aligned_convolution_right_add (J)
  5. L153
    specialize prime_field_polynomial_aligned_convolution_right_add (x9)
  6. L154
    specialize prime_field_polynomial_aligned_convolution_right_add (x10)
  7. L155
    specialize prime_field_polynomial_aligned_convolution_right_add (x11)
  8. L156
    specialize prime_field_polynomial_aligned_convolution_right_add (x15)
  9. L157
    specialize prime_field_polynomial_aligned_convolution_right_add (x16)
  10. L158
    specialize prime_field_polynomial_aligned_convolution_right_add (x14)
29Use earlier factsL159–167

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L159
    specialize prime_field_polynomial_aligned_convolution_right_add (x3)
  2. L160
    specialize prime_field_polynomial_aligned_convolution_right_add (x4)
  3. L161
    specialize prime_field_polynomial_aligned_convolution_right_add (x5)
  4. L162
    apply prime_field_polynomial_aligned_convolution_right_add
  5. L163
    exact hp
  6. L164
    exact hw_witness_witness
  7. L165
    exact hDB_right_witness_witness_witness_witness_witness_witness_left
  8. L166
    exact hresult_product_witness_witness
  9. L167
    exact hDA_right_witness_witness_witness_witness_witness_witness_left
30Establish hcompareL168–177

Establish this local claim before using it. It is not an additional assumption.

  1. L168
    have hcompare : FpPolynomialAlignedAdd(p,bb,bc,M,x15,x16,x14,ab,ac,L)Definitions: FpPolynomialAlignedAdd
  2. L169
    specialize prime_field_polynomial_aligned_add_transport (p)
  3. L170
    specialize prime_field_polynomial_aligned_add_transport (x9)
  4. L171
    specialize prime_field_polynomial_aligned_add_transport (x10)
  5. L172
    specialize prime_field_polynomial_aligned_add_transport (x11)
  6. L173
    specialize prime_field_polynomial_aligned_add_transport (x15)
  7. L174
    specialize prime_field_polynomial_aligned_add_transport (x16)
  8. L175
    specialize prime_field_polynomial_aligned_add_transport (x14)
  9. L176
    specialize prime_field_polynomial_aligned_add_transport (x3)
  10. L177
    specialize prime_field_polynomial_aligned_add_transport (x4)
31Use earlier factsL178–187

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L178
    specialize prime_field_polynomial_aligned_add_transport (x5)
  2. L179
    specialize prime_field_polynomial_aligned_add_transport (bb)
  3. L180
    specialize prime_field_polynomial_aligned_add_transport (bc)
  4. L181
    specialize prime_field_polynomial_aligned_add_transport (M)
  5. L182
    specialize prime_field_polynomial_aligned_add_transport (x15)
  6. L183
    specialize prime_field_polynomial_aligned_add_transport (x16)
  7. L184
    specialize prime_field_polynomial_aligned_add_transport (x14)
  8. L185
    specialize prime_field_polynomial_aligned_add_transport (ab)
  9. L186
    specialize prime_field_polynomial_aligned_add_transport (ac)
  10. L187
    specialize prime_field_polynomial_aligned_add_transport (L)
32Use earlier factsL188–197

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L188
    apply prime_field_polynomial_aligned_add_transport
  2. L189
    exact hDB_left
  3. L190
    exact htbound
  4. L191
    exact hDA_left
  5. L192
    specialize prime_field_polynomial_equivalent_symmetric (x9)
  6. L193
    specialize prime_field_polynomial_equivalent_symmetric (x10)
  7. L194
    specialize prime_field_polynomial_equivalent_symmetric (x11)
  8. L195
    specialize prime_field_polynomial_equivalent_symmetric (bb)
  9. L196
    specialize prime_field_polynomial_equivalent_symmetric (bc)
  10. L197
    specialize prime_field_polynomial_equivalent_symmetric (M)
33Use earlier factsL198–205

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L198
    apply prime_field_polynomial_equivalent_symmetric
  2. L199
    exact hDB_right_witness_witness_witness_witness_witness_witness_right
  3. L200
    specialize prime_field_polynomial_power_coefficient_functional (x15)
  4. L201
    specialize prime_field_polynomial_power_coefficient_functional (x16)
  5. L202
    specialize prime_field_polynomial_power_coefficient_functional (x14)
  6. L203
    apply prime_field_polynomial_power_coefficient_functional
  7. L204
    exact hDA_right_witness_witness_witness_witness_witness_witness_right
  8. L205
    exact hdistr
34Establish heqL206–215

Establish this local claim before using it. It is not an additional assumption.

  1. L206
    have heq : PolynomialEquivalent(x15,x16,x14,rb,rc,N)Definitions: PolynomialEquivalent
  2. L207
    specialize prime_field_polynomial_aligned_add_cancel_left (p)
  3. L208
    specialize prime_field_polynomial_aligned_add_cancel_left (bb)
  4. L209
    specialize prime_field_polynomial_aligned_add_cancel_left (bc)
  5. L210
    specialize prime_field_polynomial_aligned_add_cancel_left (M)
  6. L211
    specialize prime_field_polynomial_aligned_add_cancel_left (x15)
  7. L212
    specialize prime_field_polynomial_aligned_add_cancel_left (x16)
  8. L213
    specialize prime_field_polynomial_aligned_add_cancel_left (x14)
  9. L214
    specialize prime_field_polynomial_aligned_add_cancel_left (rb)
  10. L215
    specialize prime_field_polynomial_aligned_add_cancel_left (rc)
35Use earlier factsL216–223

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L216
    specialize prime_field_polynomial_aligned_add_cancel_left (N)
  2. L217
    specialize prime_field_polynomial_aligned_add_cancel_left (ab)
  3. L218
    specialize prime_field_polynomial_aligned_add_cancel_left (ac)
  4. L219
    specialize prime_field_polynomial_aligned_add_cancel_left (L)
  5. L220
    apply prime_field_polynomial_aligned_add_cancel_left
  6. L221
    exact hp
  7. L222
    exact hcompare
  8. L223
    exact hop
36Establish hopboundL224–233

Establish this local claim before using it. It is not an additional assumption.

  1. L224
    have hopbound : BetaPrefixInto(bb,bc,M,p) ∧ (BetaPrefixInto(rb,rc,N,p) ∧ BetaPrefixInto(ab,ac,L,p))Definitions: BetaPrefixInto
  2. L225
    specialize prime_field_polynomial_aligned_add_bounded (p)
  3. L226
    specialize prime_field_polynomial_aligned_add_bounded (bb)
  4. L227
    specialize prime_field_polynomial_aligned_add_bounded (bc)
  5. L228
    specialize prime_field_polynomial_aligned_add_bounded (M)
  6. L229
    specialize prime_field_polynomial_aligned_add_bounded (rb)
  7. L230
    specialize prime_field_polynomial_aligned_add_bounded (rc)
  8. L231
    specialize prime_field_polynomial_aligned_add_bounded (N)
  9. L232
    specialize prime_field_polynomial_aligned_add_bounded (ab)
  10. L233
    specialize prime_field_polynomial_aligned_add_bounded (ac)
37Use earlier factsL234–236

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L234
    specialize prime_field_polynomial_aligned_add_bounded (L)
  2. L235
    apply prime_field_polynomial_aligned_add_bounded
  3. L236
    exact hop
38Separate the logical casesL237–238

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L237
    cases hopbound
  2. L238
    cases hopbound_right
39Use earlier factsL239–248

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L239
    specialize prime_field_polynomial_right_divides_from_product (p)
  2. L240
    specialize prime_field_polynomial_right_divides_from_product (db)
  3. L241
    specialize prime_field_polynomial_right_divides_from_product (dc)
  4. L242
    specialize prime_field_polynomial_right_divides_from_product (J)
  5. L243
    specialize prime_field_polynomial_right_divides_from_product (rb)
  6. L244
    specialize prime_field_polynomial_right_divides_from_product (rc)
  7. L245
    specialize prime_field_polynomial_right_divides_from_product (N)
  8. L246
    specialize prime_field_polynomial_right_divides_from_product (x12)
  9. L247
    specialize prime_field_polynomial_right_divides_from_product (x13)
  10. L248
    specialize prime_field_polynomial_right_divides_from_product ((x2)+(x8))
40Use earlier factsL249–255

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L249
    specialize prime_field_polynomial_right_divides_from_product (x15)
  2. L250
    specialize prime_field_polynomial_right_divides_from_product (x16)
  3. L251
    specialize prime_field_polynomial_right_divides_from_product (x14)
  4. L252
    apply prime_field_polynomial_right_divides_from_product
  5. L253
    exact hopbound_right_left
  6. L254
    exact hresult_product_witness_witness
  7. L255
    exact heq

Library-wide reading audit

Original exact command ledger · 255 lines
  1. 0001intro p
  2. 0002intro db
  3. 0003intro dc
  4. 0004intro J
  5. 0005intro ab
  6. 0006intro ac
  7. 0007intro L
  8. 0008intro bb
  9. 0009intro bc
  10. 0010intro M
  11. 0011intro rb
  12. 0012intro rc
  13. 0013intro N
  14. 0014intro hp
  15. 0015intro hDA
  16. 0016intro hDB
  17. 0017intro hop
  18. 0018have hp0 : ~(p=0)
  19. 0019intro hz
  20. 0020specialize prime_nonzero (p)
  21. 0021apply prime_nonzero
  22. 0022exact hp
  23. 0023exact hz
  24. 0024cases hDA
  25. 0025cases hDA_right
  26. 0026cases hDA_right_witness
  27. 0027cases hDA_right_witness_witness
  28. 0028cases hDA_right_witness_witness_witness
  29. 0029cases hDA_right_witness_witness_witness_witness
  30. 0030cases hDA_right_witness_witness_witness_witness_witness
  31. 0031cases hDA_right_witness_witness_witness_witness_witness_witness
  32. 0032cases hDB
  33. 0033cases hDB_right
  34. 0034cases hDB_right_witness
  35. 0035cases hDB_right_witness_witness
  36. 0036cases hDB_right_witness_witness_witness
  37. 0037cases hDB_right_witness_witness_witness_witness
  38. 0038cases hDB_right_witness_witness_witness_witness_witness
  39. 0039cases hDB_right_witness_witness_witness_witness_witness_witness
  40. 0040have hfirst : ((forall fom_index_pfp_subtract_hfirstleft. (exists fom_gap_pfp_subtract_hfirstleft_index_bound. fom_gap_pfp_subtract_hfirstleft_index_bound + S (fom_index_pfp_subtract_hfirstleft) = x2) -> exists fom_value_pfp_subtract_hfirstleft. ((((exists fom_beta_height_pfp_subtract_hfirstleft_entry. fom_beta_height_pfp_subtract_hfirstleft_entry + S (fom_value_pfp_subtract_hfirstleft) = S ((S (fom_index_pfp_subtract_hfirstleft)) * x1)) /\ exists fom_beta_quotient_pfp_subtract_hfirstleft_entry. x = fom_beta_quotient_pfp_subtract_hfirstleft_entry * S ((S (fom_index_pfp_subtract_hfirstleft)) * x1) + (fom_value_pfp_subtract_hfirstleft))) /\ (exists fom_gap_pfp_subtract_hfirstleft_value_bound. fom_gap_pfp_subtract_hfirstleft_value_bound + S (fom_value_pfp_subtract_hfirstleft) = p))) /\ (((forall fom_index_pfp_subtract_hfirstright. (exists fom_gap_pfp_subtract_hfirstright_index_bound. fom_gap_pfp_subtract_hfirstright_index_bound + S (fom_index_pfp_subtract_hfirstright) = J) -> exists fom_value_pfp_subtract_hfirstright. ((((exists fom_beta_height_pfp_subtract_hfirstright_entry. fom_beta_height_pfp_subtract_hfirstright_entry + S (fom_value_pfp_subtract_hfirstright) = S ((S (fom_index_pfp_subtract_hfirstright)) * dc)) /\ exists fom_beta_quotient_pfp_subtract_hfirstright_entry. db = fom_beta_quotient_pfp_subtract_hfirstright_entry * S ((S (fom_index_pfp_subtract_hfirstright)) * dc) + (fom_value_pfp_subtract_hfirstright))) /\ (exists fom_gap_pfp_subtract_hfirstright_value_bound. fom_gap_pfp_subtract_hfirstright_value_bound + S (fom_value_pfp_subtract_hfirstright) = p))) /\ (((((((x2)=0 \/ (J)=0) /\ (((x5)=0)))) \/ (((~((x2)=0)) /\ (((~((J)=0)) /\ (((x2)+(J)=S (x5)))))))) /\ ((forall pfc_index_subtract_hfirstcoefficients. (exists pfa_gap_subtract_hfirstcoefficientsbound. pfa_gap_subtract_hfirstcoefficientsbound + S (pfc_index_subtract_hfirstcoefficients) = (x5)) -> exists pfc_value_subtract_hfirstcoefficients. ((((exists ff_h_pfp_subtract_hfirstcoefficientsentry. ff_h_pfp_subtract_hfirstcoefficientsentry + S (pfc_value_subtract_hfirstcoefficients) = S ((S (pfc_index_subtract_hfirstcoefficients)) * x4)) /\ exists ff_q_pfp_subtract_hfirstcoefficientsentry. x3 = ff_q_pfp_subtract_hfirstcoefficientsentry * S ((S (pfc_index_subtract_hfirstcoefficients)) * x4) + (pfc_value_subtract_hfirstcoefficients))) /\ ((exists pfc_terms_code_subtract_hfirstcoefficientscoefficient pfc_terms_scale_subtract_hfirstcoefficientscoefficient pfc_natural_sum_subtract_hfirstcoefficientscoefficient. ((forall pfc_index_subtract_hfirstcoefficientscoefficientdiagonal. (exists pfa_gap_subtract_hfirstcoefficientscoefficientdiagonalbound. pfa_gap_subtract_hfirstcoefficientscoefficientdiagonalbound + S (pfc_index_subtract_hfirstcoefficientscoefficientdiagonal) = (S (pfc_index_subtract_hfirstcoefficients))) -> exists pfc_value_subtract_hfirstcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_subtract_hfirstcoefficientscoefficientdiagonalentry. ff_h_pfp_subtract_hfirstcoefficientscoefficientdiagonalentry + S (pfc_value_subtract_hfirstcoefficientscoefficientdiagonal) = S ((S (pfc_index_subtract_hfirstcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_hfirstcoefficientscoefficient)) /\ exists ff_q_pfp_subtract_hfirstcoefficientscoefficientdiagonalentry. pfc_terms_code_subtract_hfirstcoefficientscoefficient = ff_q_pfp_subtract_hfirstcoefficientscoefficientdiagonalentry * S ((S (pfc_index_subtract_hfirstcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_hfirstcoefficientscoefficient) + (pfc_value_subtract_hfirstcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_subtract_hfirstcoefficientscoefficientdiagonalterm pfc_left_subtract_hfirstcoefficientscoefficientdiagonalterm pfc_right_subtract_hfirstcoefficientscoefficientdiagonalterm. (((pfc_index_subtract_hfirstcoefficientscoefficientdiagonal)+pfc_complement_subtract_hfirstcoefficientscoefficientdiagonalterm=(pfc_index_subtract_hfirstcoefficients)) /\ ((((((exists pfa_gap_subtract_hfirstcoefficientscoefficientdiagonaltermleftinside. pfa_gap_subtract_hfirstcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_subtract_hfirstcoefficientscoefficientdiagonal) = (x2)) /\ ((((exists ff_h_pfp_subtract_hfirstcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_subtract_hfirstcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_subtract_hfirstcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_subtract_hfirstcoefficientscoefficientdiagonal)) * x1)) /\ exists ff_q_pfp_subtract_hfirstcoefficientscoefficientdiagonaltermleftentry. x = ff_q_pfp_subtract_hfirstcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_subtract_hfirstcoefficientscoefficientdiagonal)) * x1) + (pfc_left_subtract_hfirstcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_hfirstcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_subtract_hfirstcoefficientscoefficientdiagonaltermleftoutside+(x2)=(pfc_index_subtract_hfirstcoefficientscoefficientdiagonal)) /\ (((pfc_left_subtract_hfirstcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_subtract_hfirstcoefficientscoefficientdiagonaltermrightinside. pfa_gap_subtract_hfirstcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_subtract_hfirstcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_subtract_hfirstcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_subtract_hfirstcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_subtract_hfirstcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_subtract_hfirstcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_subtract_hfirstcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_subtract_hfirstcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_subtract_hfirstcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_subtract_hfirstcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_hfirstcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_subtract_hfirstcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_subtract_hfirstcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_subtract_hfirstcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_subtract_hfirstcoefficientscoefficientdiagonal)=pfc_left_subtract_hfirstcoefficientscoefficientdiagonalterm*pfc_right_subtract_hfirstcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_subtract_hfirstcoefficientscoefficientsum fs_v_pfc_subtract_hfirstcoefficientscoefficientsum. ((((exists fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_start. fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_subtract_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_start. fs_u_pfc_subtract_hfirstcoefficientscoefficientsum = fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_subtract_hfirstcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_terminal. fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_subtract_hfirstcoefficientscoefficient) = S ((S (S (pfc_index_subtract_hfirstcoefficients))) * fs_v_pfc_subtract_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_terminal. fs_u_pfc_subtract_hfirstcoefficientscoefficientsum = fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_subtract_hfirstcoefficients))) * fs_v_pfc_subtract_hfirstcoefficientscoefficientsum) + (pfc_natural_sum_subtract_hfirstcoefficientscoefficient))) /\ forall fs_i_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps = S (pfc_index_subtract_hfirstcoefficients)) -> exists fs_a_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps fs_r_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps fs_s_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_hfirstcoefficientscoefficient)) /\ exists fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_subtract_hfirstcoefficientscoefficient = fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_hfirstcoefficientscoefficient) + (fs_a_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_subtract_hfirstcoefficientscoefficientsum = fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_hfirstcoefficientscoefficientsum) + (fs_r_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_subtract_hfirstcoefficientscoefficientsum = fs_q_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_hfirstcoefficientscoefficientsum) + (fs_s_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps = fs_r_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps + fs_a_pfc_subtract_hfirstcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_subtract_hfirstcoefficientscoefficientresiduebound. pfa_gap_subtract_hfirstcoefficientscoefficientresiduebound + S (pfc_value_subtract_hfirstcoefficients) = (p)) /\ ((exists pfa_offset_left_subtract_hfirstcoefficientscoefficientresiduecongruence pfa_offset_right_subtract_hfirstcoefficientscoefficientresiduecongruence. (pfc_natural_sum_subtract_hfirstcoefficientscoefficient) + (p) * pfa_offset_left_subtract_hfirstcoefficientscoefficientresiduecongruence = (pfc_value_subtract_hfirstcoefficients) + (p) * pfa_offset_right_subtract_hfirstcoefficientscoefficientresiduecongruence))))))))))))))))))
  41. 0041exact hDA_right_witness_witness_witness_witness_witness_witness_left
  42. 0042cases hfirst
  43. 0043cases hfirst_right
  44. 0044cases hfirst_right_right
  45. 0045have hfirst_bounded : forall fom_index_pfp_subtract_hfirst_bounded. (exists fom_gap_pfp_subtract_hfirst_bounded_index_bound. fom_gap_pfp_subtract_hfirst_bounded_index_bound + S (fom_index_pfp_subtract_hfirst_bounded) = x5) -> exists fom_value_pfp_subtract_hfirst_bounded. ((((exists fom_beta_height_pfp_subtract_hfirst_bounded_entry. fom_beta_height_pfp_subtract_hfirst_bounded_entry + S (fom_value_pfp_subtract_hfirst_bounded) = S ((S (fom_index_pfp_subtract_hfirst_bounded)) * x4)) /\ exists fom_beta_quotient_pfp_subtract_hfirst_bounded_entry. x3 = fom_beta_quotient_pfp_subtract_hfirst_bounded_entry * S ((S (fom_index_pfp_subtract_hfirst_bounded)) * x4) + (fom_value_pfp_subtract_hfirst_bounded))) /\ (exists fom_gap_pfp_subtract_hfirst_bounded_value_bound. fom_gap_pfp_subtract_hfirst_bounded_value_bound + S (fom_value_pfp_subtract_hfirst_bounded) = p))
  46. 0046specialize prime_field_polynomial_convolution_bounded (p)
  47. 0047specialize prime_field_polynomial_convolution_bounded (x)
  48. 0048specialize prime_field_polynomial_convolution_bounded (x1)
  49. 0049specialize prime_field_polynomial_convolution_bounded (x2)
  50. 0050specialize prime_field_polynomial_convolution_bounded (db)
  51. 0051specialize prime_field_polynomial_convolution_bounded (dc)
  52. 0052specialize prime_field_polynomial_convolution_bounded (J)
  53. 0053specialize prime_field_polynomial_convolution_bounded (x3)
  54. 0054specialize prime_field_polynomial_convolution_bounded (x4)
  55. 0055specialize prime_field_polynomial_convolution_bounded (x5)
  56. 0056apply prime_field_polynomial_convolution_bounded
  57. 0057exact hDA_right_witness_witness_witness_witness_witness_witness_left
  58. 0058have hsecond : ((forall fom_index_pfp_subtract_hsecondleft. (exists fom_gap_pfp_subtract_hsecondleft_index_bound. fom_gap_pfp_subtract_hsecondleft_index_bound + S (fom_index_pfp_subtract_hsecondleft) = x8) -> exists fom_value_pfp_subtract_hsecondleft. ((((exists fom_beta_height_pfp_subtract_hsecondleft_entry. fom_beta_height_pfp_subtract_hsecondleft_entry + S (fom_value_pfp_subtract_hsecondleft) = S ((S (fom_index_pfp_subtract_hsecondleft)) * x7)) /\ exists fom_beta_quotient_pfp_subtract_hsecondleft_entry. x6 = fom_beta_quotient_pfp_subtract_hsecondleft_entry * S ((S (fom_index_pfp_subtract_hsecondleft)) * x7) + (fom_value_pfp_subtract_hsecondleft))) /\ (exists fom_gap_pfp_subtract_hsecondleft_value_bound. fom_gap_pfp_subtract_hsecondleft_value_bound + S (fom_value_pfp_subtract_hsecondleft) = p))) /\ (((forall fom_index_pfp_subtract_hsecondright. (exists fom_gap_pfp_subtract_hsecondright_index_bound. fom_gap_pfp_subtract_hsecondright_index_bound + S (fom_index_pfp_subtract_hsecondright) = J) -> exists fom_value_pfp_subtract_hsecondright. ((((exists fom_beta_height_pfp_subtract_hsecondright_entry. fom_beta_height_pfp_subtract_hsecondright_entry + S (fom_value_pfp_subtract_hsecondright) = S ((S (fom_index_pfp_subtract_hsecondright)) * dc)) /\ exists fom_beta_quotient_pfp_subtract_hsecondright_entry. db = fom_beta_quotient_pfp_subtract_hsecondright_entry * S ((S (fom_index_pfp_subtract_hsecondright)) * dc) + (fom_value_pfp_subtract_hsecondright))) /\ (exists fom_gap_pfp_subtract_hsecondright_value_bound. fom_gap_pfp_subtract_hsecondright_value_bound + S (fom_value_pfp_subtract_hsecondright) = p))) /\ (((((((x8)=0 \/ (J)=0) /\ (((x11)=0)))) \/ (((~((x8)=0)) /\ (((~((J)=0)) /\ (((x8)+(J)=S (x11)))))))) /\ ((forall pfc_index_subtract_hsecondcoefficients. (exists pfa_gap_subtract_hsecondcoefficientsbound. pfa_gap_subtract_hsecondcoefficientsbound + S (pfc_index_subtract_hsecondcoefficients) = (x11)) -> exists pfc_value_subtract_hsecondcoefficients. ((((exists ff_h_pfp_subtract_hsecondcoefficientsentry. ff_h_pfp_subtract_hsecondcoefficientsentry + S (pfc_value_subtract_hsecondcoefficients) = S ((S (pfc_index_subtract_hsecondcoefficients)) * x10)) /\ exists ff_q_pfp_subtract_hsecondcoefficientsentry. x9 = ff_q_pfp_subtract_hsecondcoefficientsentry * S ((S (pfc_index_subtract_hsecondcoefficients)) * x10) + (pfc_value_subtract_hsecondcoefficients))) /\ ((exists pfc_terms_code_subtract_hsecondcoefficientscoefficient pfc_terms_scale_subtract_hsecondcoefficientscoefficient pfc_natural_sum_subtract_hsecondcoefficientscoefficient. ((forall pfc_index_subtract_hsecondcoefficientscoefficientdiagonal. (exists pfa_gap_subtract_hsecondcoefficientscoefficientdiagonalbound. pfa_gap_subtract_hsecondcoefficientscoefficientdiagonalbound + S (pfc_index_subtract_hsecondcoefficientscoefficientdiagonal) = (S (pfc_index_subtract_hsecondcoefficients))) -> exists pfc_value_subtract_hsecondcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_subtract_hsecondcoefficientscoefficientdiagonalentry. ff_h_pfp_subtract_hsecondcoefficientscoefficientdiagonalentry + S (pfc_value_subtract_hsecondcoefficientscoefficientdiagonal) = S ((S (pfc_index_subtract_hsecondcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_hsecondcoefficientscoefficient)) /\ exists ff_q_pfp_subtract_hsecondcoefficientscoefficientdiagonalentry. pfc_terms_code_subtract_hsecondcoefficientscoefficient = ff_q_pfp_subtract_hsecondcoefficientscoefficientdiagonalentry * S ((S (pfc_index_subtract_hsecondcoefficientscoefficientdiagonal)) * pfc_terms_scale_subtract_hsecondcoefficientscoefficient) + (pfc_value_subtract_hsecondcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_subtract_hsecondcoefficientscoefficientdiagonalterm pfc_left_subtract_hsecondcoefficientscoefficientdiagonalterm pfc_right_subtract_hsecondcoefficientscoefficientdiagonalterm. (((pfc_index_subtract_hsecondcoefficientscoefficientdiagonal)+pfc_complement_subtract_hsecondcoefficientscoefficientdiagonalterm=(pfc_index_subtract_hsecondcoefficients)) /\ ((((((exists pfa_gap_subtract_hsecondcoefficientscoefficientdiagonaltermleftinside. pfa_gap_subtract_hsecondcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_subtract_hsecondcoefficientscoefficientdiagonal) = (x8)) /\ ((((exists ff_h_pfp_subtract_hsecondcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_subtract_hsecondcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_subtract_hsecondcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_subtract_hsecondcoefficientscoefficientdiagonal)) * x7)) /\ exists ff_q_pfp_subtract_hsecondcoefficientscoefficientdiagonaltermleftentry. x6 = ff_q_pfp_subtract_hsecondcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_subtract_hsecondcoefficientscoefficientdiagonal)) * x7) + (pfc_left_subtract_hsecondcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_hsecondcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_subtract_hsecondcoefficientscoefficientdiagonaltermleftoutside+(x8)=(pfc_index_subtract_hsecondcoefficientscoefficientdiagonal)) /\ (((pfc_left_subtract_hsecondcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_subtract_hsecondcoefficientscoefficientdiagonaltermrightinside. pfa_gap_subtract_hsecondcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_subtract_hsecondcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_subtract_hsecondcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_subtract_hsecondcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_subtract_hsecondcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_subtract_hsecondcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_subtract_hsecondcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_subtract_hsecondcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_subtract_hsecondcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_subtract_hsecondcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_subtract_hsecondcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_subtract_hsecondcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_subtract_hsecondcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_subtract_hsecondcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_subtract_hsecondcoefficientscoefficientdiagonal)=pfc_left_subtract_hsecondcoefficientscoefficientdiagonalterm*pfc_right_subtract_hsecondcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_subtract_hsecondcoefficientscoefficientsum fs_v_pfc_subtract_hsecondcoefficientscoefficientsum. ((((exists fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_start. fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_subtract_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_start. fs_u_pfc_subtract_hsecondcoefficientscoefficientsum = fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_subtract_hsecondcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_terminal. fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_subtract_hsecondcoefficientscoefficient) = S ((S (S (pfc_index_subtract_hsecondcoefficients))) * fs_v_pfc_subtract_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_terminal. fs_u_pfc_subtract_hsecondcoefficientscoefficientsum = fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_subtract_hsecondcoefficients))) * fs_v_pfc_subtract_hsecondcoefficientscoefficientsum) + (pfc_natural_sum_subtract_hsecondcoefficientscoefficient))) /\ forall fs_i_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps = S (pfc_index_subtract_hsecondcoefficients)) -> exists fs_a_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps fs_r_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps fs_s_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_hsecondcoefficientscoefficient)) /\ exists fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_subtract_hsecondcoefficientscoefficient = fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_subtract_hsecondcoefficientscoefficient) + (fs_a_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_subtract_hsecondcoefficientscoefficientsum = fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_hsecondcoefficientscoefficientsum) + (fs_r_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_subtract_hsecondcoefficientscoefficientsum = fs_q_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_subtract_hsecondcoefficientscoefficientsum) + (fs_s_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps = fs_r_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps + fs_a_pfc_subtract_hsecondcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_subtract_hsecondcoefficientscoefficientresiduebound. pfa_gap_subtract_hsecondcoefficientscoefficientresiduebound + S (pfc_value_subtract_hsecondcoefficients) = (p)) /\ ((exists pfa_offset_left_subtract_hsecondcoefficientscoefficientresiduecongruence pfa_offset_right_subtract_hsecondcoefficientscoefficientresiduecongruence. (pfc_natural_sum_subtract_hsecondcoefficientscoefficient) + (p) * pfa_offset_left_subtract_hsecondcoefficientscoefficientresiduecongruence = (pfc_value_subtract_hsecondcoefficients) + (p) * pfa_offset_right_subtract_hsecondcoefficientscoefficientresiduecongruence))))))))))))))))))
  59. 0059exact hDB_right_witness_witness_witness_witness_witness_witness_left
  60. 0060cases hsecond
  61. 0061cases hsecond_right
  62. 0062cases hsecond_right_right
  63. 0063have hsecond_bounded : forall fom_index_pfp_subtract_hsecond_bounded. (exists fom_gap_pfp_subtract_hsecond_bounded_index_bound. fom_gap_pfp_subtract_hsecond_bounded_index_bound + S (fom_index_pfp_subtract_hsecond_bounded) = x11) -> exists fom_value_pfp_subtract_hsecond_bounded. ((((exists fom_beta_height_pfp_subtract_hsecond_bounded_entry. fom_beta_height_pfp_subtract_hsecond_bounded_entry + S (fom_value_pfp_subtract_hsecond_bounded) = S ((S (fom_index_pfp_subtract_hsecond_bounded)) * x10)) /\ exists fom_beta_quotient_pfp_subtract_hsecond_bounded_entry. x9 = fom_beta_quotient_pfp_subtract_hsecond_bounded_entry * S ((S (fom_index_pfp_subtract_hsecond_bounded)) * x10) + (fom_value_pfp_subtract_hsecond_bounded))) /\ (exists fom_gap_pfp_subtract_hsecond_bounded_value_bound. fom_gap_pfp_subtract_hsecond_bounded_value_bound + S (fom_value_pfp_subtract_hsecond_bounded) = p))
  64. 0064specialize prime_field_polynomial_convolution_bounded (p)
  65. 0065specialize prime_field_polynomial_convolution_bounded (x6)
  66. 0066specialize prime_field_polynomial_convolution_bounded (x7)
  67. 0067specialize prime_field_polynomial_convolution_bounded (x8)
  68. 0068specialize prime_field_polynomial_convolution_bounded (db)
  69. 0069specialize prime_field_polynomial_convolution_bounded (dc)
  70. 0070specialize prime_field_polynomial_convolution_bounded (J)
  71. 0071specialize prime_field_polynomial_convolution_bounded (x9)
  72. 0072specialize prime_field_polynomial_convolution_bounded (x10)
  73. 0073specialize prime_field_polynomial_convolution_bounded (x11)
  74. 0074apply prime_field_polynomial_convolution_bounded
  75. 0075exact hDB_right_witness_witness_witness_witness_witness_witness_left
  76. 0076have hw : exists wb wc. ((forall fom_index_pfp_subtract_quotient_operation_left_bounded. (exists fom_gap_pfp_subtract_quotient_operation_left_bounded_index_bound. fom_gap_pfp_subtract_quotient_operation_left_bounded_index_bound + S (fom_index_pfp_subtract_quotient_operation_left_bounded) = x8) -> exists fom_value_pfp_subtract_quotient_operation_left_bounded. ((((exists fom_beta_height_pfp_subtract_quotient_operation_left_bounded_entry. fom_beta_height_pfp_subtract_quotient_operation_left_bounded_entry + S (fom_value_pfp_subtract_quotient_operation_left_bounded) = S ((S (fom_index_pfp_subtract_quotient_operation_left_bounded)) * x7)) /\ exists fom_beta_quotient_pfp_subtract_quotient_operation_left_bounded_entry. x6 = fom_beta_quotient_pfp_subtract_quotient_operation_left_bounded_entry * S ((S (fom_index_pfp_subtract_quotient_operation_left_bounded)) * x7) + (fom_value_pfp_subtract_quotient_operation_left_bounded))) /\ (exists fom_gap_pfp_subtract_quotient_operation_left_bounded_value_bound. fom_gap_pfp_subtract_quotient_operation_left_bounded_value_bound + S (fom_value_pfp_subtract_quotient_operation_left_bounded) = p))) /\ (((forall fom_index_pfp_subtract_quotient_operation_right_bounded. (exists fom_gap_pfp_subtract_quotient_operation_right_bounded_index_bound. fom_gap_pfp_subtract_quotient_operation_right_bounded_index_bound + S (fom_index_pfp_subtract_quotient_operation_right_bounded) = (x2)+(x8)) -> exists fom_value_pfp_subtract_quotient_operation_right_bounded. ((((exists fom_beta_height_pfp_subtract_quotient_operation_right_bounded_entry. fom_beta_height_pfp_subtract_quotient_operation_right_bounded_entry + S (fom_value_pfp_subtract_quotient_operation_right_bounded) = S ((S (fom_index_pfp_subtract_quotient_operation_right_bounded)) * wc)) /\ exists fom_beta_quotient_pfp_subtract_quotient_operation_right_bounded_entry. wb = fom_beta_quotient_pfp_subtract_quotient_operation_right_bounded_entry * S ((S (fom_index_pfp_subtract_quotient_operation_right_bounded)) * wc) + (fom_value_pfp_subtract_quotient_operation_right_bounded))) /\ (exists fom_gap_pfp_subtract_quotient_operation_right_bounded_value_bound. fom_gap_pfp_subtract_quotient_operation_right_bounded_value_bound + S (fom_value_pfp_subtract_quotient_operation_right_bounded) = p))) /\ (((forall fom_index_pfp_subtract_quotient_operation_result_bounded. (exists fom_gap_pfp_subtract_quotient_operation_result_bounded_index_bound. fom_gap_pfp_subtract_quotient_operation_result_bounded_index_bound + S (fom_index_pfp_subtract_quotient_operation_result_bounded) = x2) -> exists fom_value_pfp_subtract_quotient_operation_result_bounded. ((((exists fom_beta_height_pfp_subtract_quotient_operation_result_bounded_entry. fom_beta_height_pfp_subtract_quotient_operation_result_bounded_entry + S (fom_value_pfp_subtract_quotient_operation_result_bounded) = S ((S (fom_index_pfp_subtract_quotient_operation_result_bounded)) * x1)) /\ exists fom_beta_quotient_pfp_subtract_quotient_operation_result_bounded_entry. x = fom_beta_quotient_pfp_subtract_quotient_operation_result_bounded_entry * S ((S (fom_index_pfp_subtract_quotient_operation_result_bounded)) * x1) + (fom_value_pfp_subtract_quotient_operation_result_bounded))) /\ (exists fom_gap_pfp_subtract_quotient_operation_result_bounded_value_bound. fom_gap_pfp_subtract_quotient_operation_result_bounded_value_bound + S (fom_value_pfp_subtract_quotient_operation_result_bounded) = p))) /\ ((exists pfaa_left_b_subtract_quotient_operation pfaa_left_c_subtract_quotient_operation pfaa_right_b_subtract_quotient_operation pfaa_right_c_subtract_quotient_operation pfaa_sum_b_subtract_quotient_operation pfaa_sum_c_subtract_quotient_operation pfaa_length_subtract_quotient_operation. ((((forall pfrep_power_subtract_quotient_operation_witness_common_left pfrep_left_subtract_quotient_operation_witness_common_left pfrep_right_subtract_quotient_operation_witness_common_left. ((exists pfrep_position_subtract_quotient_operation_witness_common_leftfirst. ((pfrep_position_subtract_quotient_operation_witness_common_leftfirst+S (pfrep_power_subtract_quotient_operation_witness_common_left)=(x8)) /\ ((((exists ff_h_pfp_subtract_quotient_operation_witness_common_leftfirstentry. ff_h_pfp_subtract_quotient_operation_witness_common_leftfirstentry + S (pfrep_left_subtract_quotient_operation_witness_common_left) = S ((S (pfrep_position_subtract_quotient_operation_witness_common_leftfirst)) * x7)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_common_leftfirstentry. x6 = ff_q_pfp_subtract_quotient_operation_witness_common_leftfirstentry * S ((S (pfrep_position_subtract_quotient_operation_witness_common_leftfirst)) * x7) + (pfrep_left_subtract_quotient_operation_witness_common_left)))))) \/ (((exists pfrep_gap_subtract_quotient_operation_witness_common_leftfirstoutside. pfrep_gap_subtract_quotient_operation_witness_common_leftfirstoutside+(x8)=(pfrep_power_subtract_quotient_operation_witness_common_left)) /\ (((pfrep_left_subtract_quotient_operation_witness_common_left)=0))))) -> ((exists pfrep_position_subtract_quotient_operation_witness_common_leftsecond. ((pfrep_position_subtract_quotient_operation_witness_common_leftsecond+S (pfrep_power_subtract_quotient_operation_witness_common_left)=(pfaa_length_subtract_quotient_operation)) /\ ((((exists ff_h_pfp_subtract_quotient_operation_witness_common_leftsecondentry. ff_h_pfp_subtract_quotient_operation_witness_common_leftsecondentry + S (pfrep_right_subtract_quotient_operation_witness_common_left) = S ((S (pfrep_position_subtract_quotient_operation_witness_common_leftsecond)) * pfaa_left_c_subtract_quotient_operation)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_common_leftsecondentry. pfaa_left_b_subtract_quotient_operation = ff_q_pfp_subtract_quotient_operation_witness_common_leftsecondentry * S ((S (pfrep_position_subtract_quotient_operation_witness_common_leftsecond)) * pfaa_left_c_subtract_quotient_operation) + (pfrep_right_subtract_quotient_operation_witness_common_left)))))) \/ (((exists pfrep_gap_subtract_quotient_operation_witness_common_leftsecondoutside. pfrep_gap_subtract_quotient_operation_witness_common_leftsecondoutside+(pfaa_length_subtract_quotient_operation)=(pfrep_power_subtract_quotient_operation_witness_common_left)) /\ (((pfrep_right_subtract_quotient_operation_witness_common_left)=0))))) -> pfrep_left_subtract_quotient_operation_witness_common_left=pfrep_right_subtract_quotient_operation_witness_common_left) /\ ((forall pfrep_power_subtract_quotient_operation_witness_common_right pfrep_left_subtract_quotient_operation_witness_common_right pfrep_right_subtract_quotient_operation_witness_common_right. ((exists pfrep_position_subtract_quotient_operation_witness_common_rightfirst. ((pfrep_position_subtract_quotient_operation_witness_common_rightfirst+S (pfrep_power_subtract_quotient_operation_witness_common_right)=((x2)+(x8))) /\ ((((exists ff_h_pfp_subtract_quotient_operation_witness_common_rightfirstentry. ff_h_pfp_subtract_quotient_operation_witness_common_rightfirstentry + S (pfrep_left_subtract_quotient_operation_witness_common_right) = S ((S (pfrep_position_subtract_quotient_operation_witness_common_rightfirst)) * wc)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_common_rightfirstentry. wb = ff_q_pfp_subtract_quotient_operation_witness_common_rightfirstentry * S ((S (pfrep_position_subtract_quotient_operation_witness_common_rightfirst)) * wc) + (pfrep_left_subtract_quotient_operation_witness_common_right)))))) \/ (((exists pfrep_gap_subtract_quotient_operation_witness_common_rightfirstoutside. pfrep_gap_subtract_quotient_operation_witness_common_rightfirstoutside+((x2)+(x8))=(pfrep_power_subtract_quotient_operation_witness_common_right)) /\ (((pfrep_left_subtract_quotient_operation_witness_common_right)=0))))) -> ((exists pfrep_position_subtract_quotient_operation_witness_common_rightsecond. ((pfrep_position_subtract_quotient_operation_witness_common_rightsecond+S (pfrep_power_subtract_quotient_operation_witness_common_right)=(pfaa_length_subtract_quotient_operation)) /\ ((((exists ff_h_pfp_subtract_quotient_operation_witness_common_rightsecondentry. ff_h_pfp_subtract_quotient_operation_witness_common_rightsecondentry + S (pfrep_right_subtract_quotient_operation_witness_common_right) = S ((S (pfrep_position_subtract_quotient_operation_witness_common_rightsecond)) * pfaa_right_c_subtract_quotient_operation)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_common_rightsecondentry. pfaa_right_b_subtract_quotient_operation = ff_q_pfp_subtract_quotient_operation_witness_common_rightsecondentry * S ((S (pfrep_position_subtract_quotient_operation_witness_common_rightsecond)) * pfaa_right_c_subtract_quotient_operation) + (pfrep_right_subtract_quotient_operation_witness_common_right)))))) \/ (((exists pfrep_gap_subtract_quotient_operation_witness_common_rightsecondoutside. pfrep_gap_subtract_quotient_operation_witness_common_rightsecondoutside+(pfaa_length_subtract_quotient_operation)=(pfrep_power_subtract_quotient_operation_witness_common_right)) /\ (((pfrep_right_subtract_quotient_operation_witness_common_right)=0))))) -> pfrep_left_subtract_quotient_operation_witness_common_right=pfrep_right_subtract_quotient_operation_witness_common_right)))) /\ (((forall pfp_index_subtract_quotient_operation_witness_operation. (exists pfa_gap_subtract_quotient_operation_witness_operationindex. pfa_gap_subtract_quotient_operation_witness_operationindex + S (pfp_index_subtract_quotient_operation_witness_operation) = (pfaa_length_subtract_quotient_operation)) -> exists pfp_left_subtract_quotient_operation_witness_operation pfp_right_subtract_quotient_operation_witness_operation pfp_value_subtract_quotient_operation_witness_operation. ((((exists ff_h_pfp_subtract_quotient_operation_witness_operationleft. ff_h_pfp_subtract_quotient_operation_witness_operationleft + S (pfp_left_subtract_quotient_operation_witness_operation) = S ((S (pfp_index_subtract_quotient_operation_witness_operation)) * pfaa_left_c_subtract_quotient_operation)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_operationleft. pfaa_left_b_subtract_quotient_operation = ff_q_pfp_subtract_quotient_operation_witness_operationleft * S ((S (pfp_index_subtract_quotient_operation_witness_operation)) * pfaa_left_c_subtract_quotient_operation) + (pfp_left_subtract_quotient_operation_witness_operation))) /\ (((((exists ff_h_pfp_subtract_quotient_operation_witness_operationright. ff_h_pfp_subtract_quotient_operation_witness_operationright + S (pfp_right_subtract_quotient_operation_witness_operation) = S ((S (pfp_index_subtract_quotient_operation_witness_operation)) * pfaa_right_c_subtract_quotient_operation)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_operationright. pfaa_right_b_subtract_quotient_operation = ff_q_pfp_subtract_quotient_operation_witness_operationright * S ((S (pfp_index_subtract_quotient_operation_witness_operation)) * pfaa_right_c_subtract_quotient_operation) + (pfp_right_subtract_quotient_operation_witness_operation))) /\ (((((exists ff_h_pfp_subtract_quotient_operation_witness_operationtarget. ff_h_pfp_subtract_quotient_operation_witness_operationtarget + S (pfp_value_subtract_quotient_operation_witness_operation) = S ((S (pfp_index_subtract_quotient_operation_witness_operation)) * pfaa_sum_c_subtract_quotient_operation)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_operationtarget. pfaa_sum_b_subtract_quotient_operation = ff_q_pfp_subtract_quotient_operation_witness_operationtarget * S ((S (pfp_index_subtract_quotient_operation_witness_operation)) * pfaa_sum_c_subtract_quotient_operation) + (pfp_value_subtract_quotient_operation_witness_operation))) /\ ((((exists pfa_gap_subtract_quotient_operation_witness_operationoperationleft. pfa_gap_subtract_quotient_operation_witness_operationoperationleft + S (pfp_left_subtract_quotient_operation_witness_operation) = (p)) /\ (((exists pfa_gap_subtract_quotient_operation_witness_operationoperationright. pfa_gap_subtract_quotient_operation_witness_operationoperationright + S (pfp_right_subtract_quotient_operation_witness_operation) = (p)) /\ ((((exists pfa_gap_subtract_quotient_operation_witness_operationoperationresultbound. pfa_gap_subtract_quotient_operation_witness_operationoperationresultbound + S (pfp_value_subtract_quotient_operation_witness_operation) = (p)) /\ ((exists pfa_offset_left_subtract_quotient_operation_witness_operationoperationresultcongruence pfa_offset_right_subtract_quotient_operation_witness_operationoperationresultcongruence. ((pfp_left_subtract_quotient_operation_witness_operation) + (pfp_right_subtract_quotient_operation_witness_operation)) + (p) * pfa_offset_left_subtract_quotient_operation_witness_operationoperationresultcongruence = (pfp_value_subtract_quotient_operation_witness_operation) + (p) * pfa_offset_right_subtract_quotient_operation_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_subtract_quotient_operation_witness_output pfrep_left_subtract_quotient_operation_witness_output pfrep_right_subtract_quotient_operation_witness_output. ((exists pfrep_position_subtract_quotient_operation_witness_outputfirst. ((pfrep_position_subtract_quotient_operation_witness_outputfirst+S (pfrep_power_subtract_quotient_operation_witness_output)=(pfaa_length_subtract_quotient_operation)) /\ ((((exists ff_h_pfp_subtract_quotient_operation_witness_outputfirstentry. ff_h_pfp_subtract_quotient_operation_witness_outputfirstentry + S (pfrep_left_subtract_quotient_operation_witness_output) = S ((S (pfrep_position_subtract_quotient_operation_witness_outputfirst)) * pfaa_sum_c_subtract_quotient_operation)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_outputfirstentry. pfaa_sum_b_subtract_quotient_operation = ff_q_pfp_subtract_quotient_operation_witness_outputfirstentry * S ((S (pfrep_position_subtract_quotient_operation_witness_outputfirst)) * pfaa_sum_c_subtract_quotient_operation) + (pfrep_left_subtract_quotient_operation_witness_output)))))) \/ (((exists pfrep_gap_subtract_quotient_operation_witness_outputfirstoutside. pfrep_gap_subtract_quotient_operation_witness_outputfirstoutside+(pfaa_length_subtract_quotient_operation)=(pfrep_power_subtract_quotient_operation_witness_output)) /\ (((pfrep_left_subtract_quotient_operation_witness_output)=0))))) -> ((exists pfrep_position_subtract_quotient_operation_witness_outputsecond. ((pfrep_position_subtract_quotient_operation_witness_outputsecond+S (pfrep_power_subtract_quotient_operation_witness_output)=(x2)) /\ ((((exists ff_h_pfp_subtract_quotient_operation_witness_outputsecondentry. ff_h_pfp_subtract_quotient_operation_witness_outputsecondentry + S (pfrep_right_subtract_quotient_operation_witness_output) = S ((S (pfrep_position_subtract_quotient_operation_witness_outputsecond)) * x1)) /\ exists ff_q_pfp_subtract_quotient_operation_witness_outputsecondentry. x = ff_q_pfp_subtract_quotient_operation_witness_outputsecondentry * S ((S (pfrep_position_subtract_quotient_operation_witness_outputsecond)) * x1) + (pfrep_right_subtract_quotient_operation_witness_output)))))) \/ (((exists pfrep_gap_subtract_quotient_operation_witness_outputsecondoutside. pfrep_gap_subtract_quotient_operation_witness_outputsecondoutside+(x2)=(pfrep_power_subtract_quotient_operation_witness_output)) /\ (((pfrep_right_subtract_quotient_operation_witness_output)=0))))) -> pfrep_left_subtract_quotient_operation_witness_output=pfrep_right_subtract_quotient_operation_witness_output))))))))))))
  77. 0077specialize prime_field_polynomial_aligned_subtract_exists (p)
  78. 0078specialize prime_field_polynomial_aligned_subtract_exists (x)
  79. 0079specialize prime_field_polynomial_aligned_subtract_exists (x1)
  80. 0080specialize prime_field_polynomial_aligned_subtract_exists (x2)
  81. 0081specialize prime_field_polynomial_aligned_subtract_exists (x6)
  82. 0082specialize prime_field_polynomial_aligned_subtract_exists (x7)
  83. 0083specialize prime_field_polynomial_aligned_subtract_exists (x8)
  84. 0084apply prime_field_polynomial_aligned_subtract_exists
  85. 0085exact hp
  86. 0086exact hfirst_left
  87. 0087exact hsecond_left
  88. 0088cases hw
  89. 0089cases hw_witness
  90. 0090have hwbound : ((forall fom_index_pfp_subtract_quotient_bound_0. (exists fom_gap_pfp_subtract_quotient_bound_0_index_bound. fom_gap_pfp_subtract_quotient_bound_0_index_bound + S (fom_index_pfp_subtract_quotient_bound_0) = x8) -> exists fom_value_pfp_subtract_quotient_bound_0. ((((exists fom_beta_height_pfp_subtract_quotient_bound_0_entry. fom_beta_height_pfp_subtract_quotient_bound_0_entry + S (fom_value_pfp_subtract_quotient_bound_0) = S ((S (fom_index_pfp_subtract_quotient_bound_0)) * x7)) /\ exists fom_beta_quotient_pfp_subtract_quotient_bound_0_entry. x6 = fom_beta_quotient_pfp_subtract_quotient_bound_0_entry * S ((S (fom_index_pfp_subtract_quotient_bound_0)) * x7) + (fom_value_pfp_subtract_quotient_bound_0))) /\ (exists fom_gap_pfp_subtract_quotient_bound_0_value_bound. fom_gap_pfp_subtract_quotient_bound_0_value_bound + S (fom_value_pfp_subtract_quotient_bound_0) = p))) /\ (((forall fom_index_pfp_subtract_quotient_bound_1. (exists fom_gap_pfp_subtract_quotient_bound_1_index_bound. fom_gap_pfp_subtract_quotient_bound_1_index_bound + S (fom_index_pfp_subtract_quotient_bound_1) = (x2)+(x8)) -> exists fom_value_pfp_subtract_quotient_bound_1. ((((exists fom_beta_height_pfp_subtract_quotient_bound_1_entry. fom_beta_height_pfp_subtract_quotient_bound_1_entry + S (fom_value_pfp_subtract_quotient_bound_1) = S ((S (fom_index_pfp_subtract_quotient_bound_1)) * x13)) /\ exists fom_beta_quotient_pfp_subtract_quotient_bound_1_entry. x12 = fom_beta_quotient_pfp_subtract_quotient_bound_1_entry * S ((S (fom_index_pfp_subtract_quotient_bound_1)) * x13) + (fom_value_pfp_subtract_quotient_bound_1))) /\ (exists fom_gap_pfp_subtract_quotient_bound_1_value_bound. fom_gap_pfp_subtract_quotient_bound_1_value_bound + S (fom_value_pfp_subtract_quotient_bound_1) = p))) /\ ((forall fom_index_pfp_subtract_quotient_bound_2. (exists fom_gap_pfp_subtract_quotient_bound_2_index_bound. fom_gap_pfp_subtract_quotient_bound_2_index_bound + S (fom_index_pfp_subtract_quotient_bound_2) = x2) -> exists fom_value_pfp_subtract_quotient_bound_2. ((((exists fom_beta_height_pfp_subtract_quotient_bound_2_entry. fom_beta_height_pfp_subtract_quotient_bound_2_entry + S (fom_value_pfp_subtract_quotient_bound_2) = S ((S (fom_index_pfp_subtract_quotient_bound_2)) * x1)) /\ exists fom_beta_quotient_pfp_subtract_quotient_bound_2_entry. x = fom_beta_quotient_pfp_subtract_quotient_bound_2_entry * S ((S (fom_index_pfp_subtract_quotient_bound_2)) * x1) + (fom_value_pfp_subtract_quotient_bound_2))) /\ (exists fom_gap_pfp_subtract_quotient_bound_2_value_bound. fom_gap_pfp_subtract_quotient_bound_2_value_bound + S (fom_value_pfp_subtract_quotient_bound_2) = p)))))))
  91. 0091specialize prime_field_polynomial_aligned_add_bounded (p)
  92. 0092specialize prime_field_polynomial_aligned_add_bounded (x6)
  93. 0093specialize prime_field_polynomial_aligned_add_bounded (x7)
  94. 0094specialize prime_field_polynomial_aligned_add_bounded (x8)
  95. 0095specialize prime_field_polynomial_aligned_add_bounded (x12)
  96. 0096specialize prime_field_polynomial_aligned_add_bounded (x13)
  97. 0097specialize prime_field_polynomial_aligned_add_bounded ((x2)+(x8))
  98. 0098specialize prime_field_polynomial_aligned_add_bounded (x)
  99. 0099specialize prime_field_polynomial_aligned_add_bounded (x1)
  100. 0100specialize prime_field_polynomial_aligned_add_bounded (x2)
  101. 0101apply prime_field_polynomial_aligned_add_bounded
  102. 0102exact hw_witness_witness
  103. 0103cases hwbound
  104. 0104cases hwbound_right
  105. 0105have hresult_length : exists n. (((((x2)+(x8))=0 \/ (J)=0) /\ (((n)=0)))) \/ (((~(((x2)+(x8))=0)) /\ (((~((J)=0)) /\ ((((x2)+(x8))+(J)=S (n)))))))
  106. 0106specialize polynomial_product_length_exists ((x2)+(x8))
  107. 0107specialize polynomial_product_length_exists (J)
  108. 0108apply polynomial_product_length_exists
  109. 0109cases hresult_length
  110. 0110have hresult_product : exists b c. ((forall fom_index_pfp_hresult_productleft. (exists fom_gap_pfp_hresult_productleft_index_bound. fom_gap_pfp_hresult_productleft_index_bound + S (fom_index_pfp_hresult_productleft) = (x2)+(x8)) -> exists fom_value_pfp_hresult_productleft. ((((exists fom_beta_height_pfp_hresult_productleft_entry. fom_beta_height_pfp_hresult_productleft_entry + S (fom_value_pfp_hresult_productleft) = S ((S (fom_index_pfp_hresult_productleft)) * x13)) /\ exists fom_beta_quotient_pfp_hresult_productleft_entry. x12 = fom_beta_quotient_pfp_hresult_productleft_entry * S ((S (fom_index_pfp_hresult_productleft)) * x13) + (fom_value_pfp_hresult_productleft))) /\ (exists fom_gap_pfp_hresult_productleft_value_bound. fom_gap_pfp_hresult_productleft_value_bound + S (fom_value_pfp_hresult_productleft) = p))) /\ (((forall fom_index_pfp_hresult_productright. (exists fom_gap_pfp_hresult_productright_index_bound. fom_gap_pfp_hresult_productright_index_bound + S (fom_index_pfp_hresult_productright) = J) -> exists fom_value_pfp_hresult_productright. ((((exists fom_beta_height_pfp_hresult_productright_entry. fom_beta_height_pfp_hresult_productright_entry + S (fom_value_pfp_hresult_productright) = S ((S (fom_index_pfp_hresult_productright)) * dc)) /\ exists fom_beta_quotient_pfp_hresult_productright_entry. db = fom_beta_quotient_pfp_hresult_productright_entry * S ((S (fom_index_pfp_hresult_productright)) * dc) + (fom_value_pfp_hresult_productright))) /\ (exists fom_gap_pfp_hresult_productright_value_bound. fom_gap_pfp_hresult_productright_value_bound + S (fom_value_pfp_hresult_productright) = p))) /\ ((((((((x2)+(x8))=0 \/ (J)=0) /\ (((x14)=0)))) \/ (((~(((x2)+(x8))=0)) /\ (((~((J)=0)) /\ ((((x2)+(x8))+(J)=S (x14)))))))) /\ ((forall pfc_index_hresult_productcoefficients. (exists pfa_gap_hresult_productcoefficientsbound. pfa_gap_hresult_productcoefficientsbound + S (pfc_index_hresult_productcoefficients) = (x14)) -> exists pfc_value_hresult_productcoefficients. ((((exists ff_h_pfp_hresult_productcoefficientsentry. ff_h_pfp_hresult_productcoefficientsentry + S (pfc_value_hresult_productcoefficients) = S ((S (pfc_index_hresult_productcoefficients)) * c)) /\ exists ff_q_pfp_hresult_productcoefficientsentry. b = ff_q_pfp_hresult_productcoefficientsentry * S ((S (pfc_index_hresult_productcoefficients)) * c) + (pfc_value_hresult_productcoefficients))) /\ ((exists pfc_terms_code_hresult_productcoefficientscoefficient pfc_terms_scale_hresult_productcoefficientscoefficient pfc_natural_sum_hresult_productcoefficientscoefficient. ((forall pfc_index_hresult_productcoefficientscoefficientdiagonal. (exists pfa_gap_hresult_productcoefficientscoefficientdiagonalbound. pfa_gap_hresult_productcoefficientscoefficientdiagonalbound + S (pfc_index_hresult_productcoefficientscoefficientdiagonal) = (S (pfc_index_hresult_productcoefficients))) -> exists pfc_value_hresult_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_hresult_productcoefficientscoefficientdiagonalentry. ff_h_pfp_hresult_productcoefficientscoefficientdiagonalentry + S (pfc_value_hresult_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_hresult_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_hresult_productcoefficientscoefficient)) /\ exists ff_q_pfp_hresult_productcoefficientscoefficientdiagonalentry. pfc_terms_code_hresult_productcoefficientscoefficient = ff_q_pfp_hresult_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_hresult_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_hresult_productcoefficientscoefficient) + (pfc_value_hresult_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_hresult_productcoefficientscoefficientdiagonalterm pfc_left_hresult_productcoefficientscoefficientdiagonalterm pfc_right_hresult_productcoefficientscoefficientdiagonalterm. (((pfc_index_hresult_productcoefficientscoefficientdiagonal)+pfc_complement_hresult_productcoefficientscoefficientdiagonalterm=(pfc_index_hresult_productcoefficients)) /\ ((((((exists pfa_gap_hresult_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_hresult_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_hresult_productcoefficientscoefficientdiagonal) = ((x2)+(x8))) /\ ((((exists ff_h_pfp_hresult_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_hresult_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_hresult_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_hresult_productcoefficientscoefficientdiagonal)) * x13)) /\ exists ff_q_pfp_hresult_productcoefficientscoefficientdiagonaltermleftentry. x12 = ff_q_pfp_hresult_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_hresult_productcoefficientscoefficientdiagonal)) * x13) + (pfc_left_hresult_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_hresult_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_hresult_productcoefficientscoefficientdiagonaltermleftoutside+((x2)+(x8))=(pfc_index_hresult_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_hresult_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_hresult_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_hresult_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_hresult_productcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_hresult_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_hresult_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_hresult_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_hresult_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_hresult_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_hresult_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_hresult_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_hresult_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_hresult_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_hresult_productcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_hresult_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_hresult_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_hresult_productcoefficientscoefficientdiagonal)=pfc_left_hresult_productcoefficientscoefficientdiagonalterm*pfc_right_hresult_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_hresult_productcoefficientscoefficientsum fs_v_pfc_hresult_productcoefficientscoefficientsum. ((((exists fs_h_pfc_hresult_productcoefficientscoefficientsum_body_start. fs_h_pfc_hresult_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_hresult_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_hresult_productcoefficientscoefficientsum_body_start. fs_u_pfc_hresult_productcoefficientscoefficientsum = fs_q_pfc_hresult_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_hresult_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_hresult_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_hresult_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_hresult_productcoefficientscoefficient) = S ((S (S (pfc_index_hresult_productcoefficients))) * fs_v_pfc_hresult_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_hresult_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_hresult_productcoefficientscoefficientsum = fs_q_pfc_hresult_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_hresult_productcoefficients))) * fs_v_pfc_hresult_productcoefficientscoefficientsum) + (pfc_natural_sum_hresult_productcoefficientscoefficient))) /\ forall fs_i_pfc_hresult_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_hresult_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_hresult_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_hresult_productcoefficientscoefficientsum_body_steps = S (pfc_index_hresult_productcoefficients)) -> exists fs_a_pfc_hresult_productcoefficientscoefficientsum_body_steps fs_r_pfc_hresult_productcoefficientscoefficientsum_body_steps fs_s_pfc_hresult_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_hresult_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_hresult_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_hresult_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_hresult_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_hresult_productcoefficientscoefficient)) /\ exists fs_q_pfc_hresult_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_hresult_productcoefficientscoefficient = fs_q_pfc_hresult_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_hresult_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_hresult_productcoefficientscoefficient) + (fs_a_pfc_hresult_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_hresult_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_hresult_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_hresult_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_hresult_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_hresult_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_hresult_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_hresult_productcoefficientscoefficientsum = fs_q_pfc_hresult_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_hresult_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_hresult_productcoefficientscoefficientsum) + (fs_r_pfc_hresult_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_hresult_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_hresult_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_hresult_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_hresult_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_hresult_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_hresult_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_hresult_productcoefficientscoefficientsum = fs_q_pfc_hresult_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_hresult_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_hresult_productcoefficientscoefficientsum) + (fs_s_pfc_hresult_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_hresult_productcoefficientscoefficientsum_body_steps = fs_r_pfc_hresult_productcoefficientscoefficientsum_body_steps + fs_a_pfc_hresult_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_hresult_productcoefficientscoefficientresiduebound. pfa_gap_hresult_productcoefficientscoefficientresiduebound + S (pfc_value_hresult_productcoefficients) = (p)) /\ ((exists pfa_offset_left_hresult_productcoefficientscoefficientresiduecongruence pfa_offset_right_hresult_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_hresult_productcoefficientscoefficient) + (p) * pfa_offset_left_hresult_productcoefficientscoefficientresiduecongruence = (pfc_value_hresult_productcoefficients) + (p) * pfa_offset_right_hresult_productcoefficientscoefficientresiduecongruence))))))))))))))))))
  111. 0111specialize prime_field_polynomial_convolution_at_length_exists (p)
  112. 0112specialize prime_field_polynomial_convolution_at_length_exists (x12)
  113. 0113specialize prime_field_polynomial_convolution_at_length_exists (x13)
  114. 0114specialize prime_field_polynomial_convolution_at_length_exists ((x2)+(x8))
  115. 0115specialize prime_field_polynomial_convolution_at_length_exists (db)
  116. 0116specialize prime_field_polynomial_convolution_at_length_exists (dc)
  117. 0117specialize prime_field_polynomial_convolution_at_length_exists (J)
  118. 0118specialize prime_field_polynomial_convolution_at_length_exists (x14)
  119. 0119apply prime_field_polynomial_convolution_at_length_exists
  120. 0120exact hp0
  121. 0121exact hwbound_right_left
  122. 0122exact hfirst_right_left
  123. 0123exact hresult_length_witness
  124. 0124cases hresult_product
  125. 0125cases hresult_product_witness
  126. 0126have htbound : forall fom_index_pfp_subtract_result_bound. (exists fom_gap_pfp_subtract_result_bound_index_bound. fom_gap_pfp_subtract_result_bound_index_bound + S (fom_index_pfp_subtract_result_bound) = x14) -> exists fom_value_pfp_subtract_result_bound. ((((exists fom_beta_height_pfp_subtract_result_bound_entry. fom_beta_height_pfp_subtract_result_bound_entry + S (fom_value_pfp_subtract_result_bound) = S ((S (fom_index_pfp_subtract_result_bound)) * x16)) /\ exists fom_beta_quotient_pfp_subtract_result_bound_entry. x15 = fom_beta_quotient_pfp_subtract_result_bound_entry * S ((S (fom_index_pfp_subtract_result_bound)) * x16) + (fom_value_pfp_subtract_result_bound))) /\ (exists fom_gap_pfp_subtract_result_bound_value_bound. fom_gap_pfp_subtract_result_bound_value_bound + S (fom_value_pfp_subtract_result_bound) = p))
  127. 0127specialize prime_field_polynomial_convolution_bounded (p)
  128. 0128specialize prime_field_polynomial_convolution_bounded (x12)
  129. 0129specialize prime_field_polynomial_convolution_bounded (x13)
  130. 0130specialize prime_field_polynomial_convolution_bounded ((x2)+(x8))
  131. 0131specialize prime_field_polynomial_convolution_bounded (db)
  132. 0132specialize prime_field_polynomial_convolution_bounded (dc)
  133. 0133specialize prime_field_polynomial_convolution_bounded (J)
  134. 0134specialize prime_field_polynomial_convolution_bounded (x15)
  135. 0135specialize prime_field_polynomial_convolution_bounded (x16)
  136. 0136specialize prime_field_polynomial_convolution_bounded (x14)
  137. 0137apply prime_field_polynomial_convolution_bounded
  138. 0138exact hresult_product_witness_witness
  139. 0139have hdistr : ((forall fom_index_pfp_subtract_distribution_left_bounded. (exists fom_gap_pfp_subtract_distribution_left_bounded_index_bound. fom_gap_pfp_subtract_distribution_left_bounded_index_bound + S (fom_index_pfp_subtract_distribution_left_bounded) = x11) -> exists fom_value_pfp_subtract_distribution_left_bounded. ((((exists fom_beta_height_pfp_subtract_distribution_left_bounded_entry. fom_beta_height_pfp_subtract_distribution_left_bounded_entry + S (fom_value_pfp_subtract_distribution_left_bounded) = S ((S (fom_index_pfp_subtract_distribution_left_bounded)) * x10)) /\ exists fom_beta_quotient_pfp_subtract_distribution_left_bounded_entry. x9 = fom_beta_quotient_pfp_subtract_distribution_left_bounded_entry * S ((S (fom_index_pfp_subtract_distribution_left_bounded)) * x10) + (fom_value_pfp_subtract_distribution_left_bounded))) /\ (exists fom_gap_pfp_subtract_distribution_left_bounded_value_bound. fom_gap_pfp_subtract_distribution_left_bounded_value_bound + S (fom_value_pfp_subtract_distribution_left_bounded) = p))) /\ (((forall fom_index_pfp_subtract_distribution_right_bounded. (exists fom_gap_pfp_subtract_distribution_right_bounded_index_bound. fom_gap_pfp_subtract_distribution_right_bounded_index_bound + S (fom_index_pfp_subtract_distribution_right_bounded) = x14) -> exists fom_value_pfp_subtract_distribution_right_bounded. ((((exists fom_beta_height_pfp_subtract_distribution_right_bounded_entry. fom_beta_height_pfp_subtract_distribution_right_bounded_entry + S (fom_value_pfp_subtract_distribution_right_bounded) = S ((S (fom_index_pfp_subtract_distribution_right_bounded)) * x16)) /\ exists fom_beta_quotient_pfp_subtract_distribution_right_bounded_entry. x15 = fom_beta_quotient_pfp_subtract_distribution_right_bounded_entry * S ((S (fom_index_pfp_subtract_distribution_right_bounded)) * x16) + (fom_value_pfp_subtract_distribution_right_bounded))) /\ (exists fom_gap_pfp_subtract_distribution_right_bounded_value_bound. fom_gap_pfp_subtract_distribution_right_bounded_value_bound + S (fom_value_pfp_subtract_distribution_right_bounded) = p))) /\ (((forall fom_index_pfp_subtract_distribution_result_bounded. (exists fom_gap_pfp_subtract_distribution_result_bounded_index_bound. fom_gap_pfp_subtract_distribution_result_bounded_index_bound + S (fom_index_pfp_subtract_distribution_result_bounded) = x5) -> exists fom_value_pfp_subtract_distribution_result_bounded. ((((exists fom_beta_height_pfp_subtract_distribution_result_bounded_entry. fom_beta_height_pfp_subtract_distribution_result_bounded_entry + S (fom_value_pfp_subtract_distribution_result_bounded) = S ((S (fom_index_pfp_subtract_distribution_result_bounded)) * x4)) /\ exists fom_beta_quotient_pfp_subtract_distribution_result_bounded_entry. x3 = fom_beta_quotient_pfp_subtract_distribution_result_bounded_entry * S ((S (fom_index_pfp_subtract_distribution_result_bounded)) * x4) + (fom_value_pfp_subtract_distribution_result_bounded))) /\ (exists fom_gap_pfp_subtract_distribution_result_bounded_value_bound. fom_gap_pfp_subtract_distribution_result_bounded_value_bound + S (fom_value_pfp_subtract_distribution_result_bounded) = p))) /\ ((exists pfaa_left_b_subtract_distribution pfaa_left_c_subtract_distribution pfaa_right_b_subtract_distribution pfaa_right_c_subtract_distribution pfaa_sum_b_subtract_distribution pfaa_sum_c_subtract_distribution pfaa_length_subtract_distribution. ((((forall pfrep_power_subtract_distribution_witness_common_left pfrep_left_subtract_distribution_witness_common_left pfrep_right_subtract_distribution_witness_common_left. ((exists pfrep_position_subtract_distribution_witness_common_leftfirst. ((pfrep_position_subtract_distribution_witness_common_leftfirst+S (pfrep_power_subtract_distribution_witness_common_left)=(x11)) /\ ((((exists ff_h_pfp_subtract_distribution_witness_common_leftfirstentry. ff_h_pfp_subtract_distribution_witness_common_leftfirstentry + S (pfrep_left_subtract_distribution_witness_common_left) = S ((S (pfrep_position_subtract_distribution_witness_common_leftfirst)) * x10)) /\ exists ff_q_pfp_subtract_distribution_witness_common_leftfirstentry. x9 = ff_q_pfp_subtract_distribution_witness_common_leftfirstentry * S ((S (pfrep_position_subtract_distribution_witness_common_leftfirst)) * x10) + (pfrep_left_subtract_distribution_witness_common_left)))))) \/ (((exists pfrep_gap_subtract_distribution_witness_common_leftfirstoutside. pfrep_gap_subtract_distribution_witness_common_leftfirstoutside+(x11)=(pfrep_power_subtract_distribution_witness_common_left)) /\ (((pfrep_left_subtract_distribution_witness_common_left)=0))))) -> ((exists pfrep_position_subtract_distribution_witness_common_leftsecond. ((pfrep_position_subtract_distribution_witness_common_leftsecond+S (pfrep_power_subtract_distribution_witness_common_left)=(pfaa_length_subtract_distribution)) /\ ((((exists ff_h_pfp_subtract_distribution_witness_common_leftsecondentry. ff_h_pfp_subtract_distribution_witness_common_leftsecondentry + S (pfrep_right_subtract_distribution_witness_common_left) = S ((S (pfrep_position_subtract_distribution_witness_common_leftsecond)) * pfaa_left_c_subtract_distribution)) /\ exists ff_q_pfp_subtract_distribution_witness_common_leftsecondentry. pfaa_left_b_subtract_distribution = ff_q_pfp_subtract_distribution_witness_common_leftsecondentry * S ((S (pfrep_position_subtract_distribution_witness_common_leftsecond)) * pfaa_left_c_subtract_distribution) + (pfrep_right_subtract_distribution_witness_common_left)))))) \/ (((exists pfrep_gap_subtract_distribution_witness_common_leftsecondoutside. pfrep_gap_subtract_distribution_witness_common_leftsecondoutside+(pfaa_length_subtract_distribution)=(pfrep_power_subtract_distribution_witness_common_left)) /\ (((pfrep_right_subtract_distribution_witness_common_left)=0))))) -> pfrep_left_subtract_distribution_witness_common_left=pfrep_right_subtract_distribution_witness_common_left) /\ ((forall pfrep_power_subtract_distribution_witness_common_right pfrep_left_subtract_distribution_witness_common_right pfrep_right_subtract_distribution_witness_common_right. ((exists pfrep_position_subtract_distribution_witness_common_rightfirst. ((pfrep_position_subtract_distribution_witness_common_rightfirst+S (pfrep_power_subtract_distribution_witness_common_right)=(x14)) /\ ((((exists ff_h_pfp_subtract_distribution_witness_common_rightfirstentry. ff_h_pfp_subtract_distribution_witness_common_rightfirstentry + S (pfrep_left_subtract_distribution_witness_common_right) = S ((S (pfrep_position_subtract_distribution_witness_common_rightfirst)) * x16)) /\ exists ff_q_pfp_subtract_distribution_witness_common_rightfirstentry. x15 = ff_q_pfp_subtract_distribution_witness_common_rightfirstentry * S ((S (pfrep_position_subtract_distribution_witness_common_rightfirst)) * x16) + (pfrep_left_subtract_distribution_witness_common_right)))))) \/ (((exists pfrep_gap_subtract_distribution_witness_common_rightfirstoutside. pfrep_gap_subtract_distribution_witness_common_rightfirstoutside+(x14)=(pfrep_power_subtract_distribution_witness_common_right)) /\ (((pfrep_left_subtract_distribution_witness_common_right)=0))))) -> ((exists pfrep_position_subtract_distribution_witness_common_rightsecond. ((pfrep_position_subtract_distribution_witness_common_rightsecond+S (pfrep_power_subtract_distribution_witness_common_right)=(pfaa_length_subtract_distribution)) /\ ((((exists ff_h_pfp_subtract_distribution_witness_common_rightsecondentry. ff_h_pfp_subtract_distribution_witness_common_rightsecondentry + S (pfrep_right_subtract_distribution_witness_common_right) = S ((S (pfrep_position_subtract_distribution_witness_common_rightsecond)) * pfaa_right_c_subtract_distribution)) /\ exists ff_q_pfp_subtract_distribution_witness_common_rightsecondentry. pfaa_right_b_subtract_distribution = ff_q_pfp_subtract_distribution_witness_common_rightsecondentry * S ((S (pfrep_position_subtract_distribution_witness_common_rightsecond)) * pfaa_right_c_subtract_distribution) + (pfrep_right_subtract_distribution_witness_common_right)))))) \/ (((exists pfrep_gap_subtract_distribution_witness_common_rightsecondoutside. pfrep_gap_subtract_distribution_witness_common_rightsecondoutside+(pfaa_length_subtract_distribution)=(pfrep_power_subtract_distribution_witness_common_right)) /\ (((pfrep_right_subtract_distribution_witness_common_right)=0))))) -> pfrep_left_subtract_distribution_witness_common_right=pfrep_right_subtract_distribution_witness_common_right)))) /\ (((forall pfp_index_subtract_distribution_witness_operation. (exists pfa_gap_subtract_distribution_witness_operationindex. pfa_gap_subtract_distribution_witness_operationindex + S (pfp_index_subtract_distribution_witness_operation) = (pfaa_length_subtract_distribution)) -> exists pfp_left_subtract_distribution_witness_operation pfp_right_subtract_distribution_witness_operation pfp_value_subtract_distribution_witness_operation. ((((exists ff_h_pfp_subtract_distribution_witness_operationleft. ff_h_pfp_subtract_distribution_witness_operationleft + S (pfp_left_subtract_distribution_witness_operation) = S ((S (pfp_index_subtract_distribution_witness_operation)) * pfaa_left_c_subtract_distribution)) /\ exists ff_q_pfp_subtract_distribution_witness_operationleft. pfaa_left_b_subtract_distribution = ff_q_pfp_subtract_distribution_witness_operationleft * S ((S (pfp_index_subtract_distribution_witness_operation)) * pfaa_left_c_subtract_distribution) + (pfp_left_subtract_distribution_witness_operation))) /\ (((((exists ff_h_pfp_subtract_distribution_witness_operationright. ff_h_pfp_subtract_distribution_witness_operationright + S (pfp_right_subtract_distribution_witness_operation) = S ((S (pfp_index_subtract_distribution_witness_operation)) * pfaa_right_c_subtract_distribution)) /\ exists ff_q_pfp_subtract_distribution_witness_operationright. pfaa_right_b_subtract_distribution = ff_q_pfp_subtract_distribution_witness_operationright * S ((S (pfp_index_subtract_distribution_witness_operation)) * pfaa_right_c_subtract_distribution) + (pfp_right_subtract_distribution_witness_operation))) /\ (((((exists ff_h_pfp_subtract_distribution_witness_operationtarget. ff_h_pfp_subtract_distribution_witness_operationtarget + S (pfp_value_subtract_distribution_witness_operation) = S ((S (pfp_index_subtract_distribution_witness_operation)) * pfaa_sum_c_subtract_distribution)) /\ exists ff_q_pfp_subtract_distribution_witness_operationtarget. pfaa_sum_b_subtract_distribution = ff_q_pfp_subtract_distribution_witness_operationtarget * S ((S (pfp_index_subtract_distribution_witness_operation)) * pfaa_sum_c_subtract_distribution) + (pfp_value_subtract_distribution_witness_operation))) /\ ((((exists pfa_gap_subtract_distribution_witness_operationoperationleft. pfa_gap_subtract_distribution_witness_operationoperationleft + S (pfp_left_subtract_distribution_witness_operation) = (p)) /\ (((exists pfa_gap_subtract_distribution_witness_operationoperationright. pfa_gap_subtract_distribution_witness_operationoperationright + S (pfp_right_subtract_distribution_witness_operation) = (p)) /\ ((((exists pfa_gap_subtract_distribution_witness_operationoperationresultbound. pfa_gap_subtract_distribution_witness_operationoperationresultbound + S (pfp_value_subtract_distribution_witness_operation) = (p)) /\ ((exists pfa_offset_left_subtract_distribution_witness_operationoperationresultcongruence pfa_offset_right_subtract_distribution_witness_operationoperationresultcongruence. ((pfp_left_subtract_distribution_witness_operation) + (pfp_right_subtract_distribution_witness_operation)) + (p) * pfa_offset_left_subtract_distribution_witness_operationoperationresultcongruence = (pfp_value_subtract_distribution_witness_operation) + (p) * pfa_offset_right_subtract_distribution_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_subtract_distribution_witness_output pfrep_left_subtract_distribution_witness_output pfrep_right_subtract_distribution_witness_output. ((exists pfrep_position_subtract_distribution_witness_outputfirst. ((pfrep_position_subtract_distribution_witness_outputfirst+S (pfrep_power_subtract_distribution_witness_output)=(pfaa_length_subtract_distribution)) /\ ((((exists ff_h_pfp_subtract_distribution_witness_outputfirstentry. ff_h_pfp_subtract_distribution_witness_outputfirstentry + S (pfrep_left_subtract_distribution_witness_output) = S ((S (pfrep_position_subtract_distribution_witness_outputfirst)) * pfaa_sum_c_subtract_distribution)) /\ exists ff_q_pfp_subtract_distribution_witness_outputfirstentry. pfaa_sum_b_subtract_distribution = ff_q_pfp_subtract_distribution_witness_outputfirstentry * S ((S (pfrep_position_subtract_distribution_witness_outputfirst)) * pfaa_sum_c_subtract_distribution) + (pfrep_left_subtract_distribution_witness_output)))))) \/ (((exists pfrep_gap_subtract_distribution_witness_outputfirstoutside. pfrep_gap_subtract_distribution_witness_outputfirstoutside+(pfaa_length_subtract_distribution)=(pfrep_power_subtract_distribution_witness_output)) /\ (((pfrep_left_subtract_distribution_witness_output)=0))))) -> ((exists pfrep_position_subtract_distribution_witness_outputsecond. ((pfrep_position_subtract_distribution_witness_outputsecond+S (pfrep_power_subtract_distribution_witness_output)=(x5)) /\ ((((exists ff_h_pfp_subtract_distribution_witness_outputsecondentry. ff_h_pfp_subtract_distribution_witness_outputsecondentry + S (pfrep_right_subtract_distribution_witness_output) = S ((S (pfrep_position_subtract_distribution_witness_outputsecond)) * x4)) /\ exists ff_q_pfp_subtract_distribution_witness_outputsecondentry. x3 = ff_q_pfp_subtract_distribution_witness_outputsecondentry * S ((S (pfrep_position_subtract_distribution_witness_outputsecond)) * x4) + (pfrep_right_subtract_distribution_witness_output)))))) \/ (((exists pfrep_gap_subtract_distribution_witness_outputsecondoutside. pfrep_gap_subtract_distribution_witness_outputsecondoutside+(x5)=(pfrep_power_subtract_distribution_witness_output)) /\ (((pfrep_right_subtract_distribution_witness_output)=0))))) -> pfrep_left_subtract_distribution_witness_output=pfrep_right_subtract_distribution_witness_output))))))))))))
  140. 0140specialize prime_field_polynomial_aligned_convolution_right_add (p)
  141. 0141specialize prime_field_polynomial_aligned_convolution_right_add (x6)
  142. 0142specialize prime_field_polynomial_aligned_convolution_right_add (x7)
  143. 0143specialize prime_field_polynomial_aligned_convolution_right_add (x8)
  144. 0144specialize prime_field_polynomial_aligned_convolution_right_add (x12)
  145. 0145specialize prime_field_polynomial_aligned_convolution_right_add (x13)
  146. 0146specialize prime_field_polynomial_aligned_convolution_right_add ((x2)+(x8))
  147. 0147specialize prime_field_polynomial_aligned_convolution_right_add (x)
  148. 0148specialize prime_field_polynomial_aligned_convolution_right_add (x1)
  149. 0149specialize prime_field_polynomial_aligned_convolution_right_add (x2)
  150. 0150specialize prime_field_polynomial_aligned_convolution_right_add (db)
  151. 0151specialize prime_field_polynomial_aligned_convolution_right_add (dc)
  152. 0152specialize prime_field_polynomial_aligned_convolution_right_add (J)
  153. 0153specialize prime_field_polynomial_aligned_convolution_right_add (x9)
  154. 0154specialize prime_field_polynomial_aligned_convolution_right_add (x10)
  155. 0155specialize prime_field_polynomial_aligned_convolution_right_add (x11)
  156. 0156specialize prime_field_polynomial_aligned_convolution_right_add (x15)
  157. 0157specialize prime_field_polynomial_aligned_convolution_right_add (x16)
  158. 0158specialize prime_field_polynomial_aligned_convolution_right_add (x14)
  159. 0159specialize prime_field_polynomial_aligned_convolution_right_add (x3)
  160. 0160specialize prime_field_polynomial_aligned_convolution_right_add (x4)
  161. 0161specialize prime_field_polynomial_aligned_convolution_right_add (x5)
  162. 0162apply prime_field_polynomial_aligned_convolution_right_add
  163. 0163exact hp
  164. 0164exact hw_witness_witness
  165. 0165exact hDB_right_witness_witness_witness_witness_witness_witness_left
  166. 0166exact hresult_product_witness_witness
  167. 0167exact hDA_right_witness_witness_witness_witness_witness_witness_left
  168. 0168have hcompare : ((forall fom_index_pfp_subtract_comparison_left_bounded. (exists fom_gap_pfp_subtract_comparison_left_bounded_index_bound. fom_gap_pfp_subtract_comparison_left_bounded_index_bound + S (fom_index_pfp_subtract_comparison_left_bounded) = M) -> exists fom_value_pfp_subtract_comparison_left_bounded. ((((exists fom_beta_height_pfp_subtract_comparison_left_bounded_entry. fom_beta_height_pfp_subtract_comparison_left_bounded_entry + S (fom_value_pfp_subtract_comparison_left_bounded) = S ((S (fom_index_pfp_subtract_comparison_left_bounded)) * bc)) /\ exists fom_beta_quotient_pfp_subtract_comparison_left_bounded_entry. bb = fom_beta_quotient_pfp_subtract_comparison_left_bounded_entry * S ((S (fom_index_pfp_subtract_comparison_left_bounded)) * bc) + (fom_value_pfp_subtract_comparison_left_bounded))) /\ (exists fom_gap_pfp_subtract_comparison_left_bounded_value_bound. fom_gap_pfp_subtract_comparison_left_bounded_value_bound + S (fom_value_pfp_subtract_comparison_left_bounded) = p))) /\ (((forall fom_index_pfp_subtract_comparison_right_bounded. (exists fom_gap_pfp_subtract_comparison_right_bounded_index_bound. fom_gap_pfp_subtract_comparison_right_bounded_index_bound + S (fom_index_pfp_subtract_comparison_right_bounded) = x14) -> exists fom_value_pfp_subtract_comparison_right_bounded. ((((exists fom_beta_height_pfp_subtract_comparison_right_bounded_entry. fom_beta_height_pfp_subtract_comparison_right_bounded_entry + S (fom_value_pfp_subtract_comparison_right_bounded) = S ((S (fom_index_pfp_subtract_comparison_right_bounded)) * x16)) /\ exists fom_beta_quotient_pfp_subtract_comparison_right_bounded_entry. x15 = fom_beta_quotient_pfp_subtract_comparison_right_bounded_entry * S ((S (fom_index_pfp_subtract_comparison_right_bounded)) * x16) + (fom_value_pfp_subtract_comparison_right_bounded))) /\ (exists fom_gap_pfp_subtract_comparison_right_bounded_value_bound. fom_gap_pfp_subtract_comparison_right_bounded_value_bound + S (fom_value_pfp_subtract_comparison_right_bounded) = p))) /\ (((forall fom_index_pfp_subtract_comparison_result_bounded. (exists fom_gap_pfp_subtract_comparison_result_bounded_index_bound. fom_gap_pfp_subtract_comparison_result_bounded_index_bound + S (fom_index_pfp_subtract_comparison_result_bounded) = L) -> exists fom_value_pfp_subtract_comparison_result_bounded. ((((exists fom_beta_height_pfp_subtract_comparison_result_bounded_entry. fom_beta_height_pfp_subtract_comparison_result_bounded_entry + S (fom_value_pfp_subtract_comparison_result_bounded) = S ((S (fom_index_pfp_subtract_comparison_result_bounded)) * ac)) /\ exists fom_beta_quotient_pfp_subtract_comparison_result_bounded_entry. ab = fom_beta_quotient_pfp_subtract_comparison_result_bounded_entry * S ((S (fom_index_pfp_subtract_comparison_result_bounded)) * ac) + (fom_value_pfp_subtract_comparison_result_bounded))) /\ (exists fom_gap_pfp_subtract_comparison_result_bounded_value_bound. fom_gap_pfp_subtract_comparison_result_bounded_value_bound + S (fom_value_pfp_subtract_comparison_result_bounded) = p))) /\ ((exists pfaa_left_b_subtract_comparison pfaa_left_c_subtract_comparison pfaa_right_b_subtract_comparison pfaa_right_c_subtract_comparison pfaa_sum_b_subtract_comparison pfaa_sum_c_subtract_comparison pfaa_length_subtract_comparison. ((((forall pfrep_power_subtract_comparison_witness_common_left pfrep_left_subtract_comparison_witness_common_left pfrep_right_subtract_comparison_witness_common_left. ((exists pfrep_position_subtract_comparison_witness_common_leftfirst. ((pfrep_position_subtract_comparison_witness_common_leftfirst+S (pfrep_power_subtract_comparison_witness_common_left)=(M)) /\ ((((exists ff_h_pfp_subtract_comparison_witness_common_leftfirstentry. ff_h_pfp_subtract_comparison_witness_common_leftfirstentry + S (pfrep_left_subtract_comparison_witness_common_left) = S ((S (pfrep_position_subtract_comparison_witness_common_leftfirst)) * bc)) /\ exists ff_q_pfp_subtract_comparison_witness_common_leftfirstentry. bb = ff_q_pfp_subtract_comparison_witness_common_leftfirstentry * S ((S (pfrep_position_subtract_comparison_witness_common_leftfirst)) * bc) + (pfrep_left_subtract_comparison_witness_common_left)))))) \/ (((exists pfrep_gap_subtract_comparison_witness_common_leftfirstoutside. pfrep_gap_subtract_comparison_witness_common_leftfirstoutside+(M)=(pfrep_power_subtract_comparison_witness_common_left)) /\ (((pfrep_left_subtract_comparison_witness_common_left)=0))))) -> ((exists pfrep_position_subtract_comparison_witness_common_leftsecond. ((pfrep_position_subtract_comparison_witness_common_leftsecond+S (pfrep_power_subtract_comparison_witness_common_left)=(pfaa_length_subtract_comparison)) /\ ((((exists ff_h_pfp_subtract_comparison_witness_common_leftsecondentry. ff_h_pfp_subtract_comparison_witness_common_leftsecondentry + S (pfrep_right_subtract_comparison_witness_common_left) = S ((S (pfrep_position_subtract_comparison_witness_common_leftsecond)) * pfaa_left_c_subtract_comparison)) /\ exists ff_q_pfp_subtract_comparison_witness_common_leftsecondentry. pfaa_left_b_subtract_comparison = ff_q_pfp_subtract_comparison_witness_common_leftsecondentry * S ((S (pfrep_position_subtract_comparison_witness_common_leftsecond)) * pfaa_left_c_subtract_comparison) + (pfrep_right_subtract_comparison_witness_common_left)))))) \/ (((exists pfrep_gap_subtract_comparison_witness_common_leftsecondoutside. pfrep_gap_subtract_comparison_witness_common_leftsecondoutside+(pfaa_length_subtract_comparison)=(pfrep_power_subtract_comparison_witness_common_left)) /\ (((pfrep_right_subtract_comparison_witness_common_left)=0))))) -> pfrep_left_subtract_comparison_witness_common_left=pfrep_right_subtract_comparison_witness_common_left) /\ ((forall pfrep_power_subtract_comparison_witness_common_right pfrep_left_subtract_comparison_witness_common_right pfrep_right_subtract_comparison_witness_common_right. ((exists pfrep_position_subtract_comparison_witness_common_rightfirst. ((pfrep_position_subtract_comparison_witness_common_rightfirst+S (pfrep_power_subtract_comparison_witness_common_right)=(x14)) /\ ((((exists ff_h_pfp_subtract_comparison_witness_common_rightfirstentry. ff_h_pfp_subtract_comparison_witness_common_rightfirstentry + S (pfrep_left_subtract_comparison_witness_common_right) = S ((S (pfrep_position_subtract_comparison_witness_common_rightfirst)) * x16)) /\ exists ff_q_pfp_subtract_comparison_witness_common_rightfirstentry. x15 = ff_q_pfp_subtract_comparison_witness_common_rightfirstentry * S ((S (pfrep_position_subtract_comparison_witness_common_rightfirst)) * x16) + (pfrep_left_subtract_comparison_witness_common_right)))))) \/ (((exists pfrep_gap_subtract_comparison_witness_common_rightfirstoutside. pfrep_gap_subtract_comparison_witness_common_rightfirstoutside+(x14)=(pfrep_power_subtract_comparison_witness_common_right)) /\ (((pfrep_left_subtract_comparison_witness_common_right)=0))))) -> ((exists pfrep_position_subtract_comparison_witness_common_rightsecond. ((pfrep_position_subtract_comparison_witness_common_rightsecond+S (pfrep_power_subtract_comparison_witness_common_right)=(pfaa_length_subtract_comparison)) /\ ((((exists ff_h_pfp_subtract_comparison_witness_common_rightsecondentry. ff_h_pfp_subtract_comparison_witness_common_rightsecondentry + S (pfrep_right_subtract_comparison_witness_common_right) = S ((S (pfrep_position_subtract_comparison_witness_common_rightsecond)) * pfaa_right_c_subtract_comparison)) /\ exists ff_q_pfp_subtract_comparison_witness_common_rightsecondentry. pfaa_right_b_subtract_comparison = ff_q_pfp_subtract_comparison_witness_common_rightsecondentry * S ((S (pfrep_position_subtract_comparison_witness_common_rightsecond)) * pfaa_right_c_subtract_comparison) + (pfrep_right_subtract_comparison_witness_common_right)))))) \/ (((exists pfrep_gap_subtract_comparison_witness_common_rightsecondoutside. pfrep_gap_subtract_comparison_witness_common_rightsecondoutside+(pfaa_length_subtract_comparison)=(pfrep_power_subtract_comparison_witness_common_right)) /\ (((pfrep_right_subtract_comparison_witness_common_right)=0))))) -> pfrep_left_subtract_comparison_witness_common_right=pfrep_right_subtract_comparison_witness_common_right)))) /\ (((forall pfp_index_subtract_comparison_witness_operation. (exists pfa_gap_subtract_comparison_witness_operationindex. pfa_gap_subtract_comparison_witness_operationindex + S (pfp_index_subtract_comparison_witness_operation) = (pfaa_length_subtract_comparison)) -> exists pfp_left_subtract_comparison_witness_operation pfp_right_subtract_comparison_witness_operation pfp_value_subtract_comparison_witness_operation. ((((exists ff_h_pfp_subtract_comparison_witness_operationleft. ff_h_pfp_subtract_comparison_witness_operationleft + S (pfp_left_subtract_comparison_witness_operation) = S ((S (pfp_index_subtract_comparison_witness_operation)) * pfaa_left_c_subtract_comparison)) /\ exists ff_q_pfp_subtract_comparison_witness_operationleft. pfaa_left_b_subtract_comparison = ff_q_pfp_subtract_comparison_witness_operationleft * S ((S (pfp_index_subtract_comparison_witness_operation)) * pfaa_left_c_subtract_comparison) + (pfp_left_subtract_comparison_witness_operation))) /\ (((((exists ff_h_pfp_subtract_comparison_witness_operationright. ff_h_pfp_subtract_comparison_witness_operationright + S (pfp_right_subtract_comparison_witness_operation) = S ((S (pfp_index_subtract_comparison_witness_operation)) * pfaa_right_c_subtract_comparison)) /\ exists ff_q_pfp_subtract_comparison_witness_operationright. pfaa_right_b_subtract_comparison = ff_q_pfp_subtract_comparison_witness_operationright * S ((S (pfp_index_subtract_comparison_witness_operation)) * pfaa_right_c_subtract_comparison) + (pfp_right_subtract_comparison_witness_operation))) /\ (((((exists ff_h_pfp_subtract_comparison_witness_operationtarget. ff_h_pfp_subtract_comparison_witness_operationtarget + S (pfp_value_subtract_comparison_witness_operation) = S ((S (pfp_index_subtract_comparison_witness_operation)) * pfaa_sum_c_subtract_comparison)) /\ exists ff_q_pfp_subtract_comparison_witness_operationtarget. pfaa_sum_b_subtract_comparison = ff_q_pfp_subtract_comparison_witness_operationtarget * S ((S (pfp_index_subtract_comparison_witness_operation)) * pfaa_sum_c_subtract_comparison) + (pfp_value_subtract_comparison_witness_operation))) /\ ((((exists pfa_gap_subtract_comparison_witness_operationoperationleft. pfa_gap_subtract_comparison_witness_operationoperationleft + S (pfp_left_subtract_comparison_witness_operation) = (p)) /\ (((exists pfa_gap_subtract_comparison_witness_operationoperationright. pfa_gap_subtract_comparison_witness_operationoperationright + S (pfp_right_subtract_comparison_witness_operation) = (p)) /\ ((((exists pfa_gap_subtract_comparison_witness_operationoperationresultbound. pfa_gap_subtract_comparison_witness_operationoperationresultbound + S (pfp_value_subtract_comparison_witness_operation) = (p)) /\ ((exists pfa_offset_left_subtract_comparison_witness_operationoperationresultcongruence pfa_offset_right_subtract_comparison_witness_operationoperationresultcongruence. ((pfp_left_subtract_comparison_witness_operation) + (pfp_right_subtract_comparison_witness_operation)) + (p) * pfa_offset_left_subtract_comparison_witness_operationoperationresultcongruence = (pfp_value_subtract_comparison_witness_operation) + (p) * pfa_offset_right_subtract_comparison_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_subtract_comparison_witness_output pfrep_left_subtract_comparison_witness_output pfrep_right_subtract_comparison_witness_output. ((exists pfrep_position_subtract_comparison_witness_outputfirst. ((pfrep_position_subtract_comparison_witness_outputfirst+S (pfrep_power_subtract_comparison_witness_output)=(pfaa_length_subtract_comparison)) /\ ((((exists ff_h_pfp_subtract_comparison_witness_outputfirstentry. ff_h_pfp_subtract_comparison_witness_outputfirstentry + S (pfrep_left_subtract_comparison_witness_output) = S ((S (pfrep_position_subtract_comparison_witness_outputfirst)) * pfaa_sum_c_subtract_comparison)) /\ exists ff_q_pfp_subtract_comparison_witness_outputfirstentry. pfaa_sum_b_subtract_comparison = ff_q_pfp_subtract_comparison_witness_outputfirstentry * S ((S (pfrep_position_subtract_comparison_witness_outputfirst)) * pfaa_sum_c_subtract_comparison) + (pfrep_left_subtract_comparison_witness_output)))))) \/ (((exists pfrep_gap_subtract_comparison_witness_outputfirstoutside. pfrep_gap_subtract_comparison_witness_outputfirstoutside+(pfaa_length_subtract_comparison)=(pfrep_power_subtract_comparison_witness_output)) /\ (((pfrep_left_subtract_comparison_witness_output)=0))))) -> ((exists pfrep_position_subtract_comparison_witness_outputsecond. ((pfrep_position_subtract_comparison_witness_outputsecond+S (pfrep_power_subtract_comparison_witness_output)=(L)) /\ ((((exists ff_h_pfp_subtract_comparison_witness_outputsecondentry. ff_h_pfp_subtract_comparison_witness_outputsecondentry + S (pfrep_right_subtract_comparison_witness_output) = S ((S (pfrep_position_subtract_comparison_witness_outputsecond)) * ac)) /\ exists ff_q_pfp_subtract_comparison_witness_outputsecondentry. ab = ff_q_pfp_subtract_comparison_witness_outputsecondentry * S ((S (pfrep_position_subtract_comparison_witness_outputsecond)) * ac) + (pfrep_right_subtract_comparison_witness_output)))))) \/ (((exists pfrep_gap_subtract_comparison_witness_outputsecondoutside. pfrep_gap_subtract_comparison_witness_outputsecondoutside+(L)=(pfrep_power_subtract_comparison_witness_output)) /\ (((pfrep_right_subtract_comparison_witness_output)=0))))) -> pfrep_left_subtract_comparison_witness_output=pfrep_right_subtract_comparison_witness_output))))))))))))
  169. 0169specialize prime_field_polynomial_aligned_add_transport (p)
  170. 0170specialize prime_field_polynomial_aligned_add_transport (x9)
  171. 0171specialize prime_field_polynomial_aligned_add_transport (x10)
  172. 0172specialize prime_field_polynomial_aligned_add_transport (x11)
  173. 0173specialize prime_field_polynomial_aligned_add_transport (x15)
  174. 0174specialize prime_field_polynomial_aligned_add_transport (x16)
  175. 0175specialize prime_field_polynomial_aligned_add_transport (x14)
  176. 0176specialize prime_field_polynomial_aligned_add_transport (x3)
  177. 0177specialize prime_field_polynomial_aligned_add_transport (x4)
  178. 0178specialize prime_field_polynomial_aligned_add_transport (x5)
  179. 0179specialize prime_field_polynomial_aligned_add_transport (bb)
  180. 0180specialize prime_field_polynomial_aligned_add_transport (bc)
  181. 0181specialize prime_field_polynomial_aligned_add_transport (M)
  182. 0182specialize prime_field_polynomial_aligned_add_transport (x15)
  183. 0183specialize prime_field_polynomial_aligned_add_transport (x16)
  184. 0184specialize prime_field_polynomial_aligned_add_transport (x14)
  185. 0185specialize prime_field_polynomial_aligned_add_transport (ab)
  186. 0186specialize prime_field_polynomial_aligned_add_transport (ac)
  187. 0187specialize prime_field_polynomial_aligned_add_transport (L)
  188. 0188apply prime_field_polynomial_aligned_add_transport
  189. 0189exact hDB_left
  190. 0190exact htbound
  191. 0191exact hDA_left
  192. 0192specialize prime_field_polynomial_equivalent_symmetric (x9)
  193. 0193specialize prime_field_polynomial_equivalent_symmetric (x10)
  194. 0194specialize prime_field_polynomial_equivalent_symmetric (x11)
  195. 0195specialize prime_field_polynomial_equivalent_symmetric (bb)
  196. 0196specialize prime_field_polynomial_equivalent_symmetric (bc)
  197. 0197specialize prime_field_polynomial_equivalent_symmetric (M)
  198. 0198apply prime_field_polynomial_equivalent_symmetric
  199. 0199exact hDB_right_witness_witness_witness_witness_witness_witness_right
  200. 0200specialize prime_field_polynomial_power_coefficient_functional (x15)
  201. 0201specialize prime_field_polynomial_power_coefficient_functional (x16)
  202. 0202specialize prime_field_polynomial_power_coefficient_functional (x14)
  203. 0203apply prime_field_polynomial_power_coefficient_functional
  204. 0204exact hDA_right_witness_witness_witness_witness_witness_witness_right
  205. 0205exact hdistr
  206. 0206have heq : forall pfrep_power_subtract_output_equivalent pfrep_left_subtract_output_equivalent pfrep_right_subtract_output_equivalent. ((exists pfrep_position_subtract_output_equivalentfirst. ((pfrep_position_subtract_output_equivalentfirst+S (pfrep_power_subtract_output_equivalent)=(x14)) /\ ((((exists ff_h_pfp_subtract_output_equivalentfirstentry. ff_h_pfp_subtract_output_equivalentfirstentry + S (pfrep_left_subtract_output_equivalent) = S ((S (pfrep_position_subtract_output_equivalentfirst)) * x16)) /\ exists ff_q_pfp_subtract_output_equivalentfirstentry. x15 = ff_q_pfp_subtract_output_equivalentfirstentry * S ((S (pfrep_position_subtract_output_equivalentfirst)) * x16) + (pfrep_left_subtract_output_equivalent)))))) \/ (((exists pfrep_gap_subtract_output_equivalentfirstoutside. pfrep_gap_subtract_output_equivalentfirstoutside+(x14)=(pfrep_power_subtract_output_equivalent)) /\ (((pfrep_left_subtract_output_equivalent)=0))))) -> ((exists pfrep_position_subtract_output_equivalentsecond. ((pfrep_position_subtract_output_equivalentsecond+S (pfrep_power_subtract_output_equivalent)=(N)) /\ ((((exists ff_h_pfp_subtract_output_equivalentsecondentry. ff_h_pfp_subtract_output_equivalentsecondentry + S (pfrep_right_subtract_output_equivalent) = S ((S (pfrep_position_subtract_output_equivalentsecond)) * rc)) /\ exists ff_q_pfp_subtract_output_equivalentsecondentry. rb = ff_q_pfp_subtract_output_equivalentsecondentry * S ((S (pfrep_position_subtract_output_equivalentsecond)) * rc) + (pfrep_right_subtract_output_equivalent)))))) \/ (((exists pfrep_gap_subtract_output_equivalentsecondoutside. pfrep_gap_subtract_output_equivalentsecondoutside+(N)=(pfrep_power_subtract_output_equivalent)) /\ (((pfrep_right_subtract_output_equivalent)=0))))) -> pfrep_left_subtract_output_equivalent=pfrep_right_subtract_output_equivalent
  207. 0207specialize prime_field_polynomial_aligned_add_cancel_left (p)
  208. 0208specialize prime_field_polynomial_aligned_add_cancel_left (bb)
  209. 0209specialize prime_field_polynomial_aligned_add_cancel_left (bc)
  210. 0210specialize prime_field_polynomial_aligned_add_cancel_left (M)
  211. 0211specialize prime_field_polynomial_aligned_add_cancel_left (x15)
  212. 0212specialize prime_field_polynomial_aligned_add_cancel_left (x16)
  213. 0213specialize prime_field_polynomial_aligned_add_cancel_left (x14)
  214. 0214specialize prime_field_polynomial_aligned_add_cancel_left (rb)
  215. 0215specialize prime_field_polynomial_aligned_add_cancel_left (rc)
  216. 0216specialize prime_field_polynomial_aligned_add_cancel_left (N)
  217. 0217specialize prime_field_polynomial_aligned_add_cancel_left (ab)
  218. 0218specialize prime_field_polynomial_aligned_add_cancel_left (ac)
  219. 0219specialize prime_field_polynomial_aligned_add_cancel_left (L)
  220. 0220apply prime_field_polynomial_aligned_add_cancel_left
  221. 0221exact hp
  222. 0222exact hcompare
  223. 0223exact hop
  224. 0224have hopbound : ((forall fom_index_pfp_subtract_input_bound_0. (exists fom_gap_pfp_subtract_input_bound_0_index_bound. fom_gap_pfp_subtract_input_bound_0_index_bound + S (fom_index_pfp_subtract_input_bound_0) = M) -> exists fom_value_pfp_subtract_input_bound_0. ((((exists fom_beta_height_pfp_subtract_input_bound_0_entry. fom_beta_height_pfp_subtract_input_bound_0_entry + S (fom_value_pfp_subtract_input_bound_0) = S ((S (fom_index_pfp_subtract_input_bound_0)) * bc)) /\ exists fom_beta_quotient_pfp_subtract_input_bound_0_entry. bb = fom_beta_quotient_pfp_subtract_input_bound_0_entry * S ((S (fom_index_pfp_subtract_input_bound_0)) * bc) + (fom_value_pfp_subtract_input_bound_0))) /\ (exists fom_gap_pfp_subtract_input_bound_0_value_bound. fom_gap_pfp_subtract_input_bound_0_value_bound + S (fom_value_pfp_subtract_input_bound_0) = p))) /\ (((forall fom_index_pfp_subtract_input_bound_1. (exists fom_gap_pfp_subtract_input_bound_1_index_bound. fom_gap_pfp_subtract_input_bound_1_index_bound + S (fom_index_pfp_subtract_input_bound_1) = N) -> exists fom_value_pfp_subtract_input_bound_1. ((((exists fom_beta_height_pfp_subtract_input_bound_1_entry. fom_beta_height_pfp_subtract_input_bound_1_entry + S (fom_value_pfp_subtract_input_bound_1) = S ((S (fom_index_pfp_subtract_input_bound_1)) * rc)) /\ exists fom_beta_quotient_pfp_subtract_input_bound_1_entry. rb = fom_beta_quotient_pfp_subtract_input_bound_1_entry * S ((S (fom_index_pfp_subtract_input_bound_1)) * rc) + (fom_value_pfp_subtract_input_bound_1))) /\ (exists fom_gap_pfp_subtract_input_bound_1_value_bound. fom_gap_pfp_subtract_input_bound_1_value_bound + S (fom_value_pfp_subtract_input_bound_1) = p))) /\ ((forall fom_index_pfp_subtract_input_bound_2. (exists fom_gap_pfp_subtract_input_bound_2_index_bound. fom_gap_pfp_subtract_input_bound_2_index_bound + S (fom_index_pfp_subtract_input_bound_2) = L) -> exists fom_value_pfp_subtract_input_bound_2. ((((exists fom_beta_height_pfp_subtract_input_bound_2_entry. fom_beta_height_pfp_subtract_input_bound_2_entry + S (fom_value_pfp_subtract_input_bound_2) = S ((S (fom_index_pfp_subtract_input_bound_2)) * ac)) /\ exists fom_beta_quotient_pfp_subtract_input_bound_2_entry. ab = fom_beta_quotient_pfp_subtract_input_bound_2_entry * S ((S (fom_index_pfp_subtract_input_bound_2)) * ac) + (fom_value_pfp_subtract_input_bound_2))) /\ (exists fom_gap_pfp_subtract_input_bound_2_value_bound. fom_gap_pfp_subtract_input_bound_2_value_bound + S (fom_value_pfp_subtract_input_bound_2) = p)))))))
  225. 0225specialize prime_field_polynomial_aligned_add_bounded (p)
  226. 0226specialize prime_field_polynomial_aligned_add_bounded (bb)
  227. 0227specialize prime_field_polynomial_aligned_add_bounded (bc)
  228. 0228specialize prime_field_polynomial_aligned_add_bounded (M)
  229. 0229specialize prime_field_polynomial_aligned_add_bounded (rb)
  230. 0230specialize prime_field_polynomial_aligned_add_bounded (rc)
  231. 0231specialize prime_field_polynomial_aligned_add_bounded (N)
  232. 0232specialize prime_field_polynomial_aligned_add_bounded (ab)
  233. 0233specialize prime_field_polynomial_aligned_add_bounded (ac)
  234. 0234specialize prime_field_polynomial_aligned_add_bounded (L)
  235. 0235apply prime_field_polynomial_aligned_add_bounded
  236. 0236exact hop
  237. 0237cases hopbound
  238. 0238cases hopbound_right
  239. 0239specialize prime_field_polynomial_right_divides_from_product (p)
  240. 0240specialize prime_field_polynomial_right_divides_from_product (db)
  241. 0241specialize prime_field_polynomial_right_divides_from_product (dc)
  242. 0242specialize prime_field_polynomial_right_divides_from_product (J)
  243. 0243specialize prime_field_polynomial_right_divides_from_product (rb)
  244. 0244specialize prime_field_polynomial_right_divides_from_product (rc)
  245. 0245specialize prime_field_polynomial_right_divides_from_product (N)
  246. 0246specialize prime_field_polynomial_right_divides_from_product (x12)
  247. 0247specialize prime_field_polynomial_right_divides_from_product (x13)
  248. 0248specialize prime_field_polynomial_right_divides_from_product ((x2)+(x8))
  249. 0249specialize prime_field_polynomial_right_divides_from_product (x15)
  250. 0250specialize prime_field_polynomial_right_divides_from_product (x16)
  251. 0251specialize prime_field_polynomial_right_divides_from_product (x14)
  252. 0252apply prime_field_polynomial_right_divides_from_product
  253. 0253exact hopbound_right_left
  254. 0254exact hresult_product_witness_witness
  255. 0255exact heq