PG0058

prime_field_polynomial_right_divides_aligned_add

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

A common actual right divisor divides the genuine aligned add: 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_add_divides_prime pfa_factor_right_add_divides_prime. (p) = pfa_factor_left_add_divides_prime * pfa_factor_right_add_divides_prime -> pfa_factor_left_add_divides_prime = 1 \/ pfa_factor_right_add_divides_prime = 1) -> (((forall fom_index_pfp_add_divides_left_canonical. (exists fom_gap_pfp_add_divides_left_canonical_index_bound. fom_gap_pfp_add_divides_left_canonical_index_bound + S (fom_index_pfp_add_divides_left_canonical) = L) -> exists fom_value_pfp_add_divides_left_canonical. ((((exists fom_beta_height_pfp_add_divides_left_canonical_entry. fom_beta_height_pfp_add_divides_left_canonical_entry + S (fom_value_pfp_add_divides_left_canonical) = S ((S (fom_index_pfp_add_divides_left_canonical)) * ac)) /\ exists fom_beta_quotient_pfp_add_divides_left_canonical_entry. ab = fom_beta_quotient_pfp_add_divides_left_canonical_entry * S ((S (fom_index_pfp_add_divides_left_canonical)) * ac) + (fom_value_pfp_add_divides_left_canonical))) /\ (exists fom_gap_pfp_add_divides_left_canonical_value_bound. fom_gap_pfp_add_divides_left_canonical_value_bound + S (fom_value_pfp_add_divides_left_canonical) = p))) /\ ((exists pfrd_qb_add_divides_left pfrd_qc_add_divides_left pfrd_qlen_add_divides_left pfrd_pb_add_divides_left pfrd_pc_add_divides_left pfrd_plen_add_divides_left. ((((forall fom_index_pfp_add_divides_left_productleft. (exists fom_gap_pfp_add_divides_left_productleft_index_bound. fom_gap_pfp_add_divides_left_productleft_index_bound + S (fom_index_pfp_add_divides_left_productleft) = pfrd_qlen_add_divides_left) -> exists fom_value_pfp_add_divides_left_productleft. ((((exists fom_beta_height_pfp_add_divides_left_productleft_entry. fom_beta_height_pfp_add_divides_left_productleft_entry + S (fom_value_pfp_add_divides_left_productleft) = S ((S (fom_index_pfp_add_divides_left_productleft)) * pfrd_qc_add_divides_left)) /\ exists fom_beta_quotient_pfp_add_divides_left_productleft_entry. pfrd_qb_add_divides_left = fom_beta_quotient_pfp_add_divides_left_productleft_entry * S ((S (fom_index_pfp_add_divides_left_productleft)) * pfrd_qc_add_divides_left) + (fom_value_pfp_add_divides_left_productleft))) /\ (exists fom_gap_pfp_add_divides_left_productleft_value_bound. fom_gap_pfp_add_divides_left_productleft_value_bound + S (fom_value_pfp_add_divides_left_productleft) = p))) /\ (((forall fom_index_pfp_add_divides_left_productright. (exists fom_gap_pfp_add_divides_left_productright_index_bound. fom_gap_pfp_add_divides_left_productright_index_bound + S (fom_index_pfp_add_divides_left_productright) = J) -> exists fom_value_pfp_add_divides_left_productright. ((((exists fom_beta_height_pfp_add_divides_left_productright_entry. fom_beta_height_pfp_add_divides_left_productright_entry + S (fom_value_pfp_add_divides_left_productright) = S ((S (fom_index_pfp_add_divides_left_productright)) * dc)) /\ exists fom_beta_quotient_pfp_add_divides_left_productright_entry. db = fom_beta_quotient_pfp_add_divides_left_productright_entry * S ((S (fom_index_pfp_add_divides_left_productright)) * dc) + (fom_value_pfp_add_divides_left_productright))) /\ (exists fom_gap_pfp_add_divides_left_productright_value_bound. fom_gap_pfp_add_divides_left_productright_value_bound + S (fom_value_pfp_add_divides_left_productright) = p))) /\ (((((((pfrd_qlen_add_divides_left)=0 \/ (J)=0) /\ (((pfrd_plen_add_divides_left)=0)))) \/ (((~((pfrd_qlen_add_divides_left)=0)) /\ (((~((J)=0)) /\ (((pfrd_qlen_add_divides_left)+(J)=S (pfrd_plen_add_divides_left)))))))) /\ ((forall pfc_index_add_divides_left_productcoefficients. (exists pfa_gap_add_divides_left_productcoefficientsbound. pfa_gap_add_divides_left_productcoefficientsbound + S (pfc_index_add_divides_left_productcoefficients) = (pfrd_plen_add_divides_left)) -> exists pfc_value_add_divides_left_productcoefficients. ((((exists ff_h_pfp_add_divides_left_productcoefficientsentry. ff_h_pfp_add_divides_left_productcoefficientsentry + S (pfc_value_add_divides_left_productcoefficients) = S ((S (pfc_index_add_divides_left_productcoefficients)) * pfrd_pc_add_divides_left)) /\ exists ff_q_pfp_add_divides_left_productcoefficientsentry. pfrd_pb_add_divides_left = ff_q_pfp_add_divides_left_productcoefficientsentry * S ((S (pfc_index_add_divides_left_productcoefficients)) * pfrd_pc_add_divides_left) + (pfc_value_add_divides_left_productcoefficients))) /\ ((exists pfc_terms_code_add_divides_left_productcoefficientscoefficient pfc_terms_scale_add_divides_left_productcoefficientscoefficient pfc_natural_sum_add_divides_left_productcoefficientscoefficient. ((forall pfc_index_add_divides_left_productcoefficientscoefficientdiagonal. (exists pfa_gap_add_divides_left_productcoefficientscoefficientdiagonalbound. pfa_gap_add_divides_left_productcoefficientscoefficientdiagonalbound + S (pfc_index_add_divides_left_productcoefficientscoefficientdiagonal) = (S (pfc_index_add_divides_left_productcoefficients))) -> exists pfc_value_add_divides_left_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_add_divides_left_productcoefficientscoefficientdiagonalentry. ff_h_pfp_add_divides_left_productcoefficientscoefficientdiagonalentry + S (pfc_value_add_divides_left_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_add_divides_left_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_divides_left_productcoefficientscoefficient)) /\ exists ff_q_pfp_add_divides_left_productcoefficientscoefficientdiagonalentry. pfc_terms_code_add_divides_left_productcoefficientscoefficient = ff_q_pfp_add_divides_left_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_add_divides_left_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_divides_left_productcoefficientscoefficient) + (pfc_value_add_divides_left_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_add_divides_left_productcoefficientscoefficientdiagonalterm pfc_left_add_divides_left_productcoefficientscoefficientdiagonalterm pfc_right_add_divides_left_productcoefficientscoefficientdiagonalterm. (((pfc_index_add_divides_left_productcoefficientscoefficientdiagonal)+pfc_complement_add_divides_left_productcoefficientscoefficientdiagonalterm=(pfc_index_add_divides_left_productcoefficients)) /\ ((((((exists pfa_gap_add_divides_left_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_add_divides_left_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_add_divides_left_productcoefficientscoefficientdiagonal) = (pfrd_qlen_add_divides_left)) /\ ((((exists ff_h_pfp_add_divides_left_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_add_divides_left_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_add_divides_left_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_add_divides_left_productcoefficientscoefficientdiagonal)) * pfrd_qc_add_divides_left)) /\ exists ff_q_pfp_add_divides_left_productcoefficientscoefficientdiagonaltermleftentry. pfrd_qb_add_divides_left = ff_q_pfp_add_divides_left_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_add_divides_left_productcoefficientscoefficientdiagonal)) * pfrd_qc_add_divides_left) + (pfc_left_add_divides_left_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_divides_left_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_add_divides_left_productcoefficientscoefficientdiagonaltermleftoutside+(pfrd_qlen_add_divides_left)=(pfc_index_add_divides_left_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_add_divides_left_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_add_divides_left_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_add_divides_left_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_add_divides_left_productcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_add_divides_left_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_add_divides_left_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_add_divides_left_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_add_divides_left_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_add_divides_left_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_add_divides_left_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_add_divides_left_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_add_divides_left_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_divides_left_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_add_divides_left_productcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_add_divides_left_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_add_divides_left_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_add_divides_left_productcoefficientscoefficientdiagonal)=pfc_left_add_divides_left_productcoefficientscoefficientdiagonalterm*pfc_right_add_divides_left_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_add_divides_left_productcoefficientscoefficientsum fs_v_pfc_add_divides_left_productcoefficientscoefficientsum. ((((exists fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_start. fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_add_divides_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_start. fs_u_pfc_add_divides_left_productcoefficientscoefficientsum = fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_add_divides_left_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_add_divides_left_productcoefficientscoefficient) = S ((S (S (pfc_index_add_divides_left_productcoefficients))) * fs_v_pfc_add_divides_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_add_divides_left_productcoefficientscoefficientsum = fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_add_divides_left_productcoefficients))) * fs_v_pfc_add_divides_left_productcoefficientscoefficientsum) + (pfc_natural_sum_add_divides_left_productcoefficientscoefficient))) /\ forall fs_i_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps = S (pfc_index_add_divides_left_productcoefficients)) -> exists fs_a_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps fs_r_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps fs_s_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_divides_left_productcoefficientscoefficient)) /\ exists fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_add_divides_left_productcoefficientscoefficient = fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_divides_left_productcoefficientscoefficient) + (fs_a_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_add_divides_left_productcoefficientscoefficientsum = fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_left_productcoefficientscoefficientsum) + (fs_r_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_add_divides_left_productcoefficientscoefficientsum = fs_q_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_left_productcoefficientscoefficientsum) + (fs_s_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps = fs_r_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps + fs_a_pfc_add_divides_left_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_add_divides_left_productcoefficientscoefficientresiduebound. pfa_gap_add_divides_left_productcoefficientscoefficientresiduebound + S (pfc_value_add_divides_left_productcoefficients) = (p)) /\ ((exists pfa_offset_left_add_divides_left_productcoefficientscoefficientresiduecongruence pfa_offset_right_add_divides_left_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_add_divides_left_productcoefficientscoefficient) + (p) * pfa_offset_left_add_divides_left_productcoefficientscoefficientresiduecongruence = (pfc_value_add_divides_left_productcoefficients) + (p) * pfa_offset_right_add_divides_left_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_add_divides_left_target pfrep_left_add_divides_left_target pfrep_right_add_divides_left_target. ((exists pfrep_position_add_divides_left_targetfirst. ((pfrep_position_add_divides_left_targetfirst+S (pfrep_power_add_divides_left_target)=(pfrd_plen_add_divides_left)) /\ ((((exists ff_h_pfp_add_divides_left_targetfirstentry. ff_h_pfp_add_divides_left_targetfirstentry + S (pfrep_left_add_divides_left_target) = S ((S (pfrep_position_add_divides_left_targetfirst)) * pfrd_pc_add_divides_left)) /\ exists ff_q_pfp_add_divides_left_targetfirstentry. pfrd_pb_add_divides_left = ff_q_pfp_add_divides_left_targetfirstentry * S ((S (pfrep_position_add_divides_left_targetfirst)) * pfrd_pc_add_divides_left) + (pfrep_left_add_divides_left_target)))))) \/ (((exists pfrep_gap_add_divides_left_targetfirstoutside. pfrep_gap_add_divides_left_targetfirstoutside+(pfrd_plen_add_divides_left)=(pfrep_power_add_divides_left_target)) /\ (((pfrep_left_add_divides_left_target)=0))))) -> ((exists pfrep_position_add_divides_left_targetsecond. ((pfrep_position_add_divides_left_targetsecond+S (pfrep_power_add_divides_left_target)=(L)) /\ ((((exists ff_h_pfp_add_divides_left_targetsecondentry. ff_h_pfp_add_divides_left_targetsecondentry + S (pfrep_right_add_divides_left_target) = S ((S (pfrep_position_add_divides_left_targetsecond)) * ac)) /\ exists ff_q_pfp_add_divides_left_targetsecondentry. ab = ff_q_pfp_add_divides_left_targetsecondentry * S ((S (pfrep_position_add_divides_left_targetsecond)) * ac) + (pfrep_right_add_divides_left_target)))))) \/ (((exists pfrep_gap_add_divides_left_targetsecondoutside. pfrep_gap_add_divides_left_targetsecondoutside+(L)=(pfrep_power_add_divides_left_target)) /\ (((pfrep_right_add_divides_left_target)=0))))) -> pfrep_left_add_divides_left_target=pfrep_right_add_divides_left_target))))))) -> (((forall fom_index_pfp_add_divides_right_canonical. (exists fom_gap_pfp_add_divides_right_canonical_index_bound. fom_gap_pfp_add_divides_right_canonical_index_bound + S (fom_index_pfp_add_divides_right_canonical) = M) -> exists fom_value_pfp_add_divides_right_canonical. ((((exists fom_beta_height_pfp_add_divides_right_canonical_entry. fom_beta_height_pfp_add_divides_right_canonical_entry + S (fom_value_pfp_add_divides_right_canonical) = S ((S (fom_index_pfp_add_divides_right_canonical)) * bc)) /\ exists fom_beta_quotient_pfp_add_divides_right_canonical_entry. bb = fom_beta_quotient_pfp_add_divides_right_canonical_entry * S ((S (fom_index_pfp_add_divides_right_canonical)) * bc) + (fom_value_pfp_add_divides_right_canonical))) /\ (exists fom_gap_pfp_add_divides_right_canonical_value_bound. fom_gap_pfp_add_divides_right_canonical_value_bound + S (fom_value_pfp_add_divides_right_canonical) = p))) /\ ((exists pfrd_qb_add_divides_right pfrd_qc_add_divides_right pfrd_qlen_add_divides_right pfrd_pb_add_divides_right pfrd_pc_add_divides_right pfrd_plen_add_divides_right. ((((forall fom_index_pfp_add_divides_right_productleft. (exists fom_gap_pfp_add_divides_right_productleft_index_bound. fom_gap_pfp_add_divides_right_productleft_index_bound + S (fom_index_pfp_add_divides_right_productleft) = pfrd_qlen_add_divides_right) -> exists fom_value_pfp_add_divides_right_productleft. ((((exists fom_beta_height_pfp_add_divides_right_productleft_entry. fom_beta_height_pfp_add_divides_right_productleft_entry + S (fom_value_pfp_add_divides_right_productleft) = S ((S (fom_index_pfp_add_divides_right_productleft)) * pfrd_qc_add_divides_right)) /\ exists fom_beta_quotient_pfp_add_divides_right_productleft_entry. pfrd_qb_add_divides_right = fom_beta_quotient_pfp_add_divides_right_productleft_entry * S ((S (fom_index_pfp_add_divides_right_productleft)) * pfrd_qc_add_divides_right) + (fom_value_pfp_add_divides_right_productleft))) /\ (exists fom_gap_pfp_add_divides_right_productleft_value_bound. fom_gap_pfp_add_divides_right_productleft_value_bound + S (fom_value_pfp_add_divides_right_productleft) = p))) /\ (((forall fom_index_pfp_add_divides_right_productright. (exists fom_gap_pfp_add_divides_right_productright_index_bound. fom_gap_pfp_add_divides_right_productright_index_bound + S (fom_index_pfp_add_divides_right_productright) = J) -> exists fom_value_pfp_add_divides_right_productright. ((((exists fom_beta_height_pfp_add_divides_right_productright_entry. fom_beta_height_pfp_add_divides_right_productright_entry + S (fom_value_pfp_add_divides_right_productright) = S ((S (fom_index_pfp_add_divides_right_productright)) * dc)) /\ exists fom_beta_quotient_pfp_add_divides_right_productright_entry. db = fom_beta_quotient_pfp_add_divides_right_productright_entry * S ((S (fom_index_pfp_add_divides_right_productright)) * dc) + (fom_value_pfp_add_divides_right_productright))) /\ (exists fom_gap_pfp_add_divides_right_productright_value_bound. fom_gap_pfp_add_divides_right_productright_value_bound + S (fom_value_pfp_add_divides_right_productright) = p))) /\ (((((((pfrd_qlen_add_divides_right)=0 \/ (J)=0) /\ (((pfrd_plen_add_divides_right)=0)))) \/ (((~((pfrd_qlen_add_divides_right)=0)) /\ (((~((J)=0)) /\ (((pfrd_qlen_add_divides_right)+(J)=S (pfrd_plen_add_divides_right)))))))) /\ ((forall pfc_index_add_divides_right_productcoefficients. (exists pfa_gap_add_divides_right_productcoefficientsbound. pfa_gap_add_divides_right_productcoefficientsbound + S (pfc_index_add_divides_right_productcoefficients) = (pfrd_plen_add_divides_right)) -> exists pfc_value_add_divides_right_productcoefficients. ((((exists ff_h_pfp_add_divides_right_productcoefficientsentry. ff_h_pfp_add_divides_right_productcoefficientsentry + S (pfc_value_add_divides_right_productcoefficients) = S ((S (pfc_index_add_divides_right_productcoefficients)) * pfrd_pc_add_divides_right)) /\ exists ff_q_pfp_add_divides_right_productcoefficientsentry. pfrd_pb_add_divides_right = ff_q_pfp_add_divides_right_productcoefficientsentry * S ((S (pfc_index_add_divides_right_productcoefficients)) * pfrd_pc_add_divides_right) + (pfc_value_add_divides_right_productcoefficients))) /\ ((exists pfc_terms_code_add_divides_right_productcoefficientscoefficient pfc_terms_scale_add_divides_right_productcoefficientscoefficient pfc_natural_sum_add_divides_right_productcoefficientscoefficient. ((forall pfc_index_add_divides_right_productcoefficientscoefficientdiagonal. (exists pfa_gap_add_divides_right_productcoefficientscoefficientdiagonalbound. pfa_gap_add_divides_right_productcoefficientscoefficientdiagonalbound + S (pfc_index_add_divides_right_productcoefficientscoefficientdiagonal) = (S (pfc_index_add_divides_right_productcoefficients))) -> exists pfc_value_add_divides_right_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_add_divides_right_productcoefficientscoefficientdiagonalentry. ff_h_pfp_add_divides_right_productcoefficientscoefficientdiagonalentry + S (pfc_value_add_divides_right_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_add_divides_right_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_divides_right_productcoefficientscoefficient)) /\ exists ff_q_pfp_add_divides_right_productcoefficientscoefficientdiagonalentry. pfc_terms_code_add_divides_right_productcoefficientscoefficient = ff_q_pfp_add_divides_right_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_add_divides_right_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_divides_right_productcoefficientscoefficient) + (pfc_value_add_divides_right_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_add_divides_right_productcoefficientscoefficientdiagonalterm pfc_left_add_divides_right_productcoefficientscoefficientdiagonalterm pfc_right_add_divides_right_productcoefficientscoefficientdiagonalterm. (((pfc_index_add_divides_right_productcoefficientscoefficientdiagonal)+pfc_complement_add_divides_right_productcoefficientscoefficientdiagonalterm=(pfc_index_add_divides_right_productcoefficients)) /\ ((((((exists pfa_gap_add_divides_right_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_add_divides_right_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_add_divides_right_productcoefficientscoefficientdiagonal) = (pfrd_qlen_add_divides_right)) /\ ((((exists ff_h_pfp_add_divides_right_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_add_divides_right_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_add_divides_right_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_add_divides_right_productcoefficientscoefficientdiagonal)) * pfrd_qc_add_divides_right)) /\ exists ff_q_pfp_add_divides_right_productcoefficientscoefficientdiagonaltermleftentry. pfrd_qb_add_divides_right = ff_q_pfp_add_divides_right_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_add_divides_right_productcoefficientscoefficientdiagonal)) * pfrd_qc_add_divides_right) + (pfc_left_add_divides_right_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_divides_right_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_add_divides_right_productcoefficientscoefficientdiagonaltermleftoutside+(pfrd_qlen_add_divides_right)=(pfc_index_add_divides_right_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_add_divides_right_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_add_divides_right_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_add_divides_right_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_add_divides_right_productcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_add_divides_right_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_add_divides_right_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_add_divides_right_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_add_divides_right_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_add_divides_right_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_add_divides_right_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_add_divides_right_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_add_divides_right_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_divides_right_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_add_divides_right_productcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_add_divides_right_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_add_divides_right_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_add_divides_right_productcoefficientscoefficientdiagonal)=pfc_left_add_divides_right_productcoefficientscoefficientdiagonalterm*pfc_right_add_divides_right_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_add_divides_right_productcoefficientscoefficientsum fs_v_pfc_add_divides_right_productcoefficientscoefficientsum. ((((exists fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_start. fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_add_divides_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_start. fs_u_pfc_add_divides_right_productcoefficientscoefficientsum = fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_add_divides_right_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_add_divides_right_productcoefficientscoefficient) = S ((S (S (pfc_index_add_divides_right_productcoefficients))) * fs_v_pfc_add_divides_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_add_divides_right_productcoefficientscoefficientsum = fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_add_divides_right_productcoefficients))) * fs_v_pfc_add_divides_right_productcoefficientscoefficientsum) + (pfc_natural_sum_add_divides_right_productcoefficientscoefficient))) /\ forall fs_i_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps = S (pfc_index_add_divides_right_productcoefficients)) -> exists fs_a_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps fs_r_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps fs_s_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_divides_right_productcoefficientscoefficient)) /\ exists fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_add_divides_right_productcoefficientscoefficient = fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_divides_right_productcoefficientscoefficient) + (fs_a_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_add_divides_right_productcoefficientscoefficientsum = fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_right_productcoefficientscoefficientsum) + (fs_r_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_add_divides_right_productcoefficientscoefficientsum = fs_q_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_right_productcoefficientscoefficientsum) + (fs_s_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps = fs_r_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps + fs_a_pfc_add_divides_right_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_add_divides_right_productcoefficientscoefficientresiduebound. pfa_gap_add_divides_right_productcoefficientscoefficientresiduebound + S (pfc_value_add_divides_right_productcoefficients) = (p)) /\ ((exists pfa_offset_left_add_divides_right_productcoefficientscoefficientresiduecongruence pfa_offset_right_add_divides_right_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_add_divides_right_productcoefficientscoefficient) + (p) * pfa_offset_left_add_divides_right_productcoefficientscoefficientresiduecongruence = (pfc_value_add_divides_right_productcoefficients) + (p) * pfa_offset_right_add_divides_right_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_add_divides_right_target pfrep_left_add_divides_right_target pfrep_right_add_divides_right_target. ((exists pfrep_position_add_divides_right_targetfirst. ((pfrep_position_add_divides_right_targetfirst+S (pfrep_power_add_divides_right_target)=(pfrd_plen_add_divides_right)) /\ ((((exists ff_h_pfp_add_divides_right_targetfirstentry. ff_h_pfp_add_divides_right_targetfirstentry + S (pfrep_left_add_divides_right_target) = S ((S (pfrep_position_add_divides_right_targetfirst)) * pfrd_pc_add_divides_right)) /\ exists ff_q_pfp_add_divides_right_targetfirstentry. pfrd_pb_add_divides_right = ff_q_pfp_add_divides_right_targetfirstentry * S ((S (pfrep_position_add_divides_right_targetfirst)) * pfrd_pc_add_divides_right) + (pfrep_left_add_divides_right_target)))))) \/ (((exists pfrep_gap_add_divides_right_targetfirstoutside. pfrep_gap_add_divides_right_targetfirstoutside+(pfrd_plen_add_divides_right)=(pfrep_power_add_divides_right_target)) /\ (((pfrep_left_add_divides_right_target)=0))))) -> ((exists pfrep_position_add_divides_right_targetsecond. ((pfrep_position_add_divides_right_targetsecond+S (pfrep_power_add_divides_right_target)=(M)) /\ ((((exists ff_h_pfp_add_divides_right_targetsecondentry. ff_h_pfp_add_divides_right_targetsecondentry + S (pfrep_right_add_divides_right_target) = S ((S (pfrep_position_add_divides_right_targetsecond)) * bc)) /\ exists ff_q_pfp_add_divides_right_targetsecondentry. bb = ff_q_pfp_add_divides_right_targetsecondentry * S ((S (pfrep_position_add_divides_right_targetsecond)) * bc) + (pfrep_right_add_divides_right_target)))))) \/ (((exists pfrep_gap_add_divides_right_targetsecondoutside. pfrep_gap_add_divides_right_targetsecondoutside+(M)=(pfrep_power_add_divides_right_target)) /\ (((pfrep_right_add_divides_right_target)=0))))) -> pfrep_left_add_divides_right_target=pfrep_right_add_divides_right_target))))))) -> (((forall fom_index_pfp_add_divides_operation_left_bounded. (exists fom_gap_pfp_add_divides_operation_left_bounded_index_bound. fom_gap_pfp_add_divides_operation_left_bounded_index_bound + S (fom_index_pfp_add_divides_operation_left_bounded) = L) -> exists fom_value_pfp_add_divides_operation_left_bounded. ((((exists fom_beta_height_pfp_add_divides_operation_left_bounded_entry. fom_beta_height_pfp_add_divides_operation_left_bounded_entry + S (fom_value_pfp_add_divides_operation_left_bounded) = S ((S (fom_index_pfp_add_divides_operation_left_bounded)) * ac)) /\ exists fom_beta_quotient_pfp_add_divides_operation_left_bounded_entry. ab = fom_beta_quotient_pfp_add_divides_operation_left_bounded_entry * S ((S (fom_index_pfp_add_divides_operation_left_bounded)) * ac) + (fom_value_pfp_add_divides_operation_left_bounded))) /\ (exists fom_gap_pfp_add_divides_operation_left_bounded_value_bound. fom_gap_pfp_add_divides_operation_left_bounded_value_bound + S (fom_value_pfp_add_divides_operation_left_bounded) = p))) /\ (((forall fom_index_pfp_add_divides_operation_right_bounded. (exists fom_gap_pfp_add_divides_operation_right_bounded_index_bound. fom_gap_pfp_add_divides_operation_right_bounded_index_bound + S (fom_index_pfp_add_divides_operation_right_bounded) = M) -> exists fom_value_pfp_add_divides_operation_right_bounded. ((((exists fom_beta_height_pfp_add_divides_operation_right_bounded_entry. fom_beta_height_pfp_add_divides_operation_right_bounded_entry + S (fom_value_pfp_add_divides_operation_right_bounded) = S ((S (fom_index_pfp_add_divides_operation_right_bounded)) * bc)) /\ exists fom_beta_quotient_pfp_add_divides_operation_right_bounded_entry. bb = fom_beta_quotient_pfp_add_divides_operation_right_bounded_entry * S ((S (fom_index_pfp_add_divides_operation_right_bounded)) * bc) + (fom_value_pfp_add_divides_operation_right_bounded))) /\ (exists fom_gap_pfp_add_divides_operation_right_bounded_value_bound. fom_gap_pfp_add_divides_operation_right_bounded_value_bound + S (fom_value_pfp_add_divides_operation_right_bounded) = p))) /\ (((forall fom_index_pfp_add_divides_operation_result_bounded. (exists fom_gap_pfp_add_divides_operation_result_bounded_index_bound. fom_gap_pfp_add_divides_operation_result_bounded_index_bound + S (fom_index_pfp_add_divides_operation_result_bounded) = N) -> exists fom_value_pfp_add_divides_operation_result_bounded. ((((exists fom_beta_height_pfp_add_divides_operation_result_bounded_entry. fom_beta_height_pfp_add_divides_operation_result_bounded_entry + S (fom_value_pfp_add_divides_operation_result_bounded) = S ((S (fom_index_pfp_add_divides_operation_result_bounded)) * rc)) /\ exists fom_beta_quotient_pfp_add_divides_operation_result_bounded_entry. rb = fom_beta_quotient_pfp_add_divides_operation_result_bounded_entry * S ((S (fom_index_pfp_add_divides_operation_result_bounded)) * rc) + (fom_value_pfp_add_divides_operation_result_bounded))) /\ (exists fom_gap_pfp_add_divides_operation_result_bounded_value_bound. fom_gap_pfp_add_divides_operation_result_bounded_value_bound + S (fom_value_pfp_add_divides_operation_result_bounded) = p))) /\ ((exists pfaa_left_b_add_divides_operation pfaa_left_c_add_divides_operation pfaa_right_b_add_divides_operation pfaa_right_c_add_divides_operation pfaa_sum_b_add_divides_operation pfaa_sum_c_add_divides_operation pfaa_length_add_divides_operation. ((((forall pfrep_power_add_divides_operation_witness_common_left pfrep_left_add_divides_operation_witness_common_left pfrep_right_add_divides_operation_witness_common_left. ((exists pfrep_position_add_divides_operation_witness_common_leftfirst. ((pfrep_position_add_divides_operation_witness_common_leftfirst+S (pfrep_power_add_divides_operation_witness_common_left)=(L)) /\ ((((exists ff_h_pfp_add_divides_operation_witness_common_leftfirstentry. ff_h_pfp_add_divides_operation_witness_common_leftfirstentry + S (pfrep_left_add_divides_operation_witness_common_left) = S ((S (pfrep_position_add_divides_operation_witness_common_leftfirst)) * ac)) /\ exists ff_q_pfp_add_divides_operation_witness_common_leftfirstentry. ab = ff_q_pfp_add_divides_operation_witness_common_leftfirstentry * S ((S (pfrep_position_add_divides_operation_witness_common_leftfirst)) * ac) + (pfrep_left_add_divides_operation_witness_common_left)))))) \/ (((exists pfrep_gap_add_divides_operation_witness_common_leftfirstoutside. pfrep_gap_add_divides_operation_witness_common_leftfirstoutside+(L)=(pfrep_power_add_divides_operation_witness_common_left)) /\ (((pfrep_left_add_divides_operation_witness_common_left)=0))))) -> ((exists pfrep_position_add_divides_operation_witness_common_leftsecond. ((pfrep_position_add_divides_operation_witness_common_leftsecond+S (pfrep_power_add_divides_operation_witness_common_left)=(pfaa_length_add_divides_operation)) /\ ((((exists ff_h_pfp_add_divides_operation_witness_common_leftsecondentry. ff_h_pfp_add_divides_operation_witness_common_leftsecondentry + S (pfrep_right_add_divides_operation_witness_common_left) = S ((S (pfrep_position_add_divides_operation_witness_common_leftsecond)) * pfaa_left_c_add_divides_operation)) /\ exists ff_q_pfp_add_divides_operation_witness_common_leftsecondentry. pfaa_left_b_add_divides_operation = ff_q_pfp_add_divides_operation_witness_common_leftsecondentry * S ((S (pfrep_position_add_divides_operation_witness_common_leftsecond)) * pfaa_left_c_add_divides_operation) + (pfrep_right_add_divides_operation_witness_common_left)))))) \/ (((exists pfrep_gap_add_divides_operation_witness_common_leftsecondoutside. pfrep_gap_add_divides_operation_witness_common_leftsecondoutside+(pfaa_length_add_divides_operation)=(pfrep_power_add_divides_operation_witness_common_left)) /\ (((pfrep_right_add_divides_operation_witness_common_left)=0))))) -> pfrep_left_add_divides_operation_witness_common_left=pfrep_right_add_divides_operation_witness_common_left) /\ ((forall pfrep_power_add_divides_operation_witness_common_right pfrep_left_add_divides_operation_witness_common_right pfrep_right_add_divides_operation_witness_common_right. ((exists pfrep_position_add_divides_operation_witness_common_rightfirst. ((pfrep_position_add_divides_operation_witness_common_rightfirst+S (pfrep_power_add_divides_operation_witness_common_right)=(M)) /\ ((((exists ff_h_pfp_add_divides_operation_witness_common_rightfirstentry. ff_h_pfp_add_divides_operation_witness_common_rightfirstentry + S (pfrep_left_add_divides_operation_witness_common_right) = S ((S (pfrep_position_add_divides_operation_witness_common_rightfirst)) * bc)) /\ exists ff_q_pfp_add_divides_operation_witness_common_rightfirstentry. bb = ff_q_pfp_add_divides_operation_witness_common_rightfirstentry * S ((S (pfrep_position_add_divides_operation_witness_common_rightfirst)) * bc) + (pfrep_left_add_divides_operation_witness_common_right)))))) \/ (((exists pfrep_gap_add_divides_operation_witness_common_rightfirstoutside. pfrep_gap_add_divides_operation_witness_common_rightfirstoutside+(M)=(pfrep_power_add_divides_operation_witness_common_right)) /\ (((pfrep_left_add_divides_operation_witness_common_right)=0))))) -> ((exists pfrep_position_add_divides_operation_witness_common_rightsecond. ((pfrep_position_add_divides_operation_witness_common_rightsecond+S (pfrep_power_add_divides_operation_witness_common_right)=(pfaa_length_add_divides_operation)) /\ ((((exists ff_h_pfp_add_divides_operation_witness_common_rightsecondentry. ff_h_pfp_add_divides_operation_witness_common_rightsecondentry + S (pfrep_right_add_divides_operation_witness_common_right) = S ((S (pfrep_position_add_divides_operation_witness_common_rightsecond)) * pfaa_right_c_add_divides_operation)) /\ exists ff_q_pfp_add_divides_operation_witness_common_rightsecondentry. pfaa_right_b_add_divides_operation = ff_q_pfp_add_divides_operation_witness_common_rightsecondentry * S ((S (pfrep_position_add_divides_operation_witness_common_rightsecond)) * pfaa_right_c_add_divides_operation) + (pfrep_right_add_divides_operation_witness_common_right)))))) \/ (((exists pfrep_gap_add_divides_operation_witness_common_rightsecondoutside. pfrep_gap_add_divides_operation_witness_common_rightsecondoutside+(pfaa_length_add_divides_operation)=(pfrep_power_add_divides_operation_witness_common_right)) /\ (((pfrep_right_add_divides_operation_witness_common_right)=0))))) -> pfrep_left_add_divides_operation_witness_common_right=pfrep_right_add_divides_operation_witness_common_right)))) /\ (((forall pfp_index_add_divides_operation_witness_operation. (exists pfa_gap_add_divides_operation_witness_operationindex. pfa_gap_add_divides_operation_witness_operationindex + S (pfp_index_add_divides_operation_witness_operation) = (pfaa_length_add_divides_operation)) -> exists pfp_left_add_divides_operation_witness_operation pfp_right_add_divides_operation_witness_operation pfp_value_add_divides_operation_witness_operation. ((((exists ff_h_pfp_add_divides_operation_witness_operationleft. ff_h_pfp_add_divides_operation_witness_operationleft + S (pfp_left_add_divides_operation_witness_operation) = S ((S (pfp_index_add_divides_operation_witness_operation)) * pfaa_left_c_add_divides_operation)) /\ exists ff_q_pfp_add_divides_operation_witness_operationleft. pfaa_left_b_add_divides_operation = ff_q_pfp_add_divides_operation_witness_operationleft * S ((S (pfp_index_add_divides_operation_witness_operation)) * pfaa_left_c_add_divides_operation) + (pfp_left_add_divides_operation_witness_operation))) /\ (((((exists ff_h_pfp_add_divides_operation_witness_operationright. ff_h_pfp_add_divides_operation_witness_operationright + S (pfp_right_add_divides_operation_witness_operation) = S ((S (pfp_index_add_divides_operation_witness_operation)) * pfaa_right_c_add_divides_operation)) /\ exists ff_q_pfp_add_divides_operation_witness_operationright. pfaa_right_b_add_divides_operation = ff_q_pfp_add_divides_operation_witness_operationright * S ((S (pfp_index_add_divides_operation_witness_operation)) * pfaa_right_c_add_divides_operation) + (pfp_right_add_divides_operation_witness_operation))) /\ (((((exists ff_h_pfp_add_divides_operation_witness_operationtarget. ff_h_pfp_add_divides_operation_witness_operationtarget + S (pfp_value_add_divides_operation_witness_operation) = S ((S (pfp_index_add_divides_operation_witness_operation)) * pfaa_sum_c_add_divides_operation)) /\ exists ff_q_pfp_add_divides_operation_witness_operationtarget. pfaa_sum_b_add_divides_operation = ff_q_pfp_add_divides_operation_witness_operationtarget * S ((S (pfp_index_add_divides_operation_witness_operation)) * pfaa_sum_c_add_divides_operation) + (pfp_value_add_divides_operation_witness_operation))) /\ ((((exists pfa_gap_add_divides_operation_witness_operationoperationleft. pfa_gap_add_divides_operation_witness_operationoperationleft + S (pfp_left_add_divides_operation_witness_operation) = (p)) /\ (((exists pfa_gap_add_divides_operation_witness_operationoperationright. pfa_gap_add_divides_operation_witness_operationoperationright + S (pfp_right_add_divides_operation_witness_operation) = (p)) /\ ((((exists pfa_gap_add_divides_operation_witness_operationoperationresultbound. pfa_gap_add_divides_operation_witness_operationoperationresultbound + S (pfp_value_add_divides_operation_witness_operation) = (p)) /\ ((exists pfa_offset_left_add_divides_operation_witness_operationoperationresultcongruence pfa_offset_right_add_divides_operation_witness_operationoperationresultcongruence. ((pfp_left_add_divides_operation_witness_operation) + (pfp_right_add_divides_operation_witness_operation)) + (p) * pfa_offset_left_add_divides_operation_witness_operationoperationresultcongruence = (pfp_value_add_divides_operation_witness_operation) + (p) * pfa_offset_right_add_divides_operation_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_add_divides_operation_witness_output pfrep_left_add_divides_operation_witness_output pfrep_right_add_divides_operation_witness_output. ((exists pfrep_position_add_divides_operation_witness_outputfirst. ((pfrep_position_add_divides_operation_witness_outputfirst+S (pfrep_power_add_divides_operation_witness_output)=(pfaa_length_add_divides_operation)) /\ ((((exists ff_h_pfp_add_divides_operation_witness_outputfirstentry. ff_h_pfp_add_divides_operation_witness_outputfirstentry + S (pfrep_left_add_divides_operation_witness_output) = S ((S (pfrep_position_add_divides_operation_witness_outputfirst)) * pfaa_sum_c_add_divides_operation)) /\ exists ff_q_pfp_add_divides_operation_witness_outputfirstentry. pfaa_sum_b_add_divides_operation = ff_q_pfp_add_divides_operation_witness_outputfirstentry * S ((S (pfrep_position_add_divides_operation_witness_outputfirst)) * pfaa_sum_c_add_divides_operation) + (pfrep_left_add_divides_operation_witness_output)))))) \/ (((exists pfrep_gap_add_divides_operation_witness_outputfirstoutside. pfrep_gap_add_divides_operation_witness_outputfirstoutside+(pfaa_length_add_divides_operation)=(pfrep_power_add_divides_operation_witness_output)) /\ (((pfrep_left_add_divides_operation_witness_output)=0))))) -> ((exists pfrep_position_add_divides_operation_witness_outputsecond. ((pfrep_position_add_divides_operation_witness_outputsecond+S (pfrep_power_add_divides_operation_witness_output)=(N)) /\ ((((exists ff_h_pfp_add_divides_operation_witness_outputsecondentry. ff_h_pfp_add_divides_operation_witness_outputsecondentry + S (pfrep_right_add_divides_operation_witness_output) = S ((S (pfrep_position_add_divides_operation_witness_outputsecond)) * rc)) /\ exists ff_q_pfp_add_divides_operation_witness_outputsecondentry. rb = ff_q_pfp_add_divides_operation_witness_outputsecondentry * S ((S (pfrep_position_add_divides_operation_witness_outputsecond)) * rc) + (pfrep_right_add_divides_operation_witness_output)))))) \/ (((exists pfrep_gap_add_divides_operation_witness_outputsecondoutside. pfrep_gap_add_divides_operation_witness_outputsecondoutside+(N)=(pfrep_power_add_divides_operation_witness_output)) /\ (((pfrep_right_add_divides_operation_witness_output)=0))))) -> pfrep_left_add_divides_operation_witness_output=pfrep_right_add_divides_operation_witness_output))))))))))))) -> (((forall fom_index_pfp_add_divides_result_canonical. (exists fom_gap_pfp_add_divides_result_canonical_index_bound. fom_gap_pfp_add_divides_result_canonical_index_bound + S (fom_index_pfp_add_divides_result_canonical) = N) -> exists fom_value_pfp_add_divides_result_canonical. ((((exists fom_beta_height_pfp_add_divides_result_canonical_entry. fom_beta_height_pfp_add_divides_result_canonical_entry + S (fom_value_pfp_add_divides_result_canonical) = S ((S (fom_index_pfp_add_divides_result_canonical)) * rc)) /\ exists fom_beta_quotient_pfp_add_divides_result_canonical_entry. rb = fom_beta_quotient_pfp_add_divides_result_canonical_entry * S ((S (fom_index_pfp_add_divides_result_canonical)) * rc) + (fom_value_pfp_add_divides_result_canonical))) /\ (exists fom_gap_pfp_add_divides_result_canonical_value_bound. fom_gap_pfp_add_divides_result_canonical_value_bound + S (fom_value_pfp_add_divides_result_canonical) = p))) /\ ((exists pfrd_qb_add_divides_result pfrd_qc_add_divides_result pfrd_qlen_add_divides_result pfrd_pb_add_divides_result pfrd_pc_add_divides_result pfrd_plen_add_divides_result. ((((forall fom_index_pfp_add_divides_result_productleft. (exists fom_gap_pfp_add_divides_result_productleft_index_bound. fom_gap_pfp_add_divides_result_productleft_index_bound + S (fom_index_pfp_add_divides_result_productleft) = pfrd_qlen_add_divides_result) -> exists fom_value_pfp_add_divides_result_productleft. ((((exists fom_beta_height_pfp_add_divides_result_productleft_entry. fom_beta_height_pfp_add_divides_result_productleft_entry + S (fom_value_pfp_add_divides_result_productleft) = S ((S (fom_index_pfp_add_divides_result_productleft)) * pfrd_qc_add_divides_result)) /\ exists fom_beta_quotient_pfp_add_divides_result_productleft_entry. pfrd_qb_add_divides_result = fom_beta_quotient_pfp_add_divides_result_productleft_entry * S ((S (fom_index_pfp_add_divides_result_productleft)) * pfrd_qc_add_divides_result) + (fom_value_pfp_add_divides_result_productleft))) /\ (exists fom_gap_pfp_add_divides_result_productleft_value_bound. fom_gap_pfp_add_divides_result_productleft_value_bound + S (fom_value_pfp_add_divides_result_productleft) = p))) /\ (((forall fom_index_pfp_add_divides_result_productright. (exists fom_gap_pfp_add_divides_result_productright_index_bound. fom_gap_pfp_add_divides_result_productright_index_bound + S (fom_index_pfp_add_divides_result_productright) = J) -> exists fom_value_pfp_add_divides_result_productright. ((((exists fom_beta_height_pfp_add_divides_result_productright_entry. fom_beta_height_pfp_add_divides_result_productright_entry + S (fom_value_pfp_add_divides_result_productright) = S ((S (fom_index_pfp_add_divides_result_productright)) * dc)) /\ exists fom_beta_quotient_pfp_add_divides_result_productright_entry. db = fom_beta_quotient_pfp_add_divides_result_productright_entry * S ((S (fom_index_pfp_add_divides_result_productright)) * dc) + (fom_value_pfp_add_divides_result_productright))) /\ (exists fom_gap_pfp_add_divides_result_productright_value_bound. fom_gap_pfp_add_divides_result_productright_value_bound + S (fom_value_pfp_add_divides_result_productright) = p))) /\ (((((((pfrd_qlen_add_divides_result)=0 \/ (J)=0) /\ (((pfrd_plen_add_divides_result)=0)))) \/ (((~((pfrd_qlen_add_divides_result)=0)) /\ (((~((J)=0)) /\ (((pfrd_qlen_add_divides_result)+(J)=S (pfrd_plen_add_divides_result)))))))) /\ ((forall pfc_index_add_divides_result_productcoefficients. (exists pfa_gap_add_divides_result_productcoefficientsbound. pfa_gap_add_divides_result_productcoefficientsbound + S (pfc_index_add_divides_result_productcoefficients) = (pfrd_plen_add_divides_result)) -> exists pfc_value_add_divides_result_productcoefficients. ((((exists ff_h_pfp_add_divides_result_productcoefficientsentry. ff_h_pfp_add_divides_result_productcoefficientsentry + S (pfc_value_add_divides_result_productcoefficients) = S ((S (pfc_index_add_divides_result_productcoefficients)) * pfrd_pc_add_divides_result)) /\ exists ff_q_pfp_add_divides_result_productcoefficientsentry. pfrd_pb_add_divides_result = ff_q_pfp_add_divides_result_productcoefficientsentry * S ((S (pfc_index_add_divides_result_productcoefficients)) * pfrd_pc_add_divides_result) + (pfc_value_add_divides_result_productcoefficients))) /\ ((exists pfc_terms_code_add_divides_result_productcoefficientscoefficient pfc_terms_scale_add_divides_result_productcoefficientscoefficient pfc_natural_sum_add_divides_result_productcoefficientscoefficient. ((forall pfc_index_add_divides_result_productcoefficientscoefficientdiagonal. (exists pfa_gap_add_divides_result_productcoefficientscoefficientdiagonalbound. pfa_gap_add_divides_result_productcoefficientscoefficientdiagonalbound + S (pfc_index_add_divides_result_productcoefficientscoefficientdiagonal) = (S (pfc_index_add_divides_result_productcoefficients))) -> exists pfc_value_add_divides_result_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_add_divides_result_productcoefficientscoefficientdiagonalentry. ff_h_pfp_add_divides_result_productcoefficientscoefficientdiagonalentry + S (pfc_value_add_divides_result_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_add_divides_result_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_divides_result_productcoefficientscoefficient)) /\ exists ff_q_pfp_add_divides_result_productcoefficientscoefficientdiagonalentry. pfc_terms_code_add_divides_result_productcoefficientscoefficient = ff_q_pfp_add_divides_result_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_add_divides_result_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_divides_result_productcoefficientscoefficient) + (pfc_value_add_divides_result_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_add_divides_result_productcoefficientscoefficientdiagonalterm pfc_left_add_divides_result_productcoefficientscoefficientdiagonalterm pfc_right_add_divides_result_productcoefficientscoefficientdiagonalterm. (((pfc_index_add_divides_result_productcoefficientscoefficientdiagonal)+pfc_complement_add_divides_result_productcoefficientscoefficientdiagonalterm=(pfc_index_add_divides_result_productcoefficients)) /\ ((((((exists pfa_gap_add_divides_result_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_add_divides_result_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_add_divides_result_productcoefficientscoefficientdiagonal) = (pfrd_qlen_add_divides_result)) /\ ((((exists ff_h_pfp_add_divides_result_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_add_divides_result_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_add_divides_result_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_add_divides_result_productcoefficientscoefficientdiagonal)) * pfrd_qc_add_divides_result)) /\ exists ff_q_pfp_add_divides_result_productcoefficientscoefficientdiagonaltermleftentry. pfrd_qb_add_divides_result = ff_q_pfp_add_divides_result_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_add_divides_result_productcoefficientscoefficientdiagonal)) * pfrd_qc_add_divides_result) + (pfc_left_add_divides_result_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_divides_result_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_add_divides_result_productcoefficientscoefficientdiagonaltermleftoutside+(pfrd_qlen_add_divides_result)=(pfc_index_add_divides_result_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_add_divides_result_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_add_divides_result_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_add_divides_result_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_add_divides_result_productcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_add_divides_result_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_add_divides_result_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_add_divides_result_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_add_divides_result_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_add_divides_result_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_add_divides_result_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_add_divides_result_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_add_divides_result_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_divides_result_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_add_divides_result_productcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_add_divides_result_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_add_divides_result_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_add_divides_result_productcoefficientscoefficientdiagonal)=pfc_left_add_divides_result_productcoefficientscoefficientdiagonalterm*pfc_right_add_divides_result_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_add_divides_result_productcoefficientscoefficientsum fs_v_pfc_add_divides_result_productcoefficientscoefficientsum. ((((exists fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_start. fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_add_divides_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_start. fs_u_pfc_add_divides_result_productcoefficientscoefficientsum = fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_add_divides_result_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_add_divides_result_productcoefficientscoefficient) = S ((S (S (pfc_index_add_divides_result_productcoefficients))) * fs_v_pfc_add_divides_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_add_divides_result_productcoefficientscoefficientsum = fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_add_divides_result_productcoefficients))) * fs_v_pfc_add_divides_result_productcoefficientscoefficientsum) + (pfc_natural_sum_add_divides_result_productcoefficientscoefficient))) /\ forall fs_i_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps = S (pfc_index_add_divides_result_productcoefficients)) -> exists fs_a_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps fs_r_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps fs_s_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_divides_result_productcoefficientscoefficient)) /\ exists fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_add_divides_result_productcoefficientscoefficient = fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_divides_result_productcoefficientscoefficient) + (fs_a_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_add_divides_result_productcoefficientscoefficientsum = fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_result_productcoefficientscoefficientsum) + (fs_r_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_add_divides_result_productcoefficientscoefficientsum = fs_q_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_divides_result_productcoefficientscoefficientsum) + (fs_s_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps = fs_r_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps + fs_a_pfc_add_divides_result_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_add_divides_result_productcoefficientscoefficientresiduebound. pfa_gap_add_divides_result_productcoefficientscoefficientresiduebound + S (pfc_value_add_divides_result_productcoefficients) = (p)) /\ ((exists pfa_offset_left_add_divides_result_productcoefficientscoefficientresiduecongruence pfa_offset_right_add_divides_result_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_add_divides_result_productcoefficientscoefficient) + (p) * pfa_offset_left_add_divides_result_productcoefficientscoefficientresiduecongruence = (pfc_value_add_divides_result_productcoefficients) + (p) * pfa_offset_right_add_divides_result_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_add_divides_result_target pfrep_left_add_divides_result_target pfrep_right_add_divides_result_target. ((exists pfrep_position_add_divides_result_targetfirst. ((pfrep_position_add_divides_result_targetfirst+S (pfrep_power_add_divides_result_target)=(pfrd_plen_add_divides_result)) /\ ((((exists ff_h_pfp_add_divides_result_targetfirstentry. ff_h_pfp_add_divides_result_targetfirstentry + S (pfrep_left_add_divides_result_target) = S ((S (pfrep_position_add_divides_result_targetfirst)) * pfrd_pc_add_divides_result)) /\ exists ff_q_pfp_add_divides_result_targetfirstentry. pfrd_pb_add_divides_result = ff_q_pfp_add_divides_result_targetfirstentry * S ((S (pfrep_position_add_divides_result_targetfirst)) * pfrd_pc_add_divides_result) + (pfrep_left_add_divides_result_target)))))) \/ (((exists pfrep_gap_add_divides_result_targetfirstoutside. pfrep_gap_add_divides_result_targetfirstoutside+(pfrd_plen_add_divides_result)=(pfrep_power_add_divides_result_target)) /\ (((pfrep_left_add_divides_result_target)=0))))) -> ((exists pfrep_position_add_divides_result_targetsecond. ((pfrep_position_add_divides_result_targetsecond+S (pfrep_power_add_divides_result_target)=(N)) /\ ((((exists ff_h_pfp_add_divides_result_targetsecondentry. ff_h_pfp_add_divides_result_targetsecondentry + S (pfrep_right_add_divides_result_target) = S ((S (pfrep_position_add_divides_result_targetsecond)) * rc)) /\ exists ff_q_pfp_add_divides_result_targetsecondentry. rb = ff_q_pfp_add_divides_result_targetsecondentry * S ((S (pfrep_position_add_divides_result_targetsecond)) * rc) + (pfrep_right_add_divides_result_target)))))) \/ (((exists pfrep_gap_add_divides_result_targetsecondoutside. pfrep_gap_add_divides_result_targetsecondoutside+(N)=(pfrep_power_add_divides_result_target)) /\ (((pfrep_right_add_divides_result_target)=0))))) -> pfrep_left_add_divides_result_target=pfrep_right_add_divides_result_target)))))))

Constructive proof overview

Generated structural guide

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

The unchanged tactic script uses 11 declared prerequisites and contains 263 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 PG0042 prime_field_polynomial_aligned_add_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 PG0041 prime_field_polynomial_aligned_add_functional PG0026 prime_field_polynomial_right_divides_from_product

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

263 script commands · 43 reading checkpoints · 15 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 add exists.

  1. L76
    have hw : ∃ wb. ∃ wc. FpPolynomialAlignedAdd(p,x,x1,x2,x6,x7,x8,wb,wc,x2 + x8)Definitions: FpPolynomialAlignedAdd
  2. L77
    specialize prime_field_polynomial_aligned_add_exists (p)
  3. L78
    specialize prime_field_polynomial_aligned_add_exists (x)
  4. L79
    specialize prime_field_polynomial_aligned_add_exists (x1)
  5. L80
    specialize prime_field_polynomial_aligned_add_exists (x2)
  6. L81
    specialize prime_field_polynomial_aligned_add_exists (x6)
  7. L82
    specialize prime_field_polynomial_aligned_add_exists (x7)
  8. L83
    specialize prime_field_polynomial_aligned_add_exists (x8)
  9. L84
    apply prime_field_polynomial_aligned_add_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(x,x1,x2,p) ∧ (BetaPrefixInto(x6,x7,x8,p) ∧ BetaPrefixInto(x12,x13,x2 + x8,p))Definitions: BetaPrefixInto
  2. L91
    specialize prime_field_polynomial_aligned_add_bounded (p)
  3. L92
    specialize prime_field_polynomial_aligned_add_bounded (x)
  4. L93
    specialize prime_field_polynomial_aligned_add_bounded (x1)
  5. L94
    specialize prime_field_polynomial_aligned_add_bounded (x2)
  6. L95
    specialize prime_field_polynomial_aligned_add_bounded (x6)
  7. L96
    specialize prime_field_polynomial_aligned_add_bounded (x7)
  8. L97
    specialize prime_field_polynomial_aligned_add_bounded (x8)
  9. L98
    specialize prime_field_polynomial_aligned_add_bounded (x12)
  10. L99
    specialize prime_field_polynomial_aligned_add_bounded (x13)
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)+(x8))
  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_right
  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,x3,x4,x5,x9,x10,x11,x15,x16,x14)Definitions: FpPolynomialAlignedAdd
  2. L140
    specialize prime_field_polynomial_aligned_convolution_right_add (p)
  3. L141
    specialize prime_field_polynomial_aligned_convolution_right_add (x)
  4. L142
    specialize prime_field_polynomial_aligned_convolution_right_add (x1)
  5. L143
    specialize prime_field_polynomial_aligned_convolution_right_add (x2)
  6. L144
    specialize prime_field_polynomial_aligned_convolution_right_add (x6)
  7. L145
    specialize prime_field_polynomial_aligned_convolution_right_add (x7)
  8. L146
    specialize prime_field_polynomial_aligned_convolution_right_add (x8)
  9. L147
    specialize prime_field_polynomial_aligned_convolution_right_add (x12)
  10. L148
    specialize prime_field_polynomial_aligned_convolution_right_add (x13)
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)+(x8))
  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 (x3)
  6. L154
    specialize prime_field_polynomial_aligned_convolution_right_add (x4)
  7. L155
    specialize prime_field_polynomial_aligned_convolution_right_add (x5)
  8. L156
    specialize prime_field_polynomial_aligned_convolution_right_add (x9)
  9. L157
    specialize prime_field_polynomial_aligned_convolution_right_add (x10)
  10. L158
    specialize prime_field_polynomial_aligned_convolution_right_add (x11)
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 (x15)
  2. L160
    specialize prime_field_polynomial_aligned_convolution_right_add (x16)
  3. L161
    specialize prime_field_polynomial_aligned_convolution_right_add (x14)
  4. L162
    apply prime_field_polynomial_aligned_convolution_right_add
  5. L163
    exact hp
  6. L164
    exact hw_witness_witness
  7. L165
    exact hDA_right_witness_witness_witness_witness_witness_witness_left
  8. L166
    exact hDB_right_witness_witness_witness_witness_witness_witness_left
  9. L167
    exact hresult_product_witness_witness
30Establish hcompareL168–177

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

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

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

  1. L178
    specialize prime_field_polynomial_aligned_add_transport (N)
  2. L179
    specialize prime_field_polynomial_aligned_add_transport (x3)
  3. L180
    specialize prime_field_polynomial_aligned_add_transport (x4)
  4. L181
    specialize prime_field_polynomial_aligned_add_transport (x5)
  5. L182
    specialize prime_field_polynomial_aligned_add_transport (x9)
  6. L183
    specialize prime_field_polynomial_aligned_add_transport (x10)
  7. L184
    specialize prime_field_polynomial_aligned_add_transport (x11)
  8. L185
    specialize prime_field_polynomial_aligned_add_transport (rb)
  9. L186
    specialize prime_field_polynomial_aligned_add_transport (rc)
  10. L187
    specialize prime_field_polynomial_aligned_add_transport (N)
32Use earlier factsL188–190

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

  1. L188
    apply prime_field_polynomial_aligned_add_transport
  2. L189
    exact hfirst_bounded
  3. L190
    exact hsecond_bounded
33Establish hrboundL191–200

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

  1. L191
    have hrbound : BetaPrefixInto(ab,ac,L,p) ∧ (BetaPrefixInto(bb,bc,M,p) ∧ BetaPrefixInto(rb,rc,N,p))Definitions: BetaPrefixInto
  2. L192
    specialize prime_field_polynomial_aligned_add_bounded (p)
  3. L193
    specialize prime_field_polynomial_aligned_add_bounded (ab)
  4. L194
    specialize prime_field_polynomial_aligned_add_bounded (ac)
  5. L195
    specialize prime_field_polynomial_aligned_add_bounded (L)
  6. L196
    specialize prime_field_polynomial_aligned_add_bounded (bb)
  7. L197
    specialize prime_field_polynomial_aligned_add_bounded (bc)
  8. L198
    specialize prime_field_polynomial_aligned_add_bounded (M)
  9. L199
    specialize prime_field_polynomial_aligned_add_bounded (rb)
  10. L200
    specialize prime_field_polynomial_aligned_add_bounded (rc)
34Use earlier factsL201–203

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

  1. L201
    specialize prime_field_polynomial_aligned_add_bounded (N)
  2. L202
    apply prime_field_polynomial_aligned_add_bounded
  3. L203
    exact hop
35Separate the logical casesL204–205

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

  1. L204
    cases hrbound
  2. L205
    cases hrbound_right
36Use earlier factsL206–213

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

  1. L206
    exact hrbound_right_right
  2. L207
    exact hDA_right_witness_witness_witness_witness_witness_witness_right
  3. L208
    exact hDB_right_witness_witness_witness_witness_witness_witness_right
  4. L209
    specialize prime_field_polynomial_power_coefficient_functional (rb)
  5. L210
    specialize prime_field_polynomial_power_coefficient_functional (rc)
  6. L211
    specialize prime_field_polynomial_power_coefficient_functional (N)
  7. L212
    apply prime_field_polynomial_power_coefficient_functional
  8. L213
    exact hop
37Establish heqL214–223

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

  1. L214
    have heq : PolynomialEquivalent(x15,x16,x14,rb,rc,N)Definitions: PolynomialEquivalent
  2. L215
    specialize prime_field_polynomial_aligned_add_functional (p)
  3. L216
    specialize prime_field_polynomial_aligned_add_functional (x3)
  4. L217
    specialize prime_field_polynomial_aligned_add_functional (x4)
  5. L218
    specialize prime_field_polynomial_aligned_add_functional (x5)
  6. L219
    specialize prime_field_polynomial_aligned_add_functional (x9)
  7. L220
    specialize prime_field_polynomial_aligned_add_functional (x10)
  8. L221
    specialize prime_field_polynomial_aligned_add_functional (x11)
  9. L222
    specialize prime_field_polynomial_aligned_add_functional (x15)
  10. L223
    specialize prime_field_polynomial_aligned_add_functional (x16)
38Use earlier factsL224–231

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

  1. L224
    specialize prime_field_polynomial_aligned_add_functional (x14)
  2. L225
    specialize prime_field_polynomial_aligned_add_functional (rb)
  3. L226
    specialize prime_field_polynomial_aligned_add_functional (rc)
  4. L227
    specialize prime_field_polynomial_aligned_add_functional (N)
  5. L228
    apply prime_field_polynomial_aligned_add_functional
  6. L229
    exact hp
  7. L230
    exact hdistr
  8. L231
    exact hcompare
39Establish hopboundL232–241

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

  1. L232
    have hopbound : BetaPrefixInto(ab,ac,L,p) ∧ (BetaPrefixInto(bb,bc,M,p) ∧ BetaPrefixInto(rb,rc,N,p))Definitions: BetaPrefixInto
  2. L233
    specialize prime_field_polynomial_aligned_add_bounded (p)
  3. L234
    specialize prime_field_polynomial_aligned_add_bounded (ab)
  4. L235
    specialize prime_field_polynomial_aligned_add_bounded (ac)
  5. L236
    specialize prime_field_polynomial_aligned_add_bounded (L)
  6. L237
    specialize prime_field_polynomial_aligned_add_bounded (bb)
  7. L238
    specialize prime_field_polynomial_aligned_add_bounded (bc)
  8. L239
    specialize prime_field_polynomial_aligned_add_bounded (M)
  9. L240
    specialize prime_field_polynomial_aligned_add_bounded (rb)
  10. L241
    specialize prime_field_polynomial_aligned_add_bounded (rc)
40Use earlier factsL242–244

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

  1. L242
    specialize prime_field_polynomial_aligned_add_bounded (N)
  2. L243
    apply prime_field_polynomial_aligned_add_bounded
  3. L244
    exact hop
41Separate the logical casesL245–246

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

  1. L245
    cases hopbound
  2. L246
    cases hopbound_right
42Use earlier factsL247–256

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

  1. L247
    specialize prime_field_polynomial_right_divides_from_product (p)
  2. L248
    specialize prime_field_polynomial_right_divides_from_product (db)
  3. L249
    specialize prime_field_polynomial_right_divides_from_product (dc)
  4. L250
    specialize prime_field_polynomial_right_divides_from_product (J)
  5. L251
    specialize prime_field_polynomial_right_divides_from_product (rb)
  6. L252
    specialize prime_field_polynomial_right_divides_from_product (rc)
  7. L253
    specialize prime_field_polynomial_right_divides_from_product (N)
  8. L254
    specialize prime_field_polynomial_right_divides_from_product (x12)
  9. L255
    specialize prime_field_polynomial_right_divides_from_product (x13)
  10. L256
    specialize prime_field_polynomial_right_divides_from_product ((x2)+(x8))
43Use earlier factsL257–263

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

  1. L257
    specialize prime_field_polynomial_right_divides_from_product (x15)
  2. L258
    specialize prime_field_polynomial_right_divides_from_product (x16)
  3. L259
    specialize prime_field_polynomial_right_divides_from_product (x14)
  4. L260
    apply prime_field_polynomial_right_divides_from_product
  5. L261
    exact hopbound_right_right
  6. L262
    exact hresult_product_witness_witness
  7. L263
    exact heq

Library-wide reading audit

Original exact command ledger · 263 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_add_hfirstleft. (exists fom_gap_pfp_add_hfirstleft_index_bound. fom_gap_pfp_add_hfirstleft_index_bound + S (fom_index_pfp_add_hfirstleft) = x2) -> exists fom_value_pfp_add_hfirstleft. ((((exists fom_beta_height_pfp_add_hfirstleft_entry. fom_beta_height_pfp_add_hfirstleft_entry + S (fom_value_pfp_add_hfirstleft) = S ((S (fom_index_pfp_add_hfirstleft)) * x1)) /\ exists fom_beta_quotient_pfp_add_hfirstleft_entry. x = fom_beta_quotient_pfp_add_hfirstleft_entry * S ((S (fom_index_pfp_add_hfirstleft)) * x1) + (fom_value_pfp_add_hfirstleft))) /\ (exists fom_gap_pfp_add_hfirstleft_value_bound. fom_gap_pfp_add_hfirstleft_value_bound + S (fom_value_pfp_add_hfirstleft) = p))) /\ (((forall fom_index_pfp_add_hfirstright. (exists fom_gap_pfp_add_hfirstright_index_bound. fom_gap_pfp_add_hfirstright_index_bound + S (fom_index_pfp_add_hfirstright) = J) -> exists fom_value_pfp_add_hfirstright. ((((exists fom_beta_height_pfp_add_hfirstright_entry. fom_beta_height_pfp_add_hfirstright_entry + S (fom_value_pfp_add_hfirstright) = S ((S (fom_index_pfp_add_hfirstright)) * dc)) /\ exists fom_beta_quotient_pfp_add_hfirstright_entry. db = fom_beta_quotient_pfp_add_hfirstright_entry * S ((S (fom_index_pfp_add_hfirstright)) * dc) + (fom_value_pfp_add_hfirstright))) /\ (exists fom_gap_pfp_add_hfirstright_value_bound. fom_gap_pfp_add_hfirstright_value_bound + S (fom_value_pfp_add_hfirstright) = p))) /\ (((((((x2)=0 \/ (J)=0) /\ (((x5)=0)))) \/ (((~((x2)=0)) /\ (((~((J)=0)) /\ (((x2)+(J)=S (x5)))))))) /\ ((forall pfc_index_add_hfirstcoefficients. (exists pfa_gap_add_hfirstcoefficientsbound. pfa_gap_add_hfirstcoefficientsbound + S (pfc_index_add_hfirstcoefficients) = (x5)) -> exists pfc_value_add_hfirstcoefficients. ((((exists ff_h_pfp_add_hfirstcoefficientsentry. ff_h_pfp_add_hfirstcoefficientsentry + S (pfc_value_add_hfirstcoefficients) = S ((S (pfc_index_add_hfirstcoefficients)) * x4)) /\ exists ff_q_pfp_add_hfirstcoefficientsentry. x3 = ff_q_pfp_add_hfirstcoefficientsentry * S ((S (pfc_index_add_hfirstcoefficients)) * x4) + (pfc_value_add_hfirstcoefficients))) /\ ((exists pfc_terms_code_add_hfirstcoefficientscoefficient pfc_terms_scale_add_hfirstcoefficientscoefficient pfc_natural_sum_add_hfirstcoefficientscoefficient. ((forall pfc_index_add_hfirstcoefficientscoefficientdiagonal. (exists pfa_gap_add_hfirstcoefficientscoefficientdiagonalbound. pfa_gap_add_hfirstcoefficientscoefficientdiagonalbound + S (pfc_index_add_hfirstcoefficientscoefficientdiagonal) = (S (pfc_index_add_hfirstcoefficients))) -> exists pfc_value_add_hfirstcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_add_hfirstcoefficientscoefficientdiagonalentry. ff_h_pfp_add_hfirstcoefficientscoefficientdiagonalentry + S (pfc_value_add_hfirstcoefficientscoefficientdiagonal) = S ((S (pfc_index_add_hfirstcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_hfirstcoefficientscoefficient)) /\ exists ff_q_pfp_add_hfirstcoefficientscoefficientdiagonalentry. pfc_terms_code_add_hfirstcoefficientscoefficient = ff_q_pfp_add_hfirstcoefficientscoefficientdiagonalentry * S ((S (pfc_index_add_hfirstcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_hfirstcoefficientscoefficient) + (pfc_value_add_hfirstcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_add_hfirstcoefficientscoefficientdiagonalterm pfc_left_add_hfirstcoefficientscoefficientdiagonalterm pfc_right_add_hfirstcoefficientscoefficientdiagonalterm. (((pfc_index_add_hfirstcoefficientscoefficientdiagonal)+pfc_complement_add_hfirstcoefficientscoefficientdiagonalterm=(pfc_index_add_hfirstcoefficients)) /\ ((((((exists pfa_gap_add_hfirstcoefficientscoefficientdiagonaltermleftinside. pfa_gap_add_hfirstcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_add_hfirstcoefficientscoefficientdiagonal) = (x2)) /\ ((((exists ff_h_pfp_add_hfirstcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_add_hfirstcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_add_hfirstcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_add_hfirstcoefficientscoefficientdiagonal)) * x1)) /\ exists ff_q_pfp_add_hfirstcoefficientscoefficientdiagonaltermleftentry. x = ff_q_pfp_add_hfirstcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_add_hfirstcoefficientscoefficientdiagonal)) * x1) + (pfc_left_add_hfirstcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_hfirstcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_add_hfirstcoefficientscoefficientdiagonaltermleftoutside+(x2)=(pfc_index_add_hfirstcoefficientscoefficientdiagonal)) /\ (((pfc_left_add_hfirstcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_add_hfirstcoefficientscoefficientdiagonaltermrightinside. pfa_gap_add_hfirstcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_add_hfirstcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_add_hfirstcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_add_hfirstcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_add_hfirstcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_add_hfirstcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_add_hfirstcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_add_hfirstcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_add_hfirstcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_add_hfirstcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_hfirstcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_add_hfirstcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_add_hfirstcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_add_hfirstcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_add_hfirstcoefficientscoefficientdiagonal)=pfc_left_add_hfirstcoefficientscoefficientdiagonalterm*pfc_right_add_hfirstcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_add_hfirstcoefficientscoefficientsum fs_v_pfc_add_hfirstcoefficientscoefficientsum. ((((exists fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_start. fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_add_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_start. fs_u_pfc_add_hfirstcoefficientscoefficientsum = fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_add_hfirstcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_terminal. fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_add_hfirstcoefficientscoefficient) = S ((S (S (pfc_index_add_hfirstcoefficients))) * fs_v_pfc_add_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_terminal. fs_u_pfc_add_hfirstcoefficientscoefficientsum = fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_add_hfirstcoefficients))) * fs_v_pfc_add_hfirstcoefficientscoefficientsum) + (pfc_natural_sum_add_hfirstcoefficientscoefficient))) /\ forall fs_i_pfc_add_hfirstcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_add_hfirstcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_add_hfirstcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_add_hfirstcoefficientscoefficientsum_body_steps = S (pfc_index_add_hfirstcoefficients)) -> exists fs_a_pfc_add_hfirstcoefficientscoefficientsum_body_steps fs_r_pfc_add_hfirstcoefficientscoefficientsum_body_steps fs_s_pfc_add_hfirstcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_add_hfirstcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_hfirstcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_hfirstcoefficientscoefficient)) /\ exists fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_add_hfirstcoefficientscoefficient = fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_add_hfirstcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_hfirstcoefficientscoefficient) + (fs_a_pfc_add_hfirstcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_add_hfirstcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_add_hfirstcoefficientscoefficientsum = fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_add_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_hfirstcoefficientscoefficientsum) + (fs_r_pfc_add_hfirstcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_add_hfirstcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_add_hfirstcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_add_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_hfirstcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_add_hfirstcoefficientscoefficientsum = fs_q_pfc_add_hfirstcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_add_hfirstcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_hfirstcoefficientscoefficientsum) + (fs_s_pfc_add_hfirstcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_add_hfirstcoefficientscoefficientsum_body_steps = fs_r_pfc_add_hfirstcoefficientscoefficientsum_body_steps + fs_a_pfc_add_hfirstcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_add_hfirstcoefficientscoefficientresiduebound. pfa_gap_add_hfirstcoefficientscoefficientresiduebound + S (pfc_value_add_hfirstcoefficients) = (p)) /\ ((exists pfa_offset_left_add_hfirstcoefficientscoefficientresiduecongruence pfa_offset_right_add_hfirstcoefficientscoefficientresiduecongruence. (pfc_natural_sum_add_hfirstcoefficientscoefficient) + (p) * pfa_offset_left_add_hfirstcoefficientscoefficientresiduecongruence = (pfc_value_add_hfirstcoefficients) + (p) * pfa_offset_right_add_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_add_hfirst_bounded. (exists fom_gap_pfp_add_hfirst_bounded_index_bound. fom_gap_pfp_add_hfirst_bounded_index_bound + S (fom_index_pfp_add_hfirst_bounded) = x5) -> exists fom_value_pfp_add_hfirst_bounded. ((((exists fom_beta_height_pfp_add_hfirst_bounded_entry. fom_beta_height_pfp_add_hfirst_bounded_entry + S (fom_value_pfp_add_hfirst_bounded) = S ((S (fom_index_pfp_add_hfirst_bounded)) * x4)) /\ exists fom_beta_quotient_pfp_add_hfirst_bounded_entry. x3 = fom_beta_quotient_pfp_add_hfirst_bounded_entry * S ((S (fom_index_pfp_add_hfirst_bounded)) * x4) + (fom_value_pfp_add_hfirst_bounded))) /\ (exists fom_gap_pfp_add_hfirst_bounded_value_bound. fom_gap_pfp_add_hfirst_bounded_value_bound + S (fom_value_pfp_add_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_add_hsecondleft. (exists fom_gap_pfp_add_hsecondleft_index_bound. fom_gap_pfp_add_hsecondleft_index_bound + S (fom_index_pfp_add_hsecondleft) = x8) -> exists fom_value_pfp_add_hsecondleft. ((((exists fom_beta_height_pfp_add_hsecondleft_entry. fom_beta_height_pfp_add_hsecondleft_entry + S (fom_value_pfp_add_hsecondleft) = S ((S (fom_index_pfp_add_hsecondleft)) * x7)) /\ exists fom_beta_quotient_pfp_add_hsecondleft_entry. x6 = fom_beta_quotient_pfp_add_hsecondleft_entry * S ((S (fom_index_pfp_add_hsecondleft)) * x7) + (fom_value_pfp_add_hsecondleft))) /\ (exists fom_gap_pfp_add_hsecondleft_value_bound. fom_gap_pfp_add_hsecondleft_value_bound + S (fom_value_pfp_add_hsecondleft) = p))) /\ (((forall fom_index_pfp_add_hsecondright. (exists fom_gap_pfp_add_hsecondright_index_bound. fom_gap_pfp_add_hsecondright_index_bound + S (fom_index_pfp_add_hsecondright) = J) -> exists fom_value_pfp_add_hsecondright. ((((exists fom_beta_height_pfp_add_hsecondright_entry. fom_beta_height_pfp_add_hsecondright_entry + S (fom_value_pfp_add_hsecondright) = S ((S (fom_index_pfp_add_hsecondright)) * dc)) /\ exists fom_beta_quotient_pfp_add_hsecondright_entry. db = fom_beta_quotient_pfp_add_hsecondright_entry * S ((S (fom_index_pfp_add_hsecondright)) * dc) + (fom_value_pfp_add_hsecondright))) /\ (exists fom_gap_pfp_add_hsecondright_value_bound. fom_gap_pfp_add_hsecondright_value_bound + S (fom_value_pfp_add_hsecondright) = p))) /\ (((((((x8)=0 \/ (J)=0) /\ (((x11)=0)))) \/ (((~((x8)=0)) /\ (((~((J)=0)) /\ (((x8)+(J)=S (x11)))))))) /\ ((forall pfc_index_add_hsecondcoefficients. (exists pfa_gap_add_hsecondcoefficientsbound. pfa_gap_add_hsecondcoefficientsbound + S (pfc_index_add_hsecondcoefficients) = (x11)) -> exists pfc_value_add_hsecondcoefficients. ((((exists ff_h_pfp_add_hsecondcoefficientsentry. ff_h_pfp_add_hsecondcoefficientsentry + S (pfc_value_add_hsecondcoefficients) = S ((S (pfc_index_add_hsecondcoefficients)) * x10)) /\ exists ff_q_pfp_add_hsecondcoefficientsentry. x9 = ff_q_pfp_add_hsecondcoefficientsentry * S ((S (pfc_index_add_hsecondcoefficients)) * x10) + (pfc_value_add_hsecondcoefficients))) /\ ((exists pfc_terms_code_add_hsecondcoefficientscoefficient pfc_terms_scale_add_hsecondcoefficientscoefficient pfc_natural_sum_add_hsecondcoefficientscoefficient. ((forall pfc_index_add_hsecondcoefficientscoefficientdiagonal. (exists pfa_gap_add_hsecondcoefficientscoefficientdiagonalbound. pfa_gap_add_hsecondcoefficientscoefficientdiagonalbound + S (pfc_index_add_hsecondcoefficientscoefficientdiagonal) = (S (pfc_index_add_hsecondcoefficients))) -> exists pfc_value_add_hsecondcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_add_hsecondcoefficientscoefficientdiagonalentry. ff_h_pfp_add_hsecondcoefficientscoefficientdiagonalentry + S (pfc_value_add_hsecondcoefficientscoefficientdiagonal) = S ((S (pfc_index_add_hsecondcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_hsecondcoefficientscoefficient)) /\ exists ff_q_pfp_add_hsecondcoefficientscoefficientdiagonalentry. pfc_terms_code_add_hsecondcoefficientscoefficient = ff_q_pfp_add_hsecondcoefficientscoefficientdiagonalentry * S ((S (pfc_index_add_hsecondcoefficientscoefficientdiagonal)) * pfc_terms_scale_add_hsecondcoefficientscoefficient) + (pfc_value_add_hsecondcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_add_hsecondcoefficientscoefficientdiagonalterm pfc_left_add_hsecondcoefficientscoefficientdiagonalterm pfc_right_add_hsecondcoefficientscoefficientdiagonalterm. (((pfc_index_add_hsecondcoefficientscoefficientdiagonal)+pfc_complement_add_hsecondcoefficientscoefficientdiagonalterm=(pfc_index_add_hsecondcoefficients)) /\ ((((((exists pfa_gap_add_hsecondcoefficientscoefficientdiagonaltermleftinside. pfa_gap_add_hsecondcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_add_hsecondcoefficientscoefficientdiagonal) = (x8)) /\ ((((exists ff_h_pfp_add_hsecondcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_add_hsecondcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_add_hsecondcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_add_hsecondcoefficientscoefficientdiagonal)) * x7)) /\ exists ff_q_pfp_add_hsecondcoefficientscoefficientdiagonaltermleftentry. x6 = ff_q_pfp_add_hsecondcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_add_hsecondcoefficientscoefficientdiagonal)) * x7) + (pfc_left_add_hsecondcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_hsecondcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_add_hsecondcoefficientscoefficientdiagonaltermleftoutside+(x8)=(pfc_index_add_hsecondcoefficientscoefficientdiagonal)) /\ (((pfc_left_add_hsecondcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_add_hsecondcoefficientscoefficientdiagonaltermrightinside. pfa_gap_add_hsecondcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_add_hsecondcoefficientscoefficientdiagonalterm) = (J)) /\ ((((exists ff_h_pfp_add_hsecondcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_add_hsecondcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_add_hsecondcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_add_hsecondcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_add_hsecondcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_add_hsecondcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_add_hsecondcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_add_hsecondcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_add_hsecondcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_add_hsecondcoefficientscoefficientdiagonaltermrightoutside+(J)=(pfc_complement_add_hsecondcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_add_hsecondcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_add_hsecondcoefficientscoefficientdiagonal)=pfc_left_add_hsecondcoefficientscoefficientdiagonalterm*pfc_right_add_hsecondcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_add_hsecondcoefficientscoefficientsum fs_v_pfc_add_hsecondcoefficientscoefficientsum. ((((exists fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_start. fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_add_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_start. fs_u_pfc_add_hsecondcoefficientscoefficientsum = fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_add_hsecondcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_terminal. fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_add_hsecondcoefficientscoefficient) = S ((S (S (pfc_index_add_hsecondcoefficients))) * fs_v_pfc_add_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_terminal. fs_u_pfc_add_hsecondcoefficientscoefficientsum = fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_add_hsecondcoefficients))) * fs_v_pfc_add_hsecondcoefficientscoefficientsum) + (pfc_natural_sum_add_hsecondcoefficientscoefficient))) /\ forall fs_i_pfc_add_hsecondcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_add_hsecondcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_add_hsecondcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_add_hsecondcoefficientscoefficientsum_body_steps = S (pfc_index_add_hsecondcoefficients)) -> exists fs_a_pfc_add_hsecondcoefficientscoefficientsum_body_steps fs_r_pfc_add_hsecondcoefficientscoefficientsum_body_steps fs_s_pfc_add_hsecondcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_add_hsecondcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_hsecondcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_hsecondcoefficientscoefficient)) /\ exists fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_add_hsecondcoefficientscoefficient = fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_add_hsecondcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_add_hsecondcoefficientscoefficient) + (fs_a_pfc_add_hsecondcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_add_hsecondcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_add_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_add_hsecondcoefficientscoefficientsum = fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_add_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_hsecondcoefficientscoefficientsum) + (fs_r_pfc_add_hsecondcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_add_hsecondcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_add_hsecondcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_add_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_hsecondcoefficientscoefficientsum)) /\ exists fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_add_hsecondcoefficientscoefficientsum = fs_q_pfc_add_hsecondcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_add_hsecondcoefficientscoefficientsum_body_steps)) * fs_v_pfc_add_hsecondcoefficientscoefficientsum) + (fs_s_pfc_add_hsecondcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_add_hsecondcoefficientscoefficientsum_body_steps = fs_r_pfc_add_hsecondcoefficientscoefficientsum_body_steps + fs_a_pfc_add_hsecondcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_add_hsecondcoefficientscoefficientresiduebound. pfa_gap_add_hsecondcoefficientscoefficientresiduebound + S (pfc_value_add_hsecondcoefficients) = (p)) /\ ((exists pfa_offset_left_add_hsecondcoefficientscoefficientresiduecongruence pfa_offset_right_add_hsecondcoefficientscoefficientresiduecongruence. (pfc_natural_sum_add_hsecondcoefficientscoefficient) + (p) * pfa_offset_left_add_hsecondcoefficientscoefficientresiduecongruence = (pfc_value_add_hsecondcoefficients) + (p) * pfa_offset_right_add_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_add_hsecond_bounded. (exists fom_gap_pfp_add_hsecond_bounded_index_bound. fom_gap_pfp_add_hsecond_bounded_index_bound + S (fom_index_pfp_add_hsecond_bounded) = x11) -> exists fom_value_pfp_add_hsecond_bounded. ((((exists fom_beta_height_pfp_add_hsecond_bounded_entry. fom_beta_height_pfp_add_hsecond_bounded_entry + S (fom_value_pfp_add_hsecond_bounded) = S ((S (fom_index_pfp_add_hsecond_bounded)) * x10)) /\ exists fom_beta_quotient_pfp_add_hsecond_bounded_entry. x9 = fom_beta_quotient_pfp_add_hsecond_bounded_entry * S ((S (fom_index_pfp_add_hsecond_bounded)) * x10) + (fom_value_pfp_add_hsecond_bounded))) /\ (exists fom_gap_pfp_add_hsecond_bounded_value_bound. fom_gap_pfp_add_hsecond_bounded_value_bound + S (fom_value_pfp_add_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_add_quotient_operation_left_bounded. (exists fom_gap_pfp_add_quotient_operation_left_bounded_index_bound. fom_gap_pfp_add_quotient_operation_left_bounded_index_bound + S (fom_index_pfp_add_quotient_operation_left_bounded) = x2) -> exists fom_value_pfp_add_quotient_operation_left_bounded. ((((exists fom_beta_height_pfp_add_quotient_operation_left_bounded_entry. fom_beta_height_pfp_add_quotient_operation_left_bounded_entry + S (fom_value_pfp_add_quotient_operation_left_bounded) = S ((S (fom_index_pfp_add_quotient_operation_left_bounded)) * x1)) /\ exists fom_beta_quotient_pfp_add_quotient_operation_left_bounded_entry. x = fom_beta_quotient_pfp_add_quotient_operation_left_bounded_entry * S ((S (fom_index_pfp_add_quotient_operation_left_bounded)) * x1) + (fom_value_pfp_add_quotient_operation_left_bounded))) /\ (exists fom_gap_pfp_add_quotient_operation_left_bounded_value_bound. fom_gap_pfp_add_quotient_operation_left_bounded_value_bound + S (fom_value_pfp_add_quotient_operation_left_bounded) = p))) /\ (((forall fom_index_pfp_add_quotient_operation_right_bounded. (exists fom_gap_pfp_add_quotient_operation_right_bounded_index_bound. fom_gap_pfp_add_quotient_operation_right_bounded_index_bound + S (fom_index_pfp_add_quotient_operation_right_bounded) = x8) -> exists fom_value_pfp_add_quotient_operation_right_bounded. ((((exists fom_beta_height_pfp_add_quotient_operation_right_bounded_entry. fom_beta_height_pfp_add_quotient_operation_right_bounded_entry + S (fom_value_pfp_add_quotient_operation_right_bounded) = S ((S (fom_index_pfp_add_quotient_operation_right_bounded)) * x7)) /\ exists fom_beta_quotient_pfp_add_quotient_operation_right_bounded_entry. x6 = fom_beta_quotient_pfp_add_quotient_operation_right_bounded_entry * S ((S (fom_index_pfp_add_quotient_operation_right_bounded)) * x7) + (fom_value_pfp_add_quotient_operation_right_bounded))) /\ (exists fom_gap_pfp_add_quotient_operation_right_bounded_value_bound. fom_gap_pfp_add_quotient_operation_right_bounded_value_bound + S (fom_value_pfp_add_quotient_operation_right_bounded) = p))) /\ (((forall fom_index_pfp_add_quotient_operation_result_bounded. (exists fom_gap_pfp_add_quotient_operation_result_bounded_index_bound. fom_gap_pfp_add_quotient_operation_result_bounded_index_bound + S (fom_index_pfp_add_quotient_operation_result_bounded) = (x2)+(x8)) -> exists fom_value_pfp_add_quotient_operation_result_bounded. ((((exists fom_beta_height_pfp_add_quotient_operation_result_bounded_entry. fom_beta_height_pfp_add_quotient_operation_result_bounded_entry + S (fom_value_pfp_add_quotient_operation_result_bounded) = S ((S (fom_index_pfp_add_quotient_operation_result_bounded)) * wc)) /\ exists fom_beta_quotient_pfp_add_quotient_operation_result_bounded_entry. wb = fom_beta_quotient_pfp_add_quotient_operation_result_bounded_entry * S ((S (fom_index_pfp_add_quotient_operation_result_bounded)) * wc) + (fom_value_pfp_add_quotient_operation_result_bounded))) /\ (exists fom_gap_pfp_add_quotient_operation_result_bounded_value_bound. fom_gap_pfp_add_quotient_operation_result_bounded_value_bound + S (fom_value_pfp_add_quotient_operation_result_bounded) = p))) /\ ((exists pfaa_left_b_add_quotient_operation pfaa_left_c_add_quotient_operation pfaa_right_b_add_quotient_operation pfaa_right_c_add_quotient_operation pfaa_sum_b_add_quotient_operation pfaa_sum_c_add_quotient_operation pfaa_length_add_quotient_operation. ((((forall pfrep_power_add_quotient_operation_witness_common_left pfrep_left_add_quotient_operation_witness_common_left pfrep_right_add_quotient_operation_witness_common_left. ((exists pfrep_position_add_quotient_operation_witness_common_leftfirst. ((pfrep_position_add_quotient_operation_witness_common_leftfirst+S (pfrep_power_add_quotient_operation_witness_common_left)=(x2)) /\ ((((exists ff_h_pfp_add_quotient_operation_witness_common_leftfirstentry. ff_h_pfp_add_quotient_operation_witness_common_leftfirstentry + S (pfrep_left_add_quotient_operation_witness_common_left) = S ((S (pfrep_position_add_quotient_operation_witness_common_leftfirst)) * x1)) /\ exists ff_q_pfp_add_quotient_operation_witness_common_leftfirstentry. x = ff_q_pfp_add_quotient_operation_witness_common_leftfirstentry * S ((S (pfrep_position_add_quotient_operation_witness_common_leftfirst)) * x1) + (pfrep_left_add_quotient_operation_witness_common_left)))))) \/ (((exists pfrep_gap_add_quotient_operation_witness_common_leftfirstoutside. pfrep_gap_add_quotient_operation_witness_common_leftfirstoutside+(x2)=(pfrep_power_add_quotient_operation_witness_common_left)) /\ (((pfrep_left_add_quotient_operation_witness_common_left)=0))))) -> ((exists pfrep_position_add_quotient_operation_witness_common_leftsecond. ((pfrep_position_add_quotient_operation_witness_common_leftsecond+S (pfrep_power_add_quotient_operation_witness_common_left)=(pfaa_length_add_quotient_operation)) /\ ((((exists ff_h_pfp_add_quotient_operation_witness_common_leftsecondentry. ff_h_pfp_add_quotient_operation_witness_common_leftsecondentry + S (pfrep_right_add_quotient_operation_witness_common_left) = S ((S (pfrep_position_add_quotient_operation_witness_common_leftsecond)) * pfaa_left_c_add_quotient_operation)) /\ exists ff_q_pfp_add_quotient_operation_witness_common_leftsecondentry. pfaa_left_b_add_quotient_operation = ff_q_pfp_add_quotient_operation_witness_common_leftsecondentry * S ((S (pfrep_position_add_quotient_operation_witness_common_leftsecond)) * pfaa_left_c_add_quotient_operation) + (pfrep_right_add_quotient_operation_witness_common_left)))))) \/ (((exists pfrep_gap_add_quotient_operation_witness_common_leftsecondoutside. pfrep_gap_add_quotient_operation_witness_common_leftsecondoutside+(pfaa_length_add_quotient_operation)=(pfrep_power_add_quotient_operation_witness_common_left)) /\ (((pfrep_right_add_quotient_operation_witness_common_left)=0))))) -> pfrep_left_add_quotient_operation_witness_common_left=pfrep_right_add_quotient_operation_witness_common_left) /\ ((forall pfrep_power_add_quotient_operation_witness_common_right pfrep_left_add_quotient_operation_witness_common_right pfrep_right_add_quotient_operation_witness_common_right. ((exists pfrep_position_add_quotient_operation_witness_common_rightfirst. ((pfrep_position_add_quotient_operation_witness_common_rightfirst+S (pfrep_power_add_quotient_operation_witness_common_right)=(x8)) /\ ((((exists ff_h_pfp_add_quotient_operation_witness_common_rightfirstentry. ff_h_pfp_add_quotient_operation_witness_common_rightfirstentry + S (pfrep_left_add_quotient_operation_witness_common_right) = S ((S (pfrep_position_add_quotient_operation_witness_common_rightfirst)) * x7)) /\ exists ff_q_pfp_add_quotient_operation_witness_common_rightfirstentry. x6 = ff_q_pfp_add_quotient_operation_witness_common_rightfirstentry * S ((S (pfrep_position_add_quotient_operation_witness_common_rightfirst)) * x7) + (pfrep_left_add_quotient_operation_witness_common_right)))))) \/ (((exists pfrep_gap_add_quotient_operation_witness_common_rightfirstoutside. pfrep_gap_add_quotient_operation_witness_common_rightfirstoutside+(x8)=(pfrep_power_add_quotient_operation_witness_common_right)) /\ (((pfrep_left_add_quotient_operation_witness_common_right)=0))))) -> ((exists pfrep_position_add_quotient_operation_witness_common_rightsecond. ((pfrep_position_add_quotient_operation_witness_common_rightsecond+S (pfrep_power_add_quotient_operation_witness_common_right)=(pfaa_length_add_quotient_operation)) /\ ((((exists ff_h_pfp_add_quotient_operation_witness_common_rightsecondentry. ff_h_pfp_add_quotient_operation_witness_common_rightsecondentry + S (pfrep_right_add_quotient_operation_witness_common_right) = S ((S (pfrep_position_add_quotient_operation_witness_common_rightsecond)) * pfaa_right_c_add_quotient_operation)) /\ exists ff_q_pfp_add_quotient_operation_witness_common_rightsecondentry. pfaa_right_b_add_quotient_operation = ff_q_pfp_add_quotient_operation_witness_common_rightsecondentry * S ((S (pfrep_position_add_quotient_operation_witness_common_rightsecond)) * pfaa_right_c_add_quotient_operation) + (pfrep_right_add_quotient_operation_witness_common_right)))))) \/ (((exists pfrep_gap_add_quotient_operation_witness_common_rightsecondoutside. pfrep_gap_add_quotient_operation_witness_common_rightsecondoutside+(pfaa_length_add_quotient_operation)=(pfrep_power_add_quotient_operation_witness_common_right)) /\ (((pfrep_right_add_quotient_operation_witness_common_right)=0))))) -> pfrep_left_add_quotient_operation_witness_common_right=pfrep_right_add_quotient_operation_witness_common_right)))) /\ (((forall pfp_index_add_quotient_operation_witness_operation. (exists pfa_gap_add_quotient_operation_witness_operationindex. pfa_gap_add_quotient_operation_witness_operationindex + S (pfp_index_add_quotient_operation_witness_operation) = (pfaa_length_add_quotient_operation)) -> exists pfp_left_add_quotient_operation_witness_operation pfp_right_add_quotient_operation_witness_operation pfp_value_add_quotient_operation_witness_operation. ((((exists ff_h_pfp_add_quotient_operation_witness_operationleft. ff_h_pfp_add_quotient_operation_witness_operationleft + S (pfp_left_add_quotient_operation_witness_operation) = S ((S (pfp_index_add_quotient_operation_witness_operation)) * pfaa_left_c_add_quotient_operation)) /\ exists ff_q_pfp_add_quotient_operation_witness_operationleft. pfaa_left_b_add_quotient_operation = ff_q_pfp_add_quotient_operation_witness_operationleft * S ((S (pfp_index_add_quotient_operation_witness_operation)) * pfaa_left_c_add_quotient_operation) + (pfp_left_add_quotient_operation_witness_operation))) /\ (((((exists ff_h_pfp_add_quotient_operation_witness_operationright. ff_h_pfp_add_quotient_operation_witness_operationright + S (pfp_right_add_quotient_operation_witness_operation) = S ((S (pfp_index_add_quotient_operation_witness_operation)) * pfaa_right_c_add_quotient_operation)) /\ exists ff_q_pfp_add_quotient_operation_witness_operationright. pfaa_right_b_add_quotient_operation = ff_q_pfp_add_quotient_operation_witness_operationright * S ((S (pfp_index_add_quotient_operation_witness_operation)) * pfaa_right_c_add_quotient_operation) + (pfp_right_add_quotient_operation_witness_operation))) /\ (((((exists ff_h_pfp_add_quotient_operation_witness_operationtarget. ff_h_pfp_add_quotient_operation_witness_operationtarget + S (pfp_value_add_quotient_operation_witness_operation) = S ((S (pfp_index_add_quotient_operation_witness_operation)) * pfaa_sum_c_add_quotient_operation)) /\ exists ff_q_pfp_add_quotient_operation_witness_operationtarget. pfaa_sum_b_add_quotient_operation = ff_q_pfp_add_quotient_operation_witness_operationtarget * S ((S (pfp_index_add_quotient_operation_witness_operation)) * pfaa_sum_c_add_quotient_operation) + (pfp_value_add_quotient_operation_witness_operation))) /\ ((((exists pfa_gap_add_quotient_operation_witness_operationoperationleft. pfa_gap_add_quotient_operation_witness_operationoperationleft + S (pfp_left_add_quotient_operation_witness_operation) = (p)) /\ (((exists pfa_gap_add_quotient_operation_witness_operationoperationright. pfa_gap_add_quotient_operation_witness_operationoperationright + S (pfp_right_add_quotient_operation_witness_operation) = (p)) /\ ((((exists pfa_gap_add_quotient_operation_witness_operationoperationresultbound. pfa_gap_add_quotient_operation_witness_operationoperationresultbound + S (pfp_value_add_quotient_operation_witness_operation) = (p)) /\ ((exists pfa_offset_left_add_quotient_operation_witness_operationoperationresultcongruence pfa_offset_right_add_quotient_operation_witness_operationoperationresultcongruence. ((pfp_left_add_quotient_operation_witness_operation) + (pfp_right_add_quotient_operation_witness_operation)) + (p) * pfa_offset_left_add_quotient_operation_witness_operationoperationresultcongruence = (pfp_value_add_quotient_operation_witness_operation) + (p) * pfa_offset_right_add_quotient_operation_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_add_quotient_operation_witness_output pfrep_left_add_quotient_operation_witness_output pfrep_right_add_quotient_operation_witness_output. ((exists pfrep_position_add_quotient_operation_witness_outputfirst. ((pfrep_position_add_quotient_operation_witness_outputfirst+S (pfrep_power_add_quotient_operation_witness_output)=(pfaa_length_add_quotient_operation)) /\ ((((exists ff_h_pfp_add_quotient_operation_witness_outputfirstentry. ff_h_pfp_add_quotient_operation_witness_outputfirstentry + S (pfrep_left_add_quotient_operation_witness_output) = S ((S (pfrep_position_add_quotient_operation_witness_outputfirst)) * pfaa_sum_c_add_quotient_operation)) /\ exists ff_q_pfp_add_quotient_operation_witness_outputfirstentry. pfaa_sum_b_add_quotient_operation = ff_q_pfp_add_quotient_operation_witness_outputfirstentry * S ((S (pfrep_position_add_quotient_operation_witness_outputfirst)) * pfaa_sum_c_add_quotient_operation) + (pfrep_left_add_quotient_operation_witness_output)))))) \/ (((exists pfrep_gap_add_quotient_operation_witness_outputfirstoutside. pfrep_gap_add_quotient_operation_witness_outputfirstoutside+(pfaa_length_add_quotient_operation)=(pfrep_power_add_quotient_operation_witness_output)) /\ (((pfrep_left_add_quotient_operation_witness_output)=0))))) -> ((exists pfrep_position_add_quotient_operation_witness_outputsecond. ((pfrep_position_add_quotient_operation_witness_outputsecond+S (pfrep_power_add_quotient_operation_witness_output)=((x2)+(x8))) /\ ((((exists ff_h_pfp_add_quotient_operation_witness_outputsecondentry. ff_h_pfp_add_quotient_operation_witness_outputsecondentry + S (pfrep_right_add_quotient_operation_witness_output) = S ((S (pfrep_position_add_quotient_operation_witness_outputsecond)) * wc)) /\ exists ff_q_pfp_add_quotient_operation_witness_outputsecondentry. wb = ff_q_pfp_add_quotient_operation_witness_outputsecondentry * S ((S (pfrep_position_add_quotient_operation_witness_outputsecond)) * wc) + (pfrep_right_add_quotient_operation_witness_output)))))) \/ (((exists pfrep_gap_add_quotient_operation_witness_outputsecondoutside. pfrep_gap_add_quotient_operation_witness_outputsecondoutside+((x2)+(x8))=(pfrep_power_add_quotient_operation_witness_output)) /\ (((pfrep_right_add_quotient_operation_witness_output)=0))))) -> pfrep_left_add_quotient_operation_witness_output=pfrep_right_add_quotient_operation_witness_output))))))))))))
  77. 0077specialize prime_field_polynomial_aligned_add_exists (p)
  78. 0078specialize prime_field_polynomial_aligned_add_exists (x)
  79. 0079specialize prime_field_polynomial_aligned_add_exists (x1)
  80. 0080specialize prime_field_polynomial_aligned_add_exists (x2)
  81. 0081specialize prime_field_polynomial_aligned_add_exists (x6)
  82. 0082specialize prime_field_polynomial_aligned_add_exists (x7)
  83. 0083specialize prime_field_polynomial_aligned_add_exists (x8)
  84. 0084apply prime_field_polynomial_aligned_add_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_add_quotient_bound_0. (exists fom_gap_pfp_add_quotient_bound_0_index_bound. fom_gap_pfp_add_quotient_bound_0_index_bound + S (fom_index_pfp_add_quotient_bound_0) = x2) -> exists fom_value_pfp_add_quotient_bound_0. ((((exists fom_beta_height_pfp_add_quotient_bound_0_entry. fom_beta_height_pfp_add_quotient_bound_0_entry + S (fom_value_pfp_add_quotient_bound_0) = S ((S (fom_index_pfp_add_quotient_bound_0)) * x1)) /\ exists fom_beta_quotient_pfp_add_quotient_bound_0_entry. x = fom_beta_quotient_pfp_add_quotient_bound_0_entry * S ((S (fom_index_pfp_add_quotient_bound_0)) * x1) + (fom_value_pfp_add_quotient_bound_0))) /\ (exists fom_gap_pfp_add_quotient_bound_0_value_bound. fom_gap_pfp_add_quotient_bound_0_value_bound + S (fom_value_pfp_add_quotient_bound_0) = p))) /\ (((forall fom_index_pfp_add_quotient_bound_1. (exists fom_gap_pfp_add_quotient_bound_1_index_bound. fom_gap_pfp_add_quotient_bound_1_index_bound + S (fom_index_pfp_add_quotient_bound_1) = x8) -> exists fom_value_pfp_add_quotient_bound_1. ((((exists fom_beta_height_pfp_add_quotient_bound_1_entry. fom_beta_height_pfp_add_quotient_bound_1_entry + S (fom_value_pfp_add_quotient_bound_1) = S ((S (fom_index_pfp_add_quotient_bound_1)) * x7)) /\ exists fom_beta_quotient_pfp_add_quotient_bound_1_entry. x6 = fom_beta_quotient_pfp_add_quotient_bound_1_entry * S ((S (fom_index_pfp_add_quotient_bound_1)) * x7) + (fom_value_pfp_add_quotient_bound_1))) /\ (exists fom_gap_pfp_add_quotient_bound_1_value_bound. fom_gap_pfp_add_quotient_bound_1_value_bound + S (fom_value_pfp_add_quotient_bound_1) = p))) /\ ((forall fom_index_pfp_add_quotient_bound_2. (exists fom_gap_pfp_add_quotient_bound_2_index_bound. fom_gap_pfp_add_quotient_bound_2_index_bound + S (fom_index_pfp_add_quotient_bound_2) = (x2)+(x8)) -> exists fom_value_pfp_add_quotient_bound_2. ((((exists fom_beta_height_pfp_add_quotient_bound_2_entry. fom_beta_height_pfp_add_quotient_bound_2_entry + S (fom_value_pfp_add_quotient_bound_2) = S ((S (fom_index_pfp_add_quotient_bound_2)) * x13)) /\ exists fom_beta_quotient_pfp_add_quotient_bound_2_entry. x12 = fom_beta_quotient_pfp_add_quotient_bound_2_entry * S ((S (fom_index_pfp_add_quotient_bound_2)) * x13) + (fom_value_pfp_add_quotient_bound_2))) /\ (exists fom_gap_pfp_add_quotient_bound_2_value_bound. fom_gap_pfp_add_quotient_bound_2_value_bound + S (fom_value_pfp_add_quotient_bound_2) = p)))))))
  91. 0091specialize prime_field_polynomial_aligned_add_bounded (p)
  92. 0092specialize prime_field_polynomial_aligned_add_bounded (x)
  93. 0093specialize prime_field_polynomial_aligned_add_bounded (x1)
  94. 0094specialize prime_field_polynomial_aligned_add_bounded (x2)
  95. 0095specialize prime_field_polynomial_aligned_add_bounded (x6)
  96. 0096specialize prime_field_polynomial_aligned_add_bounded (x7)
  97. 0097specialize prime_field_polynomial_aligned_add_bounded (x8)
  98. 0098specialize prime_field_polynomial_aligned_add_bounded (x12)
  99. 0099specialize prime_field_polynomial_aligned_add_bounded (x13)
  100. 0100specialize prime_field_polynomial_aligned_add_bounded ((x2)+(x8))
  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_right
  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_add_result_bound. (exists fom_gap_pfp_add_result_bound_index_bound. fom_gap_pfp_add_result_bound_index_bound + S (fom_index_pfp_add_result_bound) = x14) -> exists fom_value_pfp_add_result_bound. ((((exists fom_beta_height_pfp_add_result_bound_entry. fom_beta_height_pfp_add_result_bound_entry + S (fom_value_pfp_add_result_bound) = S ((S (fom_index_pfp_add_result_bound)) * x16)) /\ exists fom_beta_quotient_pfp_add_result_bound_entry. x15 = fom_beta_quotient_pfp_add_result_bound_entry * S ((S (fom_index_pfp_add_result_bound)) * x16) + (fom_value_pfp_add_result_bound))) /\ (exists fom_gap_pfp_add_result_bound_value_bound. fom_gap_pfp_add_result_bound_value_bound + S (fom_value_pfp_add_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_add_distribution_left_bounded. (exists fom_gap_pfp_add_distribution_left_bounded_index_bound. fom_gap_pfp_add_distribution_left_bounded_index_bound + S (fom_index_pfp_add_distribution_left_bounded) = x5) -> exists fom_value_pfp_add_distribution_left_bounded. ((((exists fom_beta_height_pfp_add_distribution_left_bounded_entry. fom_beta_height_pfp_add_distribution_left_bounded_entry + S (fom_value_pfp_add_distribution_left_bounded) = S ((S (fom_index_pfp_add_distribution_left_bounded)) * x4)) /\ exists fom_beta_quotient_pfp_add_distribution_left_bounded_entry. x3 = fom_beta_quotient_pfp_add_distribution_left_bounded_entry * S ((S (fom_index_pfp_add_distribution_left_bounded)) * x4) + (fom_value_pfp_add_distribution_left_bounded))) /\ (exists fom_gap_pfp_add_distribution_left_bounded_value_bound. fom_gap_pfp_add_distribution_left_bounded_value_bound + S (fom_value_pfp_add_distribution_left_bounded) = p))) /\ (((forall fom_index_pfp_add_distribution_right_bounded. (exists fom_gap_pfp_add_distribution_right_bounded_index_bound. fom_gap_pfp_add_distribution_right_bounded_index_bound + S (fom_index_pfp_add_distribution_right_bounded) = x11) -> exists fom_value_pfp_add_distribution_right_bounded. ((((exists fom_beta_height_pfp_add_distribution_right_bounded_entry. fom_beta_height_pfp_add_distribution_right_bounded_entry + S (fom_value_pfp_add_distribution_right_bounded) = S ((S (fom_index_pfp_add_distribution_right_bounded)) * x10)) /\ exists fom_beta_quotient_pfp_add_distribution_right_bounded_entry. x9 = fom_beta_quotient_pfp_add_distribution_right_bounded_entry * S ((S (fom_index_pfp_add_distribution_right_bounded)) * x10) + (fom_value_pfp_add_distribution_right_bounded))) /\ (exists fom_gap_pfp_add_distribution_right_bounded_value_bound. fom_gap_pfp_add_distribution_right_bounded_value_bound + S (fom_value_pfp_add_distribution_right_bounded) = p))) /\ (((forall fom_index_pfp_add_distribution_result_bounded. (exists fom_gap_pfp_add_distribution_result_bounded_index_bound. fom_gap_pfp_add_distribution_result_bounded_index_bound + S (fom_index_pfp_add_distribution_result_bounded) = x14) -> exists fom_value_pfp_add_distribution_result_bounded. ((((exists fom_beta_height_pfp_add_distribution_result_bounded_entry. fom_beta_height_pfp_add_distribution_result_bounded_entry + S (fom_value_pfp_add_distribution_result_bounded) = S ((S (fom_index_pfp_add_distribution_result_bounded)) * x16)) /\ exists fom_beta_quotient_pfp_add_distribution_result_bounded_entry. x15 = fom_beta_quotient_pfp_add_distribution_result_bounded_entry * S ((S (fom_index_pfp_add_distribution_result_bounded)) * x16) + (fom_value_pfp_add_distribution_result_bounded))) /\ (exists fom_gap_pfp_add_distribution_result_bounded_value_bound. fom_gap_pfp_add_distribution_result_bounded_value_bound + S (fom_value_pfp_add_distribution_result_bounded) = p))) /\ ((exists pfaa_left_b_add_distribution pfaa_left_c_add_distribution pfaa_right_b_add_distribution pfaa_right_c_add_distribution pfaa_sum_b_add_distribution pfaa_sum_c_add_distribution pfaa_length_add_distribution. ((((forall pfrep_power_add_distribution_witness_common_left pfrep_left_add_distribution_witness_common_left pfrep_right_add_distribution_witness_common_left. ((exists pfrep_position_add_distribution_witness_common_leftfirst. ((pfrep_position_add_distribution_witness_common_leftfirst+S (pfrep_power_add_distribution_witness_common_left)=(x5)) /\ ((((exists ff_h_pfp_add_distribution_witness_common_leftfirstentry. ff_h_pfp_add_distribution_witness_common_leftfirstentry + S (pfrep_left_add_distribution_witness_common_left) = S ((S (pfrep_position_add_distribution_witness_common_leftfirst)) * x4)) /\ exists ff_q_pfp_add_distribution_witness_common_leftfirstentry. x3 = ff_q_pfp_add_distribution_witness_common_leftfirstentry * S ((S (pfrep_position_add_distribution_witness_common_leftfirst)) * x4) + (pfrep_left_add_distribution_witness_common_left)))))) \/ (((exists pfrep_gap_add_distribution_witness_common_leftfirstoutside. pfrep_gap_add_distribution_witness_common_leftfirstoutside+(x5)=(pfrep_power_add_distribution_witness_common_left)) /\ (((pfrep_left_add_distribution_witness_common_left)=0))))) -> ((exists pfrep_position_add_distribution_witness_common_leftsecond. ((pfrep_position_add_distribution_witness_common_leftsecond+S (pfrep_power_add_distribution_witness_common_left)=(pfaa_length_add_distribution)) /\ ((((exists ff_h_pfp_add_distribution_witness_common_leftsecondentry. ff_h_pfp_add_distribution_witness_common_leftsecondentry + S (pfrep_right_add_distribution_witness_common_left) = S ((S (pfrep_position_add_distribution_witness_common_leftsecond)) * pfaa_left_c_add_distribution)) /\ exists ff_q_pfp_add_distribution_witness_common_leftsecondentry. pfaa_left_b_add_distribution = ff_q_pfp_add_distribution_witness_common_leftsecondentry * S ((S (pfrep_position_add_distribution_witness_common_leftsecond)) * pfaa_left_c_add_distribution) + (pfrep_right_add_distribution_witness_common_left)))))) \/ (((exists pfrep_gap_add_distribution_witness_common_leftsecondoutside. pfrep_gap_add_distribution_witness_common_leftsecondoutside+(pfaa_length_add_distribution)=(pfrep_power_add_distribution_witness_common_left)) /\ (((pfrep_right_add_distribution_witness_common_left)=0))))) -> pfrep_left_add_distribution_witness_common_left=pfrep_right_add_distribution_witness_common_left) /\ ((forall pfrep_power_add_distribution_witness_common_right pfrep_left_add_distribution_witness_common_right pfrep_right_add_distribution_witness_common_right. ((exists pfrep_position_add_distribution_witness_common_rightfirst. ((pfrep_position_add_distribution_witness_common_rightfirst+S (pfrep_power_add_distribution_witness_common_right)=(x11)) /\ ((((exists ff_h_pfp_add_distribution_witness_common_rightfirstentry. ff_h_pfp_add_distribution_witness_common_rightfirstentry + S (pfrep_left_add_distribution_witness_common_right) = S ((S (pfrep_position_add_distribution_witness_common_rightfirst)) * x10)) /\ exists ff_q_pfp_add_distribution_witness_common_rightfirstentry. x9 = ff_q_pfp_add_distribution_witness_common_rightfirstentry * S ((S (pfrep_position_add_distribution_witness_common_rightfirst)) * x10) + (pfrep_left_add_distribution_witness_common_right)))))) \/ (((exists pfrep_gap_add_distribution_witness_common_rightfirstoutside. pfrep_gap_add_distribution_witness_common_rightfirstoutside+(x11)=(pfrep_power_add_distribution_witness_common_right)) /\ (((pfrep_left_add_distribution_witness_common_right)=0))))) -> ((exists pfrep_position_add_distribution_witness_common_rightsecond. ((pfrep_position_add_distribution_witness_common_rightsecond+S (pfrep_power_add_distribution_witness_common_right)=(pfaa_length_add_distribution)) /\ ((((exists ff_h_pfp_add_distribution_witness_common_rightsecondentry. ff_h_pfp_add_distribution_witness_common_rightsecondentry + S (pfrep_right_add_distribution_witness_common_right) = S ((S (pfrep_position_add_distribution_witness_common_rightsecond)) * pfaa_right_c_add_distribution)) /\ exists ff_q_pfp_add_distribution_witness_common_rightsecondentry. pfaa_right_b_add_distribution = ff_q_pfp_add_distribution_witness_common_rightsecondentry * S ((S (pfrep_position_add_distribution_witness_common_rightsecond)) * pfaa_right_c_add_distribution) + (pfrep_right_add_distribution_witness_common_right)))))) \/ (((exists pfrep_gap_add_distribution_witness_common_rightsecondoutside. pfrep_gap_add_distribution_witness_common_rightsecondoutside+(pfaa_length_add_distribution)=(pfrep_power_add_distribution_witness_common_right)) /\ (((pfrep_right_add_distribution_witness_common_right)=0))))) -> pfrep_left_add_distribution_witness_common_right=pfrep_right_add_distribution_witness_common_right)))) /\ (((forall pfp_index_add_distribution_witness_operation. (exists pfa_gap_add_distribution_witness_operationindex. pfa_gap_add_distribution_witness_operationindex + S (pfp_index_add_distribution_witness_operation) = (pfaa_length_add_distribution)) -> exists pfp_left_add_distribution_witness_operation pfp_right_add_distribution_witness_operation pfp_value_add_distribution_witness_operation. ((((exists ff_h_pfp_add_distribution_witness_operationleft. ff_h_pfp_add_distribution_witness_operationleft + S (pfp_left_add_distribution_witness_operation) = S ((S (pfp_index_add_distribution_witness_operation)) * pfaa_left_c_add_distribution)) /\ exists ff_q_pfp_add_distribution_witness_operationleft. pfaa_left_b_add_distribution = ff_q_pfp_add_distribution_witness_operationleft * S ((S (pfp_index_add_distribution_witness_operation)) * pfaa_left_c_add_distribution) + (pfp_left_add_distribution_witness_operation))) /\ (((((exists ff_h_pfp_add_distribution_witness_operationright. ff_h_pfp_add_distribution_witness_operationright + S (pfp_right_add_distribution_witness_operation) = S ((S (pfp_index_add_distribution_witness_operation)) * pfaa_right_c_add_distribution)) /\ exists ff_q_pfp_add_distribution_witness_operationright. pfaa_right_b_add_distribution = ff_q_pfp_add_distribution_witness_operationright * S ((S (pfp_index_add_distribution_witness_operation)) * pfaa_right_c_add_distribution) + (pfp_right_add_distribution_witness_operation))) /\ (((((exists ff_h_pfp_add_distribution_witness_operationtarget. ff_h_pfp_add_distribution_witness_operationtarget + S (pfp_value_add_distribution_witness_operation) = S ((S (pfp_index_add_distribution_witness_operation)) * pfaa_sum_c_add_distribution)) /\ exists ff_q_pfp_add_distribution_witness_operationtarget. pfaa_sum_b_add_distribution = ff_q_pfp_add_distribution_witness_operationtarget * S ((S (pfp_index_add_distribution_witness_operation)) * pfaa_sum_c_add_distribution) + (pfp_value_add_distribution_witness_operation))) /\ ((((exists pfa_gap_add_distribution_witness_operationoperationleft. pfa_gap_add_distribution_witness_operationoperationleft + S (pfp_left_add_distribution_witness_operation) = (p)) /\ (((exists pfa_gap_add_distribution_witness_operationoperationright. pfa_gap_add_distribution_witness_operationoperationright + S (pfp_right_add_distribution_witness_operation) = (p)) /\ ((((exists pfa_gap_add_distribution_witness_operationoperationresultbound. pfa_gap_add_distribution_witness_operationoperationresultbound + S (pfp_value_add_distribution_witness_operation) = (p)) /\ ((exists pfa_offset_left_add_distribution_witness_operationoperationresultcongruence pfa_offset_right_add_distribution_witness_operationoperationresultcongruence. ((pfp_left_add_distribution_witness_operation) + (pfp_right_add_distribution_witness_operation)) + (p) * pfa_offset_left_add_distribution_witness_operationoperationresultcongruence = (pfp_value_add_distribution_witness_operation) + (p) * pfa_offset_right_add_distribution_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_add_distribution_witness_output pfrep_left_add_distribution_witness_output pfrep_right_add_distribution_witness_output. ((exists pfrep_position_add_distribution_witness_outputfirst. ((pfrep_position_add_distribution_witness_outputfirst+S (pfrep_power_add_distribution_witness_output)=(pfaa_length_add_distribution)) /\ ((((exists ff_h_pfp_add_distribution_witness_outputfirstentry. ff_h_pfp_add_distribution_witness_outputfirstentry + S (pfrep_left_add_distribution_witness_output) = S ((S (pfrep_position_add_distribution_witness_outputfirst)) * pfaa_sum_c_add_distribution)) /\ exists ff_q_pfp_add_distribution_witness_outputfirstentry. pfaa_sum_b_add_distribution = ff_q_pfp_add_distribution_witness_outputfirstentry * S ((S (pfrep_position_add_distribution_witness_outputfirst)) * pfaa_sum_c_add_distribution) + (pfrep_left_add_distribution_witness_output)))))) \/ (((exists pfrep_gap_add_distribution_witness_outputfirstoutside. pfrep_gap_add_distribution_witness_outputfirstoutside+(pfaa_length_add_distribution)=(pfrep_power_add_distribution_witness_output)) /\ (((pfrep_left_add_distribution_witness_output)=0))))) -> ((exists pfrep_position_add_distribution_witness_outputsecond. ((pfrep_position_add_distribution_witness_outputsecond+S (pfrep_power_add_distribution_witness_output)=(x14)) /\ ((((exists ff_h_pfp_add_distribution_witness_outputsecondentry. ff_h_pfp_add_distribution_witness_outputsecondentry + S (pfrep_right_add_distribution_witness_output) = S ((S (pfrep_position_add_distribution_witness_outputsecond)) * x16)) /\ exists ff_q_pfp_add_distribution_witness_outputsecondentry. x15 = ff_q_pfp_add_distribution_witness_outputsecondentry * S ((S (pfrep_position_add_distribution_witness_outputsecond)) * x16) + (pfrep_right_add_distribution_witness_output)))))) \/ (((exists pfrep_gap_add_distribution_witness_outputsecondoutside. pfrep_gap_add_distribution_witness_outputsecondoutside+(x14)=(pfrep_power_add_distribution_witness_output)) /\ (((pfrep_right_add_distribution_witness_output)=0))))) -> pfrep_left_add_distribution_witness_output=pfrep_right_add_distribution_witness_output))))))))))))
  140. 0140specialize prime_field_polynomial_aligned_convolution_right_add (p)
  141. 0141specialize prime_field_polynomial_aligned_convolution_right_add (x)
  142. 0142specialize prime_field_polynomial_aligned_convolution_right_add (x1)
  143. 0143specialize prime_field_polynomial_aligned_convolution_right_add (x2)
  144. 0144specialize prime_field_polynomial_aligned_convolution_right_add (x6)
  145. 0145specialize prime_field_polynomial_aligned_convolution_right_add (x7)
  146. 0146specialize prime_field_polynomial_aligned_convolution_right_add (x8)
  147. 0147specialize prime_field_polynomial_aligned_convolution_right_add (x12)
  148. 0148specialize prime_field_polynomial_aligned_convolution_right_add (x13)
  149. 0149specialize prime_field_polynomial_aligned_convolution_right_add ((x2)+(x8))
  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 (x3)
  154. 0154specialize prime_field_polynomial_aligned_convolution_right_add (x4)
  155. 0155specialize prime_field_polynomial_aligned_convolution_right_add (x5)
  156. 0156specialize prime_field_polynomial_aligned_convolution_right_add (x9)
  157. 0157specialize prime_field_polynomial_aligned_convolution_right_add (x10)
  158. 0158specialize prime_field_polynomial_aligned_convolution_right_add (x11)
  159. 0159specialize prime_field_polynomial_aligned_convolution_right_add (x15)
  160. 0160specialize prime_field_polynomial_aligned_convolution_right_add (x16)
  161. 0161specialize prime_field_polynomial_aligned_convolution_right_add (x14)
  162. 0162apply prime_field_polynomial_aligned_convolution_right_add
  163. 0163exact hp
  164. 0164exact hw_witness_witness
  165. 0165exact hDA_right_witness_witness_witness_witness_witness_witness_left
  166. 0166exact hDB_right_witness_witness_witness_witness_witness_witness_left
  167. 0167exact hresult_product_witness_witness
  168. 0168have hcompare : ((forall fom_index_pfp_add_comparison_left_bounded. (exists fom_gap_pfp_add_comparison_left_bounded_index_bound. fom_gap_pfp_add_comparison_left_bounded_index_bound + S (fom_index_pfp_add_comparison_left_bounded) = x5) -> exists fom_value_pfp_add_comparison_left_bounded. ((((exists fom_beta_height_pfp_add_comparison_left_bounded_entry. fom_beta_height_pfp_add_comparison_left_bounded_entry + S (fom_value_pfp_add_comparison_left_bounded) = S ((S (fom_index_pfp_add_comparison_left_bounded)) * x4)) /\ exists fom_beta_quotient_pfp_add_comparison_left_bounded_entry. x3 = fom_beta_quotient_pfp_add_comparison_left_bounded_entry * S ((S (fom_index_pfp_add_comparison_left_bounded)) * x4) + (fom_value_pfp_add_comparison_left_bounded))) /\ (exists fom_gap_pfp_add_comparison_left_bounded_value_bound. fom_gap_pfp_add_comparison_left_bounded_value_bound + S (fom_value_pfp_add_comparison_left_bounded) = p))) /\ (((forall fom_index_pfp_add_comparison_right_bounded. (exists fom_gap_pfp_add_comparison_right_bounded_index_bound. fom_gap_pfp_add_comparison_right_bounded_index_bound + S (fom_index_pfp_add_comparison_right_bounded) = x11) -> exists fom_value_pfp_add_comparison_right_bounded. ((((exists fom_beta_height_pfp_add_comparison_right_bounded_entry. fom_beta_height_pfp_add_comparison_right_bounded_entry + S (fom_value_pfp_add_comparison_right_bounded) = S ((S (fom_index_pfp_add_comparison_right_bounded)) * x10)) /\ exists fom_beta_quotient_pfp_add_comparison_right_bounded_entry. x9 = fom_beta_quotient_pfp_add_comparison_right_bounded_entry * S ((S (fom_index_pfp_add_comparison_right_bounded)) * x10) + (fom_value_pfp_add_comparison_right_bounded))) /\ (exists fom_gap_pfp_add_comparison_right_bounded_value_bound. fom_gap_pfp_add_comparison_right_bounded_value_bound + S (fom_value_pfp_add_comparison_right_bounded) = p))) /\ (((forall fom_index_pfp_add_comparison_result_bounded. (exists fom_gap_pfp_add_comparison_result_bounded_index_bound. fom_gap_pfp_add_comparison_result_bounded_index_bound + S (fom_index_pfp_add_comparison_result_bounded) = N) -> exists fom_value_pfp_add_comparison_result_bounded. ((((exists fom_beta_height_pfp_add_comparison_result_bounded_entry. fom_beta_height_pfp_add_comparison_result_bounded_entry + S (fom_value_pfp_add_comparison_result_bounded) = S ((S (fom_index_pfp_add_comparison_result_bounded)) * rc)) /\ exists fom_beta_quotient_pfp_add_comparison_result_bounded_entry. rb = fom_beta_quotient_pfp_add_comparison_result_bounded_entry * S ((S (fom_index_pfp_add_comparison_result_bounded)) * rc) + (fom_value_pfp_add_comparison_result_bounded))) /\ (exists fom_gap_pfp_add_comparison_result_bounded_value_bound. fom_gap_pfp_add_comparison_result_bounded_value_bound + S (fom_value_pfp_add_comparison_result_bounded) = p))) /\ ((exists pfaa_left_b_add_comparison pfaa_left_c_add_comparison pfaa_right_b_add_comparison pfaa_right_c_add_comparison pfaa_sum_b_add_comparison pfaa_sum_c_add_comparison pfaa_length_add_comparison. ((((forall pfrep_power_add_comparison_witness_common_left pfrep_left_add_comparison_witness_common_left pfrep_right_add_comparison_witness_common_left. ((exists pfrep_position_add_comparison_witness_common_leftfirst. ((pfrep_position_add_comparison_witness_common_leftfirst+S (pfrep_power_add_comparison_witness_common_left)=(x5)) /\ ((((exists ff_h_pfp_add_comparison_witness_common_leftfirstentry. ff_h_pfp_add_comparison_witness_common_leftfirstentry + S (pfrep_left_add_comparison_witness_common_left) = S ((S (pfrep_position_add_comparison_witness_common_leftfirst)) * x4)) /\ exists ff_q_pfp_add_comparison_witness_common_leftfirstentry. x3 = ff_q_pfp_add_comparison_witness_common_leftfirstentry * S ((S (pfrep_position_add_comparison_witness_common_leftfirst)) * x4) + (pfrep_left_add_comparison_witness_common_left)))))) \/ (((exists pfrep_gap_add_comparison_witness_common_leftfirstoutside. pfrep_gap_add_comparison_witness_common_leftfirstoutside+(x5)=(pfrep_power_add_comparison_witness_common_left)) /\ (((pfrep_left_add_comparison_witness_common_left)=0))))) -> ((exists pfrep_position_add_comparison_witness_common_leftsecond. ((pfrep_position_add_comparison_witness_common_leftsecond+S (pfrep_power_add_comparison_witness_common_left)=(pfaa_length_add_comparison)) /\ ((((exists ff_h_pfp_add_comparison_witness_common_leftsecondentry. ff_h_pfp_add_comparison_witness_common_leftsecondentry + S (pfrep_right_add_comparison_witness_common_left) = S ((S (pfrep_position_add_comparison_witness_common_leftsecond)) * pfaa_left_c_add_comparison)) /\ exists ff_q_pfp_add_comparison_witness_common_leftsecondentry. pfaa_left_b_add_comparison = ff_q_pfp_add_comparison_witness_common_leftsecondentry * S ((S (pfrep_position_add_comparison_witness_common_leftsecond)) * pfaa_left_c_add_comparison) + (pfrep_right_add_comparison_witness_common_left)))))) \/ (((exists pfrep_gap_add_comparison_witness_common_leftsecondoutside. pfrep_gap_add_comparison_witness_common_leftsecondoutside+(pfaa_length_add_comparison)=(pfrep_power_add_comparison_witness_common_left)) /\ (((pfrep_right_add_comparison_witness_common_left)=0))))) -> pfrep_left_add_comparison_witness_common_left=pfrep_right_add_comparison_witness_common_left) /\ ((forall pfrep_power_add_comparison_witness_common_right pfrep_left_add_comparison_witness_common_right pfrep_right_add_comparison_witness_common_right. ((exists pfrep_position_add_comparison_witness_common_rightfirst. ((pfrep_position_add_comparison_witness_common_rightfirst+S (pfrep_power_add_comparison_witness_common_right)=(x11)) /\ ((((exists ff_h_pfp_add_comparison_witness_common_rightfirstentry. ff_h_pfp_add_comparison_witness_common_rightfirstentry + S (pfrep_left_add_comparison_witness_common_right) = S ((S (pfrep_position_add_comparison_witness_common_rightfirst)) * x10)) /\ exists ff_q_pfp_add_comparison_witness_common_rightfirstentry. x9 = ff_q_pfp_add_comparison_witness_common_rightfirstentry * S ((S (pfrep_position_add_comparison_witness_common_rightfirst)) * x10) + (pfrep_left_add_comparison_witness_common_right)))))) \/ (((exists pfrep_gap_add_comparison_witness_common_rightfirstoutside. pfrep_gap_add_comparison_witness_common_rightfirstoutside+(x11)=(pfrep_power_add_comparison_witness_common_right)) /\ (((pfrep_left_add_comparison_witness_common_right)=0))))) -> ((exists pfrep_position_add_comparison_witness_common_rightsecond. ((pfrep_position_add_comparison_witness_common_rightsecond+S (pfrep_power_add_comparison_witness_common_right)=(pfaa_length_add_comparison)) /\ ((((exists ff_h_pfp_add_comparison_witness_common_rightsecondentry. ff_h_pfp_add_comparison_witness_common_rightsecondentry + S (pfrep_right_add_comparison_witness_common_right) = S ((S (pfrep_position_add_comparison_witness_common_rightsecond)) * pfaa_right_c_add_comparison)) /\ exists ff_q_pfp_add_comparison_witness_common_rightsecondentry. pfaa_right_b_add_comparison = ff_q_pfp_add_comparison_witness_common_rightsecondentry * S ((S (pfrep_position_add_comparison_witness_common_rightsecond)) * pfaa_right_c_add_comparison) + (pfrep_right_add_comparison_witness_common_right)))))) \/ (((exists pfrep_gap_add_comparison_witness_common_rightsecondoutside. pfrep_gap_add_comparison_witness_common_rightsecondoutside+(pfaa_length_add_comparison)=(pfrep_power_add_comparison_witness_common_right)) /\ (((pfrep_right_add_comparison_witness_common_right)=0))))) -> pfrep_left_add_comparison_witness_common_right=pfrep_right_add_comparison_witness_common_right)))) /\ (((forall pfp_index_add_comparison_witness_operation. (exists pfa_gap_add_comparison_witness_operationindex. pfa_gap_add_comparison_witness_operationindex + S (pfp_index_add_comparison_witness_operation) = (pfaa_length_add_comparison)) -> exists pfp_left_add_comparison_witness_operation pfp_right_add_comparison_witness_operation pfp_value_add_comparison_witness_operation. ((((exists ff_h_pfp_add_comparison_witness_operationleft. ff_h_pfp_add_comparison_witness_operationleft + S (pfp_left_add_comparison_witness_operation) = S ((S (pfp_index_add_comparison_witness_operation)) * pfaa_left_c_add_comparison)) /\ exists ff_q_pfp_add_comparison_witness_operationleft. pfaa_left_b_add_comparison = ff_q_pfp_add_comparison_witness_operationleft * S ((S (pfp_index_add_comparison_witness_operation)) * pfaa_left_c_add_comparison) + (pfp_left_add_comparison_witness_operation))) /\ (((((exists ff_h_pfp_add_comparison_witness_operationright. ff_h_pfp_add_comparison_witness_operationright + S (pfp_right_add_comparison_witness_operation) = S ((S (pfp_index_add_comparison_witness_operation)) * pfaa_right_c_add_comparison)) /\ exists ff_q_pfp_add_comparison_witness_operationright. pfaa_right_b_add_comparison = ff_q_pfp_add_comparison_witness_operationright * S ((S (pfp_index_add_comparison_witness_operation)) * pfaa_right_c_add_comparison) + (pfp_right_add_comparison_witness_operation))) /\ (((((exists ff_h_pfp_add_comparison_witness_operationtarget. ff_h_pfp_add_comparison_witness_operationtarget + S (pfp_value_add_comparison_witness_operation) = S ((S (pfp_index_add_comparison_witness_operation)) * pfaa_sum_c_add_comparison)) /\ exists ff_q_pfp_add_comparison_witness_operationtarget. pfaa_sum_b_add_comparison = ff_q_pfp_add_comparison_witness_operationtarget * S ((S (pfp_index_add_comparison_witness_operation)) * pfaa_sum_c_add_comparison) + (pfp_value_add_comparison_witness_operation))) /\ ((((exists pfa_gap_add_comparison_witness_operationoperationleft. pfa_gap_add_comparison_witness_operationoperationleft + S (pfp_left_add_comparison_witness_operation) = (p)) /\ (((exists pfa_gap_add_comparison_witness_operationoperationright. pfa_gap_add_comparison_witness_operationoperationright + S (pfp_right_add_comparison_witness_operation) = (p)) /\ ((((exists pfa_gap_add_comparison_witness_operationoperationresultbound. pfa_gap_add_comparison_witness_operationoperationresultbound + S (pfp_value_add_comparison_witness_operation) = (p)) /\ ((exists pfa_offset_left_add_comparison_witness_operationoperationresultcongruence pfa_offset_right_add_comparison_witness_operationoperationresultcongruence. ((pfp_left_add_comparison_witness_operation) + (pfp_right_add_comparison_witness_operation)) + (p) * pfa_offset_left_add_comparison_witness_operationoperationresultcongruence = (pfp_value_add_comparison_witness_operation) + (p) * pfa_offset_right_add_comparison_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_add_comparison_witness_output pfrep_left_add_comparison_witness_output pfrep_right_add_comparison_witness_output. ((exists pfrep_position_add_comparison_witness_outputfirst. ((pfrep_position_add_comparison_witness_outputfirst+S (pfrep_power_add_comparison_witness_output)=(pfaa_length_add_comparison)) /\ ((((exists ff_h_pfp_add_comparison_witness_outputfirstentry. ff_h_pfp_add_comparison_witness_outputfirstentry + S (pfrep_left_add_comparison_witness_output) = S ((S (pfrep_position_add_comparison_witness_outputfirst)) * pfaa_sum_c_add_comparison)) /\ exists ff_q_pfp_add_comparison_witness_outputfirstentry. pfaa_sum_b_add_comparison = ff_q_pfp_add_comparison_witness_outputfirstentry * S ((S (pfrep_position_add_comparison_witness_outputfirst)) * pfaa_sum_c_add_comparison) + (pfrep_left_add_comparison_witness_output)))))) \/ (((exists pfrep_gap_add_comparison_witness_outputfirstoutside. pfrep_gap_add_comparison_witness_outputfirstoutside+(pfaa_length_add_comparison)=(pfrep_power_add_comparison_witness_output)) /\ (((pfrep_left_add_comparison_witness_output)=0))))) -> ((exists pfrep_position_add_comparison_witness_outputsecond. ((pfrep_position_add_comparison_witness_outputsecond+S (pfrep_power_add_comparison_witness_output)=(N)) /\ ((((exists ff_h_pfp_add_comparison_witness_outputsecondentry. ff_h_pfp_add_comparison_witness_outputsecondentry + S (pfrep_right_add_comparison_witness_output) = S ((S (pfrep_position_add_comparison_witness_outputsecond)) * rc)) /\ exists ff_q_pfp_add_comparison_witness_outputsecondentry. rb = ff_q_pfp_add_comparison_witness_outputsecondentry * S ((S (pfrep_position_add_comparison_witness_outputsecond)) * rc) + (pfrep_right_add_comparison_witness_output)))))) \/ (((exists pfrep_gap_add_comparison_witness_outputsecondoutside. pfrep_gap_add_comparison_witness_outputsecondoutside+(N)=(pfrep_power_add_comparison_witness_output)) /\ (((pfrep_right_add_comparison_witness_output)=0))))) -> pfrep_left_add_comparison_witness_output=pfrep_right_add_comparison_witness_output))))))))))))
  169. 0169specialize prime_field_polynomial_aligned_add_transport (p)
  170. 0170specialize prime_field_polynomial_aligned_add_transport (ab)
  171. 0171specialize prime_field_polynomial_aligned_add_transport (ac)
  172. 0172specialize prime_field_polynomial_aligned_add_transport (L)
  173. 0173specialize prime_field_polynomial_aligned_add_transport (bb)
  174. 0174specialize prime_field_polynomial_aligned_add_transport (bc)
  175. 0175specialize prime_field_polynomial_aligned_add_transport (M)
  176. 0176specialize prime_field_polynomial_aligned_add_transport (rb)
  177. 0177specialize prime_field_polynomial_aligned_add_transport (rc)
  178. 0178specialize prime_field_polynomial_aligned_add_transport (N)
  179. 0179specialize prime_field_polynomial_aligned_add_transport (x3)
  180. 0180specialize prime_field_polynomial_aligned_add_transport (x4)
  181. 0181specialize prime_field_polynomial_aligned_add_transport (x5)
  182. 0182specialize prime_field_polynomial_aligned_add_transport (x9)
  183. 0183specialize prime_field_polynomial_aligned_add_transport (x10)
  184. 0184specialize prime_field_polynomial_aligned_add_transport (x11)
  185. 0185specialize prime_field_polynomial_aligned_add_transport (rb)
  186. 0186specialize prime_field_polynomial_aligned_add_transport (rc)
  187. 0187specialize prime_field_polynomial_aligned_add_transport (N)
  188. 0188apply prime_field_polynomial_aligned_add_transport
  189. 0189exact hfirst_bounded
  190. 0190exact hsecond_bounded
  191. 0191have hrbound : ((forall fom_index_pfp_add_input_A. (exists fom_gap_pfp_add_input_A_index_bound. fom_gap_pfp_add_input_A_index_bound + S (fom_index_pfp_add_input_A) = L) -> exists fom_value_pfp_add_input_A. ((((exists fom_beta_height_pfp_add_input_A_entry. fom_beta_height_pfp_add_input_A_entry + S (fom_value_pfp_add_input_A) = S ((S (fom_index_pfp_add_input_A)) * ac)) /\ exists fom_beta_quotient_pfp_add_input_A_entry. ab = fom_beta_quotient_pfp_add_input_A_entry * S ((S (fom_index_pfp_add_input_A)) * ac) + (fom_value_pfp_add_input_A))) /\ (exists fom_gap_pfp_add_input_A_value_bound. fom_gap_pfp_add_input_A_value_bound + S (fom_value_pfp_add_input_A) = p))) /\ (((forall fom_index_pfp_add_input_B. (exists fom_gap_pfp_add_input_B_index_bound. fom_gap_pfp_add_input_B_index_bound + S (fom_index_pfp_add_input_B) = M) -> exists fom_value_pfp_add_input_B. ((((exists fom_beta_height_pfp_add_input_B_entry. fom_beta_height_pfp_add_input_B_entry + S (fom_value_pfp_add_input_B) = S ((S (fom_index_pfp_add_input_B)) * bc)) /\ exists fom_beta_quotient_pfp_add_input_B_entry. bb = fom_beta_quotient_pfp_add_input_B_entry * S ((S (fom_index_pfp_add_input_B)) * bc) + (fom_value_pfp_add_input_B))) /\ (exists fom_gap_pfp_add_input_B_value_bound. fom_gap_pfp_add_input_B_value_bound + S (fom_value_pfp_add_input_B) = p))) /\ ((forall fom_index_pfp_add_input_R. (exists fom_gap_pfp_add_input_R_index_bound. fom_gap_pfp_add_input_R_index_bound + S (fom_index_pfp_add_input_R) = N) -> exists fom_value_pfp_add_input_R. ((((exists fom_beta_height_pfp_add_input_R_entry. fom_beta_height_pfp_add_input_R_entry + S (fom_value_pfp_add_input_R) = S ((S (fom_index_pfp_add_input_R)) * rc)) /\ exists fom_beta_quotient_pfp_add_input_R_entry. rb = fom_beta_quotient_pfp_add_input_R_entry * S ((S (fom_index_pfp_add_input_R)) * rc) + (fom_value_pfp_add_input_R))) /\ (exists fom_gap_pfp_add_input_R_value_bound. fom_gap_pfp_add_input_R_value_bound + S (fom_value_pfp_add_input_R) = p)))))))
  192. 0192specialize prime_field_polynomial_aligned_add_bounded (p)
  193. 0193specialize prime_field_polynomial_aligned_add_bounded (ab)
  194. 0194specialize prime_field_polynomial_aligned_add_bounded (ac)
  195. 0195specialize prime_field_polynomial_aligned_add_bounded (L)
  196. 0196specialize prime_field_polynomial_aligned_add_bounded (bb)
  197. 0197specialize prime_field_polynomial_aligned_add_bounded (bc)
  198. 0198specialize prime_field_polynomial_aligned_add_bounded (M)
  199. 0199specialize prime_field_polynomial_aligned_add_bounded (rb)
  200. 0200specialize prime_field_polynomial_aligned_add_bounded (rc)
  201. 0201specialize prime_field_polynomial_aligned_add_bounded (N)
  202. 0202apply prime_field_polynomial_aligned_add_bounded
  203. 0203exact hop
  204. 0204cases hrbound
  205. 0205cases hrbound_right
  206. 0206exact hrbound_right_right
  207. 0207exact hDA_right_witness_witness_witness_witness_witness_witness_right
  208. 0208exact hDB_right_witness_witness_witness_witness_witness_witness_right
  209. 0209specialize prime_field_polynomial_power_coefficient_functional (rb)
  210. 0210specialize prime_field_polynomial_power_coefficient_functional (rc)
  211. 0211specialize prime_field_polynomial_power_coefficient_functional (N)
  212. 0212apply prime_field_polynomial_power_coefficient_functional
  213. 0213exact hop
  214. 0214have heq : forall pfrep_power_add_output_equivalent pfrep_left_add_output_equivalent pfrep_right_add_output_equivalent. ((exists pfrep_position_add_output_equivalentfirst. ((pfrep_position_add_output_equivalentfirst+S (pfrep_power_add_output_equivalent)=(x14)) /\ ((((exists ff_h_pfp_add_output_equivalentfirstentry. ff_h_pfp_add_output_equivalentfirstentry + S (pfrep_left_add_output_equivalent) = S ((S (pfrep_position_add_output_equivalentfirst)) * x16)) /\ exists ff_q_pfp_add_output_equivalentfirstentry. x15 = ff_q_pfp_add_output_equivalentfirstentry * S ((S (pfrep_position_add_output_equivalentfirst)) * x16) + (pfrep_left_add_output_equivalent)))))) \/ (((exists pfrep_gap_add_output_equivalentfirstoutside. pfrep_gap_add_output_equivalentfirstoutside+(x14)=(pfrep_power_add_output_equivalent)) /\ (((pfrep_left_add_output_equivalent)=0))))) -> ((exists pfrep_position_add_output_equivalentsecond. ((pfrep_position_add_output_equivalentsecond+S (pfrep_power_add_output_equivalent)=(N)) /\ ((((exists ff_h_pfp_add_output_equivalentsecondentry. ff_h_pfp_add_output_equivalentsecondentry + S (pfrep_right_add_output_equivalent) = S ((S (pfrep_position_add_output_equivalentsecond)) * rc)) /\ exists ff_q_pfp_add_output_equivalentsecondentry. rb = ff_q_pfp_add_output_equivalentsecondentry * S ((S (pfrep_position_add_output_equivalentsecond)) * rc) + (pfrep_right_add_output_equivalent)))))) \/ (((exists pfrep_gap_add_output_equivalentsecondoutside. pfrep_gap_add_output_equivalentsecondoutside+(N)=(pfrep_power_add_output_equivalent)) /\ (((pfrep_right_add_output_equivalent)=0))))) -> pfrep_left_add_output_equivalent=pfrep_right_add_output_equivalent
  215. 0215specialize prime_field_polynomial_aligned_add_functional (p)
  216. 0216specialize prime_field_polynomial_aligned_add_functional (x3)
  217. 0217specialize prime_field_polynomial_aligned_add_functional (x4)
  218. 0218specialize prime_field_polynomial_aligned_add_functional (x5)
  219. 0219specialize prime_field_polynomial_aligned_add_functional (x9)
  220. 0220specialize prime_field_polynomial_aligned_add_functional (x10)
  221. 0221specialize prime_field_polynomial_aligned_add_functional (x11)
  222. 0222specialize prime_field_polynomial_aligned_add_functional (x15)
  223. 0223specialize prime_field_polynomial_aligned_add_functional (x16)
  224. 0224specialize prime_field_polynomial_aligned_add_functional (x14)
  225. 0225specialize prime_field_polynomial_aligned_add_functional (rb)
  226. 0226specialize prime_field_polynomial_aligned_add_functional (rc)
  227. 0227specialize prime_field_polynomial_aligned_add_functional (N)
  228. 0228apply prime_field_polynomial_aligned_add_functional
  229. 0229exact hp
  230. 0230exact hdistr
  231. 0231exact hcompare
  232. 0232have hopbound : ((forall fom_index_pfp_add_input_bound_0. (exists fom_gap_pfp_add_input_bound_0_index_bound. fom_gap_pfp_add_input_bound_0_index_bound + S (fom_index_pfp_add_input_bound_0) = L) -> exists fom_value_pfp_add_input_bound_0. ((((exists fom_beta_height_pfp_add_input_bound_0_entry. fom_beta_height_pfp_add_input_bound_0_entry + S (fom_value_pfp_add_input_bound_0) = S ((S (fom_index_pfp_add_input_bound_0)) * ac)) /\ exists fom_beta_quotient_pfp_add_input_bound_0_entry. ab = fom_beta_quotient_pfp_add_input_bound_0_entry * S ((S (fom_index_pfp_add_input_bound_0)) * ac) + (fom_value_pfp_add_input_bound_0))) /\ (exists fom_gap_pfp_add_input_bound_0_value_bound. fom_gap_pfp_add_input_bound_0_value_bound + S (fom_value_pfp_add_input_bound_0) = p))) /\ (((forall fom_index_pfp_add_input_bound_1. (exists fom_gap_pfp_add_input_bound_1_index_bound. fom_gap_pfp_add_input_bound_1_index_bound + S (fom_index_pfp_add_input_bound_1) = M) -> exists fom_value_pfp_add_input_bound_1. ((((exists fom_beta_height_pfp_add_input_bound_1_entry. fom_beta_height_pfp_add_input_bound_1_entry + S (fom_value_pfp_add_input_bound_1) = S ((S (fom_index_pfp_add_input_bound_1)) * bc)) /\ exists fom_beta_quotient_pfp_add_input_bound_1_entry. bb = fom_beta_quotient_pfp_add_input_bound_1_entry * S ((S (fom_index_pfp_add_input_bound_1)) * bc) + (fom_value_pfp_add_input_bound_1))) /\ (exists fom_gap_pfp_add_input_bound_1_value_bound. fom_gap_pfp_add_input_bound_1_value_bound + S (fom_value_pfp_add_input_bound_1) = p))) /\ ((forall fom_index_pfp_add_input_bound_2. (exists fom_gap_pfp_add_input_bound_2_index_bound. fom_gap_pfp_add_input_bound_2_index_bound + S (fom_index_pfp_add_input_bound_2) = N) -> exists fom_value_pfp_add_input_bound_2. ((((exists fom_beta_height_pfp_add_input_bound_2_entry. fom_beta_height_pfp_add_input_bound_2_entry + S (fom_value_pfp_add_input_bound_2) = S ((S (fom_index_pfp_add_input_bound_2)) * rc)) /\ exists fom_beta_quotient_pfp_add_input_bound_2_entry. rb = fom_beta_quotient_pfp_add_input_bound_2_entry * S ((S (fom_index_pfp_add_input_bound_2)) * rc) + (fom_value_pfp_add_input_bound_2))) /\ (exists fom_gap_pfp_add_input_bound_2_value_bound. fom_gap_pfp_add_input_bound_2_value_bound + S (fom_value_pfp_add_input_bound_2) = p)))))))
  233. 0233specialize prime_field_polynomial_aligned_add_bounded (p)
  234. 0234specialize prime_field_polynomial_aligned_add_bounded (ab)
  235. 0235specialize prime_field_polynomial_aligned_add_bounded (ac)
  236. 0236specialize prime_field_polynomial_aligned_add_bounded (L)
  237. 0237specialize prime_field_polynomial_aligned_add_bounded (bb)
  238. 0238specialize prime_field_polynomial_aligned_add_bounded (bc)
  239. 0239specialize prime_field_polynomial_aligned_add_bounded (M)
  240. 0240specialize prime_field_polynomial_aligned_add_bounded (rb)
  241. 0241specialize prime_field_polynomial_aligned_add_bounded (rc)
  242. 0242specialize prime_field_polynomial_aligned_add_bounded (N)
  243. 0243apply prime_field_polynomial_aligned_add_bounded
  244. 0244exact hop
  245. 0245cases hopbound
  246. 0246cases hopbound_right
  247. 0247specialize prime_field_polynomial_right_divides_from_product (p)
  248. 0248specialize prime_field_polynomial_right_divides_from_product (db)
  249. 0249specialize prime_field_polynomial_right_divides_from_product (dc)
  250. 0250specialize prime_field_polynomial_right_divides_from_product (J)
  251. 0251specialize prime_field_polynomial_right_divides_from_product (rb)
  252. 0252specialize prime_field_polynomial_right_divides_from_product (rc)
  253. 0253specialize prime_field_polynomial_right_divides_from_product (N)
  254. 0254specialize prime_field_polynomial_right_divides_from_product (x12)
  255. 0255specialize prime_field_polynomial_right_divides_from_product (x13)
  256. 0256specialize prime_field_polynomial_right_divides_from_product ((x2)+(x8))
  257. 0257specialize prime_field_polynomial_right_divides_from_product (x15)
  258. 0258specialize prime_field_polynomial_right_divides_from_product (x16)
  259. 0259specialize prime_field_polynomial_right_divides_from_product (x14)
  260. 0260apply prime_field_polynomial_right_divides_from_product
  261. 0261exact hopbound_right_right
  262. 0262exact hresult_product_witness_witness
  263. 0263exact heq