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 k ab ac bb bc d qb qc N b pb pc L. (~((p) = 1) /\ forall pfa_factor_left_division_match_table_prime pfa_factor_right_division_match_table_prime. (p) = pfa_factor_left_division_match_table_prime * pfa_factor_right_division_match_table_prime -> pfa_factor_left_division_match_table_prime = 1 \/ pfa_factor_right_division_match_table_prime = 1) -> (((exists ff_h_pfp_division_match_table_head. ff_h_pfp_division_match_table_head + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_match_table_head. bb = ff_q_pfp_division_match_table_head * S ((S (0)) * bc) + (b))) -> (((~((b) = 0)) /\ ((((exists pfa_gap_division_match_table_inversemultiplicationleft. pfa_gap_division_match_table_inversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_division_match_table_inversemultiplicationright. pfa_gap_division_match_table_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_match_table_inversemultiplicationresultbound. pfa_gap_division_match_table_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_match_table_inversemultiplicationresultcongruence pfa_offset_right_division_match_table_inversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_division_match_table_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_match_table_inversemultiplicationresultcongruence)))))))))))) -> (forall pfd_index_division_match_table_execution. (exists pfa_gap_division_match_table_executionbound. pfa_gap_division_match_table_executionbound + S (pfd_index_division_match_table_execution) = (N)) -> exists pfd_value_division_match_table_execution. ((((exists ff_h_pfp_division_match_table_executionentry. ff_h_pfp_division_match_table_executionentry + S (pfd_value_division_match_table_execution) = S ((S (pfd_index_division_match_table_execution)) * qc)) /\ exists ff_q_pfp_division_match_table_executionentry. qb = ff_q_pfp_division_match_table_executionentry * S ((S (pfd_index_division_match_table_execution)) * qc) + (pfd_value_division_match_table_execution))) /\ ((exists pfd_input_division_match_table_executionstep pfd_previous_division_match_table_executionstep pfd_difference_division_match_table_executionstep. ((((exists ff_h_pfp_division_match_table_executionstepinput. ff_h_pfp_division_match_table_executionstepinput + S (pfd_input_division_match_table_executionstep) = S ((S (pfd_index_division_match_table_execution)) * ac)) /\ exists ff_q_pfp_division_match_table_executionstepinput. ab = ff_q_pfp_division_match_table_executionstepinput * S ((S (pfd_index_division_match_table_execution)) * ac) + (pfd_input_division_match_table_executionstep))) /\ (((exists pfc_terms_code_division_match_table_executionstepprevious pfc_terms_scale_division_match_table_executionstepprevious pfc_natural_sum_division_match_table_executionstepprevious. ((forall pfc_index_division_match_table_executionsteppreviousdiagonal. (exists pfa_gap_division_match_table_executionsteppreviousdiagonalbound. pfa_gap_division_match_table_executionsteppreviousdiagonalbound + S (pfc_index_division_match_table_executionsteppreviousdiagonal) = (S (pfd_index_division_match_table_execution))) -> exists pfc_value_division_match_table_executionsteppreviousdiagonal. ((((exists ff_h_pfp_division_match_table_executionsteppreviousdiagonalentry. ff_h_pfp_division_match_table_executionsteppreviousdiagonalentry + S (pfc_value_division_match_table_executionsteppreviousdiagonal) = S ((S (pfc_index_division_match_table_executionsteppreviousdiagonal)) * pfc_terms_scale_division_match_table_executionstepprevious)) /\ exists ff_q_pfp_division_match_table_executionsteppreviousdiagonalentry. pfc_terms_code_division_match_table_executionstepprevious = ff_q_pfp_division_match_table_executionsteppreviousdiagonalentry * S ((S (pfc_index_division_match_table_executionsteppreviousdiagonal)) * pfc_terms_scale_division_match_table_executionstepprevious) + (pfc_value_division_match_table_executionsteppreviousdiagonal))) /\ ((exists pfc_complement_division_match_table_executionsteppreviousdiagonalterm pfc_left_division_match_table_executionsteppreviousdiagonalterm pfc_right_division_match_table_executionsteppreviousdiagonalterm. (((pfc_index_division_match_table_executionsteppreviousdiagonal)+pfc_complement_division_match_table_executionsteppreviousdiagonalterm=(pfd_index_division_match_table_execution)) /\ ((((((exists pfa_gap_division_match_table_executionsteppreviousdiagonaltermleftinside. pfa_gap_division_match_table_executionsteppreviousdiagonaltermleftinside + S (pfc_index_division_match_table_executionsteppreviousdiagonal) = (pfd_index_division_match_table_execution)) /\ ((((exists ff_h_pfp_division_match_table_executionsteppreviousdiagonaltermleftentry. ff_h_pfp_division_match_table_executionsteppreviousdiagonaltermleftentry + S (pfc_left_division_match_table_executionsteppreviousdiagonalterm) = S ((S (pfc_index_division_match_table_executionsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_table_executionsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_match_table_executionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_match_table_executionsteppreviousdiagonal)) * qc) + (pfc_left_division_match_table_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_executionsteppreviousdiagonaltermleftoutside. pfc_gap_division_match_table_executionsteppreviousdiagonaltermleftoutside+(pfd_index_division_match_table_execution)=(pfc_index_division_match_table_executionsteppreviousdiagonal)) /\ (((pfc_left_division_match_table_executionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_table_executionsteppreviousdiagonaltermrightinside. pfa_gap_division_match_table_executionsteppreviousdiagonaltermrightinside + S (pfc_complement_division_match_table_executionsteppreviousdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_table_executionsteppreviousdiagonaltermrightentry. ff_h_pfp_division_match_table_executionsteppreviousdiagonaltermrightentry + S (pfc_right_division_match_table_executionsteppreviousdiagonalterm) = S ((S (pfc_complement_division_match_table_executionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_table_executionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_match_table_executionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_match_table_executionsteppreviousdiagonalterm)) * bc) + (pfc_right_division_match_table_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_executionsteppreviousdiagonaltermrightoutside. pfc_gap_division_match_table_executionsteppreviousdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_table_executionsteppreviousdiagonalterm)) /\ (((pfc_right_division_match_table_executionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_match_table_executionsteppreviousdiagonal)=pfc_left_division_match_table_executionsteppreviousdiagonalterm*pfc_right_division_match_table_executionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_table_executionstepprevioussum fs_v_pfc_division_match_table_executionstepprevioussum. ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_start. fs_h_pfc_division_match_table_executionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_table_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_start. fs_u_pfc_division_match_table_executionstepprevioussum = fs_q_pfc_division_match_table_executionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_match_table_executionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_terminal. fs_h_pfc_division_match_table_executionstepprevioussum_body_terminal + S (pfc_natural_sum_division_match_table_executionstepprevious) = S ((S (S (pfd_index_division_match_table_execution))) * fs_v_pfc_division_match_table_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_terminal. fs_u_pfc_division_match_table_executionstepprevioussum = fs_q_pfc_division_match_table_executionstepprevioussum_body_terminal * S ((S (S (pfd_index_division_match_table_execution))) * fs_v_pfc_division_match_table_executionstepprevioussum) + (pfc_natural_sum_division_match_table_executionstepprevious))) /\ forall fs_i_pfc_division_match_table_executionstepprevioussum_body_steps. (exists fs_lt_pfc_division_match_table_executionstepprevioussum_body_steps_bound. fs_lt_pfc_division_match_table_executionstepprevioussum_body_steps_bound + S fs_i_pfc_division_match_table_executionstepprevioussum_body_steps = S (pfd_index_division_match_table_execution)) -> exists fs_a_pfc_division_match_table_executionstepprevioussum_body_steps fs_r_pfc_division_match_table_executionstepprevioussum_body_steps fs_s_pfc_division_match_table_executionstepprevioussum_body_steps. ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_summand. fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_summand + S (fs_a_pfc_division_match_table_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_match_table_executionstepprevious)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_summand. pfc_terms_code_division_match_table_executionstepprevious = fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_match_table_executionstepprevious) + (fs_a_pfc_division_match_table_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_partial. fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_partial + S (fs_r_pfc_division_match_table_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_table_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_partial. fs_u_pfc_division_match_table_executionstepprevioussum = fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_table_executionstepprevioussum) + (fs_r_pfc_division_match_table_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_successor. fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_successor + S (fs_s_pfc_division_match_table_executionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_table_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_successor. fs_u_pfc_division_match_table_executionstepprevioussum = fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_table_executionstepprevioussum) + (fs_s_pfc_division_match_table_executionstepprevioussum_body_steps))) /\ fs_s_pfc_division_match_table_executionstepprevioussum_body_steps = fs_r_pfc_division_match_table_executionstepprevioussum_body_steps + fs_a_pfc_division_match_table_executionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_match_table_executionsteppreviousresiduebound. pfa_gap_division_match_table_executionsteppreviousresiduebound + S (pfd_previous_division_match_table_executionstep) = (p)) /\ ((exists pfa_offset_left_division_match_table_executionsteppreviousresiduecongruence pfa_offset_right_division_match_table_executionsteppreviousresiduecongruence. (pfc_natural_sum_division_match_table_executionstepprevious) + (p) * pfa_offset_left_division_match_table_executionsteppreviousresiduecongruence = (pfd_previous_division_match_table_executionstep) + (p) * pfa_offset_right_division_match_table_executionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_match_table_executionstepsubtractleft. pfa_gap_division_match_table_executionstepsubtractleft + S (pfd_previous_division_match_table_executionstep) = (p)) /\ (((exists pfa_gap_division_match_table_executionstepsubtractright. pfa_gap_division_match_table_executionstepsubtractright + S (pfd_difference_division_match_table_executionstep) = (p)) /\ ((((exists pfa_gap_division_match_table_executionstepsubtractresultbound. pfa_gap_division_match_table_executionstepsubtractresultbound + S (pfd_input_division_match_table_executionstep) = (p)) /\ ((exists pfa_offset_left_division_match_table_executionstepsubtractresultcongruence pfa_offset_right_division_match_table_executionstepsubtractresultcongruence. ((pfd_previous_division_match_table_executionstep) + (pfd_difference_division_match_table_executionstep)) + (p) * pfa_offset_left_division_match_table_executionstepsubtractresultcongruence = (pfd_input_division_match_table_executionstep) + (p) * pfa_offset_right_division_match_table_executionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_match_table_executionstepmultiplyleft. pfa_gap_division_match_table_executionstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_match_table_executionstepmultiplyright. pfa_gap_division_match_table_executionstepmultiplyright + S (pfd_difference_division_match_table_executionstep) = (p)) /\ ((((exists pfa_gap_division_match_table_executionstepmultiplyresultbound. pfa_gap_division_match_table_executionstepmultiplyresultbound + S (pfd_value_division_match_table_execution) = (p)) /\ ((exists pfa_offset_left_division_match_table_executionstepmultiplyresultcongruence pfa_offset_right_division_match_table_executionstepmultiplyresultcongruence. ((k) * (pfd_difference_division_match_table_executionstep)) + (p) * pfa_offset_left_division_match_table_executionstepmultiplyresultcongruence = (pfd_value_division_match_table_execution) + (p) * pfa_offset_right_division_match_table_executionstepmultiplyresultcongruence))))))))))))))))))) -> (exists pfc_gap_division_match_table_length. pfc_gap_division_match_table_length+(N)=(L)) -> (forall pfc_index_division_match_table_product. (exists pfa_gap_division_match_table_productbound. pfa_gap_division_match_table_productbound + S (pfc_index_division_match_table_product) = (L)) -> exists pfc_value_division_match_table_product. ((((exists ff_h_pfp_division_match_table_productentry. ff_h_pfp_division_match_table_productentry + S (pfc_value_division_match_table_product) = S ((S (pfc_index_division_match_table_product)) * pc)) /\ exists ff_q_pfp_division_match_table_productentry. pb = ff_q_pfp_division_match_table_productentry * S ((S (pfc_index_division_match_table_product)) * pc) + (pfc_value_division_match_table_product))) /\ ((exists pfc_terms_code_division_match_table_productcoefficient pfc_terms_scale_division_match_table_productcoefficient pfc_natural_sum_division_match_table_productcoefficient. ((forall pfc_index_division_match_table_productcoefficientdiagonal. (exists pfa_gap_division_match_table_productcoefficientdiagonalbound. pfa_gap_division_match_table_productcoefficientdiagonalbound + S (pfc_index_division_match_table_productcoefficientdiagonal) = (S (pfc_index_division_match_table_product))) -> exists pfc_value_division_match_table_productcoefficientdiagonal. ((((exists ff_h_pfp_division_match_table_productcoefficientdiagonalentry. ff_h_pfp_division_match_table_productcoefficientdiagonalentry + S (pfc_value_division_match_table_productcoefficientdiagonal) = S ((S (pfc_index_division_match_table_productcoefficientdiagonal)) * pfc_terms_scale_division_match_table_productcoefficient)) /\ exists ff_q_pfp_division_match_table_productcoefficientdiagonalentry. pfc_terms_code_division_match_table_productcoefficient = ff_q_pfp_division_match_table_productcoefficientdiagonalentry * S ((S (pfc_index_division_match_table_productcoefficientdiagonal)) * pfc_terms_scale_division_match_table_productcoefficient) + (pfc_value_division_match_table_productcoefficientdiagonal))) /\ ((exists pfc_complement_division_match_table_productcoefficientdiagonalterm pfc_left_division_match_table_productcoefficientdiagonalterm pfc_right_division_match_table_productcoefficientdiagonalterm. (((pfc_index_division_match_table_productcoefficientdiagonal)+pfc_complement_division_match_table_productcoefficientdiagonalterm=(pfc_index_division_match_table_product)) /\ ((((((exists pfa_gap_division_match_table_productcoefficientdiagonaltermleftinside. pfa_gap_division_match_table_productcoefficientdiagonaltermleftinside + S (pfc_index_division_match_table_productcoefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_match_table_productcoefficientdiagonaltermleftentry. ff_h_pfp_division_match_table_productcoefficientdiagonaltermleftentry + S (pfc_left_division_match_table_productcoefficientdiagonalterm) = S ((S (pfc_index_division_match_table_productcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_table_productcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_match_table_productcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_match_table_productcoefficientdiagonal)) * qc) + (pfc_left_division_match_table_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_productcoefficientdiagonaltermleftoutside. pfc_gap_division_match_table_productcoefficientdiagonaltermleftoutside+(N)=(pfc_index_division_match_table_productcoefficientdiagonal)) /\ (((pfc_left_division_match_table_productcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_table_productcoefficientdiagonaltermrightinside. pfa_gap_division_match_table_productcoefficientdiagonaltermrightinside + S (pfc_complement_division_match_table_productcoefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_table_productcoefficientdiagonaltermrightentry. ff_h_pfp_division_match_table_productcoefficientdiagonaltermrightentry + S (pfc_right_division_match_table_productcoefficientdiagonalterm) = S ((S (pfc_complement_division_match_table_productcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_table_productcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_match_table_productcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_match_table_productcoefficientdiagonalterm)) * bc) + (pfc_right_division_match_table_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_productcoefficientdiagonaltermrightoutside. pfc_gap_division_match_table_productcoefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_table_productcoefficientdiagonalterm)) /\ (((pfc_right_division_match_table_productcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_match_table_productcoefficientdiagonal)=pfc_left_division_match_table_productcoefficientdiagonalterm*pfc_right_division_match_table_productcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_table_productcoefficientsum fs_v_pfc_division_match_table_productcoefficientsum. ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_start. fs_h_pfc_division_match_table_productcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_table_productcoefficientsum)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_start. fs_u_pfc_division_match_table_productcoefficientsum = fs_q_pfc_division_match_table_productcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_match_table_productcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_terminal. fs_h_pfc_division_match_table_productcoefficientsum_body_terminal + S (pfc_natural_sum_division_match_table_productcoefficient) = S ((S (S (pfc_index_division_match_table_product))) * fs_v_pfc_division_match_table_productcoefficientsum)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_terminal. fs_u_pfc_division_match_table_productcoefficientsum = fs_q_pfc_division_match_table_productcoefficientsum_body_terminal * S ((S (S (pfc_index_division_match_table_product))) * fs_v_pfc_division_match_table_productcoefficientsum) + (pfc_natural_sum_division_match_table_productcoefficient))) /\ forall fs_i_pfc_division_match_table_productcoefficientsum_body_steps. (exists fs_lt_pfc_division_match_table_productcoefficientsum_body_steps_bound. fs_lt_pfc_division_match_table_productcoefficientsum_body_steps_bound + S fs_i_pfc_division_match_table_productcoefficientsum_body_steps = S (pfc_index_division_match_table_product)) -> exists fs_a_pfc_division_match_table_productcoefficientsum_body_steps fs_r_pfc_division_match_table_productcoefficientsum_body_steps fs_s_pfc_division_match_table_productcoefficientsum_body_steps. ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_steps_summand. fs_h_pfc_division_match_table_productcoefficientsum_body_steps_summand + S (fs_a_pfc_division_match_table_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * pfc_terms_scale_division_match_table_productcoefficient)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_steps_summand. pfc_terms_code_division_match_table_productcoefficient = fs_q_pfc_division_match_table_productcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * pfc_terms_scale_division_match_table_productcoefficient) + (fs_a_pfc_division_match_table_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_steps_partial. fs_h_pfc_division_match_table_productcoefficientsum_body_steps_partial + S (fs_r_pfc_division_match_table_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * fs_v_pfc_division_match_table_productcoefficientsum)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_steps_partial. fs_u_pfc_division_match_table_productcoefficientsum = fs_q_pfc_division_match_table_productcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * fs_v_pfc_division_match_table_productcoefficientsum) + (fs_r_pfc_division_match_table_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_steps_successor. fs_h_pfc_division_match_table_productcoefficientsum_body_steps_successor + S (fs_s_pfc_division_match_table_productcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * fs_v_pfc_division_match_table_productcoefficientsum)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_steps_successor. fs_u_pfc_division_match_table_productcoefficientsum = fs_q_pfc_division_match_table_productcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * fs_v_pfc_division_match_table_productcoefficientsum) + (fs_s_pfc_division_match_table_productcoefficientsum_body_steps))) /\ fs_s_pfc_division_match_table_productcoefficientsum_body_steps = fs_r_pfc_division_match_table_productcoefficientsum_body_steps + fs_a_pfc_division_match_table_productcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_match_table_productcoefficientresiduebound. pfa_gap_division_match_table_productcoefficientresiduebound + S (pfc_value_division_match_table_product) = (p)) /\ ((exists pfa_offset_left_division_match_table_productcoefficientresiduecongruence pfa_offset_right_division_match_table_productcoefficientresiduecongruence. (pfc_natural_sum_division_match_table_productcoefficient) + (p) * pfa_offset_left_division_match_table_productcoefficientresiduecongruence = (pfc_value_division_match_table_product) + (p) * pfa_offset_right_division_match_table_productcoefficientresiduecongruence)))))))))))) -> (forall mdr_i_pfp_division_match_table_result mdr_a_pfp_division_match_table_result. (exists mdr_gap_pfp_division_match_table_resultb. mdr_gap_pfp_division_match_table_resultb + S (mdr_i_pfp_division_match_table_result) = (N)) -> (((exists ff_h_mdr_pfp_division_match_table_resulto. ff_h_mdr_pfp_division_match_table_resulto + S (mdr_a_pfp_division_match_table_result) = S ((S (mdr_i_pfp_division_match_table_result)) * ac)) /\ exists ff_q_mdr_pfp_division_match_table_resulto. ab = ff_q_mdr_pfp_division_match_table_resulto * S ((S (mdr_i_pfp_division_match_table_result)) * ac) + (mdr_a_pfp_division_match_table_result))) -> (((exists ff_h_mdr_pfp_division_match_table_resultn. ff_h_mdr_pfp_division_match_table_resultn + S (mdr_a_pfp_division_match_table_result) = S ((S (mdr_i_pfp_division_match_table_result)) * pc)) /\ exists ff_q_mdr_pfp_division_match_table_resultn. pb = ff_q_mdr_pfp_division_match_table_resultn * S ((S (mdr_i_pfp_division_match_table_result)) * pc) + (mdr_a_pfp_division_match_table_result))))Constructive proof overview
Generated structural guide
The actual ambient product table agrees with the input throughout the computed quotient prefix, including the vacuous zero-length case.
The unchanged tactic script uses 3 declared prerequisites and contains 68 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
lt_of_lt_of_le Alpha theorem; checked-use authorized PX002F prime_field_polynomial_quotient_prefix_convolution_entry beta_at_unique Alpha theorem; checked-use authorizedDirect 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
03Fix variables and assumptionsL21–24
04Establish hvL25–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hproduct.
- L25
have hv : ∃ r. BetaAt(pb,pc,i,r) ∧ FpConvolutionCoefficient(p,qb,qc,N,bb,bc,S d,i,r)Definitions: FpConvolutionCoefficientBetaAt - L26
specialize hproduct (i) - L27
apply hproduct - L28
specialize lt_of_lt_of_le (i) - L29
specialize lt_of_lt_of_le (N) - L30
specialize lt_of_lt_of_le (L) - L31
apply lt_of_lt_of_le - L32
exact hi - L33
exact hlen
05Separate the logical casesL34–35
06Establish hinputL36–45
Establish this local claim before using it. It is not an additional assumption.
- L36
have hinput : ((exists ff_h_pfp_division_match_table_input. ff_h_pfp_division_match_table_input + S (x) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_match_table_input. ab = ff_q_pfp_division_match_table_input * S ((S (i)) * ac) + (x)) - L37
specialize prime_field_polynomial_quotient_prefix_convolution_entry (p) - L38
specialize prime_field_polynomial_quotient_prefix_convolution_entry (k) - L39
specialize prime_field_polynomial_quotient_prefix_convolution_entry (ab) - L40
specialize prime_field_polynomial_quotient_prefix_convolution_entry (ac) - L41
specialize prime_field_polynomial_quotient_prefix_convolution_entry (bb) - L42
specialize prime_field_polynomial_quotient_prefix_convolution_entry (bc) - L43
specialize prime_field_polynomial_quotient_prefix_convolution_entry (d) - L44
specialize prime_field_polynomial_quotient_prefix_convolution_entry (qb) - L45
specialize prime_field_polynomial_quotient_prefix_convolution_entry (qc)
07Use earlier factsL46–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
specialize prime_field_polynomial_quotient_prefix_convolution_entry (N) - L47
specialize prime_field_polynomial_quotient_prefix_convolution_entry (b) - L48
specialize prime_field_polynomial_quotient_prefix_convolution_entry (i) - L49
specialize prime_field_polynomial_quotient_prefix_convolution_entry (x) - L50
apply prime_field_polynomial_quotient_prefix_convolution_entry - L51
exact hp - L52
exact hb - L53
exact hk - L54
exact hq - L55
exact hi
08Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
exact hv_witness_right
09Establish heqL57–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
10Calculate and transport equalitiesL67–67
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L67
rewrite heq at hv_witness_left
11Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hv_witness_left
Original exact command ledger · 68 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro d - 0008
intro qb - 0009
intro qc - 0010
intro N - 0011
intro b - 0012
intro pb - 0013
intro pc - 0014
intro L - 0015
intro hp - 0016
intro hb - 0017
intro hk - 0018
intro hq - 0019
intro hlen - 0020
intro hproduct - 0021
intro i - 0022
intro a - 0023
intro hi - 0024
intro ha - 0025
have hv : exists r. ((((exists ff_h_pfp_division_match_table_entry. ff_h_pfp_division_match_table_entry + S (r) = S ((S (i)) * pc)) /\ exists ff_q_pfp_division_match_table_entry. pb = ff_q_pfp_division_match_table_entry * S ((S (i)) * pc) + (r))) /\ ((exists pfc_terms_code_division_match_table_coefficient pfc_terms_scale_division_match_table_coefficient pfc_natural_sum_division_match_table_coefficient. ((forall pfc_index_division_match_table_coefficientdiagonal. (exists pfa_gap_division_match_table_coefficientdiagonalbound. pfa_gap_division_match_table_coefficientdiagonalbound + S (pfc_index_division_match_table_coefficientdiagonal) = (S (i))) -> exists pfc_value_division_match_table_coefficientdiagonal. ((((exists ff_h_pfp_division_match_table_coefficientdiagonalentry. ff_h_pfp_division_match_table_coefficientdiagonalentry + S (pfc_value_division_match_table_coefficientdiagonal) = S ((S (pfc_index_division_match_table_coefficientdiagonal)) * pfc_terms_scale_division_match_table_coefficient)) /\ exists ff_q_pfp_division_match_table_coefficientdiagonalentry. pfc_terms_code_division_match_table_coefficient = ff_q_pfp_division_match_table_coefficientdiagonalentry * S ((S (pfc_index_division_match_table_coefficientdiagonal)) * pfc_terms_scale_division_match_table_coefficient) + (pfc_value_division_match_table_coefficientdiagonal))) /\ ((exists pfc_complement_division_match_table_coefficientdiagonalterm pfc_left_division_match_table_coefficientdiagonalterm pfc_right_division_match_table_coefficientdiagonalterm. (((pfc_index_division_match_table_coefficientdiagonal)+pfc_complement_division_match_table_coefficientdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_match_table_coefficientdiagonaltermleftinside. pfa_gap_division_match_table_coefficientdiagonaltermleftinside + S (pfc_index_division_match_table_coefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_match_table_coefficientdiagonaltermleftentry. ff_h_pfp_division_match_table_coefficientdiagonaltermleftentry + S (pfc_left_division_match_table_coefficientdiagonalterm) = S ((S (pfc_index_division_match_table_coefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_table_coefficientdiagonaltermleftentry. qb = ff_q_pfp_division_match_table_coefficientdiagonaltermleftentry * S ((S (pfc_index_division_match_table_coefficientdiagonal)) * qc) + (pfc_left_division_match_table_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_coefficientdiagonaltermleftoutside. pfc_gap_division_match_table_coefficientdiagonaltermleftoutside+(N)=(pfc_index_division_match_table_coefficientdiagonal)) /\ (((pfc_left_division_match_table_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_table_coefficientdiagonaltermrightinside. pfa_gap_division_match_table_coefficientdiagonaltermrightinside + S (pfc_complement_division_match_table_coefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_table_coefficientdiagonaltermrightentry. ff_h_pfp_division_match_table_coefficientdiagonaltermrightentry + S (pfc_right_division_match_table_coefficientdiagonalterm) = S ((S (pfc_complement_division_match_table_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_table_coefficientdiagonaltermrightentry. bb = ff_q_pfp_division_match_table_coefficientdiagonaltermrightentry * S ((S (pfc_complement_division_match_table_coefficientdiagonalterm)) * bc) + (pfc_right_division_match_table_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_coefficientdiagonaltermrightoutside. pfc_gap_division_match_table_coefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_table_coefficientdiagonalterm)) /\ (((pfc_right_division_match_table_coefficientdiagonalterm)=0))))) /\ (((pfc_value_division_match_table_coefficientdiagonal)=pfc_left_division_match_table_coefficientdiagonalterm*pfc_right_division_match_table_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_table_coefficientsum fs_v_pfc_division_match_table_coefficientsum. ((((exists fs_h_pfc_division_match_table_coefficientsum_body_start. fs_h_pfc_division_match_table_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_table_coefficientsum)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_start. fs_u_pfc_division_match_table_coefficientsum = fs_q_pfc_division_match_table_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_match_table_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_match_table_coefficientsum_body_terminal. fs_h_pfc_division_match_table_coefficientsum_body_terminal + S (pfc_natural_sum_division_match_table_coefficient) = S ((S (S (i))) * fs_v_pfc_division_match_table_coefficientsum)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_terminal. fs_u_pfc_division_match_table_coefficientsum = fs_q_pfc_division_match_table_coefficientsum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_match_table_coefficientsum) + (pfc_natural_sum_division_match_table_coefficient))) /\ forall fs_i_pfc_division_match_table_coefficientsum_body_steps. (exists fs_lt_pfc_division_match_table_coefficientsum_body_steps_bound. fs_lt_pfc_division_match_table_coefficientsum_body_steps_bound + S fs_i_pfc_division_match_table_coefficientsum_body_steps = S (i)) -> exists fs_a_pfc_division_match_table_coefficientsum_body_steps fs_r_pfc_division_match_table_coefficientsum_body_steps fs_s_pfc_division_match_table_coefficientsum_body_steps. ((((exists fs_h_pfc_division_match_table_coefficientsum_body_steps_summand. fs_h_pfc_division_match_table_coefficientsum_body_steps_summand + S (fs_a_pfc_division_match_table_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_table_coefficientsum_body_steps)) * pfc_terms_scale_division_match_table_coefficient)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_steps_summand. pfc_terms_code_division_match_table_coefficient = fs_q_pfc_division_match_table_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_match_table_coefficientsum_body_steps)) * pfc_terms_scale_division_match_table_coefficient) + (fs_a_pfc_division_match_table_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_coefficientsum_body_steps_partial. fs_h_pfc_division_match_table_coefficientsum_body_steps_partial + S (fs_r_pfc_division_match_table_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_table_coefficientsum_body_steps)) * fs_v_pfc_division_match_table_coefficientsum)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_steps_partial. fs_u_pfc_division_match_table_coefficientsum = fs_q_pfc_division_match_table_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_match_table_coefficientsum_body_steps)) * fs_v_pfc_division_match_table_coefficientsum) + (fs_r_pfc_division_match_table_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_coefficientsum_body_steps_successor. fs_h_pfc_division_match_table_coefficientsum_body_steps_successor + S (fs_s_pfc_division_match_table_coefficientsum_body_steps) = S ((S (S fs_i_pfc_division_match_table_coefficientsum_body_steps)) * fs_v_pfc_division_match_table_coefficientsum)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_steps_successor. fs_u_pfc_division_match_table_coefficientsum = fs_q_pfc_division_match_table_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_match_table_coefficientsum_body_steps)) * fs_v_pfc_division_match_table_coefficientsum) + (fs_s_pfc_division_match_table_coefficientsum_body_steps))) /\ fs_s_pfc_division_match_table_coefficientsum_body_steps = fs_r_pfc_division_match_table_coefficientsum_body_steps + fs_a_pfc_division_match_table_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_match_table_coefficientresiduebound. pfa_gap_division_match_table_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_division_match_table_coefficientresiduecongruence pfa_offset_right_division_match_table_coefficientresiduecongruence. (pfc_natural_sum_division_match_table_coefficient) + (p) * pfa_offset_left_division_match_table_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_division_match_table_coefficientresiduecongruence))))))))))) - 0026
specialize hproduct (i) - 0027
apply hproduct - 0028
specialize lt_of_lt_of_le (i) - 0029
specialize lt_of_lt_of_le (N) - 0030
specialize lt_of_lt_of_le (L) - 0031
apply lt_of_lt_of_le - 0032
exact hi - 0033
exact hlen - 0034
cases hv - 0035
cases hv_witness - 0036
have hinput : ((exists ff_h_pfp_division_match_table_input. ff_h_pfp_division_match_table_input + S (x) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_match_table_input. ab = ff_q_pfp_division_match_table_input * S ((S (i)) * ac) + (x)) - 0037
specialize prime_field_polynomial_quotient_prefix_convolution_entry (p) - 0038
specialize prime_field_polynomial_quotient_prefix_convolution_entry (k) - 0039
specialize prime_field_polynomial_quotient_prefix_convolution_entry (ab) - 0040
specialize prime_field_polynomial_quotient_prefix_convolution_entry (ac) - 0041
specialize prime_field_polynomial_quotient_prefix_convolution_entry (bb) - 0042
specialize prime_field_polynomial_quotient_prefix_convolution_entry (bc) - 0043
specialize prime_field_polynomial_quotient_prefix_convolution_entry (d) - 0044
specialize prime_field_polynomial_quotient_prefix_convolution_entry (qb) - 0045
specialize prime_field_polynomial_quotient_prefix_convolution_entry (qc) - 0046
specialize prime_field_polynomial_quotient_prefix_convolution_entry (N) - 0047
specialize prime_field_polynomial_quotient_prefix_convolution_entry (b) - 0048
specialize prime_field_polynomial_quotient_prefix_convolution_entry (i) - 0049
specialize prime_field_polynomial_quotient_prefix_convolution_entry (x) - 0050
apply prime_field_polynomial_quotient_prefix_convolution_entry - 0051
exact hp - 0052
exact hb - 0053
exact hk - 0054
exact hq - 0055
exact hi - 0056
exact hv_witness_right - 0057
have heq : x=a - 0058
specialize beta_at_unique (ab) - 0059
specialize beta_at_unique (ac) - 0060
specialize beta_at_unique (i) - 0061
specialize beta_at_unique (x) - 0062
specialize beta_at_unique (a) - 0063
apply beta_at_unique - 0064
exact hinput - 0065
exact ha - 0066
rewrite heq at hv_witness_left - 0067
rewrite heq at hv_witness_left - 0068
exact hv_witness_left