Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
The input n is positive. Signed code 2 denotes +1, so the actual sum is +1 at n=1 and zero for n>1. The positive-values result permits arbitrary F(0), which the divisor mask excludes. Prime-square multiples contribute zero. Full G007 inversion is established in its separate family.
Exact theorem in conservative defined notation
∀ N. ∀ M. ∀ n. MobiusTable(N,M) → ¬n = 0 → ¬n = 1 → Le(n,N) → DivisorSum(M,n,0)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Original expanded first-order 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)))))))))))))Complete tactic proof in conservative notation
All 32 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
Read the argument
Proof checkpoints
32 script commands · 8 reading checkpoints · 2 local claims
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.
Named ingredients (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.
- L10
have hs : ∃ z. DivisorSum(M,n,z)Definitions: DivisorSum(M,n,z)Original native command in the exact edition - L11
specialize signed_divisor_sum_exists (N) - L12
specialize signed_divisor_sum_exists (M) - L13
specialize signed_divisor_sum_exists (n) - L14
apply signed_divisor_sum_exists - L15
exact hmu_left - L16
exact hn - L17
exact hN
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 defined 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 : ∃ z. DivisorSum(M,n,z) - 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