PX0044

polynomial_diagonal_sum_left_add_congruent

The three independently beta-coded actual antidiagonal sums obey left additive congruence, including empty sum prefixes and with no raw-code equality.

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. ∀ N. ∀ ub. ∀ uc. ∀ vb. ∀ vc. ∀ wb. ∀ wc. ∀ u. ∀ v. ∀ w. FpPolyAdd(p,ab,ac,bb,bc,cb,cc,L)PolynomialDiagonalPrefix(db,dc,M,ab,ac,L,i,ub,uc,N)Sum(ub,uc,N,u)PolynomialDiagonalPrefix(db,dc,M,bb,bc,L,i,vb,vc,N)Sum(vb,vc,N,v)PolynomialDiagonalPrefix(db,dc,M,cb,cc,L,i,wb,wc,N)Sum(wb,wc,N,w)ModEq(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 N ub uc vb vc wb wc u v w. (forall pfp_index_diagonal_add_left_source. (exists pfa_gap_diagonal_add_left_sourceindex. pfa_gap_diagonal_add_left_sourceindex + S (pfp_index_diagonal_add_left_source) = (L)) -> exists pfp_left_diagonal_add_left_source pfp_right_diagonal_add_left_source pfp_value_diagonal_add_left_source. ((((exists ff_h_pfp_diagonal_add_left_sourceleft. ff_h_pfp_diagonal_add_left_sourceleft + S (pfp_left_diagonal_add_left_source) = S ((S (pfp_index_diagonal_add_left_source)) * ac)) /\ exists ff_q_pfp_diagonal_add_left_sourceleft. ab = ff_q_pfp_diagonal_add_left_sourceleft * S ((S (pfp_index_diagonal_add_left_source)) * ac) + (pfp_left_diagonal_add_left_source))) /\ (((((exists ff_h_pfp_diagonal_add_left_sourceright. ff_h_pfp_diagonal_add_left_sourceright + S (pfp_right_diagonal_add_left_source) = S ((S (pfp_index_diagonal_add_left_source)) * bc)) /\ exists ff_q_pfp_diagonal_add_left_sourceright. bb = ff_q_pfp_diagonal_add_left_sourceright * S ((S (pfp_index_diagonal_add_left_source)) * bc) + (pfp_right_diagonal_add_left_source))) /\ (((((exists ff_h_pfp_diagonal_add_left_sourcetarget. ff_h_pfp_diagonal_add_left_sourcetarget + S (pfp_value_diagonal_add_left_source) = S ((S (pfp_index_diagonal_add_left_source)) * cc)) /\ exists ff_q_pfp_diagonal_add_left_sourcetarget. cb = ff_q_pfp_diagonal_add_left_sourcetarget * S ((S (pfp_index_diagonal_add_left_source)) * cc) + (pfp_value_diagonal_add_left_source))) /\ ((((exists pfa_gap_diagonal_add_left_sourceoperationleft. pfa_gap_diagonal_add_left_sourceoperationleft + S (pfp_left_diagonal_add_left_source) = (p)) /\ (((exists pfa_gap_diagonal_add_left_sourceoperationright. pfa_gap_diagonal_add_left_sourceoperationright + S (pfp_right_diagonal_add_left_source) = (p)) /\ ((((exists pfa_gap_diagonal_add_left_sourceoperationresultbound. pfa_gap_diagonal_add_left_sourceoperationresultbound + S (pfp_value_diagonal_add_left_source) = (p)) /\ ((exists pfa_offset_left_diagonal_add_left_sourceoperationresultcongruence pfa_offset_right_diagonal_add_left_sourceoperationresultcongruence. ((pfp_left_diagonal_add_left_source) + (pfp_right_diagonal_add_left_source)) + (p) * pfa_offset_left_diagonal_add_left_sourceoperationresultcongruence = (pfp_value_diagonal_add_left_source) + (p) * pfa_offset_right_diagonal_add_left_sourceoperationresultcongruence)))))))))))))))) -> (forall pfc_index_diagonal_add_left_u. (exists pfa_gap_diagonal_add_left_ubound. pfa_gap_diagonal_add_left_ubound + S (pfc_index_diagonal_add_left_u) = (N)) -> exists pfc_value_diagonal_add_left_u. ((((exists ff_h_pfp_diagonal_add_left_uentry. ff_h_pfp_diagonal_add_left_uentry + S (pfc_value_diagonal_add_left_u) = S ((S (pfc_index_diagonal_add_left_u)) * uc)) /\ exists ff_q_pfp_diagonal_add_left_uentry. ub = ff_q_pfp_diagonal_add_left_uentry * S ((S (pfc_index_diagonal_add_left_u)) * uc) + (pfc_value_diagonal_add_left_u))) /\ ((exists pfc_complement_diagonal_add_left_uterm pfc_left_diagonal_add_left_uterm pfc_right_diagonal_add_left_uterm. (((pfc_index_diagonal_add_left_u)+pfc_complement_diagonal_add_left_uterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_left_utermleftinside. pfa_gap_diagonal_add_left_utermleftinside + S (pfc_index_diagonal_add_left_u) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_left_utermleftentry. ff_h_pfp_diagonal_add_left_utermleftentry + S (pfc_left_diagonal_add_left_uterm) = S ((S (pfc_index_diagonal_add_left_u)) * dc)) /\ exists ff_q_pfp_diagonal_add_left_utermleftentry. db = ff_q_pfp_diagonal_add_left_utermleftentry * S ((S (pfc_index_diagonal_add_left_u)) * dc) + (pfc_left_diagonal_add_left_uterm)))))) \/ (((exists pfc_gap_diagonal_add_left_utermleftoutside. pfc_gap_diagonal_add_left_utermleftoutside+(M)=(pfc_index_diagonal_add_left_u)) /\ (((pfc_left_diagonal_add_left_uterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_left_utermrightinside. pfa_gap_diagonal_add_left_utermrightinside + S (pfc_complement_diagonal_add_left_uterm) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_left_utermrightentry. ff_h_pfp_diagonal_add_left_utermrightentry + S (pfc_right_diagonal_add_left_uterm) = S ((S (pfc_complement_diagonal_add_left_uterm)) * ac)) /\ exists ff_q_pfp_diagonal_add_left_utermrightentry. ab = ff_q_pfp_diagonal_add_left_utermrightentry * S ((S (pfc_complement_diagonal_add_left_uterm)) * ac) + (pfc_right_diagonal_add_left_uterm)))))) \/ (((exists pfc_gap_diagonal_add_left_utermrightoutside. pfc_gap_diagonal_add_left_utermrightoutside+(L)=(pfc_complement_diagonal_add_left_uterm)) /\ (((pfc_right_diagonal_add_left_uterm)=0))))) /\ (((pfc_value_diagonal_add_left_u)=pfc_left_diagonal_add_left_uterm*pfc_right_diagonal_add_left_uterm))))))))))) -> (exists fs_u_pfc_diagonal_add_left_sum_u fs_v_pfc_diagonal_add_left_sum_u. ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_start. fs_h_pfc_diagonal_add_left_sum_u_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_u)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_start. fs_u_pfc_diagonal_add_left_sum_u = fs_q_pfc_diagonal_add_left_sum_u_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_u) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_terminal. fs_h_pfc_diagonal_add_left_sum_u_body_terminal + S (u) = S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_u)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_terminal. fs_u_pfc_diagonal_add_left_sum_u = fs_q_pfc_diagonal_add_left_sum_u_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_u) + (u))) /\ forall fs_i_pfc_diagonal_add_left_sum_u_body_steps. (exists fs_lt_pfc_diagonal_add_left_sum_u_body_steps_bound. fs_lt_pfc_diagonal_add_left_sum_u_body_steps_bound + S fs_i_pfc_diagonal_add_left_sum_u_body_steps = N) -> exists fs_a_pfc_diagonal_add_left_sum_u_body_steps fs_r_pfc_diagonal_add_left_sum_u_body_steps fs_s_pfc_diagonal_add_left_sum_u_body_steps. ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_steps_summand. fs_h_pfc_diagonal_add_left_sum_u_body_steps_summand + S (fs_a_pfc_diagonal_add_left_sum_u_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * uc)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_steps_summand. ub = fs_q_pfc_diagonal_add_left_sum_u_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * uc) + (fs_a_pfc_diagonal_add_left_sum_u_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_steps_partial. fs_h_pfc_diagonal_add_left_sum_u_body_steps_partial + S (fs_r_pfc_diagonal_add_left_sum_u_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * fs_v_pfc_diagonal_add_left_sum_u)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_steps_partial. fs_u_pfc_diagonal_add_left_sum_u = fs_q_pfc_diagonal_add_left_sum_u_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * fs_v_pfc_diagonal_add_left_sum_u) + (fs_r_pfc_diagonal_add_left_sum_u_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_steps_successor. fs_h_pfc_diagonal_add_left_sum_u_body_steps_successor + S (fs_s_pfc_diagonal_add_left_sum_u_body_steps) = S ((S (S fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * fs_v_pfc_diagonal_add_left_sum_u)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_steps_successor. fs_u_pfc_diagonal_add_left_sum_u = fs_q_pfc_diagonal_add_left_sum_u_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * fs_v_pfc_diagonal_add_left_sum_u) + (fs_s_pfc_diagonal_add_left_sum_u_body_steps))) /\ fs_s_pfc_diagonal_add_left_sum_u_body_steps = fs_r_pfc_diagonal_add_left_sum_u_body_steps + fs_a_pfc_diagonal_add_left_sum_u_body_steps)))))) -> (forall pfc_index_diagonal_add_left_v. (exists pfa_gap_diagonal_add_left_vbound. pfa_gap_diagonal_add_left_vbound + S (pfc_index_diagonal_add_left_v) = (N)) -> exists pfc_value_diagonal_add_left_v. ((((exists ff_h_pfp_diagonal_add_left_ventry. ff_h_pfp_diagonal_add_left_ventry + S (pfc_value_diagonal_add_left_v) = S ((S (pfc_index_diagonal_add_left_v)) * vc)) /\ exists ff_q_pfp_diagonal_add_left_ventry. vb = ff_q_pfp_diagonal_add_left_ventry * S ((S (pfc_index_diagonal_add_left_v)) * vc) + (pfc_value_diagonal_add_left_v))) /\ ((exists pfc_complement_diagonal_add_left_vterm pfc_left_diagonal_add_left_vterm pfc_right_diagonal_add_left_vterm. (((pfc_index_diagonal_add_left_v)+pfc_complement_diagonal_add_left_vterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_left_vtermleftinside. pfa_gap_diagonal_add_left_vtermleftinside + S (pfc_index_diagonal_add_left_v) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_left_vtermleftentry. ff_h_pfp_diagonal_add_left_vtermleftentry + S (pfc_left_diagonal_add_left_vterm) = S ((S (pfc_index_diagonal_add_left_v)) * dc)) /\ exists ff_q_pfp_diagonal_add_left_vtermleftentry. db = ff_q_pfp_diagonal_add_left_vtermleftentry * S ((S (pfc_index_diagonal_add_left_v)) * dc) + (pfc_left_diagonal_add_left_vterm)))))) \/ (((exists pfc_gap_diagonal_add_left_vtermleftoutside. pfc_gap_diagonal_add_left_vtermleftoutside+(M)=(pfc_index_diagonal_add_left_v)) /\ (((pfc_left_diagonal_add_left_vterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_left_vtermrightinside. pfa_gap_diagonal_add_left_vtermrightinside + S (pfc_complement_diagonal_add_left_vterm) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_left_vtermrightentry. ff_h_pfp_diagonal_add_left_vtermrightentry + S (pfc_right_diagonal_add_left_vterm) = S ((S (pfc_complement_diagonal_add_left_vterm)) * bc)) /\ exists ff_q_pfp_diagonal_add_left_vtermrightentry. bb = ff_q_pfp_diagonal_add_left_vtermrightentry * S ((S (pfc_complement_diagonal_add_left_vterm)) * bc) + (pfc_right_diagonal_add_left_vterm)))))) \/ (((exists pfc_gap_diagonal_add_left_vtermrightoutside. pfc_gap_diagonal_add_left_vtermrightoutside+(L)=(pfc_complement_diagonal_add_left_vterm)) /\ (((pfc_right_diagonal_add_left_vterm)=0))))) /\ (((pfc_value_diagonal_add_left_v)=pfc_left_diagonal_add_left_vterm*pfc_right_diagonal_add_left_vterm))))))))))) -> (exists fs_u_pfc_diagonal_add_left_sum_v fs_v_pfc_diagonal_add_left_sum_v. ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_start. fs_h_pfc_diagonal_add_left_sum_v_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_v)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_start. fs_u_pfc_diagonal_add_left_sum_v = fs_q_pfc_diagonal_add_left_sum_v_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_v) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_terminal. fs_h_pfc_diagonal_add_left_sum_v_body_terminal + S (v) = S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_v)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_terminal. fs_u_pfc_diagonal_add_left_sum_v = fs_q_pfc_diagonal_add_left_sum_v_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_v) + (v))) /\ forall fs_i_pfc_diagonal_add_left_sum_v_body_steps. (exists fs_lt_pfc_diagonal_add_left_sum_v_body_steps_bound. fs_lt_pfc_diagonal_add_left_sum_v_body_steps_bound + S fs_i_pfc_diagonal_add_left_sum_v_body_steps = N) -> exists fs_a_pfc_diagonal_add_left_sum_v_body_steps fs_r_pfc_diagonal_add_left_sum_v_body_steps fs_s_pfc_diagonal_add_left_sum_v_body_steps. ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_steps_summand. fs_h_pfc_diagonal_add_left_sum_v_body_steps_summand + S (fs_a_pfc_diagonal_add_left_sum_v_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * vc)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_steps_summand. vb = fs_q_pfc_diagonal_add_left_sum_v_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * vc) + (fs_a_pfc_diagonal_add_left_sum_v_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_steps_partial. fs_h_pfc_diagonal_add_left_sum_v_body_steps_partial + S (fs_r_pfc_diagonal_add_left_sum_v_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * fs_v_pfc_diagonal_add_left_sum_v)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_steps_partial. fs_u_pfc_diagonal_add_left_sum_v = fs_q_pfc_diagonal_add_left_sum_v_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * fs_v_pfc_diagonal_add_left_sum_v) + (fs_r_pfc_diagonal_add_left_sum_v_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_steps_successor. fs_h_pfc_diagonal_add_left_sum_v_body_steps_successor + S (fs_s_pfc_diagonal_add_left_sum_v_body_steps) = S ((S (S fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * fs_v_pfc_diagonal_add_left_sum_v)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_steps_successor. fs_u_pfc_diagonal_add_left_sum_v = fs_q_pfc_diagonal_add_left_sum_v_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * fs_v_pfc_diagonal_add_left_sum_v) + (fs_s_pfc_diagonal_add_left_sum_v_body_steps))) /\ fs_s_pfc_diagonal_add_left_sum_v_body_steps = fs_r_pfc_diagonal_add_left_sum_v_body_steps + fs_a_pfc_diagonal_add_left_sum_v_body_steps)))))) -> (forall pfc_index_diagonal_add_left_w. (exists pfa_gap_diagonal_add_left_wbound. pfa_gap_diagonal_add_left_wbound + S (pfc_index_diagonal_add_left_w) = (N)) -> exists pfc_value_diagonal_add_left_w. ((((exists ff_h_pfp_diagonal_add_left_wentry. ff_h_pfp_diagonal_add_left_wentry + S (pfc_value_diagonal_add_left_w) = S ((S (pfc_index_diagonal_add_left_w)) * wc)) /\ exists ff_q_pfp_diagonal_add_left_wentry. wb = ff_q_pfp_diagonal_add_left_wentry * S ((S (pfc_index_diagonal_add_left_w)) * wc) + (pfc_value_diagonal_add_left_w))) /\ ((exists pfc_complement_diagonal_add_left_wterm pfc_left_diagonal_add_left_wterm pfc_right_diagonal_add_left_wterm. (((pfc_index_diagonal_add_left_w)+pfc_complement_diagonal_add_left_wterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_left_wtermleftinside. pfa_gap_diagonal_add_left_wtermleftinside + S (pfc_index_diagonal_add_left_w) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_left_wtermleftentry. ff_h_pfp_diagonal_add_left_wtermleftentry + S (pfc_left_diagonal_add_left_wterm) = S ((S (pfc_index_diagonal_add_left_w)) * dc)) /\ exists ff_q_pfp_diagonal_add_left_wtermleftentry. db = ff_q_pfp_diagonal_add_left_wtermleftentry * S ((S (pfc_index_diagonal_add_left_w)) * dc) + (pfc_left_diagonal_add_left_wterm)))))) \/ (((exists pfc_gap_diagonal_add_left_wtermleftoutside. pfc_gap_diagonal_add_left_wtermleftoutside+(M)=(pfc_index_diagonal_add_left_w)) /\ (((pfc_left_diagonal_add_left_wterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_left_wtermrightinside. pfa_gap_diagonal_add_left_wtermrightinside + S (pfc_complement_diagonal_add_left_wterm) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_left_wtermrightentry. ff_h_pfp_diagonal_add_left_wtermrightentry + S (pfc_right_diagonal_add_left_wterm) = S ((S (pfc_complement_diagonal_add_left_wterm)) * cc)) /\ exists ff_q_pfp_diagonal_add_left_wtermrightentry. cb = ff_q_pfp_diagonal_add_left_wtermrightentry * S ((S (pfc_complement_diagonal_add_left_wterm)) * cc) + (pfc_right_diagonal_add_left_wterm)))))) \/ (((exists pfc_gap_diagonal_add_left_wtermrightoutside. pfc_gap_diagonal_add_left_wtermrightoutside+(L)=(pfc_complement_diagonal_add_left_wterm)) /\ (((pfc_right_diagonal_add_left_wterm)=0))))) /\ (((pfc_value_diagonal_add_left_w)=pfc_left_diagonal_add_left_wterm*pfc_right_diagonal_add_left_wterm))))))))))) -> (exists fs_u_pfc_diagonal_add_left_sum_w fs_v_pfc_diagonal_add_left_sum_w. ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_start. fs_h_pfc_diagonal_add_left_sum_w_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_w)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_start. fs_u_pfc_diagonal_add_left_sum_w = fs_q_pfc_diagonal_add_left_sum_w_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_w) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_terminal. fs_h_pfc_diagonal_add_left_sum_w_body_terminal + S (w) = S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_w)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_terminal. fs_u_pfc_diagonal_add_left_sum_w = fs_q_pfc_diagonal_add_left_sum_w_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_w) + (w))) /\ forall fs_i_pfc_diagonal_add_left_sum_w_body_steps. (exists fs_lt_pfc_diagonal_add_left_sum_w_body_steps_bound. fs_lt_pfc_diagonal_add_left_sum_w_body_steps_bound + S fs_i_pfc_diagonal_add_left_sum_w_body_steps = N) -> exists fs_a_pfc_diagonal_add_left_sum_w_body_steps fs_r_pfc_diagonal_add_left_sum_w_body_steps fs_s_pfc_diagonal_add_left_sum_w_body_steps. ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_steps_summand. fs_h_pfc_diagonal_add_left_sum_w_body_steps_summand + S (fs_a_pfc_diagonal_add_left_sum_w_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * wc)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_steps_summand. wb = fs_q_pfc_diagonal_add_left_sum_w_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * wc) + (fs_a_pfc_diagonal_add_left_sum_w_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_steps_partial. fs_h_pfc_diagonal_add_left_sum_w_body_steps_partial + S (fs_r_pfc_diagonal_add_left_sum_w_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * fs_v_pfc_diagonal_add_left_sum_w)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_steps_partial. fs_u_pfc_diagonal_add_left_sum_w = fs_q_pfc_diagonal_add_left_sum_w_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * fs_v_pfc_diagonal_add_left_sum_w) + (fs_r_pfc_diagonal_add_left_sum_w_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_steps_successor. fs_h_pfc_diagonal_add_left_sum_w_body_steps_successor + S (fs_s_pfc_diagonal_add_left_sum_w_body_steps) = S ((S (S fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * fs_v_pfc_diagonal_add_left_sum_w)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_steps_successor. fs_u_pfc_diagonal_add_left_sum_w = fs_q_pfc_diagonal_add_left_sum_w_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * fs_v_pfc_diagonal_add_left_sum_w) + (fs_s_pfc_diagonal_add_left_sum_w_body_steps))) /\ fs_s_pfc_diagonal_add_left_sum_w_body_steps = fs_r_pfc_diagonal_add_left_sum_w_body_steps + fs_a_pfc_diagonal_add_left_sum_w_body_steps)))))) -> (exists pfa_offset_left_diagonal_add_left_result pfa_offset_right_diagonal_add_left_result. (u+v) + (p) * pfa_offset_left_diagonal_add_left_result = (w) + (p) * pfa_offset_right_diagonal_add_left_result)

Complete tactic proof in conservative notation

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

118 script commands · 13 reading checkpoints · 0 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

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

Named ingredients (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 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–20

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

  1. L11
    intro M
  2. L12
    intro i
  3. L13
    intro N
  4. L14
    intro ub
  5. L15
    intro uc
  6. L16
    intro vb
  7. L17
    intro vc
  8. L18
    intro wb
  9. L19
    intro wc
  10. L20
    intro u
03Fix variables and assumptionsL21–29

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

  1. L21
    intro v
  2. L22
    intro w
  3. L23
    intro hs
  4. L24
    intro hdu
  5. L25
    intro hsv
  6. L26
    intro hdv
  7. L27
    intro hsvv
  8. L28
    intro hdw
  9. L29
    intro hsw
04Use earlier factsL30–39

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

  1. L30
    specialize beta_sum_pointwise_mod_add (p)
  2. L31
    specialize beta_sum_pointwise_mod_add (ub)
  3. L32
    specialize beta_sum_pointwise_mod_add (uc)
  4. L33
    specialize beta_sum_pointwise_mod_add (vb)
  5. L34
    specialize beta_sum_pointwise_mod_add (vc)
  6. L35
    specialize beta_sum_pointwise_mod_add (wb)
  7. L36
    specialize beta_sum_pointwise_mod_add (wc)
  8. L37
    specialize beta_sum_pointwise_mod_add (N)
  9. L38
    specialize beta_sum_pointwise_mod_add (u)
  10. L39
    specialize beta_sum_pointwise_mod_add (v)
05Use earlier factsL40–44

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

  1. L40
    specialize beta_sum_pointwise_mod_add (w)
  2. L41
    apply beta_sum_pointwise_mod_add
  3. L42
    exact hsv
  4. L43
    exact hsvv
  5. L44
    exact hsw
06Fix variables and assumptionsL45–52

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

  1. L45
    intro j
  2. L46
    intro a
  3. L47
    intro b
  4. L48
    intro c
  5. L49
    intro hj
  6. L50
    intro ha
  7. L51
    intro hb
  8. L52
    intro hc
07Use earlier factsL53–62

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

  1. L53
    specialize polynomial_diagonal_term_left_add_congruent (p)
  2. L54
    specialize polynomial_diagonal_term_left_add_congruent (ab)
  3. L55
    specialize polynomial_diagonal_term_left_add_congruent (ac)
  4. L56
    specialize polynomial_diagonal_term_left_add_congruent (bb)
  5. L57
    specialize polynomial_diagonal_term_left_add_congruent (bc)
  6. L58
    specialize polynomial_diagonal_term_left_add_congruent (cb)
  7. L59
    specialize polynomial_diagonal_term_left_add_congruent (cc)
  8. L60
    specialize polynomial_diagonal_term_left_add_congruent (L)
  9. L61
    specialize polynomial_diagonal_term_left_add_congruent (db)
  10. L62
    specialize polynomial_diagonal_term_left_add_congruent (dc)
08Use earlier factsL63–72

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

  1. L63
    specialize polynomial_diagonal_term_left_add_congruent (M)
  2. L64
    specialize polynomial_diagonal_term_left_add_congruent (i)
  3. L65
    specialize polynomial_diagonal_term_left_add_congruent (j)
  4. L66
    specialize polynomial_diagonal_term_left_add_congruent (a)
  5. L67
    specialize polynomial_diagonal_term_left_add_congruent (b)
  6. L68
    specialize polynomial_diagonal_term_left_add_congruent (c)
  7. L69
    apply polynomial_diagonal_term_left_add_congruent
  8. L70
    exact hs
  9. L71
    specialize polynomial_diagonal_prefix_entry (db)
  10. L72
    specialize polynomial_diagonal_prefix_entry (dc)
09Use earlier factsL73–82

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

  1. L73
    specialize polynomial_diagonal_prefix_entry (M)
  2. L74
    specialize polynomial_diagonal_prefix_entry (ab)
  3. L75
    specialize polynomial_diagonal_prefix_entry (ac)
  4. L76
    specialize polynomial_diagonal_prefix_entry (L)
  5. L77
    specialize polynomial_diagonal_prefix_entry (i)
  6. L78
    specialize polynomial_diagonal_prefix_entry (ub)
  7. L79
    specialize polynomial_diagonal_prefix_entry (uc)
  8. L80
    specialize polynomial_diagonal_prefix_entry (N)
  9. L81
    specialize polynomial_diagonal_prefix_entry (j)
  10. L82
    specialize polynomial_diagonal_prefix_entry (a)
10Use earlier factsL83–92

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

  1. L83
    apply polynomial_diagonal_prefix_entry
  2. L84
    exact hdu
  3. L85
    exact hj
  4. L86
    exact ha
  5. L87
    specialize polynomial_diagonal_prefix_entry (db)
  6. L88
    specialize polynomial_diagonal_prefix_entry (dc)
  7. L89
    specialize polynomial_diagonal_prefix_entry (M)
  8. L90
    specialize polynomial_diagonal_prefix_entry (bb)
  9. L91
    specialize polynomial_diagonal_prefix_entry (bc)
  10. L92
    specialize polynomial_diagonal_prefix_entry (L)
11Use earlier factsL93–102

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

  1. L93
    specialize polynomial_diagonal_prefix_entry (i)
  2. L94
    specialize polynomial_diagonal_prefix_entry (vb)
  3. L95
    specialize polynomial_diagonal_prefix_entry (vc)
  4. L96
    specialize polynomial_diagonal_prefix_entry (N)
  5. L97
    specialize polynomial_diagonal_prefix_entry (j)
  6. L98
    specialize polynomial_diagonal_prefix_entry (b)
  7. L99
    apply polynomial_diagonal_prefix_entry
  8. L100
    exact hdv
  9. L101
    exact hj
  10. L102
    exact hb
12Use earlier factsL103–112

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

  1. L103
    specialize polynomial_diagonal_prefix_entry (db)
  2. L104
    specialize polynomial_diagonal_prefix_entry (dc)
  3. L105
    specialize polynomial_diagonal_prefix_entry (M)
  4. L106
    specialize polynomial_diagonal_prefix_entry (cb)
  5. L107
    specialize polynomial_diagonal_prefix_entry (cc)
  6. L108
    specialize polynomial_diagonal_prefix_entry (L)
  7. L109
    specialize polynomial_diagonal_prefix_entry (i)
  8. L110
    specialize polynomial_diagonal_prefix_entry (wb)
  9. L111
    specialize polynomial_diagonal_prefix_entry (wc)
  10. L112
    specialize polynomial_diagonal_prefix_entry (N)
13Use earlier factsL113–118

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

  1. L113
    specialize polynomial_diagonal_prefix_entry (j)
  2. L114
    specialize polynomial_diagonal_prefix_entry (c)
  3. L115
    apply polynomial_diagonal_prefix_entry
  4. L116
    exact hdw
  5. L117
    exact hj
  6. L118
    exact hc

Library-wide reading audit

Original defined command ledger · 118 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 N
  14. 0014intro ub
  15. 0015intro uc
  16. 0016intro vb
  17. 0017intro vc
  18. 0018intro wb
  19. 0019intro wc
  20. 0020intro u
  21. 0021intro v
  22. 0022intro w
  23. 0023intro hs
  24. 0024intro hdu
  25. 0025intro hsv
  26. 0026intro hdv
  27. 0027intro hsvv
  28. 0028intro hdw
  29. 0029intro hsw
  30. 0030specialize beta_sum_pointwise_mod_add (p)
  31. 0031specialize beta_sum_pointwise_mod_add (ub)
  32. 0032specialize beta_sum_pointwise_mod_add (uc)
  33. 0033specialize beta_sum_pointwise_mod_add (vb)
  34. 0034specialize beta_sum_pointwise_mod_add (vc)
  35. 0035specialize beta_sum_pointwise_mod_add (wb)
  36. 0036specialize beta_sum_pointwise_mod_add (wc)
  37. 0037specialize beta_sum_pointwise_mod_add (N)
  38. 0038specialize beta_sum_pointwise_mod_add (u)
  39. 0039specialize beta_sum_pointwise_mod_add (v)
  40. 0040specialize beta_sum_pointwise_mod_add (w)
  41. 0041apply beta_sum_pointwise_mod_add
  42. 0042exact hsv
  43. 0043exact hsvv
  44. 0044exact hsw
  45. 0045intro j
  46. 0046intro a
  47. 0047intro b
  48. 0048intro c
  49. 0049intro hj
  50. 0050intro ha
  51. 0051intro hb
  52. 0052intro hc
  53. 0053specialize polynomial_diagonal_term_left_add_congruent (p)
  54. 0054specialize polynomial_diagonal_term_left_add_congruent (ab)
  55. 0055specialize polynomial_diagonal_term_left_add_congruent (ac)
  56. 0056specialize polynomial_diagonal_term_left_add_congruent (bb)
  57. 0057specialize polynomial_diagonal_term_left_add_congruent (bc)
  58. 0058specialize polynomial_diagonal_term_left_add_congruent (cb)
  59. 0059specialize polynomial_diagonal_term_left_add_congruent (cc)
  60. 0060specialize polynomial_diagonal_term_left_add_congruent (L)
  61. 0061specialize polynomial_diagonal_term_left_add_congruent (db)
  62. 0062specialize polynomial_diagonal_term_left_add_congruent (dc)
  63. 0063specialize polynomial_diagonal_term_left_add_congruent (M)
  64. 0064specialize polynomial_diagonal_term_left_add_congruent (i)
  65. 0065specialize polynomial_diagonal_term_left_add_congruent (j)
  66. 0066specialize polynomial_diagonal_term_left_add_congruent (a)
  67. 0067specialize polynomial_diagonal_term_left_add_congruent (b)
  68. 0068specialize polynomial_diagonal_term_left_add_congruent (c)
  69. 0069apply polynomial_diagonal_term_left_add_congruent
  70. 0070exact hs
  71. 0071specialize polynomial_diagonal_prefix_entry (db)
  72. 0072specialize polynomial_diagonal_prefix_entry (dc)
  73. 0073specialize polynomial_diagonal_prefix_entry (M)
  74. 0074specialize polynomial_diagonal_prefix_entry (ab)
  75. 0075specialize polynomial_diagonal_prefix_entry (ac)
  76. 0076specialize polynomial_diagonal_prefix_entry (L)
  77. 0077specialize polynomial_diagonal_prefix_entry (i)
  78. 0078specialize polynomial_diagonal_prefix_entry (ub)
  79. 0079specialize polynomial_diagonal_prefix_entry (uc)
  80. 0080specialize polynomial_diagonal_prefix_entry (N)
  81. 0081specialize polynomial_diagonal_prefix_entry (j)
  82. 0082specialize polynomial_diagonal_prefix_entry (a)
  83. 0083apply polynomial_diagonal_prefix_entry
  84. 0084exact hdu
  85. 0085exact hj
  86. 0086exact ha
  87. 0087specialize polynomial_diagonal_prefix_entry (db)
  88. 0088specialize polynomial_diagonal_prefix_entry (dc)
  89. 0089specialize polynomial_diagonal_prefix_entry (M)
  90. 0090specialize polynomial_diagonal_prefix_entry (bb)
  91. 0091specialize polynomial_diagonal_prefix_entry (bc)
  92. 0092specialize polynomial_diagonal_prefix_entry (L)
  93. 0093specialize polynomial_diagonal_prefix_entry (i)
  94. 0094specialize polynomial_diagonal_prefix_entry (vb)
  95. 0095specialize polynomial_diagonal_prefix_entry (vc)
  96. 0096specialize polynomial_diagonal_prefix_entry (N)
  97. 0097specialize polynomial_diagonal_prefix_entry (j)
  98. 0098specialize polynomial_diagonal_prefix_entry (b)
  99. 0099apply polynomial_diagonal_prefix_entry
  100. 0100exact hdv
  101. 0101exact hj
  102. 0102exact hb
  103. 0103specialize polynomial_diagonal_prefix_entry (db)
  104. 0104specialize polynomial_diagonal_prefix_entry (dc)
  105. 0105specialize polynomial_diagonal_prefix_entry (M)
  106. 0106specialize polynomial_diagonal_prefix_entry (cb)
  107. 0107specialize polynomial_diagonal_prefix_entry (cc)
  108. 0108specialize polynomial_diagonal_prefix_entry (L)
  109. 0109specialize polynomial_diagonal_prefix_entry (i)
  110. 0110specialize polynomial_diagonal_prefix_entry (wb)
  111. 0111specialize polynomial_diagonal_prefix_entry (wc)
  112. 0112specialize polynomial_diagonal_prefix_entry (N)
  113. 0113specialize polynomial_diagonal_prefix_entry (j)
  114. 0114specialize polynomial_diagonal_prefix_entry (c)
  115. 0115apply polynomial_diagonal_prefix_entry
  116. 0116exact hdw
  117. 0117exact hj
  118. 0118exact hc