PG0008

prime_field_convolution_coefficient_shift_right_iff

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Every actual convolution coefficient is preserved at every index, with the identical natural sum and residue witnesses; no primality is needed.

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 BB BC i r. (((forall mdr_i_pfp_shift_coefficient_relationprefix mdr_a_pfp_shift_coefficient_relationprefix. (exists mdr_gap_pfp_shift_coefficient_relationprefixb. mdr_gap_pfp_shift_coefficient_relationprefixb + S (mdr_i_pfp_shift_coefficient_relationprefix) = (M)) -> (((exists ff_h_mdr_pfp_shift_coefficient_relationprefixo. ff_h_mdr_pfp_shift_coefficient_relationprefixo + S (mdr_a_pfp_shift_coefficient_relationprefix) = S ((S (mdr_i_pfp_shift_coefficient_relationprefix)) * bc)) /\ exists ff_q_mdr_pfp_shift_coefficient_relationprefixo. bb = ff_q_mdr_pfp_shift_coefficient_relationprefixo * S ((S (mdr_i_pfp_shift_coefficient_relationprefix)) * bc) + (mdr_a_pfp_shift_coefficient_relationprefix))) -> (((exists ff_h_mdr_pfp_shift_coefficient_relationprefixn. ff_h_mdr_pfp_shift_coefficient_relationprefixn + S (mdr_a_pfp_shift_coefficient_relationprefix) = S ((S (mdr_i_pfp_shift_coefficient_relationprefix)) * BC)) /\ exists ff_q_mdr_pfp_shift_coefficient_relationprefixn. BB = ff_q_mdr_pfp_shift_coefficient_relationprefixn * S ((S (mdr_i_pfp_shift_coefficient_relationprefix)) * BC) + (mdr_a_pfp_shift_coefficient_relationprefix)))) /\ ((((exists ff_h_pfp_shift_coefficient_relationlast. ff_h_pfp_shift_coefficient_relationlast + S (0) = S ((S (M)) * BC)) /\ exists ff_q_pfp_shift_coefficient_relationlast. BB = ff_q_pfp_shift_coefficient_relationlast * S ((S (M)) * BC) + (0)))))) -> ((((exists pfc_terms_code_shift_coefficient_old pfc_terms_scale_shift_coefficient_old pfc_natural_sum_shift_coefficient_old. ((forall pfc_index_shift_coefficient_olddiagonal. (exists pfa_gap_shift_coefficient_olddiagonalbound. pfa_gap_shift_coefficient_olddiagonalbound + S (pfc_index_shift_coefficient_olddiagonal) = (S (i))) -> exists pfc_value_shift_coefficient_olddiagonal. ((((exists ff_h_pfp_shift_coefficient_olddiagonalentry. ff_h_pfp_shift_coefficient_olddiagonalentry + S (pfc_value_shift_coefficient_olddiagonal) = S ((S (pfc_index_shift_coefficient_olddiagonal)) * pfc_terms_scale_shift_coefficient_old)) /\ exists ff_q_pfp_shift_coefficient_olddiagonalentry. pfc_terms_code_shift_coefficient_old = ff_q_pfp_shift_coefficient_olddiagonalentry * S ((S (pfc_index_shift_coefficient_olddiagonal)) * pfc_terms_scale_shift_coefficient_old) + (pfc_value_shift_coefficient_olddiagonal))) /\ ((exists pfc_complement_shift_coefficient_olddiagonalterm pfc_left_shift_coefficient_olddiagonalterm pfc_right_shift_coefficient_olddiagonalterm. (((pfc_index_shift_coefficient_olddiagonal)+pfc_complement_shift_coefficient_olddiagonalterm=(i)) /\ ((((((exists pfa_gap_shift_coefficient_olddiagonaltermleftinside. pfa_gap_shift_coefficient_olddiagonaltermleftinside + S (pfc_index_shift_coefficient_olddiagonal) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_olddiagonaltermleftentry. ff_h_pfp_shift_coefficient_olddiagonaltermleftentry + S (pfc_left_shift_coefficient_olddiagonalterm) = S ((S (pfc_index_shift_coefficient_olddiagonal)) * ac)) /\ exists ff_q_pfp_shift_coefficient_olddiagonaltermleftentry. ab = ff_q_pfp_shift_coefficient_olddiagonaltermleftentry * S ((S (pfc_index_shift_coefficient_olddiagonal)) * ac) + (pfc_left_shift_coefficient_olddiagonalterm)))))) \/ (((exists pfc_gap_shift_coefficient_olddiagonaltermleftoutside. pfc_gap_shift_coefficient_olddiagonaltermleftoutside+(L)=(pfc_index_shift_coefficient_olddiagonal)) /\ (((pfc_left_shift_coefficient_olddiagonalterm)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_olddiagonaltermrightinside. pfa_gap_shift_coefficient_olddiagonaltermrightinside + S (pfc_complement_shift_coefficient_olddiagonalterm) = (M)) /\ ((((exists ff_h_pfp_shift_coefficient_olddiagonaltermrightentry. ff_h_pfp_shift_coefficient_olddiagonaltermrightentry + S (pfc_right_shift_coefficient_olddiagonalterm) = S ((S (pfc_complement_shift_coefficient_olddiagonalterm)) * bc)) /\ exists ff_q_pfp_shift_coefficient_olddiagonaltermrightentry. bb = ff_q_pfp_shift_coefficient_olddiagonaltermrightentry * S ((S (pfc_complement_shift_coefficient_olddiagonalterm)) * bc) + (pfc_right_shift_coefficient_olddiagonalterm)))))) \/ (((exists pfc_gap_shift_coefficient_olddiagonaltermrightoutside. pfc_gap_shift_coefficient_olddiagonaltermrightoutside+(M)=(pfc_complement_shift_coefficient_olddiagonalterm)) /\ (((pfc_right_shift_coefficient_olddiagonalterm)=0))))) /\ (((pfc_value_shift_coefficient_olddiagonal)=pfc_left_shift_coefficient_olddiagonalterm*pfc_right_shift_coefficient_olddiagonalterm))))))))))) /\ (((exists fs_u_pfc_shift_coefficient_oldsum fs_v_pfc_shift_coefficient_oldsum. ((((exists fs_h_pfc_shift_coefficient_oldsum_body_start. fs_h_pfc_shift_coefficient_oldsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_shift_coefficient_oldsum)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_start. fs_u_pfc_shift_coefficient_oldsum = fs_q_pfc_shift_coefficient_oldsum_body_start * S ((S (0)) * fs_v_pfc_shift_coefficient_oldsum) + (0))) /\ ((((exists fs_h_pfc_shift_coefficient_oldsum_body_terminal. fs_h_pfc_shift_coefficient_oldsum_body_terminal + S (pfc_natural_sum_shift_coefficient_old) = S ((S (S (i))) * fs_v_pfc_shift_coefficient_oldsum)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_terminal. fs_u_pfc_shift_coefficient_oldsum = fs_q_pfc_shift_coefficient_oldsum_body_terminal * S ((S (S (i))) * fs_v_pfc_shift_coefficient_oldsum) + (pfc_natural_sum_shift_coefficient_old))) /\ forall fs_i_pfc_shift_coefficient_oldsum_body_steps. (exists fs_lt_pfc_shift_coefficient_oldsum_body_steps_bound. fs_lt_pfc_shift_coefficient_oldsum_body_steps_bound + S fs_i_pfc_shift_coefficient_oldsum_body_steps = S (i)) -> exists fs_a_pfc_shift_coefficient_oldsum_body_steps fs_r_pfc_shift_coefficient_oldsum_body_steps fs_s_pfc_shift_coefficient_oldsum_body_steps. ((((exists fs_h_pfc_shift_coefficient_oldsum_body_steps_summand. fs_h_pfc_shift_coefficient_oldsum_body_steps_summand + S (fs_a_pfc_shift_coefficient_oldsum_body_steps) = S ((S (fs_i_pfc_shift_coefficient_oldsum_body_steps)) * pfc_terms_scale_shift_coefficient_old)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_steps_summand. pfc_terms_code_shift_coefficient_old = fs_q_pfc_shift_coefficient_oldsum_body_steps_summand * S ((S (fs_i_pfc_shift_coefficient_oldsum_body_steps)) * pfc_terms_scale_shift_coefficient_old) + (fs_a_pfc_shift_coefficient_oldsum_body_steps))) /\ ((((exists fs_h_pfc_shift_coefficient_oldsum_body_steps_partial. fs_h_pfc_shift_coefficient_oldsum_body_steps_partial + S (fs_r_pfc_shift_coefficient_oldsum_body_steps) = S ((S (fs_i_pfc_shift_coefficient_oldsum_body_steps)) * fs_v_pfc_shift_coefficient_oldsum)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_steps_partial. fs_u_pfc_shift_coefficient_oldsum = fs_q_pfc_shift_coefficient_oldsum_body_steps_partial * S ((S (fs_i_pfc_shift_coefficient_oldsum_body_steps)) * fs_v_pfc_shift_coefficient_oldsum) + (fs_r_pfc_shift_coefficient_oldsum_body_steps))) /\ ((((exists fs_h_pfc_shift_coefficient_oldsum_body_steps_successor. fs_h_pfc_shift_coefficient_oldsum_body_steps_successor + S (fs_s_pfc_shift_coefficient_oldsum_body_steps) = S ((S (S fs_i_pfc_shift_coefficient_oldsum_body_steps)) * fs_v_pfc_shift_coefficient_oldsum)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_steps_successor. fs_u_pfc_shift_coefficient_oldsum = fs_q_pfc_shift_coefficient_oldsum_body_steps_successor * S ((S (S fs_i_pfc_shift_coefficient_oldsum_body_steps)) * fs_v_pfc_shift_coefficient_oldsum) + (fs_s_pfc_shift_coefficient_oldsum_body_steps))) /\ fs_s_pfc_shift_coefficient_oldsum_body_steps = fs_r_pfc_shift_coefficient_oldsum_body_steps + fs_a_pfc_shift_coefficient_oldsum_body_steps)))))) /\ ((((exists pfa_gap_shift_coefficient_oldresiduebound. pfa_gap_shift_coefficient_oldresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_shift_coefficient_oldresiduecongruence pfa_offset_right_shift_coefficient_oldresiduecongruence. (pfc_natural_sum_shift_coefficient_old) + (p) * pfa_offset_left_shift_coefficient_oldresiduecongruence = (r) + (p) * pfa_offset_right_shift_coefficient_oldresiduecongruence))))))))) -> (exists pfc_terms_code_shift_coefficient_new pfc_terms_scale_shift_coefficient_new pfc_natural_sum_shift_coefficient_new. ((forall pfc_index_shift_coefficient_newdiagonal. (exists pfa_gap_shift_coefficient_newdiagonalbound. pfa_gap_shift_coefficient_newdiagonalbound + S (pfc_index_shift_coefficient_newdiagonal) = (S (i))) -> exists pfc_value_shift_coefficient_newdiagonal. ((((exists ff_h_pfp_shift_coefficient_newdiagonalentry. ff_h_pfp_shift_coefficient_newdiagonalentry + S (pfc_value_shift_coefficient_newdiagonal) = S ((S (pfc_index_shift_coefficient_newdiagonal)) * pfc_terms_scale_shift_coefficient_new)) /\ exists ff_q_pfp_shift_coefficient_newdiagonalentry. pfc_terms_code_shift_coefficient_new = ff_q_pfp_shift_coefficient_newdiagonalentry * S ((S (pfc_index_shift_coefficient_newdiagonal)) * pfc_terms_scale_shift_coefficient_new) + (pfc_value_shift_coefficient_newdiagonal))) /\ ((exists pfc_complement_shift_coefficient_newdiagonalterm pfc_left_shift_coefficient_newdiagonalterm pfc_right_shift_coefficient_newdiagonalterm. (((pfc_index_shift_coefficient_newdiagonal)+pfc_complement_shift_coefficient_newdiagonalterm=(i)) /\ ((((((exists pfa_gap_shift_coefficient_newdiagonaltermleftinside. pfa_gap_shift_coefficient_newdiagonaltermleftinside + S (pfc_index_shift_coefficient_newdiagonal) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_newdiagonaltermleftentry. ff_h_pfp_shift_coefficient_newdiagonaltermleftentry + S (pfc_left_shift_coefficient_newdiagonalterm) = S ((S (pfc_index_shift_coefficient_newdiagonal)) * ac)) /\ exists ff_q_pfp_shift_coefficient_newdiagonaltermleftentry. ab = ff_q_pfp_shift_coefficient_newdiagonaltermleftentry * S ((S (pfc_index_shift_coefficient_newdiagonal)) * ac) + (pfc_left_shift_coefficient_newdiagonalterm)))))) \/ (((exists pfc_gap_shift_coefficient_newdiagonaltermleftoutside. pfc_gap_shift_coefficient_newdiagonaltermleftoutside+(L)=(pfc_index_shift_coefficient_newdiagonal)) /\ (((pfc_left_shift_coefficient_newdiagonalterm)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_newdiagonaltermrightinside. pfa_gap_shift_coefficient_newdiagonaltermrightinside + S (pfc_complement_shift_coefficient_newdiagonalterm) = (S M)) /\ ((((exists ff_h_pfp_shift_coefficient_newdiagonaltermrightentry. ff_h_pfp_shift_coefficient_newdiagonaltermrightentry + S (pfc_right_shift_coefficient_newdiagonalterm) = S ((S (pfc_complement_shift_coefficient_newdiagonalterm)) * BC)) /\ exists ff_q_pfp_shift_coefficient_newdiagonaltermrightentry. BB = ff_q_pfp_shift_coefficient_newdiagonaltermrightentry * S ((S (pfc_complement_shift_coefficient_newdiagonalterm)) * BC) + (pfc_right_shift_coefficient_newdiagonalterm)))))) \/ (((exists pfc_gap_shift_coefficient_newdiagonaltermrightoutside. pfc_gap_shift_coefficient_newdiagonaltermrightoutside+(S M)=(pfc_complement_shift_coefficient_newdiagonalterm)) /\ (((pfc_right_shift_coefficient_newdiagonalterm)=0))))) /\ (((pfc_value_shift_coefficient_newdiagonal)=pfc_left_shift_coefficient_newdiagonalterm*pfc_right_shift_coefficient_newdiagonalterm))))))))))) /\ (((exists fs_u_pfc_shift_coefficient_newsum fs_v_pfc_shift_coefficient_newsum. ((((exists fs_h_pfc_shift_coefficient_newsum_body_start. fs_h_pfc_shift_coefficient_newsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_shift_coefficient_newsum)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_start. fs_u_pfc_shift_coefficient_newsum = fs_q_pfc_shift_coefficient_newsum_body_start * S ((S (0)) * fs_v_pfc_shift_coefficient_newsum) + (0))) /\ ((((exists fs_h_pfc_shift_coefficient_newsum_body_terminal. fs_h_pfc_shift_coefficient_newsum_body_terminal + S (pfc_natural_sum_shift_coefficient_new) = S ((S (S (i))) * fs_v_pfc_shift_coefficient_newsum)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_terminal. fs_u_pfc_shift_coefficient_newsum = fs_q_pfc_shift_coefficient_newsum_body_terminal * S ((S (S (i))) * fs_v_pfc_shift_coefficient_newsum) + (pfc_natural_sum_shift_coefficient_new))) /\ forall fs_i_pfc_shift_coefficient_newsum_body_steps. (exists fs_lt_pfc_shift_coefficient_newsum_body_steps_bound. fs_lt_pfc_shift_coefficient_newsum_body_steps_bound + S fs_i_pfc_shift_coefficient_newsum_body_steps = S (i)) -> exists fs_a_pfc_shift_coefficient_newsum_body_steps fs_r_pfc_shift_coefficient_newsum_body_steps fs_s_pfc_shift_coefficient_newsum_body_steps. ((((exists fs_h_pfc_shift_coefficient_newsum_body_steps_summand. fs_h_pfc_shift_coefficient_newsum_body_steps_summand + S (fs_a_pfc_shift_coefficient_newsum_body_steps) = S ((S (fs_i_pfc_shift_coefficient_newsum_body_steps)) * pfc_terms_scale_shift_coefficient_new)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_steps_summand. pfc_terms_code_shift_coefficient_new = fs_q_pfc_shift_coefficient_newsum_body_steps_summand * S ((S (fs_i_pfc_shift_coefficient_newsum_body_steps)) * pfc_terms_scale_shift_coefficient_new) + (fs_a_pfc_shift_coefficient_newsum_body_steps))) /\ ((((exists fs_h_pfc_shift_coefficient_newsum_body_steps_partial. fs_h_pfc_shift_coefficient_newsum_body_steps_partial + S (fs_r_pfc_shift_coefficient_newsum_body_steps) = S ((S (fs_i_pfc_shift_coefficient_newsum_body_steps)) * fs_v_pfc_shift_coefficient_newsum)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_steps_partial. fs_u_pfc_shift_coefficient_newsum = fs_q_pfc_shift_coefficient_newsum_body_steps_partial * S ((S (fs_i_pfc_shift_coefficient_newsum_body_steps)) * fs_v_pfc_shift_coefficient_newsum) + (fs_r_pfc_shift_coefficient_newsum_body_steps))) /\ ((((exists fs_h_pfc_shift_coefficient_newsum_body_steps_successor. fs_h_pfc_shift_coefficient_newsum_body_steps_successor + S (fs_s_pfc_shift_coefficient_newsum_body_steps) = S ((S (S fs_i_pfc_shift_coefficient_newsum_body_steps)) * fs_v_pfc_shift_coefficient_newsum)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_steps_successor. fs_u_pfc_shift_coefficient_newsum = fs_q_pfc_shift_coefficient_newsum_body_steps_successor * S ((S (S fs_i_pfc_shift_coefficient_newsum_body_steps)) * fs_v_pfc_shift_coefficient_newsum) + (fs_s_pfc_shift_coefficient_newsum_body_steps))) /\ fs_s_pfc_shift_coefficient_newsum_body_steps = fs_r_pfc_shift_coefficient_newsum_body_steps + fs_a_pfc_shift_coefficient_newsum_body_steps)))))) /\ ((((exists pfa_gap_shift_coefficient_newresiduebound. pfa_gap_shift_coefficient_newresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_shift_coefficient_newresiduecongruence pfa_offset_right_shift_coefficient_newresiduecongruence. (pfc_natural_sum_shift_coefficient_new) + (p) * pfa_offset_left_shift_coefficient_newresiduecongruence = (r) + (p) * pfa_offset_right_shift_coefficient_newresiduecongruence)))))))))) /\ (((exists pfc_terms_code_shift_coefficient_new pfc_terms_scale_shift_coefficient_new pfc_natural_sum_shift_coefficient_new. ((forall pfc_index_shift_coefficient_newdiagonal. (exists pfa_gap_shift_coefficient_newdiagonalbound. pfa_gap_shift_coefficient_newdiagonalbound + S (pfc_index_shift_coefficient_newdiagonal) = (S (i))) -> exists pfc_value_shift_coefficient_newdiagonal. ((((exists ff_h_pfp_shift_coefficient_newdiagonalentry. ff_h_pfp_shift_coefficient_newdiagonalentry + S (pfc_value_shift_coefficient_newdiagonal) = S ((S (pfc_index_shift_coefficient_newdiagonal)) * pfc_terms_scale_shift_coefficient_new)) /\ exists ff_q_pfp_shift_coefficient_newdiagonalentry. pfc_terms_code_shift_coefficient_new = ff_q_pfp_shift_coefficient_newdiagonalentry * S ((S (pfc_index_shift_coefficient_newdiagonal)) * pfc_terms_scale_shift_coefficient_new) + (pfc_value_shift_coefficient_newdiagonal))) /\ ((exists pfc_complement_shift_coefficient_newdiagonalterm pfc_left_shift_coefficient_newdiagonalterm pfc_right_shift_coefficient_newdiagonalterm. (((pfc_index_shift_coefficient_newdiagonal)+pfc_complement_shift_coefficient_newdiagonalterm=(i)) /\ ((((((exists pfa_gap_shift_coefficient_newdiagonaltermleftinside. pfa_gap_shift_coefficient_newdiagonaltermleftinside + S (pfc_index_shift_coefficient_newdiagonal) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_newdiagonaltermleftentry. ff_h_pfp_shift_coefficient_newdiagonaltermleftentry + S (pfc_left_shift_coefficient_newdiagonalterm) = S ((S (pfc_index_shift_coefficient_newdiagonal)) * ac)) /\ exists ff_q_pfp_shift_coefficient_newdiagonaltermleftentry. ab = ff_q_pfp_shift_coefficient_newdiagonaltermleftentry * S ((S (pfc_index_shift_coefficient_newdiagonal)) * ac) + (pfc_left_shift_coefficient_newdiagonalterm)))))) \/ (((exists pfc_gap_shift_coefficient_newdiagonaltermleftoutside. pfc_gap_shift_coefficient_newdiagonaltermleftoutside+(L)=(pfc_index_shift_coefficient_newdiagonal)) /\ (((pfc_left_shift_coefficient_newdiagonalterm)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_newdiagonaltermrightinside. pfa_gap_shift_coefficient_newdiagonaltermrightinside + S (pfc_complement_shift_coefficient_newdiagonalterm) = (S M)) /\ ((((exists ff_h_pfp_shift_coefficient_newdiagonaltermrightentry. ff_h_pfp_shift_coefficient_newdiagonaltermrightentry + S (pfc_right_shift_coefficient_newdiagonalterm) = S ((S (pfc_complement_shift_coefficient_newdiagonalterm)) * BC)) /\ exists ff_q_pfp_shift_coefficient_newdiagonaltermrightentry. BB = ff_q_pfp_shift_coefficient_newdiagonaltermrightentry * S ((S (pfc_complement_shift_coefficient_newdiagonalterm)) * BC) + (pfc_right_shift_coefficient_newdiagonalterm)))))) \/ (((exists pfc_gap_shift_coefficient_newdiagonaltermrightoutside. pfc_gap_shift_coefficient_newdiagonaltermrightoutside+(S M)=(pfc_complement_shift_coefficient_newdiagonalterm)) /\ (((pfc_right_shift_coefficient_newdiagonalterm)=0))))) /\ (((pfc_value_shift_coefficient_newdiagonal)=pfc_left_shift_coefficient_newdiagonalterm*pfc_right_shift_coefficient_newdiagonalterm))))))))))) /\ (((exists fs_u_pfc_shift_coefficient_newsum fs_v_pfc_shift_coefficient_newsum. ((((exists fs_h_pfc_shift_coefficient_newsum_body_start. fs_h_pfc_shift_coefficient_newsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_shift_coefficient_newsum)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_start. fs_u_pfc_shift_coefficient_newsum = fs_q_pfc_shift_coefficient_newsum_body_start * S ((S (0)) * fs_v_pfc_shift_coefficient_newsum) + (0))) /\ ((((exists fs_h_pfc_shift_coefficient_newsum_body_terminal. fs_h_pfc_shift_coefficient_newsum_body_terminal + S (pfc_natural_sum_shift_coefficient_new) = S ((S (S (i))) * fs_v_pfc_shift_coefficient_newsum)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_terminal. fs_u_pfc_shift_coefficient_newsum = fs_q_pfc_shift_coefficient_newsum_body_terminal * S ((S (S (i))) * fs_v_pfc_shift_coefficient_newsum) + (pfc_natural_sum_shift_coefficient_new))) /\ forall fs_i_pfc_shift_coefficient_newsum_body_steps. (exists fs_lt_pfc_shift_coefficient_newsum_body_steps_bound. fs_lt_pfc_shift_coefficient_newsum_body_steps_bound + S fs_i_pfc_shift_coefficient_newsum_body_steps = S (i)) -> exists fs_a_pfc_shift_coefficient_newsum_body_steps fs_r_pfc_shift_coefficient_newsum_body_steps fs_s_pfc_shift_coefficient_newsum_body_steps. ((((exists fs_h_pfc_shift_coefficient_newsum_body_steps_summand. fs_h_pfc_shift_coefficient_newsum_body_steps_summand + S (fs_a_pfc_shift_coefficient_newsum_body_steps) = S ((S (fs_i_pfc_shift_coefficient_newsum_body_steps)) * pfc_terms_scale_shift_coefficient_new)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_steps_summand. pfc_terms_code_shift_coefficient_new = fs_q_pfc_shift_coefficient_newsum_body_steps_summand * S ((S (fs_i_pfc_shift_coefficient_newsum_body_steps)) * pfc_terms_scale_shift_coefficient_new) + (fs_a_pfc_shift_coefficient_newsum_body_steps))) /\ ((((exists fs_h_pfc_shift_coefficient_newsum_body_steps_partial. fs_h_pfc_shift_coefficient_newsum_body_steps_partial + S (fs_r_pfc_shift_coefficient_newsum_body_steps) = S ((S (fs_i_pfc_shift_coefficient_newsum_body_steps)) * fs_v_pfc_shift_coefficient_newsum)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_steps_partial. fs_u_pfc_shift_coefficient_newsum = fs_q_pfc_shift_coefficient_newsum_body_steps_partial * S ((S (fs_i_pfc_shift_coefficient_newsum_body_steps)) * fs_v_pfc_shift_coefficient_newsum) + (fs_r_pfc_shift_coefficient_newsum_body_steps))) /\ ((((exists fs_h_pfc_shift_coefficient_newsum_body_steps_successor. fs_h_pfc_shift_coefficient_newsum_body_steps_successor + S (fs_s_pfc_shift_coefficient_newsum_body_steps) = S ((S (S fs_i_pfc_shift_coefficient_newsum_body_steps)) * fs_v_pfc_shift_coefficient_newsum)) /\ exists fs_q_pfc_shift_coefficient_newsum_body_steps_successor. fs_u_pfc_shift_coefficient_newsum = fs_q_pfc_shift_coefficient_newsum_body_steps_successor * S ((S (S fs_i_pfc_shift_coefficient_newsum_body_steps)) * fs_v_pfc_shift_coefficient_newsum) + (fs_s_pfc_shift_coefficient_newsum_body_steps))) /\ fs_s_pfc_shift_coefficient_newsum_body_steps = fs_r_pfc_shift_coefficient_newsum_body_steps + fs_a_pfc_shift_coefficient_newsum_body_steps)))))) /\ ((((exists pfa_gap_shift_coefficient_newresiduebound. pfa_gap_shift_coefficient_newresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_shift_coefficient_newresiduecongruence pfa_offset_right_shift_coefficient_newresiduecongruence. (pfc_natural_sum_shift_coefficient_new) + (p) * pfa_offset_left_shift_coefficient_newresiduecongruence = (r) + (p) * pfa_offset_right_shift_coefficient_newresiduecongruence))))))))) -> (exists pfc_terms_code_shift_coefficient_old pfc_terms_scale_shift_coefficient_old pfc_natural_sum_shift_coefficient_old. ((forall pfc_index_shift_coefficient_olddiagonal. (exists pfa_gap_shift_coefficient_olddiagonalbound. pfa_gap_shift_coefficient_olddiagonalbound + S (pfc_index_shift_coefficient_olddiagonal) = (S (i))) -> exists pfc_value_shift_coefficient_olddiagonal. ((((exists ff_h_pfp_shift_coefficient_olddiagonalentry. ff_h_pfp_shift_coefficient_olddiagonalentry + S (pfc_value_shift_coefficient_olddiagonal) = S ((S (pfc_index_shift_coefficient_olddiagonal)) * pfc_terms_scale_shift_coefficient_old)) /\ exists ff_q_pfp_shift_coefficient_olddiagonalentry. pfc_terms_code_shift_coefficient_old = ff_q_pfp_shift_coefficient_olddiagonalentry * S ((S (pfc_index_shift_coefficient_olddiagonal)) * pfc_terms_scale_shift_coefficient_old) + (pfc_value_shift_coefficient_olddiagonal))) /\ ((exists pfc_complement_shift_coefficient_olddiagonalterm pfc_left_shift_coefficient_olddiagonalterm pfc_right_shift_coefficient_olddiagonalterm. (((pfc_index_shift_coefficient_olddiagonal)+pfc_complement_shift_coefficient_olddiagonalterm=(i)) /\ ((((((exists pfa_gap_shift_coefficient_olddiagonaltermleftinside. pfa_gap_shift_coefficient_olddiagonaltermleftinside + S (pfc_index_shift_coefficient_olddiagonal) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_olddiagonaltermleftentry. ff_h_pfp_shift_coefficient_olddiagonaltermleftentry + S (pfc_left_shift_coefficient_olddiagonalterm) = S ((S (pfc_index_shift_coefficient_olddiagonal)) * ac)) /\ exists ff_q_pfp_shift_coefficient_olddiagonaltermleftentry. ab = ff_q_pfp_shift_coefficient_olddiagonaltermleftentry * S ((S (pfc_index_shift_coefficient_olddiagonal)) * ac) + (pfc_left_shift_coefficient_olddiagonalterm)))))) \/ (((exists pfc_gap_shift_coefficient_olddiagonaltermleftoutside. pfc_gap_shift_coefficient_olddiagonaltermleftoutside+(L)=(pfc_index_shift_coefficient_olddiagonal)) /\ (((pfc_left_shift_coefficient_olddiagonalterm)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_olddiagonaltermrightinside. pfa_gap_shift_coefficient_olddiagonaltermrightinside + S (pfc_complement_shift_coefficient_olddiagonalterm) = (M)) /\ ((((exists ff_h_pfp_shift_coefficient_olddiagonaltermrightentry. ff_h_pfp_shift_coefficient_olddiagonaltermrightentry + S (pfc_right_shift_coefficient_olddiagonalterm) = S ((S (pfc_complement_shift_coefficient_olddiagonalterm)) * bc)) /\ exists ff_q_pfp_shift_coefficient_olddiagonaltermrightentry. bb = ff_q_pfp_shift_coefficient_olddiagonaltermrightentry * S ((S (pfc_complement_shift_coefficient_olddiagonalterm)) * bc) + (pfc_right_shift_coefficient_olddiagonalterm)))))) \/ (((exists pfc_gap_shift_coefficient_olddiagonaltermrightoutside. pfc_gap_shift_coefficient_olddiagonaltermrightoutside+(M)=(pfc_complement_shift_coefficient_olddiagonalterm)) /\ (((pfc_right_shift_coefficient_olddiagonalterm)=0))))) /\ (((pfc_value_shift_coefficient_olddiagonal)=pfc_left_shift_coefficient_olddiagonalterm*pfc_right_shift_coefficient_olddiagonalterm))))))))))) /\ (((exists fs_u_pfc_shift_coefficient_oldsum fs_v_pfc_shift_coefficient_oldsum. ((((exists fs_h_pfc_shift_coefficient_oldsum_body_start. fs_h_pfc_shift_coefficient_oldsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_shift_coefficient_oldsum)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_start. fs_u_pfc_shift_coefficient_oldsum = fs_q_pfc_shift_coefficient_oldsum_body_start * S ((S (0)) * fs_v_pfc_shift_coefficient_oldsum) + (0))) /\ ((((exists fs_h_pfc_shift_coefficient_oldsum_body_terminal. fs_h_pfc_shift_coefficient_oldsum_body_terminal + S (pfc_natural_sum_shift_coefficient_old) = S ((S (S (i))) * fs_v_pfc_shift_coefficient_oldsum)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_terminal. fs_u_pfc_shift_coefficient_oldsum = fs_q_pfc_shift_coefficient_oldsum_body_terminal * S ((S (S (i))) * fs_v_pfc_shift_coefficient_oldsum) + (pfc_natural_sum_shift_coefficient_old))) /\ forall fs_i_pfc_shift_coefficient_oldsum_body_steps. (exists fs_lt_pfc_shift_coefficient_oldsum_body_steps_bound. fs_lt_pfc_shift_coefficient_oldsum_body_steps_bound + S fs_i_pfc_shift_coefficient_oldsum_body_steps = S (i)) -> exists fs_a_pfc_shift_coefficient_oldsum_body_steps fs_r_pfc_shift_coefficient_oldsum_body_steps fs_s_pfc_shift_coefficient_oldsum_body_steps. ((((exists fs_h_pfc_shift_coefficient_oldsum_body_steps_summand. fs_h_pfc_shift_coefficient_oldsum_body_steps_summand + S (fs_a_pfc_shift_coefficient_oldsum_body_steps) = S ((S (fs_i_pfc_shift_coefficient_oldsum_body_steps)) * pfc_terms_scale_shift_coefficient_old)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_steps_summand. pfc_terms_code_shift_coefficient_old = fs_q_pfc_shift_coefficient_oldsum_body_steps_summand * S ((S (fs_i_pfc_shift_coefficient_oldsum_body_steps)) * pfc_terms_scale_shift_coefficient_old) + (fs_a_pfc_shift_coefficient_oldsum_body_steps))) /\ ((((exists fs_h_pfc_shift_coefficient_oldsum_body_steps_partial. fs_h_pfc_shift_coefficient_oldsum_body_steps_partial + S (fs_r_pfc_shift_coefficient_oldsum_body_steps) = S ((S (fs_i_pfc_shift_coefficient_oldsum_body_steps)) * fs_v_pfc_shift_coefficient_oldsum)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_steps_partial. fs_u_pfc_shift_coefficient_oldsum = fs_q_pfc_shift_coefficient_oldsum_body_steps_partial * S ((S (fs_i_pfc_shift_coefficient_oldsum_body_steps)) * fs_v_pfc_shift_coefficient_oldsum) + (fs_r_pfc_shift_coefficient_oldsum_body_steps))) /\ ((((exists fs_h_pfc_shift_coefficient_oldsum_body_steps_successor. fs_h_pfc_shift_coefficient_oldsum_body_steps_successor + S (fs_s_pfc_shift_coefficient_oldsum_body_steps) = S ((S (S fs_i_pfc_shift_coefficient_oldsum_body_steps)) * fs_v_pfc_shift_coefficient_oldsum)) /\ exists fs_q_pfc_shift_coefficient_oldsum_body_steps_successor. fs_u_pfc_shift_coefficient_oldsum = fs_q_pfc_shift_coefficient_oldsum_body_steps_successor * S ((S (S fs_i_pfc_shift_coefficient_oldsum_body_steps)) * fs_v_pfc_shift_coefficient_oldsum) + (fs_s_pfc_shift_coefficient_oldsum_body_steps))) /\ fs_s_pfc_shift_coefficient_oldsum_body_steps = fs_r_pfc_shift_coefficient_oldsum_body_steps + fs_a_pfc_shift_coefficient_oldsum_body_steps)))))) /\ ((((exists pfa_gap_shift_coefficient_oldresiduebound. pfa_gap_shift_coefficient_oldresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_shift_coefficient_oldresiduecongruence pfa_offset_right_shift_coefficient_oldresiduecongruence. (pfc_natural_sum_shift_coefficient_old) + (p) * pfa_offset_left_shift_coefficient_oldresiduecongruence = (r) + (p) * pfa_offset_right_shift_coefficient_oldresiduecongruence)))))))))))))

Constructive proof overview

Generated structural guide

Every actual convolution coefficient is preserved at every index, with the identical natural sum and residue witnesses; no primality is needed.

The unchanged tactic script uses 1 declared prerequisite and contains 95 exact native proof lines.

Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

Direct 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

95 script commands · 35 reading checkpoints · 4 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.

Named ingredients (1)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro ab
  3. L3
    intro ac
  4. L4
    intro L
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro M
  8. L8
    intro BB
  9. L9
    intro BC
  10. L10
    intro i
02Fix variables and assumptionsL11–12

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

  1. L11
    intro r
  2. L12
    intro hs
03Separate the logical casesL13–13

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

  1. L13
    split
04Fix variables and assumptionsL14–14

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

  1. L14
    intro hc
05Separate the logical casesL15–19

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

  1. L15
    cases hc
  2. L16
    cases hc_witness
  3. L17
    cases hc_witness_witness
  4. L18
    cases hc_witness_witness_witness
  5. L19
    cases hc_witness_witness_witness_right
06Construct an explicit witnessL20–22

Supply the displayed value, then prove that it has the required property.

  1. L20
    exists x
  2. L21
    exists x1
  3. L22
    exists x2
07Separate the logical casesL23–23

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

  1. L23
    split
08Fix variables and assumptionsL24–25

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

  1. L24
    intro j
  2. L25
    intro hj
09Establish htL26–29

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hc witness witness witness left.

  1. L26
    have ht : ∃ t. BetaAt(x,x1,j,t) ∧ PolynomialDiagonalTerm(ab,ac,L,bb,bc,M,i,j,t)Definitions: PolynomialDiagonalTermBetaAt
  2. L27
    specialize hc_witness_witness_witness_left (j)
  3. L28
    apply hc_witness_witness_witness_left
  4. L29
    exact hj
10Separate the logical casesL30–31

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

  1. L30
    cases ht
  2. L31
    cases ht_witness
11Construct an explicit witnessL32–32

Supply the displayed value, then prove that it has the required property.

  1. L32
    exists x3
12Separate the logical casesL33–33

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

  1. L33
    split
13Use earlier factsL34–34

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

  1. L34
    exact ht_witness_left
14Establish htiffL35–44

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

  1. L35
    have htiff : (PolynomialDiagonalTerm(ab,ac,L,bb,bc,M,i,j,x3) → PolynomialDiagonalTerm(ab,ac,L,BB,BC,S M,i,j,x3)) ∧ (PolynomialDiagonalTerm(ab,ac,L,BB,BC,S M,i,j,x3) → PolynomialDiagonalTerm(ab,ac,L,bb,bc,M,i,j,x3))Definitions: PolynomialDiagonalTerm
  2. L36
    specialize polynomial_diagonal_term_shift_right_iff (ab)
  3. L37
    specialize polynomial_diagonal_term_shift_right_iff (ac)
  4. L38
    specialize polynomial_diagonal_term_shift_right_iff (L)
  5. L39
    specialize polynomial_diagonal_term_shift_right_iff (bb)
  6. L40
    specialize polynomial_diagonal_term_shift_right_iff (bc)
  7. L41
    specialize polynomial_diagonal_term_shift_right_iff (M)
  8. L42
    specialize polynomial_diagonal_term_shift_right_iff (BB)
  9. L43
    specialize polynomial_diagonal_term_shift_right_iff (BC)
  10. L44
    specialize polynomial_diagonal_term_shift_right_iff (i)
15Use earlier factsL45–48

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

  1. L45
    specialize polynomial_diagonal_term_shift_right_iff (j)
  2. L46
    specialize polynomial_diagonal_term_shift_right_iff (x3)
  3. L47
    apply polynomial_diagonal_term_shift_right_iff
  4. L48
    exact hs
16Separate the logical casesL49–49

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

  1. L49
    cases htiff
17Use earlier factsL50–51

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

  1. L50
    apply htiff_left
  2. L51
    exact ht_witness_right
18Separate the logical casesL52–52

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

  1. L52
    split
19Use earlier factsL53–54

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

  1. L53
    exact hc_witness_witness_witness_right_left
  2. L54
    exact hc_witness_witness_witness_right_right
20Fix variables and assumptionsL55–55

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

  1. L55
    intro hc
21Separate the logical casesL56–60

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

  1. L56
    cases hc
  2. L57
    cases hc_witness
  3. L58
    cases hc_witness_witness
  4. L59
    cases hc_witness_witness_witness
  5. L60
    cases hc_witness_witness_witness_right
22Construct an explicit witnessL61–63

Supply the displayed value, then prove that it has the required property.

  1. L61
    exists x
  2. L62
    exists x1
  3. L63
    exists x2
23Separate the logical casesL64–64

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

  1. L64
    split
24Fix variables and assumptionsL65–66

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

  1. L65
    intro j
  2. L66
    intro hj
25Establish htL67–70

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hc witness witness witness left.

  1. L67
    have ht : ∃ t. BetaAt(x,x1,j,t) ∧ PolynomialDiagonalTerm(ab,ac,L,BB,BC,S M,i,j,t)Definitions: PolynomialDiagonalTermBetaAt
  2. L68
    specialize hc_witness_witness_witness_left (j)
  3. L69
    apply hc_witness_witness_witness_left
  4. L70
    exact hj
26Separate the logical casesL71–72

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

  1. L71
    cases ht
  2. L72
    cases ht_witness
27Construct an explicit witnessL73–73

Supply the displayed value, then prove that it has the required property.

  1. L73
    exists x3
28Separate the logical casesL74–74

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

  1. L74
    split
29Use earlier factsL75–75

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

  1. L75
    exact ht_witness_left
30Establish htiffL76–85

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

  1. L76
    have htiff : (PolynomialDiagonalTerm(ab,ac,L,bb,bc,M,i,j,x3) → PolynomialDiagonalTerm(ab,ac,L,BB,BC,S M,i,j,x3)) ∧ (PolynomialDiagonalTerm(ab,ac,L,BB,BC,S M,i,j,x3) → PolynomialDiagonalTerm(ab,ac,L,bb,bc,M,i,j,x3))Definitions: PolynomialDiagonalTerm
  2. L77
    specialize polynomial_diagonal_term_shift_right_iff (ab)
  3. L78
    specialize polynomial_diagonal_term_shift_right_iff (ac)
  4. L79
    specialize polynomial_diagonal_term_shift_right_iff (L)
  5. L80
    specialize polynomial_diagonal_term_shift_right_iff (bb)
  6. L81
    specialize polynomial_diagonal_term_shift_right_iff (bc)
  7. L82
    specialize polynomial_diagonal_term_shift_right_iff (M)
  8. L83
    specialize polynomial_diagonal_term_shift_right_iff (BB)
  9. L84
    specialize polynomial_diagonal_term_shift_right_iff (BC)
  10. L85
    specialize polynomial_diagonal_term_shift_right_iff (i)
31Use earlier factsL86–89

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

  1. L86
    specialize polynomial_diagonal_term_shift_right_iff (j)
  2. L87
    specialize polynomial_diagonal_term_shift_right_iff (x3)
  3. L88
    apply polynomial_diagonal_term_shift_right_iff
  4. L89
    exact hs
32Separate the logical casesL90–90

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

  1. L90
    cases htiff
33Use earlier factsL91–92

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

  1. L91
    apply htiff_right
  2. L92
    exact ht_witness_right
34Separate the logical casesL93–93

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

  1. L93
    split
35Use earlier factsL94–95

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

  1. L94
    exact hc_witness_witness_witness_right_left
  2. L95
    exact hc_witness_witness_witness_right_right

Library-wide reading audit

Original exact command ledger · 95 lines
  1. 0001intro p
  2. 0002intro ab
  3. 0003intro ac
  4. 0004intro L
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro M
  8. 0008intro BB
  9. 0009intro BC
  10. 0010intro i
  11. 0011intro r
  12. 0012intro hs
  13. 0013split
  14. 0014intro hc
  15. 0015cases hc
  16. 0016cases hc_witness
  17. 0017cases hc_witness_witness
  18. 0018cases hc_witness_witness_witness
  19. 0019cases hc_witness_witness_witness_right
  20. 0020exists x
  21. 0021exists x1
  22. 0022exists x2
  23. 0023split
  24. 0024intro j
  25. 0025intro hj
  26. 0026have ht : exists t. ((((exists ff_h_pfp_shift_coefficient_chosen_entry_left. ff_h_pfp_shift_coefficient_chosen_entry_left + S (t) = S ((S (j)) * x1)) /\ exists ff_q_pfp_shift_coefficient_chosen_entry_left. x = ff_q_pfp_shift_coefficient_chosen_entry_left * S ((S (j)) * x1) + (t))) /\ ((exists pfc_complement_shift_coefficient_chosen_term_left pfc_left_shift_coefficient_chosen_term_left pfc_right_shift_coefficient_chosen_term_left. (((j)+pfc_complement_shift_coefficient_chosen_term_left=(i)) /\ ((((((exists pfa_gap_shift_coefficient_chosen_term_leftleftinside. pfa_gap_shift_coefficient_chosen_term_leftleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_chosen_term_leftleftentry. ff_h_pfp_shift_coefficient_chosen_term_leftleftentry + S (pfc_left_shift_coefficient_chosen_term_left) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_chosen_term_leftleftentry. ab = ff_q_pfp_shift_coefficient_chosen_term_leftleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_chosen_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_chosen_term_leftleftoutside. pfc_gap_shift_coefficient_chosen_term_leftleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_chosen_term_left)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_chosen_term_leftrightinside. pfa_gap_shift_coefficient_chosen_term_leftrightinside + S (pfc_complement_shift_coefficient_chosen_term_left) = (M)) /\ ((((exists ff_h_pfp_shift_coefficient_chosen_term_leftrightentry. ff_h_pfp_shift_coefficient_chosen_term_leftrightentry + S (pfc_right_shift_coefficient_chosen_term_left) = S ((S (pfc_complement_shift_coefficient_chosen_term_left)) * bc)) /\ exists ff_q_pfp_shift_coefficient_chosen_term_leftrightentry. bb = ff_q_pfp_shift_coefficient_chosen_term_leftrightentry * S ((S (pfc_complement_shift_coefficient_chosen_term_left)) * bc) + (pfc_right_shift_coefficient_chosen_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_chosen_term_leftrightoutside. pfc_gap_shift_coefficient_chosen_term_leftrightoutside+(M)=(pfc_complement_shift_coefficient_chosen_term_left)) /\ (((pfc_right_shift_coefficient_chosen_term_left)=0))))) /\ (((t)=pfc_left_shift_coefficient_chosen_term_left*pfc_right_shift_coefficient_chosen_term_left))))))))))
  27. 0027specialize hc_witness_witness_witness_left (j)
  28. 0028apply hc_witness_witness_witness_left
  29. 0029exact hj
  30. 0030cases ht
  31. 0031cases ht_witness
  32. 0032exists x3
  33. 0033split
  34. 0034exact ht_witness_left
  35. 0035have htiff : (((exists pfc_complement_shift_coefficient_old_term_left pfc_left_shift_coefficient_old_term_left pfc_right_shift_coefficient_old_term_left. (((j)+pfc_complement_shift_coefficient_old_term_left=(i)) /\ ((((((exists pfa_gap_shift_coefficient_old_term_leftleftinside. pfa_gap_shift_coefficient_old_term_leftleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_old_term_leftleftentry. ff_h_pfp_shift_coefficient_old_term_leftleftentry + S (pfc_left_shift_coefficient_old_term_left) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_old_term_leftleftentry. ab = ff_q_pfp_shift_coefficient_old_term_leftleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_old_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_old_term_leftleftoutside. pfc_gap_shift_coefficient_old_term_leftleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_old_term_left)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_old_term_leftrightinside. pfa_gap_shift_coefficient_old_term_leftrightinside + S (pfc_complement_shift_coefficient_old_term_left) = (M)) /\ ((((exists ff_h_pfp_shift_coefficient_old_term_leftrightentry. ff_h_pfp_shift_coefficient_old_term_leftrightentry + S (pfc_right_shift_coefficient_old_term_left) = S ((S (pfc_complement_shift_coefficient_old_term_left)) * bc)) /\ exists ff_q_pfp_shift_coefficient_old_term_leftrightentry. bb = ff_q_pfp_shift_coefficient_old_term_leftrightentry * S ((S (pfc_complement_shift_coefficient_old_term_left)) * bc) + (pfc_right_shift_coefficient_old_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_old_term_leftrightoutside. pfc_gap_shift_coefficient_old_term_leftrightoutside+(M)=(pfc_complement_shift_coefficient_old_term_left)) /\ (((pfc_right_shift_coefficient_old_term_left)=0))))) /\ (((x3)=pfc_left_shift_coefficient_old_term_left*pfc_right_shift_coefficient_old_term_left)))))))) -> (exists pfc_complement_shift_coefficient_new_term_left pfc_left_shift_coefficient_new_term_left pfc_right_shift_coefficient_new_term_left. (((j)+pfc_complement_shift_coefficient_new_term_left=(i)) /\ ((((((exists pfa_gap_shift_coefficient_new_term_leftleftinside. pfa_gap_shift_coefficient_new_term_leftleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_new_term_leftleftentry. ff_h_pfp_shift_coefficient_new_term_leftleftentry + S (pfc_left_shift_coefficient_new_term_left) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_new_term_leftleftentry. ab = ff_q_pfp_shift_coefficient_new_term_leftleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_new_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_new_term_leftleftoutside. pfc_gap_shift_coefficient_new_term_leftleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_new_term_left)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_new_term_leftrightinside. pfa_gap_shift_coefficient_new_term_leftrightinside + S (pfc_complement_shift_coefficient_new_term_left) = (S M)) /\ ((((exists ff_h_pfp_shift_coefficient_new_term_leftrightentry. ff_h_pfp_shift_coefficient_new_term_leftrightentry + S (pfc_right_shift_coefficient_new_term_left) = S ((S (pfc_complement_shift_coefficient_new_term_left)) * BC)) /\ exists ff_q_pfp_shift_coefficient_new_term_leftrightentry. BB = ff_q_pfp_shift_coefficient_new_term_leftrightentry * S ((S (pfc_complement_shift_coefficient_new_term_left)) * BC) + (pfc_right_shift_coefficient_new_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_new_term_leftrightoutside. pfc_gap_shift_coefficient_new_term_leftrightoutside+(S M)=(pfc_complement_shift_coefficient_new_term_left)) /\ (((pfc_right_shift_coefficient_new_term_left)=0))))) /\ (((x3)=pfc_left_shift_coefficient_new_term_left*pfc_right_shift_coefficient_new_term_left))))))))) /\ (((exists pfc_complement_shift_coefficient_new_term_left pfc_left_shift_coefficient_new_term_left pfc_right_shift_coefficient_new_term_left. (((j)+pfc_complement_shift_coefficient_new_term_left=(i)) /\ ((((((exists pfa_gap_shift_coefficient_new_term_leftleftinside. pfa_gap_shift_coefficient_new_term_leftleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_new_term_leftleftentry. ff_h_pfp_shift_coefficient_new_term_leftleftentry + S (pfc_left_shift_coefficient_new_term_left) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_new_term_leftleftentry. ab = ff_q_pfp_shift_coefficient_new_term_leftleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_new_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_new_term_leftleftoutside. pfc_gap_shift_coefficient_new_term_leftleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_new_term_left)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_new_term_leftrightinside. pfa_gap_shift_coefficient_new_term_leftrightinside + S (pfc_complement_shift_coefficient_new_term_left) = (S M)) /\ ((((exists ff_h_pfp_shift_coefficient_new_term_leftrightentry. ff_h_pfp_shift_coefficient_new_term_leftrightentry + S (pfc_right_shift_coefficient_new_term_left) = S ((S (pfc_complement_shift_coefficient_new_term_left)) * BC)) /\ exists ff_q_pfp_shift_coefficient_new_term_leftrightentry. BB = ff_q_pfp_shift_coefficient_new_term_leftrightentry * S ((S (pfc_complement_shift_coefficient_new_term_left)) * BC) + (pfc_right_shift_coefficient_new_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_new_term_leftrightoutside. pfc_gap_shift_coefficient_new_term_leftrightoutside+(S M)=(pfc_complement_shift_coefficient_new_term_left)) /\ (((pfc_right_shift_coefficient_new_term_left)=0))))) /\ (((x3)=pfc_left_shift_coefficient_new_term_left*pfc_right_shift_coefficient_new_term_left)))))))) -> (exists pfc_complement_shift_coefficient_old_term_left pfc_left_shift_coefficient_old_term_left pfc_right_shift_coefficient_old_term_left. (((j)+pfc_complement_shift_coefficient_old_term_left=(i)) /\ ((((((exists pfa_gap_shift_coefficient_old_term_leftleftinside. pfa_gap_shift_coefficient_old_term_leftleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_old_term_leftleftentry. ff_h_pfp_shift_coefficient_old_term_leftleftentry + S (pfc_left_shift_coefficient_old_term_left) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_old_term_leftleftentry. ab = ff_q_pfp_shift_coefficient_old_term_leftleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_old_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_old_term_leftleftoutside. pfc_gap_shift_coefficient_old_term_leftleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_old_term_left)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_old_term_leftrightinside. pfa_gap_shift_coefficient_old_term_leftrightinside + S (pfc_complement_shift_coefficient_old_term_left) = (M)) /\ ((((exists ff_h_pfp_shift_coefficient_old_term_leftrightentry. ff_h_pfp_shift_coefficient_old_term_leftrightentry + S (pfc_right_shift_coefficient_old_term_left) = S ((S (pfc_complement_shift_coefficient_old_term_left)) * bc)) /\ exists ff_q_pfp_shift_coefficient_old_term_leftrightentry. bb = ff_q_pfp_shift_coefficient_old_term_leftrightentry * S ((S (pfc_complement_shift_coefficient_old_term_left)) * bc) + (pfc_right_shift_coefficient_old_term_left)))))) \/ (((exists pfc_gap_shift_coefficient_old_term_leftrightoutside. pfc_gap_shift_coefficient_old_term_leftrightoutside+(M)=(pfc_complement_shift_coefficient_old_term_left)) /\ (((pfc_right_shift_coefficient_old_term_left)=0))))) /\ (((x3)=pfc_left_shift_coefficient_old_term_left*pfc_right_shift_coefficient_old_term_left)))))))))))
  36. 0036specialize polynomial_diagonal_term_shift_right_iff (ab)
  37. 0037specialize polynomial_diagonal_term_shift_right_iff (ac)
  38. 0038specialize polynomial_diagonal_term_shift_right_iff (L)
  39. 0039specialize polynomial_diagonal_term_shift_right_iff (bb)
  40. 0040specialize polynomial_diagonal_term_shift_right_iff (bc)
  41. 0041specialize polynomial_diagonal_term_shift_right_iff (M)
  42. 0042specialize polynomial_diagonal_term_shift_right_iff (BB)
  43. 0043specialize polynomial_diagonal_term_shift_right_iff (BC)
  44. 0044specialize polynomial_diagonal_term_shift_right_iff (i)
  45. 0045specialize polynomial_diagonal_term_shift_right_iff (j)
  46. 0046specialize polynomial_diagonal_term_shift_right_iff (x3)
  47. 0047apply polynomial_diagonal_term_shift_right_iff
  48. 0048exact hs
  49. 0049cases htiff
  50. 0050apply htiff_left
  51. 0051exact ht_witness_right
  52. 0052split
  53. 0053exact hc_witness_witness_witness_right_left
  54. 0054exact hc_witness_witness_witness_right_right
  55. 0055intro hc
  56. 0056cases hc
  57. 0057cases hc_witness
  58. 0058cases hc_witness_witness
  59. 0059cases hc_witness_witness_witness
  60. 0060cases hc_witness_witness_witness_right
  61. 0061exists x
  62. 0062exists x1
  63. 0063exists x2
  64. 0064split
  65. 0065intro j
  66. 0066intro hj
  67. 0067have ht : exists t. ((((exists ff_h_pfp_shift_coefficient_chosen_entry_right. ff_h_pfp_shift_coefficient_chosen_entry_right + S (t) = S ((S (j)) * x1)) /\ exists ff_q_pfp_shift_coefficient_chosen_entry_right. x = ff_q_pfp_shift_coefficient_chosen_entry_right * S ((S (j)) * x1) + (t))) /\ ((exists pfc_complement_shift_coefficient_chosen_term_right pfc_left_shift_coefficient_chosen_term_right pfc_right_shift_coefficient_chosen_term_right. (((j)+pfc_complement_shift_coefficient_chosen_term_right=(i)) /\ ((((((exists pfa_gap_shift_coefficient_chosen_term_rightleftinside. pfa_gap_shift_coefficient_chosen_term_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_chosen_term_rightleftentry. ff_h_pfp_shift_coefficient_chosen_term_rightleftentry + S (pfc_left_shift_coefficient_chosen_term_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_chosen_term_rightleftentry. ab = ff_q_pfp_shift_coefficient_chosen_term_rightleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_chosen_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_chosen_term_rightleftoutside. pfc_gap_shift_coefficient_chosen_term_rightleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_chosen_term_right)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_chosen_term_rightrightinside. pfa_gap_shift_coefficient_chosen_term_rightrightinside + S (pfc_complement_shift_coefficient_chosen_term_right) = (S M)) /\ ((((exists ff_h_pfp_shift_coefficient_chosen_term_rightrightentry. ff_h_pfp_shift_coefficient_chosen_term_rightrightentry + S (pfc_right_shift_coefficient_chosen_term_right) = S ((S (pfc_complement_shift_coefficient_chosen_term_right)) * BC)) /\ exists ff_q_pfp_shift_coefficient_chosen_term_rightrightentry. BB = ff_q_pfp_shift_coefficient_chosen_term_rightrightentry * S ((S (pfc_complement_shift_coefficient_chosen_term_right)) * BC) + (pfc_right_shift_coefficient_chosen_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_chosen_term_rightrightoutside. pfc_gap_shift_coefficient_chosen_term_rightrightoutside+(S M)=(pfc_complement_shift_coefficient_chosen_term_right)) /\ (((pfc_right_shift_coefficient_chosen_term_right)=0))))) /\ (((t)=pfc_left_shift_coefficient_chosen_term_right*pfc_right_shift_coefficient_chosen_term_right))))))))))
  68. 0068specialize hc_witness_witness_witness_left (j)
  69. 0069apply hc_witness_witness_witness_left
  70. 0070exact hj
  71. 0071cases ht
  72. 0072cases ht_witness
  73. 0073exists x3
  74. 0074split
  75. 0075exact ht_witness_left
  76. 0076have htiff : (((exists pfc_complement_shift_coefficient_old_term_right pfc_left_shift_coefficient_old_term_right pfc_right_shift_coefficient_old_term_right. (((j)+pfc_complement_shift_coefficient_old_term_right=(i)) /\ ((((((exists pfa_gap_shift_coefficient_old_term_rightleftinside. pfa_gap_shift_coefficient_old_term_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_old_term_rightleftentry. ff_h_pfp_shift_coefficient_old_term_rightleftentry + S (pfc_left_shift_coefficient_old_term_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_old_term_rightleftentry. ab = ff_q_pfp_shift_coefficient_old_term_rightleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_old_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_old_term_rightleftoutside. pfc_gap_shift_coefficient_old_term_rightleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_old_term_right)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_old_term_rightrightinside. pfa_gap_shift_coefficient_old_term_rightrightinside + S (pfc_complement_shift_coefficient_old_term_right) = (M)) /\ ((((exists ff_h_pfp_shift_coefficient_old_term_rightrightentry. ff_h_pfp_shift_coefficient_old_term_rightrightentry + S (pfc_right_shift_coefficient_old_term_right) = S ((S (pfc_complement_shift_coefficient_old_term_right)) * bc)) /\ exists ff_q_pfp_shift_coefficient_old_term_rightrightentry. bb = ff_q_pfp_shift_coefficient_old_term_rightrightentry * S ((S (pfc_complement_shift_coefficient_old_term_right)) * bc) + (pfc_right_shift_coefficient_old_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_old_term_rightrightoutside. pfc_gap_shift_coefficient_old_term_rightrightoutside+(M)=(pfc_complement_shift_coefficient_old_term_right)) /\ (((pfc_right_shift_coefficient_old_term_right)=0))))) /\ (((x3)=pfc_left_shift_coefficient_old_term_right*pfc_right_shift_coefficient_old_term_right)))))))) -> (exists pfc_complement_shift_coefficient_new_term_right pfc_left_shift_coefficient_new_term_right pfc_right_shift_coefficient_new_term_right. (((j)+pfc_complement_shift_coefficient_new_term_right=(i)) /\ ((((((exists pfa_gap_shift_coefficient_new_term_rightleftinside. pfa_gap_shift_coefficient_new_term_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_new_term_rightleftentry. ff_h_pfp_shift_coefficient_new_term_rightleftentry + S (pfc_left_shift_coefficient_new_term_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_new_term_rightleftentry. ab = ff_q_pfp_shift_coefficient_new_term_rightleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_new_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_new_term_rightleftoutside. pfc_gap_shift_coefficient_new_term_rightleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_new_term_right)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_new_term_rightrightinside. pfa_gap_shift_coefficient_new_term_rightrightinside + S (pfc_complement_shift_coefficient_new_term_right) = (S M)) /\ ((((exists ff_h_pfp_shift_coefficient_new_term_rightrightentry. ff_h_pfp_shift_coefficient_new_term_rightrightentry + S (pfc_right_shift_coefficient_new_term_right) = S ((S (pfc_complement_shift_coefficient_new_term_right)) * BC)) /\ exists ff_q_pfp_shift_coefficient_new_term_rightrightentry. BB = ff_q_pfp_shift_coefficient_new_term_rightrightentry * S ((S (pfc_complement_shift_coefficient_new_term_right)) * BC) + (pfc_right_shift_coefficient_new_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_new_term_rightrightoutside. pfc_gap_shift_coefficient_new_term_rightrightoutside+(S M)=(pfc_complement_shift_coefficient_new_term_right)) /\ (((pfc_right_shift_coefficient_new_term_right)=0))))) /\ (((x3)=pfc_left_shift_coefficient_new_term_right*pfc_right_shift_coefficient_new_term_right))))))))) /\ (((exists pfc_complement_shift_coefficient_new_term_right pfc_left_shift_coefficient_new_term_right pfc_right_shift_coefficient_new_term_right. (((j)+pfc_complement_shift_coefficient_new_term_right=(i)) /\ ((((((exists pfa_gap_shift_coefficient_new_term_rightleftinside. pfa_gap_shift_coefficient_new_term_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_new_term_rightleftentry. ff_h_pfp_shift_coefficient_new_term_rightleftentry + S (pfc_left_shift_coefficient_new_term_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_new_term_rightleftentry. ab = ff_q_pfp_shift_coefficient_new_term_rightleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_new_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_new_term_rightleftoutside. pfc_gap_shift_coefficient_new_term_rightleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_new_term_right)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_new_term_rightrightinside. pfa_gap_shift_coefficient_new_term_rightrightinside + S (pfc_complement_shift_coefficient_new_term_right) = (S M)) /\ ((((exists ff_h_pfp_shift_coefficient_new_term_rightrightentry. ff_h_pfp_shift_coefficient_new_term_rightrightentry + S (pfc_right_shift_coefficient_new_term_right) = S ((S (pfc_complement_shift_coefficient_new_term_right)) * BC)) /\ exists ff_q_pfp_shift_coefficient_new_term_rightrightentry. BB = ff_q_pfp_shift_coefficient_new_term_rightrightentry * S ((S (pfc_complement_shift_coefficient_new_term_right)) * BC) + (pfc_right_shift_coefficient_new_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_new_term_rightrightoutside. pfc_gap_shift_coefficient_new_term_rightrightoutside+(S M)=(pfc_complement_shift_coefficient_new_term_right)) /\ (((pfc_right_shift_coefficient_new_term_right)=0))))) /\ (((x3)=pfc_left_shift_coefficient_new_term_right*pfc_right_shift_coefficient_new_term_right)))))))) -> (exists pfc_complement_shift_coefficient_old_term_right pfc_left_shift_coefficient_old_term_right pfc_right_shift_coefficient_old_term_right. (((j)+pfc_complement_shift_coefficient_old_term_right=(i)) /\ ((((((exists pfa_gap_shift_coefficient_old_term_rightleftinside. pfa_gap_shift_coefficient_old_term_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_shift_coefficient_old_term_rightleftentry. ff_h_pfp_shift_coefficient_old_term_rightleftentry + S (pfc_left_shift_coefficient_old_term_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_shift_coefficient_old_term_rightleftentry. ab = ff_q_pfp_shift_coefficient_old_term_rightleftentry * S ((S (j)) * ac) + (pfc_left_shift_coefficient_old_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_old_term_rightleftoutside. pfc_gap_shift_coefficient_old_term_rightleftoutside+(L)=(j)) /\ (((pfc_left_shift_coefficient_old_term_right)=0))))) /\ ((((((exists pfa_gap_shift_coefficient_old_term_rightrightinside. pfa_gap_shift_coefficient_old_term_rightrightinside + S (pfc_complement_shift_coefficient_old_term_right) = (M)) /\ ((((exists ff_h_pfp_shift_coefficient_old_term_rightrightentry. ff_h_pfp_shift_coefficient_old_term_rightrightentry + S (pfc_right_shift_coefficient_old_term_right) = S ((S (pfc_complement_shift_coefficient_old_term_right)) * bc)) /\ exists ff_q_pfp_shift_coefficient_old_term_rightrightentry. bb = ff_q_pfp_shift_coefficient_old_term_rightrightentry * S ((S (pfc_complement_shift_coefficient_old_term_right)) * bc) + (pfc_right_shift_coefficient_old_term_right)))))) \/ (((exists pfc_gap_shift_coefficient_old_term_rightrightoutside. pfc_gap_shift_coefficient_old_term_rightrightoutside+(M)=(pfc_complement_shift_coefficient_old_term_right)) /\ (((pfc_right_shift_coefficient_old_term_right)=0))))) /\ (((x3)=pfc_left_shift_coefficient_old_term_right*pfc_right_shift_coefficient_old_term_right)))))))))))
  77. 0077specialize polynomial_diagonal_term_shift_right_iff (ab)
  78. 0078specialize polynomial_diagonal_term_shift_right_iff (ac)
  79. 0079specialize polynomial_diagonal_term_shift_right_iff (L)
  80. 0080specialize polynomial_diagonal_term_shift_right_iff (bb)
  81. 0081specialize polynomial_diagonal_term_shift_right_iff (bc)
  82. 0082specialize polynomial_diagonal_term_shift_right_iff (M)
  83. 0083specialize polynomial_diagonal_term_shift_right_iff (BB)
  84. 0084specialize polynomial_diagonal_term_shift_right_iff (BC)
  85. 0085specialize polynomial_diagonal_term_shift_right_iff (i)
  86. 0086specialize polynomial_diagonal_term_shift_right_iff (j)
  87. 0087specialize polynomial_diagonal_term_shift_right_iff (x3)
  88. 0088apply polynomial_diagonal_term_shift_right_iff
  89. 0089exact hs
  90. 0090cases htiff
  91. 0091apply htiff_right
  92. 0092exact ht_witness_right
  93. 0093split
  94. 0094exact hc_witness_witness_witness_right_left
  95. 0095exact hc_witness_witness_witness_right_right