PG0069

prime_field_polynomial_gcd_bezout_exists_up_to

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

Ordinary natural induction constructs actual normalized gcd and Bezout witnesses for every pair with second retained length at most n. Both input triples are generalized, a stored zero divisor is trimmed before division, and every genuine recursive call has a proved smaller bound.

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 n. forall p ab ac L bb bc M. (~((p) = 1) /\ forall pfa_factor_left_gcd_induction_prime pfa_factor_right_gcd_induction_prime. (p) = pfa_factor_left_gcd_induction_prime * pfa_factor_right_gcd_induction_prime -> pfa_factor_left_gcd_induction_prime = 1 \/ pfa_factor_right_gcd_induction_prime = 1) -> (forall fom_index_pfp_gcd_induction_A. (exists fom_gap_pfp_gcd_induction_A_index_bound. fom_gap_pfp_gcd_induction_A_index_bound + S (fom_index_pfp_gcd_induction_A) = L) -> exists fom_value_pfp_gcd_induction_A. ((((exists fom_beta_height_pfp_gcd_induction_A_entry. fom_beta_height_pfp_gcd_induction_A_entry + S (fom_value_pfp_gcd_induction_A) = S ((S (fom_index_pfp_gcd_induction_A)) * ac)) /\ exists fom_beta_quotient_pfp_gcd_induction_A_entry. ab = fom_beta_quotient_pfp_gcd_induction_A_entry * S ((S (fom_index_pfp_gcd_induction_A)) * ac) + (fom_value_pfp_gcd_induction_A))) /\ (exists fom_gap_pfp_gcd_induction_A_value_bound. fom_gap_pfp_gcd_induction_A_value_bound + S (fom_value_pfp_gcd_induction_A) = p))) -> (forall fom_index_pfp_gcd_induction_B. (exists fom_gap_pfp_gcd_induction_B_index_bound. fom_gap_pfp_gcd_induction_B_index_bound + S (fom_index_pfp_gcd_induction_B) = M) -> exists fom_value_pfp_gcd_induction_B. ((((exists fom_beta_height_pfp_gcd_induction_B_entry. fom_beta_height_pfp_gcd_induction_B_entry + S (fom_value_pfp_gcd_induction_B) = S ((S (fom_index_pfp_gcd_induction_B)) * bc)) /\ exists fom_beta_quotient_pfp_gcd_induction_B_entry. bb = fom_beta_quotient_pfp_gcd_induction_B_entry * S ((S (fom_index_pfp_gcd_induction_B)) * bc) + (fom_value_pfp_gcd_induction_B))) /\ (exists fom_gap_pfp_gcd_induction_B_value_bound. fom_gap_pfp_gcd_induction_B_value_bound + S (fom_value_pfp_gcd_induction_B) = p))) -> (exists pfc_gap_gcd_induction_bound. pfc_gap_gcd_induction_bound+(M)=(n)) -> (exists pfgs_gb_gcd_induction_solution pfgs_gc_gcd_induction_solution pfgs_G_gcd_induction_solution pfgs_ub_gcd_induction_solution pfgs_uc_gcd_induction_solution pfgs_U_gcd_induction_solution pfgs_vb_gcd_induction_solution pfgs_vc_gcd_induction_solution pfgs_V_gcd_induction_solution. (((pfgs_G_gcd_induction_solution)=0 \/ (((~((pfgs_G_gcd_induction_solution) = 0)) /\ (((forall fom_index_pfp_gcd_induction_solution_witness_normal_moniccoefficients. (exists fom_gap_pfp_gcd_induction_solution_witness_normal_moniccoefficients_index_bound. fom_gap_pfp_gcd_induction_solution_witness_normal_moniccoefficients_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_normal_moniccoefficients) = pfgs_G_gcd_induction_solution) -> exists fom_value_pfp_gcd_induction_solution_witness_normal_moniccoefficients. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_normal_moniccoefficients_entry. fom_beta_height_pfp_gcd_induction_solution_witness_normal_moniccoefficients_entry + S (fom_value_pfp_gcd_induction_solution_witness_normal_moniccoefficients) = S ((S (fom_index_pfp_gcd_induction_solution_witness_normal_moniccoefficients)) * pfgs_gc_gcd_induction_solution)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_normal_moniccoefficients_entry. pfgs_gb_gcd_induction_solution = fom_beta_quotient_pfp_gcd_induction_solution_witness_normal_moniccoefficients_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_normal_moniccoefficients)) * pfgs_gc_gcd_induction_solution) + (fom_value_pfp_gcd_induction_solution_witness_normal_moniccoefficients))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_normal_moniccoefficients_value_bound. fom_gap_pfp_gcd_induction_solution_witness_normal_moniccoefficients_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_normal_moniccoefficients) = p))) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_normal_monicleading. ff_h_pfp_gcd_induction_solution_witness_normal_monicleading + S (1) = S ((S (0)) * pfgs_gc_gcd_induction_solution)) /\ exists ff_q_pfp_gcd_induction_solution_witness_normal_monicleading. pfgs_gb_gcd_induction_solution = ff_q_pfp_gcd_induction_solution_witness_normal_monicleading * S ((S (0)) * pfgs_gc_gcd_induction_solution) + (1))))))))) /\ (((((((forall fom_index_pfp_gcd_induction_solution_witness_common_left_bounded. (exists fom_gap_pfp_gcd_induction_solution_witness_common_left_bounded_index_bound. fom_gap_pfp_gcd_induction_solution_witness_common_left_bounded_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_common_left_bounded) = L) -> exists fom_value_pfp_gcd_induction_solution_witness_common_left_bounded. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_common_left_bounded_entry. fom_beta_height_pfp_gcd_induction_solution_witness_common_left_bounded_entry + S (fom_value_pfp_gcd_induction_solution_witness_common_left_bounded) = S ((S (fom_index_pfp_gcd_induction_solution_witness_common_left_bounded)) * ac)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_common_left_bounded_entry. ab = fom_beta_quotient_pfp_gcd_induction_solution_witness_common_left_bounded_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_common_left_bounded)) * ac) + (fom_value_pfp_gcd_induction_solution_witness_common_left_bounded))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_common_left_bounded_value_bound. fom_gap_pfp_gcd_induction_solution_witness_common_left_bounded_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_common_left_bounded) = p))) /\ ((exists pfgd_qb_gcd_induction_solution_witness_common_left pfgd_qc_gcd_induction_solution_witness_common_left pfgd_Q_gcd_induction_solution_witness_common_left pfgd_pb_gcd_induction_solution_witness_common_left pfgd_pc_gcd_induction_solution_witness_common_left pfgd_P_gcd_induction_solution_witness_common_left. ((((forall fom_index_pfp_gcd_induction_solution_witness_common_left_productleft. (exists fom_gap_pfp_gcd_induction_solution_witness_common_left_productleft_index_bound. fom_gap_pfp_gcd_induction_solution_witness_common_left_productleft_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_common_left_productleft) = pfgd_Q_gcd_induction_solution_witness_common_left) -> exists fom_value_pfp_gcd_induction_solution_witness_common_left_productleft. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_common_left_productleft_entry. fom_beta_height_pfp_gcd_induction_solution_witness_common_left_productleft_entry + S (fom_value_pfp_gcd_induction_solution_witness_common_left_productleft) = S ((S (fom_index_pfp_gcd_induction_solution_witness_common_left_productleft)) * pfgd_qc_gcd_induction_solution_witness_common_left)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_common_left_productleft_entry. pfgd_qb_gcd_induction_solution_witness_common_left = fom_beta_quotient_pfp_gcd_induction_solution_witness_common_left_productleft_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_common_left_productleft)) * pfgd_qc_gcd_induction_solution_witness_common_left) + (fom_value_pfp_gcd_induction_solution_witness_common_left_productleft))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_common_left_productleft_value_bound. fom_gap_pfp_gcd_induction_solution_witness_common_left_productleft_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_common_left_productleft) = p))) /\ (((forall fom_index_pfp_gcd_induction_solution_witness_common_left_productright. (exists fom_gap_pfp_gcd_induction_solution_witness_common_left_productright_index_bound. fom_gap_pfp_gcd_induction_solution_witness_common_left_productright_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_common_left_productright) = pfgs_G_gcd_induction_solution) -> exists fom_value_pfp_gcd_induction_solution_witness_common_left_productright. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_common_left_productright_entry. fom_beta_height_pfp_gcd_induction_solution_witness_common_left_productright_entry + S (fom_value_pfp_gcd_induction_solution_witness_common_left_productright) = S ((S (fom_index_pfp_gcd_induction_solution_witness_common_left_productright)) * pfgs_gc_gcd_induction_solution)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_common_left_productright_entry. pfgs_gb_gcd_induction_solution = fom_beta_quotient_pfp_gcd_induction_solution_witness_common_left_productright_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_common_left_productright)) * pfgs_gc_gcd_induction_solution) + (fom_value_pfp_gcd_induction_solution_witness_common_left_productright))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_common_left_productright_value_bound. fom_gap_pfp_gcd_induction_solution_witness_common_left_productright_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_common_left_productright) = p))) /\ (((((((pfgd_Q_gcd_induction_solution_witness_common_left)=0 \/ (pfgs_G_gcd_induction_solution)=0) /\ (((pfgd_P_gcd_induction_solution_witness_common_left)=0)))) \/ (((~((pfgd_Q_gcd_induction_solution_witness_common_left)=0)) /\ (((~((pfgs_G_gcd_induction_solution)=0)) /\ (((pfgd_Q_gcd_induction_solution_witness_common_left)+(pfgs_G_gcd_induction_solution)=S (pfgd_P_gcd_induction_solution_witness_common_left)))))))) /\ ((forall pfc_index_gcd_induction_solution_witness_common_left_productcoefficients. (exists pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientsbound. pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientsbound + S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficients) = (pfgd_P_gcd_induction_solution_witness_common_left)) -> exists pfc_value_gcd_induction_solution_witness_common_left_productcoefficients. ((((exists ff_h_pfp_gcd_induction_solution_witness_common_left_productcoefficientsentry. ff_h_pfp_gcd_induction_solution_witness_common_left_productcoefficientsentry + S (pfc_value_gcd_induction_solution_witness_common_left_productcoefficients) = S ((S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficients)) * pfgd_pc_gcd_induction_solution_witness_common_left)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_left_productcoefficientsentry. pfgd_pb_gcd_induction_solution_witness_common_left = ff_q_pfp_gcd_induction_solution_witness_common_left_productcoefficientsentry * S ((S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficients)) * pfgd_pc_gcd_induction_solution_witness_common_left) + (pfc_value_gcd_induction_solution_witness_common_left_productcoefficients))) /\ ((exists pfc_terms_code_gcd_induction_solution_witness_common_left_productcoefficientscoefficient pfc_terms_scale_gcd_induction_solution_witness_common_left_productcoefficientscoefficient pfc_natural_sum_gcd_induction_solution_witness_common_left_productcoefficientscoefficient. ((forall pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal. (exists pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalbound. pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalbound + S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal) = (S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficients))) -> exists pfc_value_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalentry. ff_h_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalentry + S (pfc_value_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_gcd_induction_solution_witness_common_left_productcoefficientscoefficient)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalentry. pfc_terms_code_gcd_induction_solution_witness_common_left_productcoefficientscoefficient = ff_q_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_gcd_induction_solution_witness_common_left_productcoefficientscoefficient) + (pfc_value_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm pfc_left_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm pfc_right_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm. (((pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal)+pfc_complement_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm=(pfc_index_gcd_induction_solution_witness_common_left_productcoefficients)) /\ ((((((exists pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal) = (pfgd_Q_gcd_induction_solution_witness_common_left)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal)) * pfgd_qc_gcd_induction_solution_witness_common_left)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermleftentry. pfgd_qb_gcd_induction_solution_witness_common_left = ff_q_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal)) * pfgd_qc_gcd_induction_solution_witness_common_left) + (pfc_left_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermleftoutside+(pfgd_Q_gcd_induction_solution_witness_common_left)=(pfc_index_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm) = (pfgs_G_gcd_induction_solution)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm)) * pfgs_gc_gcd_induction_solution)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermrightentry. pfgs_gb_gcd_induction_solution = ff_q_pfp_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm)) * pfgs_gc_gcd_induction_solution) + (pfc_right_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonaltermrightoutside+(pfgs_G_gcd_induction_solution)=(pfc_complement_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonal)=pfc_left_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm*pfc_right_gcd_induction_solution_witness_common_left_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum. ((((exists fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_start. fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_start. fs_u_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_gcd_induction_solution_witness_common_left_productcoefficientscoefficient) = S ((S (S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficients))) * fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficients))) * fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum) + (pfc_natural_sum_gcd_induction_solution_witness_common_left_productcoefficientscoefficient))) /\ forall fs_i_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps = S (pfc_index_gcd_induction_solution_witness_common_left_productcoefficients)) -> exists fs_a_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps fs_r_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps fs_s_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_solution_witness_common_left_productcoefficientscoefficient)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_gcd_induction_solution_witness_common_left_productcoefficientscoefficient = fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_solution_witness_common_left_productcoefficientscoefficient) + (fs_a_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum) + (fs_r_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum) + (fs_s_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps = fs_r_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps + fs_a_pfc_gcd_induction_solution_witness_common_left_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientresiduebound. pfa_gap_gcd_induction_solution_witness_common_left_productcoefficientscoefficientresiduebound + S (pfc_value_gcd_induction_solution_witness_common_left_productcoefficients) = (p)) /\ ((exists pfa_offset_left_gcd_induction_solution_witness_common_left_productcoefficientscoefficientresiduecongruence pfa_offset_right_gcd_induction_solution_witness_common_left_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_gcd_induction_solution_witness_common_left_productcoefficientscoefficient) + (p) * pfa_offset_left_gcd_induction_solution_witness_common_left_productcoefficientscoefficientresiduecongruence = (pfc_value_gcd_induction_solution_witness_common_left_productcoefficients) + (p) * pfa_offset_right_gcd_induction_solution_witness_common_left_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_gcd_induction_solution_witness_common_left_equivalent pfrep_left_gcd_induction_solution_witness_common_left_equivalent pfrep_right_gcd_induction_solution_witness_common_left_equivalent. ((exists pfrep_position_gcd_induction_solution_witness_common_left_equivalentfirst. ((pfrep_position_gcd_induction_solution_witness_common_left_equivalentfirst+S (pfrep_power_gcd_induction_solution_witness_common_left_equivalent)=(pfgd_P_gcd_induction_solution_witness_common_left)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_common_left_equivalentfirstentry. ff_h_pfp_gcd_induction_solution_witness_common_left_equivalentfirstentry + S (pfrep_left_gcd_induction_solution_witness_common_left_equivalent) = S ((S (pfrep_position_gcd_induction_solution_witness_common_left_equivalentfirst)) * pfgd_pc_gcd_induction_solution_witness_common_left)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_left_equivalentfirstentry. pfgd_pb_gcd_induction_solution_witness_common_left = ff_q_pfp_gcd_induction_solution_witness_common_left_equivalentfirstentry * S ((S (pfrep_position_gcd_induction_solution_witness_common_left_equivalentfirst)) * pfgd_pc_gcd_induction_solution_witness_common_left) + (pfrep_left_gcd_induction_solution_witness_common_left_equivalent)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_common_left_equivalentfirstoutside. pfrep_gap_gcd_induction_solution_witness_common_left_equivalentfirstoutside+(pfgd_P_gcd_induction_solution_witness_common_left)=(pfrep_power_gcd_induction_solution_witness_common_left_equivalent)) /\ (((pfrep_left_gcd_induction_solution_witness_common_left_equivalent)=0))))) -> ((exists pfrep_position_gcd_induction_solution_witness_common_left_equivalentsecond. ((pfrep_position_gcd_induction_solution_witness_common_left_equivalentsecond+S (pfrep_power_gcd_induction_solution_witness_common_left_equivalent)=(L)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_common_left_equivalentsecondentry. ff_h_pfp_gcd_induction_solution_witness_common_left_equivalentsecondentry + S (pfrep_right_gcd_induction_solution_witness_common_left_equivalent) = S ((S (pfrep_position_gcd_induction_solution_witness_common_left_equivalentsecond)) * ac)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_left_equivalentsecondentry. ab = ff_q_pfp_gcd_induction_solution_witness_common_left_equivalentsecondentry * S ((S (pfrep_position_gcd_induction_solution_witness_common_left_equivalentsecond)) * ac) + (pfrep_right_gcd_induction_solution_witness_common_left_equivalent)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_common_left_equivalentsecondoutside. pfrep_gap_gcd_induction_solution_witness_common_left_equivalentsecondoutside+(L)=(pfrep_power_gcd_induction_solution_witness_common_left_equivalent)) /\ (((pfrep_right_gcd_induction_solution_witness_common_left_equivalent)=0))))) -> pfrep_left_gcd_induction_solution_witness_common_left_equivalent=pfrep_right_gcd_induction_solution_witness_common_left_equivalent))))))) /\ ((((forall fom_index_pfp_gcd_induction_solution_witness_common_right_bounded. (exists fom_gap_pfp_gcd_induction_solution_witness_common_right_bounded_index_bound. fom_gap_pfp_gcd_induction_solution_witness_common_right_bounded_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_common_right_bounded) = M) -> exists fom_value_pfp_gcd_induction_solution_witness_common_right_bounded. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_common_right_bounded_entry. fom_beta_height_pfp_gcd_induction_solution_witness_common_right_bounded_entry + S (fom_value_pfp_gcd_induction_solution_witness_common_right_bounded) = S ((S (fom_index_pfp_gcd_induction_solution_witness_common_right_bounded)) * bc)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_common_right_bounded_entry. bb = fom_beta_quotient_pfp_gcd_induction_solution_witness_common_right_bounded_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_common_right_bounded)) * bc) + (fom_value_pfp_gcd_induction_solution_witness_common_right_bounded))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_common_right_bounded_value_bound. fom_gap_pfp_gcd_induction_solution_witness_common_right_bounded_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_common_right_bounded) = p))) /\ ((exists pfgd_qb_gcd_induction_solution_witness_common_right pfgd_qc_gcd_induction_solution_witness_common_right pfgd_Q_gcd_induction_solution_witness_common_right pfgd_pb_gcd_induction_solution_witness_common_right pfgd_pc_gcd_induction_solution_witness_common_right pfgd_P_gcd_induction_solution_witness_common_right. ((((forall fom_index_pfp_gcd_induction_solution_witness_common_right_productleft. (exists fom_gap_pfp_gcd_induction_solution_witness_common_right_productleft_index_bound. fom_gap_pfp_gcd_induction_solution_witness_common_right_productleft_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_common_right_productleft) = pfgd_Q_gcd_induction_solution_witness_common_right) -> exists fom_value_pfp_gcd_induction_solution_witness_common_right_productleft. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_common_right_productleft_entry. fom_beta_height_pfp_gcd_induction_solution_witness_common_right_productleft_entry + S (fom_value_pfp_gcd_induction_solution_witness_common_right_productleft) = S ((S (fom_index_pfp_gcd_induction_solution_witness_common_right_productleft)) * pfgd_qc_gcd_induction_solution_witness_common_right)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_common_right_productleft_entry. pfgd_qb_gcd_induction_solution_witness_common_right = fom_beta_quotient_pfp_gcd_induction_solution_witness_common_right_productleft_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_common_right_productleft)) * pfgd_qc_gcd_induction_solution_witness_common_right) + (fom_value_pfp_gcd_induction_solution_witness_common_right_productleft))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_common_right_productleft_value_bound. fom_gap_pfp_gcd_induction_solution_witness_common_right_productleft_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_common_right_productleft) = p))) /\ (((forall fom_index_pfp_gcd_induction_solution_witness_common_right_productright. (exists fom_gap_pfp_gcd_induction_solution_witness_common_right_productright_index_bound. fom_gap_pfp_gcd_induction_solution_witness_common_right_productright_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_common_right_productright) = pfgs_G_gcd_induction_solution) -> exists fom_value_pfp_gcd_induction_solution_witness_common_right_productright. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_common_right_productright_entry. fom_beta_height_pfp_gcd_induction_solution_witness_common_right_productright_entry + S (fom_value_pfp_gcd_induction_solution_witness_common_right_productright) = S ((S (fom_index_pfp_gcd_induction_solution_witness_common_right_productright)) * pfgs_gc_gcd_induction_solution)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_common_right_productright_entry. pfgs_gb_gcd_induction_solution = fom_beta_quotient_pfp_gcd_induction_solution_witness_common_right_productright_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_common_right_productright)) * pfgs_gc_gcd_induction_solution) + (fom_value_pfp_gcd_induction_solution_witness_common_right_productright))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_common_right_productright_value_bound. fom_gap_pfp_gcd_induction_solution_witness_common_right_productright_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_common_right_productright) = p))) /\ (((((((pfgd_Q_gcd_induction_solution_witness_common_right)=0 \/ (pfgs_G_gcd_induction_solution)=0) /\ (((pfgd_P_gcd_induction_solution_witness_common_right)=0)))) \/ (((~((pfgd_Q_gcd_induction_solution_witness_common_right)=0)) /\ (((~((pfgs_G_gcd_induction_solution)=0)) /\ (((pfgd_Q_gcd_induction_solution_witness_common_right)+(pfgs_G_gcd_induction_solution)=S (pfgd_P_gcd_induction_solution_witness_common_right)))))))) /\ ((forall pfc_index_gcd_induction_solution_witness_common_right_productcoefficients. (exists pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientsbound. pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientsbound + S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficients) = (pfgd_P_gcd_induction_solution_witness_common_right)) -> exists pfc_value_gcd_induction_solution_witness_common_right_productcoefficients. ((((exists ff_h_pfp_gcd_induction_solution_witness_common_right_productcoefficientsentry. ff_h_pfp_gcd_induction_solution_witness_common_right_productcoefficientsentry + S (pfc_value_gcd_induction_solution_witness_common_right_productcoefficients) = S ((S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficients)) * pfgd_pc_gcd_induction_solution_witness_common_right)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_right_productcoefficientsentry. pfgd_pb_gcd_induction_solution_witness_common_right = ff_q_pfp_gcd_induction_solution_witness_common_right_productcoefficientsentry * S ((S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficients)) * pfgd_pc_gcd_induction_solution_witness_common_right) + (pfc_value_gcd_induction_solution_witness_common_right_productcoefficients))) /\ ((exists pfc_terms_code_gcd_induction_solution_witness_common_right_productcoefficientscoefficient pfc_terms_scale_gcd_induction_solution_witness_common_right_productcoefficientscoefficient pfc_natural_sum_gcd_induction_solution_witness_common_right_productcoefficientscoefficient. ((forall pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal. (exists pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalbound. pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalbound + S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal) = (S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficients))) -> exists pfc_value_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalentry. ff_h_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalentry + S (pfc_value_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_gcd_induction_solution_witness_common_right_productcoefficientscoefficient)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalentry. pfc_terms_code_gcd_induction_solution_witness_common_right_productcoefficientscoefficient = ff_q_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_gcd_induction_solution_witness_common_right_productcoefficientscoefficient) + (pfc_value_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm pfc_left_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm pfc_right_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm. (((pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal)+pfc_complement_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm=(pfc_index_gcd_induction_solution_witness_common_right_productcoefficients)) /\ ((((((exists pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal) = (pfgd_Q_gcd_induction_solution_witness_common_right)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal)) * pfgd_qc_gcd_induction_solution_witness_common_right)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermleftentry. pfgd_qb_gcd_induction_solution_witness_common_right = ff_q_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal)) * pfgd_qc_gcd_induction_solution_witness_common_right) + (pfc_left_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermleftoutside+(pfgd_Q_gcd_induction_solution_witness_common_right)=(pfc_index_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm) = (pfgs_G_gcd_induction_solution)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm)) * pfgs_gc_gcd_induction_solution)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermrightentry. pfgs_gb_gcd_induction_solution = ff_q_pfp_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm)) * pfgs_gc_gcd_induction_solution) + (pfc_right_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonaltermrightoutside+(pfgs_G_gcd_induction_solution)=(pfc_complement_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonal)=pfc_left_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm*pfc_right_gcd_induction_solution_witness_common_right_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum. ((((exists fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_start. fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_start. fs_u_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_gcd_induction_solution_witness_common_right_productcoefficientscoefficient) = S ((S (S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficients))) * fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficients))) * fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum) + (pfc_natural_sum_gcd_induction_solution_witness_common_right_productcoefficientscoefficient))) /\ forall fs_i_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps = S (pfc_index_gcd_induction_solution_witness_common_right_productcoefficients)) -> exists fs_a_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps fs_r_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps fs_s_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_solution_witness_common_right_productcoefficientscoefficient)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_gcd_induction_solution_witness_common_right_productcoefficientscoefficient = fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_solution_witness_common_right_productcoefficientscoefficient) + (fs_a_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum) + (fs_r_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum) + (fs_s_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps = fs_r_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps + fs_a_pfc_gcd_induction_solution_witness_common_right_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientresiduebound. pfa_gap_gcd_induction_solution_witness_common_right_productcoefficientscoefficientresiduebound + S (pfc_value_gcd_induction_solution_witness_common_right_productcoefficients) = (p)) /\ ((exists pfa_offset_left_gcd_induction_solution_witness_common_right_productcoefficientscoefficientresiduecongruence pfa_offset_right_gcd_induction_solution_witness_common_right_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_gcd_induction_solution_witness_common_right_productcoefficientscoefficient) + (p) * pfa_offset_left_gcd_induction_solution_witness_common_right_productcoefficientscoefficientresiduecongruence = (pfc_value_gcd_induction_solution_witness_common_right_productcoefficients) + (p) * pfa_offset_right_gcd_induction_solution_witness_common_right_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_gcd_induction_solution_witness_common_right_equivalent pfrep_left_gcd_induction_solution_witness_common_right_equivalent pfrep_right_gcd_induction_solution_witness_common_right_equivalent. ((exists pfrep_position_gcd_induction_solution_witness_common_right_equivalentfirst. ((pfrep_position_gcd_induction_solution_witness_common_right_equivalentfirst+S (pfrep_power_gcd_induction_solution_witness_common_right_equivalent)=(pfgd_P_gcd_induction_solution_witness_common_right)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_common_right_equivalentfirstentry. ff_h_pfp_gcd_induction_solution_witness_common_right_equivalentfirstentry + S (pfrep_left_gcd_induction_solution_witness_common_right_equivalent) = S ((S (pfrep_position_gcd_induction_solution_witness_common_right_equivalentfirst)) * pfgd_pc_gcd_induction_solution_witness_common_right)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_right_equivalentfirstentry. pfgd_pb_gcd_induction_solution_witness_common_right = ff_q_pfp_gcd_induction_solution_witness_common_right_equivalentfirstentry * S ((S (pfrep_position_gcd_induction_solution_witness_common_right_equivalentfirst)) * pfgd_pc_gcd_induction_solution_witness_common_right) + (pfrep_left_gcd_induction_solution_witness_common_right_equivalent)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_common_right_equivalentfirstoutside. pfrep_gap_gcd_induction_solution_witness_common_right_equivalentfirstoutside+(pfgd_P_gcd_induction_solution_witness_common_right)=(pfrep_power_gcd_induction_solution_witness_common_right_equivalent)) /\ (((pfrep_left_gcd_induction_solution_witness_common_right_equivalent)=0))))) -> ((exists pfrep_position_gcd_induction_solution_witness_common_right_equivalentsecond. ((pfrep_position_gcd_induction_solution_witness_common_right_equivalentsecond+S (pfrep_power_gcd_induction_solution_witness_common_right_equivalent)=(M)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_common_right_equivalentsecondentry. ff_h_pfp_gcd_induction_solution_witness_common_right_equivalentsecondentry + S (pfrep_right_gcd_induction_solution_witness_common_right_equivalent) = S ((S (pfrep_position_gcd_induction_solution_witness_common_right_equivalentsecond)) * bc)) /\ exists ff_q_pfp_gcd_induction_solution_witness_common_right_equivalentsecondentry. bb = ff_q_pfp_gcd_induction_solution_witness_common_right_equivalentsecondentry * S ((S (pfrep_position_gcd_induction_solution_witness_common_right_equivalentsecond)) * bc) + (pfrep_right_gcd_induction_solution_witness_common_right_equivalent)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_common_right_equivalentsecondoutside. pfrep_gap_gcd_induction_solution_witness_common_right_equivalentsecondoutside+(M)=(pfrep_power_gcd_induction_solution_witness_common_right_equivalent)) /\ (((pfrep_right_gcd_induction_solution_witness_common_right_equivalent)=0))))) -> pfrep_left_gcd_induction_solution_witness_common_right_equivalent=pfrep_right_gcd_induction_solution_witness_common_right_equivalent)))))))))) /\ ((exists pfgb_pb_gcd_induction_solution_witness_bezout pfgb_pc_gcd_induction_solution_witness_bezout pfgb_P_gcd_induction_solution_witness_bezout pfgb_qb_gcd_induction_solution_witness_bezout pfgb_qc_gcd_induction_solution_witness_bezout pfgb_Q_gcd_induction_solution_witness_bezout. ((((forall fom_index_pfp_gcd_induction_solution_witness_bezout_leftleft. (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_leftleft_index_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_leftleft_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_bezout_leftleft) = pfgs_U_gcd_induction_solution) -> exists fom_value_pfp_gcd_induction_solution_witness_bezout_leftleft. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_bezout_leftleft_entry. fom_beta_height_pfp_gcd_induction_solution_witness_bezout_leftleft_entry + S (fom_value_pfp_gcd_induction_solution_witness_bezout_leftleft) = S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_leftleft)) * pfgs_uc_gcd_induction_solution)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_leftleft_entry. pfgs_ub_gcd_induction_solution = fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_leftleft_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_leftleft)) * pfgs_uc_gcd_induction_solution) + (fom_value_pfp_gcd_induction_solution_witness_bezout_leftleft))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_leftleft_value_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_leftleft_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_bezout_leftleft) = p))) /\ (((forall fom_index_pfp_gcd_induction_solution_witness_bezout_leftright. (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_leftright_index_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_leftright_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_bezout_leftright) = L) -> exists fom_value_pfp_gcd_induction_solution_witness_bezout_leftright. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_bezout_leftright_entry. fom_beta_height_pfp_gcd_induction_solution_witness_bezout_leftright_entry + S (fom_value_pfp_gcd_induction_solution_witness_bezout_leftright) = S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_leftright)) * ac)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_leftright_entry. ab = fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_leftright_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_leftright)) * ac) + (fom_value_pfp_gcd_induction_solution_witness_bezout_leftright))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_leftright_value_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_leftright_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_bezout_leftright) = p))) /\ (((((((pfgs_U_gcd_induction_solution)=0 \/ (L)=0) /\ (((pfgb_P_gcd_induction_solution_witness_bezout)=0)))) \/ (((~((pfgs_U_gcd_induction_solution)=0)) /\ (((~((L)=0)) /\ (((pfgs_U_gcd_induction_solution)+(L)=S (pfgb_P_gcd_induction_solution_witness_bezout)))))))) /\ ((forall pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients. (exists pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientsbound. pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientsbound + S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients) = (pfgb_P_gcd_induction_solution_witness_bezout)) -> exists pfc_value_gcd_induction_solution_witness_bezout_leftcoefficients. ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_leftcoefficientsentry. ff_h_pfp_gcd_induction_solution_witness_bezout_leftcoefficientsentry + S (pfc_value_gcd_induction_solution_witness_bezout_leftcoefficients) = S ((S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients)) * pfgb_pc_gcd_induction_solution_witness_bezout)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_leftcoefficientsentry. pfgb_pb_gcd_induction_solution_witness_bezout = ff_q_pfp_gcd_induction_solution_witness_bezout_leftcoefficientsentry * S ((S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients)) * pfgb_pc_gcd_induction_solution_witness_bezout) + (pfc_value_gcd_induction_solution_witness_bezout_leftcoefficients))) /\ ((exists pfc_terms_code_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient pfc_terms_scale_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient pfc_natural_sum_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient. ((forall pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal. (exists pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalbound. pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalbound + S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal) = (S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients))) -> exists pfc_value_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalentry + S (pfc_value_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient = ff_q_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient) + (pfc_value_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm pfc_left_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm pfc_right_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm. (((pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal)+pfc_complement_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm=(pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients)) /\ ((((((exists pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal) = (pfgs_U_gcd_induction_solution)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal)) * pfgs_uc_gcd_induction_solution)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermleftentry. pfgs_ub_gcd_induction_solution = ff_q_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal)) * pfgs_uc_gcd_induction_solution) + (pfc_left_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermleftoutside+(pfgs_U_gcd_induction_solution)=(pfc_index_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm)) * ac)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermrightentry. ab = ff_q_pfp_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm)) * ac) + (pfc_right_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonal)=pfc_left_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm*pfc_right_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_start. fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_start. fs_u_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient) = S ((S (S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients))) * fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients))) * fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum) + (pfc_natural_sum_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient))) /\ forall fs_i_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps = S (pfc_index_gcd_induction_solution_witness_bezout_leftcoefficients)) -> exists fs_a_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps fs_r_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps fs_s_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient = fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient) + (fs_a_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum) + (fs_r_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum) + (fs_s_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientresiduebound. pfa_gap_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientresiduebound + S (pfc_value_gcd_induction_solution_witness_bezout_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientresiduecongruence pfa_offset_right_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_gcd_induction_solution_witness_bezout_leftcoefficientscoefficient) + (p) * pfa_offset_left_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientresiduecongruence = (pfc_value_gcd_induction_solution_witness_bezout_leftcoefficients) + (p) * pfa_offset_right_gcd_induction_solution_witness_bezout_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((((forall fom_index_pfp_gcd_induction_solution_witness_bezout_rightleft. (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_rightleft_index_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_rightleft_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_bezout_rightleft) = pfgs_V_gcd_induction_solution) -> exists fom_value_pfp_gcd_induction_solution_witness_bezout_rightleft. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_bezout_rightleft_entry. fom_beta_height_pfp_gcd_induction_solution_witness_bezout_rightleft_entry + S (fom_value_pfp_gcd_induction_solution_witness_bezout_rightleft) = S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_rightleft)) * pfgs_vc_gcd_induction_solution)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_rightleft_entry. pfgs_vb_gcd_induction_solution = fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_rightleft_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_rightleft)) * pfgs_vc_gcd_induction_solution) + (fom_value_pfp_gcd_induction_solution_witness_bezout_rightleft))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_rightleft_value_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_rightleft_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_bezout_rightleft) = p))) /\ (((forall fom_index_pfp_gcd_induction_solution_witness_bezout_rightright. (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_rightright_index_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_rightright_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_bezout_rightright) = M) -> exists fom_value_pfp_gcd_induction_solution_witness_bezout_rightright. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_bezout_rightright_entry. fom_beta_height_pfp_gcd_induction_solution_witness_bezout_rightright_entry + S (fom_value_pfp_gcd_induction_solution_witness_bezout_rightright) = S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_rightright)) * bc)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_rightright_entry. bb = fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_rightright_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_rightright)) * bc) + (fom_value_pfp_gcd_induction_solution_witness_bezout_rightright))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_rightright_value_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_rightright_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_bezout_rightright) = p))) /\ (((((((pfgs_V_gcd_induction_solution)=0 \/ (M)=0) /\ (((pfgb_Q_gcd_induction_solution_witness_bezout)=0)))) \/ (((~((pfgs_V_gcd_induction_solution)=0)) /\ (((~((M)=0)) /\ (((pfgs_V_gcd_induction_solution)+(M)=S (pfgb_Q_gcd_induction_solution_witness_bezout)))))))) /\ ((forall pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients. (exists pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientsbound. pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientsbound + S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients) = (pfgb_Q_gcd_induction_solution_witness_bezout)) -> exists pfc_value_gcd_induction_solution_witness_bezout_rightcoefficients. ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_rightcoefficientsentry. ff_h_pfp_gcd_induction_solution_witness_bezout_rightcoefficientsentry + S (pfc_value_gcd_induction_solution_witness_bezout_rightcoefficients) = S ((S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients)) * pfgb_qc_gcd_induction_solution_witness_bezout)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_rightcoefficientsentry. pfgb_qb_gcd_induction_solution_witness_bezout = ff_q_pfp_gcd_induction_solution_witness_bezout_rightcoefficientsentry * S ((S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients)) * pfgb_qc_gcd_induction_solution_witness_bezout) + (pfc_value_gcd_induction_solution_witness_bezout_rightcoefficients))) /\ ((exists pfc_terms_code_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient pfc_terms_scale_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient pfc_natural_sum_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient. ((forall pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal. (exists pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalbound. pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalbound + S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal) = (S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients))) -> exists pfc_value_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalentry + S (pfc_value_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient = ff_q_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient) + (pfc_value_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm pfc_left_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm pfc_right_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm. (((pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal)+pfc_complement_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm=(pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients)) /\ ((((((exists pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal) = (pfgs_V_gcd_induction_solution)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal)) * pfgs_vc_gcd_induction_solution)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermleftentry. pfgs_vb_gcd_induction_solution = ff_q_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal)) * pfgs_vc_gcd_induction_solution) + (pfc_left_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermleftoutside+(pfgs_V_gcd_induction_solution)=(pfc_index_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonal)=pfc_left_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm*pfc_right_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_start. fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_start. fs_u_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient) = S ((S (S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients))) * fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients))) * fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum) + (pfc_natural_sum_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient))) /\ forall fs_i_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps = S (pfc_index_gcd_induction_solution_witness_bezout_rightcoefficients)) -> exists fs_a_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps fs_r_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps fs_s_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient = fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient) + (fs_a_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum) + (fs_r_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum = fs_q_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum) + (fs_s_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientresiduebound. pfa_gap_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientresiduebound + S (pfc_value_gcd_induction_solution_witness_bezout_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientresiduecongruence pfa_offset_right_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_gcd_induction_solution_witness_bezout_rightcoefficientscoefficient) + (p) * pfa_offset_left_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientresiduecongruence = (pfc_value_gcd_induction_solution_witness_bezout_rightcoefficients) + (p) * pfa_offset_right_gcd_induction_solution_witness_bezout_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((((forall fom_index_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded. (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded_index_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded) = pfgb_P_gcd_induction_solution_witness_bezout) -> exists fom_value_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded_entry. fom_beta_height_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded_entry + S (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded) = S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded)) * pfgb_pc_gcd_induction_solution_witness_bezout)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded_entry. pfgb_pb_gcd_induction_solution_witness_bezout = fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded)) * pfgb_pc_gcd_induction_solution_witness_bezout) + (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded_value_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_left_bounded) = p))) /\ (((forall fom_index_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded. (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded_index_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded) = pfgb_Q_gcd_induction_solution_witness_bezout) -> exists fom_value_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded_entry. fom_beta_height_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded_entry + S (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded) = S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded)) * pfgb_qc_gcd_induction_solution_witness_bezout)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded_entry. pfgb_qb_gcd_induction_solution_witness_bezout = fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded)) * pfgb_qc_gcd_induction_solution_witness_bezout) + (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded_value_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_right_bounded) = p))) /\ (((forall fom_index_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded. (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded_index_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded_index_bound + S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded) = pfgs_G_gcd_induction_solution) -> exists fom_value_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded. ((((exists fom_beta_height_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded_entry. fom_beta_height_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded_entry + S (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded) = S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded)) * pfgs_gc_gcd_induction_solution)) /\ exists fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded_entry. pfgs_gb_gcd_induction_solution = fom_beta_quotient_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded_entry * S ((S (fom_index_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded)) * pfgs_gc_gcd_induction_solution) + (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded))) /\ (exists fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded_value_bound. fom_gap_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded_value_bound + S (fom_value_pfp_gcd_induction_solution_witness_bezout_sum_result_bounded) = p))) /\ ((exists pfga_ub_gcd_induction_solution_witness_bezout_sum pfga_uc_gcd_induction_solution_witness_bezout_sum pfga_vb_gcd_induction_solution_witness_bezout_sum pfga_vc_gcd_induction_solution_witness_bezout_sum pfga_tb_gcd_induction_solution_witness_bezout_sum pfga_tc_gcd_induction_solution_witness_bezout_sum pfga_K_gcd_induction_solution_witness_bezout_sum. ((((forall pfrep_power_gcd_induction_solution_witness_bezout_sum_left pfrep_left_gcd_induction_solution_witness_bezout_sum_left pfrep_right_gcd_induction_solution_witness_bezout_sum_left. ((exists pfrep_position_gcd_induction_solution_witness_bezout_sum_leftfirst. ((pfrep_position_gcd_induction_solution_witness_bezout_sum_leftfirst+S (pfrep_power_gcd_induction_solution_witness_bezout_sum_left)=(pfgb_P_gcd_induction_solution_witness_bezout)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_leftfirstentry. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_leftfirstentry + S (pfrep_left_gcd_induction_solution_witness_bezout_sum_left) = S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_leftfirst)) * pfgb_pc_gcd_induction_solution_witness_bezout)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_leftfirstentry. pfgb_pb_gcd_induction_solution_witness_bezout = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_leftfirstentry * S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_leftfirst)) * pfgb_pc_gcd_induction_solution_witness_bezout) + (pfrep_left_gcd_induction_solution_witness_bezout_sum_left)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_bezout_sum_leftfirstoutside. pfrep_gap_gcd_induction_solution_witness_bezout_sum_leftfirstoutside+(pfgb_P_gcd_induction_solution_witness_bezout)=(pfrep_power_gcd_induction_solution_witness_bezout_sum_left)) /\ (((pfrep_left_gcd_induction_solution_witness_bezout_sum_left)=0))))) -> ((exists pfrep_position_gcd_induction_solution_witness_bezout_sum_leftsecond. ((pfrep_position_gcd_induction_solution_witness_bezout_sum_leftsecond+S (pfrep_power_gcd_induction_solution_witness_bezout_sum_left)=(pfga_K_gcd_induction_solution_witness_bezout_sum)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_leftsecondentry. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_leftsecondentry + S (pfrep_right_gcd_induction_solution_witness_bezout_sum_left) = S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_leftsecond)) * pfga_uc_gcd_induction_solution_witness_bezout_sum)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_leftsecondentry. pfga_ub_gcd_induction_solution_witness_bezout_sum = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_leftsecondentry * S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_leftsecond)) * pfga_uc_gcd_induction_solution_witness_bezout_sum) + (pfrep_right_gcd_induction_solution_witness_bezout_sum_left)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_bezout_sum_leftsecondoutside. pfrep_gap_gcd_induction_solution_witness_bezout_sum_leftsecondoutside+(pfga_K_gcd_induction_solution_witness_bezout_sum)=(pfrep_power_gcd_induction_solution_witness_bezout_sum_left)) /\ (((pfrep_right_gcd_induction_solution_witness_bezout_sum_left)=0))))) -> pfrep_left_gcd_induction_solution_witness_bezout_sum_left=pfrep_right_gcd_induction_solution_witness_bezout_sum_left) /\ ((forall pfrep_power_gcd_induction_solution_witness_bezout_sum_right pfrep_left_gcd_induction_solution_witness_bezout_sum_right pfrep_right_gcd_induction_solution_witness_bezout_sum_right. ((exists pfrep_position_gcd_induction_solution_witness_bezout_sum_rightfirst. ((pfrep_position_gcd_induction_solution_witness_bezout_sum_rightfirst+S (pfrep_power_gcd_induction_solution_witness_bezout_sum_right)=(pfgb_Q_gcd_induction_solution_witness_bezout)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_rightfirstentry. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_rightfirstentry + S (pfrep_left_gcd_induction_solution_witness_bezout_sum_right) = S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_rightfirst)) * pfgb_qc_gcd_induction_solution_witness_bezout)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_rightfirstentry. pfgb_qb_gcd_induction_solution_witness_bezout = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_rightfirstentry * S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_rightfirst)) * pfgb_qc_gcd_induction_solution_witness_bezout) + (pfrep_left_gcd_induction_solution_witness_bezout_sum_right)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_bezout_sum_rightfirstoutside. pfrep_gap_gcd_induction_solution_witness_bezout_sum_rightfirstoutside+(pfgb_Q_gcd_induction_solution_witness_bezout)=(pfrep_power_gcd_induction_solution_witness_bezout_sum_right)) /\ (((pfrep_left_gcd_induction_solution_witness_bezout_sum_right)=0))))) -> ((exists pfrep_position_gcd_induction_solution_witness_bezout_sum_rightsecond. ((pfrep_position_gcd_induction_solution_witness_bezout_sum_rightsecond+S (pfrep_power_gcd_induction_solution_witness_bezout_sum_right)=(pfga_K_gcd_induction_solution_witness_bezout_sum)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_rightsecondentry. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_rightsecondentry + S (pfrep_right_gcd_induction_solution_witness_bezout_sum_right) = S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_rightsecond)) * pfga_vc_gcd_induction_solution_witness_bezout_sum)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_rightsecondentry. pfga_vb_gcd_induction_solution_witness_bezout_sum = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_rightsecondentry * S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_rightsecond)) * pfga_vc_gcd_induction_solution_witness_bezout_sum) + (pfrep_right_gcd_induction_solution_witness_bezout_sum_right)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_bezout_sum_rightsecondoutside. pfrep_gap_gcd_induction_solution_witness_bezout_sum_rightsecondoutside+(pfga_K_gcd_induction_solution_witness_bezout_sum)=(pfrep_power_gcd_induction_solution_witness_bezout_sum_right)) /\ (((pfrep_right_gcd_induction_solution_witness_bezout_sum_right)=0))))) -> pfrep_left_gcd_induction_solution_witness_bezout_sum_right=pfrep_right_gcd_induction_solution_witness_bezout_sum_right)))) /\ (((forall pfp_index_gcd_induction_solution_witness_bezout_sum_add. (exists pfa_gap_gcd_induction_solution_witness_bezout_sum_addindex. pfa_gap_gcd_induction_solution_witness_bezout_sum_addindex + S (pfp_index_gcd_induction_solution_witness_bezout_sum_add) = (pfga_K_gcd_induction_solution_witness_bezout_sum)) -> exists pfp_left_gcd_induction_solution_witness_bezout_sum_add pfp_right_gcd_induction_solution_witness_bezout_sum_add pfp_value_gcd_induction_solution_witness_bezout_sum_add. ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_addleft. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_addleft + S (pfp_left_gcd_induction_solution_witness_bezout_sum_add) = S ((S (pfp_index_gcd_induction_solution_witness_bezout_sum_add)) * pfga_uc_gcd_induction_solution_witness_bezout_sum)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_addleft. pfga_ub_gcd_induction_solution_witness_bezout_sum = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_addleft * S ((S (pfp_index_gcd_induction_solution_witness_bezout_sum_add)) * pfga_uc_gcd_induction_solution_witness_bezout_sum) + (pfp_left_gcd_induction_solution_witness_bezout_sum_add))) /\ (((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_addright. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_addright + S (pfp_right_gcd_induction_solution_witness_bezout_sum_add) = S ((S (pfp_index_gcd_induction_solution_witness_bezout_sum_add)) * pfga_vc_gcd_induction_solution_witness_bezout_sum)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_addright. pfga_vb_gcd_induction_solution_witness_bezout_sum = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_addright * S ((S (pfp_index_gcd_induction_solution_witness_bezout_sum_add)) * pfga_vc_gcd_induction_solution_witness_bezout_sum) + (pfp_right_gcd_induction_solution_witness_bezout_sum_add))) /\ (((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_addtarget. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_addtarget + S (pfp_value_gcd_induction_solution_witness_bezout_sum_add) = S ((S (pfp_index_gcd_induction_solution_witness_bezout_sum_add)) * pfga_tc_gcd_induction_solution_witness_bezout_sum)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_addtarget. pfga_tb_gcd_induction_solution_witness_bezout_sum = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_addtarget * S ((S (pfp_index_gcd_induction_solution_witness_bezout_sum_add)) * pfga_tc_gcd_induction_solution_witness_bezout_sum) + (pfp_value_gcd_induction_solution_witness_bezout_sum_add))) /\ ((((exists pfa_gap_gcd_induction_solution_witness_bezout_sum_addoperationleft. pfa_gap_gcd_induction_solution_witness_bezout_sum_addoperationleft + S (pfp_left_gcd_induction_solution_witness_bezout_sum_add) = (p)) /\ (((exists pfa_gap_gcd_induction_solution_witness_bezout_sum_addoperationright. pfa_gap_gcd_induction_solution_witness_bezout_sum_addoperationright + S (pfp_right_gcd_induction_solution_witness_bezout_sum_add) = (p)) /\ ((((exists pfa_gap_gcd_induction_solution_witness_bezout_sum_addoperationresultbound. pfa_gap_gcd_induction_solution_witness_bezout_sum_addoperationresultbound + S (pfp_value_gcd_induction_solution_witness_bezout_sum_add) = (p)) /\ ((exists pfa_offset_left_gcd_induction_solution_witness_bezout_sum_addoperationresultcongruence pfa_offset_right_gcd_induction_solution_witness_bezout_sum_addoperationresultcongruence. ((pfp_left_gcd_induction_solution_witness_bezout_sum_add) + (pfp_right_gcd_induction_solution_witness_bezout_sum_add)) + (p) * pfa_offset_left_gcd_induction_solution_witness_bezout_sum_addoperationresultcongruence = (pfp_value_gcd_induction_solution_witness_bezout_sum_add) + (p) * pfa_offset_right_gcd_induction_solution_witness_bezout_sum_addoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_gcd_induction_solution_witness_bezout_sum_result pfrep_left_gcd_induction_solution_witness_bezout_sum_result pfrep_right_gcd_induction_solution_witness_bezout_sum_result. ((exists pfrep_position_gcd_induction_solution_witness_bezout_sum_resultfirst. ((pfrep_position_gcd_induction_solution_witness_bezout_sum_resultfirst+S (pfrep_power_gcd_induction_solution_witness_bezout_sum_result)=(pfga_K_gcd_induction_solution_witness_bezout_sum)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_resultfirstentry. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_resultfirstentry + S (pfrep_left_gcd_induction_solution_witness_bezout_sum_result) = S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_resultfirst)) * pfga_tc_gcd_induction_solution_witness_bezout_sum)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_resultfirstentry. pfga_tb_gcd_induction_solution_witness_bezout_sum = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_resultfirstentry * S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_resultfirst)) * pfga_tc_gcd_induction_solution_witness_bezout_sum) + (pfrep_left_gcd_induction_solution_witness_bezout_sum_result)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_bezout_sum_resultfirstoutside. pfrep_gap_gcd_induction_solution_witness_bezout_sum_resultfirstoutside+(pfga_K_gcd_induction_solution_witness_bezout_sum)=(pfrep_power_gcd_induction_solution_witness_bezout_sum_result)) /\ (((pfrep_left_gcd_induction_solution_witness_bezout_sum_result)=0))))) -> ((exists pfrep_position_gcd_induction_solution_witness_bezout_sum_resultsecond. ((pfrep_position_gcd_induction_solution_witness_bezout_sum_resultsecond+S (pfrep_power_gcd_induction_solution_witness_bezout_sum_result)=(pfgs_G_gcd_induction_solution)) /\ ((((exists ff_h_pfp_gcd_induction_solution_witness_bezout_sum_resultsecondentry. ff_h_pfp_gcd_induction_solution_witness_bezout_sum_resultsecondentry + S (pfrep_right_gcd_induction_solution_witness_bezout_sum_result) = S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_resultsecond)) * pfgs_gc_gcd_induction_solution)) /\ exists ff_q_pfp_gcd_induction_solution_witness_bezout_sum_resultsecondentry. pfgs_gb_gcd_induction_solution = ff_q_pfp_gcd_induction_solution_witness_bezout_sum_resultsecondentry * S ((S (pfrep_position_gcd_induction_solution_witness_bezout_sum_resultsecond)) * pfgs_gc_gcd_induction_solution) + (pfrep_right_gcd_induction_solution_witness_bezout_sum_result)))))) \/ (((exists pfrep_gap_gcd_induction_solution_witness_bezout_sum_resultsecondoutside. pfrep_gap_gcd_induction_solution_witness_bezout_sum_resultsecondoutside+(pfgs_G_gcd_induction_solution)=(pfrep_power_gcd_induction_solution_witness_bezout_sum_result)) /\ (((pfrep_right_gcd_induction_solution_witness_bezout_sum_result)=0))))) -> pfrep_left_gcd_induction_solution_witness_bezout_sum_result=pfrep_right_gcd_induction_solution_witness_bezout_sum_result)))))))))))))))))))))))

Constructive proof overview

Generated structural guide

Ordinary natural induction constructs actual normalized gcd and Bezout witnesses for every pair with second retained length at most n. Both input triples are generalized, a stored zero divisor is trimmed before division, and every genuine recursive call has a proved smaller bound.

The unchanged tactic script uses 10 declared prerequisites and contains 205 exact native proof lines.

Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

le_zero Alpha theorem; checked-use authorized PG0066 prime_field_polynomial_gcd_bezout_empty_second PG0065 prime_field_polynomial_reduced_representative_exists PG0067 prime_field_polynomial_gcd_bezout_equivalent_second le_of_succ_le_succ Alpha theorem; checked-use authorized le_trans Alpha theorem; checked-use authorized prime_field_polynomial_division_execution_exists Alpha theorem; checked-use authorized PG0068 prime_field_polynomial_gcd_bezout_division_backward PG0064 prime_field_polynomial_division_remainder_bounded PG0053 prime_field_polynomial_division_remainder_length_descent

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

205 script commands · 37 reading checkpoints · 7 local claims

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

Named ingredients (6)

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

01Fix variables and assumptionsL1–1

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

  1. L1
    intro n
02Induction on nL2–11

Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.

  1. L2
    induction n
  2. L3
    intro p
  3. L4
    intro ab
  4. L5
    intro ac
  5. L6
    intro L
  6. L7
    intro bb
  7. L8
    intro bc
  8. L9
    intro M
  9. L10
    intro hp
  10. L11
    intro hA
03Fix variables and assumptionsL12–13

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

  1. L12
    intro hB
  2. L13
    intro hbound
04Establish hzL14–23

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

  1. L14
    have hz : M=0
  2. L15
    specialize le_zero (M)
  3. L16
    apply le_zero
  4. L17
    exact hbound
  5. L18
    rewrite hz
  6. L19
    rewrite hz
  7. L20
    rewrite hz
  8. L21
    rewrite hz
  9. L22
    rewrite hz
  10. L23
    rewrite hz
05Calculate and transport equalitiesL24–26

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L24
    rewrite hz
  2. L25
    rewrite hz
  3. L26
    rewrite hz
06Use earlier factsL27–35

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

  1. L27
    specialize prime_field_polynomial_gcd_bezout_empty_second (p)
  2. L28
    specialize prime_field_polynomial_gcd_bezout_empty_second (ab)
  3. L29
    specialize prime_field_polynomial_gcd_bezout_empty_second (ac)
  4. L30
    specialize prime_field_polynomial_gcd_bezout_empty_second (L)
  5. L31
    specialize prime_field_polynomial_gcd_bezout_empty_second (bb)
  6. L32
    specialize prime_field_polynomial_gcd_bezout_empty_second (bc)
  7. L33
    apply prime_field_polynomial_gcd_bezout_empty_second
  8. L34
    exact hp
  9. L35
    exact hA
07Fix variables and assumptionsL36–45

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

  1. L36
    intro p
  2. L37
    intro ab
  3. L38
    intro ac
  4. L39
    intro L
  5. L40
    intro bb
  6. L41
    intro bc
  7. L42
    intro M
  8. L43
    intro hp
  9. L44
    intro hA
  10. L45
    intro hB
08Fix variables and assumptionsL46–46

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

  1. L46
    intro hbound
09Establish htL47–53

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

  1. L47
    have ht : ∃ tb. ∃ tc. ∃ K. BetaPrefixInto(tb,tc,K,p) ∧ (PolynomialEquivalent(tb,tc,K,bb,bc,M) ∧ (Le(K,M) ∧ (K = 0 ∨ (∃ x. FpRepresentedDegree(p,tb,tc,K,x)))))Definitions: BetaPrefixIntoFpRepresentedDegreePolynomialEquivalentLe
  2. L48
    specialize prime_field_polynomial_reduced_representative_exists (p)
  3. L49
    specialize prime_field_polynomial_reduced_representative_exists (bb)
  4. L50
    specialize prime_field_polynomial_reduced_representative_exists (bc)
  5. L51
    specialize prime_field_polynomial_reduced_representative_exists (M)
  6. L52
    apply prime_field_polynomial_reduced_representative_exists
  7. L53
    exact hB
10Separate the logical casesL54–59

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

  1. L54
    cases ht
  2. L55
    cases ht_witness
  3. L56
    cases ht_witness_witness
  4. L57
    cases ht_witness_witness_witness
  5. L58
    cases ht_witness_witness_witness_right
  6. L59
    cases ht_witness_witness_witness_right_right
11Use earlier factsL60–69

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

  1. L60
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (p)
  2. L61
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (ab)
  3. L62
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (ac)
  4. L63
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (L)
  5. L64
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (x)
  6. L65
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (x1)
  7. L66
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (x2)
  8. L67
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (bb)
  9. L68
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (bc)
  10. L69
    specialize prime_field_polynomial_gcd_bezout_equivalent_second (M)
12Use earlier factsL70–74

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

  1. L70
    apply prime_field_polynomial_gcd_bezout_equivalent_second
  2. L71
    exact hp
  3. L72
    exact hA
  4. L73
    exact hB
  5. L74
    exact ht_witness_witness_witness_right_left
13Separate the logical casesL75–75

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

  1. L75
    cases ht_witness_witness_witness_right_right_right
14Calculate and transport equalitiesL76–84

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L76
    rewrite ht_witness_witness_witness_right_right_right_left
  2. L77
    rewrite ht_witness_witness_witness_right_right_right_left
  3. L78
    rewrite ht_witness_witness_witness_right_right_right_left
  4. L79
    rewrite ht_witness_witness_witness_right_right_right_left
  5. L80
    rewrite ht_witness_witness_witness_right_right_right_left
  6. L81
    rewrite ht_witness_witness_witness_right_right_right_left
  7. L82
    rewrite ht_witness_witness_witness_right_right_right_left
  8. L83
    rewrite ht_witness_witness_witness_right_right_right_left
  9. L84
    rewrite ht_witness_witness_witness_right_right_right_left
15Use earlier factsL85–93

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

  1. L85
    specialize prime_field_polynomial_gcd_bezout_empty_second (p)
  2. L86
    specialize prime_field_polynomial_gcd_bezout_empty_second (ab)
  3. L87
    specialize prime_field_polynomial_gcd_bezout_empty_second (ac)
  4. L88
    specialize prime_field_polynomial_gcd_bezout_empty_second (L)
  5. L89
    specialize prime_field_polynomial_gcd_bezout_empty_second (x)
  6. L90
    specialize prime_field_polynomial_gcd_bezout_empty_second (x1)
  7. L91
    apply prime_field_polynomial_gcd_bezout_empty_second
  8. L92
    exact hp
  9. L93
    exact hA
16Separate the logical casesL94–94

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

  1. L94
    cases ht_witness_witness_witness_right_right_right_right
17Establish hlengthL95–95

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

  1. L95
    have hlength : x2=S x3
18Separate the logical casesL96–96

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

  1. L96
    cases ht_witness_witness_witness_right_right_right_right_witness
19Use earlier factsL97–97

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

  1. L97
    exact ht_witness_witness_witness_right_right_right_right_witness_left
20Establish hdBoundL98–101

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.

  1. L98
    have hdBound : exists pfc_gap_gcd_induction_degree_bound. pfc_gap_gcd_induction_degree_bound+(x3)=(n)
  2. L99
    specialize le_of_succ_le_succ (x3)
  3. L100
    specialize le_of_succ_le_succ (n)
  4. L101
    apply le_of_succ_le_succ
21Establish hlengthBoundL102–111

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

  1. L102
    have hlengthBound : exists pfc_gap_gcd_induction_length_bound. pfc_gap_gcd_induction_length_bound+(x2)=(S n)
  2. L103
    specialize le_trans (x2)
  3. L104
    specialize le_trans (M)
  4. L105
    specialize le_trans (S n)
  5. L106
    apply le_trans
  6. L107
    exact ht_witness_witness_witness_right_right_left
  7. L108
    exact hbound
  8. L109
    rewrite hlength at hlengthBound
  9. L110
    exact hlengthBound
  10. L111
    rewrite hlength
22Calculate and transport equalitiesL112–119

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L112
    rewrite hlength
  2. L113
    rewrite hlength
  3. L114
    rewrite hlength
  4. L115
    rewrite hlength
  5. L116
    rewrite hlength
  6. L117
    rewrite hlength
  7. L118
    rewrite hlength
  8. L119
    rewrite hlength
23Establish heL120–129

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

  1. L120
    have he : ∃ qb. ∃ qc. ∃ q. ∃ rb. ∃ rc. ∃ R. FpPolynomialDivisionExecution(p,ab,ac,L,x,x1,x3,qb,qc,q,rb,rc,R)Definitions: FpPolynomialDivisionExecution
  2. L121
    specialize prime_field_polynomial_division_execution_exists (p)
  3. L122
    specialize prime_field_polynomial_division_execution_exists (ab)
  4. L123
    specialize prime_field_polynomial_division_execution_exists (ac)
  5. L124
    specialize prime_field_polynomial_division_execution_exists (L)
  6. L125
    specialize prime_field_polynomial_division_execution_exists (x)
  7. L126
    specialize prime_field_polynomial_division_execution_exists (x1)
  8. L127
    specialize prime_field_polynomial_division_execution_exists (x3)
  9. L128
    apply prime_field_polynomial_division_execution_exists
  10. L129
    exact hp
24Use earlier factsL130–130

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

  1. L130
    exact hA
25Calculate and transport equalitiesL131–132

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L131
    rewrite hlength at ht_witness_witness_witness_right_right_right_right_witness
  2. L132
    rewrite hlength at ht_witness_witness_witness_right_right_right_right_witness
26Use earlier factsL133–133

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

  1. L133
    exact ht_witness_witness_witness_right_right_right_right_witness
27Separate the logical casesL134–139

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

  1. L134
    cases he
  2. L135
    cases he_witness
  3. L136
    cases he_witness_witness
  4. L137
    cases he_witness_witness_witness
  5. L138
    cases he_witness_witness_witness_witness
  6. L139
    cases he_witness_witness_witness_witness_witness
28Use earlier factsL140–149

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

  1. L140
    specialize prime_field_polynomial_gcd_bezout_division_backward (p)
  2. L141
    specialize prime_field_polynomial_gcd_bezout_division_backward (ab)
  3. L142
    specialize prime_field_polynomial_gcd_bezout_division_backward (ac)
  4. L143
    specialize prime_field_polynomial_gcd_bezout_division_backward (L)
  5. L144
    specialize prime_field_polynomial_gcd_bezout_division_backward (x)
  6. L145
    specialize prime_field_polynomial_gcd_bezout_division_backward (x1)
  7. L146
    specialize prime_field_polynomial_gcd_bezout_division_backward (x3)
  8. L147
    specialize prime_field_polynomial_gcd_bezout_division_backward (x4)
  9. L148
    specialize prime_field_polynomial_gcd_bezout_division_backward (x5)
  10. L149
    specialize prime_field_polynomial_gcd_bezout_division_backward (x6)
29Use earlier factsL150–159

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

  1. L150
    specialize prime_field_polynomial_gcd_bezout_division_backward (x7)
  2. L151
    specialize prime_field_polynomial_gcd_bezout_division_backward (x8)
  3. L152
    specialize prime_field_polynomial_gcd_bezout_division_backward (x9)
  4. L153
    apply prime_field_polynomial_gcd_bezout_division_backward
  5. L154
    exact hp
  6. L155
    exact he_witness_witness_witness_witness_witness_witness
  7. L156
    specialize IH (p)
  8. L157
    specialize IH (x)
  9. L158
    specialize IH (x1)
  10. L159
    specialize IH (S x3)
30Use earlier factsL160–164

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

  1. L160
    specialize IH (x7)
  2. L161
    specialize IH (x8)
  3. L162
    specialize IH (x9)
  4. L163
    apply IH
  5. L164
    exact hp
31Calculate and transport equalitiesL165–165

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L165
    rewrite hlength at ht_witness_witness_witness_left
32Use earlier factsL166–175

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

  1. L166
    exact ht_witness_witness_witness_left
  2. L167
    specialize prime_field_polynomial_division_remainder_bounded (p)
  3. L168
    specialize prime_field_polynomial_division_remainder_bounded (ab)
  4. L169
    specialize prime_field_polynomial_division_remainder_bounded (ac)
  5. L170
    specialize prime_field_polynomial_division_remainder_bounded (L)
  6. L171
    specialize prime_field_polynomial_division_remainder_bounded (x)
  7. L172
    specialize prime_field_polynomial_division_remainder_bounded (x1)
  8. L173
    specialize prime_field_polynomial_division_remainder_bounded (x3)
  9. L174
    specialize prime_field_polynomial_division_remainder_bounded (x4)
  10. L175
    specialize prime_field_polynomial_division_remainder_bounded (x5)
33Use earlier factsL176–185

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

  1. L176
    specialize prime_field_polynomial_division_remainder_bounded (x6)
  2. L177
    specialize prime_field_polynomial_division_remainder_bounded (x7)
  3. L178
    specialize prime_field_polynomial_division_remainder_bounded (x8)
  4. L179
    specialize prime_field_polynomial_division_remainder_bounded (x9)
  5. L180
    apply prime_field_polynomial_division_remainder_bounded
  6. L181
    exact he_witness_witness_witness_witness_witness_witness
  7. L182
    specialize le_trans (x9)
  8. L183
    specialize le_trans (x3)
  9. L184
    specialize le_trans (n)
  10. L185
    apply le_trans
34Establish hrL186–195

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

  1. L186
    have hr : ((exists pfc_gap_gcd_induction_remainder_bound. pfc_gap_gcd_induction_remainder_bound+(x9)=(x3)) /\ ((exists pfa_gap_gcd_induction_remainder_strict. pfa_gap_gcd_induction_remainder_strict + S (x9) = (S x3))))
  2. L187
    specialize prime_field_polynomial_division_remainder_length_descent (p)
  3. L188
    specialize prime_field_polynomial_division_remainder_length_descent (ab)
  4. L189
    specialize prime_field_polynomial_division_remainder_length_descent (ac)
  5. L190
    specialize prime_field_polynomial_division_remainder_length_descent (L)
  6. L191
    specialize prime_field_polynomial_division_remainder_length_descent (x)
  7. L192
    specialize prime_field_polynomial_division_remainder_length_descent (x1)
  8. L193
    specialize prime_field_polynomial_division_remainder_length_descent (x3)
  9. L194
    specialize prime_field_polynomial_division_remainder_length_descent (x4)
  10. L195
    specialize prime_field_polynomial_division_remainder_length_descent (x5)
35Use earlier factsL196–202

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

  1. L196
    specialize prime_field_polynomial_division_remainder_length_descent (x6)
  2. L197
    specialize prime_field_polynomial_division_remainder_length_descent (x7)
  3. L198
    specialize prime_field_polynomial_division_remainder_length_descent (x8)
  4. L199
    specialize prime_field_polynomial_division_remainder_length_descent (x9)
  5. L200
    apply prime_field_polynomial_division_remainder_length_descent
  6. L201
    exact hp
  7. L202
    exact he_witness_witness_witness_witness_witness_witness
36Separate the logical casesL203–203

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

  1. L203
    cases hr
37Use earlier factsL204–205

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

  1. L204
    exact hr_left
  2. L205
    exact hdBound

Library-wide reading audit

Original exact command ledger · 205 lines
  1. 0001intro n
  2. 0002induction n
  3. 0003intro p
  4. 0004intro ab
  5. 0005intro ac
  6. 0006intro L
  7. 0007intro bb
  8. 0008intro bc
  9. 0009intro M
  10. 0010intro hp
  11. 0011intro hA
  12. 0012intro hB
  13. 0013intro hbound
  14. 0014have hz : M=0
  15. 0015specialize le_zero (M)
  16. 0016apply le_zero
  17. 0017exact hbound
  18. 0018rewrite hz
  19. 0019rewrite hz
  20. 0020rewrite hz
  21. 0021rewrite hz
  22. 0022rewrite hz
  23. 0023rewrite hz
  24. 0024rewrite hz
  25. 0025rewrite hz
  26. 0026rewrite hz
  27. 0027specialize prime_field_polynomial_gcd_bezout_empty_second (p)
  28. 0028specialize prime_field_polynomial_gcd_bezout_empty_second (ab)
  29. 0029specialize prime_field_polynomial_gcd_bezout_empty_second (ac)
  30. 0030specialize prime_field_polynomial_gcd_bezout_empty_second (L)
  31. 0031specialize prime_field_polynomial_gcd_bezout_empty_second (bb)
  32. 0032specialize prime_field_polynomial_gcd_bezout_empty_second (bc)
  33. 0033apply prime_field_polynomial_gcd_bezout_empty_second
  34. 0034exact hp
  35. 0035exact hA
  36. 0036intro p
  37. 0037intro ab
  38. 0038intro ac
  39. 0039intro L
  40. 0040intro bb
  41. 0041intro bc
  42. 0042intro M
  43. 0043intro hp
  44. 0044intro hA
  45. 0045intro hB
  46. 0046intro hbound
  47. 0047have ht : exists tb tc K. ((forall fom_index_pfp_gcd_induction_trim_bounded. (exists fom_gap_pfp_gcd_induction_trim_bounded_index_bound. fom_gap_pfp_gcd_induction_trim_bounded_index_bound + S (fom_index_pfp_gcd_induction_trim_bounded) = K) -> exists fom_value_pfp_gcd_induction_trim_bounded. ((((exists fom_beta_height_pfp_gcd_induction_trim_bounded_entry. fom_beta_height_pfp_gcd_induction_trim_bounded_entry + S (fom_value_pfp_gcd_induction_trim_bounded) = S ((S (fom_index_pfp_gcd_induction_trim_bounded)) * tc)) /\ exists fom_beta_quotient_pfp_gcd_induction_trim_bounded_entry. tb = fom_beta_quotient_pfp_gcd_induction_trim_bounded_entry * S ((S (fom_index_pfp_gcd_induction_trim_bounded)) * tc) + (fom_value_pfp_gcd_induction_trim_bounded))) /\ (exists fom_gap_pfp_gcd_induction_trim_bounded_value_bound. fom_gap_pfp_gcd_induction_trim_bounded_value_bound + S (fom_value_pfp_gcd_induction_trim_bounded) = p))) /\ (((forall pfrep_power_gcd_induction_trim_equivalent pfrep_left_gcd_induction_trim_equivalent pfrep_right_gcd_induction_trim_equivalent. ((exists pfrep_position_gcd_induction_trim_equivalentfirst. ((pfrep_position_gcd_induction_trim_equivalentfirst+S (pfrep_power_gcd_induction_trim_equivalent)=(K)) /\ ((((exists ff_h_pfp_gcd_induction_trim_equivalentfirstentry. ff_h_pfp_gcd_induction_trim_equivalentfirstentry + S (pfrep_left_gcd_induction_trim_equivalent) = S ((S (pfrep_position_gcd_induction_trim_equivalentfirst)) * tc)) /\ exists ff_q_pfp_gcd_induction_trim_equivalentfirstentry. tb = ff_q_pfp_gcd_induction_trim_equivalentfirstentry * S ((S (pfrep_position_gcd_induction_trim_equivalentfirst)) * tc) + (pfrep_left_gcd_induction_trim_equivalent)))))) \/ (((exists pfrep_gap_gcd_induction_trim_equivalentfirstoutside. pfrep_gap_gcd_induction_trim_equivalentfirstoutside+(K)=(pfrep_power_gcd_induction_trim_equivalent)) /\ (((pfrep_left_gcd_induction_trim_equivalent)=0))))) -> ((exists pfrep_position_gcd_induction_trim_equivalentsecond. ((pfrep_position_gcd_induction_trim_equivalentsecond+S (pfrep_power_gcd_induction_trim_equivalent)=(M)) /\ ((((exists ff_h_pfp_gcd_induction_trim_equivalentsecondentry. ff_h_pfp_gcd_induction_trim_equivalentsecondentry + S (pfrep_right_gcd_induction_trim_equivalent) = S ((S (pfrep_position_gcd_induction_trim_equivalentsecond)) * bc)) /\ exists ff_q_pfp_gcd_induction_trim_equivalentsecondentry. bb = ff_q_pfp_gcd_induction_trim_equivalentsecondentry * S ((S (pfrep_position_gcd_induction_trim_equivalentsecond)) * bc) + (pfrep_right_gcd_induction_trim_equivalent)))))) \/ (((exists pfrep_gap_gcd_induction_trim_equivalentsecondoutside. pfrep_gap_gcd_induction_trim_equivalentsecondoutside+(M)=(pfrep_power_gcd_induction_trim_equivalent)) /\ (((pfrep_right_gcd_induction_trim_equivalent)=0))))) -> pfrep_left_gcd_induction_trim_equivalent=pfrep_right_gcd_induction_trim_equivalent) /\ (((exists pfc_gap_gcd_induction_trim_length. pfc_gap_gcd_induction_trim_length+(K)=(M)) /\ (((K)=0 \/ (exists pfg_degree_gcd_induction_trim. (((K)=S (pfg_degree_gcd_induction_trim)) /\ (((forall fom_index_pfp_gcd_induction_trim_degreecoefficients. (exists fom_gap_pfp_gcd_induction_trim_degreecoefficients_index_bound. fom_gap_pfp_gcd_induction_trim_degreecoefficients_index_bound + S (fom_index_pfp_gcd_induction_trim_degreecoefficients) = K) -> exists fom_value_pfp_gcd_induction_trim_degreecoefficients. ((((exists fom_beta_height_pfp_gcd_induction_trim_degreecoefficients_entry. fom_beta_height_pfp_gcd_induction_trim_degreecoefficients_entry + S (fom_value_pfp_gcd_induction_trim_degreecoefficients) = S ((S (fom_index_pfp_gcd_induction_trim_degreecoefficients)) * tc)) /\ exists fom_beta_quotient_pfp_gcd_induction_trim_degreecoefficients_entry. tb = fom_beta_quotient_pfp_gcd_induction_trim_degreecoefficients_entry * S ((S (fom_index_pfp_gcd_induction_trim_degreecoefficients)) * tc) + (fom_value_pfp_gcd_induction_trim_degreecoefficients))) /\ (exists fom_gap_pfp_gcd_induction_trim_degreecoefficients_value_bound. fom_gap_pfp_gcd_induction_trim_degreecoefficients_value_bound + S (fom_value_pfp_gcd_induction_trim_degreecoefficients) = p))) /\ ((exists pfd_leading_gcd_induction_trim_degree. ((((exists ff_h_pfp_gcd_induction_trim_degreeentry. ff_h_pfp_gcd_induction_trim_degreeentry + S (pfd_leading_gcd_induction_trim_degree) = S ((S (0)) * tc)) /\ exists ff_q_pfp_gcd_induction_trim_degreeentry. tb = ff_q_pfp_gcd_induction_trim_degreeentry * S ((S (0)) * tc) + (pfd_leading_gcd_induction_trim_degree))) /\ ((~(pfd_leading_gcd_induction_trim_degree=0)))))))))))))))))
  48. 0048specialize prime_field_polynomial_reduced_representative_exists (p)
  49. 0049specialize prime_field_polynomial_reduced_representative_exists (bb)
  50. 0050specialize prime_field_polynomial_reduced_representative_exists (bc)
  51. 0051specialize prime_field_polynomial_reduced_representative_exists (M)
  52. 0052apply prime_field_polynomial_reduced_representative_exists
  53. 0053exact hB
  54. 0054cases ht
  55. 0055cases ht_witness
  56. 0056cases ht_witness_witness
  57. 0057cases ht_witness_witness_witness
  58. 0058cases ht_witness_witness_witness_right
  59. 0059cases ht_witness_witness_witness_right_right
  60. 0060specialize prime_field_polynomial_gcd_bezout_equivalent_second (p)
  61. 0061specialize prime_field_polynomial_gcd_bezout_equivalent_second (ab)
  62. 0062specialize prime_field_polynomial_gcd_bezout_equivalent_second (ac)
  63. 0063specialize prime_field_polynomial_gcd_bezout_equivalent_second (L)
  64. 0064specialize prime_field_polynomial_gcd_bezout_equivalent_second (x)
  65. 0065specialize prime_field_polynomial_gcd_bezout_equivalent_second (x1)
  66. 0066specialize prime_field_polynomial_gcd_bezout_equivalent_second (x2)
  67. 0067specialize prime_field_polynomial_gcd_bezout_equivalent_second (bb)
  68. 0068specialize prime_field_polynomial_gcd_bezout_equivalent_second (bc)
  69. 0069specialize prime_field_polynomial_gcd_bezout_equivalent_second (M)
  70. 0070apply prime_field_polynomial_gcd_bezout_equivalent_second
  71. 0071exact hp
  72. 0072exact hA
  73. 0073exact hB
  74. 0074exact ht_witness_witness_witness_right_left
  75. 0075cases ht_witness_witness_witness_right_right_right
  76. 0076rewrite ht_witness_witness_witness_right_right_right_left
  77. 0077rewrite ht_witness_witness_witness_right_right_right_left
  78. 0078rewrite ht_witness_witness_witness_right_right_right_left
  79. 0079rewrite ht_witness_witness_witness_right_right_right_left
  80. 0080rewrite ht_witness_witness_witness_right_right_right_left
  81. 0081rewrite ht_witness_witness_witness_right_right_right_left
  82. 0082rewrite ht_witness_witness_witness_right_right_right_left
  83. 0083rewrite ht_witness_witness_witness_right_right_right_left
  84. 0084rewrite ht_witness_witness_witness_right_right_right_left
  85. 0085specialize prime_field_polynomial_gcd_bezout_empty_second (p)
  86. 0086specialize prime_field_polynomial_gcd_bezout_empty_second (ab)
  87. 0087specialize prime_field_polynomial_gcd_bezout_empty_second (ac)
  88. 0088specialize prime_field_polynomial_gcd_bezout_empty_second (L)
  89. 0089specialize prime_field_polynomial_gcd_bezout_empty_second (x)
  90. 0090specialize prime_field_polynomial_gcd_bezout_empty_second (x1)
  91. 0091apply prime_field_polynomial_gcd_bezout_empty_second
  92. 0092exact hp
  93. 0093exact hA
  94. 0094cases ht_witness_witness_witness_right_right_right_right
  95. 0095have hlength : x2=S x3
  96. 0096cases ht_witness_witness_witness_right_right_right_right_witness
  97. 0097exact ht_witness_witness_witness_right_right_right_right_witness_left
  98. 0098have hdBound : exists pfc_gap_gcd_induction_degree_bound. pfc_gap_gcd_induction_degree_bound+(x3)=(n)
  99. 0099specialize le_of_succ_le_succ (x3)
  100. 0100specialize le_of_succ_le_succ (n)
  101. 0101apply le_of_succ_le_succ
  102. 0102have hlengthBound : exists pfc_gap_gcd_induction_length_bound. pfc_gap_gcd_induction_length_bound+(x2)=(S n)
  103. 0103specialize le_trans (x2)
  104. 0104specialize le_trans (M)
  105. 0105specialize le_trans (S n)
  106. 0106apply le_trans
  107. 0107exact ht_witness_witness_witness_right_right_left
  108. 0108exact hbound
  109. 0109rewrite hlength at hlengthBound
  110. 0110exact hlengthBound
  111. 0111rewrite hlength
  112. 0112rewrite hlength
  113. 0113rewrite hlength
  114. 0114rewrite hlength
  115. 0115rewrite hlength
  116. 0116rewrite hlength
  117. 0117rewrite hlength
  118. 0118rewrite hlength
  119. 0119rewrite hlength
  120. 0120have he : exists qb qc q rb rc R. ((forall fom_index_pfp_gcd_induction_divisioninput. (exists fom_gap_pfp_gcd_induction_divisioninput_index_bound. fom_gap_pfp_gcd_induction_divisioninput_index_bound + S (fom_index_pfp_gcd_induction_divisioninput) = L) -> exists fom_value_pfp_gcd_induction_divisioninput. ((((exists fom_beta_height_pfp_gcd_induction_divisioninput_entry. fom_beta_height_pfp_gcd_induction_divisioninput_entry + S (fom_value_pfp_gcd_induction_divisioninput) = S ((S (fom_index_pfp_gcd_induction_divisioninput)) * ac)) /\ exists fom_beta_quotient_pfp_gcd_induction_divisioninput_entry. ab = fom_beta_quotient_pfp_gcd_induction_divisioninput_entry * S ((S (fom_index_pfp_gcd_induction_divisioninput)) * ac) + (fom_value_pfp_gcd_induction_divisioninput))) /\ (exists fom_gap_pfp_gcd_induction_divisioninput_value_bound. fom_gap_pfp_gcd_induction_divisioninput_value_bound + S (fom_value_pfp_gcd_induction_divisioninput) = p))) /\ (((forall fom_index_pfp_gcd_induction_divisiondivisor. (exists fom_gap_pfp_gcd_induction_divisiondivisor_index_bound. fom_gap_pfp_gcd_induction_divisiondivisor_index_bound + S (fom_index_pfp_gcd_induction_divisiondivisor) = S (x3)) -> exists fom_value_pfp_gcd_induction_divisiondivisor. ((((exists fom_beta_height_pfp_gcd_induction_divisiondivisor_entry. fom_beta_height_pfp_gcd_induction_divisiondivisor_entry + S (fom_value_pfp_gcd_induction_divisiondivisor) = S ((S (fom_index_pfp_gcd_induction_divisiondivisor)) * x1)) /\ exists fom_beta_quotient_pfp_gcd_induction_divisiondivisor_entry. x = fom_beta_quotient_pfp_gcd_induction_divisiondivisor_entry * S ((S (fom_index_pfp_gcd_induction_divisiondivisor)) * x1) + (fom_value_pfp_gcd_induction_divisiondivisor))) /\ (exists fom_gap_pfp_gcd_induction_divisiondivisor_value_bound. fom_gap_pfp_gcd_induction_divisiondivisor_value_bound + S (fom_value_pfp_gcd_induction_divisiondivisor) = p))) /\ (((((((q)=0) /\ ((exists pfc_gap_gcd_induction_divisionlengthshort. pfc_gap_gcd_induction_divisionlengthshort+(L)=(x3))))) \/ (((~((q)=0)) /\ (((q)+(x3)=(L)))))) /\ ((exists pfd_head_gcd_induction_division pfd_inverse_gcd_induction_division pfd_product_code_gcd_induction_division pfd_product_scale_gcd_induction_division pfd_residual_code_gcd_induction_division pfd_residual_scale_gcd_induction_division pfd_cut_gcd_induction_division. ((((exists ff_h_pfp_gcd_induction_divisionhead. ff_h_pfp_gcd_induction_divisionhead + S (pfd_head_gcd_induction_division) = S ((S (0)) * x1)) /\ exists ff_q_pfp_gcd_induction_divisionhead. x = ff_q_pfp_gcd_induction_divisionhead * S ((S (0)) * x1) + (pfd_head_gcd_induction_division))) /\ (((((~((pfd_head_gcd_induction_division) = 0)) /\ ((((exists pfa_gap_gcd_induction_divisioninversemultiplicationleft. pfa_gap_gcd_induction_divisioninversemultiplicationleft + S (pfd_head_gcd_induction_division) = (p)) /\ (((exists pfa_gap_gcd_induction_divisioninversemultiplicationright. pfa_gap_gcd_induction_divisioninversemultiplicationright + S (pfd_inverse_gcd_induction_division) = (p)) /\ ((((exists pfa_gap_gcd_induction_divisioninversemultiplicationresultbound. pfa_gap_gcd_induction_divisioninversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_gcd_induction_divisioninversemultiplicationresultcongruence pfa_offset_right_gcd_induction_divisioninversemultiplicationresultcongruence. ((pfd_head_gcd_induction_division) * (pfd_inverse_gcd_induction_division)) + (p) * pfa_offset_left_gcd_induction_divisioninversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_gcd_induction_divisioninversemultiplicationresultcongruence)))))))))))) /\ (((forall pfd_index_gcd_induction_divisionquotient. (exists pfa_gap_gcd_induction_divisionquotientbound. pfa_gap_gcd_induction_divisionquotientbound + S (pfd_index_gcd_induction_divisionquotient) = (q)) -> exists pfd_value_gcd_induction_divisionquotient. ((((exists ff_h_pfp_gcd_induction_divisionquotiententry. ff_h_pfp_gcd_induction_divisionquotiententry + S (pfd_value_gcd_induction_divisionquotient) = S ((S (pfd_index_gcd_induction_divisionquotient)) * qc)) /\ exists ff_q_pfp_gcd_induction_divisionquotiententry. qb = ff_q_pfp_gcd_induction_divisionquotiententry * S ((S (pfd_index_gcd_induction_divisionquotient)) * qc) + (pfd_value_gcd_induction_divisionquotient))) /\ ((exists pfd_input_gcd_induction_divisionquotientstep pfd_previous_gcd_induction_divisionquotientstep pfd_difference_gcd_induction_divisionquotientstep. ((((exists ff_h_pfp_gcd_induction_divisionquotientstepinput. ff_h_pfp_gcd_induction_divisionquotientstepinput + S (pfd_input_gcd_induction_divisionquotientstep) = S ((S (pfd_index_gcd_induction_divisionquotient)) * ac)) /\ exists ff_q_pfp_gcd_induction_divisionquotientstepinput. ab = ff_q_pfp_gcd_induction_divisionquotientstepinput * S ((S (pfd_index_gcd_induction_divisionquotient)) * ac) + (pfd_input_gcd_induction_divisionquotientstep))) /\ (((exists pfc_terms_code_gcd_induction_divisionquotientstepprevious pfc_terms_scale_gcd_induction_divisionquotientstepprevious pfc_natural_sum_gcd_induction_divisionquotientstepprevious. ((forall pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal. (exists pfa_gap_gcd_induction_divisionquotientsteppreviousdiagonalbound. pfa_gap_gcd_induction_divisionquotientsteppreviousdiagonalbound + S (pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal) = (S (pfd_index_gcd_induction_divisionquotient))) -> exists pfc_value_gcd_induction_divisionquotientsteppreviousdiagonal. ((((exists ff_h_pfp_gcd_induction_divisionquotientsteppreviousdiagonalentry. ff_h_pfp_gcd_induction_divisionquotientsteppreviousdiagonalentry + S (pfc_value_gcd_induction_divisionquotientsteppreviousdiagonal) = S ((S (pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal)) * pfc_terms_scale_gcd_induction_divisionquotientstepprevious)) /\ exists ff_q_pfp_gcd_induction_divisionquotientsteppreviousdiagonalentry. pfc_terms_code_gcd_induction_divisionquotientstepprevious = ff_q_pfp_gcd_induction_divisionquotientsteppreviousdiagonalentry * S ((S (pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal)) * pfc_terms_scale_gcd_induction_divisionquotientstepprevious) + (pfc_value_gcd_induction_divisionquotientsteppreviousdiagonal))) /\ ((exists pfc_complement_gcd_induction_divisionquotientsteppreviousdiagonalterm pfc_left_gcd_induction_divisionquotientsteppreviousdiagonalterm pfc_right_gcd_induction_divisionquotientsteppreviousdiagonalterm. (((pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal)+pfc_complement_gcd_induction_divisionquotientsteppreviousdiagonalterm=(pfd_index_gcd_induction_divisionquotient)) /\ ((((((exists pfa_gap_gcd_induction_divisionquotientsteppreviousdiagonaltermleftinside. pfa_gap_gcd_induction_divisionquotientsteppreviousdiagonaltermleftinside + S (pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal) = (pfd_index_gcd_induction_divisionquotient)) /\ ((((exists ff_h_pfp_gcd_induction_divisionquotientsteppreviousdiagonaltermleftentry. ff_h_pfp_gcd_induction_divisionquotientsteppreviousdiagonaltermleftentry + S (pfc_left_gcd_induction_divisionquotientsteppreviousdiagonalterm) = S ((S (pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_gcd_induction_divisionquotientsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_gcd_induction_divisionquotientsteppreviousdiagonaltermleftentry * S ((S (pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal)) * qc) + (pfc_left_gcd_induction_divisionquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_divisionquotientsteppreviousdiagonaltermleftoutside. pfc_gap_gcd_induction_divisionquotientsteppreviousdiagonaltermleftoutside+(pfd_index_gcd_induction_divisionquotient)=(pfc_index_gcd_induction_divisionquotientsteppreviousdiagonal)) /\ (((pfc_left_gcd_induction_divisionquotientsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_gcd_induction_divisionquotientsteppreviousdiagonaltermrightinside. pfa_gap_gcd_induction_divisionquotientsteppreviousdiagonaltermrightinside + S (pfc_complement_gcd_induction_divisionquotientsteppreviousdiagonalterm) = (S (x3))) /\ ((((exists ff_h_pfp_gcd_induction_divisionquotientsteppreviousdiagonaltermrightentry. ff_h_pfp_gcd_induction_divisionquotientsteppreviousdiagonaltermrightentry + S (pfc_right_gcd_induction_divisionquotientsteppreviousdiagonalterm) = S ((S (pfc_complement_gcd_induction_divisionquotientsteppreviousdiagonalterm)) * x1)) /\ exists ff_q_pfp_gcd_induction_divisionquotientsteppreviousdiagonaltermrightentry. x = ff_q_pfp_gcd_induction_divisionquotientsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_gcd_induction_divisionquotientsteppreviousdiagonalterm)) * x1) + (pfc_right_gcd_induction_divisionquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_divisionquotientsteppreviousdiagonaltermrightoutside. pfc_gap_gcd_induction_divisionquotientsteppreviousdiagonaltermrightoutside+(S (x3))=(pfc_complement_gcd_induction_divisionquotientsteppreviousdiagonalterm)) /\ (((pfc_right_gcd_induction_divisionquotientsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_gcd_induction_divisionquotientsteppreviousdiagonal)=pfc_left_gcd_induction_divisionquotientsteppreviousdiagonalterm*pfc_right_gcd_induction_divisionquotientsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_gcd_induction_divisionquotientstepprevioussum fs_v_pfc_gcd_induction_divisionquotientstepprevioussum. ((((exists fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_start. fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_gcd_induction_divisionquotientstepprevioussum)) /\ exists fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_start. fs_u_pfc_gcd_induction_divisionquotientstepprevioussum = fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_gcd_induction_divisionquotientstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_terminal. fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_terminal + S (pfc_natural_sum_gcd_induction_divisionquotientstepprevious) = S ((S (S (pfd_index_gcd_induction_divisionquotient))) * fs_v_pfc_gcd_induction_divisionquotientstepprevioussum)) /\ exists fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_terminal. fs_u_pfc_gcd_induction_divisionquotientstepprevioussum = fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_terminal * S ((S (S (pfd_index_gcd_induction_divisionquotient))) * fs_v_pfc_gcd_induction_divisionquotientstepprevioussum) + (pfc_natural_sum_gcd_induction_divisionquotientstepprevious))) /\ forall fs_i_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps. (exists fs_lt_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_bound. fs_lt_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_bound + S fs_i_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps = S (pfd_index_gcd_induction_divisionquotient)) -> exists fs_a_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps fs_r_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps fs_s_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps. ((((exists fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_summand. fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_summand + S (fs_a_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps)) * pfc_terms_scale_gcd_induction_divisionquotientstepprevious)) /\ exists fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_summand. pfc_terms_code_gcd_induction_divisionquotientstepprevious = fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps)) * pfc_terms_scale_gcd_induction_divisionquotientstepprevious) + (fs_a_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_partial. fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_partial + S (fs_r_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps)) * fs_v_pfc_gcd_induction_divisionquotientstepprevioussum)) /\ exists fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_partial. fs_u_pfc_gcd_induction_divisionquotientstepprevioussum = fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps)) * fs_v_pfc_gcd_induction_divisionquotientstepprevioussum) + (fs_r_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_successor. fs_h_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_successor + S (fs_s_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps) = S ((S (S fs_i_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps)) * fs_v_pfc_gcd_induction_divisionquotientstepprevioussum)) /\ exists fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_successor. fs_u_pfc_gcd_induction_divisionquotientstepprevioussum = fs_q_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps)) * fs_v_pfc_gcd_induction_divisionquotientstepprevioussum) + (fs_s_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps))) /\ fs_s_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps = fs_r_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps + fs_a_pfc_gcd_induction_divisionquotientstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_gcd_induction_divisionquotientsteppreviousresiduebound. pfa_gap_gcd_induction_divisionquotientsteppreviousresiduebound + S (pfd_previous_gcd_induction_divisionquotientstep) = (p)) /\ ((exists pfa_offset_left_gcd_induction_divisionquotientsteppreviousresiduecongruence pfa_offset_right_gcd_induction_divisionquotientsteppreviousresiduecongruence. (pfc_natural_sum_gcd_induction_divisionquotientstepprevious) + (p) * pfa_offset_left_gcd_induction_divisionquotientsteppreviousresiduecongruence = (pfd_previous_gcd_induction_divisionquotientstep) + (p) * pfa_offset_right_gcd_induction_divisionquotientsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_gcd_induction_divisionquotientstepsubtractleft. pfa_gap_gcd_induction_divisionquotientstepsubtractleft + S (pfd_previous_gcd_induction_divisionquotientstep) = (p)) /\ (((exists pfa_gap_gcd_induction_divisionquotientstepsubtractright. pfa_gap_gcd_induction_divisionquotientstepsubtractright + S (pfd_difference_gcd_induction_divisionquotientstep) = (p)) /\ ((((exists pfa_gap_gcd_induction_divisionquotientstepsubtractresultbound. pfa_gap_gcd_induction_divisionquotientstepsubtractresultbound + S (pfd_input_gcd_induction_divisionquotientstep) = (p)) /\ ((exists pfa_offset_left_gcd_induction_divisionquotientstepsubtractresultcongruence pfa_offset_right_gcd_induction_divisionquotientstepsubtractresultcongruence. ((pfd_previous_gcd_induction_divisionquotientstep) + (pfd_difference_gcd_induction_divisionquotientstep)) + (p) * pfa_offset_left_gcd_induction_divisionquotientstepsubtractresultcongruence = (pfd_input_gcd_induction_divisionquotientstep) + (p) * pfa_offset_right_gcd_induction_divisionquotientstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_gcd_induction_divisionquotientstepmultiplyleft. pfa_gap_gcd_induction_divisionquotientstepmultiplyleft + S (pfd_inverse_gcd_induction_division) = (p)) /\ (((exists pfa_gap_gcd_induction_divisionquotientstepmultiplyright. pfa_gap_gcd_induction_divisionquotientstepmultiplyright + S (pfd_difference_gcd_induction_divisionquotientstep) = (p)) /\ ((((exists pfa_gap_gcd_induction_divisionquotientstepmultiplyresultbound. pfa_gap_gcd_induction_divisionquotientstepmultiplyresultbound + S (pfd_value_gcd_induction_divisionquotient) = (p)) /\ ((exists pfa_offset_left_gcd_induction_divisionquotientstepmultiplyresultcongruence pfa_offset_right_gcd_induction_divisionquotientstepmultiplyresultcongruence. ((pfd_inverse_gcd_induction_division) * (pfd_difference_gcd_induction_divisionquotientstep)) + (p) * pfa_offset_left_gcd_induction_divisionquotientstepmultiplyresultcongruence = (pfd_value_gcd_induction_divisionquotient) + (p) * pfa_offset_right_gcd_induction_divisionquotientstepmultiplyresultcongruence))))))))))))))))))) /\ (((forall pfc_index_gcd_induction_divisionproduct. (exists pfa_gap_gcd_induction_divisionproductbound. pfa_gap_gcd_induction_divisionproductbound + S (pfc_index_gcd_induction_divisionproduct) = (L)) -> exists pfc_value_gcd_induction_divisionproduct. ((((exists ff_h_pfp_gcd_induction_divisionproductentry. ff_h_pfp_gcd_induction_divisionproductentry + S (pfc_value_gcd_induction_divisionproduct) = S ((S (pfc_index_gcd_induction_divisionproduct)) * pfd_product_scale_gcd_induction_division)) /\ exists ff_q_pfp_gcd_induction_divisionproductentry. pfd_product_code_gcd_induction_division = ff_q_pfp_gcd_induction_divisionproductentry * S ((S (pfc_index_gcd_induction_divisionproduct)) * pfd_product_scale_gcd_induction_division) + (pfc_value_gcd_induction_divisionproduct))) /\ ((exists pfc_terms_code_gcd_induction_divisionproductcoefficient pfc_terms_scale_gcd_induction_divisionproductcoefficient pfc_natural_sum_gcd_induction_divisionproductcoefficient. ((forall pfc_index_gcd_induction_divisionproductcoefficientdiagonal. (exists pfa_gap_gcd_induction_divisionproductcoefficientdiagonalbound. pfa_gap_gcd_induction_divisionproductcoefficientdiagonalbound + S (pfc_index_gcd_induction_divisionproductcoefficientdiagonal) = (S (pfc_index_gcd_induction_divisionproduct))) -> exists pfc_value_gcd_induction_divisionproductcoefficientdiagonal. ((((exists ff_h_pfp_gcd_induction_divisionproductcoefficientdiagonalentry. ff_h_pfp_gcd_induction_divisionproductcoefficientdiagonalentry + S (pfc_value_gcd_induction_divisionproductcoefficientdiagonal) = S ((S (pfc_index_gcd_induction_divisionproductcoefficientdiagonal)) * pfc_terms_scale_gcd_induction_divisionproductcoefficient)) /\ exists ff_q_pfp_gcd_induction_divisionproductcoefficientdiagonalentry. pfc_terms_code_gcd_induction_divisionproductcoefficient = ff_q_pfp_gcd_induction_divisionproductcoefficientdiagonalentry * S ((S (pfc_index_gcd_induction_divisionproductcoefficientdiagonal)) * pfc_terms_scale_gcd_induction_divisionproductcoefficient) + (pfc_value_gcd_induction_divisionproductcoefficientdiagonal))) /\ ((exists pfc_complement_gcd_induction_divisionproductcoefficientdiagonalterm pfc_left_gcd_induction_divisionproductcoefficientdiagonalterm pfc_right_gcd_induction_divisionproductcoefficientdiagonalterm. (((pfc_index_gcd_induction_divisionproductcoefficientdiagonal)+pfc_complement_gcd_induction_divisionproductcoefficientdiagonalterm=(pfc_index_gcd_induction_divisionproduct)) /\ ((((((exists pfa_gap_gcd_induction_divisionproductcoefficientdiagonaltermleftinside. pfa_gap_gcd_induction_divisionproductcoefficientdiagonaltermleftinside + S (pfc_index_gcd_induction_divisionproductcoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_gcd_induction_divisionproductcoefficientdiagonaltermleftentry. ff_h_pfp_gcd_induction_divisionproductcoefficientdiagonaltermleftentry + S (pfc_left_gcd_induction_divisionproductcoefficientdiagonalterm) = S ((S (pfc_index_gcd_induction_divisionproductcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_gcd_induction_divisionproductcoefficientdiagonaltermleftentry. qb = ff_q_pfp_gcd_induction_divisionproductcoefficientdiagonaltermleftentry * S ((S (pfc_index_gcd_induction_divisionproductcoefficientdiagonal)) * qc) + (pfc_left_gcd_induction_divisionproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_divisionproductcoefficientdiagonaltermleftoutside. pfc_gap_gcd_induction_divisionproductcoefficientdiagonaltermleftoutside+(q)=(pfc_index_gcd_induction_divisionproductcoefficientdiagonal)) /\ (((pfc_left_gcd_induction_divisionproductcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_gcd_induction_divisionproductcoefficientdiagonaltermrightinside. pfa_gap_gcd_induction_divisionproductcoefficientdiagonaltermrightinside + S (pfc_complement_gcd_induction_divisionproductcoefficientdiagonalterm) = (S (x3))) /\ ((((exists ff_h_pfp_gcd_induction_divisionproductcoefficientdiagonaltermrightentry. ff_h_pfp_gcd_induction_divisionproductcoefficientdiagonaltermrightentry + S (pfc_right_gcd_induction_divisionproductcoefficientdiagonalterm) = S ((S (pfc_complement_gcd_induction_divisionproductcoefficientdiagonalterm)) * x1)) /\ exists ff_q_pfp_gcd_induction_divisionproductcoefficientdiagonaltermrightentry. x = ff_q_pfp_gcd_induction_divisionproductcoefficientdiagonaltermrightentry * S ((S (pfc_complement_gcd_induction_divisionproductcoefficientdiagonalterm)) * x1) + (pfc_right_gcd_induction_divisionproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_gcd_induction_divisionproductcoefficientdiagonaltermrightoutside. pfc_gap_gcd_induction_divisionproductcoefficientdiagonaltermrightoutside+(S (x3))=(pfc_complement_gcd_induction_divisionproductcoefficientdiagonalterm)) /\ (((pfc_right_gcd_induction_divisionproductcoefficientdiagonalterm)=0))))) /\ (((pfc_value_gcd_induction_divisionproductcoefficientdiagonal)=pfc_left_gcd_induction_divisionproductcoefficientdiagonalterm*pfc_right_gcd_induction_divisionproductcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_gcd_induction_divisionproductcoefficientsum fs_v_pfc_gcd_induction_divisionproductcoefficientsum. ((((exists fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_start. fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_gcd_induction_divisionproductcoefficientsum)) /\ exists fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_start. fs_u_pfc_gcd_induction_divisionproductcoefficientsum = fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_gcd_induction_divisionproductcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_terminal. fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_terminal + S (pfc_natural_sum_gcd_induction_divisionproductcoefficient) = S ((S (S (pfc_index_gcd_induction_divisionproduct))) * fs_v_pfc_gcd_induction_divisionproductcoefficientsum)) /\ exists fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_terminal. fs_u_pfc_gcd_induction_divisionproductcoefficientsum = fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_terminal * S ((S (S (pfc_index_gcd_induction_divisionproduct))) * fs_v_pfc_gcd_induction_divisionproductcoefficientsum) + (pfc_natural_sum_gcd_induction_divisionproductcoefficient))) /\ forall fs_i_pfc_gcd_induction_divisionproductcoefficientsum_body_steps. (exists fs_lt_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_bound. fs_lt_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_bound + S fs_i_pfc_gcd_induction_divisionproductcoefficientsum_body_steps = S (pfc_index_gcd_induction_divisionproduct)) -> exists fs_a_pfc_gcd_induction_divisionproductcoefficientsum_body_steps fs_r_pfc_gcd_induction_divisionproductcoefficientsum_body_steps fs_s_pfc_gcd_induction_divisionproductcoefficientsum_body_steps. ((((exists fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_summand. fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_summand + S (fs_a_pfc_gcd_induction_divisionproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_divisionproductcoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_divisionproductcoefficient)) /\ exists fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_summand. pfc_terms_code_gcd_induction_divisionproductcoefficient = fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_gcd_induction_divisionproductcoefficientsum_body_steps)) * pfc_terms_scale_gcd_induction_divisionproductcoefficient) + (fs_a_pfc_gcd_induction_divisionproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_partial. fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_partial + S (fs_r_pfc_gcd_induction_divisionproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_gcd_induction_divisionproductcoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_divisionproductcoefficientsum)) /\ exists fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_partial. fs_u_pfc_gcd_induction_divisionproductcoefficientsum = fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_gcd_induction_divisionproductcoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_divisionproductcoefficientsum) + (fs_r_pfc_gcd_induction_divisionproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_successor. fs_h_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_successor + S (fs_s_pfc_gcd_induction_divisionproductcoefficientsum_body_steps) = S ((S (S fs_i_pfc_gcd_induction_divisionproductcoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_divisionproductcoefficientsum)) /\ exists fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_successor. fs_u_pfc_gcd_induction_divisionproductcoefficientsum = fs_q_pfc_gcd_induction_divisionproductcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_gcd_induction_divisionproductcoefficientsum_body_steps)) * fs_v_pfc_gcd_induction_divisionproductcoefficientsum) + (fs_s_pfc_gcd_induction_divisionproductcoefficientsum_body_steps))) /\ fs_s_pfc_gcd_induction_divisionproductcoefficientsum_body_steps = fs_r_pfc_gcd_induction_divisionproductcoefficientsum_body_steps + fs_a_pfc_gcd_induction_divisionproductcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_gcd_induction_divisionproductcoefficientresiduebound. pfa_gap_gcd_induction_divisionproductcoefficientresiduebound + S (pfc_value_gcd_induction_divisionproduct) = (p)) /\ ((exists pfa_offset_left_gcd_induction_divisionproductcoefficientresiduecongruence pfa_offset_right_gcd_induction_divisionproductcoefficientresiduecongruence. (pfc_natural_sum_gcd_induction_divisionproductcoefficient) + (p) * pfa_offset_left_gcd_induction_divisionproductcoefficientresiduecongruence = (pfc_value_gcd_induction_divisionproduct) + (p) * pfa_offset_right_gcd_induction_divisionproductcoefficientresiduecongruence)))))))))))) /\ (((forall pfs_index_gcd_induction_divisiondifference. (exists pfa_gap_gcd_induction_divisiondifferenceindex. pfa_gap_gcd_induction_divisiondifferenceindex + S (pfs_index_gcd_induction_divisiondifference) = (L)) -> exists pfs_left_gcd_induction_divisiondifference pfs_right_gcd_induction_divisiondifference pfs_result_gcd_induction_divisiondifference. ((((exists ff_h_pfp_gcd_induction_divisiondifferenceleft. ff_h_pfp_gcd_induction_divisiondifferenceleft + S (pfs_left_gcd_induction_divisiondifference) = S ((S (pfs_index_gcd_induction_divisiondifference)) * ac)) /\ exists ff_q_pfp_gcd_induction_divisiondifferenceleft. ab = ff_q_pfp_gcd_induction_divisiondifferenceleft * S ((S (pfs_index_gcd_induction_divisiondifference)) * ac) + (pfs_left_gcd_induction_divisiondifference))) /\ (((((exists ff_h_pfp_gcd_induction_divisiondifferenceright. ff_h_pfp_gcd_induction_divisiondifferenceright + S (pfs_right_gcd_induction_divisiondifference) = S ((S (pfs_index_gcd_induction_divisiondifference)) * pfd_product_scale_gcd_induction_division)) /\ exists ff_q_pfp_gcd_induction_divisiondifferenceright. pfd_product_code_gcd_induction_division = ff_q_pfp_gcd_induction_divisiondifferenceright * S ((S (pfs_index_gcd_induction_divisiondifference)) * pfd_product_scale_gcd_induction_division) + (pfs_right_gcd_induction_divisiondifference))) /\ (((((exists ff_h_pfp_gcd_induction_divisiondifferenceresult. ff_h_pfp_gcd_induction_divisiondifferenceresult + S (pfs_result_gcd_induction_divisiondifference) = S ((S (pfs_index_gcd_induction_divisiondifference)) * pfd_residual_scale_gcd_induction_division)) /\ exists ff_q_pfp_gcd_induction_divisiondifferenceresult. pfd_residual_code_gcd_induction_division = ff_q_pfp_gcd_induction_divisiondifferenceresult * S ((S (pfs_index_gcd_induction_divisiondifference)) * pfd_residual_scale_gcd_induction_division) + (pfs_result_gcd_induction_divisiondifference))) /\ ((((exists pfa_gap_gcd_induction_divisiondifferenceoperationleft. pfa_gap_gcd_induction_divisiondifferenceoperationleft + S (pfs_right_gcd_induction_divisiondifference) = (p)) /\ (((exists pfa_gap_gcd_induction_divisiondifferenceoperationright. pfa_gap_gcd_induction_divisiondifferenceoperationright + S (pfs_result_gcd_induction_divisiondifference) = (p)) /\ ((((exists pfa_gap_gcd_induction_divisiondifferenceoperationresultbound. pfa_gap_gcd_induction_divisiondifferenceoperationresultbound + S (pfs_left_gcd_induction_divisiondifference) = (p)) /\ ((exists pfa_offset_left_gcd_induction_divisiondifferenceoperationresultcongruence pfa_offset_right_gcd_induction_divisiondifferenceoperationresultcongruence. ((pfs_right_gcd_induction_divisiondifference) + (pfs_result_gcd_induction_divisiondifference)) + (p) * pfa_offset_left_gcd_induction_divisiondifferenceoperationresultcongruence = (pfs_left_gcd_induction_divisiondifference) + (p) * pfa_offset_right_gcd_induction_divisiondifferenceoperationresultcongruence)))))))))))))))) /\ (((((L)=(pfd_cut_gcd_induction_division)+(R)) /\ (((forall fom_index_pfp_gcd_induction_divisiontriminput. (exists fom_gap_pfp_gcd_induction_divisiontriminput_index_bound. fom_gap_pfp_gcd_induction_divisiontriminput_index_bound + S (fom_index_pfp_gcd_induction_divisiontriminput) = L) -> exists fom_value_pfp_gcd_induction_divisiontriminput. ((((exists fom_beta_height_pfp_gcd_induction_divisiontriminput_entry. fom_beta_height_pfp_gcd_induction_divisiontriminput_entry + S (fom_value_pfp_gcd_induction_divisiontriminput) = S ((S (fom_index_pfp_gcd_induction_divisiontriminput)) * pfd_residual_scale_gcd_induction_division)) /\ exists fom_beta_quotient_pfp_gcd_induction_divisiontriminput_entry. pfd_residual_code_gcd_induction_division = fom_beta_quotient_pfp_gcd_induction_divisiontriminput_entry * S ((S (fom_index_pfp_gcd_induction_divisiontriminput)) * pfd_residual_scale_gcd_induction_division) + (fom_value_pfp_gcd_induction_divisiontriminput))) /\ (exists fom_gap_pfp_gcd_induction_divisiontriminput_value_bound. fom_gap_pfp_gcd_induction_divisiontriminput_value_bound + S (fom_value_pfp_gcd_induction_divisiontriminput) = p))) /\ (((forall pfp_repeat_index_gcd_induction_divisiontrimremoved. (exists pfa_gap_gcd_induction_divisiontrimremovedindex. pfa_gap_gcd_induction_divisiontrimremovedindex + S (pfp_repeat_index_gcd_induction_divisiontrimremoved) = (pfd_cut_gcd_induction_division)) -> (((exists ff_h_pfp_gcd_induction_divisiontrimremovedentry. ff_h_pfp_gcd_induction_divisiontrimremovedentry + S (0) = S ((S (pfp_repeat_index_gcd_induction_divisiontrimremoved)) * pfd_residual_scale_gcd_induction_division)) /\ exists ff_q_pfp_gcd_induction_divisiontrimremovedentry. pfd_residual_code_gcd_induction_division = ff_q_pfp_gcd_induction_divisiontrimremovedentry * S ((S (pfp_repeat_index_gcd_induction_divisiontrimremoved)) * pfd_residual_scale_gcd_induction_division) + (0)))) /\ (((forall pftrim_index_gcd_induction_divisiontrimsuffix pftrim_value_gcd_induction_divisiontrimsuffix. (exists pfa_gap_gcd_induction_divisiontrimsuffixbound. pfa_gap_gcd_induction_divisiontrimsuffixbound + S (pftrim_index_gcd_induction_divisiontrimsuffix) = (R)) -> (((exists ff_h_pfp_gcd_induction_divisiontrimsuffixsource. ff_h_pfp_gcd_induction_divisiontrimsuffixsource + S (pftrim_value_gcd_induction_divisiontrimsuffix) = S ((S ((pfd_cut_gcd_induction_division)+pftrim_index_gcd_induction_divisiontrimsuffix)) * pfd_residual_scale_gcd_induction_division)) /\ exists ff_q_pfp_gcd_induction_divisiontrimsuffixsource. pfd_residual_code_gcd_induction_division = ff_q_pfp_gcd_induction_divisiontrimsuffixsource * S ((S ((pfd_cut_gcd_induction_division)+pftrim_index_gcd_induction_divisiontrimsuffix)) * pfd_residual_scale_gcd_induction_division) + (pftrim_value_gcd_induction_divisiontrimsuffix))) -> (((exists ff_h_pfp_gcd_induction_divisiontrimsuffixoutput. ff_h_pfp_gcd_induction_divisiontrimsuffixoutput + S (pftrim_value_gcd_induction_divisiontrimsuffix) = S ((S (pftrim_index_gcd_induction_divisiontrimsuffix)) * rc)) /\ exists ff_q_pfp_gcd_induction_divisiontrimsuffixoutput. rb = ff_q_pfp_gcd_induction_divisiontrimsuffixoutput * S ((S (pftrim_index_gcd_induction_divisiontrimsuffix)) * rc) + (pftrim_value_gcd_induction_divisiontrimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_gcd_induction_divisiontrimnormal. ((((exists ff_h_pfp_gcd_induction_divisiontrimnormalentry. ff_h_pfp_gcd_induction_divisiontrimnormalentry + S (pftrim_leading_gcd_induction_divisiontrimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_gcd_induction_divisiontrimnormalentry. rb = ff_q_pfp_gcd_induction_divisiontrimnormalentry * S ((S (0)) * rc) + (pftrim_leading_gcd_induction_divisiontrimnormal))) /\ ((~(pftrim_leading_gcd_induction_divisiontrimnormal=0))))))))))))))))))))))))))))))))
  121. 0121specialize prime_field_polynomial_division_execution_exists (p)
  122. 0122specialize prime_field_polynomial_division_execution_exists (ab)
  123. 0123specialize prime_field_polynomial_division_execution_exists (ac)
  124. 0124specialize prime_field_polynomial_division_execution_exists (L)
  125. 0125specialize prime_field_polynomial_division_execution_exists (x)
  126. 0126specialize prime_field_polynomial_division_execution_exists (x1)
  127. 0127specialize prime_field_polynomial_division_execution_exists (x3)
  128. 0128apply prime_field_polynomial_division_execution_exists
  129. 0129exact hp
  130. 0130exact hA
  131. 0131rewrite hlength at ht_witness_witness_witness_right_right_right_right_witness
  132. 0132rewrite hlength at ht_witness_witness_witness_right_right_right_right_witness
  133. 0133exact ht_witness_witness_witness_right_right_right_right_witness
  134. 0134cases he
  135. 0135cases he_witness
  136. 0136cases he_witness_witness
  137. 0137cases he_witness_witness_witness
  138. 0138cases he_witness_witness_witness_witness
  139. 0139cases he_witness_witness_witness_witness_witness
  140. 0140specialize prime_field_polynomial_gcd_bezout_division_backward (p)
  141. 0141specialize prime_field_polynomial_gcd_bezout_division_backward (ab)
  142. 0142specialize prime_field_polynomial_gcd_bezout_division_backward (ac)
  143. 0143specialize prime_field_polynomial_gcd_bezout_division_backward (L)
  144. 0144specialize prime_field_polynomial_gcd_bezout_division_backward (x)
  145. 0145specialize prime_field_polynomial_gcd_bezout_division_backward (x1)
  146. 0146specialize prime_field_polynomial_gcd_bezout_division_backward (x3)
  147. 0147specialize prime_field_polynomial_gcd_bezout_division_backward (x4)
  148. 0148specialize prime_field_polynomial_gcd_bezout_division_backward (x5)
  149. 0149specialize prime_field_polynomial_gcd_bezout_division_backward (x6)
  150. 0150specialize prime_field_polynomial_gcd_bezout_division_backward (x7)
  151. 0151specialize prime_field_polynomial_gcd_bezout_division_backward (x8)
  152. 0152specialize prime_field_polynomial_gcd_bezout_division_backward (x9)
  153. 0153apply prime_field_polynomial_gcd_bezout_division_backward
  154. 0154exact hp
  155. 0155exact he_witness_witness_witness_witness_witness_witness
  156. 0156specialize IH (p)
  157. 0157specialize IH (x)
  158. 0158specialize IH (x1)
  159. 0159specialize IH (S x3)
  160. 0160specialize IH (x7)
  161. 0161specialize IH (x8)
  162. 0162specialize IH (x9)
  163. 0163apply IH
  164. 0164exact hp
  165. 0165rewrite hlength at ht_witness_witness_witness_left
  166. 0166exact ht_witness_witness_witness_left
  167. 0167specialize prime_field_polynomial_division_remainder_bounded (p)
  168. 0168specialize prime_field_polynomial_division_remainder_bounded (ab)
  169. 0169specialize prime_field_polynomial_division_remainder_bounded (ac)
  170. 0170specialize prime_field_polynomial_division_remainder_bounded (L)
  171. 0171specialize prime_field_polynomial_division_remainder_bounded (x)
  172. 0172specialize prime_field_polynomial_division_remainder_bounded (x1)
  173. 0173specialize prime_field_polynomial_division_remainder_bounded (x3)
  174. 0174specialize prime_field_polynomial_division_remainder_bounded (x4)
  175. 0175specialize prime_field_polynomial_division_remainder_bounded (x5)
  176. 0176specialize prime_field_polynomial_division_remainder_bounded (x6)
  177. 0177specialize prime_field_polynomial_division_remainder_bounded (x7)
  178. 0178specialize prime_field_polynomial_division_remainder_bounded (x8)
  179. 0179specialize prime_field_polynomial_division_remainder_bounded (x9)
  180. 0180apply prime_field_polynomial_division_remainder_bounded
  181. 0181exact he_witness_witness_witness_witness_witness_witness
  182. 0182specialize le_trans (x9)
  183. 0183specialize le_trans (x3)
  184. 0184specialize le_trans (n)
  185. 0185apply le_trans
  186. 0186have hr : ((exists pfc_gap_gcd_induction_remainder_bound. pfc_gap_gcd_induction_remainder_bound+(x9)=(x3)) /\ ((exists pfa_gap_gcd_induction_remainder_strict. pfa_gap_gcd_induction_remainder_strict + S (x9) = (S x3))))
  187. 0187specialize prime_field_polynomial_division_remainder_length_descent (p)
  188. 0188specialize prime_field_polynomial_division_remainder_length_descent (ab)
  189. 0189specialize prime_field_polynomial_division_remainder_length_descent (ac)
  190. 0190specialize prime_field_polynomial_division_remainder_length_descent (L)
  191. 0191specialize prime_field_polynomial_division_remainder_length_descent (x)
  192. 0192specialize prime_field_polynomial_division_remainder_length_descent (x1)
  193. 0193specialize prime_field_polynomial_division_remainder_length_descent (x3)
  194. 0194specialize prime_field_polynomial_division_remainder_length_descent (x4)
  195. 0195specialize prime_field_polynomial_division_remainder_length_descent (x5)
  196. 0196specialize prime_field_polynomial_division_remainder_length_descent (x6)
  197. 0197specialize prime_field_polynomial_division_remainder_length_descent (x7)
  198. 0198specialize prime_field_polynomial_division_remainder_length_descent (x8)
  199. 0199specialize prime_field_polynomial_division_remainder_length_descent (x9)
  200. 0200apply prime_field_polynomial_division_remainder_length_descent
  201. 0201exact hp
  202. 0202exact he_witness_witness_witness_witness_witness_witness
  203. 0203cases hr
  204. 0204exact hr_left
  205. 0205exact hdBound