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 N M n. (((exists dst_positive_code_cancel_zero_tabletable dst_positive_scale_cancel_zero_tabletable dst_negative_code_cancel_zero_tabletable dst_negative_scale_cancel_zero_tabletable. (((M) = (((((dst_positive_code_cancel_zero_tabletable) + (dst_positive_scale_cancel_zero_tabletable)) * S ((dst_positive_code_cancel_zero_tabletable) + (dst_positive_scale_cancel_zero_tabletable)) + ((dst_positive_scale_cancel_zero_tabletable) + (dst_positive_scale_cancel_zero_tabletable))) + (((dst_negative_code_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)) * S ((dst_negative_code_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)) + ((dst_negative_scale_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)))) * S ((((dst_positive_code_cancel_zero_tabletable) + (dst_positive_scale_cancel_zero_tabletable)) * S ((dst_positive_code_cancel_zero_tabletable) + (dst_positive_scale_cancel_zero_tabletable)) + ((dst_positive_scale_cancel_zero_tabletable) + (dst_positive_scale_cancel_zero_tabletable))) + (((dst_negative_code_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)) * S ((dst_negative_code_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)) + ((dst_negative_scale_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)))) + ((((dst_negative_code_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)) * S ((dst_negative_code_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)) + ((dst_negative_scale_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable))) + (((dst_negative_code_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)) * S ((dst_negative_code_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)) + ((dst_negative_scale_cancel_zero_tabletable) + (dst_negative_scale_cancel_zero_tabletable)))))) /\ (forall dst_index_cancel_zero_tabletable. (exists pvs_le_gap_cancel_zero_tabletabledomain. pvs_le_gap_cancel_zero_tabletabledomain + (dst_index_cancel_zero_tabletable) = (N)) -> exists dst_positive_cancel_zero_tabletable dst_negative_cancel_zero_tabletable dst_value_cancel_zero_tabletable. ((((exists ff_h_pvs_cancel_zero_tabletableentrypositive. ff_h_pvs_cancel_zero_tabletableentrypositive + S (dst_positive_cancel_zero_tabletable) = S ((S (dst_index_cancel_zero_tabletable)) * dst_positive_scale_cancel_zero_tabletable)) /\ exists ff_q_pvs_cancel_zero_tabletableentrypositive. dst_positive_code_cancel_zero_tabletable = ff_q_pvs_cancel_zero_tabletableentrypositive * S ((S (dst_index_cancel_zero_tabletable)) * dst_positive_scale_cancel_zero_tabletable) + (dst_positive_cancel_zero_tabletable))) /\ (((((exists ff_h_pvs_cancel_zero_tabletableentrynegative. ff_h_pvs_cancel_zero_tabletableentrynegative + S (dst_negative_cancel_zero_tabletable) = S ((S (dst_index_cancel_zero_tabletable)) * dst_negative_scale_cancel_zero_tabletable)) /\ exists ff_q_pvs_cancel_zero_tabletableentrynegative. dst_negative_code_cancel_zero_tabletable = ff_q_pvs_cancel_zero_tabletableentrynegative * S ((S (dst_index_cancel_zero_tabletable)) * dst_negative_scale_cancel_zero_tabletable) + (dst_negative_cancel_zero_tabletable))) /\ (exists ge_balance_positive_cancel_zero_tabletableentryvalue ge_balance_negative_cancel_zero_tabletableentryvalue. (((((dst_value_cancel_zero_tabletable) = 2 * (ge_balance_positive_cancel_zero_tabletableentryvalue) /\ (ge_balance_negative_cancel_zero_tabletableentryvalue) = 0) \/ exists ge_signed_half_cancel_zero_tabletableentryvaluedecode. (((dst_value_cancel_zero_tabletable) = 2 * ge_signed_half_cancel_zero_tabletableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_zero_tabletableentryvalue) = 0) /\ (ge_balance_negative_cancel_zero_tabletableentryvalue) = S ge_signed_half_cancel_zero_tabletableentryvaluedecode))) /\ ((dst_positive_cancel_zero_tabletable) + ge_balance_negative_cancel_zero_tabletableentryvalue = (dst_negative_cancel_zero_tabletable) + ge_balance_positive_cancel_zero_tabletableentryvalue))))))))) /\ (((exists dst_positive_code_cancel_zero_tablezero dst_positive_scale_cancel_zero_tablezero dst_negative_code_cancel_zero_tablezero dst_negative_scale_cancel_zero_tablezero dst_positive_cancel_zero_tablezero dst_negative_cancel_zero_tablezero. (((M) = (((((dst_positive_code_cancel_zero_tablezero) + (dst_positive_scale_cancel_zero_tablezero)) * S ((dst_positive_code_cancel_zero_tablezero) + (dst_positive_scale_cancel_zero_tablezero)) + ((dst_positive_scale_cancel_zero_tablezero) + (dst_positive_scale_cancel_zero_tablezero))) + (((dst_negative_code_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)) * S ((dst_negative_code_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)) + ((dst_negative_scale_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)))) * S ((((dst_positive_code_cancel_zero_tablezero) + (dst_positive_scale_cancel_zero_tablezero)) * S ((dst_positive_code_cancel_zero_tablezero) + (dst_positive_scale_cancel_zero_tablezero)) + ((dst_positive_scale_cancel_zero_tablezero) + (dst_positive_scale_cancel_zero_tablezero))) + (((dst_negative_code_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)) * S ((dst_negative_code_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)) + ((dst_negative_scale_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)))) + ((((dst_negative_code_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)) * S ((dst_negative_code_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)) + ((dst_negative_scale_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero))) + (((dst_negative_code_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)) * S ((dst_negative_code_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)) + ((dst_negative_scale_cancel_zero_tablezero) + (dst_negative_scale_cancel_zero_tablezero)))))) /\ (((((exists ff_h_pvs_cancel_zero_tablezeropositive. ff_h_pvs_cancel_zero_tablezeropositive + S (dst_positive_cancel_zero_tablezero) = S ((S (0)) * dst_positive_scale_cancel_zero_tablezero)) /\ exists ff_q_pvs_cancel_zero_tablezeropositive. dst_positive_code_cancel_zero_tablezero = ff_q_pvs_cancel_zero_tablezeropositive * S ((S (0)) * dst_positive_scale_cancel_zero_tablezero) + (dst_positive_cancel_zero_tablezero))) /\ (((((exists ff_h_pvs_cancel_zero_tablezeronegative. ff_h_pvs_cancel_zero_tablezeronegative + S (dst_negative_cancel_zero_tablezero) = S ((S (0)) * dst_negative_scale_cancel_zero_tablezero)) /\ exists ff_q_pvs_cancel_zero_tablezeronegative. dst_negative_code_cancel_zero_tablezero = ff_q_pvs_cancel_zero_tablezeronegative * S ((S (0)) * dst_negative_scale_cancel_zero_tablezero) + (dst_negative_cancel_zero_tablezero))) /\ (exists ge_balance_positive_cancel_zero_tablezerovalue ge_balance_negative_cancel_zero_tablezerovalue. (((((0) = 2 * (ge_balance_positive_cancel_zero_tablezerovalue) /\ (ge_balance_negative_cancel_zero_tablezerovalue) = 0) \/ exists ge_signed_half_cancel_zero_tablezerovaluedecode. (((0) = 2 * ge_signed_half_cancel_zero_tablezerovaluedecode + 1 /\ (ge_balance_positive_cancel_zero_tablezerovalue) = 0) /\ (ge_balance_negative_cancel_zero_tablezerovalue) = S ge_signed_half_cancel_zero_tablezerovaluedecode))) /\ ((dst_positive_cancel_zero_tablezero) + ge_balance_negative_cancel_zero_tablezerovalue = (dst_negative_cancel_zero_tablezero) + ge_balance_positive_cancel_zero_tablezerovalue))))))))) /\ (forall mt_index_cancel_zero_table mt_value_cancel_zero_table. ~(mt_index_cancel_zero_table=0) -> (exists pvs_le_gap_cancel_zero_tabledomain. pvs_le_gap_cancel_zero_tabledomain + (mt_index_cancel_zero_table) = (N)) -> (exists dst_positive_code_cancel_zero_tableentry dst_positive_scale_cancel_zero_tableentry dst_negative_code_cancel_zero_tableentry dst_negative_scale_cancel_zero_tableentry dst_positive_cancel_zero_tableentry dst_negative_cancel_zero_tableentry. (((M) = (((((dst_positive_code_cancel_zero_tableentry) + (dst_positive_scale_cancel_zero_tableentry)) * S ((dst_positive_code_cancel_zero_tableentry) + (dst_positive_scale_cancel_zero_tableentry)) + ((dst_positive_scale_cancel_zero_tableentry) + (dst_positive_scale_cancel_zero_tableentry))) + (((dst_negative_code_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)) * S ((dst_negative_code_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)) + ((dst_negative_scale_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)))) * S ((((dst_positive_code_cancel_zero_tableentry) + (dst_positive_scale_cancel_zero_tableentry)) * S ((dst_positive_code_cancel_zero_tableentry) + (dst_positive_scale_cancel_zero_tableentry)) + ((dst_positive_scale_cancel_zero_tableentry) + (dst_positive_scale_cancel_zero_tableentry))) + (((dst_negative_code_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)) * S ((dst_negative_code_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)) + ((dst_negative_scale_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)))) + ((((dst_negative_code_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)) * S ((dst_negative_code_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)) + ((dst_negative_scale_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry))) + (((dst_negative_code_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)) * S ((dst_negative_code_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)) + ((dst_negative_scale_cancel_zero_tableentry) + (dst_negative_scale_cancel_zero_tableentry)))))) /\ (((((exists ff_h_pvs_cancel_zero_tableentrypositive. ff_h_pvs_cancel_zero_tableentrypositive + S (dst_positive_cancel_zero_tableentry) = S ((S (mt_index_cancel_zero_table)) * dst_positive_scale_cancel_zero_tableentry)) /\ exists ff_q_pvs_cancel_zero_tableentrypositive. dst_positive_code_cancel_zero_tableentry = ff_q_pvs_cancel_zero_tableentrypositive * S ((S (mt_index_cancel_zero_table)) * dst_positive_scale_cancel_zero_tableentry) + (dst_positive_cancel_zero_tableentry))) /\ (((((exists ff_h_pvs_cancel_zero_tableentrynegative. ff_h_pvs_cancel_zero_tableentrynegative + S (dst_negative_cancel_zero_tableentry) = S ((S (mt_index_cancel_zero_table)) * dst_negative_scale_cancel_zero_tableentry)) /\ exists ff_q_pvs_cancel_zero_tableentrynegative. dst_negative_code_cancel_zero_tableentry = ff_q_pvs_cancel_zero_tableentrynegative * S ((S (mt_index_cancel_zero_table)) * dst_negative_scale_cancel_zero_tableentry) + (dst_negative_cancel_zero_tableentry))) /\ (exists ge_balance_positive_cancel_zero_tableentryvalue ge_balance_negative_cancel_zero_tableentryvalue. (((((mt_value_cancel_zero_table) = 2 * (ge_balance_positive_cancel_zero_tableentryvalue) /\ (ge_balance_negative_cancel_zero_tableentryvalue) = 0) \/ exists ge_signed_half_cancel_zero_tableentryvaluedecode. (((mt_value_cancel_zero_table) = 2 * ge_signed_half_cancel_zero_tableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_zero_tableentryvalue) = 0) /\ (ge_balance_negative_cancel_zero_tableentryvalue) = S ge_signed_half_cancel_zero_tableentryvaluedecode))) /\ ((dst_positive_cancel_zero_tableentry) + ge_balance_negative_cancel_zero_tableentryvalue = (dst_negative_cancel_zero_tableentry) + ge_balance_positive_cancel_zero_tableentryvalue))))))))) -> (((~((mt_index_cancel_zero_table) = 0)) /\ ((((exists mv_square_prime_cancel_zero_tablevaluesquare. ((~((mv_square_prime_cancel_zero_tablevaluesquare) = 1) /\ forall pvs_left_cancel_zero_tablevaluesquareprime pvs_right_cancel_zero_tablevaluesquareprime. (mv_square_prime_cancel_zero_tablevaluesquare) = pvs_left_cancel_zero_tablevaluesquareprime * pvs_right_cancel_zero_tablevaluesquareprime -> pvs_left_cancel_zero_tablevaluesquareprime = 1 \/ pvs_right_cancel_zero_tablevaluesquareprime = 1) /\ (exists pvs_factor_cancel_zero_tablevaluesquaredivisor. (mt_index_cancel_zero_table) = (mv_square_prime_cancel_zero_tablevaluesquare * mv_square_prime_cancel_zero_tablevaluesquare) * pvs_factor_cancel_zero_tablevaluesquaredivisor))) /\ ((mt_value_cancel_zero_table) = 0))) \/ (((((~((mt_index_cancel_zero_table) = 0)) /\ (forall sfd_prime_cancel_zero_tablevaluesquarefree. (~((sfd_prime_cancel_zero_tablevaluesquarefree) = 1) /\ forall pvs_left_cancel_zero_tablevaluesquarefreedomain pvs_right_cancel_zero_tablevaluesquarefreedomain. (sfd_prime_cancel_zero_tablevaluesquarefree) = pvs_left_cancel_zero_tablevaluesquarefreedomain * pvs_right_cancel_zero_tablevaluesquarefreedomain -> pvs_left_cancel_zero_tablevaluesquarefreedomain = 1 \/ pvs_right_cancel_zero_tablevaluesquarefreedomain = 1) -> (exists pvs_le_gap_cancel_zero_tablevaluesquarefreebound. pvs_le_gap_cancel_zero_tablevaluesquarefreebound + (sfd_prime_cancel_zero_tablevaluesquarefree) = (mt_index_cancel_zero_table)) -> ~(exists pvs_factor_cancel_zero_tablevaluesquarefreesquare. (mt_index_cancel_zero_table) = (sfd_prime_cancel_zero_tablevaluesquarefree * sfd_prime_cancel_zero_tablevaluesquarefree) * pvs_factor_cancel_zero_tablevaluesquarefreesquare)))) /\ (exists mv_factor_code_cancel_zero_tablevaluefactors mv_factor_scale_cancel_zero_tablevaluefactors mv_factor_count_cancel_zero_tablevaluefactors. (((~(mt_index_cancel_zero_table = 0) /\ ((exists ff_u_fsat_cancel_zero_tablevaluefactorsfactorization_product ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product. ((((exists ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_start. ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_start. ff_u_fsat_cancel_zero_tablevaluefactorsfactorization_product = ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_terminal. ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_terminal + S (mt_index_cancel_zero_table) = S ((S (mv_factor_count_cancel_zero_tablevaluefactors)) * ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_terminal. ff_u_fsat_cancel_zero_tablevaluefactorsfactorization_product = ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_terminal * S ((S (mv_factor_count_cancel_zero_tablevaluefactors)) * ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product) + (mt_index_cancel_zero_table))) /\ forall ff_i_fsat_cancel_zero_tablevaluefactorsfactorization_product. (exists ff_lt_fsat_cancel_zero_tablevaluefactorsfactorization_product_bound. ff_lt_fsat_cancel_zero_tablevaluefactorsfactorization_product_bound + S ff_i_fsat_cancel_zero_tablevaluefactorsfactorization_product = mv_factor_count_cancel_zero_tablevaluefactors) -> exists ff_p_fsat_cancel_zero_tablevaluefactorsfactorization_product ff_r_fsat_cancel_zero_tablevaluefactorsfactorization_product ff_s_fsat_cancel_zero_tablevaluefactorsfactorization_product. ((((exists ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_factor. ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_factor + S (ff_p_fsat_cancel_zero_tablevaluefactorsfactorization_product) = S ((S (ff_i_fsat_cancel_zero_tablevaluefactorsfactorization_product)) * mv_factor_scale_cancel_zero_tablevaluefactors)) /\ exists ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_factor. mv_factor_code_cancel_zero_tablevaluefactors = ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_factor * S ((S (ff_i_fsat_cancel_zero_tablevaluefactorsfactorization_product)) * mv_factor_scale_cancel_zero_tablevaluefactors) + (ff_p_fsat_cancel_zero_tablevaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_partial. ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_partial + S (ff_r_fsat_cancel_zero_tablevaluefactorsfactorization_product) = S ((S (ff_i_fsat_cancel_zero_tablevaluefactorsfactorization_product)) * ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_partial. ff_u_fsat_cancel_zero_tablevaluefactorsfactorization_product = ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_partial * S ((S (ff_i_fsat_cancel_zero_tablevaluefactorsfactorization_product)) * ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product) + (ff_r_fsat_cancel_zero_tablevaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_successor. ff_h_fsat_cancel_zero_tablevaluefactorsfactorization_product_successor + S (ff_s_fsat_cancel_zero_tablevaluefactorsfactorization_product) = S ((S (S ff_i_fsat_cancel_zero_tablevaluefactorsfactorization_product)) * ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_successor. ff_u_fsat_cancel_zero_tablevaluefactorsfactorization_product = ff_q_fsat_cancel_zero_tablevaluefactorsfactorization_product_successor * S ((S (S ff_i_fsat_cancel_zero_tablevaluefactorsfactorization_product)) * ff_v_fsat_cancel_zero_tablevaluefactorsfactorization_product) + (ff_s_fsat_cancel_zero_tablevaluefactorsfactorization_product))) /\ ff_s_fsat_cancel_zero_tablevaluefactorsfactorization_product = ff_r_fsat_cancel_zero_tablevaluefactorsfactorization_product * ff_p_fsat_cancel_zero_tablevaluefactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_cancel_zero_tablevaluefactorsfactorization_primes. (exists ftsf_gap_fsat_cancel_zero_tablevaluefactorsfactorization_primes_bound. ftsf_gap_fsat_cancel_zero_tablevaluefactorsfactorization_primes_bound + S ftsf_index_fsat_cancel_zero_tablevaluefactorsfactorization_primes = (mv_factor_count_cancel_zero_tablevaluefactors)) -> exists ftsf_factor_fsat_cancel_zero_tablevaluefactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_entry. ff_h_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_entry + S (ftsf_factor_fsat_cancel_zero_tablevaluefactorsfactorization_primes) = S ((S (ftsf_index_fsat_cancel_zero_tablevaluefactorsfactorization_primes)) * mv_factor_scale_cancel_zero_tablevaluefactors)) /\ exists ff_q_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_entry. mv_factor_code_cancel_zero_tablevaluefactors = ff_q_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_cancel_zero_tablevaluefactorsfactorization_primes)) * mv_factor_scale_cancel_zero_tablevaluefactors) + (ftsf_factor_fsat_cancel_zero_tablevaluefactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_cancel_zero_tablevaluefactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_prime. ftsf_factor_fsat_cancel_zero_tablevaluefactorsfactorization_primes = frm_prime_left_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_cancel_zero_tablevaluefactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_cancel_zero_tablevaluefactorsparityeven. (mv_factor_count_cancel_zero_tablevaluefactors) = 2 * mv_even_half_cancel_zero_tablevaluefactorsparityeven) /\ ((mt_value_cancel_zero_table) = 2))) \/ (((exists mv_odd_half_cancel_zero_tablevaluefactorsparityodd. (mv_factor_count_cancel_zero_tablevaluefactors) = 2 * mv_odd_half_cancel_zero_tablevaluefactorsparityodd + 1) /\ ((mt_value_cancel_zero_table) = 1)))))))))))))))) -> ~(n=0) -> ~(n=1) -> (exists pvs_le_gap_cancel_zero_bound. pvs_le_gap_cancel_zero_bound + (n) = (N)) -> (((~((n)=0)) /\ (exists dm_mask_table_cancel_zero_result. ((((exists dst_positive_code_cancel_zero_resultmasktable dst_positive_scale_cancel_zero_resultmasktable dst_negative_code_cancel_zero_resultmasktable dst_negative_scale_cancel_zero_resultmasktable. (((dm_mask_table_cancel_zero_result) = (((((dst_positive_code_cancel_zero_resultmasktable) + (dst_positive_scale_cancel_zero_resultmasktable)) * S ((dst_positive_code_cancel_zero_resultmasktable) + (dst_positive_scale_cancel_zero_resultmasktable)) + ((dst_positive_scale_cancel_zero_resultmasktable) + (dst_positive_scale_cancel_zero_resultmasktable))) + (((dst_negative_code_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)) * S ((dst_negative_code_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)) + ((dst_negative_scale_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)))) * S ((((dst_positive_code_cancel_zero_resultmasktable) + (dst_positive_scale_cancel_zero_resultmasktable)) * S ((dst_positive_code_cancel_zero_resultmasktable) + (dst_positive_scale_cancel_zero_resultmasktable)) + ((dst_positive_scale_cancel_zero_resultmasktable) + (dst_positive_scale_cancel_zero_resultmasktable))) + (((dst_negative_code_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)) * S ((dst_negative_code_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)) + ((dst_negative_scale_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)))) + ((((dst_negative_code_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)) * S ((dst_negative_code_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)) + ((dst_negative_scale_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable))) + (((dst_negative_code_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)) * S ((dst_negative_code_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)) + ((dst_negative_scale_cancel_zero_resultmasktable) + (dst_negative_scale_cancel_zero_resultmasktable)))))) /\ (forall dst_index_cancel_zero_resultmasktable. (exists pvs_le_gap_cancel_zero_resultmasktabledomain. pvs_le_gap_cancel_zero_resultmasktabledomain + (dst_index_cancel_zero_resultmasktable) = (n)) -> exists dst_positive_cancel_zero_resultmasktable dst_negative_cancel_zero_resultmasktable dst_value_cancel_zero_resultmasktable. ((((exists ff_h_pvs_cancel_zero_resultmasktableentrypositive. ff_h_pvs_cancel_zero_resultmasktableentrypositive + S (dst_positive_cancel_zero_resultmasktable) = S ((S (dst_index_cancel_zero_resultmasktable)) * dst_positive_scale_cancel_zero_resultmasktable)) /\ exists ff_q_pvs_cancel_zero_resultmasktableentrypositive. dst_positive_code_cancel_zero_resultmasktable = ff_q_pvs_cancel_zero_resultmasktableentrypositive * S ((S (dst_index_cancel_zero_resultmasktable)) * dst_positive_scale_cancel_zero_resultmasktable) + (dst_positive_cancel_zero_resultmasktable))) /\ (((((exists ff_h_pvs_cancel_zero_resultmasktableentrynegative. ff_h_pvs_cancel_zero_resultmasktableentrynegative + S (dst_negative_cancel_zero_resultmasktable) = S ((S (dst_index_cancel_zero_resultmasktable)) * dst_negative_scale_cancel_zero_resultmasktable)) /\ exists ff_q_pvs_cancel_zero_resultmasktableentrynegative. dst_negative_code_cancel_zero_resultmasktable = ff_q_pvs_cancel_zero_resultmasktableentrynegative * S ((S (dst_index_cancel_zero_resultmasktable)) * dst_negative_scale_cancel_zero_resultmasktable) + (dst_negative_cancel_zero_resultmasktable))) /\ (exists ge_balance_positive_cancel_zero_resultmasktableentryvalue ge_balance_negative_cancel_zero_resultmasktableentryvalue. (((((dst_value_cancel_zero_resultmasktable) = 2 * (ge_balance_positive_cancel_zero_resultmasktableentryvalue) /\ (ge_balance_negative_cancel_zero_resultmasktableentryvalue) = 0) \/ exists ge_signed_half_cancel_zero_resultmasktableentryvaluedecode. (((dst_value_cancel_zero_resultmasktable) = 2 * ge_signed_half_cancel_zero_resultmasktableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_zero_resultmasktableentryvalue) = 0) /\ (ge_balance_negative_cancel_zero_resultmasktableentryvalue) = S ge_signed_half_cancel_zero_resultmasktableentryvaluedecode))) /\ ((dst_positive_cancel_zero_resultmasktable) + ge_balance_negative_cancel_zero_resultmasktableentryvalue = (dst_negative_cancel_zero_resultmasktable) + ge_balance_positive_cancel_zero_resultmasktableentryvalue))))))))) /\ (forall dm_index_cancel_zero_resultmask dm_value_cancel_zero_resultmask. (exists pvs_le_gap_cancel_zero_resultmaskdomain. pvs_le_gap_cancel_zero_resultmaskdomain + (dm_index_cancel_zero_resultmask) = (n)) -> (exists dst_positive_code_cancel_zero_resultmasklookup dst_positive_scale_cancel_zero_resultmasklookup dst_negative_code_cancel_zero_resultmasklookup dst_negative_scale_cancel_zero_resultmasklookup dst_positive_cancel_zero_resultmasklookup dst_negative_cancel_zero_resultmasklookup. (((dm_mask_table_cancel_zero_result) = (((((dst_positive_code_cancel_zero_resultmasklookup) + (dst_positive_scale_cancel_zero_resultmasklookup)) * S ((dst_positive_code_cancel_zero_resultmasklookup) + (dst_positive_scale_cancel_zero_resultmasklookup)) + ((dst_positive_scale_cancel_zero_resultmasklookup) + (dst_positive_scale_cancel_zero_resultmasklookup))) + (((dst_negative_code_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)) * S ((dst_negative_code_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)) + ((dst_negative_scale_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)))) * S ((((dst_positive_code_cancel_zero_resultmasklookup) + (dst_positive_scale_cancel_zero_resultmasklookup)) * S ((dst_positive_code_cancel_zero_resultmasklookup) + (dst_positive_scale_cancel_zero_resultmasklookup)) + ((dst_positive_scale_cancel_zero_resultmasklookup) + (dst_positive_scale_cancel_zero_resultmasklookup))) + (((dst_negative_code_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)) * S ((dst_negative_code_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)) + ((dst_negative_scale_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)))) + ((((dst_negative_code_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)) * S ((dst_negative_code_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)) + ((dst_negative_scale_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup))) + (((dst_negative_code_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)) * S ((dst_negative_code_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)) + ((dst_negative_scale_cancel_zero_resultmasklookup) + (dst_negative_scale_cancel_zero_resultmasklookup)))))) /\ (((((exists ff_h_pvs_cancel_zero_resultmasklookuppositive. ff_h_pvs_cancel_zero_resultmasklookuppositive + S (dst_positive_cancel_zero_resultmasklookup) = S ((S (dm_index_cancel_zero_resultmask)) * dst_positive_scale_cancel_zero_resultmasklookup)) /\ exists ff_q_pvs_cancel_zero_resultmasklookuppositive. dst_positive_code_cancel_zero_resultmasklookup = ff_q_pvs_cancel_zero_resultmasklookuppositive * S ((S (dm_index_cancel_zero_resultmask)) * dst_positive_scale_cancel_zero_resultmasklookup) + (dst_positive_cancel_zero_resultmasklookup))) /\ (((((exists ff_h_pvs_cancel_zero_resultmasklookupnegative. ff_h_pvs_cancel_zero_resultmasklookupnegative + S (dst_negative_cancel_zero_resultmasklookup) = S ((S (dm_index_cancel_zero_resultmask)) * dst_negative_scale_cancel_zero_resultmasklookup)) /\ exists ff_q_pvs_cancel_zero_resultmasklookupnegative. dst_negative_code_cancel_zero_resultmasklookup = ff_q_pvs_cancel_zero_resultmasklookupnegative * S ((S (dm_index_cancel_zero_resultmask)) * dst_negative_scale_cancel_zero_resultmasklookup) + (dst_negative_cancel_zero_resultmasklookup))) /\ (exists ge_balance_positive_cancel_zero_resultmasklookupvalue ge_balance_negative_cancel_zero_resultmasklookupvalue. (((((dm_value_cancel_zero_resultmask) = 2 * (ge_balance_positive_cancel_zero_resultmasklookupvalue) /\ (ge_balance_negative_cancel_zero_resultmasklookupvalue) = 0) \/ exists ge_signed_half_cancel_zero_resultmasklookupvaluedecode. (((dm_value_cancel_zero_resultmask) = 2 * ge_signed_half_cancel_zero_resultmasklookupvaluedecode + 1 /\ (ge_balance_positive_cancel_zero_resultmasklookupvalue) = 0) /\ (ge_balance_negative_cancel_zero_resultmasklookupvalue) = S ge_signed_half_cancel_zero_resultmasklookupvaluedecode))) /\ ((dst_positive_cancel_zero_resultmasklookup) + ge_balance_negative_cancel_zero_resultmasklookupvalue = (dst_negative_cancel_zero_resultmasklookup) + ge_balance_positive_cancel_zero_resultmasklookupvalue))))))))) -> ((((~((dm_index_cancel_zero_resultmask)=0)) /\ (exists dm_quotient_cancel_zero_resultmaskentry. (((n)=(dm_index_cancel_zero_resultmask)*dm_quotient_cancel_zero_resultmaskentry) /\ (exists dst_positive_code_cancel_zero_resultmaskentryinput dst_positive_scale_cancel_zero_resultmaskentryinput dst_negative_code_cancel_zero_resultmaskentryinput dst_negative_scale_cancel_zero_resultmaskentryinput dst_positive_cancel_zero_resultmaskentryinput dst_negative_cancel_zero_resultmaskentryinput. (((M) = (((((dst_positive_code_cancel_zero_resultmaskentryinput) + (dst_positive_scale_cancel_zero_resultmaskentryinput)) * S ((dst_positive_code_cancel_zero_resultmaskentryinput) + (dst_positive_scale_cancel_zero_resultmaskentryinput)) + ((dst_positive_scale_cancel_zero_resultmaskentryinput) + (dst_positive_scale_cancel_zero_resultmaskentryinput))) + (((dst_negative_code_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)) * S ((dst_negative_code_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)) + ((dst_negative_scale_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)))) * S ((((dst_positive_code_cancel_zero_resultmaskentryinput) + (dst_positive_scale_cancel_zero_resultmaskentryinput)) * S ((dst_positive_code_cancel_zero_resultmaskentryinput) + (dst_positive_scale_cancel_zero_resultmaskentryinput)) + ((dst_positive_scale_cancel_zero_resultmaskentryinput) + (dst_positive_scale_cancel_zero_resultmaskentryinput))) + (((dst_negative_code_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)) * S ((dst_negative_code_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)) + ((dst_negative_scale_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)))) + ((((dst_negative_code_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)) * S ((dst_negative_code_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)) + ((dst_negative_scale_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput))) + (((dst_negative_code_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)) * S ((dst_negative_code_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)) + ((dst_negative_scale_cancel_zero_resultmaskentryinput) + (dst_negative_scale_cancel_zero_resultmaskentryinput)))))) /\ (((((exists ff_h_pvs_cancel_zero_resultmaskentryinputpositive. ff_h_pvs_cancel_zero_resultmaskentryinputpositive + S (dst_positive_cancel_zero_resultmaskentryinput) = S ((S (dm_index_cancel_zero_resultmask)) * dst_positive_scale_cancel_zero_resultmaskentryinput)) /\ exists ff_q_pvs_cancel_zero_resultmaskentryinputpositive. dst_positive_code_cancel_zero_resultmaskentryinput = ff_q_pvs_cancel_zero_resultmaskentryinputpositive * S ((S (dm_index_cancel_zero_resultmask)) * dst_positive_scale_cancel_zero_resultmaskentryinput) + (dst_positive_cancel_zero_resultmaskentryinput))) /\ (((((exists ff_h_pvs_cancel_zero_resultmaskentryinputnegative. ff_h_pvs_cancel_zero_resultmaskentryinputnegative + S (dst_negative_cancel_zero_resultmaskentryinput) = S ((S (dm_index_cancel_zero_resultmask)) * dst_negative_scale_cancel_zero_resultmaskentryinput)) /\ exists ff_q_pvs_cancel_zero_resultmaskentryinputnegative. dst_negative_code_cancel_zero_resultmaskentryinput = ff_q_pvs_cancel_zero_resultmaskentryinputnegative * S ((S (dm_index_cancel_zero_resultmask)) * dst_negative_scale_cancel_zero_resultmaskentryinput) + (dst_negative_cancel_zero_resultmaskentryinput))) /\ (exists ge_balance_positive_cancel_zero_resultmaskentryinputvalue ge_balance_negative_cancel_zero_resultmaskentryinputvalue. (((((dm_value_cancel_zero_resultmask) = 2 * (ge_balance_positive_cancel_zero_resultmaskentryinputvalue) /\ (ge_balance_negative_cancel_zero_resultmaskentryinputvalue) = 0) \/ exists ge_signed_half_cancel_zero_resultmaskentryinputvaluedecode. (((dm_value_cancel_zero_resultmask) = 2 * ge_signed_half_cancel_zero_resultmaskentryinputvaluedecode + 1 /\ (ge_balance_positive_cancel_zero_resultmaskentryinputvalue) = 0) /\ (ge_balance_negative_cancel_zero_resultmaskentryinputvalue) = S ge_signed_half_cancel_zero_resultmaskentryinputvaluedecode))) /\ ((dst_positive_cancel_zero_resultmaskentryinput) + ge_balance_negative_cancel_zero_resultmaskentryinputvalue = (dst_negative_cancel_zero_resultmaskentryinput) + ge_balance_positive_cancel_zero_resultmaskentryinputvalue))))))))))))) \/ ((((dm_index_cancel_zero_resultmask)=0 \/ ~(exists pvs_factor_cancel_zero_resultmaskentrynondivisor. (n) = (dm_index_cancel_zero_resultmask) * pvs_factor_cancel_zero_resultmaskentrynondivisor)) /\ ((dm_value_cancel_zero_resultmask)=0))))))) /\ (exists dst_positive_code_cancel_zero_resultfold dst_positive_scale_cancel_zero_resultfold dst_negative_code_cancel_zero_resultfold dst_negative_scale_cancel_zero_resultfold dst_positive_sum_cancel_zero_resultfold dst_negative_sum_cancel_zero_resultfold. (((dm_mask_table_cancel_zero_result) = (((((dst_positive_code_cancel_zero_resultfold) + (dst_positive_scale_cancel_zero_resultfold)) * S ((dst_positive_code_cancel_zero_resultfold) + (dst_positive_scale_cancel_zero_resultfold)) + ((dst_positive_scale_cancel_zero_resultfold) + (dst_positive_scale_cancel_zero_resultfold))) + (((dst_negative_code_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)) * S ((dst_negative_code_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)) + ((dst_negative_scale_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)))) * S ((((dst_positive_code_cancel_zero_resultfold) + (dst_positive_scale_cancel_zero_resultfold)) * S ((dst_positive_code_cancel_zero_resultfold) + (dst_positive_scale_cancel_zero_resultfold)) + ((dst_positive_scale_cancel_zero_resultfold) + (dst_positive_scale_cancel_zero_resultfold))) + (((dst_negative_code_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)) * S ((dst_negative_code_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)) + ((dst_negative_scale_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)))) + ((((dst_negative_code_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)) * S ((dst_negative_code_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)) + ((dst_negative_scale_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold))) + (((dst_negative_code_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)) * S ((dst_negative_code_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)) + ((dst_negative_scale_cancel_zero_resultfold) + (dst_negative_scale_cancel_zero_resultfold)))))) /\ (((exists fs_u_dst_cancel_zero_resultfoldpositive fs_v_dst_cancel_zero_resultfoldpositive. ((((exists fs_h_dst_cancel_zero_resultfoldpositive_body_start. fs_h_dst_cancel_zero_resultfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_zero_resultfoldpositive)) /\ exists fs_q_dst_cancel_zero_resultfoldpositive_body_start. fs_u_dst_cancel_zero_resultfoldpositive = fs_q_dst_cancel_zero_resultfoldpositive_body_start * S ((S (0)) * fs_v_dst_cancel_zero_resultfoldpositive) + (0))) /\ ((((exists fs_h_dst_cancel_zero_resultfoldpositive_body_terminal. fs_h_dst_cancel_zero_resultfoldpositive_body_terminal + S (dst_positive_sum_cancel_zero_resultfold) = S ((S (S (n))) * fs_v_dst_cancel_zero_resultfoldpositive)) /\ exists fs_q_dst_cancel_zero_resultfoldpositive_body_terminal. fs_u_dst_cancel_zero_resultfoldpositive = fs_q_dst_cancel_zero_resultfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_cancel_zero_resultfoldpositive) + (dst_positive_sum_cancel_zero_resultfold))) /\ forall fs_i_dst_cancel_zero_resultfoldpositive_body_steps. (exists fs_lt_dst_cancel_zero_resultfoldpositive_body_steps_bound. fs_lt_dst_cancel_zero_resultfoldpositive_body_steps_bound + S fs_i_dst_cancel_zero_resultfoldpositive_body_steps = S (n)) -> exists fs_a_dst_cancel_zero_resultfoldpositive_body_steps fs_r_dst_cancel_zero_resultfoldpositive_body_steps fs_s_dst_cancel_zero_resultfoldpositive_body_steps. ((((exists fs_h_dst_cancel_zero_resultfoldpositive_body_steps_summand. fs_h_dst_cancel_zero_resultfoldpositive_body_steps_summand + S (fs_a_dst_cancel_zero_resultfoldpositive_body_steps) = S ((S (fs_i_dst_cancel_zero_resultfoldpositive_body_steps)) * dst_positive_scale_cancel_zero_resultfold)) /\ exists fs_q_dst_cancel_zero_resultfoldpositive_body_steps_summand. dst_positive_code_cancel_zero_resultfold = fs_q_dst_cancel_zero_resultfoldpositive_body_steps_summand * S ((S (fs_i_dst_cancel_zero_resultfoldpositive_body_steps)) * dst_positive_scale_cancel_zero_resultfold) + (fs_a_dst_cancel_zero_resultfoldpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_zero_resultfoldpositive_body_steps_partial. fs_h_dst_cancel_zero_resultfoldpositive_body_steps_partial + S (fs_r_dst_cancel_zero_resultfoldpositive_body_steps) = S ((S (fs_i_dst_cancel_zero_resultfoldpositive_body_steps)) * fs_v_dst_cancel_zero_resultfoldpositive)) /\ exists fs_q_dst_cancel_zero_resultfoldpositive_body_steps_partial. fs_u_dst_cancel_zero_resultfoldpositive = fs_q_dst_cancel_zero_resultfoldpositive_body_steps_partial * S ((S (fs_i_dst_cancel_zero_resultfoldpositive_body_steps)) * fs_v_dst_cancel_zero_resultfoldpositive) + (fs_r_dst_cancel_zero_resultfoldpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_zero_resultfoldpositive_body_steps_successor. fs_h_dst_cancel_zero_resultfoldpositive_body_steps_successor + S (fs_s_dst_cancel_zero_resultfoldpositive_body_steps) = S ((S (S fs_i_dst_cancel_zero_resultfoldpositive_body_steps)) * fs_v_dst_cancel_zero_resultfoldpositive)) /\ exists fs_q_dst_cancel_zero_resultfoldpositive_body_steps_successor. fs_u_dst_cancel_zero_resultfoldpositive = fs_q_dst_cancel_zero_resultfoldpositive_body_steps_successor * S ((S (S fs_i_dst_cancel_zero_resultfoldpositive_body_steps)) * fs_v_dst_cancel_zero_resultfoldpositive) + (fs_s_dst_cancel_zero_resultfoldpositive_body_steps))) /\ fs_s_dst_cancel_zero_resultfoldpositive_body_steps = fs_r_dst_cancel_zero_resultfoldpositive_body_steps + fs_a_dst_cancel_zero_resultfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_cancel_zero_resultfoldnegative fs_v_dst_cancel_zero_resultfoldnegative. ((((exists fs_h_dst_cancel_zero_resultfoldnegative_body_start. fs_h_dst_cancel_zero_resultfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_zero_resultfoldnegative)) /\ exists fs_q_dst_cancel_zero_resultfoldnegative_body_start. fs_u_dst_cancel_zero_resultfoldnegative = fs_q_dst_cancel_zero_resultfoldnegative_body_start * S ((S (0)) * fs_v_dst_cancel_zero_resultfoldnegative) + (0))) /\ ((((exists fs_h_dst_cancel_zero_resultfoldnegative_body_terminal. fs_h_dst_cancel_zero_resultfoldnegative_body_terminal + S (dst_negative_sum_cancel_zero_resultfold) = S ((S (S (n))) * fs_v_dst_cancel_zero_resultfoldnegative)) /\ exists fs_q_dst_cancel_zero_resultfoldnegative_body_terminal. fs_u_dst_cancel_zero_resultfoldnegative = fs_q_dst_cancel_zero_resultfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_cancel_zero_resultfoldnegative) + (dst_negative_sum_cancel_zero_resultfold))) /\ forall fs_i_dst_cancel_zero_resultfoldnegative_body_steps. (exists fs_lt_dst_cancel_zero_resultfoldnegative_body_steps_bound. fs_lt_dst_cancel_zero_resultfoldnegative_body_steps_bound + S fs_i_dst_cancel_zero_resultfoldnegative_body_steps = S (n)) -> exists fs_a_dst_cancel_zero_resultfoldnegative_body_steps fs_r_dst_cancel_zero_resultfoldnegative_body_steps fs_s_dst_cancel_zero_resultfoldnegative_body_steps. ((((exists fs_h_dst_cancel_zero_resultfoldnegative_body_steps_summand. fs_h_dst_cancel_zero_resultfoldnegative_body_steps_summand + S (fs_a_dst_cancel_zero_resultfoldnegative_body_steps) = S ((S (fs_i_dst_cancel_zero_resultfoldnegative_body_steps)) * dst_negative_scale_cancel_zero_resultfold)) /\ exists fs_q_dst_cancel_zero_resultfoldnegative_body_steps_summand. dst_negative_code_cancel_zero_resultfold = fs_q_dst_cancel_zero_resultfoldnegative_body_steps_summand * S ((S (fs_i_dst_cancel_zero_resultfoldnegative_body_steps)) * dst_negative_scale_cancel_zero_resultfold) + (fs_a_dst_cancel_zero_resultfoldnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_zero_resultfoldnegative_body_steps_partial. fs_h_dst_cancel_zero_resultfoldnegative_body_steps_partial + S (fs_r_dst_cancel_zero_resultfoldnegative_body_steps) = S ((S (fs_i_dst_cancel_zero_resultfoldnegative_body_steps)) * fs_v_dst_cancel_zero_resultfoldnegative)) /\ exists fs_q_dst_cancel_zero_resultfoldnegative_body_steps_partial. fs_u_dst_cancel_zero_resultfoldnegative = fs_q_dst_cancel_zero_resultfoldnegative_body_steps_partial * S ((S (fs_i_dst_cancel_zero_resultfoldnegative_body_steps)) * fs_v_dst_cancel_zero_resultfoldnegative) + (fs_r_dst_cancel_zero_resultfoldnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_zero_resultfoldnegative_body_steps_successor. fs_h_dst_cancel_zero_resultfoldnegative_body_steps_successor + S (fs_s_dst_cancel_zero_resultfoldnegative_body_steps) = S ((S (S fs_i_dst_cancel_zero_resultfoldnegative_body_steps)) * fs_v_dst_cancel_zero_resultfoldnegative)) /\ exists fs_q_dst_cancel_zero_resultfoldnegative_body_steps_successor. fs_u_dst_cancel_zero_resultfoldnegative = fs_q_dst_cancel_zero_resultfoldnegative_body_steps_successor * S ((S (S fs_i_dst_cancel_zero_resultfoldnegative_body_steps)) * fs_v_dst_cancel_zero_resultfoldnegative) + (fs_s_dst_cancel_zero_resultfoldnegative_body_steps))) /\ fs_s_dst_cancel_zero_resultfoldnegative_body_steps = fs_r_dst_cancel_zero_resultfoldnegative_body_steps + fs_a_dst_cancel_zero_resultfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_cancel_zero_resultfoldresult ge_balance_negative_cancel_zero_resultfoldresult. (((((0) = 2 * (ge_balance_positive_cancel_zero_resultfoldresult) /\ (ge_balance_negative_cancel_zero_resultfoldresult) = 0) \/ exists ge_signed_half_cancel_zero_resultfoldresultdecode. (((0) = 2 * ge_signed_half_cancel_zero_resultfoldresultdecode + 1 /\ (ge_balance_positive_cancel_zero_resultfoldresult) = 0) /\ (ge_balance_negative_cancel_zero_resultfoldresult) = S ge_signed_half_cancel_zero_resultfoldresultdecode))) /\ ((dst_positive_sum_cancel_zero_resultfold) + ge_balance_negative_cancel_zero_resultfoldresult = (dst_negative_sum_cancel_zero_resultfold) + ge_balance_positive_cancel_zero_resultfoldresult)))))))))))))Constructive proof overview
Generated structural guide
Construct the actual finite divisor sum before identifying it with zero for every positive nonunit input.
The unchanged tactic script uses 2 declared prerequisites and contains 32 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
signed_divisor_sum_exists Alpha theorem; checked-use authorized MC0017 mobius_divisor_sum_nonunit_value_zeroDirect 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–7
02Separate the logical casesL8–9
03Establish hsL10–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed divisor sum exists.
04Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases hs
05Establish heqL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mobius divisor sum nonunit value zero.
- L19
have heq : x=0 - L20
specialize mobius_divisor_sum_nonunit_value_zero (N) - L21
specialize mobius_divisor_sum_nonunit_value_zero (M) - L22
specialize mobius_divisor_sum_nonunit_value_zero (n) - L23
specialize mobius_divisor_sum_nonunit_value_zero (x) - L24
apply mobius_divisor_sum_nonunit_value_zero - L25
exact hmu - L26
exact hn - L27
exact hne - L28
exact hN
06Use earlier factsL29–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
exact hs_witness
07Calculate and transport equalitiesL30–31
08Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
exact hs_witness
Original exact command ledger · 32 lines
- 0001
intro N - 0002
intro M - 0003
intro n - 0004
intro hmu - 0005
intro hn - 0006
intro hne - 0007
intro hN - 0008
cases hmu - 0009
cases hmu_right - 0010
have hs : exists z. (((~((n)=0)) /\ (exists dm_mask_table_cancel_zero_construct. ((((exists dst_positive_code_cancel_zero_constructmasktable dst_positive_scale_cancel_zero_constructmasktable dst_negative_code_cancel_zero_constructmasktable dst_negative_scale_cancel_zero_constructmasktable. (((dm_mask_table_cancel_zero_construct) = (((((dst_positive_code_cancel_zero_constructmasktable) + (dst_positive_scale_cancel_zero_constructmasktable)) * S ((dst_positive_code_cancel_zero_constructmasktable) + (dst_positive_scale_cancel_zero_constructmasktable)) + ((dst_positive_scale_cancel_zero_constructmasktable) + (dst_positive_scale_cancel_zero_constructmasktable))) + (((dst_negative_code_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)) * S ((dst_negative_code_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)) + ((dst_negative_scale_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)))) * S ((((dst_positive_code_cancel_zero_constructmasktable) + (dst_positive_scale_cancel_zero_constructmasktable)) * S ((dst_positive_code_cancel_zero_constructmasktable) + (dst_positive_scale_cancel_zero_constructmasktable)) + ((dst_positive_scale_cancel_zero_constructmasktable) + (dst_positive_scale_cancel_zero_constructmasktable))) + (((dst_negative_code_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)) * S ((dst_negative_code_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)) + ((dst_negative_scale_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)))) + ((((dst_negative_code_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)) * S ((dst_negative_code_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)) + ((dst_negative_scale_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable))) + (((dst_negative_code_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)) * S ((dst_negative_code_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)) + ((dst_negative_scale_cancel_zero_constructmasktable) + (dst_negative_scale_cancel_zero_constructmasktable)))))) /\ (forall dst_index_cancel_zero_constructmasktable. (exists pvs_le_gap_cancel_zero_constructmasktabledomain. pvs_le_gap_cancel_zero_constructmasktabledomain + (dst_index_cancel_zero_constructmasktable) = (n)) -> exists dst_positive_cancel_zero_constructmasktable dst_negative_cancel_zero_constructmasktable dst_value_cancel_zero_constructmasktable. ((((exists ff_h_pvs_cancel_zero_constructmasktableentrypositive. ff_h_pvs_cancel_zero_constructmasktableentrypositive + S (dst_positive_cancel_zero_constructmasktable) = S ((S (dst_index_cancel_zero_constructmasktable)) * dst_positive_scale_cancel_zero_constructmasktable)) /\ exists ff_q_pvs_cancel_zero_constructmasktableentrypositive. dst_positive_code_cancel_zero_constructmasktable = ff_q_pvs_cancel_zero_constructmasktableentrypositive * S ((S (dst_index_cancel_zero_constructmasktable)) * dst_positive_scale_cancel_zero_constructmasktable) + (dst_positive_cancel_zero_constructmasktable))) /\ (((((exists ff_h_pvs_cancel_zero_constructmasktableentrynegative. ff_h_pvs_cancel_zero_constructmasktableentrynegative + S (dst_negative_cancel_zero_constructmasktable) = S ((S (dst_index_cancel_zero_constructmasktable)) * dst_negative_scale_cancel_zero_constructmasktable)) /\ exists ff_q_pvs_cancel_zero_constructmasktableentrynegative. dst_negative_code_cancel_zero_constructmasktable = ff_q_pvs_cancel_zero_constructmasktableentrynegative * S ((S (dst_index_cancel_zero_constructmasktable)) * dst_negative_scale_cancel_zero_constructmasktable) + (dst_negative_cancel_zero_constructmasktable))) /\ (exists ge_balance_positive_cancel_zero_constructmasktableentryvalue ge_balance_negative_cancel_zero_constructmasktableentryvalue. (((((dst_value_cancel_zero_constructmasktable) = 2 * (ge_balance_positive_cancel_zero_constructmasktableentryvalue) /\ (ge_balance_negative_cancel_zero_constructmasktableentryvalue) = 0) \/ exists ge_signed_half_cancel_zero_constructmasktableentryvaluedecode. (((dst_value_cancel_zero_constructmasktable) = 2 * ge_signed_half_cancel_zero_constructmasktableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_zero_constructmasktableentryvalue) = 0) /\ (ge_balance_negative_cancel_zero_constructmasktableentryvalue) = S ge_signed_half_cancel_zero_constructmasktableentryvaluedecode))) /\ ((dst_positive_cancel_zero_constructmasktable) + ge_balance_negative_cancel_zero_constructmasktableentryvalue = (dst_negative_cancel_zero_constructmasktable) + ge_balance_positive_cancel_zero_constructmasktableentryvalue))))))))) /\ (forall dm_index_cancel_zero_constructmask dm_value_cancel_zero_constructmask. (exists pvs_le_gap_cancel_zero_constructmaskdomain. pvs_le_gap_cancel_zero_constructmaskdomain + (dm_index_cancel_zero_constructmask) = (n)) -> (exists dst_positive_code_cancel_zero_constructmasklookup dst_positive_scale_cancel_zero_constructmasklookup dst_negative_code_cancel_zero_constructmasklookup dst_negative_scale_cancel_zero_constructmasklookup dst_positive_cancel_zero_constructmasklookup dst_negative_cancel_zero_constructmasklookup. (((dm_mask_table_cancel_zero_construct) = (((((dst_positive_code_cancel_zero_constructmasklookup) + (dst_positive_scale_cancel_zero_constructmasklookup)) * S ((dst_positive_code_cancel_zero_constructmasklookup) + (dst_positive_scale_cancel_zero_constructmasklookup)) + ((dst_positive_scale_cancel_zero_constructmasklookup) + (dst_positive_scale_cancel_zero_constructmasklookup))) + (((dst_negative_code_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)) * S ((dst_negative_code_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)) + ((dst_negative_scale_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)))) * S ((((dst_positive_code_cancel_zero_constructmasklookup) + (dst_positive_scale_cancel_zero_constructmasklookup)) * S ((dst_positive_code_cancel_zero_constructmasklookup) + (dst_positive_scale_cancel_zero_constructmasklookup)) + ((dst_positive_scale_cancel_zero_constructmasklookup) + (dst_positive_scale_cancel_zero_constructmasklookup))) + (((dst_negative_code_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)) * S ((dst_negative_code_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)) + ((dst_negative_scale_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)))) + ((((dst_negative_code_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)) * S ((dst_negative_code_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)) + ((dst_negative_scale_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup))) + (((dst_negative_code_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)) * S ((dst_negative_code_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)) + ((dst_negative_scale_cancel_zero_constructmasklookup) + (dst_negative_scale_cancel_zero_constructmasklookup)))))) /\ (((((exists ff_h_pvs_cancel_zero_constructmasklookuppositive. ff_h_pvs_cancel_zero_constructmasklookuppositive + S (dst_positive_cancel_zero_constructmasklookup) = S ((S (dm_index_cancel_zero_constructmask)) * dst_positive_scale_cancel_zero_constructmasklookup)) /\ exists ff_q_pvs_cancel_zero_constructmasklookuppositive. dst_positive_code_cancel_zero_constructmasklookup = ff_q_pvs_cancel_zero_constructmasklookuppositive * S ((S (dm_index_cancel_zero_constructmask)) * dst_positive_scale_cancel_zero_constructmasklookup) + (dst_positive_cancel_zero_constructmasklookup))) /\ (((((exists ff_h_pvs_cancel_zero_constructmasklookupnegative. ff_h_pvs_cancel_zero_constructmasklookupnegative + S (dst_negative_cancel_zero_constructmasklookup) = S ((S (dm_index_cancel_zero_constructmask)) * dst_negative_scale_cancel_zero_constructmasklookup)) /\ exists ff_q_pvs_cancel_zero_constructmasklookupnegative. dst_negative_code_cancel_zero_constructmasklookup = ff_q_pvs_cancel_zero_constructmasklookupnegative * S ((S (dm_index_cancel_zero_constructmask)) * dst_negative_scale_cancel_zero_constructmasklookup) + (dst_negative_cancel_zero_constructmasklookup))) /\ (exists ge_balance_positive_cancel_zero_constructmasklookupvalue ge_balance_negative_cancel_zero_constructmasklookupvalue. (((((dm_value_cancel_zero_constructmask) = 2 * (ge_balance_positive_cancel_zero_constructmasklookupvalue) /\ (ge_balance_negative_cancel_zero_constructmasklookupvalue) = 0) \/ exists ge_signed_half_cancel_zero_constructmasklookupvaluedecode. (((dm_value_cancel_zero_constructmask) = 2 * ge_signed_half_cancel_zero_constructmasklookupvaluedecode + 1 /\ (ge_balance_positive_cancel_zero_constructmasklookupvalue) = 0) /\ (ge_balance_negative_cancel_zero_constructmasklookupvalue) = S ge_signed_half_cancel_zero_constructmasklookupvaluedecode))) /\ ((dst_positive_cancel_zero_constructmasklookup) + ge_balance_negative_cancel_zero_constructmasklookupvalue = (dst_negative_cancel_zero_constructmasklookup) + ge_balance_positive_cancel_zero_constructmasklookupvalue))))))))) -> ((((~((dm_index_cancel_zero_constructmask)=0)) /\ (exists dm_quotient_cancel_zero_constructmaskentry. (((n)=(dm_index_cancel_zero_constructmask)*dm_quotient_cancel_zero_constructmaskentry) /\ (exists dst_positive_code_cancel_zero_constructmaskentryinput dst_positive_scale_cancel_zero_constructmaskentryinput dst_negative_code_cancel_zero_constructmaskentryinput dst_negative_scale_cancel_zero_constructmaskentryinput dst_positive_cancel_zero_constructmaskentryinput dst_negative_cancel_zero_constructmaskentryinput. (((M) = (((((dst_positive_code_cancel_zero_constructmaskentryinput) + (dst_positive_scale_cancel_zero_constructmaskentryinput)) * S ((dst_positive_code_cancel_zero_constructmaskentryinput) + (dst_positive_scale_cancel_zero_constructmaskentryinput)) + ((dst_positive_scale_cancel_zero_constructmaskentryinput) + (dst_positive_scale_cancel_zero_constructmaskentryinput))) + (((dst_negative_code_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)) * S ((dst_negative_code_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)) + ((dst_negative_scale_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)))) * S ((((dst_positive_code_cancel_zero_constructmaskentryinput) + (dst_positive_scale_cancel_zero_constructmaskentryinput)) * S ((dst_positive_code_cancel_zero_constructmaskentryinput) + (dst_positive_scale_cancel_zero_constructmaskentryinput)) + ((dst_positive_scale_cancel_zero_constructmaskentryinput) + (dst_positive_scale_cancel_zero_constructmaskentryinput))) + (((dst_negative_code_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)) * S ((dst_negative_code_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)) + ((dst_negative_scale_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)))) + ((((dst_negative_code_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)) * S ((dst_negative_code_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)) + ((dst_negative_scale_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput))) + (((dst_negative_code_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)) * S ((dst_negative_code_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)) + ((dst_negative_scale_cancel_zero_constructmaskentryinput) + (dst_negative_scale_cancel_zero_constructmaskentryinput)))))) /\ (((((exists ff_h_pvs_cancel_zero_constructmaskentryinputpositive. ff_h_pvs_cancel_zero_constructmaskentryinputpositive + S (dst_positive_cancel_zero_constructmaskentryinput) = S ((S (dm_index_cancel_zero_constructmask)) * dst_positive_scale_cancel_zero_constructmaskentryinput)) /\ exists ff_q_pvs_cancel_zero_constructmaskentryinputpositive. dst_positive_code_cancel_zero_constructmaskentryinput = ff_q_pvs_cancel_zero_constructmaskentryinputpositive * S ((S (dm_index_cancel_zero_constructmask)) * dst_positive_scale_cancel_zero_constructmaskentryinput) + (dst_positive_cancel_zero_constructmaskentryinput))) /\ (((((exists ff_h_pvs_cancel_zero_constructmaskentryinputnegative. ff_h_pvs_cancel_zero_constructmaskentryinputnegative + S (dst_negative_cancel_zero_constructmaskentryinput) = S ((S (dm_index_cancel_zero_constructmask)) * dst_negative_scale_cancel_zero_constructmaskentryinput)) /\ exists ff_q_pvs_cancel_zero_constructmaskentryinputnegative. dst_negative_code_cancel_zero_constructmaskentryinput = ff_q_pvs_cancel_zero_constructmaskentryinputnegative * S ((S (dm_index_cancel_zero_constructmask)) * dst_negative_scale_cancel_zero_constructmaskentryinput) + (dst_negative_cancel_zero_constructmaskentryinput))) /\ (exists ge_balance_positive_cancel_zero_constructmaskentryinputvalue ge_balance_negative_cancel_zero_constructmaskentryinputvalue. (((((dm_value_cancel_zero_constructmask) = 2 * (ge_balance_positive_cancel_zero_constructmaskentryinputvalue) /\ (ge_balance_negative_cancel_zero_constructmaskentryinputvalue) = 0) \/ exists ge_signed_half_cancel_zero_constructmaskentryinputvaluedecode. (((dm_value_cancel_zero_constructmask) = 2 * ge_signed_half_cancel_zero_constructmaskentryinputvaluedecode + 1 /\ (ge_balance_positive_cancel_zero_constructmaskentryinputvalue) = 0) /\ (ge_balance_negative_cancel_zero_constructmaskentryinputvalue) = S ge_signed_half_cancel_zero_constructmaskentryinputvaluedecode))) /\ ((dst_positive_cancel_zero_constructmaskentryinput) + ge_balance_negative_cancel_zero_constructmaskentryinputvalue = (dst_negative_cancel_zero_constructmaskentryinput) + ge_balance_positive_cancel_zero_constructmaskentryinputvalue))))))))))))) \/ ((((dm_index_cancel_zero_constructmask)=0 \/ ~(exists pvs_factor_cancel_zero_constructmaskentrynondivisor. (n) = (dm_index_cancel_zero_constructmask) * pvs_factor_cancel_zero_constructmaskentrynondivisor)) /\ ((dm_value_cancel_zero_constructmask)=0))))))) /\ (exists dst_positive_code_cancel_zero_constructfold dst_positive_scale_cancel_zero_constructfold dst_negative_code_cancel_zero_constructfold dst_negative_scale_cancel_zero_constructfold dst_positive_sum_cancel_zero_constructfold dst_negative_sum_cancel_zero_constructfold. (((dm_mask_table_cancel_zero_construct) = (((((dst_positive_code_cancel_zero_constructfold) + (dst_positive_scale_cancel_zero_constructfold)) * S ((dst_positive_code_cancel_zero_constructfold) + (dst_positive_scale_cancel_zero_constructfold)) + ((dst_positive_scale_cancel_zero_constructfold) + (dst_positive_scale_cancel_zero_constructfold))) + (((dst_negative_code_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)) * S ((dst_negative_code_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)) + ((dst_negative_scale_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)))) * S ((((dst_positive_code_cancel_zero_constructfold) + (dst_positive_scale_cancel_zero_constructfold)) * S ((dst_positive_code_cancel_zero_constructfold) + (dst_positive_scale_cancel_zero_constructfold)) + ((dst_positive_scale_cancel_zero_constructfold) + (dst_positive_scale_cancel_zero_constructfold))) + (((dst_negative_code_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)) * S ((dst_negative_code_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)) + ((dst_negative_scale_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)))) + ((((dst_negative_code_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)) * S ((dst_negative_code_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)) + ((dst_negative_scale_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold))) + (((dst_negative_code_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)) * S ((dst_negative_code_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)) + ((dst_negative_scale_cancel_zero_constructfold) + (dst_negative_scale_cancel_zero_constructfold)))))) /\ (((exists fs_u_dst_cancel_zero_constructfoldpositive fs_v_dst_cancel_zero_constructfoldpositive. ((((exists fs_h_dst_cancel_zero_constructfoldpositive_body_start. fs_h_dst_cancel_zero_constructfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_zero_constructfoldpositive)) /\ exists fs_q_dst_cancel_zero_constructfoldpositive_body_start. fs_u_dst_cancel_zero_constructfoldpositive = fs_q_dst_cancel_zero_constructfoldpositive_body_start * S ((S (0)) * fs_v_dst_cancel_zero_constructfoldpositive) + (0))) /\ ((((exists fs_h_dst_cancel_zero_constructfoldpositive_body_terminal. fs_h_dst_cancel_zero_constructfoldpositive_body_terminal + S (dst_positive_sum_cancel_zero_constructfold) = S ((S (S (n))) * fs_v_dst_cancel_zero_constructfoldpositive)) /\ exists fs_q_dst_cancel_zero_constructfoldpositive_body_terminal. fs_u_dst_cancel_zero_constructfoldpositive = fs_q_dst_cancel_zero_constructfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_cancel_zero_constructfoldpositive) + (dst_positive_sum_cancel_zero_constructfold))) /\ forall fs_i_dst_cancel_zero_constructfoldpositive_body_steps. (exists fs_lt_dst_cancel_zero_constructfoldpositive_body_steps_bound. fs_lt_dst_cancel_zero_constructfoldpositive_body_steps_bound + S fs_i_dst_cancel_zero_constructfoldpositive_body_steps = S (n)) -> exists fs_a_dst_cancel_zero_constructfoldpositive_body_steps fs_r_dst_cancel_zero_constructfoldpositive_body_steps fs_s_dst_cancel_zero_constructfoldpositive_body_steps. ((((exists fs_h_dst_cancel_zero_constructfoldpositive_body_steps_summand. fs_h_dst_cancel_zero_constructfoldpositive_body_steps_summand + S (fs_a_dst_cancel_zero_constructfoldpositive_body_steps) = S ((S (fs_i_dst_cancel_zero_constructfoldpositive_body_steps)) * dst_positive_scale_cancel_zero_constructfold)) /\ exists fs_q_dst_cancel_zero_constructfoldpositive_body_steps_summand. dst_positive_code_cancel_zero_constructfold = fs_q_dst_cancel_zero_constructfoldpositive_body_steps_summand * S ((S (fs_i_dst_cancel_zero_constructfoldpositive_body_steps)) * dst_positive_scale_cancel_zero_constructfold) + (fs_a_dst_cancel_zero_constructfoldpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_zero_constructfoldpositive_body_steps_partial. fs_h_dst_cancel_zero_constructfoldpositive_body_steps_partial + S (fs_r_dst_cancel_zero_constructfoldpositive_body_steps) = S ((S (fs_i_dst_cancel_zero_constructfoldpositive_body_steps)) * fs_v_dst_cancel_zero_constructfoldpositive)) /\ exists fs_q_dst_cancel_zero_constructfoldpositive_body_steps_partial. fs_u_dst_cancel_zero_constructfoldpositive = fs_q_dst_cancel_zero_constructfoldpositive_body_steps_partial * S ((S (fs_i_dst_cancel_zero_constructfoldpositive_body_steps)) * fs_v_dst_cancel_zero_constructfoldpositive) + (fs_r_dst_cancel_zero_constructfoldpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_zero_constructfoldpositive_body_steps_successor. fs_h_dst_cancel_zero_constructfoldpositive_body_steps_successor + S (fs_s_dst_cancel_zero_constructfoldpositive_body_steps) = S ((S (S fs_i_dst_cancel_zero_constructfoldpositive_body_steps)) * fs_v_dst_cancel_zero_constructfoldpositive)) /\ exists fs_q_dst_cancel_zero_constructfoldpositive_body_steps_successor. fs_u_dst_cancel_zero_constructfoldpositive = fs_q_dst_cancel_zero_constructfoldpositive_body_steps_successor * S ((S (S fs_i_dst_cancel_zero_constructfoldpositive_body_steps)) * fs_v_dst_cancel_zero_constructfoldpositive) + (fs_s_dst_cancel_zero_constructfoldpositive_body_steps))) /\ fs_s_dst_cancel_zero_constructfoldpositive_body_steps = fs_r_dst_cancel_zero_constructfoldpositive_body_steps + fs_a_dst_cancel_zero_constructfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_cancel_zero_constructfoldnegative fs_v_dst_cancel_zero_constructfoldnegative. ((((exists fs_h_dst_cancel_zero_constructfoldnegative_body_start. fs_h_dst_cancel_zero_constructfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_zero_constructfoldnegative)) /\ exists fs_q_dst_cancel_zero_constructfoldnegative_body_start. fs_u_dst_cancel_zero_constructfoldnegative = fs_q_dst_cancel_zero_constructfoldnegative_body_start * S ((S (0)) * fs_v_dst_cancel_zero_constructfoldnegative) + (0))) /\ ((((exists fs_h_dst_cancel_zero_constructfoldnegative_body_terminal. fs_h_dst_cancel_zero_constructfoldnegative_body_terminal + S (dst_negative_sum_cancel_zero_constructfold) = S ((S (S (n))) * fs_v_dst_cancel_zero_constructfoldnegative)) /\ exists fs_q_dst_cancel_zero_constructfoldnegative_body_terminal. fs_u_dst_cancel_zero_constructfoldnegative = fs_q_dst_cancel_zero_constructfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_cancel_zero_constructfoldnegative) + (dst_negative_sum_cancel_zero_constructfold))) /\ forall fs_i_dst_cancel_zero_constructfoldnegative_body_steps. (exists fs_lt_dst_cancel_zero_constructfoldnegative_body_steps_bound. fs_lt_dst_cancel_zero_constructfoldnegative_body_steps_bound + S fs_i_dst_cancel_zero_constructfoldnegative_body_steps = S (n)) -> exists fs_a_dst_cancel_zero_constructfoldnegative_body_steps fs_r_dst_cancel_zero_constructfoldnegative_body_steps fs_s_dst_cancel_zero_constructfoldnegative_body_steps. ((((exists fs_h_dst_cancel_zero_constructfoldnegative_body_steps_summand. fs_h_dst_cancel_zero_constructfoldnegative_body_steps_summand + S (fs_a_dst_cancel_zero_constructfoldnegative_body_steps) = S ((S (fs_i_dst_cancel_zero_constructfoldnegative_body_steps)) * dst_negative_scale_cancel_zero_constructfold)) /\ exists fs_q_dst_cancel_zero_constructfoldnegative_body_steps_summand. dst_negative_code_cancel_zero_constructfold = fs_q_dst_cancel_zero_constructfoldnegative_body_steps_summand * S ((S (fs_i_dst_cancel_zero_constructfoldnegative_body_steps)) * dst_negative_scale_cancel_zero_constructfold) + (fs_a_dst_cancel_zero_constructfoldnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_zero_constructfoldnegative_body_steps_partial. fs_h_dst_cancel_zero_constructfoldnegative_body_steps_partial + S (fs_r_dst_cancel_zero_constructfoldnegative_body_steps) = S ((S (fs_i_dst_cancel_zero_constructfoldnegative_body_steps)) * fs_v_dst_cancel_zero_constructfoldnegative)) /\ exists fs_q_dst_cancel_zero_constructfoldnegative_body_steps_partial. fs_u_dst_cancel_zero_constructfoldnegative = fs_q_dst_cancel_zero_constructfoldnegative_body_steps_partial * S ((S (fs_i_dst_cancel_zero_constructfoldnegative_body_steps)) * fs_v_dst_cancel_zero_constructfoldnegative) + (fs_r_dst_cancel_zero_constructfoldnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_zero_constructfoldnegative_body_steps_successor. fs_h_dst_cancel_zero_constructfoldnegative_body_steps_successor + S (fs_s_dst_cancel_zero_constructfoldnegative_body_steps) = S ((S (S fs_i_dst_cancel_zero_constructfoldnegative_body_steps)) * fs_v_dst_cancel_zero_constructfoldnegative)) /\ exists fs_q_dst_cancel_zero_constructfoldnegative_body_steps_successor. fs_u_dst_cancel_zero_constructfoldnegative = fs_q_dst_cancel_zero_constructfoldnegative_body_steps_successor * S ((S (S fs_i_dst_cancel_zero_constructfoldnegative_body_steps)) * fs_v_dst_cancel_zero_constructfoldnegative) + (fs_s_dst_cancel_zero_constructfoldnegative_body_steps))) /\ fs_s_dst_cancel_zero_constructfoldnegative_body_steps = fs_r_dst_cancel_zero_constructfoldnegative_body_steps + fs_a_dst_cancel_zero_constructfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_cancel_zero_constructfoldresult ge_balance_negative_cancel_zero_constructfoldresult. (((((z) = 2 * (ge_balance_positive_cancel_zero_constructfoldresult) /\ (ge_balance_negative_cancel_zero_constructfoldresult) = 0) \/ exists ge_signed_half_cancel_zero_constructfoldresultdecode. (((z) = 2 * ge_signed_half_cancel_zero_constructfoldresultdecode + 1 /\ (ge_balance_positive_cancel_zero_constructfoldresult) = 0) /\ (ge_balance_negative_cancel_zero_constructfoldresult) = S ge_signed_half_cancel_zero_constructfoldresultdecode))) /\ ((dst_positive_sum_cancel_zero_constructfold) + ge_balance_negative_cancel_zero_constructfoldresult = (dst_negative_sum_cancel_zero_constructfold) + ge_balance_positive_cancel_zero_constructfoldresult))))))))))))) - 0011
specialize signed_divisor_sum_exists (N) - 0012
specialize signed_divisor_sum_exists (M) - 0013
specialize signed_divisor_sum_exists (n) - 0014
apply signed_divisor_sum_exists - 0015
exact hmu_left - 0016
exact hn - 0017
exact hN - 0018
cases hs - 0019
have heq : x=0 - 0020
specialize mobius_divisor_sum_nonunit_value_zero (N) - 0021
specialize mobius_divisor_sum_nonunit_value_zero (M) - 0022
specialize mobius_divisor_sum_nonunit_value_zero (n) - 0023
specialize mobius_divisor_sum_nonunit_value_zero (x) - 0024
apply mobius_divisor_sum_nonunit_value_zero - 0025
exact hmu - 0026
exact hn - 0027
exact hne - 0028
exact hN - 0029
exact hs_witness - 0030
rewrite heq at hs_witness - 0031
rewrite heq at hs_witness - 0032
exact hs_witness