Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Exact expanded first-order arithmetic statement
forall p ab ac L bb bc M cb cc N BB BC db dc K. (~(p=0)) -> (((forall mdr_i_pfp_shift_empty_factorprefix mdr_a_pfp_shift_empty_factorprefix. (exists mdr_gap_pfp_shift_empty_factorprefixb. mdr_gap_pfp_shift_empty_factorprefixb + S (mdr_i_pfp_shift_empty_factorprefix) = (M)) -> (((exists ff_h_mdr_pfp_shift_empty_factorprefixo. ff_h_mdr_pfp_shift_empty_factorprefixo + S (mdr_a_pfp_shift_empty_factorprefix) = S ((S (mdr_i_pfp_shift_empty_factorprefix)) * bc)) /\ exists ff_q_mdr_pfp_shift_empty_factorprefixo. bb = ff_q_mdr_pfp_shift_empty_factorprefixo * S ((S (mdr_i_pfp_shift_empty_factorprefix)) * bc) + (mdr_a_pfp_shift_empty_factorprefix))) -> (((exists ff_h_mdr_pfp_shift_empty_factorprefixn. ff_h_mdr_pfp_shift_empty_factorprefixn + S (mdr_a_pfp_shift_empty_factorprefix) = S ((S (mdr_i_pfp_shift_empty_factorprefix)) * BC)) /\ exists ff_q_mdr_pfp_shift_empty_factorprefixn. BB = ff_q_mdr_pfp_shift_empty_factorprefixn * S ((S (mdr_i_pfp_shift_empty_factorprefix)) * BC) + (mdr_a_pfp_shift_empty_factorprefix)))) /\ ((((exists ff_h_pfp_shift_empty_factorlast. ff_h_pfp_shift_empty_factorlast + S (0) = S ((S (M)) * BC)) /\ exists ff_q_pfp_shift_empty_factorlast. BB = ff_q_pfp_shift_empty_factorlast * S ((S (M)) * BC) + (0)))))) -> (((forall fom_index_pfp_shift_empty_oldleft. (exists fom_gap_pfp_shift_empty_oldleft_index_bound. fom_gap_pfp_shift_empty_oldleft_index_bound + S (fom_index_pfp_shift_empty_oldleft) = L) -> exists fom_value_pfp_shift_empty_oldleft. ((((exists fom_beta_height_pfp_shift_empty_oldleft_entry. fom_beta_height_pfp_shift_empty_oldleft_entry + S (fom_value_pfp_shift_empty_oldleft) = S ((S (fom_index_pfp_shift_empty_oldleft)) * ac)) /\ exists fom_beta_quotient_pfp_shift_empty_oldleft_entry. ab = fom_beta_quotient_pfp_shift_empty_oldleft_entry * S ((S (fom_index_pfp_shift_empty_oldleft)) * ac) + (fom_value_pfp_shift_empty_oldleft))) /\ (exists fom_gap_pfp_shift_empty_oldleft_value_bound. fom_gap_pfp_shift_empty_oldleft_value_bound + S (fom_value_pfp_shift_empty_oldleft) = p))) /\ (((forall fom_index_pfp_shift_empty_oldright. (exists fom_gap_pfp_shift_empty_oldright_index_bound. fom_gap_pfp_shift_empty_oldright_index_bound + S (fom_index_pfp_shift_empty_oldright) = M) -> exists fom_value_pfp_shift_empty_oldright. ((((exists fom_beta_height_pfp_shift_empty_oldright_entry. fom_beta_height_pfp_shift_empty_oldright_entry + S (fom_value_pfp_shift_empty_oldright) = S ((S (fom_index_pfp_shift_empty_oldright)) * bc)) /\ exists fom_beta_quotient_pfp_shift_empty_oldright_entry. bb = fom_beta_quotient_pfp_shift_empty_oldright_entry * S ((S (fom_index_pfp_shift_empty_oldright)) * bc) + (fom_value_pfp_shift_empty_oldright))) /\ (exists fom_gap_pfp_shift_empty_oldright_value_bound. fom_gap_pfp_shift_empty_oldright_value_bound + S (fom_value_pfp_shift_empty_oldright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_shift_empty_oldcoefficients. (exists pfa_gap_shift_empty_oldcoefficientsbound. pfa_gap_shift_empty_oldcoefficientsbound + S (pfc_index_shift_empty_oldcoefficients) = (N)) -> exists pfc_value_shift_empty_oldcoefficients. ((((exists ff_h_pfp_shift_empty_oldcoefficientsentry. ff_h_pfp_shift_empty_oldcoefficientsentry + S (pfc_value_shift_empty_oldcoefficients) = S ((S (pfc_index_shift_empty_oldcoefficients)) * cc)) /\ exists ff_q_pfp_shift_empty_oldcoefficientsentry. cb = ff_q_pfp_shift_empty_oldcoefficientsentry * S ((S (pfc_index_shift_empty_oldcoefficients)) * cc) + (pfc_value_shift_empty_oldcoefficients))) /\ ((exists pfc_terms_code_shift_empty_oldcoefficientscoefficient pfc_terms_scale_shift_empty_oldcoefficientscoefficient pfc_natural_sum_shift_empty_oldcoefficientscoefficient. ((forall pfc_index_shift_empty_oldcoefficientscoefficientdiagonal. (exists pfa_gap_shift_empty_oldcoefficientscoefficientdiagonalbound. pfa_gap_shift_empty_oldcoefficientscoefficientdiagonalbound + S (pfc_index_shift_empty_oldcoefficientscoefficientdiagonal) = (S (pfc_index_shift_empty_oldcoefficients))) -> exists pfc_value_shift_empty_oldcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_shift_empty_oldcoefficientscoefficientdiagonalentry. ff_h_pfp_shift_empty_oldcoefficientscoefficientdiagonalentry + S (pfc_value_shift_empty_oldcoefficientscoefficientdiagonal) = S ((S (pfc_index_shift_empty_oldcoefficientscoefficientdiagonal)) * pfc_terms_scale_shift_empty_oldcoefficientscoefficient)) /\ exists ff_q_pfp_shift_empty_oldcoefficientscoefficientdiagonalentry. pfc_terms_code_shift_empty_oldcoefficientscoefficient = ff_q_pfp_shift_empty_oldcoefficientscoefficientdiagonalentry * S ((S (pfc_index_shift_empty_oldcoefficientscoefficientdiagonal)) * pfc_terms_scale_shift_empty_oldcoefficientscoefficient) + (pfc_value_shift_empty_oldcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_shift_empty_oldcoefficientscoefficientdiagonalterm pfc_left_shift_empty_oldcoefficientscoefficientdiagonalterm pfc_right_shift_empty_oldcoefficientscoefficientdiagonalterm. (((pfc_index_shift_empty_oldcoefficientscoefficientdiagonal)+pfc_complement_shift_empty_oldcoefficientscoefficientdiagonalterm=(pfc_index_shift_empty_oldcoefficients)) /\ ((((((exists pfa_gap_shift_empty_oldcoefficientscoefficientdiagonaltermleftinside. pfa_gap_shift_empty_oldcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_shift_empty_oldcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_shift_empty_oldcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_shift_empty_oldcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_shift_empty_oldcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_shift_empty_oldcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_shift_empty_oldcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_shift_empty_oldcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_shift_empty_oldcoefficientscoefficientdiagonal)) * ac) + (pfc_left_shift_empty_oldcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_shift_empty_oldcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_shift_empty_oldcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_shift_empty_oldcoefficientscoefficientdiagonal)) /\ (((pfc_left_shift_empty_oldcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_shift_empty_oldcoefficientscoefficientdiagonaltermrightinside. pfa_gap_shift_empty_oldcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_shift_empty_oldcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_shift_empty_oldcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_shift_empty_oldcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_shift_empty_oldcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_shift_empty_oldcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_shift_empty_oldcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_shift_empty_oldcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_shift_empty_oldcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_shift_empty_oldcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_shift_empty_oldcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_shift_empty_oldcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_shift_empty_oldcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_shift_empty_oldcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_shift_empty_oldcoefficientscoefficientdiagonal)=pfc_left_shift_empty_oldcoefficientscoefficientdiagonalterm*pfc_right_shift_empty_oldcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_shift_empty_oldcoefficientscoefficientsum fs_v_pfc_shift_empty_oldcoefficientscoefficientsum. ((((exists fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_start. fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_shift_empty_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_start. fs_u_pfc_shift_empty_oldcoefficientscoefficientsum = fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_shift_empty_oldcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_terminal. fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_shift_empty_oldcoefficientscoefficient) = S ((S (S (pfc_index_shift_empty_oldcoefficients))) * fs_v_pfc_shift_empty_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_terminal. fs_u_pfc_shift_empty_oldcoefficientscoefficientsum = fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_shift_empty_oldcoefficients))) * fs_v_pfc_shift_empty_oldcoefficientscoefficientsum) + (pfc_natural_sum_shift_empty_oldcoefficientscoefficient))) /\ forall fs_i_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps = S (pfc_index_shift_empty_oldcoefficients)) -> exists fs_a_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps fs_r_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps fs_s_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_shift_empty_oldcoefficientscoefficient)) /\ exists fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_shift_empty_oldcoefficientscoefficient = fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_shift_empty_oldcoefficientscoefficient) + (fs_a_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_shift_empty_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_shift_empty_oldcoefficientscoefficientsum = fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_shift_empty_oldcoefficientscoefficientsum) + (fs_r_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_shift_empty_oldcoefficientscoefficientsum)) /\ exists fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_shift_empty_oldcoefficientscoefficientsum = fs_q_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps)) * fs_v_pfc_shift_empty_oldcoefficientscoefficientsum) + (fs_s_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps = fs_r_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps + fs_a_pfc_shift_empty_oldcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_shift_empty_oldcoefficientscoefficientresiduebound. pfa_gap_shift_empty_oldcoefficientscoefficientresiduebound + S (pfc_value_shift_empty_oldcoefficients) = (p)) /\ ((exists pfa_offset_left_shift_empty_oldcoefficientscoefficientresiduecongruence pfa_offset_right_shift_empty_oldcoefficientscoefficientresiduecongruence. (pfc_natural_sum_shift_empty_oldcoefficientscoefficient) + (p) * pfa_offset_left_shift_empty_oldcoefficientscoefficientresiduecongruence = (pfc_value_shift_empty_oldcoefficients) + (p) * pfa_offset_right_shift_empty_oldcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_shift_empty_newleft. (exists fom_gap_pfp_shift_empty_newleft_index_bound. fom_gap_pfp_shift_empty_newleft_index_bound + S (fom_index_pfp_shift_empty_newleft) = L) -> exists fom_value_pfp_shift_empty_newleft. ((((exists fom_beta_height_pfp_shift_empty_newleft_entry. fom_beta_height_pfp_shift_empty_newleft_entry + S (fom_value_pfp_shift_empty_newleft) = S ((S (fom_index_pfp_shift_empty_newleft)) * ac)) /\ exists fom_beta_quotient_pfp_shift_empty_newleft_entry. ab = fom_beta_quotient_pfp_shift_empty_newleft_entry * S ((S (fom_index_pfp_shift_empty_newleft)) * ac) + (fom_value_pfp_shift_empty_newleft))) /\ (exists fom_gap_pfp_shift_empty_newleft_value_bound. fom_gap_pfp_shift_empty_newleft_value_bound + S (fom_value_pfp_shift_empty_newleft) = p))) /\ (((forall fom_index_pfp_shift_empty_newright. (exists fom_gap_pfp_shift_empty_newright_index_bound. fom_gap_pfp_shift_empty_newright_index_bound + S (fom_index_pfp_shift_empty_newright) = S M) -> exists fom_value_pfp_shift_empty_newright. ((((exists fom_beta_height_pfp_shift_empty_newright_entry. fom_beta_height_pfp_shift_empty_newright_entry + S (fom_value_pfp_shift_empty_newright) = S ((S (fom_index_pfp_shift_empty_newright)) * BC)) /\ exists fom_beta_quotient_pfp_shift_empty_newright_entry. BB = fom_beta_quotient_pfp_shift_empty_newright_entry * S ((S (fom_index_pfp_shift_empty_newright)) * BC) + (fom_value_pfp_shift_empty_newright))) /\ (exists fom_gap_pfp_shift_empty_newright_value_bound. fom_gap_pfp_shift_empty_newright_value_bound + S (fom_value_pfp_shift_empty_newright) = p))) /\ (((((((L)=0 \/ (S M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((S M)=0)) /\ (((L)+(S M)=S (K)))))))) /\ ((forall pfc_index_shift_empty_newcoefficients. (exists pfa_gap_shift_empty_newcoefficientsbound. pfa_gap_shift_empty_newcoefficientsbound + S (pfc_index_shift_empty_newcoefficients) = (K)) -> exists pfc_value_shift_empty_newcoefficients. ((((exists ff_h_pfp_shift_empty_newcoefficientsentry. ff_h_pfp_shift_empty_newcoefficientsentry + S (pfc_value_shift_empty_newcoefficients) = S ((S (pfc_index_shift_empty_newcoefficients)) * dc)) /\ exists ff_q_pfp_shift_empty_newcoefficientsentry. db = ff_q_pfp_shift_empty_newcoefficientsentry * S ((S (pfc_index_shift_empty_newcoefficients)) * dc) + (pfc_value_shift_empty_newcoefficients))) /\ ((exists pfc_terms_code_shift_empty_newcoefficientscoefficient pfc_terms_scale_shift_empty_newcoefficientscoefficient pfc_natural_sum_shift_empty_newcoefficientscoefficient. ((forall pfc_index_shift_empty_newcoefficientscoefficientdiagonal. (exists pfa_gap_shift_empty_newcoefficientscoefficientdiagonalbound. pfa_gap_shift_empty_newcoefficientscoefficientdiagonalbound + S (pfc_index_shift_empty_newcoefficientscoefficientdiagonal) = (S (pfc_index_shift_empty_newcoefficients))) -> exists pfc_value_shift_empty_newcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_shift_empty_newcoefficientscoefficientdiagonalentry. ff_h_pfp_shift_empty_newcoefficientscoefficientdiagonalentry + S (pfc_value_shift_empty_newcoefficientscoefficientdiagonal) = S ((S (pfc_index_shift_empty_newcoefficientscoefficientdiagonal)) * pfc_terms_scale_shift_empty_newcoefficientscoefficient)) /\ exists ff_q_pfp_shift_empty_newcoefficientscoefficientdiagonalentry. pfc_terms_code_shift_empty_newcoefficientscoefficient = ff_q_pfp_shift_empty_newcoefficientscoefficientdiagonalentry * S ((S (pfc_index_shift_empty_newcoefficientscoefficientdiagonal)) * pfc_terms_scale_shift_empty_newcoefficientscoefficient) + (pfc_value_shift_empty_newcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_shift_empty_newcoefficientscoefficientdiagonalterm pfc_left_shift_empty_newcoefficientscoefficientdiagonalterm pfc_right_shift_empty_newcoefficientscoefficientdiagonalterm. (((pfc_index_shift_empty_newcoefficientscoefficientdiagonal)+pfc_complement_shift_empty_newcoefficientscoefficientdiagonalterm=(pfc_index_shift_empty_newcoefficients)) /\ ((((((exists pfa_gap_shift_empty_newcoefficientscoefficientdiagonaltermleftinside. pfa_gap_shift_empty_newcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_shift_empty_newcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_shift_empty_newcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_shift_empty_newcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_shift_empty_newcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_shift_empty_newcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_shift_empty_newcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_shift_empty_newcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_shift_empty_newcoefficientscoefficientdiagonal)) * ac) + (pfc_left_shift_empty_newcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_shift_empty_newcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_shift_empty_newcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_shift_empty_newcoefficientscoefficientdiagonal)) /\ (((pfc_left_shift_empty_newcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_shift_empty_newcoefficientscoefficientdiagonaltermrightinside. pfa_gap_shift_empty_newcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_shift_empty_newcoefficientscoefficientdiagonalterm) = (S M)) /\ ((((exists ff_h_pfp_shift_empty_newcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_shift_empty_newcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_shift_empty_newcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_shift_empty_newcoefficientscoefficientdiagonalterm)) * BC)) /\ exists ff_q_pfp_shift_empty_newcoefficientscoefficientdiagonaltermrightentry. BB = ff_q_pfp_shift_empty_newcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_shift_empty_newcoefficientscoefficientdiagonalterm)) * BC) + (pfc_right_shift_empty_newcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_shift_empty_newcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_shift_empty_newcoefficientscoefficientdiagonaltermrightoutside+(S M)=(pfc_complement_shift_empty_newcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_shift_empty_newcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_shift_empty_newcoefficientscoefficientdiagonal)=pfc_left_shift_empty_newcoefficientscoefficientdiagonalterm*pfc_right_shift_empty_newcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_shift_empty_newcoefficientscoefficientsum fs_v_pfc_shift_empty_newcoefficientscoefficientsum. ((((exists fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_start. fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_shift_empty_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_start. fs_u_pfc_shift_empty_newcoefficientscoefficientsum = fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_shift_empty_newcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_terminal. fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_shift_empty_newcoefficientscoefficient) = S ((S (S (pfc_index_shift_empty_newcoefficients))) * fs_v_pfc_shift_empty_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_terminal. fs_u_pfc_shift_empty_newcoefficientscoefficientsum = fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_shift_empty_newcoefficients))) * fs_v_pfc_shift_empty_newcoefficientscoefficientsum) + (pfc_natural_sum_shift_empty_newcoefficientscoefficient))) /\ forall fs_i_pfc_shift_empty_newcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_shift_empty_newcoefficientscoefficientsum_body_steps = S (pfc_index_shift_empty_newcoefficients)) -> exists fs_a_pfc_shift_empty_newcoefficientscoefficientsum_body_steps fs_r_pfc_shift_empty_newcoefficientscoefficientsum_body_steps fs_s_pfc_shift_empty_newcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_shift_empty_newcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_shift_empty_newcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_shift_empty_newcoefficientscoefficient)) /\ exists fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_shift_empty_newcoefficientscoefficient = fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_shift_empty_newcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_shift_empty_newcoefficientscoefficient) + (fs_a_pfc_shift_empty_newcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_shift_empty_newcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_shift_empty_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_shift_empty_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_shift_empty_newcoefficientscoefficientsum = fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_shift_empty_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_shift_empty_newcoefficientscoefficientsum) + (fs_r_pfc_shift_empty_newcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_shift_empty_newcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_shift_empty_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_shift_empty_newcoefficientscoefficientsum)) /\ exists fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_shift_empty_newcoefficientscoefficientsum = fs_q_pfc_shift_empty_newcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_shift_empty_newcoefficientscoefficientsum_body_steps)) * fs_v_pfc_shift_empty_newcoefficientscoefficientsum) + (fs_s_pfc_shift_empty_newcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_shift_empty_newcoefficientscoefficientsum_body_steps = fs_r_pfc_shift_empty_newcoefficientscoefficientsum_body_steps + fs_a_pfc_shift_empty_newcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_shift_empty_newcoefficientscoefficientresiduebound. pfa_gap_shift_empty_newcoefficientscoefficientresiduebound + S (pfc_value_shift_empty_newcoefficients) = (p)) /\ ((exists pfa_offset_left_shift_empty_newcoefficientscoefficientresiduecongruence pfa_offset_right_shift_empty_newcoefficientscoefficientresiduecongruence. (pfc_natural_sum_shift_empty_newcoefficientscoefficient) + (p) * pfa_offset_left_shift_empty_newcoefficientscoefficientresiduecongruence = (pfc_value_shift_empty_newcoefficients) + (p) * pfa_offset_right_shift_empty_newcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (L=0 \/ M=0) -> (((forall pfp_repeat_index_shift_empty_old_zero. (exists pfa_gap_shift_empty_old_zeroindex. pfa_gap_shift_empty_old_zeroindex + S (pfp_repeat_index_shift_empty_old_zero) = (N)) -> (((exists ff_h_pfp_shift_empty_old_zeroentry. ff_h_pfp_shift_empty_old_zeroentry + S (0) = S ((S (pfp_repeat_index_shift_empty_old_zero)) * cc)) /\ exists ff_q_pfp_shift_empty_old_zeroentry. cb = ff_q_pfp_shift_empty_old_zeroentry * S ((S (pfp_repeat_index_shift_empty_old_zero)) * cc) + (0)))) /\ ((forall pfp_repeat_index_shift_empty_new_zero. (exists pfa_gap_shift_empty_new_zeroindex. pfa_gap_shift_empty_new_zeroindex + S (pfp_repeat_index_shift_empty_new_zero) = (K)) -> (((exists ff_h_pfp_shift_empty_new_zeroentry. ff_h_pfp_shift_empty_new_zeroentry + S (0) = S ((S (pfp_repeat_index_shift_empty_new_zero)) * dc)) /\ exists ff_q_pfp_shift_empty_new_zeroentry. db = ff_q_pfp_shift_empty_new_zeroentry * S ((S (pfp_repeat_index_shift_empty_new_zero)) * dc) + (0)))))))Constructive proof overview
Generated structural guide
If either original factor is empty, both actual products are zero prefixes; no false successor-length equation is imposed.
The unchanged tactic script uses 5 declared prerequisites and contains 108 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
lt_not_le Alpha theorem; checked-use authorized zero_le Alpha theorem; checked-use authorized prime_field_polynomial_convolution_zero_left Alpha theorem; checked-use authorized prime_field_polynomial_convolution_zero_right Alpha theorem; checked-use authorized PG0004 prime_field_polynomial_shift_zero_prefixDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases hempty
04Establish hzL22–25
Establish this local claim before using it. It is not an additional assumption.
- L22
have hz : forall pfp_repeat_index_shift_empty_source_left. (exists pfa_gap_shift_empty_source_leftindex. pfa_gap_shift_empty_source_leftindex + S (pfp_repeat_index_shift_empty_source_left) = (L)) -> (((exists ff_h_pfp_shift_empty_source_leftentry. ff_h_pfp_shift_empty_source_leftentry + S (0) = S ((S (pfp_repeat_index_shift_empty_source_left)) * ac)) /\ exists ff_q_pfp_shift_empty_source_leftentry. ab = ff_q_pfp_shift_empty_source_leftentry * S ((S (pfp_repeat_index_shift_empty_source_left)) * ac) + (0))) - L23
intro i - L24
intro hi - L25
rewrite hempty_left at hi
05Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
exfalso
06Use earlier factsL27–32
07Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
split
08Use earlier factsL34–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
specialize prime_field_polynomial_convolution_zero_left (p) - L35
specialize prime_field_polynomial_convolution_zero_left (ab) - L36
specialize prime_field_polynomial_convolution_zero_left (ac) - L37
specialize prime_field_polynomial_convolution_zero_left (L) - L38
specialize prime_field_polynomial_convolution_zero_left (bb) - L39
specialize prime_field_polynomial_convolution_zero_left (bc) - L40
specialize prime_field_polynomial_convolution_zero_left (M) - L41
specialize prime_field_polynomial_convolution_zero_left (cb) - L42
specialize prime_field_polynomial_convolution_zero_left (cc) - L43
specialize prime_field_polynomial_convolution_zero_left (N)
09Use earlier factsL44–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
apply prime_field_polynomial_convolution_zero_left - L45
exact hp - L46
exact hz - L47
exact hc - L48
specialize prime_field_polynomial_convolution_zero_left (p) - L49
specialize prime_field_polynomial_convolution_zero_left (ab) - L50
specialize prime_field_polynomial_convolution_zero_left (ac) - L51
specialize prime_field_polynomial_convolution_zero_left (L) - L52
specialize prime_field_polynomial_convolution_zero_left (BB) - L53
specialize prime_field_polynomial_convolution_zero_left (BC)
10Use earlier factsL54–61
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
specialize prime_field_polynomial_convolution_zero_left (S M) - L55
specialize prime_field_polynomial_convolution_zero_left (db) - L56
specialize prime_field_polynomial_convolution_zero_left (dc) - L57
specialize prime_field_polynomial_convolution_zero_left (K) - L58
apply prime_field_polynomial_convolution_zero_left - L59
exact hp - L60
exact hz - L61
exact hd
11Establish hzL62–65
Establish this local claim before using it. It is not an additional assumption.
- L62
have hz : forall pfp_repeat_index_shift_empty_source_right. (exists pfa_gap_shift_empty_source_rightindex. pfa_gap_shift_empty_source_rightindex + S (pfp_repeat_index_shift_empty_source_right) = (M)) -> (((exists ff_h_pfp_shift_empty_source_rightentry. ff_h_pfp_shift_empty_source_rightentry + S (0) = S ((S (pfp_repeat_index_shift_empty_source_right)) * bc)) /\ exists ff_q_pfp_shift_empty_source_rightentry. bb = ff_q_pfp_shift_empty_source_rightentry * S ((S (pfp_repeat_index_shift_empty_source_right)) * bc) + (0))) - L63
intro i - L64
intro hi - L65
rewrite hempty_right at hi
12Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
exfalso
13Use earlier factsL67–72
14Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
split
15Use earlier factsL74–83
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
specialize prime_field_polynomial_convolution_zero_right (p) - L75
specialize prime_field_polynomial_convolution_zero_right (ab) - L76
specialize prime_field_polynomial_convolution_zero_right (ac) - L77
specialize prime_field_polynomial_convolution_zero_right (L) - L78
specialize prime_field_polynomial_convolution_zero_right (bb) - L79
specialize prime_field_polynomial_convolution_zero_right (bc) - L80
specialize prime_field_polynomial_convolution_zero_right (M) - L81
specialize prime_field_polynomial_convolution_zero_right (cb) - L82
specialize prime_field_polynomial_convolution_zero_right (cc) - L83
specialize prime_field_polynomial_convolution_zero_right (N)
16Use earlier factsL84–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L84
apply prime_field_polynomial_convolution_zero_right - L85
exact hp - L86
exact hz - L87
exact hc - L88
specialize prime_field_polynomial_convolution_zero_right (p) - L89
specialize prime_field_polynomial_convolution_zero_right (ab) - L90
specialize prime_field_polynomial_convolution_zero_right (ac) - L91
specialize prime_field_polynomial_convolution_zero_right (L) - L92
specialize prime_field_polynomial_convolution_zero_right (BB) - L93
specialize prime_field_polynomial_convolution_zero_right (BC)
17Use earlier factsL94–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L94
specialize prime_field_polynomial_convolution_zero_right (S M) - L95
specialize prime_field_polynomial_convolution_zero_right (db) - L96
specialize prime_field_polynomial_convolution_zero_right (dc) - L97
specialize prime_field_polynomial_convolution_zero_right (K) - L98
apply prime_field_polynomial_convolution_zero_right - L99
exact hp - L100
specialize prime_field_polynomial_shift_zero_prefix (bb) - L101
specialize prime_field_polynomial_shift_zero_prefix (bc) - L102
specialize prime_field_polynomial_shift_zero_prefix (M) - L103
specialize prime_field_polynomial_shift_zero_prefix (BB)
Original exact command ledger · 108 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro L - 0005
intro bb - 0006
intro bc - 0007
intro M - 0008
intro cb - 0009
intro cc - 0010
intro N - 0011
intro BB - 0012
intro BC - 0013
intro db - 0014
intro dc - 0015
intro K - 0016
intro hp - 0017
intro hs - 0018
intro hc - 0019
intro hd - 0020
intro hempty - 0021
cases hempty - 0022
have hz : forall pfp_repeat_index_shift_empty_source_left. (exists pfa_gap_shift_empty_source_leftindex. pfa_gap_shift_empty_source_leftindex + S (pfp_repeat_index_shift_empty_source_left) = (L)) -> (((exists ff_h_pfp_shift_empty_source_leftentry. ff_h_pfp_shift_empty_source_leftentry + S (0) = S ((S (pfp_repeat_index_shift_empty_source_left)) * ac)) /\ exists ff_q_pfp_shift_empty_source_leftentry. ab = ff_q_pfp_shift_empty_source_leftentry * S ((S (pfp_repeat_index_shift_empty_source_left)) * ac) + (0))) - 0023
intro i - 0024
intro hi - 0025
rewrite hempty_left at hi - 0026
exfalso - 0027
specialize lt_not_le (i) - 0028
specialize lt_not_le (0) - 0029
apply lt_not_le - 0030
exact hi - 0031
specialize zero_le (i) - 0032
apply zero_le - 0033
split - 0034
specialize prime_field_polynomial_convolution_zero_left (p) - 0035
specialize prime_field_polynomial_convolution_zero_left (ab) - 0036
specialize prime_field_polynomial_convolution_zero_left (ac) - 0037
specialize prime_field_polynomial_convolution_zero_left (L) - 0038
specialize prime_field_polynomial_convolution_zero_left (bb) - 0039
specialize prime_field_polynomial_convolution_zero_left (bc) - 0040
specialize prime_field_polynomial_convolution_zero_left (M) - 0041
specialize prime_field_polynomial_convolution_zero_left (cb) - 0042
specialize prime_field_polynomial_convolution_zero_left (cc) - 0043
specialize prime_field_polynomial_convolution_zero_left (N) - 0044
apply prime_field_polynomial_convolution_zero_left - 0045
exact hp - 0046
exact hz - 0047
exact hc - 0048
specialize prime_field_polynomial_convolution_zero_left (p) - 0049
specialize prime_field_polynomial_convolution_zero_left (ab) - 0050
specialize prime_field_polynomial_convolution_zero_left (ac) - 0051
specialize prime_field_polynomial_convolution_zero_left (L) - 0052
specialize prime_field_polynomial_convolution_zero_left (BB) - 0053
specialize prime_field_polynomial_convolution_zero_left (BC) - 0054
specialize prime_field_polynomial_convolution_zero_left (S M) - 0055
specialize prime_field_polynomial_convolution_zero_left (db) - 0056
specialize prime_field_polynomial_convolution_zero_left (dc) - 0057
specialize prime_field_polynomial_convolution_zero_left (K) - 0058
apply prime_field_polynomial_convolution_zero_left - 0059
exact hp - 0060
exact hz - 0061
exact hd - 0062
have hz : forall pfp_repeat_index_shift_empty_source_right. (exists pfa_gap_shift_empty_source_rightindex. pfa_gap_shift_empty_source_rightindex + S (pfp_repeat_index_shift_empty_source_right) = (M)) -> (((exists ff_h_pfp_shift_empty_source_rightentry. ff_h_pfp_shift_empty_source_rightentry + S (0) = S ((S (pfp_repeat_index_shift_empty_source_right)) * bc)) /\ exists ff_q_pfp_shift_empty_source_rightentry. bb = ff_q_pfp_shift_empty_source_rightentry * S ((S (pfp_repeat_index_shift_empty_source_right)) * bc) + (0))) - 0063
intro i - 0064
intro hi - 0065
rewrite hempty_right at hi - 0066
exfalso - 0067
specialize lt_not_le (i) - 0068
specialize lt_not_le (0) - 0069
apply lt_not_le - 0070
exact hi - 0071
specialize zero_le (i) - 0072
apply zero_le - 0073
split - 0074
specialize prime_field_polynomial_convolution_zero_right (p) - 0075
specialize prime_field_polynomial_convolution_zero_right (ab) - 0076
specialize prime_field_polynomial_convolution_zero_right (ac) - 0077
specialize prime_field_polynomial_convolution_zero_right (L) - 0078
specialize prime_field_polynomial_convolution_zero_right (bb) - 0079
specialize prime_field_polynomial_convolution_zero_right (bc) - 0080
specialize prime_field_polynomial_convolution_zero_right (M) - 0081
specialize prime_field_polynomial_convolution_zero_right (cb) - 0082
specialize prime_field_polynomial_convolution_zero_right (cc) - 0083
specialize prime_field_polynomial_convolution_zero_right (N) - 0084
apply prime_field_polynomial_convolution_zero_right - 0085
exact hp - 0086
exact hz - 0087
exact hc - 0088
specialize prime_field_polynomial_convolution_zero_right (p) - 0089
specialize prime_field_polynomial_convolution_zero_right (ab) - 0090
specialize prime_field_polynomial_convolution_zero_right (ac) - 0091
specialize prime_field_polynomial_convolution_zero_right (L) - 0092
specialize prime_field_polynomial_convolution_zero_right (BB) - 0093
specialize prime_field_polynomial_convolution_zero_right (BC) - 0094
specialize prime_field_polynomial_convolution_zero_right (S M) - 0095
specialize prime_field_polynomial_convolution_zero_right (db) - 0096
specialize prime_field_polynomial_convolution_zero_right (dc) - 0097
specialize prime_field_polynomial_convolution_zero_right (K) - 0098
apply prime_field_polynomial_convolution_zero_right - 0099
exact hp - 0100
specialize prime_field_polynomial_shift_zero_prefix (bb) - 0101
specialize prime_field_polynomial_shift_zero_prefix (bc) - 0102
specialize prime_field_polynomial_shift_zero_prefix (M) - 0103
specialize prime_field_polynomial_shift_zero_prefix (BB) - 0104
specialize prime_field_polynomial_shift_zero_prefix (BC) - 0105
apply prime_field_polynomial_shift_zero_prefix - 0106
exact hz - 0107
exact hs - 0108
exact hd