PX0057

prime_field_polynomial_division_quotient_data_functional

The actual divisor head, inverse, quotient length, and decoded quotient coefficients are unique; no primality or code-number equality is inserted.

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. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ d. ∀ b. ∀ k. ∀ q. ∀ qb. ∀ qc. ∀ B. ∀ K. ∀ Q. ∀ QB. ∀ QC. BetaAt(bb,bc,0,b) ∧ (FpInv(p,b,k) ∧ (PolynomialQuotientLength(L,d,q)FpPolynomialQuotientPrefix(p,k,ab,ac,bb,bc,S d,qb,qc,q))) → BetaAt(bb,bc,0,B) ∧ (FpInv(p,B,K) ∧ (PolynomialQuotientLength(L,d,Q)FpPolynomialQuotientPrefix(p,K,ab,ac,bb,bc,S d,QB,QC,Q))) → b = B ∧ (k = K ∧ (q = Q ∧ BetaPrefixEqual(qb,qc,QB,QC,q)))

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 b k q qb qc B K Q QB QC. (((((exists ff_h_pfp_data_unique_firsthead. ff_h_pfp_data_unique_firsthead + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_data_unique_firsthead. bb = ff_q_pfp_data_unique_firsthead * S ((S (0)) * bc) + (b))) /\ (((((~((b) = 0)) /\ ((((exists pfa_gap_data_unique_firstinversemultiplicationleft. pfa_gap_data_unique_firstinversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_data_unique_firstinversemultiplicationright. pfa_gap_data_unique_firstinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_data_unique_firstinversemultiplicationresultbound. pfa_gap_data_unique_firstinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_data_unique_firstinversemultiplicationresultcongruence pfa_offset_right_data_unique_firstinversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_data_unique_firstinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_data_unique_firstinversemultiplicationresultcongruence)))))))))))) /\ (((((((q)=0) /\ ((exists pfc_gap_data_unique_firstlengthshort. pfc_gap_data_unique_firstlengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) /\ ((forall pfd_index_data_unique_firstexecution. (exists pfa_gap_data_unique_firstexecutionbound. pfa_gap_data_unique_firstexecutionbound + S (pfd_index_data_unique_firstexecution) = (q)) -> exists pfd_value_data_unique_firstexecution. ((((exists ff_h_pfp_data_unique_firstexecutionentry. ff_h_pfp_data_unique_firstexecutionentry + S (pfd_value_data_unique_firstexecution) = S ((S (pfd_index_data_unique_firstexecution)) * qc)) /\ exists ff_q_pfp_data_unique_firstexecutionentry. qb = ff_q_pfp_data_unique_firstexecutionentry * S ((S (pfd_index_data_unique_firstexecution)) * qc) + (pfd_value_data_unique_firstexecution))) /\ ((exists pfd_input_data_unique_firstexecutionstep pfd_previous_data_unique_firstexecutionstep pfd_difference_data_unique_firstexecutionstep. ((((exists ff_h_pfp_data_unique_firstexecutionstepinput. ff_h_pfp_data_unique_firstexecutionstepinput + S (pfd_input_data_unique_firstexecutionstep) = S ((S (pfd_index_data_unique_firstexecution)) * ac)) /\ exists ff_q_pfp_data_unique_firstexecutionstepinput. ab = ff_q_pfp_data_unique_firstexecutionstepinput * S ((S (pfd_index_data_unique_firstexecution)) * ac) + (pfd_input_data_unique_firstexecutionstep))) /\ (((exists pfc_terms_code_data_unique_firstexecutionstepprevious pfc_terms_scale_data_unique_firstexecutionstepprevious pfc_natural_sum_data_unique_firstexecutionstepprevious. ((forall pfc_index_data_unique_firstexecutionsteppreviousdiagonal. (exists pfa_gap_data_unique_firstexecutionsteppreviousdiagonalbound. pfa_gap_data_unique_firstexecutionsteppreviousdiagonalbound + S (pfc_index_data_unique_firstexecutionsteppreviousdiagonal) = (S (pfd_index_data_unique_firstexecution))) -> exists pfc_value_data_unique_firstexecutionsteppreviousdiagonal. ((((exists ff_h_pfp_data_unique_firstexecutionsteppreviousdiagonalentry. ff_h_pfp_data_unique_firstexecutionsteppreviousdiagonalentry + S (pfc_value_data_unique_firstexecutionsteppreviousdiagonal) = S ((S (pfc_index_data_unique_firstexecutionsteppreviousdiagonal)) * pfc_terms_scale_data_unique_firstexecutionstepprevious)) /\ exists ff_q_pfp_data_unique_firstexecutionsteppreviousdiagonalentry. pfc_terms_code_data_unique_firstexecutionstepprevious = ff_q_pfp_data_unique_firstexecutionsteppreviousdiagonalentry * S ((S (pfc_index_data_unique_firstexecutionsteppreviousdiagonal)) * pfc_terms_scale_data_unique_firstexecutionstepprevious) + (pfc_value_data_unique_firstexecutionsteppreviousdiagonal))) /\ ((exists pfc_complement_data_unique_firstexecutionsteppreviousdiagonalterm pfc_left_data_unique_firstexecutionsteppreviousdiagonalterm pfc_right_data_unique_firstexecutionsteppreviousdiagonalterm. (((pfc_index_data_unique_firstexecutionsteppreviousdiagonal)+pfc_complement_data_unique_firstexecutionsteppreviousdiagonalterm=(pfd_index_data_unique_firstexecution)) /\ ((((((exists pfa_gap_data_unique_firstexecutionsteppreviousdiagonaltermleftinside. pfa_gap_data_unique_firstexecutionsteppreviousdiagonaltermleftinside + S (pfc_index_data_unique_firstexecutionsteppreviousdiagonal) = (pfd_index_data_unique_firstexecution)) /\ ((((exists ff_h_pfp_data_unique_firstexecutionsteppreviousdiagonaltermleftentry. ff_h_pfp_data_unique_firstexecutionsteppreviousdiagonaltermleftentry + S (pfc_left_data_unique_firstexecutionsteppreviousdiagonalterm) = S ((S (pfc_index_data_unique_firstexecutionsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_data_unique_firstexecutionsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_data_unique_firstexecutionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_data_unique_firstexecutionsteppreviousdiagonal)) * qc) + (pfc_left_data_unique_firstexecutionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_data_unique_firstexecutionsteppreviousdiagonaltermleftoutside. pfc_gap_data_unique_firstexecutionsteppreviousdiagonaltermleftoutside+(pfd_index_data_unique_firstexecution)=(pfc_index_data_unique_firstexecutionsteppreviousdiagonal)) /\ (((pfc_left_data_unique_firstexecutionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_data_unique_firstexecutionsteppreviousdiagonaltermrightinside. pfa_gap_data_unique_firstexecutionsteppreviousdiagonaltermrightinside + S (pfc_complement_data_unique_firstexecutionsteppreviousdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_data_unique_firstexecutionsteppreviousdiagonaltermrightentry. ff_h_pfp_data_unique_firstexecutionsteppreviousdiagonaltermrightentry + S (pfc_right_data_unique_firstexecutionsteppreviousdiagonalterm) = S ((S (pfc_complement_data_unique_firstexecutionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_data_unique_firstexecutionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_data_unique_firstexecutionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_data_unique_firstexecutionsteppreviousdiagonalterm)) * bc) + (pfc_right_data_unique_firstexecutionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_data_unique_firstexecutionsteppreviousdiagonaltermrightoutside. pfc_gap_data_unique_firstexecutionsteppreviousdiagonaltermrightoutside+(S (d))=(pfc_complement_data_unique_firstexecutionsteppreviousdiagonalterm)) /\ (((pfc_right_data_unique_firstexecutionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_data_unique_firstexecutionsteppreviousdiagonal)=pfc_left_data_unique_firstexecutionsteppreviousdiagonalterm*pfc_right_data_unique_firstexecutionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_data_unique_firstexecutionstepprevioussum fs_v_pfc_data_unique_firstexecutionstepprevioussum. ((((exists fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_start. fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_data_unique_firstexecutionstepprevioussum)) /\ exists fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_start. fs_u_pfc_data_unique_firstexecutionstepprevioussum = fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_data_unique_firstexecutionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_terminal. fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_terminal + S (pfc_natural_sum_data_unique_firstexecutionstepprevious) = S ((S (S (pfd_index_data_unique_firstexecution))) * fs_v_pfc_data_unique_firstexecutionstepprevioussum)) /\ exists fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_terminal. fs_u_pfc_data_unique_firstexecutionstepprevioussum = fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_terminal * S ((S (S (pfd_index_data_unique_firstexecution))) * fs_v_pfc_data_unique_firstexecutionstepprevioussum) + (pfc_natural_sum_data_unique_firstexecutionstepprevious))) /\ forall fs_i_pfc_data_unique_firstexecutionstepprevioussum_body_steps. (exists fs_lt_pfc_data_unique_firstexecutionstepprevioussum_body_steps_bound. fs_lt_pfc_data_unique_firstexecutionstepprevioussum_body_steps_bound + S fs_i_pfc_data_unique_firstexecutionstepprevioussum_body_steps = S (pfd_index_data_unique_firstexecution)) -> exists fs_a_pfc_data_unique_firstexecutionstepprevioussum_body_steps fs_r_pfc_data_unique_firstexecutionstepprevioussum_body_steps fs_s_pfc_data_unique_firstexecutionstepprevioussum_body_steps. ((((exists fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_steps_summand. fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_steps_summand + S (fs_a_pfc_data_unique_firstexecutionstepprevioussum_body_steps) = S ((S (fs_i_pfc_data_unique_firstexecutionstepprevioussum_body_steps)) * pfc_terms_scale_data_unique_firstexecutionstepprevious)) /\ exists fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_steps_summand. pfc_terms_code_data_unique_firstexecutionstepprevious = fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_data_unique_firstexecutionstepprevioussum_body_steps)) * pfc_terms_scale_data_unique_firstexecutionstepprevious) + (fs_a_pfc_data_unique_firstexecutionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_steps_partial. fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_steps_partial + S (fs_r_pfc_data_unique_firstexecutionstepprevioussum_body_steps) = S ((S (fs_i_pfc_data_unique_firstexecutionstepprevioussum_body_steps)) * fs_v_pfc_data_unique_firstexecutionstepprevioussum)) /\ exists fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_steps_partial. fs_u_pfc_data_unique_firstexecutionstepprevioussum = fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_data_unique_firstexecutionstepprevioussum_body_steps)) * fs_v_pfc_data_unique_firstexecutionstepprevioussum) + (fs_r_pfc_data_unique_firstexecutionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_steps_successor. fs_h_pfc_data_unique_firstexecutionstepprevioussum_body_steps_successor + S (fs_s_pfc_data_unique_firstexecutionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_data_unique_firstexecutionstepprevioussum_body_steps)) * fs_v_pfc_data_unique_firstexecutionstepprevioussum)) /\ exists fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_steps_successor. fs_u_pfc_data_unique_firstexecutionstepprevioussum = fs_q_pfc_data_unique_firstexecutionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_data_unique_firstexecutionstepprevioussum_body_steps)) * fs_v_pfc_data_unique_firstexecutionstepprevioussum) + (fs_s_pfc_data_unique_firstexecutionstepprevioussum_body_steps))) /\ fs_s_pfc_data_unique_firstexecutionstepprevioussum_body_steps = fs_r_pfc_data_unique_firstexecutionstepprevioussum_body_steps + fs_a_pfc_data_unique_firstexecutionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_data_unique_firstexecutionsteppreviousresiduebound. pfa_gap_data_unique_firstexecutionsteppreviousresiduebound + S (pfd_previous_data_unique_firstexecutionstep) = (p)) /\ ((exists pfa_offset_left_data_unique_firstexecutionsteppreviousresiduecongruence pfa_offset_right_data_unique_firstexecutionsteppreviousresiduecongruence. (pfc_natural_sum_data_unique_firstexecutionstepprevious) + (p) * pfa_offset_left_data_unique_firstexecutionsteppreviousresiduecongruence = (pfd_previous_data_unique_firstexecutionstep) + (p) * pfa_offset_right_data_unique_firstexecutionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_data_unique_firstexecutionstepsubtractleft. pfa_gap_data_unique_firstexecutionstepsubtractleft + S (pfd_previous_data_unique_firstexecutionstep) = (p)) /\ (((exists pfa_gap_data_unique_firstexecutionstepsubtractright. pfa_gap_data_unique_firstexecutionstepsubtractright + S (pfd_difference_data_unique_firstexecutionstep) = (p)) /\ ((((exists pfa_gap_data_unique_firstexecutionstepsubtractresultbound. pfa_gap_data_unique_firstexecutionstepsubtractresultbound + S (pfd_input_data_unique_firstexecutionstep) = (p)) /\ ((exists pfa_offset_left_data_unique_firstexecutionstepsubtractresultcongruence pfa_offset_right_data_unique_firstexecutionstepsubtractresultcongruence. ((pfd_previous_data_unique_firstexecutionstep) + (pfd_difference_data_unique_firstexecutionstep)) + (p) * pfa_offset_left_data_unique_firstexecutionstepsubtractresultcongruence = (pfd_input_data_unique_firstexecutionstep) + (p) * pfa_offset_right_data_unique_firstexecutionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_data_unique_firstexecutionstepmultiplyleft. pfa_gap_data_unique_firstexecutionstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_data_unique_firstexecutionstepmultiplyright. pfa_gap_data_unique_firstexecutionstepmultiplyright + S (pfd_difference_data_unique_firstexecutionstep) = (p)) /\ ((((exists pfa_gap_data_unique_firstexecutionstepmultiplyresultbound. pfa_gap_data_unique_firstexecutionstepmultiplyresultbound + S (pfd_value_data_unique_firstexecution) = (p)) /\ ((exists pfa_offset_left_data_unique_firstexecutionstepmultiplyresultcongruence pfa_offset_right_data_unique_firstexecutionstepmultiplyresultcongruence. ((k) * (pfd_difference_data_unique_firstexecutionstep)) + (p) * pfa_offset_left_data_unique_firstexecutionstepmultiplyresultcongruence = (pfd_value_data_unique_firstexecution) + (p) * pfa_offset_right_data_unique_firstexecutionstepmultiplyresultcongruence)))))))))))))))))))))))))) -> (((((exists ff_h_pfp_data_unique_secondhead. ff_h_pfp_data_unique_secondhead + S (B) = S ((S (0)) * bc)) /\ exists ff_q_pfp_data_unique_secondhead. bb = ff_q_pfp_data_unique_secondhead * S ((S (0)) * bc) + (B))) /\ (((((~((B) = 0)) /\ ((((exists pfa_gap_data_unique_secondinversemultiplicationleft. pfa_gap_data_unique_secondinversemultiplicationleft + S (B) = (p)) /\ (((exists pfa_gap_data_unique_secondinversemultiplicationright. pfa_gap_data_unique_secondinversemultiplicationright + S (K) = (p)) /\ ((((exists pfa_gap_data_unique_secondinversemultiplicationresultbound. pfa_gap_data_unique_secondinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_data_unique_secondinversemultiplicationresultcongruence pfa_offset_right_data_unique_secondinversemultiplicationresultcongruence. ((B) * (K)) + (p) * pfa_offset_left_data_unique_secondinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_data_unique_secondinversemultiplicationresultcongruence)))))))))))) /\ (((((((Q)=0) /\ ((exists pfc_gap_data_unique_secondlengthshort. pfc_gap_data_unique_secondlengthshort+(L)=(d))))) \/ (((~((Q)=0)) /\ (((Q)+(d)=(L)))))) /\ ((forall pfd_index_data_unique_secondexecution. (exists pfa_gap_data_unique_secondexecutionbound. pfa_gap_data_unique_secondexecutionbound + S (pfd_index_data_unique_secondexecution) = (Q)) -> exists pfd_value_data_unique_secondexecution. ((((exists ff_h_pfp_data_unique_secondexecutionentry. ff_h_pfp_data_unique_secondexecutionentry + S (pfd_value_data_unique_secondexecution) = S ((S (pfd_index_data_unique_secondexecution)) * QC)) /\ exists ff_q_pfp_data_unique_secondexecutionentry. QB = ff_q_pfp_data_unique_secondexecutionentry * S ((S (pfd_index_data_unique_secondexecution)) * QC) + (pfd_value_data_unique_secondexecution))) /\ ((exists pfd_input_data_unique_secondexecutionstep pfd_previous_data_unique_secondexecutionstep pfd_difference_data_unique_secondexecutionstep. ((((exists ff_h_pfp_data_unique_secondexecutionstepinput. ff_h_pfp_data_unique_secondexecutionstepinput + S (pfd_input_data_unique_secondexecutionstep) = S ((S (pfd_index_data_unique_secondexecution)) * ac)) /\ exists ff_q_pfp_data_unique_secondexecutionstepinput. ab = ff_q_pfp_data_unique_secondexecutionstepinput * S ((S (pfd_index_data_unique_secondexecution)) * ac) + (pfd_input_data_unique_secondexecutionstep))) /\ (((exists pfc_terms_code_data_unique_secondexecutionstepprevious pfc_terms_scale_data_unique_secondexecutionstepprevious pfc_natural_sum_data_unique_secondexecutionstepprevious. ((forall pfc_index_data_unique_secondexecutionsteppreviousdiagonal. (exists pfa_gap_data_unique_secondexecutionsteppreviousdiagonalbound. pfa_gap_data_unique_secondexecutionsteppreviousdiagonalbound + S (pfc_index_data_unique_secondexecutionsteppreviousdiagonal) = (S (pfd_index_data_unique_secondexecution))) -> exists pfc_value_data_unique_secondexecutionsteppreviousdiagonal. ((((exists ff_h_pfp_data_unique_secondexecutionsteppreviousdiagonalentry. ff_h_pfp_data_unique_secondexecutionsteppreviousdiagonalentry + S (pfc_value_data_unique_secondexecutionsteppreviousdiagonal) = S ((S (pfc_index_data_unique_secondexecutionsteppreviousdiagonal)) * pfc_terms_scale_data_unique_secondexecutionstepprevious)) /\ exists ff_q_pfp_data_unique_secondexecutionsteppreviousdiagonalentry. pfc_terms_code_data_unique_secondexecutionstepprevious = ff_q_pfp_data_unique_secondexecutionsteppreviousdiagonalentry * S ((S (pfc_index_data_unique_secondexecutionsteppreviousdiagonal)) * pfc_terms_scale_data_unique_secondexecutionstepprevious) + (pfc_value_data_unique_secondexecutionsteppreviousdiagonal))) /\ ((exists pfc_complement_data_unique_secondexecutionsteppreviousdiagonalterm pfc_left_data_unique_secondexecutionsteppreviousdiagonalterm pfc_right_data_unique_secondexecutionsteppreviousdiagonalterm. (((pfc_index_data_unique_secondexecutionsteppreviousdiagonal)+pfc_complement_data_unique_secondexecutionsteppreviousdiagonalterm=(pfd_index_data_unique_secondexecution)) /\ ((((((exists pfa_gap_data_unique_secondexecutionsteppreviousdiagonaltermleftinside. pfa_gap_data_unique_secondexecutionsteppreviousdiagonaltermleftinside + S (pfc_index_data_unique_secondexecutionsteppreviousdiagonal) = (pfd_index_data_unique_secondexecution)) /\ ((((exists ff_h_pfp_data_unique_secondexecutionsteppreviousdiagonaltermleftentry. ff_h_pfp_data_unique_secondexecutionsteppreviousdiagonaltermleftentry + S (pfc_left_data_unique_secondexecutionsteppreviousdiagonalterm) = S ((S (pfc_index_data_unique_secondexecutionsteppreviousdiagonal)) * QC)) /\ exists ff_q_pfp_data_unique_secondexecutionsteppreviousdiagonaltermleftentry. QB = ff_q_pfp_data_unique_secondexecutionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_data_unique_secondexecutionsteppreviousdiagonal)) * QC) + (pfc_left_data_unique_secondexecutionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_data_unique_secondexecutionsteppreviousdiagonaltermleftoutside. pfc_gap_data_unique_secondexecutionsteppreviousdiagonaltermleftoutside+(pfd_index_data_unique_secondexecution)=(pfc_index_data_unique_secondexecutionsteppreviousdiagonal)) /\ (((pfc_left_data_unique_secondexecutionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_data_unique_secondexecutionsteppreviousdiagonaltermrightinside. pfa_gap_data_unique_secondexecutionsteppreviousdiagonaltermrightinside + S (pfc_complement_data_unique_secondexecutionsteppreviousdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_data_unique_secondexecutionsteppreviousdiagonaltermrightentry. ff_h_pfp_data_unique_secondexecutionsteppreviousdiagonaltermrightentry + S (pfc_right_data_unique_secondexecutionsteppreviousdiagonalterm) = S ((S (pfc_complement_data_unique_secondexecutionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_data_unique_secondexecutionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_data_unique_secondexecutionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_data_unique_secondexecutionsteppreviousdiagonalterm)) * bc) + (pfc_right_data_unique_secondexecutionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_data_unique_secondexecutionsteppreviousdiagonaltermrightoutside. pfc_gap_data_unique_secondexecutionsteppreviousdiagonaltermrightoutside+(S (d))=(pfc_complement_data_unique_secondexecutionsteppreviousdiagonalterm)) /\ (((pfc_right_data_unique_secondexecutionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_data_unique_secondexecutionsteppreviousdiagonal)=pfc_left_data_unique_secondexecutionsteppreviousdiagonalterm*pfc_right_data_unique_secondexecutionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_data_unique_secondexecutionstepprevioussum fs_v_pfc_data_unique_secondexecutionstepprevioussum. ((((exists fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_start. fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_data_unique_secondexecutionstepprevioussum)) /\ exists fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_start. fs_u_pfc_data_unique_secondexecutionstepprevioussum = fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_data_unique_secondexecutionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_terminal. fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_terminal + S (pfc_natural_sum_data_unique_secondexecutionstepprevious) = S ((S (S (pfd_index_data_unique_secondexecution))) * fs_v_pfc_data_unique_secondexecutionstepprevioussum)) /\ exists fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_terminal. fs_u_pfc_data_unique_secondexecutionstepprevioussum = fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_terminal * S ((S (S (pfd_index_data_unique_secondexecution))) * fs_v_pfc_data_unique_secondexecutionstepprevioussum) + (pfc_natural_sum_data_unique_secondexecutionstepprevious))) /\ forall fs_i_pfc_data_unique_secondexecutionstepprevioussum_body_steps. (exists fs_lt_pfc_data_unique_secondexecutionstepprevioussum_body_steps_bound. fs_lt_pfc_data_unique_secondexecutionstepprevioussum_body_steps_bound + S fs_i_pfc_data_unique_secondexecutionstepprevioussum_body_steps = S (pfd_index_data_unique_secondexecution)) -> exists fs_a_pfc_data_unique_secondexecutionstepprevioussum_body_steps fs_r_pfc_data_unique_secondexecutionstepprevioussum_body_steps fs_s_pfc_data_unique_secondexecutionstepprevioussum_body_steps. ((((exists fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_steps_summand. fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_steps_summand + S (fs_a_pfc_data_unique_secondexecutionstepprevioussum_body_steps) = S ((S (fs_i_pfc_data_unique_secondexecutionstepprevioussum_body_steps)) * pfc_terms_scale_data_unique_secondexecutionstepprevious)) /\ exists fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_steps_summand. pfc_terms_code_data_unique_secondexecutionstepprevious = fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_data_unique_secondexecutionstepprevioussum_body_steps)) * pfc_terms_scale_data_unique_secondexecutionstepprevious) + (fs_a_pfc_data_unique_secondexecutionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_steps_partial. fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_steps_partial + S (fs_r_pfc_data_unique_secondexecutionstepprevioussum_body_steps) = S ((S (fs_i_pfc_data_unique_secondexecutionstepprevioussum_body_steps)) * fs_v_pfc_data_unique_secondexecutionstepprevioussum)) /\ exists fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_steps_partial. fs_u_pfc_data_unique_secondexecutionstepprevioussum = fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_data_unique_secondexecutionstepprevioussum_body_steps)) * fs_v_pfc_data_unique_secondexecutionstepprevioussum) + (fs_r_pfc_data_unique_secondexecutionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_steps_successor. fs_h_pfc_data_unique_secondexecutionstepprevioussum_body_steps_successor + S (fs_s_pfc_data_unique_secondexecutionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_data_unique_secondexecutionstepprevioussum_body_steps)) * fs_v_pfc_data_unique_secondexecutionstepprevioussum)) /\ exists fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_steps_successor. fs_u_pfc_data_unique_secondexecutionstepprevioussum = fs_q_pfc_data_unique_secondexecutionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_data_unique_secondexecutionstepprevioussum_body_steps)) * fs_v_pfc_data_unique_secondexecutionstepprevioussum) + (fs_s_pfc_data_unique_secondexecutionstepprevioussum_body_steps))) /\ fs_s_pfc_data_unique_secondexecutionstepprevioussum_body_steps = fs_r_pfc_data_unique_secondexecutionstepprevioussum_body_steps + fs_a_pfc_data_unique_secondexecutionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_data_unique_secondexecutionsteppreviousresiduebound. pfa_gap_data_unique_secondexecutionsteppreviousresiduebound + S (pfd_previous_data_unique_secondexecutionstep) = (p)) /\ ((exists pfa_offset_left_data_unique_secondexecutionsteppreviousresiduecongruence pfa_offset_right_data_unique_secondexecutionsteppreviousresiduecongruence. (pfc_natural_sum_data_unique_secondexecutionstepprevious) + (p) * pfa_offset_left_data_unique_secondexecutionsteppreviousresiduecongruence = (pfd_previous_data_unique_secondexecutionstep) + (p) * pfa_offset_right_data_unique_secondexecutionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_data_unique_secondexecutionstepsubtractleft. pfa_gap_data_unique_secondexecutionstepsubtractleft + S (pfd_previous_data_unique_secondexecutionstep) = (p)) /\ (((exists pfa_gap_data_unique_secondexecutionstepsubtractright. pfa_gap_data_unique_secondexecutionstepsubtractright + S (pfd_difference_data_unique_secondexecutionstep) = (p)) /\ ((((exists pfa_gap_data_unique_secondexecutionstepsubtractresultbound. pfa_gap_data_unique_secondexecutionstepsubtractresultbound + S (pfd_input_data_unique_secondexecutionstep) = (p)) /\ ((exists pfa_offset_left_data_unique_secondexecutionstepsubtractresultcongruence pfa_offset_right_data_unique_secondexecutionstepsubtractresultcongruence. ((pfd_previous_data_unique_secondexecutionstep) + (pfd_difference_data_unique_secondexecutionstep)) + (p) * pfa_offset_left_data_unique_secondexecutionstepsubtractresultcongruence = (pfd_input_data_unique_secondexecutionstep) + (p) * pfa_offset_right_data_unique_secondexecutionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_data_unique_secondexecutionstepmultiplyleft. pfa_gap_data_unique_secondexecutionstepmultiplyleft + S (K) = (p)) /\ (((exists pfa_gap_data_unique_secondexecutionstepmultiplyright. pfa_gap_data_unique_secondexecutionstepmultiplyright + S (pfd_difference_data_unique_secondexecutionstep) = (p)) /\ ((((exists pfa_gap_data_unique_secondexecutionstepmultiplyresultbound. pfa_gap_data_unique_secondexecutionstepmultiplyresultbound + S (pfd_value_data_unique_secondexecution) = (p)) /\ ((exists pfa_offset_left_data_unique_secondexecutionstepmultiplyresultcongruence pfa_offset_right_data_unique_secondexecutionstepmultiplyresultcongruence. ((K) * (pfd_difference_data_unique_secondexecutionstep)) + (p) * pfa_offset_left_data_unique_secondexecutionstepmultiplyresultcongruence = (pfd_value_data_unique_secondexecution) + (p) * pfa_offset_right_data_unique_secondexecutionstepmultiplyresultcongruence)))))))))))))))))))))))))) -> (((b=B) /\ (((k=K) /\ (((q=Q) /\ ((forall mdr_i_pfp_data_unique_quotient mdr_a_pfp_data_unique_quotient. (exists mdr_gap_pfp_data_unique_quotientb. mdr_gap_pfp_data_unique_quotientb + S (mdr_i_pfp_data_unique_quotient) = (q)) -> (((exists ff_h_mdr_pfp_data_unique_quotiento. ff_h_mdr_pfp_data_unique_quotiento + S (mdr_a_pfp_data_unique_quotient) = S ((S (mdr_i_pfp_data_unique_quotient)) * qc)) /\ exists ff_q_mdr_pfp_data_unique_quotiento. qb = ff_q_mdr_pfp_data_unique_quotiento * S ((S (mdr_i_pfp_data_unique_quotient)) * qc) + (mdr_a_pfp_data_unique_quotient))) -> (((exists ff_h_mdr_pfp_data_unique_quotientn. ff_h_mdr_pfp_data_unique_quotientn + S (mdr_a_pfp_data_unique_quotient) = S ((S (mdr_i_pfp_data_unique_quotient)) * QC)) /\ exists ff_q_mdr_pfp_data_unique_quotientn. QB = ff_q_mdr_pfp_data_unique_quotientn * S ((S (mdr_i_pfp_data_unique_quotient)) * QC) + (mdr_a_pfp_data_unique_quotient)))))))))))

Complete tactic proof in conservative notation

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

78 script commands · 16 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 L
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro d
  8. L8
    intro b
  9. L9
    intro k
  10. L10
    intro q
02Fix variables and assumptionsL11–19

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

  1. L11
    intro qb
  2. L12
    intro qc
  3. L13
    intro B
  4. L14
    intro K
  5. L15
    intro Q
  6. L16
    intro QB
  7. L17
    intro QC
  8. L18
    intro hfirst
  9. L19
    intro hsecond
03Separate the logical casesL20–25

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

  1. L20
    cases hfirst
  2. L21
    cases hfirst_right
  3. L22
    cases hfirst_right_right
  4. L23
    cases hsecond
  5. L24
    cases hsecond_right
  6. L25
    cases hsecond_right_right
04Establish hheadL26–35

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.

  1. L26
    have hhead : b=B
  2. L27
    specialize beta_at_unique (bb)
  3. L28
    specialize beta_at_unique (bc)
  4. L29
    specialize beta_at_unique (0)
  5. L30
    specialize beta_at_unique (b)
  6. L31
    specialize beta_at_unique (B)
  7. L32
    apply beta_at_unique
  8. L33
    exact hfirst_left
  9. L34
    exact hsecond_left
  10. L35
    rewrite hhead at hfirst_right_left
05Calculate and transport equalitiesL36–37

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

  1. L36
    rewrite hhead at hfirst_right_left
  2. L37
    rewrite hhead at hfirst_right_left
06Establish hscalarL38–45

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field inverse functional.

  1. L38
    have hscalar : k=K
  2. L39
    specialize prime_field_inverse_functional (p)
  3. L40
    specialize prime_field_inverse_functional (B)
  4. L41
    specialize prime_field_inverse_functional (k)
  5. L42
    specialize prime_field_inverse_functional (K)
  6. L43
    apply prime_field_inverse_functional
  7. L44
    exact hfirst_right_left
  8. L45
    exact hsecond_right_left
07Establish hlengthL46–53

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply polynomial quotient length functional.

  1. L46
    have hlength : q=Q
  2. L47
    specialize polynomial_quotient_length_functional (L)
  3. L48
    specialize polynomial_quotient_length_functional (d)
  4. L49
    specialize polynomial_quotient_length_functional (q)
  5. L50
    specialize polynomial_quotient_length_functional (Q)
  6. L51
    apply polynomial_quotient_length_functional
  7. L52
    exact hfirst_right_right_left
  8. L53
    exact hsecond_right_right_left
08Separate the logical casesL54–54

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

  1. L54
    split
09Use earlier factsL55–55

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

  1. L55
    exact hhead
10Separate the logical casesL56–56

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

  1. L56
    split
11Use earlier factsL57–57

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

  1. L57
    exact hscalar
12Separate the logical casesL58–58

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

  1. L58
    split
13Use earlier factsL59–59

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

  1. L59
    exact hlength
14Calculate and transport equalitiesL60–63

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

  1. L60
    rewrite hscalar at hfirst_right_right_right
  2. L61
    rewrite hscalar at hfirst_right_right_right
  3. L62
    rewrite hlength at hfirst_right_right_right
  4. L63
    rewrite hlength
15Use earlier factsL64–73

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

  1. L64
    specialize prime_field_polynomial_quotient_prefix_functional (p)
  2. L65
    specialize prime_field_polynomial_quotient_prefix_functional (K)
  3. L66
    specialize prime_field_polynomial_quotient_prefix_functional (ab)
  4. L67
    specialize prime_field_polynomial_quotient_prefix_functional (ac)
  5. L68
    specialize prime_field_polynomial_quotient_prefix_functional (bb)
  6. L69
    specialize prime_field_polynomial_quotient_prefix_functional (bc)
  7. L70
    specialize prime_field_polynomial_quotient_prefix_functional (S d)
  8. L71
    specialize prime_field_polynomial_quotient_prefix_functional (qb)
  9. L72
    specialize prime_field_polynomial_quotient_prefix_functional (qc)
  10. L73
    specialize prime_field_polynomial_quotient_prefix_functional (QB)
16Use earlier factsL74–78

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

  1. L74
    specialize prime_field_polynomial_quotient_prefix_functional (QC)
  2. L75
    specialize prime_field_polynomial_quotient_prefix_functional (Q)
  3. L76
    apply prime_field_polynomial_quotient_prefix_functional
  4. L77
    exact hfirst_right_right_right
  5. L78
    exact hsecond_right_right_right

Library-wide reading audit

Original defined command ledger · 78 lines
  1. 0001intro p
  2. 0002intro ab
  3. 0003intro ac
  4. 0004intro L
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro d
  8. 0008intro b
  9. 0009intro k
  10. 0010intro q
  11. 0011intro qb
  12. 0012intro qc
  13. 0013intro B
  14. 0014intro K
  15. 0015intro Q
  16. 0016intro QB
  17. 0017intro QC
  18. 0018intro hfirst
  19. 0019intro hsecond
  20. 0020cases hfirst
  21. 0021cases hfirst_right
  22. 0022cases hfirst_right_right
  23. 0023cases hsecond
  24. 0024cases hsecond_right
  25. 0025cases hsecond_right_right
  26. 0026have hhead : b=B
  27. 0027specialize beta_at_unique (bb)
  28. 0028specialize beta_at_unique (bc)
  29. 0029specialize beta_at_unique (0)
  30. 0030specialize beta_at_unique (b)
  31. 0031specialize beta_at_unique (B)
  32. 0032apply beta_at_unique
  33. 0033exact hfirst_left
  34. 0034exact hsecond_left
  35. 0035rewrite hhead at hfirst_right_left
  36. 0036rewrite hhead at hfirst_right_left
  37. 0037rewrite hhead at hfirst_right_left
  38. 0038have hscalar : k=K
  39. 0039specialize prime_field_inverse_functional (p)
  40. 0040specialize prime_field_inverse_functional (B)
  41. 0041specialize prime_field_inverse_functional (k)
  42. 0042specialize prime_field_inverse_functional (K)
  43. 0043apply prime_field_inverse_functional
  44. 0044exact hfirst_right_left
  45. 0045exact hsecond_right_left
  46. 0046have hlength : q=Q
  47. 0047specialize polynomial_quotient_length_functional (L)
  48. 0048specialize polynomial_quotient_length_functional (d)
  49. 0049specialize polynomial_quotient_length_functional (q)
  50. 0050specialize polynomial_quotient_length_functional (Q)
  51. 0051apply polynomial_quotient_length_functional
  52. 0052exact hfirst_right_right_left
  53. 0053exact hsecond_right_right_left
  54. 0054split
  55. 0055exact hhead
  56. 0056split
  57. 0057exact hscalar
  58. 0058split
  59. 0059exact hlength
  60. 0060rewrite hscalar at hfirst_right_right_right
  61. 0061rewrite hscalar at hfirst_right_right_right
  62. 0062rewrite hlength at hfirst_right_right_right
  63. 0063rewrite hlength
  64. 0064specialize prime_field_polynomial_quotient_prefix_functional (p)
  65. 0065specialize prime_field_polynomial_quotient_prefix_functional (K)
  66. 0066specialize prime_field_polynomial_quotient_prefix_functional (ab)
  67. 0067specialize prime_field_polynomial_quotient_prefix_functional (ac)
  68. 0068specialize prime_field_polynomial_quotient_prefix_functional (bb)
  69. 0069specialize prime_field_polynomial_quotient_prefix_functional (bc)
  70. 0070specialize prime_field_polynomial_quotient_prefix_functional (S d)
  71. 0071specialize prime_field_polynomial_quotient_prefix_functional (qb)
  72. 0072specialize prime_field_polynomial_quotient_prefix_functional (qc)
  73. 0073specialize prime_field_polynomial_quotient_prefix_functional (QB)
  74. 0074specialize prime_field_polynomial_quotient_prefix_functional (QC)
  75. 0075specialize prime_field_polynomial_quotient_prefix_functional (Q)
  76. 0076apply prime_field_polynomial_quotient_prefix_functional
  77. 0077exact hfirst_right_right_right
  78. 0078exact hsecond_right_right_right