PG0053

prime_field_polynomial_division_remainder_length_descent

Every actual normalized remainder has retained length at most d and strictly less than the actual divisor length S d. The zero branch is handled directly; the nonzero branch uses its genuine represented-degree length equation.

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. ∀ L. ∀ bb. ∀ bc. ∀ d. ∀ qb. ∀ qc. ∀ q. ∀ rb. ∀ rc. ∀ R. Prime(p)FpPolynomialDivisionExecution(p,ab,ac,L,bb,bc,d,qb,qc,q,rb,rc,R)Le(R,d)Lt(R,S d)

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 L bb bc d qb qc q rb rc R. (~((p) = 1) /\ forall pfa_factor_left_normalization_descent_prime pfa_factor_right_normalization_descent_prime. (p) = pfa_factor_left_normalization_descent_prime * pfa_factor_right_normalization_descent_prime -> pfa_factor_left_normalization_descent_prime = 1 \/ pfa_factor_right_normalization_descent_prime = 1) -> (((forall fom_index_pfp_normalization_descent_executioninput. (exists fom_gap_pfp_normalization_descent_executioninput_index_bound. fom_gap_pfp_normalization_descent_executioninput_index_bound + S (fom_index_pfp_normalization_descent_executioninput) = L) -> exists fom_value_pfp_normalization_descent_executioninput. ((((exists fom_beta_height_pfp_normalization_descent_executioninput_entry. fom_beta_height_pfp_normalization_descent_executioninput_entry + S (fom_value_pfp_normalization_descent_executioninput) = S ((S (fom_index_pfp_normalization_descent_executioninput)) * ac)) /\ exists fom_beta_quotient_pfp_normalization_descent_executioninput_entry. ab = fom_beta_quotient_pfp_normalization_descent_executioninput_entry * S ((S (fom_index_pfp_normalization_descent_executioninput)) * ac) + (fom_value_pfp_normalization_descent_executioninput))) /\ (exists fom_gap_pfp_normalization_descent_executioninput_value_bound. fom_gap_pfp_normalization_descent_executioninput_value_bound + S (fom_value_pfp_normalization_descent_executioninput) = p))) /\ (((forall fom_index_pfp_normalization_descent_executiondivisor. (exists fom_gap_pfp_normalization_descent_executiondivisor_index_bound. fom_gap_pfp_normalization_descent_executiondivisor_index_bound + S (fom_index_pfp_normalization_descent_executiondivisor) = S (d)) -> exists fom_value_pfp_normalization_descent_executiondivisor. ((((exists fom_beta_height_pfp_normalization_descent_executiondivisor_entry. fom_beta_height_pfp_normalization_descent_executiondivisor_entry + S (fom_value_pfp_normalization_descent_executiondivisor) = S ((S (fom_index_pfp_normalization_descent_executiondivisor)) * bc)) /\ exists fom_beta_quotient_pfp_normalization_descent_executiondivisor_entry. bb = fom_beta_quotient_pfp_normalization_descent_executiondivisor_entry * S ((S (fom_index_pfp_normalization_descent_executiondivisor)) * bc) + (fom_value_pfp_normalization_descent_executiondivisor))) /\ (exists fom_gap_pfp_normalization_descent_executiondivisor_value_bound. fom_gap_pfp_normalization_descent_executiondivisor_value_bound + S (fom_value_pfp_normalization_descent_executiondivisor) = p))) /\ (((((((q)=0) /\ ((exists pfc_gap_normalization_descent_executionlengthshort. pfc_gap_normalization_descent_executionlengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) /\ ((exists pfd_head_normalization_descent_execution pfd_inverse_normalization_descent_execution pfd_product_code_normalization_descent_execution pfd_product_scale_normalization_descent_execution pfd_residual_code_normalization_descent_execution pfd_residual_scale_normalization_descent_execution pfd_cut_normalization_descent_execution. ((((exists ff_h_pfp_normalization_descent_executionhead. ff_h_pfp_normalization_descent_executionhead + S (pfd_head_normalization_descent_execution) = S ((S (0)) * bc)) /\ exists ff_q_pfp_normalization_descent_executionhead. bb = ff_q_pfp_normalization_descent_executionhead * S ((S (0)) * bc) + (pfd_head_normalization_descent_execution))) /\ (((((~((pfd_head_normalization_descent_execution) = 0)) /\ ((((exists pfa_gap_normalization_descent_executioninversemultiplicationleft. pfa_gap_normalization_descent_executioninversemultiplicationleft + S (pfd_head_normalization_descent_execution) = (p)) /\ (((exists pfa_gap_normalization_descent_executioninversemultiplicationright. pfa_gap_normalization_descent_executioninversemultiplicationright + S (pfd_inverse_normalization_descent_execution) = (p)) /\ ((((exists pfa_gap_normalization_descent_executioninversemultiplicationresultbound. pfa_gap_normalization_descent_executioninversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_descent_executioninversemultiplicationresultcongruence pfa_offset_right_normalization_descent_executioninversemultiplicationresultcongruence. ((pfd_head_normalization_descent_execution) * (pfd_inverse_normalization_descent_execution)) + (p) * pfa_offset_left_normalization_descent_executioninversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_descent_executioninversemultiplicationresultcongruence)))))))))))) /\ (((forall pfd_index_normalization_descent_executionquotient. (exists pfa_gap_normalization_descent_executionquotientbound. pfa_gap_normalization_descent_executionquotientbound + S (pfd_index_normalization_descent_executionquotient) = (q)) -> exists pfd_value_normalization_descent_executionquotient. ((((exists ff_h_pfp_normalization_descent_executionquotiententry. ff_h_pfp_normalization_descent_executionquotiententry + S (pfd_value_normalization_descent_executionquotient) = S ((S (pfd_index_normalization_descent_executionquotient)) * qc)) /\ exists ff_q_pfp_normalization_descent_executionquotiententry. qb = ff_q_pfp_normalization_descent_executionquotiententry * S ((S (pfd_index_normalization_descent_executionquotient)) * qc) + (pfd_value_normalization_descent_executionquotient))) /\ ((exists pfd_input_normalization_descent_executionquotientstep pfd_previous_normalization_descent_executionquotientstep pfd_difference_normalization_descent_executionquotientstep. ((((exists ff_h_pfp_normalization_descent_executionquotientstepinput. ff_h_pfp_normalization_descent_executionquotientstepinput + S (pfd_input_normalization_descent_executionquotientstep) = S ((S (pfd_index_normalization_descent_executionquotient)) * ac)) /\ exists ff_q_pfp_normalization_descent_executionquotientstepinput. ab = ff_q_pfp_normalization_descent_executionquotientstepinput * S ((S (pfd_index_normalization_descent_executionquotient)) * ac) + (pfd_input_normalization_descent_executionquotientstep))) /\ (((exists pfc_terms_code_normalization_descent_executionquotientstepprevious pfc_terms_scale_normalization_descent_executionquotientstepprevious pfc_natural_sum_normalization_descent_executionquotientstepprevious. ((forall pfc_index_normalization_descent_executionquotientsteppreviousdiagonal. (exists pfa_gap_normalization_descent_executionquotientsteppreviousdiagonalbound. pfa_gap_normalization_descent_executionquotientsteppreviousdiagonalbound + S (pfc_index_normalization_descent_executionquotientsteppreviousdiagonal) = (S (pfd_index_normalization_descent_executionquotient))) -> exists pfc_value_normalization_descent_executionquotientsteppreviousdiagonal. ((((exists ff_h_pfp_normalization_descent_executionquotientsteppreviousdiagonalentry. ff_h_pfp_normalization_descent_executionquotientsteppreviousdiagonalentry + S (pfc_value_normalization_descent_executionquotientsteppreviousdiagonal) = S ((S (pfc_index_normalization_descent_executionquotientsteppreviousdiagonal)) * pfc_terms_scale_normalization_descent_executionquotientstepprevious)) /\ exists ff_q_pfp_normalization_descent_executionquotientsteppreviousdiagonalentry. pfc_terms_code_normalization_descent_executionquotientstepprevious = ff_q_pfp_normalization_descent_executionquotientsteppreviousdiagonalentry * S ((S (pfc_index_normalization_descent_executionquotientsteppreviousdiagonal)) * pfc_terms_scale_normalization_descent_executionquotientstepprevious) + (pfc_value_normalization_descent_executionquotientsteppreviousdiagonal))) /\ ((exists pfc_complement_normalization_descent_executionquotientsteppreviousdiagonalterm pfc_left_normalization_descent_executionquotientsteppreviousdiagonalterm pfc_right_normalization_descent_executionquotientsteppreviousdiagonalterm. (((pfc_index_normalization_descent_executionquotientsteppreviousdiagonal)+pfc_complement_normalization_descent_executionquotientsteppreviousdiagonalterm=(pfd_index_normalization_descent_executionquotient)) /\ ((((((exists pfa_gap_normalization_descent_executionquotientsteppreviousdiagonaltermleftinside. pfa_gap_normalization_descent_executionquotientsteppreviousdiagonaltermleftinside + S (pfc_index_normalization_descent_executionquotientsteppreviousdiagonal) = (pfd_index_normalization_descent_executionquotient)) /\ ((((exists ff_h_pfp_normalization_descent_executionquotientsteppreviousdiagonaltermleftentry. ff_h_pfp_normalization_descent_executionquotientsteppreviousdiagonaltermleftentry + S (pfc_left_normalization_descent_executionquotientsteppreviousdiagonalterm) = S ((S (pfc_index_normalization_descent_executionquotientsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_normalization_descent_executionquotientsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_normalization_descent_executionquotientsteppreviousdiagonaltermleftentry * S ((S (pfc_index_normalization_descent_executionquotientsteppreviousdiagonal)) * qc) + (pfc_left_normalization_descent_executionquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_normalization_descent_executionquotientsteppreviousdiagonaltermleftoutside. pfc_gap_normalization_descent_executionquotientsteppreviousdiagonaltermleftoutside+(pfd_index_normalization_descent_executionquotient)=(pfc_index_normalization_descent_executionquotientsteppreviousdiagonal)) /\ (((pfc_left_normalization_descent_executionquotientsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_normalization_descent_executionquotientsteppreviousdiagonaltermrightinside. pfa_gap_normalization_descent_executionquotientsteppreviousdiagonaltermrightinside + S (pfc_complement_normalization_descent_executionquotientsteppreviousdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_normalization_descent_executionquotientsteppreviousdiagonaltermrightentry. ff_h_pfp_normalization_descent_executionquotientsteppreviousdiagonaltermrightentry + S (pfc_right_normalization_descent_executionquotientsteppreviousdiagonalterm) = S ((S (pfc_complement_normalization_descent_executionquotientsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_normalization_descent_executionquotientsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_normalization_descent_executionquotientsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_normalization_descent_executionquotientsteppreviousdiagonalterm)) * bc) + (pfc_right_normalization_descent_executionquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_normalization_descent_executionquotientsteppreviousdiagonaltermrightoutside. pfc_gap_normalization_descent_executionquotientsteppreviousdiagonaltermrightoutside+(S (d))=(pfc_complement_normalization_descent_executionquotientsteppreviousdiagonalterm)) /\ (((pfc_right_normalization_descent_executionquotientsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_normalization_descent_executionquotientsteppreviousdiagonal)=pfc_left_normalization_descent_executionquotientsteppreviousdiagonalterm*pfc_right_normalization_descent_executionquotientsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_normalization_descent_executionquotientstepprevioussum fs_v_pfc_normalization_descent_executionquotientstepprevioussum. ((((exists fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_start. fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_normalization_descent_executionquotientstepprevioussum)) /\ exists fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_start. fs_u_pfc_normalization_descent_executionquotientstepprevioussum = fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_normalization_descent_executionquotientstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_terminal. fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_terminal + S (pfc_natural_sum_normalization_descent_executionquotientstepprevious) = S ((S (S (pfd_index_normalization_descent_executionquotient))) * fs_v_pfc_normalization_descent_executionquotientstepprevioussum)) /\ exists fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_terminal. fs_u_pfc_normalization_descent_executionquotientstepprevioussum = fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_terminal * S ((S (S (pfd_index_normalization_descent_executionquotient))) * fs_v_pfc_normalization_descent_executionquotientstepprevioussum) + (pfc_natural_sum_normalization_descent_executionquotientstepprevious))) /\ forall fs_i_pfc_normalization_descent_executionquotientstepprevioussum_body_steps. (exists fs_lt_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_bound. fs_lt_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_bound + S fs_i_pfc_normalization_descent_executionquotientstepprevioussum_body_steps = S (pfd_index_normalization_descent_executionquotient)) -> exists fs_a_pfc_normalization_descent_executionquotientstepprevioussum_body_steps fs_r_pfc_normalization_descent_executionquotientstepprevioussum_body_steps fs_s_pfc_normalization_descent_executionquotientstepprevioussum_body_steps. ((((exists fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_summand. fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_summand + S (fs_a_pfc_normalization_descent_executionquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_normalization_descent_executionquotientstepprevioussum_body_steps)) * pfc_terms_scale_normalization_descent_executionquotientstepprevious)) /\ exists fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_summand. pfc_terms_code_normalization_descent_executionquotientstepprevious = fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_normalization_descent_executionquotientstepprevioussum_body_steps)) * pfc_terms_scale_normalization_descent_executionquotientstepprevious) + (fs_a_pfc_normalization_descent_executionquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_partial. fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_partial + S (fs_r_pfc_normalization_descent_executionquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_normalization_descent_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_normalization_descent_executionquotientstepprevioussum)) /\ exists fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_partial. fs_u_pfc_normalization_descent_executionquotientstepprevioussum = fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_normalization_descent_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_normalization_descent_executionquotientstepprevioussum) + (fs_r_pfc_normalization_descent_executionquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_successor. fs_h_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_successor + S (fs_s_pfc_normalization_descent_executionquotientstepprevioussum_body_steps) = S ((S (S fs_i_pfc_normalization_descent_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_normalization_descent_executionquotientstepprevioussum)) /\ exists fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_successor. fs_u_pfc_normalization_descent_executionquotientstepprevioussum = fs_q_pfc_normalization_descent_executionquotientstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_normalization_descent_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_normalization_descent_executionquotientstepprevioussum) + (fs_s_pfc_normalization_descent_executionquotientstepprevioussum_body_steps))) /\ fs_s_pfc_normalization_descent_executionquotientstepprevioussum_body_steps = fs_r_pfc_normalization_descent_executionquotientstepprevioussum_body_steps + fs_a_pfc_normalization_descent_executionquotientstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_normalization_descent_executionquotientsteppreviousresiduebound. pfa_gap_normalization_descent_executionquotientsteppreviousresiduebound + S (pfd_previous_normalization_descent_executionquotientstep) = (p)) /\ ((exists pfa_offset_left_normalization_descent_executionquotientsteppreviousresiduecongruence pfa_offset_right_normalization_descent_executionquotientsteppreviousresiduecongruence. (pfc_natural_sum_normalization_descent_executionquotientstepprevious) + (p) * pfa_offset_left_normalization_descent_executionquotientsteppreviousresiduecongruence = (pfd_previous_normalization_descent_executionquotientstep) + (p) * pfa_offset_right_normalization_descent_executionquotientsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_normalization_descent_executionquotientstepsubtractleft. pfa_gap_normalization_descent_executionquotientstepsubtractleft + S (pfd_previous_normalization_descent_executionquotientstep) = (p)) /\ (((exists pfa_gap_normalization_descent_executionquotientstepsubtractright. pfa_gap_normalization_descent_executionquotientstepsubtractright + S (pfd_difference_normalization_descent_executionquotientstep) = (p)) /\ ((((exists pfa_gap_normalization_descent_executionquotientstepsubtractresultbound. pfa_gap_normalization_descent_executionquotientstepsubtractresultbound + S (pfd_input_normalization_descent_executionquotientstep) = (p)) /\ ((exists pfa_offset_left_normalization_descent_executionquotientstepsubtractresultcongruence pfa_offset_right_normalization_descent_executionquotientstepsubtractresultcongruence. ((pfd_previous_normalization_descent_executionquotientstep) + (pfd_difference_normalization_descent_executionquotientstep)) + (p) * pfa_offset_left_normalization_descent_executionquotientstepsubtractresultcongruence = (pfd_input_normalization_descent_executionquotientstep) + (p) * pfa_offset_right_normalization_descent_executionquotientstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_normalization_descent_executionquotientstepmultiplyleft. pfa_gap_normalization_descent_executionquotientstepmultiplyleft + S (pfd_inverse_normalization_descent_execution) = (p)) /\ (((exists pfa_gap_normalization_descent_executionquotientstepmultiplyright. pfa_gap_normalization_descent_executionquotientstepmultiplyright + S (pfd_difference_normalization_descent_executionquotientstep) = (p)) /\ ((((exists pfa_gap_normalization_descent_executionquotientstepmultiplyresultbound. pfa_gap_normalization_descent_executionquotientstepmultiplyresultbound + S (pfd_value_normalization_descent_executionquotient) = (p)) /\ ((exists pfa_offset_left_normalization_descent_executionquotientstepmultiplyresultcongruence pfa_offset_right_normalization_descent_executionquotientstepmultiplyresultcongruence. ((pfd_inverse_normalization_descent_execution) * (pfd_difference_normalization_descent_executionquotientstep)) + (p) * pfa_offset_left_normalization_descent_executionquotientstepmultiplyresultcongruence = (pfd_value_normalization_descent_executionquotient) + (p) * pfa_offset_right_normalization_descent_executionquotientstepmultiplyresultcongruence))))))))))))))))))) /\ (((forall pfc_index_normalization_descent_executionproduct. (exists pfa_gap_normalization_descent_executionproductbound. pfa_gap_normalization_descent_executionproductbound + S (pfc_index_normalization_descent_executionproduct) = (L)) -> exists pfc_value_normalization_descent_executionproduct. ((((exists ff_h_pfp_normalization_descent_executionproductentry. ff_h_pfp_normalization_descent_executionproductentry + S (pfc_value_normalization_descent_executionproduct) = S ((S (pfc_index_normalization_descent_executionproduct)) * pfd_product_scale_normalization_descent_execution)) /\ exists ff_q_pfp_normalization_descent_executionproductentry. pfd_product_code_normalization_descent_execution = ff_q_pfp_normalization_descent_executionproductentry * S ((S (pfc_index_normalization_descent_executionproduct)) * pfd_product_scale_normalization_descent_execution) + (pfc_value_normalization_descent_executionproduct))) /\ ((exists pfc_terms_code_normalization_descent_executionproductcoefficient pfc_terms_scale_normalization_descent_executionproductcoefficient pfc_natural_sum_normalization_descent_executionproductcoefficient. ((forall pfc_index_normalization_descent_executionproductcoefficientdiagonal. (exists pfa_gap_normalization_descent_executionproductcoefficientdiagonalbound. pfa_gap_normalization_descent_executionproductcoefficientdiagonalbound + S (pfc_index_normalization_descent_executionproductcoefficientdiagonal) = (S (pfc_index_normalization_descent_executionproduct))) -> exists pfc_value_normalization_descent_executionproductcoefficientdiagonal. ((((exists ff_h_pfp_normalization_descent_executionproductcoefficientdiagonalentry. ff_h_pfp_normalization_descent_executionproductcoefficientdiagonalentry + S (pfc_value_normalization_descent_executionproductcoefficientdiagonal) = S ((S (pfc_index_normalization_descent_executionproductcoefficientdiagonal)) * pfc_terms_scale_normalization_descent_executionproductcoefficient)) /\ exists ff_q_pfp_normalization_descent_executionproductcoefficientdiagonalentry. pfc_terms_code_normalization_descent_executionproductcoefficient = ff_q_pfp_normalization_descent_executionproductcoefficientdiagonalentry * S ((S (pfc_index_normalization_descent_executionproductcoefficientdiagonal)) * pfc_terms_scale_normalization_descent_executionproductcoefficient) + (pfc_value_normalization_descent_executionproductcoefficientdiagonal))) /\ ((exists pfc_complement_normalization_descent_executionproductcoefficientdiagonalterm pfc_left_normalization_descent_executionproductcoefficientdiagonalterm pfc_right_normalization_descent_executionproductcoefficientdiagonalterm. (((pfc_index_normalization_descent_executionproductcoefficientdiagonal)+pfc_complement_normalization_descent_executionproductcoefficientdiagonalterm=(pfc_index_normalization_descent_executionproduct)) /\ ((((((exists pfa_gap_normalization_descent_executionproductcoefficientdiagonaltermleftinside. pfa_gap_normalization_descent_executionproductcoefficientdiagonaltermleftinside + S (pfc_index_normalization_descent_executionproductcoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_normalization_descent_executionproductcoefficientdiagonaltermleftentry. ff_h_pfp_normalization_descent_executionproductcoefficientdiagonaltermleftentry + S (pfc_left_normalization_descent_executionproductcoefficientdiagonalterm) = S ((S (pfc_index_normalization_descent_executionproductcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_normalization_descent_executionproductcoefficientdiagonaltermleftentry. qb = ff_q_pfp_normalization_descent_executionproductcoefficientdiagonaltermleftentry * S ((S (pfc_index_normalization_descent_executionproductcoefficientdiagonal)) * qc) + (pfc_left_normalization_descent_executionproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_normalization_descent_executionproductcoefficientdiagonaltermleftoutside. pfc_gap_normalization_descent_executionproductcoefficientdiagonaltermleftoutside+(q)=(pfc_index_normalization_descent_executionproductcoefficientdiagonal)) /\ (((pfc_left_normalization_descent_executionproductcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_normalization_descent_executionproductcoefficientdiagonaltermrightinside. pfa_gap_normalization_descent_executionproductcoefficientdiagonaltermrightinside + S (pfc_complement_normalization_descent_executionproductcoefficientdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_normalization_descent_executionproductcoefficientdiagonaltermrightentry. ff_h_pfp_normalization_descent_executionproductcoefficientdiagonaltermrightentry + S (pfc_right_normalization_descent_executionproductcoefficientdiagonalterm) = S ((S (pfc_complement_normalization_descent_executionproductcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_normalization_descent_executionproductcoefficientdiagonaltermrightentry. bb = ff_q_pfp_normalization_descent_executionproductcoefficientdiagonaltermrightentry * S ((S (pfc_complement_normalization_descent_executionproductcoefficientdiagonalterm)) * bc) + (pfc_right_normalization_descent_executionproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_normalization_descent_executionproductcoefficientdiagonaltermrightoutside. pfc_gap_normalization_descent_executionproductcoefficientdiagonaltermrightoutside+(S (d))=(pfc_complement_normalization_descent_executionproductcoefficientdiagonalterm)) /\ (((pfc_right_normalization_descent_executionproductcoefficientdiagonalterm)=0))))) /\ (((pfc_value_normalization_descent_executionproductcoefficientdiagonal)=pfc_left_normalization_descent_executionproductcoefficientdiagonalterm*pfc_right_normalization_descent_executionproductcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_normalization_descent_executionproductcoefficientsum fs_v_pfc_normalization_descent_executionproductcoefficientsum. ((((exists fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_start. fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_normalization_descent_executionproductcoefficientsum)) /\ exists fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_start. fs_u_pfc_normalization_descent_executionproductcoefficientsum = fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_normalization_descent_executionproductcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_terminal. fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_terminal + S (pfc_natural_sum_normalization_descent_executionproductcoefficient) = S ((S (S (pfc_index_normalization_descent_executionproduct))) * fs_v_pfc_normalization_descent_executionproductcoefficientsum)) /\ exists fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_terminal. fs_u_pfc_normalization_descent_executionproductcoefficientsum = fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_terminal * S ((S (S (pfc_index_normalization_descent_executionproduct))) * fs_v_pfc_normalization_descent_executionproductcoefficientsum) + (pfc_natural_sum_normalization_descent_executionproductcoefficient))) /\ forall fs_i_pfc_normalization_descent_executionproductcoefficientsum_body_steps. (exists fs_lt_pfc_normalization_descent_executionproductcoefficientsum_body_steps_bound. fs_lt_pfc_normalization_descent_executionproductcoefficientsum_body_steps_bound + S fs_i_pfc_normalization_descent_executionproductcoefficientsum_body_steps = S (pfc_index_normalization_descent_executionproduct)) -> exists fs_a_pfc_normalization_descent_executionproductcoefficientsum_body_steps fs_r_pfc_normalization_descent_executionproductcoefficientsum_body_steps fs_s_pfc_normalization_descent_executionproductcoefficientsum_body_steps. ((((exists fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_steps_summand. fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_steps_summand + S (fs_a_pfc_normalization_descent_executionproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_normalization_descent_executionproductcoefficientsum_body_steps)) * pfc_terms_scale_normalization_descent_executionproductcoefficient)) /\ exists fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_steps_summand. pfc_terms_code_normalization_descent_executionproductcoefficient = fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_normalization_descent_executionproductcoefficientsum_body_steps)) * pfc_terms_scale_normalization_descent_executionproductcoefficient) + (fs_a_pfc_normalization_descent_executionproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_steps_partial. fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_steps_partial + S (fs_r_pfc_normalization_descent_executionproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_normalization_descent_executionproductcoefficientsum_body_steps)) * fs_v_pfc_normalization_descent_executionproductcoefficientsum)) /\ exists fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_steps_partial. fs_u_pfc_normalization_descent_executionproductcoefficientsum = fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_normalization_descent_executionproductcoefficientsum_body_steps)) * fs_v_pfc_normalization_descent_executionproductcoefficientsum) + (fs_r_pfc_normalization_descent_executionproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_steps_successor. fs_h_pfc_normalization_descent_executionproductcoefficientsum_body_steps_successor + S (fs_s_pfc_normalization_descent_executionproductcoefficientsum_body_steps) = S ((S (S fs_i_pfc_normalization_descent_executionproductcoefficientsum_body_steps)) * fs_v_pfc_normalization_descent_executionproductcoefficientsum)) /\ exists fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_steps_successor. fs_u_pfc_normalization_descent_executionproductcoefficientsum = fs_q_pfc_normalization_descent_executionproductcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_normalization_descent_executionproductcoefficientsum_body_steps)) * fs_v_pfc_normalization_descent_executionproductcoefficientsum) + (fs_s_pfc_normalization_descent_executionproductcoefficientsum_body_steps))) /\ fs_s_pfc_normalization_descent_executionproductcoefficientsum_body_steps = fs_r_pfc_normalization_descent_executionproductcoefficientsum_body_steps + fs_a_pfc_normalization_descent_executionproductcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_normalization_descent_executionproductcoefficientresiduebound. pfa_gap_normalization_descent_executionproductcoefficientresiduebound + S (pfc_value_normalization_descent_executionproduct) = (p)) /\ ((exists pfa_offset_left_normalization_descent_executionproductcoefficientresiduecongruence pfa_offset_right_normalization_descent_executionproductcoefficientresiduecongruence. (pfc_natural_sum_normalization_descent_executionproductcoefficient) + (p) * pfa_offset_left_normalization_descent_executionproductcoefficientresiduecongruence = (pfc_value_normalization_descent_executionproduct) + (p) * pfa_offset_right_normalization_descent_executionproductcoefficientresiduecongruence)))))))))))) /\ (((forall pfs_index_normalization_descent_executiondifference. (exists pfa_gap_normalization_descent_executiondifferenceindex. pfa_gap_normalization_descent_executiondifferenceindex + S (pfs_index_normalization_descent_executiondifference) = (L)) -> exists pfs_left_normalization_descent_executiondifference pfs_right_normalization_descent_executiondifference pfs_result_normalization_descent_executiondifference. ((((exists ff_h_pfp_normalization_descent_executiondifferenceleft. ff_h_pfp_normalization_descent_executiondifferenceleft + S (pfs_left_normalization_descent_executiondifference) = S ((S (pfs_index_normalization_descent_executiondifference)) * ac)) /\ exists ff_q_pfp_normalization_descent_executiondifferenceleft. ab = ff_q_pfp_normalization_descent_executiondifferenceleft * S ((S (pfs_index_normalization_descent_executiondifference)) * ac) + (pfs_left_normalization_descent_executiondifference))) /\ (((((exists ff_h_pfp_normalization_descent_executiondifferenceright. ff_h_pfp_normalization_descent_executiondifferenceright + S (pfs_right_normalization_descent_executiondifference) = S ((S (pfs_index_normalization_descent_executiondifference)) * pfd_product_scale_normalization_descent_execution)) /\ exists ff_q_pfp_normalization_descent_executiondifferenceright. pfd_product_code_normalization_descent_execution = ff_q_pfp_normalization_descent_executiondifferenceright * S ((S (pfs_index_normalization_descent_executiondifference)) * pfd_product_scale_normalization_descent_execution) + (pfs_right_normalization_descent_executiondifference))) /\ (((((exists ff_h_pfp_normalization_descent_executiondifferenceresult. ff_h_pfp_normalization_descent_executiondifferenceresult + S (pfs_result_normalization_descent_executiondifference) = S ((S (pfs_index_normalization_descent_executiondifference)) * pfd_residual_scale_normalization_descent_execution)) /\ exists ff_q_pfp_normalization_descent_executiondifferenceresult. pfd_residual_code_normalization_descent_execution = ff_q_pfp_normalization_descent_executiondifferenceresult * S ((S (pfs_index_normalization_descent_executiondifference)) * pfd_residual_scale_normalization_descent_execution) + (pfs_result_normalization_descent_executiondifference))) /\ ((((exists pfa_gap_normalization_descent_executiondifferenceoperationleft. pfa_gap_normalization_descent_executiondifferenceoperationleft + S (pfs_right_normalization_descent_executiondifference) = (p)) /\ (((exists pfa_gap_normalization_descent_executiondifferenceoperationright. pfa_gap_normalization_descent_executiondifferenceoperationright + S (pfs_result_normalization_descent_executiondifference) = (p)) /\ ((((exists pfa_gap_normalization_descent_executiondifferenceoperationresultbound. pfa_gap_normalization_descent_executiondifferenceoperationresultbound + S (pfs_left_normalization_descent_executiondifference) = (p)) /\ ((exists pfa_offset_left_normalization_descent_executiondifferenceoperationresultcongruence pfa_offset_right_normalization_descent_executiondifferenceoperationresultcongruence. ((pfs_right_normalization_descent_executiondifference) + (pfs_result_normalization_descent_executiondifference)) + (p) * pfa_offset_left_normalization_descent_executiondifferenceoperationresultcongruence = (pfs_left_normalization_descent_executiondifference) + (p) * pfa_offset_right_normalization_descent_executiondifferenceoperationresultcongruence)))))))))))))))) /\ (((((L)=(pfd_cut_normalization_descent_execution)+(R)) /\ (((forall fom_index_pfp_normalization_descent_executiontriminput. (exists fom_gap_pfp_normalization_descent_executiontriminput_index_bound. fom_gap_pfp_normalization_descent_executiontriminput_index_bound + S (fom_index_pfp_normalization_descent_executiontriminput) = L) -> exists fom_value_pfp_normalization_descent_executiontriminput. ((((exists fom_beta_height_pfp_normalization_descent_executiontriminput_entry. fom_beta_height_pfp_normalization_descent_executiontriminput_entry + S (fom_value_pfp_normalization_descent_executiontriminput) = S ((S (fom_index_pfp_normalization_descent_executiontriminput)) * pfd_residual_scale_normalization_descent_execution)) /\ exists fom_beta_quotient_pfp_normalization_descent_executiontriminput_entry. pfd_residual_code_normalization_descent_execution = fom_beta_quotient_pfp_normalization_descent_executiontriminput_entry * S ((S (fom_index_pfp_normalization_descent_executiontriminput)) * pfd_residual_scale_normalization_descent_execution) + (fom_value_pfp_normalization_descent_executiontriminput))) /\ (exists fom_gap_pfp_normalization_descent_executiontriminput_value_bound. fom_gap_pfp_normalization_descent_executiontriminput_value_bound + S (fom_value_pfp_normalization_descent_executiontriminput) = p))) /\ (((forall pfp_repeat_index_normalization_descent_executiontrimremoved. (exists pfa_gap_normalization_descent_executiontrimremovedindex. pfa_gap_normalization_descent_executiontrimremovedindex + S (pfp_repeat_index_normalization_descent_executiontrimremoved) = (pfd_cut_normalization_descent_execution)) -> (((exists ff_h_pfp_normalization_descent_executiontrimremovedentry. ff_h_pfp_normalization_descent_executiontrimremovedentry + S (0) = S ((S (pfp_repeat_index_normalization_descent_executiontrimremoved)) * pfd_residual_scale_normalization_descent_execution)) /\ exists ff_q_pfp_normalization_descent_executiontrimremovedentry. pfd_residual_code_normalization_descent_execution = ff_q_pfp_normalization_descent_executiontrimremovedentry * S ((S (pfp_repeat_index_normalization_descent_executiontrimremoved)) * pfd_residual_scale_normalization_descent_execution) + (0)))) /\ (((forall pftrim_index_normalization_descent_executiontrimsuffix pftrim_value_normalization_descent_executiontrimsuffix. (exists pfa_gap_normalization_descent_executiontrimsuffixbound. pfa_gap_normalization_descent_executiontrimsuffixbound + S (pftrim_index_normalization_descent_executiontrimsuffix) = (R)) -> (((exists ff_h_pfp_normalization_descent_executiontrimsuffixsource. ff_h_pfp_normalization_descent_executiontrimsuffixsource + S (pftrim_value_normalization_descent_executiontrimsuffix) = S ((S ((pfd_cut_normalization_descent_execution)+pftrim_index_normalization_descent_executiontrimsuffix)) * pfd_residual_scale_normalization_descent_execution)) /\ exists ff_q_pfp_normalization_descent_executiontrimsuffixsource. pfd_residual_code_normalization_descent_execution = ff_q_pfp_normalization_descent_executiontrimsuffixsource * S ((S ((pfd_cut_normalization_descent_execution)+pftrim_index_normalization_descent_executiontrimsuffix)) * pfd_residual_scale_normalization_descent_execution) + (pftrim_value_normalization_descent_executiontrimsuffix))) -> (((exists ff_h_pfp_normalization_descent_executiontrimsuffixoutput. ff_h_pfp_normalization_descent_executiontrimsuffixoutput + S (pftrim_value_normalization_descent_executiontrimsuffix) = S ((S (pftrim_index_normalization_descent_executiontrimsuffix)) * rc)) /\ exists ff_q_pfp_normalization_descent_executiontrimsuffixoutput. rb = ff_q_pfp_normalization_descent_executiontrimsuffixoutput * S ((S (pftrim_index_normalization_descent_executiontrimsuffix)) * rc) + (pftrim_value_normalization_descent_executiontrimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_normalization_descent_executiontrimnormal. ((((exists ff_h_pfp_normalization_descent_executiontrimnormalentry. ff_h_pfp_normalization_descent_executiontrimnormalentry + S (pftrim_leading_normalization_descent_executiontrimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_normalization_descent_executiontrimnormalentry. rb = ff_q_pfp_normalization_descent_executiontrimnormalentry * S ((S (0)) * rc) + (pftrim_leading_normalization_descent_executiontrimnormal))) /\ ((~(pftrim_leading_normalization_descent_executiontrimnormal=0))))))))))))))))))))))))))))))))) -> (((exists pfc_gap_normalization_descent_weak. pfc_gap_normalization_descent_weak+(R)=(d)) /\ ((exists pfa_gap_normalization_descent_strict. pfa_gap_normalization_descent_strict + S (R) = (S d)))))

Complete tactic proof in conservative notation

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

48 script commands · 13 reading checkpoints · 2 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.

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 L
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro d
  8. L8
    intro qb
  9. L9
    intro qc
  10. L10
    intro q
02Fix variables and assumptionsL11–15

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

  1. L11
    intro rb
  2. L12
    intro rc
  3. L13
    intro R
  4. L14
    intro hp
  5. L15
    intro hexecution
03Establish hdegreeL16–25

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

  1. L16
    have hdegree : R = 0 ∨ (∃ x. FpRepresentedDegree(p,rb,rc,R,x) ∧ Lt(x,d))Definitions: FpRepresentedDegree(p,rb,rc,R,x)Lt(x,d)Original native command in the exact edition
  2. L17
    specialize prime_field_polynomial_division_remainder_degree (p)
  3. L18
    specialize prime_field_polynomial_division_remainder_degree (ab)
  4. L19
    specialize prime_field_polynomial_division_remainder_degree (ac)
  5. L20
    specialize prime_field_polynomial_division_remainder_degree (L)
  6. L21
    specialize prime_field_polynomial_division_remainder_degree (bb)
  7. L22
    specialize prime_field_polynomial_division_remainder_degree (bc)
  8. L23
    specialize prime_field_polynomial_division_remainder_degree (d)
  9. L24
    specialize prime_field_polynomial_division_remainder_degree (qb)
  10. L25
    specialize prime_field_polynomial_division_remainder_degree (qc)
04Use earlier factsL26–32

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

  1. L26
    specialize prime_field_polynomial_division_remainder_degree (q)
  2. L27
    specialize prime_field_polynomial_division_remainder_degree (rb)
  3. L28
    specialize prime_field_polynomial_division_remainder_degree (rc)
  4. L29
    specialize prime_field_polynomial_division_remainder_degree (R)
  5. L30
    apply prime_field_polynomial_division_remainder_degree
  6. L31
    exact hp
  7. L32
    exact hexecution
05Establish hboundL33–33

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

  1. L33
    have hbound : Le(R,d)Definitions: Le(R,d)Original native command in the exact edition
06Separate the logical casesL34–34

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

  1. L34
    cases hdegree
07Calculate and transport equalitiesL35–35

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

  1. L35
    rewrite hdegree_left
08Use earlier factsL36–37

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

  1. L36
    specialize zero_le (d)
  2. L37
    apply zero_le
09Separate the logical casesL38–40

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

  1. L38
    cases hdegree_right
  2. L39
    cases hdegree_right_witness
  3. L40
    cases hdegree_right_witness_left
10Calculate and transport equalitiesL41–41

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

  1. L41
    rewrite hdegree_right_witness_left_left
11Use earlier factsL42–42

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

  1. L42
    exact hdegree_right_witness_right
12Separate the logical casesL43–43

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

  1. L43
    split
13Use earlier factsL44–48

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

  1. L44
    exact hbound
  2. L45
    specialize succ_le_succ (R)
  3. L46
    specialize succ_le_succ (d)
  4. L47
    apply succ_le_succ
  5. L48
    exact hbound

Library-wide reading audit

Original defined command ledger · 48 lines
  1. 0001intro p
  2. 0002intro ab
  3. 0003intro ac
  4. 0004intro L
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro d
  8. 0008intro qb
  9. 0009intro qc
  10. 0010intro q
  11. 0011intro rb
  12. 0012intro rc
  13. 0013intro R
  14. 0014intro hp
  15. 0015intro hexecution
  16. 0016have hdegree : R = 0 ∨ (∃ x. FpRepresentedDegree(p,rb,rc,R,x)Lt(x,d))
  17. 0017specialize prime_field_polynomial_division_remainder_degree (p)
  18. 0018specialize prime_field_polynomial_division_remainder_degree (ab)
  19. 0019specialize prime_field_polynomial_division_remainder_degree (ac)
  20. 0020specialize prime_field_polynomial_division_remainder_degree (L)
  21. 0021specialize prime_field_polynomial_division_remainder_degree (bb)
  22. 0022specialize prime_field_polynomial_division_remainder_degree (bc)
  23. 0023specialize prime_field_polynomial_division_remainder_degree (d)
  24. 0024specialize prime_field_polynomial_division_remainder_degree (qb)
  25. 0025specialize prime_field_polynomial_division_remainder_degree (qc)
  26. 0026specialize prime_field_polynomial_division_remainder_degree (q)
  27. 0027specialize prime_field_polynomial_division_remainder_degree (rb)
  28. 0028specialize prime_field_polynomial_division_remainder_degree (rc)
  29. 0029specialize prime_field_polynomial_division_remainder_degree (R)
  30. 0030apply prime_field_polynomial_division_remainder_degree
  31. 0031exact hp
  32. 0032exact hexecution
  33. 0033have hbound : Le(R,d)
  34. 0034cases hdegree
  35. 0035rewrite hdegree_left
  36. 0036specialize zero_le (d)
  37. 0037apply zero_le
  38. 0038cases hdegree_right
  39. 0039cases hdegree_right_witness
  40. 0040cases hdegree_right_witness_left
  41. 0041rewrite hdegree_right_witness_left_left
  42. 0042exact hdegree_right_witness_right
  43. 0043split
  44. 0044exact hbound
  45. 0045specialize succ_le_succ (R)
  46. 0046specialize succ_le_succ (d)
  47. 0047apply succ_le_succ
  48. 0048exact hbound