PX0046

prime_field_convolution_coefficient_left_add

Three genuine convolution coefficients satisfy actual canonical field addition under left distributivity, proved from their independently witnessed natural sums and residues.

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. ∀ bb. ∀ bc. ∀ cb. ∀ cc. ∀ L. ∀ db. ∀ dc. ∀ M. ∀ i. ∀ u. ∀ v. ∀ w. FpPolyAdd(p,ab,ac,bb,bc,cb,cc,L)FpConvolutionCoefficient(p,db,dc,M,ab,ac,L,i,u)FpConvolutionCoefficient(p,db,dc,M,bb,bc,L,i,v)FpConvolutionCoefficient(p,db,dc,M,cb,cc,L,i,w)FpAdd(p,u,v,w)

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 bb bc cb cc L db dc M i u v w. (forall pfp_index_coefficient_add_left_source. (exists pfa_gap_coefficient_add_left_sourceindex. pfa_gap_coefficient_add_left_sourceindex + S (pfp_index_coefficient_add_left_source) = (L)) -> exists pfp_left_coefficient_add_left_source pfp_right_coefficient_add_left_source pfp_value_coefficient_add_left_source. ((((exists ff_h_pfp_coefficient_add_left_sourceleft. ff_h_pfp_coefficient_add_left_sourceleft + S (pfp_left_coefficient_add_left_source) = S ((S (pfp_index_coefficient_add_left_source)) * ac)) /\ exists ff_q_pfp_coefficient_add_left_sourceleft. ab = ff_q_pfp_coefficient_add_left_sourceleft * S ((S (pfp_index_coefficient_add_left_source)) * ac) + (pfp_left_coefficient_add_left_source))) /\ (((((exists ff_h_pfp_coefficient_add_left_sourceright. ff_h_pfp_coefficient_add_left_sourceright + S (pfp_right_coefficient_add_left_source) = S ((S (pfp_index_coefficient_add_left_source)) * bc)) /\ exists ff_q_pfp_coefficient_add_left_sourceright. bb = ff_q_pfp_coefficient_add_left_sourceright * S ((S (pfp_index_coefficient_add_left_source)) * bc) + (pfp_right_coefficient_add_left_source))) /\ (((((exists ff_h_pfp_coefficient_add_left_sourcetarget. ff_h_pfp_coefficient_add_left_sourcetarget + S (pfp_value_coefficient_add_left_source) = S ((S (pfp_index_coefficient_add_left_source)) * cc)) /\ exists ff_q_pfp_coefficient_add_left_sourcetarget. cb = ff_q_pfp_coefficient_add_left_sourcetarget * S ((S (pfp_index_coefficient_add_left_source)) * cc) + (pfp_value_coefficient_add_left_source))) /\ ((((exists pfa_gap_coefficient_add_left_sourceoperationleft. pfa_gap_coefficient_add_left_sourceoperationleft + S (pfp_left_coefficient_add_left_source) = (p)) /\ (((exists pfa_gap_coefficient_add_left_sourceoperationright. pfa_gap_coefficient_add_left_sourceoperationright + S (pfp_right_coefficient_add_left_source) = (p)) /\ ((((exists pfa_gap_coefficient_add_left_sourceoperationresultbound. pfa_gap_coefficient_add_left_sourceoperationresultbound + S (pfp_value_coefficient_add_left_source) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_sourceoperationresultcongruence pfa_offset_right_coefficient_add_left_sourceoperationresultcongruence. ((pfp_left_coefficient_add_left_source) + (pfp_right_coefficient_add_left_source)) + (p) * pfa_offset_left_coefficient_add_left_sourceoperationresultcongruence = (pfp_value_coefficient_add_left_source) + (p) * pfa_offset_right_coefficient_add_left_sourceoperationresultcongruence)))))))))))))))) -> (exists pfc_terms_code_coefficient_add_left_u pfc_terms_scale_coefficient_add_left_u pfc_natural_sum_coefficient_add_left_u. ((forall pfc_index_coefficient_add_left_udiagonal. (exists pfa_gap_coefficient_add_left_udiagonalbound. pfa_gap_coefficient_add_left_udiagonalbound + S (pfc_index_coefficient_add_left_udiagonal) = (S (i))) -> exists pfc_value_coefficient_add_left_udiagonal. ((((exists ff_h_pfp_coefficient_add_left_udiagonalentry. ff_h_pfp_coefficient_add_left_udiagonalentry + S (pfc_value_coefficient_add_left_udiagonal) = S ((S (pfc_index_coefficient_add_left_udiagonal)) * pfc_terms_scale_coefficient_add_left_u)) /\ exists ff_q_pfp_coefficient_add_left_udiagonalentry. pfc_terms_code_coefficient_add_left_u = ff_q_pfp_coefficient_add_left_udiagonalentry * S ((S (pfc_index_coefficient_add_left_udiagonal)) * pfc_terms_scale_coefficient_add_left_u) + (pfc_value_coefficient_add_left_udiagonal))) /\ ((exists pfc_complement_coefficient_add_left_udiagonalterm pfc_left_coefficient_add_left_udiagonalterm pfc_right_coefficient_add_left_udiagonalterm. (((pfc_index_coefficient_add_left_udiagonal)+pfc_complement_coefficient_add_left_udiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_left_udiagonaltermleftinside. pfa_gap_coefficient_add_left_udiagonaltermleftinside + S (pfc_index_coefficient_add_left_udiagonal) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_left_udiagonaltermleftentry. ff_h_pfp_coefficient_add_left_udiagonaltermleftentry + S (pfc_left_coefficient_add_left_udiagonalterm) = S ((S (pfc_index_coefficient_add_left_udiagonal)) * dc)) /\ exists ff_q_pfp_coefficient_add_left_udiagonaltermleftentry. db = ff_q_pfp_coefficient_add_left_udiagonaltermleftentry * S ((S (pfc_index_coefficient_add_left_udiagonal)) * dc) + (pfc_left_coefficient_add_left_udiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_udiagonaltermleftoutside. pfc_gap_coefficient_add_left_udiagonaltermleftoutside+(M)=(pfc_index_coefficient_add_left_udiagonal)) /\ (((pfc_left_coefficient_add_left_udiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_left_udiagonaltermrightinside. pfa_gap_coefficient_add_left_udiagonaltermrightinside + S (pfc_complement_coefficient_add_left_udiagonalterm) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_left_udiagonaltermrightentry. ff_h_pfp_coefficient_add_left_udiagonaltermrightentry + S (pfc_right_coefficient_add_left_udiagonalterm) = S ((S (pfc_complement_coefficient_add_left_udiagonalterm)) * ac)) /\ exists ff_q_pfp_coefficient_add_left_udiagonaltermrightentry. ab = ff_q_pfp_coefficient_add_left_udiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_left_udiagonalterm)) * ac) + (pfc_right_coefficient_add_left_udiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_udiagonaltermrightoutside. pfc_gap_coefficient_add_left_udiagonaltermrightoutside+(L)=(pfc_complement_coefficient_add_left_udiagonalterm)) /\ (((pfc_right_coefficient_add_left_udiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_left_udiagonal)=pfc_left_coefficient_add_left_udiagonalterm*pfc_right_coefficient_add_left_udiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_left_usum fs_v_pfc_coefficient_add_left_usum. ((((exists fs_h_pfc_coefficient_add_left_usum_body_start. fs_h_pfc_coefficient_add_left_usum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_left_usum)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_start. fs_u_pfc_coefficient_add_left_usum = fs_q_pfc_coefficient_add_left_usum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_left_usum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_left_usum_body_terminal. fs_h_pfc_coefficient_add_left_usum_body_terminal + S (pfc_natural_sum_coefficient_add_left_u) = S ((S (S (i))) * fs_v_pfc_coefficient_add_left_usum)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_terminal. fs_u_pfc_coefficient_add_left_usum = fs_q_pfc_coefficient_add_left_usum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_left_usum) + (pfc_natural_sum_coefficient_add_left_u))) /\ forall fs_i_pfc_coefficient_add_left_usum_body_steps. (exists fs_lt_pfc_coefficient_add_left_usum_body_steps_bound. fs_lt_pfc_coefficient_add_left_usum_body_steps_bound + S fs_i_pfc_coefficient_add_left_usum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_left_usum_body_steps fs_r_pfc_coefficient_add_left_usum_body_steps fs_s_pfc_coefficient_add_left_usum_body_steps. ((((exists fs_h_pfc_coefficient_add_left_usum_body_steps_summand. fs_h_pfc_coefficient_add_left_usum_body_steps_summand + S (fs_a_pfc_coefficient_add_left_usum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_usum_body_steps)) * pfc_terms_scale_coefficient_add_left_u)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_steps_summand. pfc_terms_code_coefficient_add_left_u = fs_q_pfc_coefficient_add_left_usum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_left_usum_body_steps)) * pfc_terms_scale_coefficient_add_left_u) + (fs_a_pfc_coefficient_add_left_usum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_usum_body_steps_partial. fs_h_pfc_coefficient_add_left_usum_body_steps_partial + S (fs_r_pfc_coefficient_add_left_usum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_usum_body_steps)) * fs_v_pfc_coefficient_add_left_usum)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_steps_partial. fs_u_pfc_coefficient_add_left_usum = fs_q_pfc_coefficient_add_left_usum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_left_usum_body_steps)) * fs_v_pfc_coefficient_add_left_usum) + (fs_r_pfc_coefficient_add_left_usum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_usum_body_steps_successor. fs_h_pfc_coefficient_add_left_usum_body_steps_successor + S (fs_s_pfc_coefficient_add_left_usum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_left_usum_body_steps)) * fs_v_pfc_coefficient_add_left_usum)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_steps_successor. fs_u_pfc_coefficient_add_left_usum = fs_q_pfc_coefficient_add_left_usum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_left_usum_body_steps)) * fs_v_pfc_coefficient_add_left_usum) + (fs_s_pfc_coefficient_add_left_usum_body_steps))) /\ fs_s_pfc_coefficient_add_left_usum_body_steps = fs_r_pfc_coefficient_add_left_usum_body_steps + fs_a_pfc_coefficient_add_left_usum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_left_uresiduebound. pfa_gap_coefficient_add_left_uresiduebound + S (u) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_uresiduecongruence pfa_offset_right_coefficient_add_left_uresiduecongruence. (pfc_natural_sum_coefficient_add_left_u) + (p) * pfa_offset_left_coefficient_add_left_uresiduecongruence = (u) + (p) * pfa_offset_right_coefficient_add_left_uresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_add_left_v pfc_terms_scale_coefficient_add_left_v pfc_natural_sum_coefficient_add_left_v. ((forall pfc_index_coefficient_add_left_vdiagonal. (exists pfa_gap_coefficient_add_left_vdiagonalbound. pfa_gap_coefficient_add_left_vdiagonalbound + S (pfc_index_coefficient_add_left_vdiagonal) = (S (i))) -> exists pfc_value_coefficient_add_left_vdiagonal. ((((exists ff_h_pfp_coefficient_add_left_vdiagonalentry. ff_h_pfp_coefficient_add_left_vdiagonalentry + S (pfc_value_coefficient_add_left_vdiagonal) = S ((S (pfc_index_coefficient_add_left_vdiagonal)) * pfc_terms_scale_coefficient_add_left_v)) /\ exists ff_q_pfp_coefficient_add_left_vdiagonalentry. pfc_terms_code_coefficient_add_left_v = ff_q_pfp_coefficient_add_left_vdiagonalentry * S ((S (pfc_index_coefficient_add_left_vdiagonal)) * pfc_terms_scale_coefficient_add_left_v) + (pfc_value_coefficient_add_left_vdiagonal))) /\ ((exists pfc_complement_coefficient_add_left_vdiagonalterm pfc_left_coefficient_add_left_vdiagonalterm pfc_right_coefficient_add_left_vdiagonalterm. (((pfc_index_coefficient_add_left_vdiagonal)+pfc_complement_coefficient_add_left_vdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_left_vdiagonaltermleftinside. pfa_gap_coefficient_add_left_vdiagonaltermleftinside + S (pfc_index_coefficient_add_left_vdiagonal) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_left_vdiagonaltermleftentry. ff_h_pfp_coefficient_add_left_vdiagonaltermleftentry + S (pfc_left_coefficient_add_left_vdiagonalterm) = S ((S (pfc_index_coefficient_add_left_vdiagonal)) * dc)) /\ exists ff_q_pfp_coefficient_add_left_vdiagonaltermleftentry. db = ff_q_pfp_coefficient_add_left_vdiagonaltermleftentry * S ((S (pfc_index_coefficient_add_left_vdiagonal)) * dc) + (pfc_left_coefficient_add_left_vdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_vdiagonaltermleftoutside. pfc_gap_coefficient_add_left_vdiagonaltermleftoutside+(M)=(pfc_index_coefficient_add_left_vdiagonal)) /\ (((pfc_left_coefficient_add_left_vdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_left_vdiagonaltermrightinside. pfa_gap_coefficient_add_left_vdiagonaltermrightinside + S (pfc_complement_coefficient_add_left_vdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_left_vdiagonaltermrightentry. ff_h_pfp_coefficient_add_left_vdiagonaltermrightentry + S (pfc_right_coefficient_add_left_vdiagonalterm) = S ((S (pfc_complement_coefficient_add_left_vdiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_add_left_vdiagonaltermrightentry. bb = ff_q_pfp_coefficient_add_left_vdiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_left_vdiagonalterm)) * bc) + (pfc_right_coefficient_add_left_vdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_vdiagonaltermrightoutside. pfc_gap_coefficient_add_left_vdiagonaltermrightoutside+(L)=(pfc_complement_coefficient_add_left_vdiagonalterm)) /\ (((pfc_right_coefficient_add_left_vdiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_left_vdiagonal)=pfc_left_coefficient_add_left_vdiagonalterm*pfc_right_coefficient_add_left_vdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_left_vsum fs_v_pfc_coefficient_add_left_vsum. ((((exists fs_h_pfc_coefficient_add_left_vsum_body_start. fs_h_pfc_coefficient_add_left_vsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_left_vsum)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_start. fs_u_pfc_coefficient_add_left_vsum = fs_q_pfc_coefficient_add_left_vsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_left_vsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_left_vsum_body_terminal. fs_h_pfc_coefficient_add_left_vsum_body_terminal + S (pfc_natural_sum_coefficient_add_left_v) = S ((S (S (i))) * fs_v_pfc_coefficient_add_left_vsum)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_terminal. fs_u_pfc_coefficient_add_left_vsum = fs_q_pfc_coefficient_add_left_vsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_left_vsum) + (pfc_natural_sum_coefficient_add_left_v))) /\ forall fs_i_pfc_coefficient_add_left_vsum_body_steps. (exists fs_lt_pfc_coefficient_add_left_vsum_body_steps_bound. fs_lt_pfc_coefficient_add_left_vsum_body_steps_bound + S fs_i_pfc_coefficient_add_left_vsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_left_vsum_body_steps fs_r_pfc_coefficient_add_left_vsum_body_steps fs_s_pfc_coefficient_add_left_vsum_body_steps. ((((exists fs_h_pfc_coefficient_add_left_vsum_body_steps_summand. fs_h_pfc_coefficient_add_left_vsum_body_steps_summand + S (fs_a_pfc_coefficient_add_left_vsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_vsum_body_steps)) * pfc_terms_scale_coefficient_add_left_v)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_steps_summand. pfc_terms_code_coefficient_add_left_v = fs_q_pfc_coefficient_add_left_vsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_left_vsum_body_steps)) * pfc_terms_scale_coefficient_add_left_v) + (fs_a_pfc_coefficient_add_left_vsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_vsum_body_steps_partial. fs_h_pfc_coefficient_add_left_vsum_body_steps_partial + S (fs_r_pfc_coefficient_add_left_vsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_vsum_body_steps)) * fs_v_pfc_coefficient_add_left_vsum)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_steps_partial. fs_u_pfc_coefficient_add_left_vsum = fs_q_pfc_coefficient_add_left_vsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_left_vsum_body_steps)) * fs_v_pfc_coefficient_add_left_vsum) + (fs_r_pfc_coefficient_add_left_vsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_vsum_body_steps_successor. fs_h_pfc_coefficient_add_left_vsum_body_steps_successor + S (fs_s_pfc_coefficient_add_left_vsum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_left_vsum_body_steps)) * fs_v_pfc_coefficient_add_left_vsum)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_steps_successor. fs_u_pfc_coefficient_add_left_vsum = fs_q_pfc_coefficient_add_left_vsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_left_vsum_body_steps)) * fs_v_pfc_coefficient_add_left_vsum) + (fs_s_pfc_coefficient_add_left_vsum_body_steps))) /\ fs_s_pfc_coefficient_add_left_vsum_body_steps = fs_r_pfc_coefficient_add_left_vsum_body_steps + fs_a_pfc_coefficient_add_left_vsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_left_vresiduebound. pfa_gap_coefficient_add_left_vresiduebound + S (v) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_vresiduecongruence pfa_offset_right_coefficient_add_left_vresiduecongruence. (pfc_natural_sum_coefficient_add_left_v) + (p) * pfa_offset_left_coefficient_add_left_vresiduecongruence = (v) + (p) * pfa_offset_right_coefficient_add_left_vresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_add_left_w pfc_terms_scale_coefficient_add_left_w pfc_natural_sum_coefficient_add_left_w. ((forall pfc_index_coefficient_add_left_wdiagonal. (exists pfa_gap_coefficient_add_left_wdiagonalbound. pfa_gap_coefficient_add_left_wdiagonalbound + S (pfc_index_coefficient_add_left_wdiagonal) = (S (i))) -> exists pfc_value_coefficient_add_left_wdiagonal. ((((exists ff_h_pfp_coefficient_add_left_wdiagonalentry. ff_h_pfp_coefficient_add_left_wdiagonalentry + S (pfc_value_coefficient_add_left_wdiagonal) = S ((S (pfc_index_coefficient_add_left_wdiagonal)) * pfc_terms_scale_coefficient_add_left_w)) /\ exists ff_q_pfp_coefficient_add_left_wdiagonalentry. pfc_terms_code_coefficient_add_left_w = ff_q_pfp_coefficient_add_left_wdiagonalentry * S ((S (pfc_index_coefficient_add_left_wdiagonal)) * pfc_terms_scale_coefficient_add_left_w) + (pfc_value_coefficient_add_left_wdiagonal))) /\ ((exists pfc_complement_coefficient_add_left_wdiagonalterm pfc_left_coefficient_add_left_wdiagonalterm pfc_right_coefficient_add_left_wdiagonalterm. (((pfc_index_coefficient_add_left_wdiagonal)+pfc_complement_coefficient_add_left_wdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_left_wdiagonaltermleftinside. pfa_gap_coefficient_add_left_wdiagonaltermleftinside + S (pfc_index_coefficient_add_left_wdiagonal) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_left_wdiagonaltermleftentry. ff_h_pfp_coefficient_add_left_wdiagonaltermleftentry + S (pfc_left_coefficient_add_left_wdiagonalterm) = S ((S (pfc_index_coefficient_add_left_wdiagonal)) * dc)) /\ exists ff_q_pfp_coefficient_add_left_wdiagonaltermleftentry. db = ff_q_pfp_coefficient_add_left_wdiagonaltermleftentry * S ((S (pfc_index_coefficient_add_left_wdiagonal)) * dc) + (pfc_left_coefficient_add_left_wdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_wdiagonaltermleftoutside. pfc_gap_coefficient_add_left_wdiagonaltermleftoutside+(M)=(pfc_index_coefficient_add_left_wdiagonal)) /\ (((pfc_left_coefficient_add_left_wdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_left_wdiagonaltermrightinside. pfa_gap_coefficient_add_left_wdiagonaltermrightinside + S (pfc_complement_coefficient_add_left_wdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_left_wdiagonaltermrightentry. ff_h_pfp_coefficient_add_left_wdiagonaltermrightentry + S (pfc_right_coefficient_add_left_wdiagonalterm) = S ((S (pfc_complement_coefficient_add_left_wdiagonalterm)) * cc)) /\ exists ff_q_pfp_coefficient_add_left_wdiagonaltermrightentry. cb = ff_q_pfp_coefficient_add_left_wdiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_left_wdiagonalterm)) * cc) + (pfc_right_coefficient_add_left_wdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_wdiagonaltermrightoutside. pfc_gap_coefficient_add_left_wdiagonaltermrightoutside+(L)=(pfc_complement_coefficient_add_left_wdiagonalterm)) /\ (((pfc_right_coefficient_add_left_wdiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_left_wdiagonal)=pfc_left_coefficient_add_left_wdiagonalterm*pfc_right_coefficient_add_left_wdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_left_wsum fs_v_pfc_coefficient_add_left_wsum. ((((exists fs_h_pfc_coefficient_add_left_wsum_body_start. fs_h_pfc_coefficient_add_left_wsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_left_wsum)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_start. fs_u_pfc_coefficient_add_left_wsum = fs_q_pfc_coefficient_add_left_wsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_left_wsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_left_wsum_body_terminal. fs_h_pfc_coefficient_add_left_wsum_body_terminal + S (pfc_natural_sum_coefficient_add_left_w) = S ((S (S (i))) * fs_v_pfc_coefficient_add_left_wsum)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_terminal. fs_u_pfc_coefficient_add_left_wsum = fs_q_pfc_coefficient_add_left_wsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_left_wsum) + (pfc_natural_sum_coefficient_add_left_w))) /\ forall fs_i_pfc_coefficient_add_left_wsum_body_steps. (exists fs_lt_pfc_coefficient_add_left_wsum_body_steps_bound. fs_lt_pfc_coefficient_add_left_wsum_body_steps_bound + S fs_i_pfc_coefficient_add_left_wsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_left_wsum_body_steps fs_r_pfc_coefficient_add_left_wsum_body_steps fs_s_pfc_coefficient_add_left_wsum_body_steps. ((((exists fs_h_pfc_coefficient_add_left_wsum_body_steps_summand. fs_h_pfc_coefficient_add_left_wsum_body_steps_summand + S (fs_a_pfc_coefficient_add_left_wsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_wsum_body_steps)) * pfc_terms_scale_coefficient_add_left_w)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_steps_summand. pfc_terms_code_coefficient_add_left_w = fs_q_pfc_coefficient_add_left_wsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_left_wsum_body_steps)) * pfc_terms_scale_coefficient_add_left_w) + (fs_a_pfc_coefficient_add_left_wsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_wsum_body_steps_partial. fs_h_pfc_coefficient_add_left_wsum_body_steps_partial + S (fs_r_pfc_coefficient_add_left_wsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_wsum_body_steps)) * fs_v_pfc_coefficient_add_left_wsum)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_steps_partial. fs_u_pfc_coefficient_add_left_wsum = fs_q_pfc_coefficient_add_left_wsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_left_wsum_body_steps)) * fs_v_pfc_coefficient_add_left_wsum) + (fs_r_pfc_coefficient_add_left_wsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_wsum_body_steps_successor. fs_h_pfc_coefficient_add_left_wsum_body_steps_successor + S (fs_s_pfc_coefficient_add_left_wsum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_left_wsum_body_steps)) * fs_v_pfc_coefficient_add_left_wsum)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_steps_successor. fs_u_pfc_coefficient_add_left_wsum = fs_q_pfc_coefficient_add_left_wsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_left_wsum_body_steps)) * fs_v_pfc_coefficient_add_left_wsum) + (fs_s_pfc_coefficient_add_left_wsum_body_steps))) /\ fs_s_pfc_coefficient_add_left_wsum_body_steps = fs_r_pfc_coefficient_add_left_wsum_body_steps + fs_a_pfc_coefficient_add_left_wsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_left_wresiduebound. pfa_gap_coefficient_add_left_wresiduebound + S (w) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_wresiduecongruence pfa_offset_right_coefficient_add_left_wresiduecongruence. (pfc_natural_sum_coefficient_add_left_w) + (p) * pfa_offset_left_coefficient_add_left_wresiduecongruence = (w) + (p) * pfa_offset_right_coefficient_add_left_wresiduecongruence))))))))) -> (((exists pfa_gap_coefficient_add_left_resultleft. pfa_gap_coefficient_add_left_resultleft + S (u) = (p)) /\ (((exists pfa_gap_coefficient_add_left_resultright. pfa_gap_coefficient_add_left_resultright + S (v) = (p)) /\ ((((exists pfa_gap_coefficient_add_left_resultresultbound. pfa_gap_coefficient_add_left_resultresultbound + S (w) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_resultresultcongruence pfa_offset_right_coefficient_add_left_resultresultcongruence. ((u) + (v)) + (p) * pfa_offset_left_coefficient_add_left_resultresultcongruence = (w) + (p) * pfa_offset_right_coefficient_add_left_resultresultcongruence)))))))))

Complete tactic proof in conservative notation

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

100 script commands · 17 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.

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 ab
  3. L3
    intro ac
  4. L4
    intro bb
  5. L5
    intro bc
  6. L6
    intro cb
  7. L7
    intro cc
  8. L8
    intro L
  9. L9
    intro db
  10. L10
    intro dc
02Fix variables and assumptionsL11–19

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

  1. L11
    intro M
  2. L12
    intro i
  3. L13
    intro u
  4. L14
    intro v
  5. L15
    intro w
  6. L16
    intro hs
  7. L17
    intro hu
  8. L18
    intro hv
  9. L19
    intro hw
03Separate the logical casesL20–29

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

  1. L20
    cases hu
  2. L21
    cases hu_witness
  3. L22
    cases hu_witness_witness
  4. L23
    cases hu_witness_witness_witness
  5. L24
    cases hu_witness_witness_witness_right
  6. L25
    cases hv
  7. L26
    cases hv_witness
  8. L27
    cases hv_witness_witness
  9. L28
    cases hv_witness_witness_witness
  10. L29
    cases hv_witness_witness_witness_right
04Separate the logical casesL30–34

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

  1. L30
    cases hw
  2. L31
    cases hw_witness
  3. L32
    cases hw_witness_witness
  4. L33
    cases hw_witness_witness_witness
  5. L34
    cases hw_witness_witness_witness_right
05Establish hsumL35–44

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

  1. L35
    have hsum : ModEq(p,x2 + x5,x8)Definitions: ModEq(p,x2 + x5,x8)Original native command in the exact edition
  2. L36
    specialize polynomial_diagonal_sum_left_add_congruent (p)
  3. L37
    specialize polynomial_diagonal_sum_left_add_congruent (ab)
  4. L38
    specialize polynomial_diagonal_sum_left_add_congruent (ac)
  5. L39
    specialize polynomial_diagonal_sum_left_add_congruent (bb)
  6. L40
    specialize polynomial_diagonal_sum_left_add_congruent (bc)
  7. L41
    specialize polynomial_diagonal_sum_left_add_congruent (cb)
  8. L42
    specialize polynomial_diagonal_sum_left_add_congruent (cc)
  9. L43
    specialize polynomial_diagonal_sum_left_add_congruent (L)
  10. L44
    specialize polynomial_diagonal_sum_left_add_congruent (db)
06Use earlier factsL45–54

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

  1. L45
    specialize polynomial_diagonal_sum_left_add_congruent (dc)
  2. L46
    specialize polynomial_diagonal_sum_left_add_congruent (M)
  3. L47
    specialize polynomial_diagonal_sum_left_add_congruent (i)
  4. L48
    specialize polynomial_diagonal_sum_left_add_congruent (S i)
  5. L49
    specialize polynomial_diagonal_sum_left_add_congruent (x)
  6. L50
    specialize polynomial_diagonal_sum_left_add_congruent (x1)
  7. L51
    specialize polynomial_diagonal_sum_left_add_congruent (x3)
  8. L52
    specialize polynomial_diagonal_sum_left_add_congruent (x4)
  9. L53
    specialize polynomial_diagonal_sum_left_add_congruent (x6)
  10. L54
    specialize polynomial_diagonal_sum_left_add_congruent (x7)
07Use earlier factsL55–64

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

  1. L55
    specialize polynomial_diagonal_sum_left_add_congruent (x2)
  2. L56
    specialize polynomial_diagonal_sum_left_add_congruent (x5)
  3. L57
    specialize polynomial_diagonal_sum_left_add_congruent (x8)
  4. L58
    apply polynomial_diagonal_sum_left_add_congruent
  5. L59
    exact hs
  6. L60
    exact hu_witness_witness_witness_left
  7. L61
    exact hu_witness_witness_witness_right_left
  8. L62
    exact hv_witness_witness_witness_left
  9. L63
    exact hv_witness_witness_witness_right_left
  10. L64
    exact hw_witness_witness_witness_left
08Use earlier factsL65–65

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

  1. L65
    exact hw_witness_witness_witness_right_left
09Separate the logical casesL66–68

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

  1. L66
    cases hu_witness_witness_witness_right_right
  2. L67
    cases hv_witness_witness_witness_right_right
  3. L68
    cases hw_witness_witness_witness_right_right
10Establish hrawL69–76

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

  1. L69
    have hraw : ModEq(p,x2 + x5,w)Definitions: ModEq(p,x2 + x5,w)Original native command in the exact edition
  2. L70
    specialize mod_eq_trans (p)
  3. L71
    specialize mod_eq_trans (x2+x5)
  4. L72
    specialize mod_eq_trans (x8)
  5. L73
    specialize mod_eq_trans (w)
  6. L74
    apply mod_eq_trans
  7. L75
    exact hsum
  8. L76
    exact hw_witness_witness_witness_right_right_right
11Separate the logical casesL77–77

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

  1. L77
    split
12Use earlier factsL78–78

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

  1. L78
    exact hu_witness_witness_witness_right_right_left
13Separate the logical casesL79–79

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

  1. L79
    split
14Use earlier factsL80–80

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

  1. L80
    exact hv_witness_witness_witness_right_right_left
15Separate the logical casesL81–81

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

  1. L81
    split
16Use earlier factsL82–91

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

  1. L82
    exact hw_witness_witness_witness_right_right_left
  2. L83
    specialize mod_eq_trans (p)
  3. L84
    specialize mod_eq_trans (u+v)
  4. L85
    specialize mod_eq_trans (x2+x5)
  5. L86
    specialize mod_eq_trans (w)
  6. L87
    apply mod_eq_trans
  7. L88
    specialize mod_eq_symm (p)
  8. L89
    specialize mod_eq_symm (x2+x5)
  9. L90
    specialize mod_eq_symm (u+v)
  10. L91
    apply mod_eq_symm
17Use earlier factsL92–100

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

  1. L92
    specialize mod_eq_add (p)
  2. L93
    specialize mod_eq_add (x2)
  3. L94
    specialize mod_eq_add (u)
  4. L95
    specialize mod_eq_add (x5)
  5. L96
    specialize mod_eq_add (v)
  6. L97
    apply mod_eq_add
  7. L98
    exact hu_witness_witness_witness_right_right_right
  8. L99
    exact hv_witness_witness_witness_right_right_right
  9. L100
    exact hraw

Library-wide reading audit

Original defined command ledger · 100 lines
  1. 0001intro p
  2. 0002intro ab
  3. 0003intro ac
  4. 0004intro bb
  5. 0005intro bc
  6. 0006intro cb
  7. 0007intro cc
  8. 0008intro L
  9. 0009intro db
  10. 0010intro dc
  11. 0011intro M
  12. 0012intro i
  13. 0013intro u
  14. 0014intro v
  15. 0015intro w
  16. 0016intro hs
  17. 0017intro hu
  18. 0018intro hv
  19. 0019intro hw
  20. 0020cases hu
  21. 0021cases hu_witness
  22. 0022cases hu_witness_witness
  23. 0023cases hu_witness_witness_witness
  24. 0024cases hu_witness_witness_witness_right
  25. 0025cases hv
  26. 0026cases hv_witness
  27. 0027cases hv_witness_witness
  28. 0028cases hv_witness_witness_witness
  29. 0029cases hv_witness_witness_witness_right
  30. 0030cases hw
  31. 0031cases hw_witness
  32. 0032cases hw_witness_witness
  33. 0033cases hw_witness_witness_witness
  34. 0034cases hw_witness_witness_witness_right
  35. 0035have hsum : ModEq(p,x2 + x5,x8)
  36. 0036specialize polynomial_diagonal_sum_left_add_congruent (p)
  37. 0037specialize polynomial_diagonal_sum_left_add_congruent (ab)
  38. 0038specialize polynomial_diagonal_sum_left_add_congruent (ac)
  39. 0039specialize polynomial_diagonal_sum_left_add_congruent (bb)
  40. 0040specialize polynomial_diagonal_sum_left_add_congruent (bc)
  41. 0041specialize polynomial_diagonal_sum_left_add_congruent (cb)
  42. 0042specialize polynomial_diagonal_sum_left_add_congruent (cc)
  43. 0043specialize polynomial_diagonal_sum_left_add_congruent (L)
  44. 0044specialize polynomial_diagonal_sum_left_add_congruent (db)
  45. 0045specialize polynomial_diagonal_sum_left_add_congruent (dc)
  46. 0046specialize polynomial_diagonal_sum_left_add_congruent (M)
  47. 0047specialize polynomial_diagonal_sum_left_add_congruent (i)
  48. 0048specialize polynomial_diagonal_sum_left_add_congruent (S i)
  49. 0049specialize polynomial_diagonal_sum_left_add_congruent (x)
  50. 0050specialize polynomial_diagonal_sum_left_add_congruent (x1)
  51. 0051specialize polynomial_diagonal_sum_left_add_congruent (x3)
  52. 0052specialize polynomial_diagonal_sum_left_add_congruent (x4)
  53. 0053specialize polynomial_diagonal_sum_left_add_congruent (x6)
  54. 0054specialize polynomial_diagonal_sum_left_add_congruent (x7)
  55. 0055specialize polynomial_diagonal_sum_left_add_congruent (x2)
  56. 0056specialize polynomial_diagonal_sum_left_add_congruent (x5)
  57. 0057specialize polynomial_diagonal_sum_left_add_congruent (x8)
  58. 0058apply polynomial_diagonal_sum_left_add_congruent
  59. 0059exact hs
  60. 0060exact hu_witness_witness_witness_left
  61. 0061exact hu_witness_witness_witness_right_left
  62. 0062exact hv_witness_witness_witness_left
  63. 0063exact hv_witness_witness_witness_right_left
  64. 0064exact hw_witness_witness_witness_left
  65. 0065exact hw_witness_witness_witness_right_left
  66. 0066cases hu_witness_witness_witness_right_right
  67. 0067cases hv_witness_witness_witness_right_right
  68. 0068cases hw_witness_witness_witness_right_right
  69. 0069have hraw : ModEq(p,x2 + x5,w)
  70. 0070specialize mod_eq_trans (p)
  71. 0071specialize mod_eq_trans (x2+x5)
  72. 0072specialize mod_eq_trans (x8)
  73. 0073specialize mod_eq_trans (w)
  74. 0074apply mod_eq_trans
  75. 0075exact hsum
  76. 0076exact hw_witness_witness_witness_right_right_right
  77. 0077split
  78. 0078exact hu_witness_witness_witness_right_right_left
  79. 0079split
  80. 0080exact hv_witness_witness_witness_right_right_left
  81. 0081split
  82. 0082exact hw_witness_witness_witness_right_right_left
  83. 0083specialize mod_eq_trans (p)
  84. 0084specialize mod_eq_trans (u+v)
  85. 0085specialize mod_eq_trans (x2+x5)
  86. 0086specialize mod_eq_trans (w)
  87. 0087apply mod_eq_trans
  88. 0088specialize mod_eq_symm (p)
  89. 0089specialize mod_eq_symm (x2+x5)
  90. 0090specialize mod_eq_symm (u+v)
  91. 0091apply mod_eq_symm
  92. 0092specialize mod_eq_add (p)
  93. 0093specialize mod_eq_add (x2)
  94. 0094specialize mod_eq_add (u)
  95. 0095specialize mod_eq_add (x5)
  96. 0096specialize mod_eq_add (v)
  97. 0097apply mod_eq_add
  98. 0098exact hu_witness_witness_witness_right_right_right
  99. 0099exact hv_witness_witness_witness_right_right_right
  100. 0100exact hraw