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 D d ab ac L a. (~((p) = 1) /\ forall pfa_factor_left_factor_prime pfa_factor_right_factor_prime. (p) = pfa_factor_left_factor_prime * pfa_factor_right_factor_prime -> pfa_factor_left_factor_prime = 1 \/ pfa_factor_right_factor_prime = 1) -> ((((D)=S (d)) /\ (((forall fom_index_pfp_factor_divisorcoefficients. (exists fom_gap_pfp_factor_divisorcoefficients_index_bound. fom_gap_pfp_factor_divisorcoefficients_index_bound + S (fom_index_pfp_factor_divisorcoefficients) = D) -> exists fom_value_pfp_factor_divisorcoefficients. ((((exists fom_beta_height_pfp_factor_divisorcoefficients_entry. fom_beta_height_pfp_factor_divisorcoefficients_entry + S (fom_value_pfp_factor_divisorcoefficients) = S ((S (fom_index_pfp_factor_divisorcoefficients)) * dc)) /\ exists fom_beta_quotient_pfp_factor_divisorcoefficients_entry. db = fom_beta_quotient_pfp_factor_divisorcoefficients_entry * S ((S (fom_index_pfp_factor_divisorcoefficients)) * dc) + (fom_value_pfp_factor_divisorcoefficients))) /\ (exists fom_gap_pfp_factor_divisorcoefficients_value_bound. fom_gap_pfp_factor_divisorcoefficients_value_bound + S (fom_value_pfp_factor_divisorcoefficients) = p))) /\ ((exists pfd_leading_factor_divisor. ((((exists ff_h_pfp_factor_divisorentry. ff_h_pfp_factor_divisorentry + S (pfd_leading_factor_divisor) = S ((S (0)) * dc)) /\ exists ff_q_pfp_factor_divisorentry. db = ff_q_pfp_factor_divisorentry * S ((S (0)) * dc) + (pfd_leading_factor_divisor))) /\ ((~(pfd_leading_factor_divisor=0)))))))))) -> ((((L)=S (a)) /\ (((forall fom_index_pfp_factor_targetcoefficients. (exists fom_gap_pfp_factor_targetcoefficients_index_bound. fom_gap_pfp_factor_targetcoefficients_index_bound + S (fom_index_pfp_factor_targetcoefficients) = L) -> exists fom_value_pfp_factor_targetcoefficients. ((((exists fom_beta_height_pfp_factor_targetcoefficients_entry. fom_beta_height_pfp_factor_targetcoefficients_entry + S (fom_value_pfp_factor_targetcoefficients) = S ((S (fom_index_pfp_factor_targetcoefficients)) * ac)) /\ exists fom_beta_quotient_pfp_factor_targetcoefficients_entry. ab = fom_beta_quotient_pfp_factor_targetcoefficients_entry * S ((S (fom_index_pfp_factor_targetcoefficients)) * ac) + (fom_value_pfp_factor_targetcoefficients))) /\ (exists fom_gap_pfp_factor_targetcoefficients_value_bound. fom_gap_pfp_factor_targetcoefficients_value_bound + S (fom_value_pfp_factor_targetcoefficients) = p))) /\ ((exists pfd_leading_factor_target. ((((exists ff_h_pfp_factor_targetentry. ff_h_pfp_factor_targetentry + S (pfd_leading_factor_target) = S ((S (0)) * ac)) /\ exists ff_q_pfp_factor_targetentry. ab = ff_q_pfp_factor_targetentry * S ((S (0)) * ac) + (pfd_leading_factor_target))) /\ ((~(pfd_leading_factor_target=0)))))))))) -> (((forall fom_index_pfp_factor_divisibility_canonical. (exists fom_gap_pfp_factor_divisibility_canonical_index_bound. fom_gap_pfp_factor_divisibility_canonical_index_bound + S (fom_index_pfp_factor_divisibility_canonical) = L) -> exists fom_value_pfp_factor_divisibility_canonical. ((((exists fom_beta_height_pfp_factor_divisibility_canonical_entry. fom_beta_height_pfp_factor_divisibility_canonical_entry + S (fom_value_pfp_factor_divisibility_canonical) = S ((S (fom_index_pfp_factor_divisibility_canonical)) * ac)) /\ exists fom_beta_quotient_pfp_factor_divisibility_canonical_entry. ab = fom_beta_quotient_pfp_factor_divisibility_canonical_entry * S ((S (fom_index_pfp_factor_divisibility_canonical)) * ac) + (fom_value_pfp_factor_divisibility_canonical))) /\ (exists fom_gap_pfp_factor_divisibility_canonical_value_bound. fom_gap_pfp_factor_divisibility_canonical_value_bound + S (fom_value_pfp_factor_divisibility_canonical) = p))) /\ ((exists pfgu_qb_factor_divisibility pfgu_qc_factor_divisibility pfgu_Q_factor_divisibility pfgu_pb_factor_divisibility pfgu_pc_factor_divisibility pfgu_P_factor_divisibility. ((((forall fom_index_pfp_factor_divisibility_productleft. (exists fom_gap_pfp_factor_divisibility_productleft_index_bound. fom_gap_pfp_factor_divisibility_productleft_index_bound + S (fom_index_pfp_factor_divisibility_productleft) = pfgu_Q_factor_divisibility) -> exists fom_value_pfp_factor_divisibility_productleft. ((((exists fom_beta_height_pfp_factor_divisibility_productleft_entry. fom_beta_height_pfp_factor_divisibility_productleft_entry + S (fom_value_pfp_factor_divisibility_productleft) = S ((S (fom_index_pfp_factor_divisibility_productleft)) * pfgu_qc_factor_divisibility)) /\ exists fom_beta_quotient_pfp_factor_divisibility_productleft_entry. pfgu_qb_factor_divisibility = fom_beta_quotient_pfp_factor_divisibility_productleft_entry * S ((S (fom_index_pfp_factor_divisibility_productleft)) * pfgu_qc_factor_divisibility) + (fom_value_pfp_factor_divisibility_productleft))) /\ (exists fom_gap_pfp_factor_divisibility_productleft_value_bound. fom_gap_pfp_factor_divisibility_productleft_value_bound + S (fom_value_pfp_factor_divisibility_productleft) = p))) /\ (((forall fom_index_pfp_factor_divisibility_productright. (exists fom_gap_pfp_factor_divisibility_productright_index_bound. fom_gap_pfp_factor_divisibility_productright_index_bound + S (fom_index_pfp_factor_divisibility_productright) = D) -> exists fom_value_pfp_factor_divisibility_productright. ((((exists fom_beta_height_pfp_factor_divisibility_productright_entry. fom_beta_height_pfp_factor_divisibility_productright_entry + S (fom_value_pfp_factor_divisibility_productright) = S ((S (fom_index_pfp_factor_divisibility_productright)) * dc)) /\ exists fom_beta_quotient_pfp_factor_divisibility_productright_entry. db = fom_beta_quotient_pfp_factor_divisibility_productright_entry * S ((S (fom_index_pfp_factor_divisibility_productright)) * dc) + (fom_value_pfp_factor_divisibility_productright))) /\ (exists fom_gap_pfp_factor_divisibility_productright_value_bound. fom_gap_pfp_factor_divisibility_productright_value_bound + S (fom_value_pfp_factor_divisibility_productright) = p))) /\ (((((((pfgu_Q_factor_divisibility)=0 \/ (D)=0) /\ (((pfgu_P_factor_divisibility)=0)))) \/ (((~((pfgu_Q_factor_divisibility)=0)) /\ (((~((D)=0)) /\ (((pfgu_Q_factor_divisibility)+(D)=S (pfgu_P_factor_divisibility)))))))) /\ ((forall pfc_index_factor_divisibility_productcoefficients. (exists pfa_gap_factor_divisibility_productcoefficientsbound. pfa_gap_factor_divisibility_productcoefficientsbound + S (pfc_index_factor_divisibility_productcoefficients) = (pfgu_P_factor_divisibility)) -> exists pfc_value_factor_divisibility_productcoefficients. ((((exists ff_h_pfp_factor_divisibility_productcoefficientsentry. ff_h_pfp_factor_divisibility_productcoefficientsentry + S (pfc_value_factor_divisibility_productcoefficients) = S ((S (pfc_index_factor_divisibility_productcoefficients)) * pfgu_pc_factor_divisibility)) /\ exists ff_q_pfp_factor_divisibility_productcoefficientsentry. pfgu_pb_factor_divisibility = ff_q_pfp_factor_divisibility_productcoefficientsentry * S ((S (pfc_index_factor_divisibility_productcoefficients)) * pfgu_pc_factor_divisibility) + (pfc_value_factor_divisibility_productcoefficients))) /\ ((exists pfc_terms_code_factor_divisibility_productcoefficientscoefficient pfc_terms_scale_factor_divisibility_productcoefficientscoefficient pfc_natural_sum_factor_divisibility_productcoefficientscoefficient. ((forall pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal. (exists pfa_gap_factor_divisibility_productcoefficientscoefficientdiagonalbound. pfa_gap_factor_divisibility_productcoefficientscoefficientdiagonalbound + S (pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal) = (S (pfc_index_factor_divisibility_productcoefficients))) -> exists pfc_value_factor_divisibility_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_factor_divisibility_productcoefficientscoefficientdiagonalentry. ff_h_pfp_factor_divisibility_productcoefficientscoefficientdiagonalentry + S (pfc_value_factor_divisibility_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_factor_divisibility_productcoefficientscoefficient)) /\ exists ff_q_pfp_factor_divisibility_productcoefficientscoefficientdiagonalentry. pfc_terms_code_factor_divisibility_productcoefficientscoefficient = ff_q_pfp_factor_divisibility_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_factor_divisibility_productcoefficientscoefficient) + (pfc_value_factor_divisibility_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_factor_divisibility_productcoefficientscoefficientdiagonalterm pfc_left_factor_divisibility_productcoefficientscoefficientdiagonalterm pfc_right_factor_divisibility_productcoefficientscoefficientdiagonalterm. (((pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal)+pfc_complement_factor_divisibility_productcoefficientscoefficientdiagonalterm=(pfc_index_factor_divisibility_productcoefficients)) /\ ((((((exists pfa_gap_factor_divisibility_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_factor_divisibility_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal) = (pfgu_Q_factor_divisibility)) /\ ((((exists ff_h_pfp_factor_divisibility_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_factor_divisibility_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_factor_divisibility_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal)) * pfgu_qc_factor_divisibility)) /\ exists ff_q_pfp_factor_divisibility_productcoefficientscoefficientdiagonaltermleftentry. pfgu_qb_factor_divisibility = ff_q_pfp_factor_divisibility_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal)) * pfgu_qc_factor_divisibility) + (pfc_left_factor_divisibility_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_factor_divisibility_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_factor_divisibility_productcoefficientscoefficientdiagonaltermleftoutside+(pfgu_Q_factor_divisibility)=(pfc_index_factor_divisibility_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_factor_divisibility_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_factor_divisibility_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_factor_divisibility_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_factor_divisibility_productcoefficientscoefficientdiagonalterm) = (D)) /\ ((((exists ff_h_pfp_factor_divisibility_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_factor_divisibility_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_factor_divisibility_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_factor_divisibility_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_factor_divisibility_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_factor_divisibility_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_factor_divisibility_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_factor_divisibility_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_factor_divisibility_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_factor_divisibility_productcoefficientscoefficientdiagonaltermrightoutside+(D)=(pfc_complement_factor_divisibility_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_factor_divisibility_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_factor_divisibility_productcoefficientscoefficientdiagonal)=pfc_left_factor_divisibility_productcoefficientscoefficientdiagonalterm*pfc_right_factor_divisibility_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_factor_divisibility_productcoefficientscoefficientsum fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum. ((((exists fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_start. fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_start. fs_u_pfc_factor_divisibility_productcoefficientscoefficientsum = fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_factor_divisibility_productcoefficientscoefficient) = S ((S (S (pfc_index_factor_divisibility_productcoefficients))) * fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_factor_divisibility_productcoefficientscoefficientsum = fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_factor_divisibility_productcoefficients))) * fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum) + (pfc_natural_sum_factor_divisibility_productcoefficientscoefficient))) /\ forall fs_i_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps = S (pfc_index_factor_divisibility_productcoefficients)) -> exists fs_a_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps fs_r_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps fs_s_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_factor_divisibility_productcoefficientscoefficient)) /\ exists fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_factor_divisibility_productcoefficientscoefficient = fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_factor_divisibility_productcoefficientscoefficient) + (fs_a_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_factor_divisibility_productcoefficientscoefficientsum = fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum) + (fs_r_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_factor_divisibility_productcoefficientscoefficientsum = fs_q_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_divisibility_productcoefficientscoefficientsum) + (fs_s_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps = fs_r_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps + fs_a_pfc_factor_divisibility_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_factor_divisibility_productcoefficientscoefficientresiduebound. pfa_gap_factor_divisibility_productcoefficientscoefficientresiduebound + S (pfc_value_factor_divisibility_productcoefficients) = (p)) /\ ((exists pfa_offset_left_factor_divisibility_productcoefficientscoefficientresiduecongruence pfa_offset_right_factor_divisibility_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_factor_divisibility_productcoefficientscoefficient) + (p) * pfa_offset_left_factor_divisibility_productcoefficientscoefficientresiduecongruence = (pfc_value_factor_divisibility_productcoefficients) + (p) * pfa_offset_right_factor_divisibility_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_factor_divisibility_target pfrep_left_factor_divisibility_target pfrep_right_factor_divisibility_target. ((exists pfrep_position_factor_divisibility_targetfirst. ((pfrep_position_factor_divisibility_targetfirst+S (pfrep_power_factor_divisibility_target)=(pfgu_P_factor_divisibility)) /\ ((((exists ff_h_pfp_factor_divisibility_targetfirstentry. ff_h_pfp_factor_divisibility_targetfirstentry + S (pfrep_left_factor_divisibility_target) = S ((S (pfrep_position_factor_divisibility_targetfirst)) * pfgu_pc_factor_divisibility)) /\ exists ff_q_pfp_factor_divisibility_targetfirstentry. pfgu_pb_factor_divisibility = ff_q_pfp_factor_divisibility_targetfirstentry * S ((S (pfrep_position_factor_divisibility_targetfirst)) * pfgu_pc_factor_divisibility) + (pfrep_left_factor_divisibility_target)))))) \/ (((exists pfrep_gap_factor_divisibility_targetfirstoutside. pfrep_gap_factor_divisibility_targetfirstoutside+(pfgu_P_factor_divisibility)=(pfrep_power_factor_divisibility_target)) /\ (((pfrep_left_factor_divisibility_target)=0))))) -> ((exists pfrep_position_factor_divisibility_targetsecond. ((pfrep_position_factor_divisibility_targetsecond+S (pfrep_power_factor_divisibility_target)=(L)) /\ ((((exists ff_h_pfp_factor_divisibility_targetsecondentry. ff_h_pfp_factor_divisibility_targetsecondentry + S (pfrep_right_factor_divisibility_target) = S ((S (pfrep_position_factor_divisibility_targetsecond)) * ac)) /\ exists ff_q_pfp_factor_divisibility_targetsecondentry. ab = ff_q_pfp_factor_divisibility_targetsecondentry * S ((S (pfrep_position_factor_divisibility_targetsecond)) * ac) + (pfrep_right_factor_divisibility_target)))))) \/ (((exists pfrep_gap_factor_divisibility_targetsecondoutside. pfrep_gap_factor_divisibility_targetsecondoutside+(L)=(pfrep_power_factor_divisibility_target)) /\ (((pfrep_right_factor_divisibility_target)=0))))) -> pfrep_left_factor_divisibility_target=pfrep_right_factor_divisibility_target))))))) -> (exists pfgu_qb_factor_result pfgu_qc_factor_result pfgu_e_factor_result pfgu_pb_factor_result pfgu_pc_factor_result. (((((S (pfgu_e_factor_result))=S (pfgu_e_factor_result)) /\ (((forall fom_index_pfp_factor_result_quotientcoefficients. (exists fom_gap_pfp_factor_result_quotientcoefficients_index_bound. fom_gap_pfp_factor_result_quotientcoefficients_index_bound + S (fom_index_pfp_factor_result_quotientcoefficients) = S (pfgu_e_factor_result)) -> exists fom_value_pfp_factor_result_quotientcoefficients. ((((exists fom_beta_height_pfp_factor_result_quotientcoefficients_entry. fom_beta_height_pfp_factor_result_quotientcoefficients_entry + S (fom_value_pfp_factor_result_quotientcoefficients) = S ((S (fom_index_pfp_factor_result_quotientcoefficients)) * pfgu_qc_factor_result)) /\ exists fom_beta_quotient_pfp_factor_result_quotientcoefficients_entry. pfgu_qb_factor_result = fom_beta_quotient_pfp_factor_result_quotientcoefficients_entry * S ((S (fom_index_pfp_factor_result_quotientcoefficients)) * pfgu_qc_factor_result) + (fom_value_pfp_factor_result_quotientcoefficients))) /\ (exists fom_gap_pfp_factor_result_quotientcoefficients_value_bound. fom_gap_pfp_factor_result_quotientcoefficients_value_bound + S (fom_value_pfp_factor_result_quotientcoefficients) = p))) /\ ((exists pfd_leading_factor_result_quotient. ((((exists ff_h_pfp_factor_result_quotiententry. ff_h_pfp_factor_result_quotiententry + S (pfd_leading_factor_result_quotient) = S ((S (0)) * pfgu_qc_factor_result)) /\ exists ff_q_pfp_factor_result_quotiententry. pfgu_qb_factor_result = ff_q_pfp_factor_result_quotiententry * S ((S (0)) * pfgu_qc_factor_result) + (pfd_leading_factor_result_quotient))) /\ ((~(pfd_leading_factor_result_quotient=0)))))))))) /\ (((((forall fom_index_pfp_factor_result_productleft. (exists fom_gap_pfp_factor_result_productleft_index_bound. fom_gap_pfp_factor_result_productleft_index_bound + S (fom_index_pfp_factor_result_productleft) = S (pfgu_e_factor_result)) -> exists fom_value_pfp_factor_result_productleft. ((((exists fom_beta_height_pfp_factor_result_productleft_entry. fom_beta_height_pfp_factor_result_productleft_entry + S (fom_value_pfp_factor_result_productleft) = S ((S (fom_index_pfp_factor_result_productleft)) * pfgu_qc_factor_result)) /\ exists fom_beta_quotient_pfp_factor_result_productleft_entry. pfgu_qb_factor_result = fom_beta_quotient_pfp_factor_result_productleft_entry * S ((S (fom_index_pfp_factor_result_productleft)) * pfgu_qc_factor_result) + (fom_value_pfp_factor_result_productleft))) /\ (exists fom_gap_pfp_factor_result_productleft_value_bound. fom_gap_pfp_factor_result_productleft_value_bound + S (fom_value_pfp_factor_result_productleft) = p))) /\ (((forall fom_index_pfp_factor_result_productright. (exists fom_gap_pfp_factor_result_productright_index_bound. fom_gap_pfp_factor_result_productright_index_bound + S (fom_index_pfp_factor_result_productright) = D) -> exists fom_value_pfp_factor_result_productright. ((((exists fom_beta_height_pfp_factor_result_productright_entry. fom_beta_height_pfp_factor_result_productright_entry + S (fom_value_pfp_factor_result_productright) = S ((S (fom_index_pfp_factor_result_productright)) * dc)) /\ exists fom_beta_quotient_pfp_factor_result_productright_entry. db = fom_beta_quotient_pfp_factor_result_productright_entry * S ((S (fom_index_pfp_factor_result_productright)) * dc) + (fom_value_pfp_factor_result_productright))) /\ (exists fom_gap_pfp_factor_result_productright_value_bound. fom_gap_pfp_factor_result_productright_value_bound + S (fom_value_pfp_factor_result_productright) = p))) /\ (((((((S (pfgu_e_factor_result))=0 \/ (D)=0) /\ (((S (a))=0)))) \/ (((~((S (pfgu_e_factor_result))=0)) /\ (((~((D)=0)) /\ (((S (pfgu_e_factor_result))+(D)=S (S (a))))))))) /\ ((forall pfc_index_factor_result_productcoefficients. (exists pfa_gap_factor_result_productcoefficientsbound. pfa_gap_factor_result_productcoefficientsbound + S (pfc_index_factor_result_productcoefficients) = (S (a))) -> exists pfc_value_factor_result_productcoefficients. ((((exists ff_h_pfp_factor_result_productcoefficientsentry. ff_h_pfp_factor_result_productcoefficientsentry + S (pfc_value_factor_result_productcoefficients) = S ((S (pfc_index_factor_result_productcoefficients)) * pfgu_pc_factor_result)) /\ exists ff_q_pfp_factor_result_productcoefficientsentry. pfgu_pb_factor_result = ff_q_pfp_factor_result_productcoefficientsentry * S ((S (pfc_index_factor_result_productcoefficients)) * pfgu_pc_factor_result) + (pfc_value_factor_result_productcoefficients))) /\ ((exists pfc_terms_code_factor_result_productcoefficientscoefficient pfc_terms_scale_factor_result_productcoefficientscoefficient pfc_natural_sum_factor_result_productcoefficientscoefficient. ((forall pfc_index_factor_result_productcoefficientscoefficientdiagonal. (exists pfa_gap_factor_result_productcoefficientscoefficientdiagonalbound. pfa_gap_factor_result_productcoefficientscoefficientdiagonalbound + S (pfc_index_factor_result_productcoefficientscoefficientdiagonal) = (S (pfc_index_factor_result_productcoefficients))) -> exists pfc_value_factor_result_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_factor_result_productcoefficientscoefficientdiagonalentry. ff_h_pfp_factor_result_productcoefficientscoefficientdiagonalentry + S (pfc_value_factor_result_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_factor_result_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_factor_result_productcoefficientscoefficient)) /\ exists ff_q_pfp_factor_result_productcoefficientscoefficientdiagonalentry. pfc_terms_code_factor_result_productcoefficientscoefficient = ff_q_pfp_factor_result_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_factor_result_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_factor_result_productcoefficientscoefficient) + (pfc_value_factor_result_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_factor_result_productcoefficientscoefficientdiagonalterm pfc_left_factor_result_productcoefficientscoefficientdiagonalterm pfc_right_factor_result_productcoefficientscoefficientdiagonalterm. (((pfc_index_factor_result_productcoefficientscoefficientdiagonal)+pfc_complement_factor_result_productcoefficientscoefficientdiagonalterm=(pfc_index_factor_result_productcoefficients)) /\ ((((((exists pfa_gap_factor_result_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_factor_result_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_factor_result_productcoefficientscoefficientdiagonal) = (S (pfgu_e_factor_result))) /\ ((((exists ff_h_pfp_factor_result_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_factor_result_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_factor_result_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_factor_result_productcoefficientscoefficientdiagonal)) * pfgu_qc_factor_result)) /\ exists ff_q_pfp_factor_result_productcoefficientscoefficientdiagonaltermleftentry. pfgu_qb_factor_result = ff_q_pfp_factor_result_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_factor_result_productcoefficientscoefficientdiagonal)) * pfgu_qc_factor_result) + (pfc_left_factor_result_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_factor_result_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_factor_result_productcoefficientscoefficientdiagonaltermleftoutside+(S (pfgu_e_factor_result))=(pfc_index_factor_result_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_factor_result_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_factor_result_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_factor_result_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_factor_result_productcoefficientscoefficientdiagonalterm) = (D)) /\ ((((exists ff_h_pfp_factor_result_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_factor_result_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_factor_result_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_factor_result_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_factor_result_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_factor_result_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_factor_result_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_factor_result_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_factor_result_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_factor_result_productcoefficientscoefficientdiagonaltermrightoutside+(D)=(pfc_complement_factor_result_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_factor_result_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_factor_result_productcoefficientscoefficientdiagonal)=pfc_left_factor_result_productcoefficientscoefficientdiagonalterm*pfc_right_factor_result_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_factor_result_productcoefficientscoefficientsum fs_v_pfc_factor_result_productcoefficientscoefficientsum. ((((exists fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_start. fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_factor_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_start. fs_u_pfc_factor_result_productcoefficientscoefficientsum = fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_factor_result_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_factor_result_productcoefficientscoefficient) = S ((S (S (pfc_index_factor_result_productcoefficients))) * fs_v_pfc_factor_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_factor_result_productcoefficientscoefficientsum = fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_factor_result_productcoefficients))) * fs_v_pfc_factor_result_productcoefficientscoefficientsum) + (pfc_natural_sum_factor_result_productcoefficientscoefficient))) /\ forall fs_i_pfc_factor_result_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_factor_result_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_factor_result_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_factor_result_productcoefficientscoefficientsum_body_steps = S (pfc_index_factor_result_productcoefficients)) -> exists fs_a_pfc_factor_result_productcoefficientscoefficientsum_body_steps fs_r_pfc_factor_result_productcoefficientscoefficientsum_body_steps fs_s_pfc_factor_result_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_factor_result_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_factor_result_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_factor_result_productcoefficientscoefficient)) /\ exists fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_factor_result_productcoefficientscoefficient = fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_factor_result_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_factor_result_productcoefficientscoefficient) + (fs_a_pfc_factor_result_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_factor_result_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_factor_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_factor_result_productcoefficientscoefficientsum = fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_factor_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_result_productcoefficientscoefficientsum) + (fs_r_pfc_factor_result_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_factor_result_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_factor_result_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_factor_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_result_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_factor_result_productcoefficientscoefficientsum = fs_q_pfc_factor_result_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_factor_result_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_result_productcoefficientscoefficientsum) + (fs_s_pfc_factor_result_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_factor_result_productcoefficientscoefficientsum_body_steps = fs_r_pfc_factor_result_productcoefficientscoefficientsum_body_steps + fs_a_pfc_factor_result_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_factor_result_productcoefficientscoefficientresiduebound. pfa_gap_factor_result_productcoefficientscoefficientresiduebound + S (pfc_value_factor_result_productcoefficients) = (p)) /\ ((exists pfa_offset_left_factor_result_productcoefficientscoefficientresiduecongruence pfa_offset_right_factor_result_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_factor_result_productcoefficientscoefficient) + (p) * pfa_offset_left_factor_result_productcoefficientscoefficientresiduecongruence = (pfc_value_factor_result_productcoefficients) + (p) * pfa_offset_right_factor_result_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((forall pfrep_power_factor_result_equivalent pfrep_left_factor_result_equivalent pfrep_right_factor_result_equivalent. ((exists pfrep_position_factor_result_equivalentfirst. ((pfrep_position_factor_result_equivalentfirst+S (pfrep_power_factor_result_equivalent)=(S (a))) /\ ((((exists ff_h_pfp_factor_result_equivalentfirstentry. ff_h_pfp_factor_result_equivalentfirstentry + S (pfrep_left_factor_result_equivalent) = S ((S (pfrep_position_factor_result_equivalentfirst)) * pfgu_pc_factor_result)) /\ exists ff_q_pfp_factor_result_equivalentfirstentry. pfgu_pb_factor_result = ff_q_pfp_factor_result_equivalentfirstentry * S ((S (pfrep_position_factor_result_equivalentfirst)) * pfgu_pc_factor_result) + (pfrep_left_factor_result_equivalent)))))) \/ (((exists pfrep_gap_factor_result_equivalentfirstoutside. pfrep_gap_factor_result_equivalentfirstoutside+(S (a))=(pfrep_power_factor_result_equivalent)) /\ (((pfrep_left_factor_result_equivalent)=0))))) -> ((exists pfrep_position_factor_result_equivalentsecond. ((pfrep_position_factor_result_equivalentsecond+S (pfrep_power_factor_result_equivalent)=(L)) /\ ((((exists ff_h_pfp_factor_result_equivalentsecondentry. ff_h_pfp_factor_result_equivalentsecondentry + S (pfrep_right_factor_result_equivalent) = S ((S (pfrep_position_factor_result_equivalentsecond)) * ac)) /\ exists ff_q_pfp_factor_result_equivalentsecondentry. ab = ff_q_pfp_factor_result_equivalentsecondentry * S ((S (pfrep_position_factor_result_equivalentsecond)) * ac) + (pfrep_right_factor_result_equivalent)))))) \/ (((exists pfrep_gap_factor_result_equivalentsecondoutside. pfrep_gap_factor_result_equivalentsecondoutside+(L)=(pfrep_power_factor_result_equivalent)) /\ (((pfrep_right_factor_result_equivalent)=0))))) -> pfrep_left_factor_result_equivalent=pfrep_right_factor_result_equivalent) /\ (((pfgu_e_factor_result)+(d)=(a)))))))))Constructive proof overview
Generated structural guide
Trim the actual quotient, construct an independent proper-length product, and transport formal coefficients. Its genuine nonzero degree e satisfies e+d=a; no quotient degree or domain cancellation is assumed.
The unchanged tactic script uses 13 declared prerequisites and contains 235 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_trim_exists Alpha theorem; checked-use authorized prime_field_polynomial_trim_output_coefficients Alpha theorem; checked-use authorized prime_field_polynomial_trim_equivalent Alpha theorem; checked-use authorized polynomial_product_length_exists Alpha theorem; checked-use authorized prime_field_polynomial_convolution_at_length_exists Alpha theorem; checked-use authorized prime_field_polynomial_equivalent_transitive Alpha theorem; checked-use authorized prime_field_polynomial_equivalent_symmetric Alpha theorem; checked-use authorized prime_field_polynomial_convolution_equivalent_congruent_left Alpha theorem; checked-use authorized PG006F prime_field_polynomial_product_equivalent_nonzero_left_nonempty prime_field_polynomial_trim_nonempty_degree_exists Alpha theorem; checked-use authorized prime_field_polynomial_convolution_represented_degree Alpha theorem; checked-use authorized PG006E prime_field_polynomial_equivalent_represented_degrees_equalDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hpnL14–19
04Establish hdboundL20–20
Establish this local claim before using it. It is not an additional assumption.
- L20
have hdbound : BetaPrefixInto(db,dc,D,p)Definitions: BetaPrefixInto
05Separate the logical casesL21–22
06Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact hd_right_left
07Separate the logical casesL24–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hrd - L25
cases hrd_right - L26
cases hrd_right_witness - L27
cases hrd_right_witness_witness - L28
cases hrd_right_witness_witness_witness - L29
cases hrd_right_witness_witness_witness_witness - L30
cases hrd_right_witness_witness_witness_witness_witness - L31
cases hrd_right_witness_witness_witness_witness_witness_witness
08Establish hqboundL32–32
Establish this local claim before using it. It is not an additional assumption.
- L32
have hqbound : BetaPrefixInto(x,x1,x2,p)Definitions: BetaPrefixInto
09Separate the logical casesL33–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
10Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
exact hrd_right_witness_witness_witness_witness_witness_witness_left_left
11Establish htL37–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial trim exists.
- L37
have ht : ∃ t. ∃ tb. ∃ tc. ∃ T. FpPolynomialTrim(p,x,x1,x2,t,tb,tc,T)Definitions: FpPolynomialTrim - L38
specialize prime_field_polynomial_trim_exists (p) - L39
specialize prime_field_polynomial_trim_exists (x) - L40
specialize prime_field_polynomial_trim_exists (x1) - L41
specialize prime_field_polynomial_trim_exists (x2) - L42
apply prime_field_polynomial_trim_exists - L43
exact hqbound
12Separate the logical casesL44–47
13Establish htboundL48–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial trim output coefficients.
- L48
have htbound : BetaPrefixInto(x7,x8,x9,p)Definitions: BetaPrefixInto - L49
specialize prime_field_polynomial_trim_output_coefficients (p) - L50
specialize prime_field_polynomial_trim_output_coefficients (x) - L51
specialize prime_field_polynomial_trim_output_coefficients (x1) - L52
specialize prime_field_polynomial_trim_output_coefficients (x2) - L53
specialize prime_field_polynomial_trim_output_coefficients (x6) - L54
specialize prime_field_polynomial_trim_output_coefficients (x7) - L55
specialize prime_field_polynomial_trim_output_coefficients (x8) - L56
specialize prime_field_polynomial_trim_output_coefficients (x9) - L57
apply prime_field_polynomial_trim_output_coefficients
14Use earlier factsL58–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
exact ht_witness_witness_witness_witness
15Establish hqeL59–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial trim equivalent.
- L59
have hqe : PolynomialEquivalent(x,x1,x2,x7,x8,x9)Definitions: PolynomialEquivalent - L60
specialize prime_field_polynomial_trim_equivalent (p) - L61
specialize prime_field_polynomial_trim_equivalent (x) - L62
specialize prime_field_polynomial_trim_equivalent (x1) - L63
specialize prime_field_polynomial_trim_equivalent (x2) - L64
specialize prime_field_polynomial_trim_equivalent (x6) - L65
specialize prime_field_polynomial_trim_equivalent (x7) - L66
specialize prime_field_polynomial_trim_equivalent (x8) - L67
specialize prime_field_polynomial_trim_equivalent (x9) - L68
apply prime_field_polynomial_trim_equivalent
16Use earlier factsL69–69
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
exact ht_witness_witness_witness_witness
17Establish hplenL70–73
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial product length exists.
18Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
cases hplen
19Establish hpnewL75–84
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.
- L75
have hpnew : ∃ vb. ∃ vc. FpPolyProduct(p,x7,x8,x9,db,dc,D,vb,vc,x10)Definitions: FpPolyProduct - L76
specialize prime_field_polynomial_convolution_at_length_exists (p) - L77
specialize prime_field_polynomial_convolution_at_length_exists (x7) - L78
specialize prime_field_polynomial_convolution_at_length_exists (x8) - L79
specialize prime_field_polynomial_convolution_at_length_exists (x9) - L80
specialize prime_field_polynomial_convolution_at_length_exists (db) - L81
specialize prime_field_polynomial_convolution_at_length_exists (dc) - L82
specialize prime_field_polynomial_convolution_at_length_exists (D) - L83
specialize prime_field_polynomial_convolution_at_length_exists (x10) - L84
apply prime_field_polynomial_convolution_at_length_exists
20Use earlier factsL85–88
21Separate the logical casesL89–90
22Establish hequivL91–100
Establish this local claim before using it. It is not an additional assumption.
- L91
have hequiv : PolynomialEquivalent(x11,x12,x10,ab,ac,L)Definitions: PolynomialEquivalent - L92
specialize prime_field_polynomial_equivalent_transitive (x11) - L93
specialize prime_field_polynomial_equivalent_transitive (x12) - L94
specialize prime_field_polynomial_equivalent_transitive (x10) - L95
specialize prime_field_polynomial_equivalent_transitive (x3) - L96
specialize prime_field_polynomial_equivalent_transitive (x4) - L97
specialize prime_field_polynomial_equivalent_transitive (x5) - L98
specialize prime_field_polynomial_equivalent_transitive (ab) - L99
specialize prime_field_polynomial_equivalent_transitive (ac) - L100
specialize prime_field_polynomial_equivalent_transitive (L)
23Use earlier factsL101–110
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L101
apply prime_field_polynomial_equivalent_transitive - L102
specialize prime_field_polynomial_equivalent_symmetric (x3) - L103
specialize prime_field_polynomial_equivalent_symmetric (x4) - L104
specialize prime_field_polynomial_equivalent_symmetric (x5) - L105
specialize prime_field_polynomial_equivalent_symmetric (x11) - L106
specialize prime_field_polynomial_equivalent_symmetric (x12) - L107
specialize prime_field_polynomial_equivalent_symmetric (x10) - L108
apply prime_field_polynomial_equivalent_symmetric - L109
specialize prime_field_polynomial_convolution_equivalent_congruent_left (p) - L110
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x)
24Use earlier factsL111–120
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L111
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x1) - L112
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x2) - L113
specialize prime_field_polynomial_convolution_equivalent_congruent_left (db) - L114
specialize prime_field_polynomial_convolution_equivalent_congruent_left (dc) - L115
specialize prime_field_polynomial_convolution_equivalent_congruent_left (D) - L116
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x3) - L117
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x4) - L118
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x5) - L119
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x7) - L120
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x8)
25Use earlier factsL121–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L121
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x9) - L122
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x11) - L123
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x12) - L124
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x10) - L125
apply prime_field_polynomial_convolution_equivalent_congruent_left - L126
exact hpn - L127
exact hqe - L128
exact hrd_right_witness_witness_witness_witness_witness_witness_left - L129
exact hpnew_witness_witness - L130
exact hrd_right_witness_witness_witness_witness_witness_witness_right
26Establish hnL131–140
Establish this local claim before using it. It is not an additional assumption.
- L131
have hn : ~(x9=0) - L132
intro htzero - L133
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (p) - L134
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x7) - L135
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x8) - L136
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x9) - L137
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (db) - L138
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (dc) - L139
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (D) - L140
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x11)
27Use earlier factsL141–150
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L141
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x12) - L142
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x10) - L143
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (ab) - L144
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (ac) - L145
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (L) - L146
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (a) - L147
apply prime_field_polynomial_product_equivalent_nonzero_left_nonempty - L148
exact ha - L149
exact hpnew_witness_witness - L150
exact hequiv
28Use earlier factsL151–151
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L151
exact htzero
29Establish hqdL152–161
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial trim nonempty degree exists.
- L152
have hqd : ∃ e. FpRepresentedDegree(p,x7,x8,x9,e)Definitions: FpRepresentedDegree - L153
specialize prime_field_polynomial_trim_nonempty_degree_exists (p) - L154
specialize prime_field_polynomial_trim_nonempty_degree_exists (x) - L155
specialize prime_field_polynomial_trim_nonempty_degree_exists (x1) - L156
specialize prime_field_polynomial_trim_nonempty_degree_exists (x2) - L157
specialize prime_field_polynomial_trim_nonempty_degree_exists (x6) - L158
specialize prime_field_polynomial_trim_nonempty_degree_exists (x7) - L159
specialize prime_field_polynomial_trim_nonempty_degree_exists (x8) - L160
specialize prime_field_polynomial_trim_nonempty_degree_exists (x9) - L161
apply prime_field_polynomial_trim_nonempty_degree_exists
30Use earlier factsL162–163
31Separate the logical casesL164–164
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L164
cases hqd
32Establish hpdL165–174
Establish this local claim before using it. It is not an additional assumption.
- L165
have hpd : FpRepresentedDegree(p,x11,x12,x10,x13 + d)Definitions: FpRepresentedDegree - L166
specialize prime_field_polynomial_convolution_represented_degree (p) - L167
specialize prime_field_polynomial_convolution_represented_degree (x7) - L168
specialize prime_field_polynomial_convolution_represented_degree (x8) - L169
specialize prime_field_polynomial_convolution_represented_degree (x9) - L170
specialize prime_field_polynomial_convolution_represented_degree (x13) - L171
specialize prime_field_polynomial_convolution_represented_degree (db) - L172
specialize prime_field_polynomial_convolution_represented_degree (dc) - L173
specialize prime_field_polynomial_convolution_represented_degree (D) - L174
specialize prime_field_polynomial_convolution_represented_degree (d)
33Use earlier factsL175–182
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L175
specialize prime_field_polynomial_convolution_represented_degree (x11) - L176
specialize prime_field_polynomial_convolution_represented_degree (x12) - L177
specialize prime_field_polynomial_convolution_represented_degree (x10) - L178
apply prime_field_polynomial_convolution_represented_degree - L179
exact hp - L180
exact hqd_witness - L181
exact hd - L182
exact hpnew_witness_witness
34Establish hsumL183–192
Establish this local claim before using it. It is not an additional assumption.
- L183
have hsum : x13+d=a - L184
specialize prime_field_polynomial_equivalent_represented_degrees_equal (p) - L185
specialize prime_field_polynomial_equivalent_represented_degrees_equal (x11) - L186
specialize prime_field_polynomial_equivalent_represented_degrees_equal (x12) - L187
specialize prime_field_polynomial_equivalent_represented_degrees_equal (x10) - L188
specialize prime_field_polynomial_equivalent_represented_degrees_equal (x13+d) - L189
specialize prime_field_polynomial_equivalent_represented_degrees_equal (ab) - L190
specialize prime_field_polynomial_equivalent_represented_degrees_equal (ac) - L191
specialize prime_field_polynomial_equivalent_represented_degrees_equal (L) - L192
specialize prime_field_polynomial_equivalent_represented_degrees_equal (a)
35Use earlier factsL193–196
36Establish hqlenL197–197
Establish this local claim before using it. It is not an additional assumption.
- L197
have hqlen : x9=S x13
37Separate the logical casesL198–198
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L198
cases hqd_witness
38Use earlier factsL199–199
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L199
exact hqd_witness_left
39Establish hplen2L200–200
Establish this local claim before using it. It is not an additional assumption.
- L200
have hplen2 : x10=S a
40Separate the logical casesL201–201
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L201
cases hpd
41Calculate and transport equalitiesL202–204
42Construct an explicit witnessL205–209
43Separate the logical casesL210–210
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L210
split
44Establish hqdnewL211–215
45Separate the logical casesL216–216
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L216
split
46Establish hcpL217–226
Establish this local claim before using it. It is not an additional assumption.
- L217
have hcp : FpPolyProduct(p,x7,x8,x9,db,dc,D,x11,x12,x10)Definitions: FpPolyProduct - L218
exact hpnew_witness_witness - L219
rewrite hqlen at hcp - L220
rewrite hqlen at hcp - L221
rewrite hqlen at hcp - L222
rewrite hqlen at hcp - L223
rewrite hqlen at hcp - L224
rewrite hqlen at hcp - L225
rewrite hplen2 at hcp - L226
rewrite hplen2 at hcp
47Calculate and transport equalitiesL227–227
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L227
rewrite hplen2 at hcp
48Use earlier factsL228–228
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L228
exact hcp
49Separate the logical casesL229–229
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L229
split
Original exact command ledger · 235 lines
- 0001
intro p - 0002
intro db - 0003
intro dc - 0004
intro D - 0005
intro d - 0006
intro ab - 0007
intro ac - 0008
intro L - 0009
intro a - 0010
intro hp - 0011
intro hd - 0012
intro ha - 0013
intro hrd - 0014
have hpn : ~(p=0) - 0015
intro hpzero - 0016
specialize prime_nonzero (p) - 0017
apply prime_nonzero - 0018
exact hp - 0019
exact hpzero - 0020
have hdbound : forall fom_index_pfp_factor_divisor_bound. (exists fom_gap_pfp_factor_divisor_bound_index_bound. fom_gap_pfp_factor_divisor_bound_index_bound + S (fom_index_pfp_factor_divisor_bound) = D) -> exists fom_value_pfp_factor_divisor_bound. ((((exists fom_beta_height_pfp_factor_divisor_bound_entry. fom_beta_height_pfp_factor_divisor_bound_entry + S (fom_value_pfp_factor_divisor_bound) = S ((S (fom_index_pfp_factor_divisor_bound)) * dc)) /\ exists fom_beta_quotient_pfp_factor_divisor_bound_entry. db = fom_beta_quotient_pfp_factor_divisor_bound_entry * S ((S (fom_index_pfp_factor_divisor_bound)) * dc) + (fom_value_pfp_factor_divisor_bound))) /\ (exists fom_gap_pfp_factor_divisor_bound_value_bound. fom_gap_pfp_factor_divisor_bound_value_bound + S (fom_value_pfp_factor_divisor_bound) = p)) - 0021
cases hd - 0022
cases hd_right - 0023
exact hd_right_left - 0024
cases hrd - 0025
cases hrd_right - 0026
cases hrd_right_witness - 0027
cases hrd_right_witness_witness - 0028
cases hrd_right_witness_witness_witness - 0029
cases hrd_right_witness_witness_witness_witness - 0030
cases hrd_right_witness_witness_witness_witness_witness - 0031
cases hrd_right_witness_witness_witness_witness_witness_witness - 0032
have hqbound : forall fom_index_pfp_factor_quotient_bound. (exists fom_gap_pfp_factor_quotient_bound_index_bound. fom_gap_pfp_factor_quotient_bound_index_bound + S (fom_index_pfp_factor_quotient_bound) = x2) -> exists fom_value_pfp_factor_quotient_bound. ((((exists fom_beta_height_pfp_factor_quotient_bound_entry. fom_beta_height_pfp_factor_quotient_bound_entry + S (fom_value_pfp_factor_quotient_bound) = S ((S (fom_index_pfp_factor_quotient_bound)) * x1)) /\ exists fom_beta_quotient_pfp_factor_quotient_bound_entry. x = fom_beta_quotient_pfp_factor_quotient_bound_entry * S ((S (fom_index_pfp_factor_quotient_bound)) * x1) + (fom_value_pfp_factor_quotient_bound))) /\ (exists fom_gap_pfp_factor_quotient_bound_value_bound. fom_gap_pfp_factor_quotient_bound_value_bound + S (fom_value_pfp_factor_quotient_bound) = p)) - 0033
cases hrd_right_witness_witness_witness_witness_witness_witness_left - 0034
cases hrd_right_witness_witness_witness_witness_witness_witness_left_right - 0035
cases hrd_right_witness_witness_witness_witness_witness_witness_left_right_right - 0036
exact hrd_right_witness_witness_witness_witness_witness_witness_left_left - 0037
have ht : exists t tb tc T. (((x2)=(t)+(T)) /\ (((forall fom_index_pfp_factor_triminput. (exists fom_gap_pfp_factor_triminput_index_bound. fom_gap_pfp_factor_triminput_index_bound + S (fom_index_pfp_factor_triminput) = x2) -> exists fom_value_pfp_factor_triminput. ((((exists fom_beta_height_pfp_factor_triminput_entry. fom_beta_height_pfp_factor_triminput_entry + S (fom_value_pfp_factor_triminput) = S ((S (fom_index_pfp_factor_triminput)) * x1)) /\ exists fom_beta_quotient_pfp_factor_triminput_entry. x = fom_beta_quotient_pfp_factor_triminput_entry * S ((S (fom_index_pfp_factor_triminput)) * x1) + (fom_value_pfp_factor_triminput))) /\ (exists fom_gap_pfp_factor_triminput_value_bound. fom_gap_pfp_factor_triminput_value_bound + S (fom_value_pfp_factor_triminput) = p))) /\ (((forall pfp_repeat_index_factor_trimremoved. (exists pfa_gap_factor_trimremovedindex. pfa_gap_factor_trimremovedindex + S (pfp_repeat_index_factor_trimremoved) = (t)) -> (((exists ff_h_pfp_factor_trimremovedentry. ff_h_pfp_factor_trimremovedentry + S (0) = S ((S (pfp_repeat_index_factor_trimremoved)) * x1)) /\ exists ff_q_pfp_factor_trimremovedentry. x = ff_q_pfp_factor_trimremovedentry * S ((S (pfp_repeat_index_factor_trimremoved)) * x1) + (0)))) /\ (((forall pftrim_index_factor_trimsuffix pftrim_value_factor_trimsuffix. (exists pfa_gap_factor_trimsuffixbound. pfa_gap_factor_trimsuffixbound + S (pftrim_index_factor_trimsuffix) = (T)) -> (((exists ff_h_pfp_factor_trimsuffixsource. ff_h_pfp_factor_trimsuffixsource + S (pftrim_value_factor_trimsuffix) = S ((S ((t)+pftrim_index_factor_trimsuffix)) * x1)) /\ exists ff_q_pfp_factor_trimsuffixsource. x = ff_q_pfp_factor_trimsuffixsource * S ((S ((t)+pftrim_index_factor_trimsuffix)) * x1) + (pftrim_value_factor_trimsuffix))) -> (((exists ff_h_pfp_factor_trimsuffixoutput. ff_h_pfp_factor_trimsuffixoutput + S (pftrim_value_factor_trimsuffix) = S ((S (pftrim_index_factor_trimsuffix)) * tc)) /\ exists ff_q_pfp_factor_trimsuffixoutput. tb = ff_q_pfp_factor_trimsuffixoutput * S ((S (pftrim_index_factor_trimsuffix)) * tc) + (pftrim_value_factor_trimsuffix)))) /\ (((T)=0 \/ (exists pftrim_leading_factor_trimnormal. ((((exists ff_h_pfp_factor_trimnormalentry. ff_h_pfp_factor_trimnormalentry + S (pftrim_leading_factor_trimnormal) = S ((S (0)) * tc)) /\ exists ff_q_pfp_factor_trimnormalentry. tb = ff_q_pfp_factor_trimnormalentry * S ((S (0)) * tc) + (pftrim_leading_factor_trimnormal))) /\ ((~(pftrim_leading_factor_trimnormal=0)))))))))))))) - 0038
specialize prime_field_polynomial_trim_exists (p) - 0039
specialize prime_field_polynomial_trim_exists (x) - 0040
specialize prime_field_polynomial_trim_exists (x1) - 0041
specialize prime_field_polynomial_trim_exists (x2) - 0042
apply prime_field_polynomial_trim_exists - 0043
exact hqbound - 0044
cases ht - 0045
cases ht_witness - 0046
cases ht_witness_witness - 0047
cases ht_witness_witness_witness - 0048
have htbound : forall fom_index_pfp_factor_trim_bound. (exists fom_gap_pfp_factor_trim_bound_index_bound. fom_gap_pfp_factor_trim_bound_index_bound + S (fom_index_pfp_factor_trim_bound) = x9) -> exists fom_value_pfp_factor_trim_bound. ((((exists fom_beta_height_pfp_factor_trim_bound_entry. fom_beta_height_pfp_factor_trim_bound_entry + S (fom_value_pfp_factor_trim_bound) = S ((S (fom_index_pfp_factor_trim_bound)) * x8)) /\ exists fom_beta_quotient_pfp_factor_trim_bound_entry. x7 = fom_beta_quotient_pfp_factor_trim_bound_entry * S ((S (fom_index_pfp_factor_trim_bound)) * x8) + (fom_value_pfp_factor_trim_bound))) /\ (exists fom_gap_pfp_factor_trim_bound_value_bound. fom_gap_pfp_factor_trim_bound_value_bound + S (fom_value_pfp_factor_trim_bound) = p)) - 0049
specialize prime_field_polynomial_trim_output_coefficients (p) - 0050
specialize prime_field_polynomial_trim_output_coefficients (x) - 0051
specialize prime_field_polynomial_trim_output_coefficients (x1) - 0052
specialize prime_field_polynomial_trim_output_coefficients (x2) - 0053
specialize prime_field_polynomial_trim_output_coefficients (x6) - 0054
specialize prime_field_polynomial_trim_output_coefficients (x7) - 0055
specialize prime_field_polynomial_trim_output_coefficients (x8) - 0056
specialize prime_field_polynomial_trim_output_coefficients (x9) - 0057
apply prime_field_polynomial_trim_output_coefficients - 0058
exact ht_witness_witness_witness_witness - 0059
have hqe : forall pfrep_power_factor_trim_equivalent pfrep_left_factor_trim_equivalent pfrep_right_factor_trim_equivalent. ((exists pfrep_position_factor_trim_equivalentfirst. ((pfrep_position_factor_trim_equivalentfirst+S (pfrep_power_factor_trim_equivalent)=(x2)) /\ ((((exists ff_h_pfp_factor_trim_equivalentfirstentry. ff_h_pfp_factor_trim_equivalentfirstentry + S (pfrep_left_factor_trim_equivalent) = S ((S (pfrep_position_factor_trim_equivalentfirst)) * x1)) /\ exists ff_q_pfp_factor_trim_equivalentfirstentry. x = ff_q_pfp_factor_trim_equivalentfirstentry * S ((S (pfrep_position_factor_trim_equivalentfirst)) * x1) + (pfrep_left_factor_trim_equivalent)))))) \/ (((exists pfrep_gap_factor_trim_equivalentfirstoutside. pfrep_gap_factor_trim_equivalentfirstoutside+(x2)=(pfrep_power_factor_trim_equivalent)) /\ (((pfrep_left_factor_trim_equivalent)=0))))) -> ((exists pfrep_position_factor_trim_equivalentsecond. ((pfrep_position_factor_trim_equivalentsecond+S (pfrep_power_factor_trim_equivalent)=(x9)) /\ ((((exists ff_h_pfp_factor_trim_equivalentsecondentry. ff_h_pfp_factor_trim_equivalentsecondentry + S (pfrep_right_factor_trim_equivalent) = S ((S (pfrep_position_factor_trim_equivalentsecond)) * x8)) /\ exists ff_q_pfp_factor_trim_equivalentsecondentry. x7 = ff_q_pfp_factor_trim_equivalentsecondentry * S ((S (pfrep_position_factor_trim_equivalentsecond)) * x8) + (pfrep_right_factor_trim_equivalent)))))) \/ (((exists pfrep_gap_factor_trim_equivalentsecondoutside. pfrep_gap_factor_trim_equivalentsecondoutside+(x9)=(pfrep_power_factor_trim_equivalent)) /\ (((pfrep_right_factor_trim_equivalent)=0))))) -> pfrep_left_factor_trim_equivalent=pfrep_right_factor_trim_equivalent - 0060
specialize prime_field_polynomial_trim_equivalent (p) - 0061
specialize prime_field_polynomial_trim_equivalent (x) - 0062
specialize prime_field_polynomial_trim_equivalent (x1) - 0063
specialize prime_field_polynomial_trim_equivalent (x2) - 0064
specialize prime_field_polynomial_trim_equivalent (x6) - 0065
specialize prime_field_polynomial_trim_equivalent (x7) - 0066
specialize prime_field_polynomial_trim_equivalent (x8) - 0067
specialize prime_field_polynomial_trim_equivalent (x9) - 0068
apply prime_field_polynomial_trim_equivalent - 0069
exact ht_witness_witness_witness_witness - 0070
have hplen : exists N. ((((x9)=0 \/ (D)=0) /\ (((N)=0)))) \/ (((~((x9)=0)) /\ (((~((D)=0)) /\ (((x9)+(D)=S (N))))))) - 0071
specialize polynomial_product_length_exists (x9) - 0072
specialize polynomial_product_length_exists (D) - 0073
apply polynomial_product_length_exists - 0074
cases hplen - 0075
have hpnew : exists vb vc. ((forall fom_index_pfp_factor_new_productleft. (exists fom_gap_pfp_factor_new_productleft_index_bound. fom_gap_pfp_factor_new_productleft_index_bound + S (fom_index_pfp_factor_new_productleft) = x9) -> exists fom_value_pfp_factor_new_productleft. ((((exists fom_beta_height_pfp_factor_new_productleft_entry. fom_beta_height_pfp_factor_new_productleft_entry + S (fom_value_pfp_factor_new_productleft) = S ((S (fom_index_pfp_factor_new_productleft)) * x8)) /\ exists fom_beta_quotient_pfp_factor_new_productleft_entry. x7 = fom_beta_quotient_pfp_factor_new_productleft_entry * S ((S (fom_index_pfp_factor_new_productleft)) * x8) + (fom_value_pfp_factor_new_productleft))) /\ (exists fom_gap_pfp_factor_new_productleft_value_bound. fom_gap_pfp_factor_new_productleft_value_bound + S (fom_value_pfp_factor_new_productleft) = p))) /\ (((forall fom_index_pfp_factor_new_productright. (exists fom_gap_pfp_factor_new_productright_index_bound. fom_gap_pfp_factor_new_productright_index_bound + S (fom_index_pfp_factor_new_productright) = D) -> exists fom_value_pfp_factor_new_productright. ((((exists fom_beta_height_pfp_factor_new_productright_entry. fom_beta_height_pfp_factor_new_productright_entry + S (fom_value_pfp_factor_new_productright) = S ((S (fom_index_pfp_factor_new_productright)) * dc)) /\ exists fom_beta_quotient_pfp_factor_new_productright_entry. db = fom_beta_quotient_pfp_factor_new_productright_entry * S ((S (fom_index_pfp_factor_new_productright)) * dc) + (fom_value_pfp_factor_new_productright))) /\ (exists fom_gap_pfp_factor_new_productright_value_bound. fom_gap_pfp_factor_new_productright_value_bound + S (fom_value_pfp_factor_new_productright) = p))) /\ (((((((x9)=0 \/ (D)=0) /\ (((x10)=0)))) \/ (((~((x9)=0)) /\ (((~((D)=0)) /\ (((x9)+(D)=S (x10)))))))) /\ ((forall pfc_index_factor_new_productcoefficients. (exists pfa_gap_factor_new_productcoefficientsbound. pfa_gap_factor_new_productcoefficientsbound + S (pfc_index_factor_new_productcoefficients) = (x10)) -> exists pfc_value_factor_new_productcoefficients. ((((exists ff_h_pfp_factor_new_productcoefficientsentry. ff_h_pfp_factor_new_productcoefficientsentry + S (pfc_value_factor_new_productcoefficients) = S ((S (pfc_index_factor_new_productcoefficients)) * vc)) /\ exists ff_q_pfp_factor_new_productcoefficientsentry. vb = ff_q_pfp_factor_new_productcoefficientsentry * S ((S (pfc_index_factor_new_productcoefficients)) * vc) + (pfc_value_factor_new_productcoefficients))) /\ ((exists pfc_terms_code_factor_new_productcoefficientscoefficient pfc_terms_scale_factor_new_productcoefficientscoefficient pfc_natural_sum_factor_new_productcoefficientscoefficient. ((forall pfc_index_factor_new_productcoefficientscoefficientdiagonal. (exists pfa_gap_factor_new_productcoefficientscoefficientdiagonalbound. pfa_gap_factor_new_productcoefficientscoefficientdiagonalbound + S (pfc_index_factor_new_productcoefficientscoefficientdiagonal) = (S (pfc_index_factor_new_productcoefficients))) -> exists pfc_value_factor_new_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_factor_new_productcoefficientscoefficientdiagonalentry. ff_h_pfp_factor_new_productcoefficientscoefficientdiagonalentry + S (pfc_value_factor_new_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_factor_new_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_factor_new_productcoefficientscoefficient)) /\ exists ff_q_pfp_factor_new_productcoefficientscoefficientdiagonalentry. pfc_terms_code_factor_new_productcoefficientscoefficient = ff_q_pfp_factor_new_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_factor_new_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_factor_new_productcoefficientscoefficient) + (pfc_value_factor_new_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_factor_new_productcoefficientscoefficientdiagonalterm pfc_left_factor_new_productcoefficientscoefficientdiagonalterm pfc_right_factor_new_productcoefficientscoefficientdiagonalterm. (((pfc_index_factor_new_productcoefficientscoefficientdiagonal)+pfc_complement_factor_new_productcoefficientscoefficientdiagonalterm=(pfc_index_factor_new_productcoefficients)) /\ ((((((exists pfa_gap_factor_new_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_factor_new_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_factor_new_productcoefficientscoefficientdiagonal) = (x9)) /\ ((((exists ff_h_pfp_factor_new_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_factor_new_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_factor_new_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_factor_new_productcoefficientscoefficientdiagonal)) * x8)) /\ exists ff_q_pfp_factor_new_productcoefficientscoefficientdiagonaltermleftentry. x7 = ff_q_pfp_factor_new_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_factor_new_productcoefficientscoefficientdiagonal)) * x8) + (pfc_left_factor_new_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_factor_new_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_factor_new_productcoefficientscoefficientdiagonaltermleftoutside+(x9)=(pfc_index_factor_new_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_factor_new_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_factor_new_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_factor_new_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_factor_new_productcoefficientscoefficientdiagonalterm) = (D)) /\ ((((exists ff_h_pfp_factor_new_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_factor_new_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_factor_new_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_factor_new_productcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_factor_new_productcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_factor_new_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_factor_new_productcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_factor_new_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_factor_new_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_factor_new_productcoefficientscoefficientdiagonaltermrightoutside+(D)=(pfc_complement_factor_new_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_factor_new_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_factor_new_productcoefficientscoefficientdiagonal)=pfc_left_factor_new_productcoefficientscoefficientdiagonalterm*pfc_right_factor_new_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_factor_new_productcoefficientscoefficientsum fs_v_pfc_factor_new_productcoefficientscoefficientsum. ((((exists fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_start. fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_factor_new_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_start. fs_u_pfc_factor_new_productcoefficientscoefficientsum = fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_factor_new_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_factor_new_productcoefficientscoefficient) = S ((S (S (pfc_index_factor_new_productcoefficients))) * fs_v_pfc_factor_new_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_factor_new_productcoefficientscoefficientsum = fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_factor_new_productcoefficients))) * fs_v_pfc_factor_new_productcoefficientscoefficientsum) + (pfc_natural_sum_factor_new_productcoefficientscoefficient))) /\ forall fs_i_pfc_factor_new_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_factor_new_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_factor_new_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_factor_new_productcoefficientscoefficientsum_body_steps = S (pfc_index_factor_new_productcoefficients)) -> exists fs_a_pfc_factor_new_productcoefficientscoefficientsum_body_steps fs_r_pfc_factor_new_productcoefficientscoefficientsum_body_steps fs_s_pfc_factor_new_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_factor_new_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_factor_new_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_factor_new_productcoefficientscoefficient)) /\ exists fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_factor_new_productcoefficientscoefficient = fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_factor_new_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_factor_new_productcoefficientscoefficient) + (fs_a_pfc_factor_new_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_factor_new_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_factor_new_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_new_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_factor_new_productcoefficientscoefficientsum = fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_factor_new_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_new_productcoefficientscoefficientsum) + (fs_r_pfc_factor_new_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_factor_new_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_factor_new_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_factor_new_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_new_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_factor_new_productcoefficientscoefficientsum = fs_q_pfc_factor_new_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_factor_new_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_new_productcoefficientscoefficientsum) + (fs_s_pfc_factor_new_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_factor_new_productcoefficientscoefficientsum_body_steps = fs_r_pfc_factor_new_productcoefficientscoefficientsum_body_steps + fs_a_pfc_factor_new_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_factor_new_productcoefficientscoefficientresiduebound. pfa_gap_factor_new_productcoefficientscoefficientresiduebound + S (pfc_value_factor_new_productcoefficients) = (p)) /\ ((exists pfa_offset_left_factor_new_productcoefficientscoefficientresiduecongruence pfa_offset_right_factor_new_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_factor_new_productcoefficientscoefficient) + (p) * pfa_offset_left_factor_new_productcoefficientscoefficientresiduecongruence = (pfc_value_factor_new_productcoefficients) + (p) * pfa_offset_right_factor_new_productcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0076
specialize prime_field_polynomial_convolution_at_length_exists (p) - 0077
specialize prime_field_polynomial_convolution_at_length_exists (x7) - 0078
specialize prime_field_polynomial_convolution_at_length_exists (x8) - 0079
specialize prime_field_polynomial_convolution_at_length_exists (x9) - 0080
specialize prime_field_polynomial_convolution_at_length_exists (db) - 0081
specialize prime_field_polynomial_convolution_at_length_exists (dc) - 0082
specialize prime_field_polynomial_convolution_at_length_exists (D) - 0083
specialize prime_field_polynomial_convolution_at_length_exists (x10) - 0084
apply prime_field_polynomial_convolution_at_length_exists - 0085
exact hpn - 0086
exact htbound - 0087
exact hdbound - 0088
exact hplen_witness - 0089
cases hpnew - 0090
cases hpnew_witness - 0091
have hequiv : forall pfrep_power_factor_actual_equivalent pfrep_left_factor_actual_equivalent pfrep_right_factor_actual_equivalent. ((exists pfrep_position_factor_actual_equivalentfirst. ((pfrep_position_factor_actual_equivalentfirst+S (pfrep_power_factor_actual_equivalent)=(x10)) /\ ((((exists ff_h_pfp_factor_actual_equivalentfirstentry. ff_h_pfp_factor_actual_equivalentfirstentry + S (pfrep_left_factor_actual_equivalent) = S ((S (pfrep_position_factor_actual_equivalentfirst)) * x12)) /\ exists ff_q_pfp_factor_actual_equivalentfirstentry. x11 = ff_q_pfp_factor_actual_equivalentfirstentry * S ((S (pfrep_position_factor_actual_equivalentfirst)) * x12) + (pfrep_left_factor_actual_equivalent)))))) \/ (((exists pfrep_gap_factor_actual_equivalentfirstoutside. pfrep_gap_factor_actual_equivalentfirstoutside+(x10)=(pfrep_power_factor_actual_equivalent)) /\ (((pfrep_left_factor_actual_equivalent)=0))))) -> ((exists pfrep_position_factor_actual_equivalentsecond. ((pfrep_position_factor_actual_equivalentsecond+S (pfrep_power_factor_actual_equivalent)=(L)) /\ ((((exists ff_h_pfp_factor_actual_equivalentsecondentry. ff_h_pfp_factor_actual_equivalentsecondentry + S (pfrep_right_factor_actual_equivalent) = S ((S (pfrep_position_factor_actual_equivalentsecond)) * ac)) /\ exists ff_q_pfp_factor_actual_equivalentsecondentry. ab = ff_q_pfp_factor_actual_equivalentsecondentry * S ((S (pfrep_position_factor_actual_equivalentsecond)) * ac) + (pfrep_right_factor_actual_equivalent)))))) \/ (((exists pfrep_gap_factor_actual_equivalentsecondoutside. pfrep_gap_factor_actual_equivalentsecondoutside+(L)=(pfrep_power_factor_actual_equivalent)) /\ (((pfrep_right_factor_actual_equivalent)=0))))) -> pfrep_left_factor_actual_equivalent=pfrep_right_factor_actual_equivalent - 0092
specialize prime_field_polynomial_equivalent_transitive (x11) - 0093
specialize prime_field_polynomial_equivalent_transitive (x12) - 0094
specialize prime_field_polynomial_equivalent_transitive (x10) - 0095
specialize prime_field_polynomial_equivalent_transitive (x3) - 0096
specialize prime_field_polynomial_equivalent_transitive (x4) - 0097
specialize prime_field_polynomial_equivalent_transitive (x5) - 0098
specialize prime_field_polynomial_equivalent_transitive (ab) - 0099
specialize prime_field_polynomial_equivalent_transitive (ac) - 0100
specialize prime_field_polynomial_equivalent_transitive (L) - 0101
apply prime_field_polynomial_equivalent_transitive - 0102
specialize prime_field_polynomial_equivalent_symmetric (x3) - 0103
specialize prime_field_polynomial_equivalent_symmetric (x4) - 0104
specialize prime_field_polynomial_equivalent_symmetric (x5) - 0105
specialize prime_field_polynomial_equivalent_symmetric (x11) - 0106
specialize prime_field_polynomial_equivalent_symmetric (x12) - 0107
specialize prime_field_polynomial_equivalent_symmetric (x10) - 0108
apply prime_field_polynomial_equivalent_symmetric - 0109
specialize prime_field_polynomial_convolution_equivalent_congruent_left (p) - 0110
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x) - 0111
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x1) - 0112
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x2) - 0113
specialize prime_field_polynomial_convolution_equivalent_congruent_left (db) - 0114
specialize prime_field_polynomial_convolution_equivalent_congruent_left (dc) - 0115
specialize prime_field_polynomial_convolution_equivalent_congruent_left (D) - 0116
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x3) - 0117
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x4) - 0118
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x5) - 0119
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x7) - 0120
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x8) - 0121
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x9) - 0122
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x11) - 0123
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x12) - 0124
specialize prime_field_polynomial_convolution_equivalent_congruent_left (x10) - 0125
apply prime_field_polynomial_convolution_equivalent_congruent_left - 0126
exact hpn - 0127
exact hqe - 0128
exact hrd_right_witness_witness_witness_witness_witness_witness_left - 0129
exact hpnew_witness_witness - 0130
exact hrd_right_witness_witness_witness_witness_witness_witness_right - 0131
have hn : ~(x9=0) - 0132
intro htzero - 0133
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (p) - 0134
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x7) - 0135
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x8) - 0136
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x9) - 0137
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (db) - 0138
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (dc) - 0139
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (D) - 0140
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x11) - 0141
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x12) - 0142
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (x10) - 0143
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (ab) - 0144
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (ac) - 0145
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (L) - 0146
specialize prime_field_polynomial_product_equivalent_nonzero_left_nonempty (a) - 0147
apply prime_field_polynomial_product_equivalent_nonzero_left_nonempty - 0148
exact ha - 0149
exact hpnew_witness_witness - 0150
exact hequiv - 0151
exact htzero - 0152
have hqd : exists e. (((x9)=S (e)) /\ (((forall fom_index_pfp_factor_trim_degreecoefficients. (exists fom_gap_pfp_factor_trim_degreecoefficients_index_bound. fom_gap_pfp_factor_trim_degreecoefficients_index_bound + S (fom_index_pfp_factor_trim_degreecoefficients) = x9) -> exists fom_value_pfp_factor_trim_degreecoefficients. ((((exists fom_beta_height_pfp_factor_trim_degreecoefficients_entry. fom_beta_height_pfp_factor_trim_degreecoefficients_entry + S (fom_value_pfp_factor_trim_degreecoefficients) = S ((S (fom_index_pfp_factor_trim_degreecoefficients)) * x8)) /\ exists fom_beta_quotient_pfp_factor_trim_degreecoefficients_entry. x7 = fom_beta_quotient_pfp_factor_trim_degreecoefficients_entry * S ((S (fom_index_pfp_factor_trim_degreecoefficients)) * x8) + (fom_value_pfp_factor_trim_degreecoefficients))) /\ (exists fom_gap_pfp_factor_trim_degreecoefficients_value_bound. fom_gap_pfp_factor_trim_degreecoefficients_value_bound + S (fom_value_pfp_factor_trim_degreecoefficients) = p))) /\ ((exists pfd_leading_factor_trim_degree. ((((exists ff_h_pfp_factor_trim_degreeentry. ff_h_pfp_factor_trim_degreeentry + S (pfd_leading_factor_trim_degree) = S ((S (0)) * x8)) /\ exists ff_q_pfp_factor_trim_degreeentry. x7 = ff_q_pfp_factor_trim_degreeentry * S ((S (0)) * x8) + (pfd_leading_factor_trim_degree))) /\ ((~(pfd_leading_factor_trim_degree=0))))))))) - 0153
specialize prime_field_polynomial_trim_nonempty_degree_exists (p) - 0154
specialize prime_field_polynomial_trim_nonempty_degree_exists (x) - 0155
specialize prime_field_polynomial_trim_nonempty_degree_exists (x1) - 0156
specialize prime_field_polynomial_trim_nonempty_degree_exists (x2) - 0157
specialize prime_field_polynomial_trim_nonempty_degree_exists (x6) - 0158
specialize prime_field_polynomial_trim_nonempty_degree_exists (x7) - 0159
specialize prime_field_polynomial_trim_nonempty_degree_exists (x8) - 0160
specialize prime_field_polynomial_trim_nonempty_degree_exists (x9) - 0161
apply prime_field_polynomial_trim_nonempty_degree_exists - 0162
exact ht_witness_witness_witness_witness - 0163
exact hn - 0164
cases hqd - 0165
have hpd : (((x10)=S (x13+d)) /\ (((forall fom_index_pfp_factor_product_degreecoefficients. (exists fom_gap_pfp_factor_product_degreecoefficients_index_bound. fom_gap_pfp_factor_product_degreecoefficients_index_bound + S (fom_index_pfp_factor_product_degreecoefficients) = x10) -> exists fom_value_pfp_factor_product_degreecoefficients. ((((exists fom_beta_height_pfp_factor_product_degreecoefficients_entry. fom_beta_height_pfp_factor_product_degreecoefficients_entry + S (fom_value_pfp_factor_product_degreecoefficients) = S ((S (fom_index_pfp_factor_product_degreecoefficients)) * x12)) /\ exists fom_beta_quotient_pfp_factor_product_degreecoefficients_entry. x11 = fom_beta_quotient_pfp_factor_product_degreecoefficients_entry * S ((S (fom_index_pfp_factor_product_degreecoefficients)) * x12) + (fom_value_pfp_factor_product_degreecoefficients))) /\ (exists fom_gap_pfp_factor_product_degreecoefficients_value_bound. fom_gap_pfp_factor_product_degreecoefficients_value_bound + S (fom_value_pfp_factor_product_degreecoefficients) = p))) /\ ((exists pfd_leading_factor_product_degree. ((((exists ff_h_pfp_factor_product_degreeentry. ff_h_pfp_factor_product_degreeentry + S (pfd_leading_factor_product_degree) = S ((S (0)) * x12)) /\ exists ff_q_pfp_factor_product_degreeentry. x11 = ff_q_pfp_factor_product_degreeentry * S ((S (0)) * x12) + (pfd_leading_factor_product_degree))) /\ ((~(pfd_leading_factor_product_degree=0))))))))) - 0166
specialize prime_field_polynomial_convolution_represented_degree (p) - 0167
specialize prime_field_polynomial_convolution_represented_degree (x7) - 0168
specialize prime_field_polynomial_convolution_represented_degree (x8) - 0169
specialize prime_field_polynomial_convolution_represented_degree (x9) - 0170
specialize prime_field_polynomial_convolution_represented_degree (x13) - 0171
specialize prime_field_polynomial_convolution_represented_degree (db) - 0172
specialize prime_field_polynomial_convolution_represented_degree (dc) - 0173
specialize prime_field_polynomial_convolution_represented_degree (D) - 0174
specialize prime_field_polynomial_convolution_represented_degree (d) - 0175
specialize prime_field_polynomial_convolution_represented_degree (x11) - 0176
specialize prime_field_polynomial_convolution_represented_degree (x12) - 0177
specialize prime_field_polynomial_convolution_represented_degree (x10) - 0178
apply prime_field_polynomial_convolution_represented_degree - 0179
exact hp - 0180
exact hqd_witness - 0181
exact hd - 0182
exact hpnew_witness_witness - 0183
have hsum : x13+d=a - 0184
specialize prime_field_polynomial_equivalent_represented_degrees_equal (p) - 0185
specialize prime_field_polynomial_equivalent_represented_degrees_equal (x11) - 0186
specialize prime_field_polynomial_equivalent_represented_degrees_equal (x12) - 0187
specialize prime_field_polynomial_equivalent_represented_degrees_equal (x10) - 0188
specialize prime_field_polynomial_equivalent_represented_degrees_equal (x13+d) - 0189
specialize prime_field_polynomial_equivalent_represented_degrees_equal (ab) - 0190
specialize prime_field_polynomial_equivalent_represented_degrees_equal (ac) - 0191
specialize prime_field_polynomial_equivalent_represented_degrees_equal (L) - 0192
specialize prime_field_polynomial_equivalent_represented_degrees_equal (a) - 0193
apply prime_field_polynomial_equivalent_represented_degrees_equal - 0194
exact hpd - 0195
exact ha - 0196
exact hequiv - 0197
have hqlen : x9=S x13 - 0198
cases hqd_witness - 0199
exact hqd_witness_left - 0200
have hplen2 : x10=S a - 0201
cases hpd - 0202
rewrite hpd_left - 0203
rewrite hsum - 0204
refl - 0205
exists x7 - 0206
exists x8 - 0207
exists x13 - 0208
exists x11 - 0209
exists x12 - 0210
split - 0211
have hqdnew : (((x9)=S (x13)) /\ (((forall fom_index_pfp_factor_pack_degreecoefficients. (exists fom_gap_pfp_factor_pack_degreecoefficients_index_bound. fom_gap_pfp_factor_pack_degreecoefficients_index_bound + S (fom_index_pfp_factor_pack_degreecoefficients) = x9) -> exists fom_value_pfp_factor_pack_degreecoefficients. ((((exists fom_beta_height_pfp_factor_pack_degreecoefficients_entry. fom_beta_height_pfp_factor_pack_degreecoefficients_entry + S (fom_value_pfp_factor_pack_degreecoefficients) = S ((S (fom_index_pfp_factor_pack_degreecoefficients)) * x8)) /\ exists fom_beta_quotient_pfp_factor_pack_degreecoefficients_entry. x7 = fom_beta_quotient_pfp_factor_pack_degreecoefficients_entry * S ((S (fom_index_pfp_factor_pack_degreecoefficients)) * x8) + (fom_value_pfp_factor_pack_degreecoefficients))) /\ (exists fom_gap_pfp_factor_pack_degreecoefficients_value_bound. fom_gap_pfp_factor_pack_degreecoefficients_value_bound + S (fom_value_pfp_factor_pack_degreecoefficients) = p))) /\ ((exists pfd_leading_factor_pack_degree. ((((exists ff_h_pfp_factor_pack_degreeentry. ff_h_pfp_factor_pack_degreeentry + S (pfd_leading_factor_pack_degree) = S ((S (0)) * x8)) /\ exists ff_q_pfp_factor_pack_degreeentry. x7 = ff_q_pfp_factor_pack_degreeentry * S ((S (0)) * x8) + (pfd_leading_factor_pack_degree))) /\ ((~(pfd_leading_factor_pack_degree=0))))))))) - 0212
exact hqd_witness - 0213
rewrite hqlen at hqdnew - 0214
rewrite hqlen at hqdnew - 0215
exact hqdnew - 0216
split - 0217
have hcp : ((forall fom_index_pfp_factor_actual_newleft. (exists fom_gap_pfp_factor_actual_newleft_index_bound. fom_gap_pfp_factor_actual_newleft_index_bound + S (fom_index_pfp_factor_actual_newleft) = x9) -> exists fom_value_pfp_factor_actual_newleft. ((((exists fom_beta_height_pfp_factor_actual_newleft_entry. fom_beta_height_pfp_factor_actual_newleft_entry + S (fom_value_pfp_factor_actual_newleft) = S ((S (fom_index_pfp_factor_actual_newleft)) * x8)) /\ exists fom_beta_quotient_pfp_factor_actual_newleft_entry. x7 = fom_beta_quotient_pfp_factor_actual_newleft_entry * S ((S (fom_index_pfp_factor_actual_newleft)) * x8) + (fom_value_pfp_factor_actual_newleft))) /\ (exists fom_gap_pfp_factor_actual_newleft_value_bound. fom_gap_pfp_factor_actual_newleft_value_bound + S (fom_value_pfp_factor_actual_newleft) = p))) /\ (((forall fom_index_pfp_factor_actual_newright. (exists fom_gap_pfp_factor_actual_newright_index_bound. fom_gap_pfp_factor_actual_newright_index_bound + S (fom_index_pfp_factor_actual_newright) = D) -> exists fom_value_pfp_factor_actual_newright. ((((exists fom_beta_height_pfp_factor_actual_newright_entry. fom_beta_height_pfp_factor_actual_newright_entry + S (fom_value_pfp_factor_actual_newright) = S ((S (fom_index_pfp_factor_actual_newright)) * dc)) /\ exists fom_beta_quotient_pfp_factor_actual_newright_entry. db = fom_beta_quotient_pfp_factor_actual_newright_entry * S ((S (fom_index_pfp_factor_actual_newright)) * dc) + (fom_value_pfp_factor_actual_newright))) /\ (exists fom_gap_pfp_factor_actual_newright_value_bound. fom_gap_pfp_factor_actual_newright_value_bound + S (fom_value_pfp_factor_actual_newright) = p))) /\ (((((((x9)=0 \/ (D)=0) /\ (((x10)=0)))) \/ (((~((x9)=0)) /\ (((~((D)=0)) /\ (((x9)+(D)=S (x10)))))))) /\ ((forall pfc_index_factor_actual_newcoefficients. (exists pfa_gap_factor_actual_newcoefficientsbound. pfa_gap_factor_actual_newcoefficientsbound + S (pfc_index_factor_actual_newcoefficients) = (x10)) -> exists pfc_value_factor_actual_newcoefficients. ((((exists ff_h_pfp_factor_actual_newcoefficientsentry. ff_h_pfp_factor_actual_newcoefficientsentry + S (pfc_value_factor_actual_newcoefficients) = S ((S (pfc_index_factor_actual_newcoefficients)) * x12)) /\ exists ff_q_pfp_factor_actual_newcoefficientsentry. x11 = ff_q_pfp_factor_actual_newcoefficientsentry * S ((S (pfc_index_factor_actual_newcoefficients)) * x12) + (pfc_value_factor_actual_newcoefficients))) /\ ((exists pfc_terms_code_factor_actual_newcoefficientscoefficient pfc_terms_scale_factor_actual_newcoefficientscoefficient pfc_natural_sum_factor_actual_newcoefficientscoefficient. ((forall pfc_index_factor_actual_newcoefficientscoefficientdiagonal. (exists pfa_gap_factor_actual_newcoefficientscoefficientdiagonalbound. pfa_gap_factor_actual_newcoefficientscoefficientdiagonalbound + S (pfc_index_factor_actual_newcoefficientscoefficientdiagonal) = (S (pfc_index_factor_actual_newcoefficients))) -> exists pfc_value_factor_actual_newcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_factor_actual_newcoefficientscoefficientdiagonalentry. ff_h_pfp_factor_actual_newcoefficientscoefficientdiagonalentry + S (pfc_value_factor_actual_newcoefficientscoefficientdiagonal) = S ((S (pfc_index_factor_actual_newcoefficientscoefficientdiagonal)) * pfc_terms_scale_factor_actual_newcoefficientscoefficient)) /\ exists ff_q_pfp_factor_actual_newcoefficientscoefficientdiagonalentry. pfc_terms_code_factor_actual_newcoefficientscoefficient = ff_q_pfp_factor_actual_newcoefficientscoefficientdiagonalentry * S ((S (pfc_index_factor_actual_newcoefficientscoefficientdiagonal)) * pfc_terms_scale_factor_actual_newcoefficientscoefficient) + (pfc_value_factor_actual_newcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_factor_actual_newcoefficientscoefficientdiagonalterm pfc_left_factor_actual_newcoefficientscoefficientdiagonalterm pfc_right_factor_actual_newcoefficientscoefficientdiagonalterm. (((pfc_index_factor_actual_newcoefficientscoefficientdiagonal)+pfc_complement_factor_actual_newcoefficientscoefficientdiagonalterm=(pfc_index_factor_actual_newcoefficients)) /\ ((((((exists pfa_gap_factor_actual_newcoefficientscoefficientdiagonaltermleftinside. pfa_gap_factor_actual_newcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_factor_actual_newcoefficientscoefficientdiagonal) = (x9)) /\ ((((exists ff_h_pfp_factor_actual_newcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_factor_actual_newcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_factor_actual_newcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_factor_actual_newcoefficientscoefficientdiagonal)) * x8)) /\ exists ff_q_pfp_factor_actual_newcoefficientscoefficientdiagonaltermleftentry. x7 = ff_q_pfp_factor_actual_newcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_factor_actual_newcoefficientscoefficientdiagonal)) * x8) + (pfc_left_factor_actual_newcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_factor_actual_newcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_factor_actual_newcoefficientscoefficientdiagonaltermleftoutside+(x9)=(pfc_index_factor_actual_newcoefficientscoefficientdiagonal)) /\ (((pfc_left_factor_actual_newcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_factor_actual_newcoefficientscoefficientdiagonaltermrightinside. pfa_gap_factor_actual_newcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_factor_actual_newcoefficientscoefficientdiagonalterm) = (D)) /\ ((((exists ff_h_pfp_factor_actual_newcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_factor_actual_newcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_factor_actual_newcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_factor_actual_newcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_factor_actual_newcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_factor_actual_newcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_factor_actual_newcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_factor_actual_newcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_factor_actual_newcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_factor_actual_newcoefficientscoefficientdiagonaltermrightoutside+(D)=(pfc_complement_factor_actual_newcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_factor_actual_newcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_factor_actual_newcoefficientscoefficientdiagonal)=pfc_left_factor_actual_newcoefficientscoefficientdiagonalterm*pfc_right_factor_actual_newcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_factor_actual_newcoefficientscoefficientsum fs_v_pfc_factor_actual_newcoefficientscoefficientsum. ((((exists fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_start. fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_factor_actual_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_start. fs_u_pfc_factor_actual_newcoefficientscoefficientsum = fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_factor_actual_newcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_terminal. fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_factor_actual_newcoefficientscoefficient) = S ((S (S (pfc_index_factor_actual_newcoefficients))) * fs_v_pfc_factor_actual_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_terminal. fs_u_pfc_factor_actual_newcoefficientscoefficientsum = fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_factor_actual_newcoefficients))) * fs_v_pfc_factor_actual_newcoefficientscoefficientsum) + (pfc_natural_sum_factor_actual_newcoefficientscoefficient))) /\ forall fs_i_pfc_factor_actual_newcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_factor_actual_newcoefficientscoefficientsum_body_steps = S (pfc_index_factor_actual_newcoefficients)) -> exists fs_a_pfc_factor_actual_newcoefficientscoefficientsum_body_steps fs_r_pfc_factor_actual_newcoefficientscoefficientsum_body_steps fs_s_pfc_factor_actual_newcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_factor_actual_newcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_factor_actual_newcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_factor_actual_newcoefficientscoefficient)) /\ exists fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_factor_actual_newcoefficientscoefficient = fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_factor_actual_newcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_factor_actual_newcoefficientscoefficient) + (fs_a_pfc_factor_actual_newcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_factor_actual_newcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_factor_actual_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_actual_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_factor_actual_newcoefficientscoefficientsum = fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_factor_actual_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_actual_newcoefficientscoefficientsum) + (fs_r_pfc_factor_actual_newcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_factor_actual_newcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_factor_actual_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_actual_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_factor_actual_newcoefficientscoefficientsum = fs_q_pfc_factor_actual_newcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_factor_actual_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_factor_actual_newcoefficientscoefficientsum) + (fs_s_pfc_factor_actual_newcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_factor_actual_newcoefficientscoefficientsum_body_steps = fs_r_pfc_factor_actual_newcoefficientscoefficientsum_body_steps + fs_a_pfc_factor_actual_newcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_factor_actual_newcoefficientscoefficientresiduebound. pfa_gap_factor_actual_newcoefficientscoefficientresiduebound + S (pfc_value_factor_actual_newcoefficients) = (p)) /\ ((exists pfa_offset_left_factor_actual_newcoefficientscoefficientresiduecongruence pfa_offset_right_factor_actual_newcoefficientscoefficientresiduecongruence. (pfc_natural_sum_factor_actual_newcoefficientscoefficient) + (p) * pfa_offset_left_factor_actual_newcoefficientscoefficientresiduecongruence = (pfc_value_factor_actual_newcoefficients) + (p) * pfa_offset_right_factor_actual_newcoefficientscoefficientresiduecongruence)))))))))))))))))) - 0218
exact hpnew_witness_witness - 0219
rewrite hqlen at hcp - 0220
rewrite hqlen at hcp - 0221
rewrite hqlen at hcp - 0222
rewrite hqlen at hcp - 0223
rewrite hqlen at hcp - 0224
rewrite hqlen at hcp - 0225
rewrite hplen2 at hcp - 0226
rewrite hplen2 at hcp - 0227
rewrite hplen2 at hcp - 0228
exact hcp - 0229
split - 0230
have hep : forall pfrep_power_factor_actual_equivalent pfrep_left_factor_actual_equivalent pfrep_right_factor_actual_equivalent. ((exists pfrep_position_factor_actual_equivalentfirst. ((pfrep_position_factor_actual_equivalentfirst+S (pfrep_power_factor_actual_equivalent)=(x10)) /\ ((((exists ff_h_pfp_factor_actual_equivalentfirstentry. ff_h_pfp_factor_actual_equivalentfirstentry + S (pfrep_left_factor_actual_equivalent) = S ((S (pfrep_position_factor_actual_equivalentfirst)) * x12)) /\ exists ff_q_pfp_factor_actual_equivalentfirstentry. x11 = ff_q_pfp_factor_actual_equivalentfirstentry * S ((S (pfrep_position_factor_actual_equivalentfirst)) * x12) + (pfrep_left_factor_actual_equivalent)))))) \/ (((exists pfrep_gap_factor_actual_equivalentfirstoutside. pfrep_gap_factor_actual_equivalentfirstoutside+(x10)=(pfrep_power_factor_actual_equivalent)) /\ (((pfrep_left_factor_actual_equivalent)=0))))) -> ((exists pfrep_position_factor_actual_equivalentsecond. ((pfrep_position_factor_actual_equivalentsecond+S (pfrep_power_factor_actual_equivalent)=(L)) /\ ((((exists ff_h_pfp_factor_actual_equivalentsecondentry. ff_h_pfp_factor_actual_equivalentsecondentry + S (pfrep_right_factor_actual_equivalent) = S ((S (pfrep_position_factor_actual_equivalentsecond)) * ac)) /\ exists ff_q_pfp_factor_actual_equivalentsecondentry. ab = ff_q_pfp_factor_actual_equivalentsecondentry * S ((S (pfrep_position_factor_actual_equivalentsecond)) * ac) + (pfrep_right_factor_actual_equivalent)))))) \/ (((exists pfrep_gap_factor_actual_equivalentsecondoutside. pfrep_gap_factor_actual_equivalentsecondoutside+(L)=(pfrep_power_factor_actual_equivalent)) /\ (((pfrep_right_factor_actual_equivalent)=0))))) -> pfrep_left_factor_actual_equivalent=pfrep_right_factor_actual_equivalent - 0231
exact hequiv - 0232
rewrite hplen2 at hep - 0233
rewrite hplen2 at hep - 0234
exact hep - 0235
exact hsum