PG0061

prime_field_polynomial_bezout_from_right_multiple

An actual right multiple G of A supplies its real left quotient U. With the empty coefficient V, construct V*B and an actual aligned sum to give G=U*A+V*B. The second input only needs canonical coefficients.

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

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

All products and sums use actual beta-coded coefficients; equality is formal coefficient equivalence, not equality of evaluations or raw codes. The zero gcd is included. Uniqueness is up to formal equivalence, not unique Bézout coefficients. This proves the polynomial gcd component, not G091 irreducible-polynomial existence or arbitrary prime-power-field construction.

Exact theorem in conservative defined notation

∀ p. ∀ ab. ∀ ac. ∀ A. ∀ bb. ∀ bc. ∀ B. ∀ gb. ∀ gc. ∀ G. Prime(p)BetaPrefixInto(bb,bc,B,p)FpPolynomialRightDivides(p,ab,ac,A,gb,gc,G) → ∃ x. ∃ y. ∃ z. FpPolynomialBezoutRepresentation(p,ab,ac,A,bb,bc,B,gb,gc,G,x,y,z,0,0,0)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall p ab ac A bb bc B gb gc G. (~((p) = 1) /\ forall pfa_factor_left_terminal_prime pfa_factor_right_terminal_prime. (p) = pfa_factor_left_terminal_prime * pfa_factor_right_terminal_prime -> pfa_factor_left_terminal_prime = 1 \/ pfa_factor_right_terminal_prime = 1) -> (forall fom_index_pfp_terminal_other_bound. (exists fom_gap_pfp_terminal_other_bound_index_bound. fom_gap_pfp_terminal_other_bound_index_bound + S (fom_index_pfp_terminal_other_bound) = B) -> exists fom_value_pfp_terminal_other_bound. ((((exists fom_beta_height_pfp_terminal_other_bound_entry. fom_beta_height_pfp_terminal_other_bound_entry + S (fom_value_pfp_terminal_other_bound) = S ((S (fom_index_pfp_terminal_other_bound)) * bc)) /\ exists fom_beta_quotient_pfp_terminal_other_bound_entry. bb = fom_beta_quotient_pfp_terminal_other_bound_entry * S ((S (fom_index_pfp_terminal_other_bound)) * bc) + (fom_value_pfp_terminal_other_bound))) /\ (exists fom_gap_pfp_terminal_other_bound_value_bound. fom_gap_pfp_terminal_other_bound_value_bound + S (fom_value_pfp_terminal_other_bound) = p))) -> (((forall fom_index_pfp_terminal_input_canonical. (exists fom_gap_pfp_terminal_input_canonical_index_bound. fom_gap_pfp_terminal_input_canonical_index_bound + S (fom_index_pfp_terminal_input_canonical) = G) -> exists fom_value_pfp_terminal_input_canonical. ((((exists fom_beta_height_pfp_terminal_input_canonical_entry. fom_beta_height_pfp_terminal_input_canonical_entry + S (fom_value_pfp_terminal_input_canonical) = S ((S (fom_index_pfp_terminal_input_canonical)) * gc)) /\ exists fom_beta_quotient_pfp_terminal_input_canonical_entry. gb = fom_beta_quotient_pfp_terminal_input_canonical_entry * S ((S (fom_index_pfp_terminal_input_canonical)) * gc) + (fom_value_pfp_terminal_input_canonical))) /\ (exists fom_gap_pfp_terminal_input_canonical_value_bound. fom_gap_pfp_terminal_input_canonical_value_bound + S (fom_value_pfp_terminal_input_canonical) = p))) /\ ((exists pfrd_qb_terminal_input pfrd_qc_terminal_input pfrd_qlen_terminal_input pfrd_pb_terminal_input pfrd_pc_terminal_input pfrd_plen_terminal_input. ((((forall fom_index_pfp_terminal_input_productleft. (exists fom_gap_pfp_terminal_input_productleft_index_bound. fom_gap_pfp_terminal_input_productleft_index_bound + S (fom_index_pfp_terminal_input_productleft) = pfrd_qlen_terminal_input) -> exists fom_value_pfp_terminal_input_productleft. ((((exists fom_beta_height_pfp_terminal_input_productleft_entry. fom_beta_height_pfp_terminal_input_productleft_entry + S (fom_value_pfp_terminal_input_productleft) = S ((S (fom_index_pfp_terminal_input_productleft)) * pfrd_qc_terminal_input)) /\ exists fom_beta_quotient_pfp_terminal_input_productleft_entry. pfrd_qb_terminal_input = fom_beta_quotient_pfp_terminal_input_productleft_entry * S ((S (fom_index_pfp_terminal_input_productleft)) * pfrd_qc_terminal_input) + (fom_value_pfp_terminal_input_productleft))) /\ (exists fom_gap_pfp_terminal_input_productleft_value_bound. fom_gap_pfp_terminal_input_productleft_value_bound + S (fom_value_pfp_terminal_input_productleft) = p))) /\ (((forall fom_index_pfp_terminal_input_productright. (exists fom_gap_pfp_terminal_input_productright_index_bound. fom_gap_pfp_terminal_input_productright_index_bound + S (fom_index_pfp_terminal_input_productright) = A) -> exists fom_value_pfp_terminal_input_productright. ((((exists fom_beta_height_pfp_terminal_input_productright_entry. fom_beta_height_pfp_terminal_input_productright_entry + S (fom_value_pfp_terminal_input_productright) = S ((S (fom_index_pfp_terminal_input_productright)) * ac)) /\ exists fom_beta_quotient_pfp_terminal_input_productright_entry. ab = fom_beta_quotient_pfp_terminal_input_productright_entry * S ((S (fom_index_pfp_terminal_input_productright)) * ac) + (fom_value_pfp_terminal_input_productright))) /\ (exists fom_gap_pfp_terminal_input_productright_value_bound. fom_gap_pfp_terminal_input_productright_value_bound + S (fom_value_pfp_terminal_input_productright) = p))) /\ (((((((pfrd_qlen_terminal_input)=0 \/ (A)=0) /\ (((pfrd_plen_terminal_input)=0)))) \/ (((~((pfrd_qlen_terminal_input)=0)) /\ (((~((A)=0)) /\ (((pfrd_qlen_terminal_input)+(A)=S (pfrd_plen_terminal_input)))))))) /\ ((forall pfc_index_terminal_input_productcoefficients. (exists pfa_gap_terminal_input_productcoefficientsbound. pfa_gap_terminal_input_productcoefficientsbound + S (pfc_index_terminal_input_productcoefficients) = (pfrd_plen_terminal_input)) -> exists pfc_value_terminal_input_productcoefficients. ((((exists ff_h_pfp_terminal_input_productcoefficientsentry. ff_h_pfp_terminal_input_productcoefficientsentry + S (pfc_value_terminal_input_productcoefficients) = S ((S (pfc_index_terminal_input_productcoefficients)) * pfrd_pc_terminal_input)) /\ exists ff_q_pfp_terminal_input_productcoefficientsentry. pfrd_pb_terminal_input = ff_q_pfp_terminal_input_productcoefficientsentry * S ((S (pfc_index_terminal_input_productcoefficients)) * pfrd_pc_terminal_input) + (pfc_value_terminal_input_productcoefficients))) /\ ((exists pfc_terms_code_terminal_input_productcoefficientscoefficient pfc_terms_scale_terminal_input_productcoefficientscoefficient pfc_natural_sum_terminal_input_productcoefficientscoefficient. ((forall pfc_index_terminal_input_productcoefficientscoefficientdiagonal. (exists pfa_gap_terminal_input_productcoefficientscoefficientdiagonalbound. pfa_gap_terminal_input_productcoefficientscoefficientdiagonalbound + S (pfc_index_terminal_input_productcoefficientscoefficientdiagonal) = (S (pfc_index_terminal_input_productcoefficients))) -> exists pfc_value_terminal_input_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_terminal_input_productcoefficientscoefficientdiagonalentry. ff_h_pfp_terminal_input_productcoefficientscoefficientdiagonalentry + S (pfc_value_terminal_input_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_terminal_input_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_terminal_input_productcoefficientscoefficient)) /\ exists ff_q_pfp_terminal_input_productcoefficientscoefficientdiagonalentry. pfc_terms_code_terminal_input_productcoefficientscoefficient = ff_q_pfp_terminal_input_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_terminal_input_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_terminal_input_productcoefficientscoefficient) + (pfc_value_terminal_input_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_terminal_input_productcoefficientscoefficientdiagonalterm pfc_left_terminal_input_productcoefficientscoefficientdiagonalterm pfc_right_terminal_input_productcoefficientscoefficientdiagonalterm. (((pfc_index_terminal_input_productcoefficientscoefficientdiagonal)+pfc_complement_terminal_input_productcoefficientscoefficientdiagonalterm=(pfc_index_terminal_input_productcoefficients)) /\ ((((((exists pfa_gap_terminal_input_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_terminal_input_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_terminal_input_productcoefficientscoefficientdiagonal) = (pfrd_qlen_terminal_input)) /\ ((((exists ff_h_pfp_terminal_input_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_terminal_input_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_terminal_input_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_terminal_input_productcoefficientscoefficientdiagonal)) * pfrd_qc_terminal_input)) /\ exists ff_q_pfp_terminal_input_productcoefficientscoefficientdiagonaltermleftentry. pfrd_qb_terminal_input = ff_q_pfp_terminal_input_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_terminal_input_productcoefficientscoefficientdiagonal)) * pfrd_qc_terminal_input) + (pfc_left_terminal_input_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_terminal_input_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_terminal_input_productcoefficientscoefficientdiagonaltermleftoutside+(pfrd_qlen_terminal_input)=(pfc_index_terminal_input_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_terminal_input_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_terminal_input_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_terminal_input_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_terminal_input_productcoefficientscoefficientdiagonalterm) = (A)) /\ ((((exists ff_h_pfp_terminal_input_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_terminal_input_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_terminal_input_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_terminal_input_productcoefficientscoefficientdiagonalterm)) * ac)) /\ exists ff_q_pfp_terminal_input_productcoefficientscoefficientdiagonaltermrightentry. ab = ff_q_pfp_terminal_input_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_terminal_input_productcoefficientscoefficientdiagonalterm)) * ac) + (pfc_right_terminal_input_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_terminal_input_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_terminal_input_productcoefficientscoefficientdiagonaltermrightoutside+(A)=(pfc_complement_terminal_input_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_terminal_input_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_terminal_input_productcoefficientscoefficientdiagonal)=pfc_left_terminal_input_productcoefficientscoefficientdiagonalterm*pfc_right_terminal_input_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_terminal_input_productcoefficientscoefficientsum fs_v_pfc_terminal_input_productcoefficientscoefficientsum. ((((exists fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_start. fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_terminal_input_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_start. fs_u_pfc_terminal_input_productcoefficientscoefficientsum = fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_terminal_input_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_terminal_input_productcoefficientscoefficient) = S ((S (S (pfc_index_terminal_input_productcoefficients))) * fs_v_pfc_terminal_input_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_terminal_input_productcoefficientscoefficientsum = fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_terminal_input_productcoefficients))) * fs_v_pfc_terminal_input_productcoefficientscoefficientsum) + (pfc_natural_sum_terminal_input_productcoefficientscoefficient))) /\ forall fs_i_pfc_terminal_input_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_terminal_input_productcoefficientscoefficientsum_body_steps = S (pfc_index_terminal_input_productcoefficients)) -> exists fs_a_pfc_terminal_input_productcoefficientscoefficientsum_body_steps fs_r_pfc_terminal_input_productcoefficientscoefficientsum_body_steps fs_s_pfc_terminal_input_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_terminal_input_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_terminal_input_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_terminal_input_productcoefficientscoefficient)) /\ exists fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_terminal_input_productcoefficientscoefficient = fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_terminal_input_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_terminal_input_productcoefficientscoefficient) + (fs_a_pfc_terminal_input_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_terminal_input_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_terminal_input_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_input_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_terminal_input_productcoefficientscoefficientsum = fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_terminal_input_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_input_productcoefficientscoefficientsum) + (fs_r_pfc_terminal_input_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_terminal_input_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_terminal_input_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_input_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_terminal_input_productcoefficientscoefficientsum = fs_q_pfc_terminal_input_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_terminal_input_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_input_productcoefficientscoefficientsum) + (fs_s_pfc_terminal_input_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_terminal_input_productcoefficientscoefficientsum_body_steps = fs_r_pfc_terminal_input_productcoefficientscoefficientsum_body_steps + fs_a_pfc_terminal_input_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_terminal_input_productcoefficientscoefficientresiduebound. pfa_gap_terminal_input_productcoefficientscoefficientresiduebound + S (pfc_value_terminal_input_productcoefficients) = (p)) /\ ((exists pfa_offset_left_terminal_input_productcoefficientscoefficientresiduecongruence pfa_offset_right_terminal_input_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_terminal_input_productcoefficientscoefficient) + (p) * pfa_offset_left_terminal_input_productcoefficientscoefficientresiduecongruence = (pfc_value_terminal_input_productcoefficients) + (p) * pfa_offset_right_terminal_input_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfrep_power_terminal_input_target pfrep_left_terminal_input_target pfrep_right_terminal_input_target. ((exists pfrep_position_terminal_input_targetfirst. ((pfrep_position_terminal_input_targetfirst+S (pfrep_power_terminal_input_target)=(pfrd_plen_terminal_input)) /\ ((((exists ff_h_pfp_terminal_input_targetfirstentry. ff_h_pfp_terminal_input_targetfirstentry + S (pfrep_left_terminal_input_target) = S ((S (pfrep_position_terminal_input_targetfirst)) * pfrd_pc_terminal_input)) /\ exists ff_q_pfp_terminal_input_targetfirstentry. pfrd_pb_terminal_input = ff_q_pfp_terminal_input_targetfirstentry * S ((S (pfrep_position_terminal_input_targetfirst)) * pfrd_pc_terminal_input) + (pfrep_left_terminal_input_target)))))) \/ (((exists pfrep_gap_terminal_input_targetfirstoutside. pfrep_gap_terminal_input_targetfirstoutside+(pfrd_plen_terminal_input)=(pfrep_power_terminal_input_target)) /\ (((pfrep_left_terminal_input_target)=0))))) -> ((exists pfrep_position_terminal_input_targetsecond. ((pfrep_position_terminal_input_targetsecond+S (pfrep_power_terminal_input_target)=(G)) /\ ((((exists ff_h_pfp_terminal_input_targetsecondentry. ff_h_pfp_terminal_input_targetsecondentry + S (pfrep_right_terminal_input_target) = S ((S (pfrep_position_terminal_input_targetsecond)) * gc)) /\ exists ff_q_pfp_terminal_input_targetsecondentry. gb = ff_q_pfp_terminal_input_targetsecondentry * S ((S (pfrep_position_terminal_input_targetsecond)) * gc) + (pfrep_right_terminal_input_target)))))) \/ (((exists pfrep_gap_terminal_input_targetsecondoutside. pfrep_gap_terminal_input_targetsecondoutside+(G)=(pfrep_power_terminal_input_target)) /\ (((pfrep_right_terminal_input_target)=0))))) -> pfrep_left_terminal_input_target=pfrep_right_terminal_input_target))))))) -> (exists ub uc U. exists pfbz_left_code_terminal_result pfbz_left_scale_terminal_result pfbz_left_length_terminal_result pfbz_right_code_terminal_result pfbz_right_scale_terminal_result pfbz_right_length_terminal_result. ((((forall fom_index_pfp_terminal_result_left_productleft. (exists fom_gap_pfp_terminal_result_left_productleft_index_bound. fom_gap_pfp_terminal_result_left_productleft_index_bound + S (fom_index_pfp_terminal_result_left_productleft) = U) -> exists fom_value_pfp_terminal_result_left_productleft. ((((exists fom_beta_height_pfp_terminal_result_left_productleft_entry. fom_beta_height_pfp_terminal_result_left_productleft_entry + S (fom_value_pfp_terminal_result_left_productleft) = S ((S (fom_index_pfp_terminal_result_left_productleft)) * uc)) /\ exists fom_beta_quotient_pfp_terminal_result_left_productleft_entry. ub = fom_beta_quotient_pfp_terminal_result_left_productleft_entry * S ((S (fom_index_pfp_terminal_result_left_productleft)) * uc) + (fom_value_pfp_terminal_result_left_productleft))) /\ (exists fom_gap_pfp_terminal_result_left_productleft_value_bound. fom_gap_pfp_terminal_result_left_productleft_value_bound + S (fom_value_pfp_terminal_result_left_productleft) = p))) /\ (((forall fom_index_pfp_terminal_result_left_productright. (exists fom_gap_pfp_terminal_result_left_productright_index_bound. fom_gap_pfp_terminal_result_left_productright_index_bound + S (fom_index_pfp_terminal_result_left_productright) = A) -> exists fom_value_pfp_terminal_result_left_productright. ((((exists fom_beta_height_pfp_terminal_result_left_productright_entry. fom_beta_height_pfp_terminal_result_left_productright_entry + S (fom_value_pfp_terminal_result_left_productright) = S ((S (fom_index_pfp_terminal_result_left_productright)) * ac)) /\ exists fom_beta_quotient_pfp_terminal_result_left_productright_entry. ab = fom_beta_quotient_pfp_terminal_result_left_productright_entry * S ((S (fom_index_pfp_terminal_result_left_productright)) * ac) + (fom_value_pfp_terminal_result_left_productright))) /\ (exists fom_gap_pfp_terminal_result_left_productright_value_bound. fom_gap_pfp_terminal_result_left_productright_value_bound + S (fom_value_pfp_terminal_result_left_productright) = p))) /\ (((((((U)=0 \/ (A)=0) /\ (((pfbz_left_length_terminal_result)=0)))) \/ (((~((U)=0)) /\ (((~((A)=0)) /\ (((U)+(A)=S (pfbz_left_length_terminal_result)))))))) /\ ((forall pfc_index_terminal_result_left_productcoefficients. (exists pfa_gap_terminal_result_left_productcoefficientsbound. pfa_gap_terminal_result_left_productcoefficientsbound + S (pfc_index_terminal_result_left_productcoefficients) = (pfbz_left_length_terminal_result)) -> exists pfc_value_terminal_result_left_productcoefficients. ((((exists ff_h_pfp_terminal_result_left_productcoefficientsentry. ff_h_pfp_terminal_result_left_productcoefficientsentry + S (pfc_value_terminal_result_left_productcoefficients) = S ((S (pfc_index_terminal_result_left_productcoefficients)) * pfbz_left_scale_terminal_result)) /\ exists ff_q_pfp_terminal_result_left_productcoefficientsentry. pfbz_left_code_terminal_result = ff_q_pfp_terminal_result_left_productcoefficientsentry * S ((S (pfc_index_terminal_result_left_productcoefficients)) * pfbz_left_scale_terminal_result) + (pfc_value_terminal_result_left_productcoefficients))) /\ ((exists pfc_terms_code_terminal_result_left_productcoefficientscoefficient pfc_terms_scale_terminal_result_left_productcoefficientscoefficient pfc_natural_sum_terminal_result_left_productcoefficientscoefficient. ((forall pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal. (exists pfa_gap_terminal_result_left_productcoefficientscoefficientdiagonalbound. pfa_gap_terminal_result_left_productcoefficientscoefficientdiagonalbound + S (pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal) = (S (pfc_index_terminal_result_left_productcoefficients))) -> exists pfc_value_terminal_result_left_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_terminal_result_left_productcoefficientscoefficientdiagonalentry. ff_h_pfp_terminal_result_left_productcoefficientscoefficientdiagonalentry + S (pfc_value_terminal_result_left_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_terminal_result_left_productcoefficientscoefficient)) /\ exists ff_q_pfp_terminal_result_left_productcoefficientscoefficientdiagonalentry. pfc_terms_code_terminal_result_left_productcoefficientscoefficient = ff_q_pfp_terminal_result_left_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_terminal_result_left_productcoefficientscoefficient) + (pfc_value_terminal_result_left_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_terminal_result_left_productcoefficientscoefficientdiagonalterm pfc_left_terminal_result_left_productcoefficientscoefficientdiagonalterm pfc_right_terminal_result_left_productcoefficientscoefficientdiagonalterm. (((pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal)+pfc_complement_terminal_result_left_productcoefficientscoefficientdiagonalterm=(pfc_index_terminal_result_left_productcoefficients)) /\ ((((((exists pfa_gap_terminal_result_left_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_terminal_result_left_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal) = (U)) /\ ((((exists ff_h_pfp_terminal_result_left_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_terminal_result_left_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_terminal_result_left_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal)) * uc)) /\ exists ff_q_pfp_terminal_result_left_productcoefficientscoefficientdiagonaltermleftentry. ub = ff_q_pfp_terminal_result_left_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal)) * uc) + (pfc_left_terminal_result_left_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_terminal_result_left_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_terminal_result_left_productcoefficientscoefficientdiagonaltermleftoutside+(U)=(pfc_index_terminal_result_left_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_terminal_result_left_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_terminal_result_left_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_terminal_result_left_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_terminal_result_left_productcoefficientscoefficientdiagonalterm) = (A)) /\ ((((exists ff_h_pfp_terminal_result_left_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_terminal_result_left_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_terminal_result_left_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_terminal_result_left_productcoefficientscoefficientdiagonalterm)) * ac)) /\ exists ff_q_pfp_terminal_result_left_productcoefficientscoefficientdiagonaltermrightentry. ab = ff_q_pfp_terminal_result_left_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_terminal_result_left_productcoefficientscoefficientdiagonalterm)) * ac) + (pfc_right_terminal_result_left_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_terminal_result_left_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_terminal_result_left_productcoefficientscoefficientdiagonaltermrightoutside+(A)=(pfc_complement_terminal_result_left_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_terminal_result_left_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_terminal_result_left_productcoefficientscoefficientdiagonal)=pfc_left_terminal_result_left_productcoefficientscoefficientdiagonalterm*pfc_right_terminal_result_left_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_terminal_result_left_productcoefficientscoefficientsum fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum. ((((exists fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_start. fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_start. fs_u_pfc_terminal_result_left_productcoefficientscoefficientsum = fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_terminal_result_left_productcoefficientscoefficient) = S ((S (S (pfc_index_terminal_result_left_productcoefficients))) * fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_terminal_result_left_productcoefficientscoefficientsum = fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_terminal_result_left_productcoefficients))) * fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum) + (pfc_natural_sum_terminal_result_left_productcoefficientscoefficient))) /\ forall fs_i_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps = S (pfc_index_terminal_result_left_productcoefficients)) -> exists fs_a_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps fs_r_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps fs_s_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_terminal_result_left_productcoefficientscoefficient)) /\ exists fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_terminal_result_left_productcoefficientscoefficient = fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_terminal_result_left_productcoefficientscoefficient) + (fs_a_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_terminal_result_left_productcoefficientscoefficientsum = fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum) + (fs_r_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_terminal_result_left_productcoefficientscoefficientsum = fs_q_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_result_left_productcoefficientscoefficientsum) + (fs_s_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps = fs_r_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps + fs_a_pfc_terminal_result_left_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_terminal_result_left_productcoefficientscoefficientresiduebound. pfa_gap_terminal_result_left_productcoefficientscoefficientresiduebound + S (pfc_value_terminal_result_left_productcoefficients) = (p)) /\ ((exists pfa_offset_left_terminal_result_left_productcoefficientscoefficientresiduecongruence pfa_offset_right_terminal_result_left_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_terminal_result_left_productcoefficientscoefficient) + (p) * pfa_offset_left_terminal_result_left_productcoefficientscoefficientresiduecongruence = (pfc_value_terminal_result_left_productcoefficients) + (p) * pfa_offset_right_terminal_result_left_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((((forall fom_index_pfp_terminal_result_right_productleft. (exists fom_gap_pfp_terminal_result_right_productleft_index_bound. fom_gap_pfp_terminal_result_right_productleft_index_bound + S (fom_index_pfp_terminal_result_right_productleft) = 0) -> exists fom_value_pfp_terminal_result_right_productleft. ((((exists fom_beta_height_pfp_terminal_result_right_productleft_entry. fom_beta_height_pfp_terminal_result_right_productleft_entry + S (fom_value_pfp_terminal_result_right_productleft) = S ((S (fom_index_pfp_terminal_result_right_productleft)) * 0)) /\ exists fom_beta_quotient_pfp_terminal_result_right_productleft_entry. 0 = fom_beta_quotient_pfp_terminal_result_right_productleft_entry * S ((S (fom_index_pfp_terminal_result_right_productleft)) * 0) + (fom_value_pfp_terminal_result_right_productleft))) /\ (exists fom_gap_pfp_terminal_result_right_productleft_value_bound. fom_gap_pfp_terminal_result_right_productleft_value_bound + S (fom_value_pfp_terminal_result_right_productleft) = p))) /\ (((forall fom_index_pfp_terminal_result_right_productright. (exists fom_gap_pfp_terminal_result_right_productright_index_bound. fom_gap_pfp_terminal_result_right_productright_index_bound + S (fom_index_pfp_terminal_result_right_productright) = B) -> exists fom_value_pfp_terminal_result_right_productright. ((((exists fom_beta_height_pfp_terminal_result_right_productright_entry. fom_beta_height_pfp_terminal_result_right_productright_entry + S (fom_value_pfp_terminal_result_right_productright) = S ((S (fom_index_pfp_terminal_result_right_productright)) * bc)) /\ exists fom_beta_quotient_pfp_terminal_result_right_productright_entry. bb = fom_beta_quotient_pfp_terminal_result_right_productright_entry * S ((S (fom_index_pfp_terminal_result_right_productright)) * bc) + (fom_value_pfp_terminal_result_right_productright))) /\ (exists fom_gap_pfp_terminal_result_right_productright_value_bound. fom_gap_pfp_terminal_result_right_productright_value_bound + S (fom_value_pfp_terminal_result_right_productright) = p))) /\ (((((((0)=0 \/ (B)=0) /\ (((pfbz_right_length_terminal_result)=0)))) \/ (((~((0)=0)) /\ (((~((B)=0)) /\ (((0)+(B)=S (pfbz_right_length_terminal_result)))))))) /\ ((forall pfc_index_terminal_result_right_productcoefficients. (exists pfa_gap_terminal_result_right_productcoefficientsbound. pfa_gap_terminal_result_right_productcoefficientsbound + S (pfc_index_terminal_result_right_productcoefficients) = (pfbz_right_length_terminal_result)) -> exists pfc_value_terminal_result_right_productcoefficients. ((((exists ff_h_pfp_terminal_result_right_productcoefficientsentry. ff_h_pfp_terminal_result_right_productcoefficientsentry + S (pfc_value_terminal_result_right_productcoefficients) = S ((S (pfc_index_terminal_result_right_productcoefficients)) * pfbz_right_scale_terminal_result)) /\ exists ff_q_pfp_terminal_result_right_productcoefficientsentry. pfbz_right_code_terminal_result = ff_q_pfp_terminal_result_right_productcoefficientsentry * S ((S (pfc_index_terminal_result_right_productcoefficients)) * pfbz_right_scale_terminal_result) + (pfc_value_terminal_result_right_productcoefficients))) /\ ((exists pfc_terms_code_terminal_result_right_productcoefficientscoefficient pfc_terms_scale_terminal_result_right_productcoefficientscoefficient pfc_natural_sum_terminal_result_right_productcoefficientscoefficient. ((forall pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal. (exists pfa_gap_terminal_result_right_productcoefficientscoefficientdiagonalbound. pfa_gap_terminal_result_right_productcoefficientscoefficientdiagonalbound + S (pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal) = (S (pfc_index_terminal_result_right_productcoefficients))) -> exists pfc_value_terminal_result_right_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_terminal_result_right_productcoefficientscoefficientdiagonalentry. ff_h_pfp_terminal_result_right_productcoefficientscoefficientdiagonalentry + S (pfc_value_terminal_result_right_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_terminal_result_right_productcoefficientscoefficient)) /\ exists ff_q_pfp_terminal_result_right_productcoefficientscoefficientdiagonalentry. pfc_terms_code_terminal_result_right_productcoefficientscoefficient = ff_q_pfp_terminal_result_right_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_terminal_result_right_productcoefficientscoefficient) + (pfc_value_terminal_result_right_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_terminal_result_right_productcoefficientscoefficientdiagonalterm pfc_left_terminal_result_right_productcoefficientscoefficientdiagonalterm pfc_right_terminal_result_right_productcoefficientscoefficientdiagonalterm. (((pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal)+pfc_complement_terminal_result_right_productcoefficientscoefficientdiagonalterm=(pfc_index_terminal_result_right_productcoefficients)) /\ ((((((exists pfa_gap_terminal_result_right_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_terminal_result_right_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal) = (0)) /\ ((((exists ff_h_pfp_terminal_result_right_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_terminal_result_right_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_terminal_result_right_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal)) * 0)) /\ exists ff_q_pfp_terminal_result_right_productcoefficientscoefficientdiagonaltermleftentry. 0 = ff_q_pfp_terminal_result_right_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal)) * 0) + (pfc_left_terminal_result_right_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_terminal_result_right_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_terminal_result_right_productcoefficientscoefficientdiagonaltermleftoutside+(0)=(pfc_index_terminal_result_right_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_terminal_result_right_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_terminal_result_right_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_terminal_result_right_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_terminal_result_right_productcoefficientscoefficientdiagonalterm) = (B)) /\ ((((exists ff_h_pfp_terminal_result_right_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_terminal_result_right_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_terminal_result_right_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_terminal_result_right_productcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_terminal_result_right_productcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_terminal_result_right_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_terminal_result_right_productcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_terminal_result_right_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_terminal_result_right_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_terminal_result_right_productcoefficientscoefficientdiagonaltermrightoutside+(B)=(pfc_complement_terminal_result_right_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_terminal_result_right_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_terminal_result_right_productcoefficientscoefficientdiagonal)=pfc_left_terminal_result_right_productcoefficientscoefficientdiagonalterm*pfc_right_terminal_result_right_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_terminal_result_right_productcoefficientscoefficientsum fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum. ((((exists fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_start. fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_start. fs_u_pfc_terminal_result_right_productcoefficientscoefficientsum = fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_terminal_result_right_productcoefficientscoefficient) = S ((S (S (pfc_index_terminal_result_right_productcoefficients))) * fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_terminal_result_right_productcoefficientscoefficientsum = fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_terminal_result_right_productcoefficients))) * fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum) + (pfc_natural_sum_terminal_result_right_productcoefficientscoefficient))) /\ forall fs_i_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps = S (pfc_index_terminal_result_right_productcoefficients)) -> exists fs_a_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps fs_r_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps fs_s_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_terminal_result_right_productcoefficientscoefficient)) /\ exists fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_terminal_result_right_productcoefficientscoefficient = fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_terminal_result_right_productcoefficientscoefficient) + (fs_a_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_terminal_result_right_productcoefficientscoefficientsum = fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum) + (fs_r_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_terminal_result_right_productcoefficientscoefficientsum = fs_q_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_terminal_result_right_productcoefficientscoefficientsum) + (fs_s_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps = fs_r_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps + fs_a_pfc_terminal_result_right_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_terminal_result_right_productcoefficientscoefficientresiduebound. pfa_gap_terminal_result_right_productcoefficientscoefficientresiduebound + S (pfc_value_terminal_result_right_productcoefficients) = (p)) /\ ((exists pfa_offset_left_terminal_result_right_productcoefficientscoefficientresiduecongruence pfa_offset_right_terminal_result_right_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_terminal_result_right_productcoefficientscoefficient) + (p) * pfa_offset_left_terminal_result_right_productcoefficientscoefficientresiduecongruence = (pfc_value_terminal_result_right_productcoefficients) + (p) * pfa_offset_right_terminal_result_right_productcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((((forall fom_index_pfp_terminal_result_sum_left_bounded. (exists fom_gap_pfp_terminal_result_sum_left_bounded_index_bound. fom_gap_pfp_terminal_result_sum_left_bounded_index_bound + S (fom_index_pfp_terminal_result_sum_left_bounded) = pfbz_left_length_terminal_result) -> exists fom_value_pfp_terminal_result_sum_left_bounded. ((((exists fom_beta_height_pfp_terminal_result_sum_left_bounded_entry. fom_beta_height_pfp_terminal_result_sum_left_bounded_entry + S (fom_value_pfp_terminal_result_sum_left_bounded) = S ((S (fom_index_pfp_terminal_result_sum_left_bounded)) * pfbz_left_scale_terminal_result)) /\ exists fom_beta_quotient_pfp_terminal_result_sum_left_bounded_entry. pfbz_left_code_terminal_result = fom_beta_quotient_pfp_terminal_result_sum_left_bounded_entry * S ((S (fom_index_pfp_terminal_result_sum_left_bounded)) * pfbz_left_scale_terminal_result) + (fom_value_pfp_terminal_result_sum_left_bounded))) /\ (exists fom_gap_pfp_terminal_result_sum_left_bounded_value_bound. fom_gap_pfp_terminal_result_sum_left_bounded_value_bound + S (fom_value_pfp_terminal_result_sum_left_bounded) = p))) /\ (((forall fom_index_pfp_terminal_result_sum_right_bounded. (exists fom_gap_pfp_terminal_result_sum_right_bounded_index_bound. fom_gap_pfp_terminal_result_sum_right_bounded_index_bound + S (fom_index_pfp_terminal_result_sum_right_bounded) = pfbz_right_length_terminal_result) -> exists fom_value_pfp_terminal_result_sum_right_bounded. ((((exists fom_beta_height_pfp_terminal_result_sum_right_bounded_entry. fom_beta_height_pfp_terminal_result_sum_right_bounded_entry + S (fom_value_pfp_terminal_result_sum_right_bounded) = S ((S (fom_index_pfp_terminal_result_sum_right_bounded)) * pfbz_right_scale_terminal_result)) /\ exists fom_beta_quotient_pfp_terminal_result_sum_right_bounded_entry. pfbz_right_code_terminal_result = fom_beta_quotient_pfp_terminal_result_sum_right_bounded_entry * S ((S (fom_index_pfp_terminal_result_sum_right_bounded)) * pfbz_right_scale_terminal_result) + (fom_value_pfp_terminal_result_sum_right_bounded))) /\ (exists fom_gap_pfp_terminal_result_sum_right_bounded_value_bound. fom_gap_pfp_terminal_result_sum_right_bounded_value_bound + S (fom_value_pfp_terminal_result_sum_right_bounded) = p))) /\ (((forall fom_index_pfp_terminal_result_sum_result_bounded. (exists fom_gap_pfp_terminal_result_sum_result_bounded_index_bound. fom_gap_pfp_terminal_result_sum_result_bounded_index_bound + S (fom_index_pfp_terminal_result_sum_result_bounded) = G) -> exists fom_value_pfp_terminal_result_sum_result_bounded. ((((exists fom_beta_height_pfp_terminal_result_sum_result_bounded_entry. fom_beta_height_pfp_terminal_result_sum_result_bounded_entry + S (fom_value_pfp_terminal_result_sum_result_bounded) = S ((S (fom_index_pfp_terminal_result_sum_result_bounded)) * gc)) /\ exists fom_beta_quotient_pfp_terminal_result_sum_result_bounded_entry. gb = fom_beta_quotient_pfp_terminal_result_sum_result_bounded_entry * S ((S (fom_index_pfp_terminal_result_sum_result_bounded)) * gc) + (fom_value_pfp_terminal_result_sum_result_bounded))) /\ (exists fom_gap_pfp_terminal_result_sum_result_bounded_value_bound. fom_gap_pfp_terminal_result_sum_result_bounded_value_bound + S (fom_value_pfp_terminal_result_sum_result_bounded) = p))) /\ ((exists pfaa_left_b_terminal_result_sum pfaa_left_c_terminal_result_sum pfaa_right_b_terminal_result_sum pfaa_right_c_terminal_result_sum pfaa_sum_b_terminal_result_sum pfaa_sum_c_terminal_result_sum pfaa_length_terminal_result_sum. ((((forall pfrep_power_terminal_result_sum_witness_common_left pfrep_left_terminal_result_sum_witness_common_left pfrep_right_terminal_result_sum_witness_common_left. ((exists pfrep_position_terminal_result_sum_witness_common_leftfirst. ((pfrep_position_terminal_result_sum_witness_common_leftfirst+S (pfrep_power_terminal_result_sum_witness_common_left)=(pfbz_left_length_terminal_result)) /\ ((((exists ff_h_pfp_terminal_result_sum_witness_common_leftfirstentry. ff_h_pfp_terminal_result_sum_witness_common_leftfirstentry + S (pfrep_left_terminal_result_sum_witness_common_left) = S ((S (pfrep_position_terminal_result_sum_witness_common_leftfirst)) * pfbz_left_scale_terminal_result)) /\ exists ff_q_pfp_terminal_result_sum_witness_common_leftfirstentry. pfbz_left_code_terminal_result = ff_q_pfp_terminal_result_sum_witness_common_leftfirstentry * S ((S (pfrep_position_terminal_result_sum_witness_common_leftfirst)) * pfbz_left_scale_terminal_result) + (pfrep_left_terminal_result_sum_witness_common_left)))))) \/ (((exists pfrep_gap_terminal_result_sum_witness_common_leftfirstoutside. pfrep_gap_terminal_result_sum_witness_common_leftfirstoutside+(pfbz_left_length_terminal_result)=(pfrep_power_terminal_result_sum_witness_common_left)) /\ (((pfrep_left_terminal_result_sum_witness_common_left)=0))))) -> ((exists pfrep_position_terminal_result_sum_witness_common_leftsecond. ((pfrep_position_terminal_result_sum_witness_common_leftsecond+S (pfrep_power_terminal_result_sum_witness_common_left)=(pfaa_length_terminal_result_sum)) /\ ((((exists ff_h_pfp_terminal_result_sum_witness_common_leftsecondentry. ff_h_pfp_terminal_result_sum_witness_common_leftsecondentry + S (pfrep_right_terminal_result_sum_witness_common_left) = S ((S (pfrep_position_terminal_result_sum_witness_common_leftsecond)) * pfaa_left_c_terminal_result_sum)) /\ exists ff_q_pfp_terminal_result_sum_witness_common_leftsecondentry. pfaa_left_b_terminal_result_sum = ff_q_pfp_terminal_result_sum_witness_common_leftsecondentry * S ((S (pfrep_position_terminal_result_sum_witness_common_leftsecond)) * pfaa_left_c_terminal_result_sum) + (pfrep_right_terminal_result_sum_witness_common_left)))))) \/ (((exists pfrep_gap_terminal_result_sum_witness_common_leftsecondoutside. pfrep_gap_terminal_result_sum_witness_common_leftsecondoutside+(pfaa_length_terminal_result_sum)=(pfrep_power_terminal_result_sum_witness_common_left)) /\ (((pfrep_right_terminal_result_sum_witness_common_left)=0))))) -> pfrep_left_terminal_result_sum_witness_common_left=pfrep_right_terminal_result_sum_witness_common_left) /\ ((forall pfrep_power_terminal_result_sum_witness_common_right pfrep_left_terminal_result_sum_witness_common_right pfrep_right_terminal_result_sum_witness_common_right. ((exists pfrep_position_terminal_result_sum_witness_common_rightfirst. ((pfrep_position_terminal_result_sum_witness_common_rightfirst+S (pfrep_power_terminal_result_sum_witness_common_right)=(pfbz_right_length_terminal_result)) /\ ((((exists ff_h_pfp_terminal_result_sum_witness_common_rightfirstentry. ff_h_pfp_terminal_result_sum_witness_common_rightfirstentry + S (pfrep_left_terminal_result_sum_witness_common_right) = S ((S (pfrep_position_terminal_result_sum_witness_common_rightfirst)) * pfbz_right_scale_terminal_result)) /\ exists ff_q_pfp_terminal_result_sum_witness_common_rightfirstentry. pfbz_right_code_terminal_result = ff_q_pfp_terminal_result_sum_witness_common_rightfirstentry * S ((S (pfrep_position_terminal_result_sum_witness_common_rightfirst)) * pfbz_right_scale_terminal_result) + (pfrep_left_terminal_result_sum_witness_common_right)))))) \/ (((exists pfrep_gap_terminal_result_sum_witness_common_rightfirstoutside. pfrep_gap_terminal_result_sum_witness_common_rightfirstoutside+(pfbz_right_length_terminal_result)=(pfrep_power_terminal_result_sum_witness_common_right)) /\ (((pfrep_left_terminal_result_sum_witness_common_right)=0))))) -> ((exists pfrep_position_terminal_result_sum_witness_common_rightsecond. ((pfrep_position_terminal_result_sum_witness_common_rightsecond+S (pfrep_power_terminal_result_sum_witness_common_right)=(pfaa_length_terminal_result_sum)) /\ ((((exists ff_h_pfp_terminal_result_sum_witness_common_rightsecondentry. ff_h_pfp_terminal_result_sum_witness_common_rightsecondentry + S (pfrep_right_terminal_result_sum_witness_common_right) = S ((S (pfrep_position_terminal_result_sum_witness_common_rightsecond)) * pfaa_right_c_terminal_result_sum)) /\ exists ff_q_pfp_terminal_result_sum_witness_common_rightsecondentry. pfaa_right_b_terminal_result_sum = ff_q_pfp_terminal_result_sum_witness_common_rightsecondentry * S ((S (pfrep_position_terminal_result_sum_witness_common_rightsecond)) * pfaa_right_c_terminal_result_sum) + (pfrep_right_terminal_result_sum_witness_common_right)))))) \/ (((exists pfrep_gap_terminal_result_sum_witness_common_rightsecondoutside. pfrep_gap_terminal_result_sum_witness_common_rightsecondoutside+(pfaa_length_terminal_result_sum)=(pfrep_power_terminal_result_sum_witness_common_right)) /\ (((pfrep_right_terminal_result_sum_witness_common_right)=0))))) -> pfrep_left_terminal_result_sum_witness_common_right=pfrep_right_terminal_result_sum_witness_common_right)))) /\ (((forall pfp_index_terminal_result_sum_witness_operation. (exists pfa_gap_terminal_result_sum_witness_operationindex. pfa_gap_terminal_result_sum_witness_operationindex + S (pfp_index_terminal_result_sum_witness_operation) = (pfaa_length_terminal_result_sum)) -> exists pfp_left_terminal_result_sum_witness_operation pfp_right_terminal_result_sum_witness_operation pfp_value_terminal_result_sum_witness_operation. ((((exists ff_h_pfp_terminal_result_sum_witness_operationleft. ff_h_pfp_terminal_result_sum_witness_operationleft + S (pfp_left_terminal_result_sum_witness_operation) = S ((S (pfp_index_terminal_result_sum_witness_operation)) * pfaa_left_c_terminal_result_sum)) /\ exists ff_q_pfp_terminal_result_sum_witness_operationleft. pfaa_left_b_terminal_result_sum = ff_q_pfp_terminal_result_sum_witness_operationleft * S ((S (pfp_index_terminal_result_sum_witness_operation)) * pfaa_left_c_terminal_result_sum) + (pfp_left_terminal_result_sum_witness_operation))) /\ (((((exists ff_h_pfp_terminal_result_sum_witness_operationright. ff_h_pfp_terminal_result_sum_witness_operationright + S (pfp_right_terminal_result_sum_witness_operation) = S ((S (pfp_index_terminal_result_sum_witness_operation)) * pfaa_right_c_terminal_result_sum)) /\ exists ff_q_pfp_terminal_result_sum_witness_operationright. pfaa_right_b_terminal_result_sum = ff_q_pfp_terminal_result_sum_witness_operationright * S ((S (pfp_index_terminal_result_sum_witness_operation)) * pfaa_right_c_terminal_result_sum) + (pfp_right_terminal_result_sum_witness_operation))) /\ (((((exists ff_h_pfp_terminal_result_sum_witness_operationtarget. ff_h_pfp_terminal_result_sum_witness_operationtarget + S (pfp_value_terminal_result_sum_witness_operation) = S ((S (pfp_index_terminal_result_sum_witness_operation)) * pfaa_sum_c_terminal_result_sum)) /\ exists ff_q_pfp_terminal_result_sum_witness_operationtarget. pfaa_sum_b_terminal_result_sum = ff_q_pfp_terminal_result_sum_witness_operationtarget * S ((S (pfp_index_terminal_result_sum_witness_operation)) * pfaa_sum_c_terminal_result_sum) + (pfp_value_terminal_result_sum_witness_operation))) /\ ((((exists pfa_gap_terminal_result_sum_witness_operationoperationleft. pfa_gap_terminal_result_sum_witness_operationoperationleft + S (pfp_left_terminal_result_sum_witness_operation) = (p)) /\ (((exists pfa_gap_terminal_result_sum_witness_operationoperationright. pfa_gap_terminal_result_sum_witness_operationoperationright + S (pfp_right_terminal_result_sum_witness_operation) = (p)) /\ ((((exists pfa_gap_terminal_result_sum_witness_operationoperationresultbound. pfa_gap_terminal_result_sum_witness_operationoperationresultbound + S (pfp_value_terminal_result_sum_witness_operation) = (p)) /\ ((exists pfa_offset_left_terminal_result_sum_witness_operationoperationresultcongruence pfa_offset_right_terminal_result_sum_witness_operationoperationresultcongruence. ((pfp_left_terminal_result_sum_witness_operation) + (pfp_right_terminal_result_sum_witness_operation)) + (p) * pfa_offset_left_terminal_result_sum_witness_operationoperationresultcongruence = (pfp_value_terminal_result_sum_witness_operation) + (p) * pfa_offset_right_terminal_result_sum_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_terminal_result_sum_witness_output pfrep_left_terminal_result_sum_witness_output pfrep_right_terminal_result_sum_witness_output. ((exists pfrep_position_terminal_result_sum_witness_outputfirst. ((pfrep_position_terminal_result_sum_witness_outputfirst+S (pfrep_power_terminal_result_sum_witness_output)=(pfaa_length_terminal_result_sum)) /\ ((((exists ff_h_pfp_terminal_result_sum_witness_outputfirstentry. ff_h_pfp_terminal_result_sum_witness_outputfirstentry + S (pfrep_left_terminal_result_sum_witness_output) = S ((S (pfrep_position_terminal_result_sum_witness_outputfirst)) * pfaa_sum_c_terminal_result_sum)) /\ exists ff_q_pfp_terminal_result_sum_witness_outputfirstentry. pfaa_sum_b_terminal_result_sum = ff_q_pfp_terminal_result_sum_witness_outputfirstentry * S ((S (pfrep_position_terminal_result_sum_witness_outputfirst)) * pfaa_sum_c_terminal_result_sum) + (pfrep_left_terminal_result_sum_witness_output)))))) \/ (((exists pfrep_gap_terminal_result_sum_witness_outputfirstoutside. pfrep_gap_terminal_result_sum_witness_outputfirstoutside+(pfaa_length_terminal_result_sum)=(pfrep_power_terminal_result_sum_witness_output)) /\ (((pfrep_left_terminal_result_sum_witness_output)=0))))) -> ((exists pfrep_position_terminal_result_sum_witness_outputsecond. ((pfrep_position_terminal_result_sum_witness_outputsecond+S (pfrep_power_terminal_result_sum_witness_output)=(G)) /\ ((((exists ff_h_pfp_terminal_result_sum_witness_outputsecondentry. ff_h_pfp_terminal_result_sum_witness_outputsecondentry + S (pfrep_right_terminal_result_sum_witness_output) = S ((S (pfrep_position_terminal_result_sum_witness_outputsecond)) * gc)) /\ exists ff_q_pfp_terminal_result_sum_witness_outputsecondentry. gb = ff_q_pfp_terminal_result_sum_witness_outputsecondentry * S ((S (pfrep_position_terminal_result_sum_witness_outputsecond)) * gc) + (pfrep_right_terminal_result_sum_witness_output)))))) \/ (((exists pfrep_gap_terminal_result_sum_witness_outputsecondoutside. pfrep_gap_terminal_result_sum_witness_outputsecondoutside+(G)=(pfrep_power_terminal_result_sum_witness_output)) /\ (((pfrep_right_terminal_result_sum_witness_output)=0))))) -> pfrep_left_terminal_result_sum_witness_output=pfrep_right_terminal_result_sum_witness_output))))))))))))))))))

Complete tactic proof in conservative notation

All 109 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

Read the argument

Proof checkpoints

109 script commands · 19 reading checkpoints · 3 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro ab
  3. L3
    intro ac
  4. L4
    intro A
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro B
  8. L8
    intro gb
  9. L9
    intro gc
  10. L10
    intro G
02Fix variables and assumptionsL11–13

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

  1. L11
    intro hp
  2. L12
    intro hb
  3. L13
    intro hdivides
03Separate the logical casesL14–21

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

  1. L14
    cases hdivides
  2. L15
    cases hdivides_right
  3. L16
    cases hdivides_right_witness
  4. L17
    cases hdivides_right_witness_witness
  5. L18
    cases hdivides_right_witness_witness_witness
  6. L19
    cases hdivides_right_witness_witness_witness_witness
  7. L20
    cases hdivides_right_witness_witness_witness_witness_witness
  8. L21
    cases hdivides_right_witness_witness_witness_witness_witness_witness
04Establish hproduct_boundL22–31

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

  1. L22
    have hproduct_bound : BetaPrefixInto(x3,x4,x5,p)Definitions: BetaPrefixInto(x3,x4,x5,p)Original native command in the exact edition
  2. L23
    specialize prime_field_polynomial_convolution_bounded (p)
  3. L24
    specialize prime_field_polynomial_convolution_bounded (x)
  4. L25
    specialize prime_field_polynomial_convolution_bounded (x1)
  5. L26
    specialize prime_field_polynomial_convolution_bounded (x2)
  6. L27
    specialize prime_field_polynomial_convolution_bounded (ab)
  7. L28
    specialize prime_field_polynomial_convolution_bounded (ac)
  8. L29
    specialize prime_field_polynomial_convolution_bounded (A)
  9. L30
    specialize prime_field_polynomial_convolution_bounded (x3)
  10. L31
    specialize prime_field_polynomial_convolution_bounded (x4)
05Use earlier factsL32–34

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

  1. L32
    specialize prime_field_polynomial_convolution_bounded (x5)
  2. L33
    apply prime_field_polynomial_convolution_bounded
  3. L34
    exact hdivides_right_witness_witness_witness_witness_witness_witness_left
06Establish hempty_productL35–44

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

  1. L35
    have hempty_product : FpPolyProduct(p,0,0,0,bb,bc,B,0,0,0)Definitions: FpPolyProduct(p,0,0,0,bb,bc,B,0,0,0)Original native command in the exact edition
  2. L36
    specialize prime_field_polynomial_convolution_empty (p)
  3. L37
    specialize prime_field_polynomial_convolution_empty (0)
  4. L38
    specialize prime_field_polynomial_convolution_empty (0)
  5. L39
    specialize prime_field_polynomial_convolution_empty (0)
  6. L40
    specialize prime_field_polynomial_convolution_empty (bb)
  7. L41
    specialize prime_field_polynomial_convolution_empty (bc)
  8. L42
    specialize prime_field_polynomial_convolution_empty (B)
  9. L43
    specialize prime_field_polynomial_convolution_empty (0)
  10. L44
    specialize prime_field_polynomial_convolution_empty (0)
07Use earlier factsL45–50

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

  1. L45
    apply prime_field_polynomial_convolution_empty
  2. L46
    specialize matrix_rank_bounded_prefix_empty (0)
  3. L47
    specialize matrix_rank_bounded_prefix_empty (0)
  4. L48
    specialize matrix_rank_bounded_prefix_empty (p)
  5. L49
    apply matrix_rank_bounded_prefix_empty
  6. L50
    exact hb
08Separate the logical casesL51–51

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

  1. L51
    left
09Calculate and transport equalitiesL52–52

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

  1. L52
    refl
10Establish hsumL53–62

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

  1. L53
    have hsum : FpPolynomialAlignedAdd(p,x3,x4,x5,0,0,0,gb,gc,G)Definitions: FpPolynomialAlignedAdd(p,x3,x4,x5,0,0,0,gb,gc,G)Original native command in the exact edition
  2. L54
    specialize prime_field_polynomial_aligned_add_transport (p)
  3. L55
    specialize prime_field_polynomial_aligned_add_transport (x3)
  4. L56
    specialize prime_field_polynomial_aligned_add_transport (x4)
  5. L57
    specialize prime_field_polynomial_aligned_add_transport (x5)
  6. L58
    specialize prime_field_polynomial_aligned_add_transport (0)
  7. L59
    specialize prime_field_polynomial_aligned_add_transport (0)
  8. L60
    specialize prime_field_polynomial_aligned_add_transport (0)
  9. L61
    specialize prime_field_polynomial_aligned_add_transport (x3)
  10. L62
    specialize prime_field_polynomial_aligned_add_transport (x4)
11Use earlier factsL63–72

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

  1. L63
    specialize prime_field_polynomial_aligned_add_transport (x5)
  2. L64
    specialize prime_field_polynomial_aligned_add_transport (x3)
  3. L65
    specialize prime_field_polynomial_aligned_add_transport (x4)
  4. L66
    specialize prime_field_polynomial_aligned_add_transport (x5)
  5. L67
    specialize prime_field_polynomial_aligned_add_transport (0)
  6. L68
    specialize prime_field_polynomial_aligned_add_transport (0)
  7. L69
    specialize prime_field_polynomial_aligned_add_transport (0)
  8. L70
    specialize prime_field_polynomial_aligned_add_transport (gb)
  9. L71
    specialize prime_field_polynomial_aligned_add_transport (gc)
  10. L72
    specialize prime_field_polynomial_aligned_add_transport (G)
12Use earlier factsL73–82

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

  1. L73
    apply prime_field_polynomial_aligned_add_transport
  2. L74
    exact hproduct_bound
  3. L75
    specialize matrix_rank_bounded_prefix_empty (0)
  4. L76
    specialize matrix_rank_bounded_prefix_empty (0)
  5. L77
    specialize matrix_rank_bounded_prefix_empty (p)
  6. L78
    apply matrix_rank_bounded_prefix_empty
  7. L79
    exact hdivides_left
  8. L80
    specialize prime_field_polynomial_power_coefficient_functional (x3)
  9. L81
    specialize prime_field_polynomial_power_coefficient_functional (x4)
  10. L82
    specialize prime_field_polynomial_power_coefficient_functional (x5)
13Use earlier factsL83–92

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

  1. L83
    apply prime_field_polynomial_power_coefficient_functional
  2. L84
    specialize prime_field_polynomial_power_coefficient_functional (0)
  3. L85
    specialize prime_field_polynomial_power_coefficient_functional (0)
  4. L86
    specialize prime_field_polynomial_power_coefficient_functional (0)
  5. L87
    apply prime_field_polynomial_power_coefficient_functional
  6. L88
    exact hdivides_right_witness_witness_witness_witness_witness_witness_right
  7. L89
    specialize prime_field_polynomial_aligned_add_empty_right (p)
  8. L90
    specialize prime_field_polynomial_aligned_add_empty_right (x3)
  9. L91
    specialize prime_field_polynomial_aligned_add_empty_right (x4)
  10. L92
    specialize prime_field_polynomial_aligned_add_empty_right (x5)
14Use earlier factsL93–95

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

  1. L93
    apply prime_field_polynomial_aligned_add_empty_right
  2. L94
    exact hp
  3. L95
    exact hproduct_bound
15Construct an explicit witnessL96–104

Supply the displayed value, then prove that it has the required property.

  1. L96
    exists x
  2. L97
    exists x1
  3. L98
    exists x2
  4. L99
    exists x3
  5. L100
    exists x4
  6. L101
    exists x5
  7. L102
    exists 0
  8. L103
    exists 0
  9. L104
    exists 0
16Separate the logical casesL105–105

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

  1. L105
    split
17Use earlier factsL106–106

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

  1. L106
    exact hdivides_right_witness_witness_witness_witness_witness_witness_left
18Separate the logical casesL107–107

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

  1. L107
    split
19Use earlier factsL108–109

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

  1. L108
    exact hempty_product
  2. L109
    exact hsum

Library-wide reading audit

Original defined command ledger · 109 lines
  1. 0001intro p
  2. 0002intro ab
  3. 0003intro ac
  4. 0004intro A
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro B
  8. 0008intro gb
  9. 0009intro gc
  10. 0010intro G
  11. 0011intro hp
  12. 0012intro hb
  13. 0013intro hdivides
  14. 0014cases hdivides
  15. 0015cases hdivides_right
  16. 0016cases hdivides_right_witness
  17. 0017cases hdivides_right_witness_witness
  18. 0018cases hdivides_right_witness_witness_witness
  19. 0019cases hdivides_right_witness_witness_witness_witness
  20. 0020cases hdivides_right_witness_witness_witness_witness_witness
  21. 0021cases hdivides_right_witness_witness_witness_witness_witness_witness
  22. 0022have hproduct_bound : BetaPrefixInto(x3,x4,x5,p)
  23. 0023specialize prime_field_polynomial_convolution_bounded (p)
  24. 0024specialize prime_field_polynomial_convolution_bounded (x)
  25. 0025specialize prime_field_polynomial_convolution_bounded (x1)
  26. 0026specialize prime_field_polynomial_convolution_bounded (x2)
  27. 0027specialize prime_field_polynomial_convolution_bounded (ab)
  28. 0028specialize prime_field_polynomial_convolution_bounded (ac)
  29. 0029specialize prime_field_polynomial_convolution_bounded (A)
  30. 0030specialize prime_field_polynomial_convolution_bounded (x3)
  31. 0031specialize prime_field_polynomial_convolution_bounded (x4)
  32. 0032specialize prime_field_polynomial_convolution_bounded (x5)
  33. 0033apply prime_field_polynomial_convolution_bounded
  34. 0034exact hdivides_right_witness_witness_witness_witness_witness_witness_left
  35. 0035have hempty_product : FpPolyProduct(p,0,0,0,bb,bc,B,0,0,0)
  36. 0036specialize prime_field_polynomial_convolution_empty (p)
  37. 0037specialize prime_field_polynomial_convolution_empty (0)
  38. 0038specialize prime_field_polynomial_convolution_empty (0)
  39. 0039specialize prime_field_polynomial_convolution_empty (0)
  40. 0040specialize prime_field_polynomial_convolution_empty (bb)
  41. 0041specialize prime_field_polynomial_convolution_empty (bc)
  42. 0042specialize prime_field_polynomial_convolution_empty (B)
  43. 0043specialize prime_field_polynomial_convolution_empty (0)
  44. 0044specialize prime_field_polynomial_convolution_empty (0)
  45. 0045apply prime_field_polynomial_convolution_empty
  46. 0046specialize matrix_rank_bounded_prefix_empty (0)
  47. 0047specialize matrix_rank_bounded_prefix_empty (0)
  48. 0048specialize matrix_rank_bounded_prefix_empty (p)
  49. 0049apply matrix_rank_bounded_prefix_empty
  50. 0050exact hb
  51. 0051left
  52. 0052refl
  53. 0053have hsum : FpPolynomialAlignedAdd(p,x3,x4,x5,0,0,0,gb,gc,G)
  54. 0054specialize prime_field_polynomial_aligned_add_transport (p)
  55. 0055specialize prime_field_polynomial_aligned_add_transport (x3)
  56. 0056specialize prime_field_polynomial_aligned_add_transport (x4)
  57. 0057specialize prime_field_polynomial_aligned_add_transport (x5)
  58. 0058specialize prime_field_polynomial_aligned_add_transport (0)
  59. 0059specialize prime_field_polynomial_aligned_add_transport (0)
  60. 0060specialize prime_field_polynomial_aligned_add_transport (0)
  61. 0061specialize prime_field_polynomial_aligned_add_transport (x3)
  62. 0062specialize prime_field_polynomial_aligned_add_transport (x4)
  63. 0063specialize prime_field_polynomial_aligned_add_transport (x5)
  64. 0064specialize prime_field_polynomial_aligned_add_transport (x3)
  65. 0065specialize prime_field_polynomial_aligned_add_transport (x4)
  66. 0066specialize prime_field_polynomial_aligned_add_transport (x5)
  67. 0067specialize prime_field_polynomial_aligned_add_transport (0)
  68. 0068specialize prime_field_polynomial_aligned_add_transport (0)
  69. 0069specialize prime_field_polynomial_aligned_add_transport (0)
  70. 0070specialize prime_field_polynomial_aligned_add_transport (gb)
  71. 0071specialize prime_field_polynomial_aligned_add_transport (gc)
  72. 0072specialize prime_field_polynomial_aligned_add_transport (G)
  73. 0073apply prime_field_polynomial_aligned_add_transport
  74. 0074exact hproduct_bound
  75. 0075specialize matrix_rank_bounded_prefix_empty (0)
  76. 0076specialize matrix_rank_bounded_prefix_empty (0)
  77. 0077specialize matrix_rank_bounded_prefix_empty (p)
  78. 0078apply matrix_rank_bounded_prefix_empty
  79. 0079exact hdivides_left
  80. 0080specialize prime_field_polynomial_power_coefficient_functional (x3)
  81. 0081specialize prime_field_polynomial_power_coefficient_functional (x4)
  82. 0082specialize prime_field_polynomial_power_coefficient_functional (x5)
  83. 0083apply prime_field_polynomial_power_coefficient_functional
  84. 0084specialize prime_field_polynomial_power_coefficient_functional (0)
  85. 0085specialize prime_field_polynomial_power_coefficient_functional (0)
  86. 0086specialize prime_field_polynomial_power_coefficient_functional (0)
  87. 0087apply prime_field_polynomial_power_coefficient_functional
  88. 0088exact hdivides_right_witness_witness_witness_witness_witness_witness_right
  89. 0089specialize prime_field_polynomial_aligned_add_empty_right (p)
  90. 0090specialize prime_field_polynomial_aligned_add_empty_right (x3)
  91. 0091specialize prime_field_polynomial_aligned_add_empty_right (x4)
  92. 0092specialize prime_field_polynomial_aligned_add_empty_right (x5)
  93. 0093apply prime_field_polynomial_aligned_add_empty_right
  94. 0094exact hp
  95. 0095exact hproduct_bound
  96. 0096exists x
  97. 0097exists x1
  98. 0098exists x2
  99. 0099exists x3
  100. 0100exists x4
  101. 0101exists x5
  102. 0102exists 0
  103. 0103exists 0
  104. 0104exists 0
  105. 0105split
  106. 0106exact hdivides_right_witness_witness_witness_witness_witness_witness_left
  107. 0107split
  108. 0108exact hempty_product
  109. 0109exact hsum