PX0031

prime_field_polynomial_quotient_prefix_remainder_zero

Subtracting the constructed product gives an actually all-zero leading prefix of the residual table.

Alpha v34 checked-use · first admitted v33 · 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.

Coefficients are highest-degree-first. The divisor has a nonzero decoded head; primality supplies its actual inverse. Empty quotients and remainders are included. Functionality compares the constructed execution lengths and decoded coefficients, never arbitrary beta codes. Formal polynomial equivalence compares every coefficient, not evaluations on a finite field. The formal identity and remainder-degree bound are proved separately, not assumed by the execution graph. Arbitrary quotient/remainder-pair uniqueness from a formal identity, multiplication associativity, gcd/Bezout, irreducible-polynomial existence, and the full G091 prime-power-field goal remain open. The seven displayed new names are conservative first-order notation, not new kernel primitives.

Exact theorem in conservative defined notation

∀ p. ∀ k. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ d. ∀ qb. ∀ qc. ∀ N. ∀ b. ∀ pb. ∀ pc. ∀ L. ∀ ub. ∀ uc. Prime(p)BetaAt(bb,bc,0,b)FpInv(p,b,k)FpPolynomialQuotientPrefix(p,k,ab,ac,bb,bc,S d,qb,qc,N)Le(N,L)FpConvolutionPrefix(p,qb,qc,N,bb,bc,S d,pb,pc,L)FpCoefficientSubtraction(p,ab,ac,pb,pc,ub,uc,L)Repeat(ub,uc,0,N)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall p k ab ac bb bc d qb qc N b pb pc L ub uc. (~((p) = 1) /\ forall pfa_factor_left_division_zero_prime pfa_factor_right_division_zero_prime. (p) = pfa_factor_left_division_zero_prime * pfa_factor_right_division_zero_prime -> pfa_factor_left_division_zero_prime = 1 \/ pfa_factor_right_division_zero_prime = 1) -> (((exists ff_h_pfp_division_zero_head. ff_h_pfp_division_zero_head + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_zero_head. bb = ff_q_pfp_division_zero_head * S ((S (0)) * bc) + (b))) -> (((~((b) = 0)) /\ ((((exists pfa_gap_division_zero_inversemultiplicationleft. pfa_gap_division_zero_inversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_division_zero_inversemultiplicationright. pfa_gap_division_zero_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_zero_inversemultiplicationresultbound. pfa_gap_division_zero_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_zero_inversemultiplicationresultcongruence pfa_offset_right_division_zero_inversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_division_zero_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_zero_inversemultiplicationresultcongruence)))))))))))) -> (forall pfd_index_division_zero_execution. (exists pfa_gap_division_zero_executionbound. pfa_gap_division_zero_executionbound + S (pfd_index_division_zero_execution) = (N)) -> exists pfd_value_division_zero_execution. ((((exists ff_h_pfp_division_zero_executionentry. ff_h_pfp_division_zero_executionentry + S (pfd_value_division_zero_execution) = S ((S (pfd_index_division_zero_execution)) * qc)) /\ exists ff_q_pfp_division_zero_executionentry. qb = ff_q_pfp_division_zero_executionentry * S ((S (pfd_index_division_zero_execution)) * qc) + (pfd_value_division_zero_execution))) /\ ((exists pfd_input_division_zero_executionstep pfd_previous_division_zero_executionstep pfd_difference_division_zero_executionstep. ((((exists ff_h_pfp_division_zero_executionstepinput. ff_h_pfp_division_zero_executionstepinput + S (pfd_input_division_zero_executionstep) = S ((S (pfd_index_division_zero_execution)) * ac)) /\ exists ff_q_pfp_division_zero_executionstepinput. ab = ff_q_pfp_division_zero_executionstepinput * S ((S (pfd_index_division_zero_execution)) * ac) + (pfd_input_division_zero_executionstep))) /\ (((exists pfc_terms_code_division_zero_executionstepprevious pfc_terms_scale_division_zero_executionstepprevious pfc_natural_sum_division_zero_executionstepprevious. ((forall pfc_index_division_zero_executionsteppreviousdiagonal. (exists pfa_gap_division_zero_executionsteppreviousdiagonalbound. pfa_gap_division_zero_executionsteppreviousdiagonalbound + S (pfc_index_division_zero_executionsteppreviousdiagonal) = (S (pfd_index_division_zero_execution))) -> exists pfc_value_division_zero_executionsteppreviousdiagonal. ((((exists ff_h_pfp_division_zero_executionsteppreviousdiagonalentry. ff_h_pfp_division_zero_executionsteppreviousdiagonalentry + S (pfc_value_division_zero_executionsteppreviousdiagonal) = S ((S (pfc_index_division_zero_executionsteppreviousdiagonal)) * pfc_terms_scale_division_zero_executionstepprevious)) /\ exists ff_q_pfp_division_zero_executionsteppreviousdiagonalentry. pfc_terms_code_division_zero_executionstepprevious = ff_q_pfp_division_zero_executionsteppreviousdiagonalentry * S ((S (pfc_index_division_zero_executionsteppreviousdiagonal)) * pfc_terms_scale_division_zero_executionstepprevious) + (pfc_value_division_zero_executionsteppreviousdiagonal))) /\ ((exists pfc_complement_division_zero_executionsteppreviousdiagonalterm pfc_left_division_zero_executionsteppreviousdiagonalterm pfc_right_division_zero_executionsteppreviousdiagonalterm. (((pfc_index_division_zero_executionsteppreviousdiagonal)+pfc_complement_division_zero_executionsteppreviousdiagonalterm=(pfd_index_division_zero_execution)) /\ ((((((exists pfa_gap_division_zero_executionsteppreviousdiagonaltermleftinside. pfa_gap_division_zero_executionsteppreviousdiagonaltermleftinside + S (pfc_index_division_zero_executionsteppreviousdiagonal) = (pfd_index_division_zero_execution)) /\ ((((exists ff_h_pfp_division_zero_executionsteppreviousdiagonaltermleftentry. ff_h_pfp_division_zero_executionsteppreviousdiagonaltermleftentry + S (pfc_left_division_zero_executionsteppreviousdiagonalterm) = S ((S (pfc_index_division_zero_executionsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_zero_executionsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_zero_executionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_zero_executionsteppreviousdiagonal)) * qc) + (pfc_left_division_zero_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_zero_executionsteppreviousdiagonaltermleftoutside. pfc_gap_division_zero_executionsteppreviousdiagonaltermleftoutside+(pfd_index_division_zero_execution)=(pfc_index_division_zero_executionsteppreviousdiagonal)) /\ (((pfc_left_division_zero_executionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_zero_executionsteppreviousdiagonaltermrightinside. pfa_gap_division_zero_executionsteppreviousdiagonaltermrightinside + S (pfc_complement_division_zero_executionsteppreviousdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_zero_executionsteppreviousdiagonaltermrightentry. ff_h_pfp_division_zero_executionsteppreviousdiagonaltermrightentry + S (pfc_right_division_zero_executionsteppreviousdiagonalterm) = S ((S (pfc_complement_division_zero_executionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_zero_executionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_zero_executionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_zero_executionsteppreviousdiagonalterm)) * bc) + (pfc_right_division_zero_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_zero_executionsteppreviousdiagonaltermrightoutside. pfc_gap_division_zero_executionsteppreviousdiagonaltermrightoutside+(S d)=(pfc_complement_division_zero_executionsteppreviousdiagonalterm)) /\ (((pfc_right_division_zero_executionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_zero_executionsteppreviousdiagonal)=pfc_left_division_zero_executionsteppreviousdiagonalterm*pfc_right_division_zero_executionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_zero_executionstepprevioussum fs_v_pfc_division_zero_executionstepprevioussum. ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_start. fs_h_pfc_division_zero_executionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_zero_executionstepprevioussum)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_start. fs_u_pfc_division_zero_executionstepprevioussum = fs_q_pfc_division_zero_executionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_zero_executionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_terminal. fs_h_pfc_division_zero_executionstepprevioussum_body_terminal + S (pfc_natural_sum_division_zero_executionstepprevious) = S ((S (S (pfd_index_division_zero_execution))) * fs_v_pfc_division_zero_executionstepprevioussum)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_terminal. fs_u_pfc_division_zero_executionstepprevioussum = fs_q_pfc_division_zero_executionstepprevioussum_body_terminal * S ((S (S (pfd_index_division_zero_execution))) * fs_v_pfc_division_zero_executionstepprevioussum) + (pfc_natural_sum_division_zero_executionstepprevious))) /\ forall fs_i_pfc_division_zero_executionstepprevioussum_body_steps. (exists fs_lt_pfc_division_zero_executionstepprevioussum_body_steps_bound. fs_lt_pfc_division_zero_executionstepprevioussum_body_steps_bound + S fs_i_pfc_division_zero_executionstepprevioussum_body_steps = S (pfd_index_division_zero_execution)) -> exists fs_a_pfc_division_zero_executionstepprevioussum_body_steps fs_r_pfc_division_zero_executionstepprevioussum_body_steps fs_s_pfc_division_zero_executionstepprevioussum_body_steps. ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_steps_summand. fs_h_pfc_division_zero_executionstepprevioussum_body_steps_summand + S (fs_a_pfc_division_zero_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_zero_executionstepprevious)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_steps_summand. pfc_terms_code_division_zero_executionstepprevious = fs_q_pfc_division_zero_executionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_zero_executionstepprevious) + (fs_a_pfc_division_zero_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_steps_partial. fs_h_pfc_division_zero_executionstepprevioussum_body_steps_partial + S (fs_r_pfc_division_zero_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * fs_v_pfc_division_zero_executionstepprevioussum)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_steps_partial. fs_u_pfc_division_zero_executionstepprevioussum = fs_q_pfc_division_zero_executionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * fs_v_pfc_division_zero_executionstepprevioussum) + (fs_r_pfc_division_zero_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_steps_successor. fs_h_pfc_division_zero_executionstepprevioussum_body_steps_successor + S (fs_s_pfc_division_zero_executionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * fs_v_pfc_division_zero_executionstepprevioussum)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_steps_successor. fs_u_pfc_division_zero_executionstepprevioussum = fs_q_pfc_division_zero_executionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * fs_v_pfc_division_zero_executionstepprevioussum) + (fs_s_pfc_division_zero_executionstepprevioussum_body_steps))) /\ fs_s_pfc_division_zero_executionstepprevioussum_body_steps = fs_r_pfc_division_zero_executionstepprevioussum_body_steps + fs_a_pfc_division_zero_executionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_zero_executionsteppreviousresiduebound. pfa_gap_division_zero_executionsteppreviousresiduebound + S (pfd_previous_division_zero_executionstep) = (p)) /\ ((exists pfa_offset_left_division_zero_executionsteppreviousresiduecongruence pfa_offset_right_division_zero_executionsteppreviousresiduecongruence. (pfc_natural_sum_division_zero_executionstepprevious) + (p) * pfa_offset_left_division_zero_executionsteppreviousresiduecongruence = (pfd_previous_division_zero_executionstep) + (p) * pfa_offset_right_division_zero_executionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_zero_executionstepsubtractleft. pfa_gap_division_zero_executionstepsubtractleft + S (pfd_previous_division_zero_executionstep) = (p)) /\ (((exists pfa_gap_division_zero_executionstepsubtractright. pfa_gap_division_zero_executionstepsubtractright + S (pfd_difference_division_zero_executionstep) = (p)) /\ ((((exists pfa_gap_division_zero_executionstepsubtractresultbound. pfa_gap_division_zero_executionstepsubtractresultbound + S (pfd_input_division_zero_executionstep) = (p)) /\ ((exists pfa_offset_left_division_zero_executionstepsubtractresultcongruence pfa_offset_right_division_zero_executionstepsubtractresultcongruence. ((pfd_previous_division_zero_executionstep) + (pfd_difference_division_zero_executionstep)) + (p) * pfa_offset_left_division_zero_executionstepsubtractresultcongruence = (pfd_input_division_zero_executionstep) + (p) * pfa_offset_right_division_zero_executionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_zero_executionstepmultiplyleft. pfa_gap_division_zero_executionstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_zero_executionstepmultiplyright. pfa_gap_division_zero_executionstepmultiplyright + S (pfd_difference_division_zero_executionstep) = (p)) /\ ((((exists pfa_gap_division_zero_executionstepmultiplyresultbound. pfa_gap_division_zero_executionstepmultiplyresultbound + S (pfd_value_division_zero_execution) = (p)) /\ ((exists pfa_offset_left_division_zero_executionstepmultiplyresultcongruence pfa_offset_right_division_zero_executionstepmultiplyresultcongruence. ((k) * (pfd_difference_division_zero_executionstep)) + (p) * pfa_offset_left_division_zero_executionstepmultiplyresultcongruence = (pfd_value_division_zero_execution) + (p) * pfa_offset_right_division_zero_executionstepmultiplyresultcongruence))))))))))))))))))) -> (exists pfc_gap_division_zero_length. pfc_gap_division_zero_length+(N)=(L)) -> (forall pfc_index_division_zero_product. (exists pfa_gap_division_zero_productbound. pfa_gap_division_zero_productbound + S (pfc_index_division_zero_product) = (L)) -> exists pfc_value_division_zero_product. ((((exists ff_h_pfp_division_zero_productentry. ff_h_pfp_division_zero_productentry + S (pfc_value_division_zero_product) = S ((S (pfc_index_division_zero_product)) * pc)) /\ exists ff_q_pfp_division_zero_productentry. pb = ff_q_pfp_division_zero_productentry * S ((S (pfc_index_division_zero_product)) * pc) + (pfc_value_division_zero_product))) /\ ((exists pfc_terms_code_division_zero_productcoefficient pfc_terms_scale_division_zero_productcoefficient pfc_natural_sum_division_zero_productcoefficient. ((forall pfc_index_division_zero_productcoefficientdiagonal. (exists pfa_gap_division_zero_productcoefficientdiagonalbound. pfa_gap_division_zero_productcoefficientdiagonalbound + S (pfc_index_division_zero_productcoefficientdiagonal) = (S (pfc_index_division_zero_product))) -> exists pfc_value_division_zero_productcoefficientdiagonal. ((((exists ff_h_pfp_division_zero_productcoefficientdiagonalentry. ff_h_pfp_division_zero_productcoefficientdiagonalentry + S (pfc_value_division_zero_productcoefficientdiagonal) = S ((S (pfc_index_division_zero_productcoefficientdiagonal)) * pfc_terms_scale_division_zero_productcoefficient)) /\ exists ff_q_pfp_division_zero_productcoefficientdiagonalentry. pfc_terms_code_division_zero_productcoefficient = ff_q_pfp_division_zero_productcoefficientdiagonalentry * S ((S (pfc_index_division_zero_productcoefficientdiagonal)) * pfc_terms_scale_division_zero_productcoefficient) + (pfc_value_division_zero_productcoefficientdiagonal))) /\ ((exists pfc_complement_division_zero_productcoefficientdiagonalterm pfc_left_division_zero_productcoefficientdiagonalterm pfc_right_division_zero_productcoefficientdiagonalterm. (((pfc_index_division_zero_productcoefficientdiagonal)+pfc_complement_division_zero_productcoefficientdiagonalterm=(pfc_index_division_zero_product)) /\ ((((((exists pfa_gap_division_zero_productcoefficientdiagonaltermleftinside. pfa_gap_division_zero_productcoefficientdiagonaltermleftinside + S (pfc_index_division_zero_productcoefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_zero_productcoefficientdiagonaltermleftentry. ff_h_pfp_division_zero_productcoefficientdiagonaltermleftentry + S (pfc_left_division_zero_productcoefficientdiagonalterm) = S ((S (pfc_index_division_zero_productcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_zero_productcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_zero_productcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_zero_productcoefficientdiagonal)) * qc) + (pfc_left_division_zero_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_zero_productcoefficientdiagonaltermleftoutside. pfc_gap_division_zero_productcoefficientdiagonaltermleftoutside+(N)=(pfc_index_division_zero_productcoefficientdiagonal)) /\ (((pfc_left_division_zero_productcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_zero_productcoefficientdiagonaltermrightinside. pfa_gap_division_zero_productcoefficientdiagonaltermrightinside + S (pfc_complement_division_zero_productcoefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_zero_productcoefficientdiagonaltermrightentry. ff_h_pfp_division_zero_productcoefficientdiagonaltermrightentry + S (pfc_right_division_zero_productcoefficientdiagonalterm) = S ((S (pfc_complement_division_zero_productcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_zero_productcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_zero_productcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_zero_productcoefficientdiagonalterm)) * bc) + (pfc_right_division_zero_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_zero_productcoefficientdiagonaltermrightoutside. pfc_gap_division_zero_productcoefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_zero_productcoefficientdiagonalterm)) /\ (((pfc_right_division_zero_productcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_zero_productcoefficientdiagonal)=pfc_left_division_zero_productcoefficientdiagonalterm*pfc_right_division_zero_productcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_zero_productcoefficientsum fs_v_pfc_division_zero_productcoefficientsum. ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_start. fs_h_pfc_division_zero_productcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_zero_productcoefficientsum)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_start. fs_u_pfc_division_zero_productcoefficientsum = fs_q_pfc_division_zero_productcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_zero_productcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_terminal. fs_h_pfc_division_zero_productcoefficientsum_body_terminal + S (pfc_natural_sum_division_zero_productcoefficient) = S ((S (S (pfc_index_division_zero_product))) * fs_v_pfc_division_zero_productcoefficientsum)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_terminal. fs_u_pfc_division_zero_productcoefficientsum = fs_q_pfc_division_zero_productcoefficientsum_body_terminal * S ((S (S (pfc_index_division_zero_product))) * fs_v_pfc_division_zero_productcoefficientsum) + (pfc_natural_sum_division_zero_productcoefficient))) /\ forall fs_i_pfc_division_zero_productcoefficientsum_body_steps. (exists fs_lt_pfc_division_zero_productcoefficientsum_body_steps_bound. fs_lt_pfc_division_zero_productcoefficientsum_body_steps_bound + S fs_i_pfc_division_zero_productcoefficientsum_body_steps = S (pfc_index_division_zero_product)) -> exists fs_a_pfc_division_zero_productcoefficientsum_body_steps fs_r_pfc_division_zero_productcoefficientsum_body_steps fs_s_pfc_division_zero_productcoefficientsum_body_steps. ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_steps_summand. fs_h_pfc_division_zero_productcoefficientsum_body_steps_summand + S (fs_a_pfc_division_zero_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * pfc_terms_scale_division_zero_productcoefficient)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_steps_summand. pfc_terms_code_division_zero_productcoefficient = fs_q_pfc_division_zero_productcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * pfc_terms_scale_division_zero_productcoefficient) + (fs_a_pfc_division_zero_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_steps_partial. fs_h_pfc_division_zero_productcoefficientsum_body_steps_partial + S (fs_r_pfc_division_zero_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * fs_v_pfc_division_zero_productcoefficientsum)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_steps_partial. fs_u_pfc_division_zero_productcoefficientsum = fs_q_pfc_division_zero_productcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * fs_v_pfc_division_zero_productcoefficientsum) + (fs_r_pfc_division_zero_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_steps_successor. fs_h_pfc_division_zero_productcoefficientsum_body_steps_successor + S (fs_s_pfc_division_zero_productcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * fs_v_pfc_division_zero_productcoefficientsum)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_steps_successor. fs_u_pfc_division_zero_productcoefficientsum = fs_q_pfc_division_zero_productcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * fs_v_pfc_division_zero_productcoefficientsum) + (fs_s_pfc_division_zero_productcoefficientsum_body_steps))) /\ fs_s_pfc_division_zero_productcoefficientsum_body_steps = fs_r_pfc_division_zero_productcoefficientsum_body_steps + fs_a_pfc_division_zero_productcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_zero_productcoefficientresiduebound. pfa_gap_division_zero_productcoefficientresiduebound + S (pfc_value_division_zero_product) = (p)) /\ ((exists pfa_offset_left_division_zero_productcoefficientresiduecongruence pfa_offset_right_division_zero_productcoefficientresiduecongruence. (pfc_natural_sum_division_zero_productcoefficient) + (p) * pfa_offset_left_division_zero_productcoefficientresiduecongruence = (pfc_value_division_zero_product) + (p) * pfa_offset_right_division_zero_productcoefficientresiduecongruence)))))))))))) -> (forall pfs_index_division_zero_subtraction. (exists pfa_gap_division_zero_subtractionindex. pfa_gap_division_zero_subtractionindex + S (pfs_index_division_zero_subtraction) = (L)) -> exists pfs_left_division_zero_subtraction pfs_right_division_zero_subtraction pfs_result_division_zero_subtraction. ((((exists ff_h_pfp_division_zero_subtractionleft. ff_h_pfp_division_zero_subtractionleft + S (pfs_left_division_zero_subtraction) = S ((S (pfs_index_division_zero_subtraction)) * ac)) /\ exists ff_q_pfp_division_zero_subtractionleft. ab = ff_q_pfp_division_zero_subtractionleft * S ((S (pfs_index_division_zero_subtraction)) * ac) + (pfs_left_division_zero_subtraction))) /\ (((((exists ff_h_pfp_division_zero_subtractionright. ff_h_pfp_division_zero_subtractionright + S (pfs_right_division_zero_subtraction) = S ((S (pfs_index_division_zero_subtraction)) * pc)) /\ exists ff_q_pfp_division_zero_subtractionright. pb = ff_q_pfp_division_zero_subtractionright * S ((S (pfs_index_division_zero_subtraction)) * pc) + (pfs_right_division_zero_subtraction))) /\ (((((exists ff_h_pfp_division_zero_subtractionresult. ff_h_pfp_division_zero_subtractionresult + S (pfs_result_division_zero_subtraction) = S ((S (pfs_index_division_zero_subtraction)) * uc)) /\ exists ff_q_pfp_division_zero_subtractionresult. ub = ff_q_pfp_division_zero_subtractionresult * S ((S (pfs_index_division_zero_subtraction)) * uc) + (pfs_result_division_zero_subtraction))) /\ ((((exists pfa_gap_division_zero_subtractionoperationleft. pfa_gap_division_zero_subtractionoperationleft + S (pfs_right_division_zero_subtraction) = (p)) /\ (((exists pfa_gap_division_zero_subtractionoperationright. pfa_gap_division_zero_subtractionoperationright + S (pfs_result_division_zero_subtraction) = (p)) /\ ((((exists pfa_gap_division_zero_subtractionoperationresultbound. pfa_gap_division_zero_subtractionoperationresultbound + S (pfs_left_division_zero_subtraction) = (p)) /\ ((exists pfa_offset_left_division_zero_subtractionoperationresultcongruence pfa_offset_right_division_zero_subtractionoperationresultcongruence. ((pfs_right_division_zero_subtraction) + (pfs_result_division_zero_subtraction)) + (p) * pfa_offset_left_division_zero_subtractionoperationresultcongruence = (pfs_left_division_zero_subtraction) + (p) * pfa_offset_right_division_zero_subtractionoperationresultcongruence)))))))))))))))) -> (forall pfp_repeat_index_division_zero_result. (exists pfa_gap_division_zero_resultindex. pfa_gap_division_zero_resultindex + S (pfp_repeat_index_division_zero_result) = (N)) -> (((exists ff_h_pfp_division_zero_resultentry. ff_h_pfp_division_zero_resultentry + S (0) = S ((S (pfp_repeat_index_division_zero_result)) * uc)) /\ exists ff_q_pfp_division_zero_resultentry. ub = ff_q_pfp_division_zero_resultentry * S ((S (pfp_repeat_index_division_zero_result)) * uc) + (0))))

Complete tactic proof in conservative notation

All 64 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

64 script commands · 9 reading checkpoints · 0 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 (1)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro k
  3. L3
    intro ab
  4. L4
    intro ac
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro d
  8. L8
    intro qb
  9. L9
    intro qc
  10. L10
    intro N
02Fix variables and assumptionsL11–20

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

  1. L11
    intro b
  2. L12
    intro pb
  3. L13
    intro pc
  4. L14
    intro L
  5. L15
    intro ub
  6. L16
    intro uc
  7. L17
    intro hp
  8. L18
    intro hb
  9. L19
    intro hk
  10. L20
    intro hq
03Fix variables and assumptionsL21–23

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

  1. L21
    intro hlen
  2. L22
    intro hproduct
  3. L23
    intro hsubtract
04Use earlier factsL24–33

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

  1. L24
    specialize prime_field_polynomial_subtract_equal_zero (p)
  2. L25
    specialize prime_field_polynomial_subtract_equal_zero (ab)
  3. L26
    specialize prime_field_polynomial_subtract_equal_zero (ac)
  4. L27
    specialize prime_field_polynomial_subtract_equal_zero (pb)
  5. L28
    specialize prime_field_polynomial_subtract_equal_zero (pc)
  6. L29
    specialize prime_field_polynomial_subtract_equal_zero (ub)
  7. L30
    specialize prime_field_polynomial_subtract_equal_zero (uc)
  8. L31
    specialize prime_field_polynomial_subtract_equal_zero (N)
  9. L32
    apply prime_field_polynomial_subtract_equal_zero
  10. L33
    exact hp
05Use earlier factsL34–43

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

  1. L34
    specialize prime_field_polynomial_quotient_prefix_product_matches (p)
  2. L35
    specialize prime_field_polynomial_quotient_prefix_product_matches (k)
  3. L36
    specialize prime_field_polynomial_quotient_prefix_product_matches (ab)
  4. L37
    specialize prime_field_polynomial_quotient_prefix_product_matches (ac)
  5. L38
    specialize prime_field_polynomial_quotient_prefix_product_matches (bb)
  6. L39
    specialize prime_field_polynomial_quotient_prefix_product_matches (bc)
  7. L40
    specialize prime_field_polynomial_quotient_prefix_product_matches (d)
  8. L41
    specialize prime_field_polynomial_quotient_prefix_product_matches (qb)
  9. L42
    specialize prime_field_polynomial_quotient_prefix_product_matches (qc)
  10. L43
    specialize prime_field_polynomial_quotient_prefix_product_matches (N)
06Use earlier factsL44–53

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

  1. L44
    specialize prime_field_polynomial_quotient_prefix_product_matches (b)
  2. L45
    specialize prime_field_polynomial_quotient_prefix_product_matches (pb)
  3. L46
    specialize prime_field_polynomial_quotient_prefix_product_matches (pc)
  4. L47
    specialize prime_field_polynomial_quotient_prefix_product_matches (L)
  5. L48
    apply prime_field_polynomial_quotient_prefix_product_matches
  6. L49
    exact hp
  7. L50
    exact hb
  8. L51
    exact hk
  9. L52
    exact hq
  10. L53
    exact hlen
07Use earlier factsL54–54

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

  1. L54
    exact hproduct
08Fix variables and assumptionsL55–56

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

  1. L55
    intro i
  2. L56
    intro hi
09Use earlier factsL57–64

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

  1. L57
    specialize hsubtract (i)
  2. L58
    apply hsubtract
  3. L59
    specialize lt_of_lt_of_le (i)
  4. L60
    specialize lt_of_lt_of_le (N)
  5. L61
    specialize lt_of_lt_of_le (L)
  6. L62
    apply lt_of_lt_of_le
  7. L63
    exact hi
  8. L64
    exact hlen

Library-wide reading audit

Original defined command ledger · 64 lines
  1. 0001intro p
  2. 0002intro k
  3. 0003intro ab
  4. 0004intro ac
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro d
  8. 0008intro qb
  9. 0009intro qc
  10. 0010intro N
  11. 0011intro b
  12. 0012intro pb
  13. 0013intro pc
  14. 0014intro L
  15. 0015intro ub
  16. 0016intro uc
  17. 0017intro hp
  18. 0018intro hb
  19. 0019intro hk
  20. 0020intro hq
  21. 0021intro hlen
  22. 0022intro hproduct
  23. 0023intro hsubtract
  24. 0024specialize prime_field_polynomial_subtract_equal_zero (p)
  25. 0025specialize prime_field_polynomial_subtract_equal_zero (ab)
  26. 0026specialize prime_field_polynomial_subtract_equal_zero (ac)
  27. 0027specialize prime_field_polynomial_subtract_equal_zero (pb)
  28. 0028specialize prime_field_polynomial_subtract_equal_zero (pc)
  29. 0029specialize prime_field_polynomial_subtract_equal_zero (ub)
  30. 0030specialize prime_field_polynomial_subtract_equal_zero (uc)
  31. 0031specialize prime_field_polynomial_subtract_equal_zero (N)
  32. 0032apply prime_field_polynomial_subtract_equal_zero
  33. 0033exact hp
  34. 0034specialize prime_field_polynomial_quotient_prefix_product_matches (p)
  35. 0035specialize prime_field_polynomial_quotient_prefix_product_matches (k)
  36. 0036specialize prime_field_polynomial_quotient_prefix_product_matches (ab)
  37. 0037specialize prime_field_polynomial_quotient_prefix_product_matches (ac)
  38. 0038specialize prime_field_polynomial_quotient_prefix_product_matches (bb)
  39. 0039specialize prime_field_polynomial_quotient_prefix_product_matches (bc)
  40. 0040specialize prime_field_polynomial_quotient_prefix_product_matches (d)
  41. 0041specialize prime_field_polynomial_quotient_prefix_product_matches (qb)
  42. 0042specialize prime_field_polynomial_quotient_prefix_product_matches (qc)
  43. 0043specialize prime_field_polynomial_quotient_prefix_product_matches (N)
  44. 0044specialize prime_field_polynomial_quotient_prefix_product_matches (b)
  45. 0045specialize prime_field_polynomial_quotient_prefix_product_matches (pb)
  46. 0046specialize prime_field_polynomial_quotient_prefix_product_matches (pc)
  47. 0047specialize prime_field_polynomial_quotient_prefix_product_matches (L)
  48. 0048apply prime_field_polynomial_quotient_prefix_product_matches
  49. 0049exact hp
  50. 0050exact hb
  51. 0051exact hk
  52. 0052exact hq
  53. 0053exact hlen
  54. 0054exact hproduct
  55. 0055intro i
  56. 0056intro hi
  57. 0057specialize hsubtract (i)
  58. 0058apply hsubtract
  59. 0059specialize lt_of_lt_of_le (i)
  60. 0060specialize lt_of_lt_of_le (N)
  61. 0061specialize lt_of_lt_of_le (L)
  62. 0062apply lt_of_lt_of_le
  63. 0063exact hi
  64. 0064exact hlen