MC001A

mobius_divisor_sum_cancellation

Full positive-divisor cancellation for independently defined Möbius values: the actual sum is +1 exactly at n=1 and zero at every n>1, with a constructed fold in both directions.

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

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. ∀ z. MobiusTable(N,M) → ¬n = 0 → Le(n,N) → (DivisorSum(M,n,z) → n = 1 ∧ z = 2 ∨ ¬n = 1 ∧ z = 0) ∧ (n = 1 ∧ z = 2 ∨ ¬n = 1 ∧ z = 0 → DivisorSum(M,n,z))

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 z. (((exists dst_positive_code_cancel_iff_tabletable dst_positive_scale_cancel_iff_tabletable dst_negative_code_cancel_iff_tabletable dst_negative_scale_cancel_iff_tabletable. (((M) = (((((dst_positive_code_cancel_iff_tabletable) + (dst_positive_scale_cancel_iff_tabletable)) * S ((dst_positive_code_cancel_iff_tabletable) + (dst_positive_scale_cancel_iff_tabletable)) + ((dst_positive_scale_cancel_iff_tabletable) + (dst_positive_scale_cancel_iff_tabletable))) + (((dst_negative_code_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)) * S ((dst_negative_code_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)) + ((dst_negative_scale_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)))) * S ((((dst_positive_code_cancel_iff_tabletable) + (dst_positive_scale_cancel_iff_tabletable)) * S ((dst_positive_code_cancel_iff_tabletable) + (dst_positive_scale_cancel_iff_tabletable)) + ((dst_positive_scale_cancel_iff_tabletable) + (dst_positive_scale_cancel_iff_tabletable))) + (((dst_negative_code_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)) * S ((dst_negative_code_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)) + ((dst_negative_scale_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)))) + ((((dst_negative_code_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)) * S ((dst_negative_code_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)) + ((dst_negative_scale_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable))) + (((dst_negative_code_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)) * S ((dst_negative_code_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)) + ((dst_negative_scale_cancel_iff_tabletable) + (dst_negative_scale_cancel_iff_tabletable)))))) /\ (forall dst_index_cancel_iff_tabletable. (exists pvs_le_gap_cancel_iff_tabletabledomain. pvs_le_gap_cancel_iff_tabletabledomain + (dst_index_cancel_iff_tabletable) = (N)) -> exists dst_positive_cancel_iff_tabletable dst_negative_cancel_iff_tabletable dst_value_cancel_iff_tabletable. ((((exists ff_h_pvs_cancel_iff_tabletableentrypositive. ff_h_pvs_cancel_iff_tabletableentrypositive + S (dst_positive_cancel_iff_tabletable) = S ((S (dst_index_cancel_iff_tabletable)) * dst_positive_scale_cancel_iff_tabletable)) /\ exists ff_q_pvs_cancel_iff_tabletableentrypositive. dst_positive_code_cancel_iff_tabletable = ff_q_pvs_cancel_iff_tabletableentrypositive * S ((S (dst_index_cancel_iff_tabletable)) * dst_positive_scale_cancel_iff_tabletable) + (dst_positive_cancel_iff_tabletable))) /\ (((((exists ff_h_pvs_cancel_iff_tabletableentrynegative. ff_h_pvs_cancel_iff_tabletableentrynegative + S (dst_negative_cancel_iff_tabletable) = S ((S (dst_index_cancel_iff_tabletable)) * dst_negative_scale_cancel_iff_tabletable)) /\ exists ff_q_pvs_cancel_iff_tabletableentrynegative. dst_negative_code_cancel_iff_tabletable = ff_q_pvs_cancel_iff_tabletableentrynegative * S ((S (dst_index_cancel_iff_tabletable)) * dst_negative_scale_cancel_iff_tabletable) + (dst_negative_cancel_iff_tabletable))) /\ (exists ge_balance_positive_cancel_iff_tabletableentryvalue ge_balance_negative_cancel_iff_tabletableentryvalue. (((((dst_value_cancel_iff_tabletable) = 2 * (ge_balance_positive_cancel_iff_tabletableentryvalue) /\ (ge_balance_negative_cancel_iff_tabletableentryvalue) = 0) \/ exists ge_signed_half_cancel_iff_tabletableentryvaluedecode. (((dst_value_cancel_iff_tabletable) = 2 * ge_signed_half_cancel_iff_tabletableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_iff_tabletableentryvalue) = 0) /\ (ge_balance_negative_cancel_iff_tabletableentryvalue) = S ge_signed_half_cancel_iff_tabletableentryvaluedecode))) /\ ((dst_positive_cancel_iff_tabletable) + ge_balance_negative_cancel_iff_tabletableentryvalue = (dst_negative_cancel_iff_tabletable) + ge_balance_positive_cancel_iff_tabletableentryvalue))))))))) /\ (((exists dst_positive_code_cancel_iff_tablezero dst_positive_scale_cancel_iff_tablezero dst_negative_code_cancel_iff_tablezero dst_negative_scale_cancel_iff_tablezero dst_positive_cancel_iff_tablezero dst_negative_cancel_iff_tablezero. (((M) = (((((dst_positive_code_cancel_iff_tablezero) + (dst_positive_scale_cancel_iff_tablezero)) * S ((dst_positive_code_cancel_iff_tablezero) + (dst_positive_scale_cancel_iff_tablezero)) + ((dst_positive_scale_cancel_iff_tablezero) + (dst_positive_scale_cancel_iff_tablezero))) + (((dst_negative_code_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)) * S ((dst_negative_code_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)) + ((dst_negative_scale_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)))) * S ((((dst_positive_code_cancel_iff_tablezero) + (dst_positive_scale_cancel_iff_tablezero)) * S ((dst_positive_code_cancel_iff_tablezero) + (dst_positive_scale_cancel_iff_tablezero)) + ((dst_positive_scale_cancel_iff_tablezero) + (dst_positive_scale_cancel_iff_tablezero))) + (((dst_negative_code_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)) * S ((dst_negative_code_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)) + ((dst_negative_scale_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)))) + ((((dst_negative_code_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)) * S ((dst_negative_code_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)) + ((dst_negative_scale_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero))) + (((dst_negative_code_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)) * S ((dst_negative_code_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)) + ((dst_negative_scale_cancel_iff_tablezero) + (dst_negative_scale_cancel_iff_tablezero)))))) /\ (((((exists ff_h_pvs_cancel_iff_tablezeropositive. ff_h_pvs_cancel_iff_tablezeropositive + S (dst_positive_cancel_iff_tablezero) = S ((S (0)) * dst_positive_scale_cancel_iff_tablezero)) /\ exists ff_q_pvs_cancel_iff_tablezeropositive. dst_positive_code_cancel_iff_tablezero = ff_q_pvs_cancel_iff_tablezeropositive * S ((S (0)) * dst_positive_scale_cancel_iff_tablezero) + (dst_positive_cancel_iff_tablezero))) /\ (((((exists ff_h_pvs_cancel_iff_tablezeronegative. ff_h_pvs_cancel_iff_tablezeronegative + S (dst_negative_cancel_iff_tablezero) = S ((S (0)) * dst_negative_scale_cancel_iff_tablezero)) /\ exists ff_q_pvs_cancel_iff_tablezeronegative. dst_negative_code_cancel_iff_tablezero = ff_q_pvs_cancel_iff_tablezeronegative * S ((S (0)) * dst_negative_scale_cancel_iff_tablezero) + (dst_negative_cancel_iff_tablezero))) /\ (exists ge_balance_positive_cancel_iff_tablezerovalue ge_balance_negative_cancel_iff_tablezerovalue. (((((0) = 2 * (ge_balance_positive_cancel_iff_tablezerovalue) /\ (ge_balance_negative_cancel_iff_tablezerovalue) = 0) \/ exists ge_signed_half_cancel_iff_tablezerovaluedecode. (((0) = 2 * ge_signed_half_cancel_iff_tablezerovaluedecode + 1 /\ (ge_balance_positive_cancel_iff_tablezerovalue) = 0) /\ (ge_balance_negative_cancel_iff_tablezerovalue) = S ge_signed_half_cancel_iff_tablezerovaluedecode))) /\ ((dst_positive_cancel_iff_tablezero) + ge_balance_negative_cancel_iff_tablezerovalue = (dst_negative_cancel_iff_tablezero) + ge_balance_positive_cancel_iff_tablezerovalue))))))))) /\ (forall mt_index_cancel_iff_table mt_value_cancel_iff_table. ~(mt_index_cancel_iff_table=0) -> (exists pvs_le_gap_cancel_iff_tabledomain. pvs_le_gap_cancel_iff_tabledomain + (mt_index_cancel_iff_table) = (N)) -> (exists dst_positive_code_cancel_iff_tableentry dst_positive_scale_cancel_iff_tableentry dst_negative_code_cancel_iff_tableentry dst_negative_scale_cancel_iff_tableentry dst_positive_cancel_iff_tableentry dst_negative_cancel_iff_tableentry. (((M) = (((((dst_positive_code_cancel_iff_tableentry) + (dst_positive_scale_cancel_iff_tableentry)) * S ((dst_positive_code_cancel_iff_tableentry) + (dst_positive_scale_cancel_iff_tableentry)) + ((dst_positive_scale_cancel_iff_tableentry) + (dst_positive_scale_cancel_iff_tableentry))) + (((dst_negative_code_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)) * S ((dst_negative_code_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)) + ((dst_negative_scale_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)))) * S ((((dst_positive_code_cancel_iff_tableentry) + (dst_positive_scale_cancel_iff_tableentry)) * S ((dst_positive_code_cancel_iff_tableentry) + (dst_positive_scale_cancel_iff_tableentry)) + ((dst_positive_scale_cancel_iff_tableentry) + (dst_positive_scale_cancel_iff_tableentry))) + (((dst_negative_code_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)) * S ((dst_negative_code_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)) + ((dst_negative_scale_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)))) + ((((dst_negative_code_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)) * S ((dst_negative_code_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)) + ((dst_negative_scale_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry))) + (((dst_negative_code_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)) * S ((dst_negative_code_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)) + ((dst_negative_scale_cancel_iff_tableentry) + (dst_negative_scale_cancel_iff_tableentry)))))) /\ (((((exists ff_h_pvs_cancel_iff_tableentrypositive. ff_h_pvs_cancel_iff_tableentrypositive + S (dst_positive_cancel_iff_tableentry) = S ((S (mt_index_cancel_iff_table)) * dst_positive_scale_cancel_iff_tableentry)) /\ exists ff_q_pvs_cancel_iff_tableentrypositive. dst_positive_code_cancel_iff_tableentry = ff_q_pvs_cancel_iff_tableentrypositive * S ((S (mt_index_cancel_iff_table)) * dst_positive_scale_cancel_iff_tableentry) + (dst_positive_cancel_iff_tableentry))) /\ (((((exists ff_h_pvs_cancel_iff_tableentrynegative. ff_h_pvs_cancel_iff_tableentrynegative + S (dst_negative_cancel_iff_tableentry) = S ((S (mt_index_cancel_iff_table)) * dst_negative_scale_cancel_iff_tableentry)) /\ exists ff_q_pvs_cancel_iff_tableentrynegative. dst_negative_code_cancel_iff_tableentry = ff_q_pvs_cancel_iff_tableentrynegative * S ((S (mt_index_cancel_iff_table)) * dst_negative_scale_cancel_iff_tableentry) + (dst_negative_cancel_iff_tableentry))) /\ (exists ge_balance_positive_cancel_iff_tableentryvalue ge_balance_negative_cancel_iff_tableentryvalue. (((((mt_value_cancel_iff_table) = 2 * (ge_balance_positive_cancel_iff_tableentryvalue) /\ (ge_balance_negative_cancel_iff_tableentryvalue) = 0) \/ exists ge_signed_half_cancel_iff_tableentryvaluedecode. (((mt_value_cancel_iff_table) = 2 * ge_signed_half_cancel_iff_tableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_iff_tableentryvalue) = 0) /\ (ge_balance_negative_cancel_iff_tableentryvalue) = S ge_signed_half_cancel_iff_tableentryvaluedecode))) /\ ((dst_positive_cancel_iff_tableentry) + ge_balance_negative_cancel_iff_tableentryvalue = (dst_negative_cancel_iff_tableentry) + ge_balance_positive_cancel_iff_tableentryvalue))))))))) -> (((~((mt_index_cancel_iff_table) = 0)) /\ ((((exists mv_square_prime_cancel_iff_tablevaluesquare. ((~((mv_square_prime_cancel_iff_tablevaluesquare) = 1) /\ forall pvs_left_cancel_iff_tablevaluesquareprime pvs_right_cancel_iff_tablevaluesquareprime. (mv_square_prime_cancel_iff_tablevaluesquare) = pvs_left_cancel_iff_tablevaluesquareprime * pvs_right_cancel_iff_tablevaluesquareprime -> pvs_left_cancel_iff_tablevaluesquareprime = 1 \/ pvs_right_cancel_iff_tablevaluesquareprime = 1) /\ (exists pvs_factor_cancel_iff_tablevaluesquaredivisor. (mt_index_cancel_iff_table) = (mv_square_prime_cancel_iff_tablevaluesquare * mv_square_prime_cancel_iff_tablevaluesquare) * pvs_factor_cancel_iff_tablevaluesquaredivisor))) /\ ((mt_value_cancel_iff_table) = 0))) \/ (((((~((mt_index_cancel_iff_table) = 0)) /\ (forall sfd_prime_cancel_iff_tablevaluesquarefree. (~((sfd_prime_cancel_iff_tablevaluesquarefree) = 1) /\ forall pvs_left_cancel_iff_tablevaluesquarefreedomain pvs_right_cancel_iff_tablevaluesquarefreedomain. (sfd_prime_cancel_iff_tablevaluesquarefree) = pvs_left_cancel_iff_tablevaluesquarefreedomain * pvs_right_cancel_iff_tablevaluesquarefreedomain -> pvs_left_cancel_iff_tablevaluesquarefreedomain = 1 \/ pvs_right_cancel_iff_tablevaluesquarefreedomain = 1) -> (exists pvs_le_gap_cancel_iff_tablevaluesquarefreebound. pvs_le_gap_cancel_iff_tablevaluesquarefreebound + (sfd_prime_cancel_iff_tablevaluesquarefree) = (mt_index_cancel_iff_table)) -> ~(exists pvs_factor_cancel_iff_tablevaluesquarefreesquare. (mt_index_cancel_iff_table) = (sfd_prime_cancel_iff_tablevaluesquarefree * sfd_prime_cancel_iff_tablevaluesquarefree) * pvs_factor_cancel_iff_tablevaluesquarefreesquare)))) /\ (exists mv_factor_code_cancel_iff_tablevaluefactors mv_factor_scale_cancel_iff_tablevaluefactors mv_factor_count_cancel_iff_tablevaluefactors. (((~(mt_index_cancel_iff_table = 0) /\ ((exists ff_u_fsat_cancel_iff_tablevaluefactorsfactorization_product ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product. ((((exists ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_start. ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_start. ff_u_fsat_cancel_iff_tablevaluefactorsfactorization_product = ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_terminal. ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_terminal + S (mt_index_cancel_iff_table) = S ((S (mv_factor_count_cancel_iff_tablevaluefactors)) * ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_terminal. ff_u_fsat_cancel_iff_tablevaluefactorsfactorization_product = ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_terminal * S ((S (mv_factor_count_cancel_iff_tablevaluefactors)) * ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product) + (mt_index_cancel_iff_table))) /\ forall ff_i_fsat_cancel_iff_tablevaluefactorsfactorization_product. (exists ff_lt_fsat_cancel_iff_tablevaluefactorsfactorization_product_bound. ff_lt_fsat_cancel_iff_tablevaluefactorsfactorization_product_bound + S ff_i_fsat_cancel_iff_tablevaluefactorsfactorization_product = mv_factor_count_cancel_iff_tablevaluefactors) -> exists ff_p_fsat_cancel_iff_tablevaluefactorsfactorization_product ff_r_fsat_cancel_iff_tablevaluefactorsfactorization_product ff_s_fsat_cancel_iff_tablevaluefactorsfactorization_product. ((((exists ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_factor. ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_factor + S (ff_p_fsat_cancel_iff_tablevaluefactorsfactorization_product) = S ((S (ff_i_fsat_cancel_iff_tablevaluefactorsfactorization_product)) * mv_factor_scale_cancel_iff_tablevaluefactors)) /\ exists ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_factor. mv_factor_code_cancel_iff_tablevaluefactors = ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_factor * S ((S (ff_i_fsat_cancel_iff_tablevaluefactorsfactorization_product)) * mv_factor_scale_cancel_iff_tablevaluefactors) + (ff_p_fsat_cancel_iff_tablevaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_partial. ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_partial + S (ff_r_fsat_cancel_iff_tablevaluefactorsfactorization_product) = S ((S (ff_i_fsat_cancel_iff_tablevaluefactorsfactorization_product)) * ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_partial. ff_u_fsat_cancel_iff_tablevaluefactorsfactorization_product = ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_partial * S ((S (ff_i_fsat_cancel_iff_tablevaluefactorsfactorization_product)) * ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product) + (ff_r_fsat_cancel_iff_tablevaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_successor. ff_h_fsat_cancel_iff_tablevaluefactorsfactorization_product_successor + S (ff_s_fsat_cancel_iff_tablevaluefactorsfactorization_product) = S ((S (S ff_i_fsat_cancel_iff_tablevaluefactorsfactorization_product)) * ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_successor. ff_u_fsat_cancel_iff_tablevaluefactorsfactorization_product = ff_q_fsat_cancel_iff_tablevaluefactorsfactorization_product_successor * S ((S (S ff_i_fsat_cancel_iff_tablevaluefactorsfactorization_product)) * ff_v_fsat_cancel_iff_tablevaluefactorsfactorization_product) + (ff_s_fsat_cancel_iff_tablevaluefactorsfactorization_product))) /\ ff_s_fsat_cancel_iff_tablevaluefactorsfactorization_product = ff_r_fsat_cancel_iff_tablevaluefactorsfactorization_product * ff_p_fsat_cancel_iff_tablevaluefactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_cancel_iff_tablevaluefactorsfactorization_primes. (exists ftsf_gap_fsat_cancel_iff_tablevaluefactorsfactorization_primes_bound. ftsf_gap_fsat_cancel_iff_tablevaluefactorsfactorization_primes_bound + S ftsf_index_fsat_cancel_iff_tablevaluefactorsfactorization_primes = (mv_factor_count_cancel_iff_tablevaluefactors)) -> exists ftsf_factor_fsat_cancel_iff_tablevaluefactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_entry. ff_h_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_entry + S (ftsf_factor_fsat_cancel_iff_tablevaluefactorsfactorization_primes) = S ((S (ftsf_index_fsat_cancel_iff_tablevaluefactorsfactorization_primes)) * mv_factor_scale_cancel_iff_tablevaluefactors)) /\ exists ff_q_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_entry. mv_factor_code_cancel_iff_tablevaluefactors = ff_q_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_cancel_iff_tablevaluefactorsfactorization_primes)) * mv_factor_scale_cancel_iff_tablevaluefactors) + (ftsf_factor_fsat_cancel_iff_tablevaluefactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_cancel_iff_tablevaluefactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_prime. ftsf_factor_fsat_cancel_iff_tablevaluefactorsfactorization_primes = frm_prime_left_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_cancel_iff_tablevaluefactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_cancel_iff_tablevaluefactorsparityeven. (mv_factor_count_cancel_iff_tablevaluefactors) = 2 * mv_even_half_cancel_iff_tablevaluefactorsparityeven) /\ ((mt_value_cancel_iff_table) = 2))) \/ (((exists mv_odd_half_cancel_iff_tablevaluefactorsparityodd. (mv_factor_count_cancel_iff_tablevaluefactors) = 2 * mv_odd_half_cancel_iff_tablevaluefactorsparityodd + 1) /\ ((mt_value_cancel_iff_table) = 1)))))))))))))))) -> ~(n=0) -> (exists pvs_le_gap_cancel_iff_bound. pvs_le_gap_cancel_iff_bound + (n) = (N)) -> ((((((~((n)=0)) /\ (exists dm_mask_table_cancel_iff_resultforward. ((((exists dst_positive_code_cancel_iff_resultforwardmasktable dst_positive_scale_cancel_iff_resultforwardmasktable dst_negative_code_cancel_iff_resultforwardmasktable dst_negative_scale_cancel_iff_resultforwardmasktable. (((dm_mask_table_cancel_iff_resultforward) = (((((dst_positive_code_cancel_iff_resultforwardmasktable) + (dst_positive_scale_cancel_iff_resultforwardmasktable)) * S ((dst_positive_code_cancel_iff_resultforwardmasktable) + (dst_positive_scale_cancel_iff_resultforwardmasktable)) + ((dst_positive_scale_cancel_iff_resultforwardmasktable) + (dst_positive_scale_cancel_iff_resultforwardmasktable))) + (((dst_negative_code_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)) * S ((dst_negative_code_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)) + ((dst_negative_scale_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)))) * S ((((dst_positive_code_cancel_iff_resultforwardmasktable) + (dst_positive_scale_cancel_iff_resultforwardmasktable)) * S ((dst_positive_code_cancel_iff_resultforwardmasktable) + (dst_positive_scale_cancel_iff_resultforwardmasktable)) + ((dst_positive_scale_cancel_iff_resultforwardmasktable) + (dst_positive_scale_cancel_iff_resultforwardmasktable))) + (((dst_negative_code_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)) * S ((dst_negative_code_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)) + ((dst_negative_scale_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)))) + ((((dst_negative_code_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)) * S ((dst_negative_code_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)) + ((dst_negative_scale_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable))) + (((dst_negative_code_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)) * S ((dst_negative_code_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)) + ((dst_negative_scale_cancel_iff_resultforwardmasktable) + (dst_negative_scale_cancel_iff_resultforwardmasktable)))))) /\ (forall dst_index_cancel_iff_resultforwardmasktable. (exists pvs_le_gap_cancel_iff_resultforwardmasktabledomain. pvs_le_gap_cancel_iff_resultforwardmasktabledomain + (dst_index_cancel_iff_resultforwardmasktable) = (n)) -> exists dst_positive_cancel_iff_resultforwardmasktable dst_negative_cancel_iff_resultforwardmasktable dst_value_cancel_iff_resultforwardmasktable. ((((exists ff_h_pvs_cancel_iff_resultforwardmasktableentrypositive. ff_h_pvs_cancel_iff_resultforwardmasktableentrypositive + S (dst_positive_cancel_iff_resultforwardmasktable) = S ((S (dst_index_cancel_iff_resultforwardmasktable)) * dst_positive_scale_cancel_iff_resultforwardmasktable)) /\ exists ff_q_pvs_cancel_iff_resultforwardmasktableentrypositive. dst_positive_code_cancel_iff_resultforwardmasktable = ff_q_pvs_cancel_iff_resultforwardmasktableentrypositive * S ((S (dst_index_cancel_iff_resultforwardmasktable)) * dst_positive_scale_cancel_iff_resultforwardmasktable) + (dst_positive_cancel_iff_resultforwardmasktable))) /\ (((((exists ff_h_pvs_cancel_iff_resultforwardmasktableentrynegative. ff_h_pvs_cancel_iff_resultforwardmasktableentrynegative + S (dst_negative_cancel_iff_resultforwardmasktable) = S ((S (dst_index_cancel_iff_resultforwardmasktable)) * dst_negative_scale_cancel_iff_resultforwardmasktable)) /\ exists ff_q_pvs_cancel_iff_resultforwardmasktableentrynegative. dst_negative_code_cancel_iff_resultforwardmasktable = ff_q_pvs_cancel_iff_resultforwardmasktableentrynegative * S ((S (dst_index_cancel_iff_resultforwardmasktable)) * dst_negative_scale_cancel_iff_resultforwardmasktable) + (dst_negative_cancel_iff_resultforwardmasktable))) /\ (exists ge_balance_positive_cancel_iff_resultforwardmasktableentryvalue ge_balance_negative_cancel_iff_resultforwardmasktableentryvalue. (((((dst_value_cancel_iff_resultforwardmasktable) = 2 * (ge_balance_positive_cancel_iff_resultforwardmasktableentryvalue) /\ (ge_balance_negative_cancel_iff_resultforwardmasktableentryvalue) = 0) \/ exists ge_signed_half_cancel_iff_resultforwardmasktableentryvaluedecode. (((dst_value_cancel_iff_resultforwardmasktable) = 2 * ge_signed_half_cancel_iff_resultforwardmasktableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_iff_resultforwardmasktableentryvalue) = 0) /\ (ge_balance_negative_cancel_iff_resultforwardmasktableentryvalue) = S ge_signed_half_cancel_iff_resultforwardmasktableentryvaluedecode))) /\ ((dst_positive_cancel_iff_resultforwardmasktable) + ge_balance_negative_cancel_iff_resultforwardmasktableentryvalue = (dst_negative_cancel_iff_resultforwardmasktable) + ge_balance_positive_cancel_iff_resultforwardmasktableentryvalue))))))))) /\ (forall dm_index_cancel_iff_resultforwardmask dm_value_cancel_iff_resultforwardmask. (exists pvs_le_gap_cancel_iff_resultforwardmaskdomain. pvs_le_gap_cancel_iff_resultforwardmaskdomain + (dm_index_cancel_iff_resultforwardmask) = (n)) -> (exists dst_positive_code_cancel_iff_resultforwardmasklookup dst_positive_scale_cancel_iff_resultforwardmasklookup dst_negative_code_cancel_iff_resultforwardmasklookup dst_negative_scale_cancel_iff_resultforwardmasklookup dst_positive_cancel_iff_resultforwardmasklookup dst_negative_cancel_iff_resultforwardmasklookup. (((dm_mask_table_cancel_iff_resultforward) = (((((dst_positive_code_cancel_iff_resultforwardmasklookup) + (dst_positive_scale_cancel_iff_resultforwardmasklookup)) * S ((dst_positive_code_cancel_iff_resultforwardmasklookup) + (dst_positive_scale_cancel_iff_resultforwardmasklookup)) + ((dst_positive_scale_cancel_iff_resultforwardmasklookup) + (dst_positive_scale_cancel_iff_resultforwardmasklookup))) + (((dst_negative_code_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)) * S ((dst_negative_code_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)) + ((dst_negative_scale_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)))) * S ((((dst_positive_code_cancel_iff_resultforwardmasklookup) + (dst_positive_scale_cancel_iff_resultforwardmasklookup)) * S ((dst_positive_code_cancel_iff_resultforwardmasklookup) + (dst_positive_scale_cancel_iff_resultforwardmasklookup)) + ((dst_positive_scale_cancel_iff_resultforwardmasklookup) + (dst_positive_scale_cancel_iff_resultforwardmasklookup))) + (((dst_negative_code_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)) * S ((dst_negative_code_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)) + ((dst_negative_scale_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)))) + ((((dst_negative_code_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)) * S ((dst_negative_code_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)) + ((dst_negative_scale_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup))) + (((dst_negative_code_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)) * S ((dst_negative_code_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)) + ((dst_negative_scale_cancel_iff_resultforwardmasklookup) + (dst_negative_scale_cancel_iff_resultforwardmasklookup)))))) /\ (((((exists ff_h_pvs_cancel_iff_resultforwardmasklookuppositive. ff_h_pvs_cancel_iff_resultforwardmasklookuppositive + S (dst_positive_cancel_iff_resultforwardmasklookup) = S ((S (dm_index_cancel_iff_resultforwardmask)) * dst_positive_scale_cancel_iff_resultforwardmasklookup)) /\ exists ff_q_pvs_cancel_iff_resultforwardmasklookuppositive. dst_positive_code_cancel_iff_resultforwardmasklookup = ff_q_pvs_cancel_iff_resultforwardmasklookuppositive * S ((S (dm_index_cancel_iff_resultforwardmask)) * dst_positive_scale_cancel_iff_resultforwardmasklookup) + (dst_positive_cancel_iff_resultforwardmasklookup))) /\ (((((exists ff_h_pvs_cancel_iff_resultforwardmasklookupnegative. ff_h_pvs_cancel_iff_resultforwardmasklookupnegative + S (dst_negative_cancel_iff_resultforwardmasklookup) = S ((S (dm_index_cancel_iff_resultforwardmask)) * dst_negative_scale_cancel_iff_resultforwardmasklookup)) /\ exists ff_q_pvs_cancel_iff_resultforwardmasklookupnegative. dst_negative_code_cancel_iff_resultforwardmasklookup = ff_q_pvs_cancel_iff_resultforwardmasklookupnegative * S ((S (dm_index_cancel_iff_resultforwardmask)) * dst_negative_scale_cancel_iff_resultforwardmasklookup) + (dst_negative_cancel_iff_resultforwardmasklookup))) /\ (exists ge_balance_positive_cancel_iff_resultforwardmasklookupvalue ge_balance_negative_cancel_iff_resultforwardmasklookupvalue. (((((dm_value_cancel_iff_resultforwardmask) = 2 * (ge_balance_positive_cancel_iff_resultforwardmasklookupvalue) /\ (ge_balance_negative_cancel_iff_resultforwardmasklookupvalue) = 0) \/ exists ge_signed_half_cancel_iff_resultforwardmasklookupvaluedecode. (((dm_value_cancel_iff_resultforwardmask) = 2 * ge_signed_half_cancel_iff_resultforwardmasklookupvaluedecode + 1 /\ (ge_balance_positive_cancel_iff_resultforwardmasklookupvalue) = 0) /\ (ge_balance_negative_cancel_iff_resultforwardmasklookupvalue) = S ge_signed_half_cancel_iff_resultforwardmasklookupvaluedecode))) /\ ((dst_positive_cancel_iff_resultforwardmasklookup) + ge_balance_negative_cancel_iff_resultforwardmasklookupvalue = (dst_negative_cancel_iff_resultforwardmasklookup) + ge_balance_positive_cancel_iff_resultforwardmasklookupvalue))))))))) -> ((((~((dm_index_cancel_iff_resultforwardmask)=0)) /\ (exists dm_quotient_cancel_iff_resultforwardmaskentry. (((n)=(dm_index_cancel_iff_resultforwardmask)*dm_quotient_cancel_iff_resultforwardmaskentry) /\ (exists dst_positive_code_cancel_iff_resultforwardmaskentryinput dst_positive_scale_cancel_iff_resultforwardmaskentryinput dst_negative_code_cancel_iff_resultforwardmaskentryinput dst_negative_scale_cancel_iff_resultforwardmaskentryinput dst_positive_cancel_iff_resultforwardmaskentryinput dst_negative_cancel_iff_resultforwardmaskentryinput. (((M) = (((((dst_positive_code_cancel_iff_resultforwardmaskentryinput) + (dst_positive_scale_cancel_iff_resultforwardmaskentryinput)) * S ((dst_positive_code_cancel_iff_resultforwardmaskentryinput) + (dst_positive_scale_cancel_iff_resultforwardmaskentryinput)) + ((dst_positive_scale_cancel_iff_resultforwardmaskentryinput) + (dst_positive_scale_cancel_iff_resultforwardmaskentryinput))) + (((dst_negative_code_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) * S ((dst_negative_code_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) + ((dst_negative_scale_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)))) * S ((((dst_positive_code_cancel_iff_resultforwardmaskentryinput) + (dst_positive_scale_cancel_iff_resultforwardmaskentryinput)) * S ((dst_positive_code_cancel_iff_resultforwardmaskentryinput) + (dst_positive_scale_cancel_iff_resultforwardmaskentryinput)) + ((dst_positive_scale_cancel_iff_resultforwardmaskentryinput) + (dst_positive_scale_cancel_iff_resultforwardmaskentryinput))) + (((dst_negative_code_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) * S ((dst_negative_code_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) + ((dst_negative_scale_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)))) + ((((dst_negative_code_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) * S ((dst_negative_code_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) + ((dst_negative_scale_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput))) + (((dst_negative_code_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) * S ((dst_negative_code_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) + ((dst_negative_scale_cancel_iff_resultforwardmaskentryinput) + (dst_negative_scale_cancel_iff_resultforwardmaskentryinput)))))) /\ (((((exists ff_h_pvs_cancel_iff_resultforwardmaskentryinputpositive. ff_h_pvs_cancel_iff_resultforwardmaskentryinputpositive + S (dst_positive_cancel_iff_resultforwardmaskentryinput) = S ((S (dm_index_cancel_iff_resultforwardmask)) * dst_positive_scale_cancel_iff_resultforwardmaskentryinput)) /\ exists ff_q_pvs_cancel_iff_resultforwardmaskentryinputpositive. dst_positive_code_cancel_iff_resultforwardmaskentryinput = ff_q_pvs_cancel_iff_resultforwardmaskentryinputpositive * S ((S (dm_index_cancel_iff_resultforwardmask)) * dst_positive_scale_cancel_iff_resultforwardmaskentryinput) + (dst_positive_cancel_iff_resultforwardmaskentryinput))) /\ (((((exists ff_h_pvs_cancel_iff_resultforwardmaskentryinputnegative. ff_h_pvs_cancel_iff_resultforwardmaskentryinputnegative + S (dst_negative_cancel_iff_resultforwardmaskentryinput) = S ((S (dm_index_cancel_iff_resultforwardmask)) * dst_negative_scale_cancel_iff_resultforwardmaskentryinput)) /\ exists ff_q_pvs_cancel_iff_resultforwardmaskentryinputnegative. dst_negative_code_cancel_iff_resultforwardmaskentryinput = ff_q_pvs_cancel_iff_resultforwardmaskentryinputnegative * S ((S (dm_index_cancel_iff_resultforwardmask)) * dst_negative_scale_cancel_iff_resultforwardmaskentryinput) + (dst_negative_cancel_iff_resultforwardmaskentryinput))) /\ (exists ge_balance_positive_cancel_iff_resultforwardmaskentryinputvalue ge_balance_negative_cancel_iff_resultforwardmaskentryinputvalue. (((((dm_value_cancel_iff_resultforwardmask) = 2 * (ge_balance_positive_cancel_iff_resultforwardmaskentryinputvalue) /\ (ge_balance_negative_cancel_iff_resultforwardmaskentryinputvalue) = 0) \/ exists ge_signed_half_cancel_iff_resultforwardmaskentryinputvaluedecode. (((dm_value_cancel_iff_resultforwardmask) = 2 * ge_signed_half_cancel_iff_resultforwardmaskentryinputvaluedecode + 1 /\ (ge_balance_positive_cancel_iff_resultforwardmaskentryinputvalue) = 0) /\ (ge_balance_negative_cancel_iff_resultforwardmaskentryinputvalue) = S ge_signed_half_cancel_iff_resultforwardmaskentryinputvaluedecode))) /\ ((dst_positive_cancel_iff_resultforwardmaskentryinput) + ge_balance_negative_cancel_iff_resultforwardmaskentryinputvalue = (dst_negative_cancel_iff_resultforwardmaskentryinput) + ge_balance_positive_cancel_iff_resultforwardmaskentryinputvalue))))))))))))) \/ ((((dm_index_cancel_iff_resultforwardmask)=0 \/ ~(exists pvs_factor_cancel_iff_resultforwardmaskentrynondivisor. (n) = (dm_index_cancel_iff_resultforwardmask) * pvs_factor_cancel_iff_resultforwardmaskentrynondivisor)) /\ ((dm_value_cancel_iff_resultforwardmask)=0))))))) /\ (exists dst_positive_code_cancel_iff_resultforwardfold dst_positive_scale_cancel_iff_resultforwardfold dst_negative_code_cancel_iff_resultforwardfold dst_negative_scale_cancel_iff_resultforwardfold dst_positive_sum_cancel_iff_resultforwardfold dst_negative_sum_cancel_iff_resultforwardfold. (((dm_mask_table_cancel_iff_resultforward) = (((((dst_positive_code_cancel_iff_resultforwardfold) + (dst_positive_scale_cancel_iff_resultforwardfold)) * S ((dst_positive_code_cancel_iff_resultforwardfold) + (dst_positive_scale_cancel_iff_resultforwardfold)) + ((dst_positive_scale_cancel_iff_resultforwardfold) + (dst_positive_scale_cancel_iff_resultforwardfold))) + (((dst_negative_code_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)) * S ((dst_negative_code_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)) + ((dst_negative_scale_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)))) * S ((((dst_positive_code_cancel_iff_resultforwardfold) + (dst_positive_scale_cancel_iff_resultforwardfold)) * S ((dst_positive_code_cancel_iff_resultforwardfold) + (dst_positive_scale_cancel_iff_resultforwardfold)) + ((dst_positive_scale_cancel_iff_resultforwardfold) + (dst_positive_scale_cancel_iff_resultforwardfold))) + (((dst_negative_code_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)) * S ((dst_negative_code_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)) + ((dst_negative_scale_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)))) + ((((dst_negative_code_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)) * S ((dst_negative_code_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)) + ((dst_negative_scale_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold))) + (((dst_negative_code_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)) * S ((dst_negative_code_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)) + ((dst_negative_scale_cancel_iff_resultforwardfold) + (dst_negative_scale_cancel_iff_resultforwardfold)))))) /\ (((exists fs_u_dst_cancel_iff_resultforwardfoldpositive fs_v_dst_cancel_iff_resultforwardfoldpositive. ((((exists fs_h_dst_cancel_iff_resultforwardfoldpositive_body_start. fs_h_dst_cancel_iff_resultforwardfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_iff_resultforwardfoldpositive)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldpositive_body_start. fs_u_dst_cancel_iff_resultforwardfoldpositive = fs_q_dst_cancel_iff_resultforwardfoldpositive_body_start * S ((S (0)) * fs_v_dst_cancel_iff_resultforwardfoldpositive) + (0))) /\ ((((exists fs_h_dst_cancel_iff_resultforwardfoldpositive_body_terminal. fs_h_dst_cancel_iff_resultforwardfoldpositive_body_terminal + S (dst_positive_sum_cancel_iff_resultforwardfold) = S ((S (S (n))) * fs_v_dst_cancel_iff_resultforwardfoldpositive)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldpositive_body_terminal. fs_u_dst_cancel_iff_resultforwardfoldpositive = fs_q_dst_cancel_iff_resultforwardfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_cancel_iff_resultforwardfoldpositive) + (dst_positive_sum_cancel_iff_resultforwardfold))) /\ forall fs_i_dst_cancel_iff_resultforwardfoldpositive_body_steps. (exists fs_lt_dst_cancel_iff_resultforwardfoldpositive_body_steps_bound. fs_lt_dst_cancel_iff_resultforwardfoldpositive_body_steps_bound + S fs_i_dst_cancel_iff_resultforwardfoldpositive_body_steps = S (n)) -> exists fs_a_dst_cancel_iff_resultforwardfoldpositive_body_steps fs_r_dst_cancel_iff_resultforwardfoldpositive_body_steps fs_s_dst_cancel_iff_resultforwardfoldpositive_body_steps. ((((exists fs_h_dst_cancel_iff_resultforwardfoldpositive_body_steps_summand. fs_h_dst_cancel_iff_resultforwardfoldpositive_body_steps_summand + S (fs_a_dst_cancel_iff_resultforwardfoldpositive_body_steps) = S ((S (fs_i_dst_cancel_iff_resultforwardfoldpositive_body_steps)) * dst_positive_scale_cancel_iff_resultforwardfold)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldpositive_body_steps_summand. dst_positive_code_cancel_iff_resultforwardfold = fs_q_dst_cancel_iff_resultforwardfoldpositive_body_steps_summand * S ((S (fs_i_dst_cancel_iff_resultforwardfoldpositive_body_steps)) * dst_positive_scale_cancel_iff_resultforwardfold) + (fs_a_dst_cancel_iff_resultforwardfoldpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_iff_resultforwardfoldpositive_body_steps_partial. fs_h_dst_cancel_iff_resultforwardfoldpositive_body_steps_partial + S (fs_r_dst_cancel_iff_resultforwardfoldpositive_body_steps) = S ((S (fs_i_dst_cancel_iff_resultforwardfoldpositive_body_steps)) * fs_v_dst_cancel_iff_resultforwardfoldpositive)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldpositive_body_steps_partial. fs_u_dst_cancel_iff_resultforwardfoldpositive = fs_q_dst_cancel_iff_resultforwardfoldpositive_body_steps_partial * S ((S (fs_i_dst_cancel_iff_resultforwardfoldpositive_body_steps)) * fs_v_dst_cancel_iff_resultforwardfoldpositive) + (fs_r_dst_cancel_iff_resultforwardfoldpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_iff_resultforwardfoldpositive_body_steps_successor. fs_h_dst_cancel_iff_resultforwardfoldpositive_body_steps_successor + S (fs_s_dst_cancel_iff_resultforwardfoldpositive_body_steps) = S ((S (S fs_i_dst_cancel_iff_resultforwardfoldpositive_body_steps)) * fs_v_dst_cancel_iff_resultforwardfoldpositive)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldpositive_body_steps_successor. fs_u_dst_cancel_iff_resultforwardfoldpositive = fs_q_dst_cancel_iff_resultforwardfoldpositive_body_steps_successor * S ((S (S fs_i_dst_cancel_iff_resultforwardfoldpositive_body_steps)) * fs_v_dst_cancel_iff_resultforwardfoldpositive) + (fs_s_dst_cancel_iff_resultforwardfoldpositive_body_steps))) /\ fs_s_dst_cancel_iff_resultforwardfoldpositive_body_steps = fs_r_dst_cancel_iff_resultforwardfoldpositive_body_steps + fs_a_dst_cancel_iff_resultforwardfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_cancel_iff_resultforwardfoldnegative fs_v_dst_cancel_iff_resultforwardfoldnegative. ((((exists fs_h_dst_cancel_iff_resultforwardfoldnegative_body_start. fs_h_dst_cancel_iff_resultforwardfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_iff_resultforwardfoldnegative)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldnegative_body_start. fs_u_dst_cancel_iff_resultforwardfoldnegative = fs_q_dst_cancel_iff_resultforwardfoldnegative_body_start * S ((S (0)) * fs_v_dst_cancel_iff_resultforwardfoldnegative) + (0))) /\ ((((exists fs_h_dst_cancel_iff_resultforwardfoldnegative_body_terminal. fs_h_dst_cancel_iff_resultforwardfoldnegative_body_terminal + S (dst_negative_sum_cancel_iff_resultforwardfold) = S ((S (S (n))) * fs_v_dst_cancel_iff_resultforwardfoldnegative)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldnegative_body_terminal. fs_u_dst_cancel_iff_resultforwardfoldnegative = fs_q_dst_cancel_iff_resultforwardfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_cancel_iff_resultforwardfoldnegative) + (dst_negative_sum_cancel_iff_resultforwardfold))) /\ forall fs_i_dst_cancel_iff_resultforwardfoldnegative_body_steps. (exists fs_lt_dst_cancel_iff_resultforwardfoldnegative_body_steps_bound. fs_lt_dst_cancel_iff_resultforwardfoldnegative_body_steps_bound + S fs_i_dst_cancel_iff_resultforwardfoldnegative_body_steps = S (n)) -> exists fs_a_dst_cancel_iff_resultforwardfoldnegative_body_steps fs_r_dst_cancel_iff_resultforwardfoldnegative_body_steps fs_s_dst_cancel_iff_resultforwardfoldnegative_body_steps. ((((exists fs_h_dst_cancel_iff_resultforwardfoldnegative_body_steps_summand. fs_h_dst_cancel_iff_resultforwardfoldnegative_body_steps_summand + S (fs_a_dst_cancel_iff_resultforwardfoldnegative_body_steps) = S ((S (fs_i_dst_cancel_iff_resultforwardfoldnegative_body_steps)) * dst_negative_scale_cancel_iff_resultforwardfold)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldnegative_body_steps_summand. dst_negative_code_cancel_iff_resultforwardfold = fs_q_dst_cancel_iff_resultforwardfoldnegative_body_steps_summand * S ((S (fs_i_dst_cancel_iff_resultforwardfoldnegative_body_steps)) * dst_negative_scale_cancel_iff_resultforwardfold) + (fs_a_dst_cancel_iff_resultforwardfoldnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_iff_resultforwardfoldnegative_body_steps_partial. fs_h_dst_cancel_iff_resultforwardfoldnegative_body_steps_partial + S (fs_r_dst_cancel_iff_resultforwardfoldnegative_body_steps) = S ((S (fs_i_dst_cancel_iff_resultforwardfoldnegative_body_steps)) * fs_v_dst_cancel_iff_resultforwardfoldnegative)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldnegative_body_steps_partial. fs_u_dst_cancel_iff_resultforwardfoldnegative = fs_q_dst_cancel_iff_resultforwardfoldnegative_body_steps_partial * S ((S (fs_i_dst_cancel_iff_resultforwardfoldnegative_body_steps)) * fs_v_dst_cancel_iff_resultforwardfoldnegative) + (fs_r_dst_cancel_iff_resultforwardfoldnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_iff_resultforwardfoldnegative_body_steps_successor. fs_h_dst_cancel_iff_resultforwardfoldnegative_body_steps_successor + S (fs_s_dst_cancel_iff_resultforwardfoldnegative_body_steps) = S ((S (S fs_i_dst_cancel_iff_resultforwardfoldnegative_body_steps)) * fs_v_dst_cancel_iff_resultforwardfoldnegative)) /\ exists fs_q_dst_cancel_iff_resultforwardfoldnegative_body_steps_successor. fs_u_dst_cancel_iff_resultforwardfoldnegative = fs_q_dst_cancel_iff_resultforwardfoldnegative_body_steps_successor * S ((S (S fs_i_dst_cancel_iff_resultforwardfoldnegative_body_steps)) * fs_v_dst_cancel_iff_resultforwardfoldnegative) + (fs_s_dst_cancel_iff_resultforwardfoldnegative_body_steps))) /\ fs_s_dst_cancel_iff_resultforwardfoldnegative_body_steps = fs_r_dst_cancel_iff_resultforwardfoldnegative_body_steps + fs_a_dst_cancel_iff_resultforwardfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_cancel_iff_resultforwardfoldresult ge_balance_negative_cancel_iff_resultforwardfoldresult. (((((z) = 2 * (ge_balance_positive_cancel_iff_resultforwardfoldresult) /\ (ge_balance_negative_cancel_iff_resultforwardfoldresult) = 0) \/ exists ge_signed_half_cancel_iff_resultforwardfoldresultdecode. (((z) = 2 * ge_signed_half_cancel_iff_resultforwardfoldresultdecode + 1 /\ (ge_balance_positive_cancel_iff_resultforwardfoldresult) = 0) /\ (ge_balance_negative_cancel_iff_resultforwardfoldresult) = S ge_signed_half_cancel_iff_resultforwardfoldresultdecode))) /\ ((dst_positive_sum_cancel_iff_resultforwardfold) + ge_balance_negative_cancel_iff_resultforwardfoldresult = (dst_negative_sum_cancel_iff_resultforwardfold) + ge_balance_positive_cancel_iff_resultforwardfoldresult))))))))))))) -> (((n)=1 /\ (z)=2) \/ (~((n)=1) /\ (z)=0))) /\ ((((n)=1 /\ (z)=2) \/ (~((n)=1) /\ (z)=0)) -> (((~((n)=0)) /\ (exists dm_mask_table_cancel_iff_resultreverse. ((((exists dst_positive_code_cancel_iff_resultreversemasktable dst_positive_scale_cancel_iff_resultreversemasktable dst_negative_code_cancel_iff_resultreversemasktable dst_negative_scale_cancel_iff_resultreversemasktable. (((dm_mask_table_cancel_iff_resultreverse) = (((((dst_positive_code_cancel_iff_resultreversemasktable) + (dst_positive_scale_cancel_iff_resultreversemasktable)) * S ((dst_positive_code_cancel_iff_resultreversemasktable) + (dst_positive_scale_cancel_iff_resultreversemasktable)) + ((dst_positive_scale_cancel_iff_resultreversemasktable) + (dst_positive_scale_cancel_iff_resultreversemasktable))) + (((dst_negative_code_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)) * S ((dst_negative_code_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)) + ((dst_negative_scale_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)))) * S ((((dst_positive_code_cancel_iff_resultreversemasktable) + (dst_positive_scale_cancel_iff_resultreversemasktable)) * S ((dst_positive_code_cancel_iff_resultreversemasktable) + (dst_positive_scale_cancel_iff_resultreversemasktable)) + ((dst_positive_scale_cancel_iff_resultreversemasktable) + (dst_positive_scale_cancel_iff_resultreversemasktable))) + (((dst_negative_code_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)) * S ((dst_negative_code_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)) + ((dst_negative_scale_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)))) + ((((dst_negative_code_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)) * S ((dst_negative_code_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)) + ((dst_negative_scale_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable))) + (((dst_negative_code_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)) * S ((dst_negative_code_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)) + ((dst_negative_scale_cancel_iff_resultreversemasktable) + (dst_negative_scale_cancel_iff_resultreversemasktable)))))) /\ (forall dst_index_cancel_iff_resultreversemasktable. (exists pvs_le_gap_cancel_iff_resultreversemasktabledomain. pvs_le_gap_cancel_iff_resultreversemasktabledomain + (dst_index_cancel_iff_resultreversemasktable) = (n)) -> exists dst_positive_cancel_iff_resultreversemasktable dst_negative_cancel_iff_resultreversemasktable dst_value_cancel_iff_resultreversemasktable. ((((exists ff_h_pvs_cancel_iff_resultreversemasktableentrypositive. ff_h_pvs_cancel_iff_resultreversemasktableentrypositive + S (dst_positive_cancel_iff_resultreversemasktable) = S ((S (dst_index_cancel_iff_resultreversemasktable)) * dst_positive_scale_cancel_iff_resultreversemasktable)) /\ exists ff_q_pvs_cancel_iff_resultreversemasktableentrypositive. dst_positive_code_cancel_iff_resultreversemasktable = ff_q_pvs_cancel_iff_resultreversemasktableentrypositive * S ((S (dst_index_cancel_iff_resultreversemasktable)) * dst_positive_scale_cancel_iff_resultreversemasktable) + (dst_positive_cancel_iff_resultreversemasktable))) /\ (((((exists ff_h_pvs_cancel_iff_resultreversemasktableentrynegative. ff_h_pvs_cancel_iff_resultreversemasktableentrynegative + S (dst_negative_cancel_iff_resultreversemasktable) = S ((S (dst_index_cancel_iff_resultreversemasktable)) * dst_negative_scale_cancel_iff_resultreversemasktable)) /\ exists ff_q_pvs_cancel_iff_resultreversemasktableentrynegative. dst_negative_code_cancel_iff_resultreversemasktable = ff_q_pvs_cancel_iff_resultreversemasktableentrynegative * S ((S (dst_index_cancel_iff_resultreversemasktable)) * dst_negative_scale_cancel_iff_resultreversemasktable) + (dst_negative_cancel_iff_resultreversemasktable))) /\ (exists ge_balance_positive_cancel_iff_resultreversemasktableentryvalue ge_balance_negative_cancel_iff_resultreversemasktableentryvalue. (((((dst_value_cancel_iff_resultreversemasktable) = 2 * (ge_balance_positive_cancel_iff_resultreversemasktableentryvalue) /\ (ge_balance_negative_cancel_iff_resultreversemasktableentryvalue) = 0) \/ exists ge_signed_half_cancel_iff_resultreversemasktableentryvaluedecode. (((dst_value_cancel_iff_resultreversemasktable) = 2 * ge_signed_half_cancel_iff_resultreversemasktableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_iff_resultreversemasktableentryvalue) = 0) /\ (ge_balance_negative_cancel_iff_resultreversemasktableentryvalue) = S ge_signed_half_cancel_iff_resultreversemasktableentryvaluedecode))) /\ ((dst_positive_cancel_iff_resultreversemasktable) + ge_balance_negative_cancel_iff_resultreversemasktableentryvalue = (dst_negative_cancel_iff_resultreversemasktable) + ge_balance_positive_cancel_iff_resultreversemasktableentryvalue))))))))) /\ (forall dm_index_cancel_iff_resultreversemask dm_value_cancel_iff_resultreversemask. (exists pvs_le_gap_cancel_iff_resultreversemaskdomain. pvs_le_gap_cancel_iff_resultreversemaskdomain + (dm_index_cancel_iff_resultreversemask) = (n)) -> (exists dst_positive_code_cancel_iff_resultreversemasklookup dst_positive_scale_cancel_iff_resultreversemasklookup dst_negative_code_cancel_iff_resultreversemasklookup dst_negative_scale_cancel_iff_resultreversemasklookup dst_positive_cancel_iff_resultreversemasklookup dst_negative_cancel_iff_resultreversemasklookup. (((dm_mask_table_cancel_iff_resultreverse) = (((((dst_positive_code_cancel_iff_resultreversemasklookup) + (dst_positive_scale_cancel_iff_resultreversemasklookup)) * S ((dst_positive_code_cancel_iff_resultreversemasklookup) + (dst_positive_scale_cancel_iff_resultreversemasklookup)) + ((dst_positive_scale_cancel_iff_resultreversemasklookup) + (dst_positive_scale_cancel_iff_resultreversemasklookup))) + (((dst_negative_code_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)) * S ((dst_negative_code_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)) + ((dst_negative_scale_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)))) * S ((((dst_positive_code_cancel_iff_resultreversemasklookup) + (dst_positive_scale_cancel_iff_resultreversemasklookup)) * S ((dst_positive_code_cancel_iff_resultreversemasklookup) + (dst_positive_scale_cancel_iff_resultreversemasklookup)) + ((dst_positive_scale_cancel_iff_resultreversemasklookup) + (dst_positive_scale_cancel_iff_resultreversemasklookup))) + (((dst_negative_code_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)) * S ((dst_negative_code_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)) + ((dst_negative_scale_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)))) + ((((dst_negative_code_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)) * S ((dst_negative_code_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)) + ((dst_negative_scale_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup))) + (((dst_negative_code_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)) * S ((dst_negative_code_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)) + ((dst_negative_scale_cancel_iff_resultreversemasklookup) + (dst_negative_scale_cancel_iff_resultreversemasklookup)))))) /\ (((((exists ff_h_pvs_cancel_iff_resultreversemasklookuppositive. ff_h_pvs_cancel_iff_resultreversemasklookuppositive + S (dst_positive_cancel_iff_resultreversemasklookup) = S ((S (dm_index_cancel_iff_resultreversemask)) * dst_positive_scale_cancel_iff_resultreversemasklookup)) /\ exists ff_q_pvs_cancel_iff_resultreversemasklookuppositive. dst_positive_code_cancel_iff_resultreversemasklookup = ff_q_pvs_cancel_iff_resultreversemasklookuppositive * S ((S (dm_index_cancel_iff_resultreversemask)) * dst_positive_scale_cancel_iff_resultreversemasklookup) + (dst_positive_cancel_iff_resultreversemasklookup))) /\ (((((exists ff_h_pvs_cancel_iff_resultreversemasklookupnegative. ff_h_pvs_cancel_iff_resultreversemasklookupnegative + S (dst_negative_cancel_iff_resultreversemasklookup) = S ((S (dm_index_cancel_iff_resultreversemask)) * dst_negative_scale_cancel_iff_resultreversemasklookup)) /\ exists ff_q_pvs_cancel_iff_resultreversemasklookupnegative. dst_negative_code_cancel_iff_resultreversemasklookup = ff_q_pvs_cancel_iff_resultreversemasklookupnegative * S ((S (dm_index_cancel_iff_resultreversemask)) * dst_negative_scale_cancel_iff_resultreversemasklookup) + (dst_negative_cancel_iff_resultreversemasklookup))) /\ (exists ge_balance_positive_cancel_iff_resultreversemasklookupvalue ge_balance_negative_cancel_iff_resultreversemasklookupvalue. (((((dm_value_cancel_iff_resultreversemask) = 2 * (ge_balance_positive_cancel_iff_resultreversemasklookupvalue) /\ (ge_balance_negative_cancel_iff_resultreversemasklookupvalue) = 0) \/ exists ge_signed_half_cancel_iff_resultreversemasklookupvaluedecode. (((dm_value_cancel_iff_resultreversemask) = 2 * ge_signed_half_cancel_iff_resultreversemasklookupvaluedecode + 1 /\ (ge_balance_positive_cancel_iff_resultreversemasklookupvalue) = 0) /\ (ge_balance_negative_cancel_iff_resultreversemasklookupvalue) = S ge_signed_half_cancel_iff_resultreversemasklookupvaluedecode))) /\ ((dst_positive_cancel_iff_resultreversemasklookup) + ge_balance_negative_cancel_iff_resultreversemasklookupvalue = (dst_negative_cancel_iff_resultreversemasklookup) + ge_balance_positive_cancel_iff_resultreversemasklookupvalue))))))))) -> ((((~((dm_index_cancel_iff_resultreversemask)=0)) /\ (exists dm_quotient_cancel_iff_resultreversemaskentry. (((n)=(dm_index_cancel_iff_resultreversemask)*dm_quotient_cancel_iff_resultreversemaskentry) /\ (exists dst_positive_code_cancel_iff_resultreversemaskentryinput dst_positive_scale_cancel_iff_resultreversemaskentryinput dst_negative_code_cancel_iff_resultreversemaskentryinput dst_negative_scale_cancel_iff_resultreversemaskentryinput dst_positive_cancel_iff_resultreversemaskentryinput dst_negative_cancel_iff_resultreversemaskentryinput. (((M) = (((((dst_positive_code_cancel_iff_resultreversemaskentryinput) + (dst_positive_scale_cancel_iff_resultreversemaskentryinput)) * S ((dst_positive_code_cancel_iff_resultreversemaskentryinput) + (dst_positive_scale_cancel_iff_resultreversemaskentryinput)) + ((dst_positive_scale_cancel_iff_resultreversemaskentryinput) + (dst_positive_scale_cancel_iff_resultreversemaskentryinput))) + (((dst_negative_code_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)) * S ((dst_negative_code_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)) + ((dst_negative_scale_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)))) * S ((((dst_positive_code_cancel_iff_resultreversemaskentryinput) + (dst_positive_scale_cancel_iff_resultreversemaskentryinput)) * S ((dst_positive_code_cancel_iff_resultreversemaskentryinput) + (dst_positive_scale_cancel_iff_resultreversemaskentryinput)) + ((dst_positive_scale_cancel_iff_resultreversemaskentryinput) + (dst_positive_scale_cancel_iff_resultreversemaskentryinput))) + (((dst_negative_code_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)) * S ((dst_negative_code_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)) + ((dst_negative_scale_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)))) + ((((dst_negative_code_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)) * S ((dst_negative_code_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)) + ((dst_negative_scale_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput))) + (((dst_negative_code_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)) * S ((dst_negative_code_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)) + ((dst_negative_scale_cancel_iff_resultreversemaskentryinput) + (dst_negative_scale_cancel_iff_resultreversemaskentryinput)))))) /\ (((((exists ff_h_pvs_cancel_iff_resultreversemaskentryinputpositive. ff_h_pvs_cancel_iff_resultreversemaskentryinputpositive + S (dst_positive_cancel_iff_resultreversemaskentryinput) = S ((S (dm_index_cancel_iff_resultreversemask)) * dst_positive_scale_cancel_iff_resultreversemaskentryinput)) /\ exists ff_q_pvs_cancel_iff_resultreversemaskentryinputpositive. dst_positive_code_cancel_iff_resultreversemaskentryinput = ff_q_pvs_cancel_iff_resultreversemaskentryinputpositive * S ((S (dm_index_cancel_iff_resultreversemask)) * dst_positive_scale_cancel_iff_resultreversemaskentryinput) + (dst_positive_cancel_iff_resultreversemaskentryinput))) /\ (((((exists ff_h_pvs_cancel_iff_resultreversemaskentryinputnegative. ff_h_pvs_cancel_iff_resultreversemaskentryinputnegative + S (dst_negative_cancel_iff_resultreversemaskentryinput) = S ((S (dm_index_cancel_iff_resultreversemask)) * dst_negative_scale_cancel_iff_resultreversemaskentryinput)) /\ exists ff_q_pvs_cancel_iff_resultreversemaskentryinputnegative. dst_negative_code_cancel_iff_resultreversemaskentryinput = ff_q_pvs_cancel_iff_resultreversemaskentryinputnegative * S ((S (dm_index_cancel_iff_resultreversemask)) * dst_negative_scale_cancel_iff_resultreversemaskentryinput) + (dst_negative_cancel_iff_resultreversemaskentryinput))) /\ (exists ge_balance_positive_cancel_iff_resultreversemaskentryinputvalue ge_balance_negative_cancel_iff_resultreversemaskentryinputvalue. (((((dm_value_cancel_iff_resultreversemask) = 2 * (ge_balance_positive_cancel_iff_resultreversemaskentryinputvalue) /\ (ge_balance_negative_cancel_iff_resultreversemaskentryinputvalue) = 0) \/ exists ge_signed_half_cancel_iff_resultreversemaskentryinputvaluedecode. (((dm_value_cancel_iff_resultreversemask) = 2 * ge_signed_half_cancel_iff_resultreversemaskentryinputvaluedecode + 1 /\ (ge_balance_positive_cancel_iff_resultreversemaskentryinputvalue) = 0) /\ (ge_balance_negative_cancel_iff_resultreversemaskentryinputvalue) = S ge_signed_half_cancel_iff_resultreversemaskentryinputvaluedecode))) /\ ((dst_positive_cancel_iff_resultreversemaskentryinput) + ge_balance_negative_cancel_iff_resultreversemaskentryinputvalue = (dst_negative_cancel_iff_resultreversemaskentryinput) + ge_balance_positive_cancel_iff_resultreversemaskentryinputvalue))))))))))))) \/ ((((dm_index_cancel_iff_resultreversemask)=0 \/ ~(exists pvs_factor_cancel_iff_resultreversemaskentrynondivisor. (n) = (dm_index_cancel_iff_resultreversemask) * pvs_factor_cancel_iff_resultreversemaskentrynondivisor)) /\ ((dm_value_cancel_iff_resultreversemask)=0))))))) /\ (exists dst_positive_code_cancel_iff_resultreversefold dst_positive_scale_cancel_iff_resultreversefold dst_negative_code_cancel_iff_resultreversefold dst_negative_scale_cancel_iff_resultreversefold dst_positive_sum_cancel_iff_resultreversefold dst_negative_sum_cancel_iff_resultreversefold. (((dm_mask_table_cancel_iff_resultreverse) = (((((dst_positive_code_cancel_iff_resultreversefold) + (dst_positive_scale_cancel_iff_resultreversefold)) * S ((dst_positive_code_cancel_iff_resultreversefold) + (dst_positive_scale_cancel_iff_resultreversefold)) + ((dst_positive_scale_cancel_iff_resultreversefold) + (dst_positive_scale_cancel_iff_resultreversefold))) + (((dst_negative_code_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)) * S ((dst_negative_code_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)) + ((dst_negative_scale_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)))) * S ((((dst_positive_code_cancel_iff_resultreversefold) + (dst_positive_scale_cancel_iff_resultreversefold)) * S ((dst_positive_code_cancel_iff_resultreversefold) + (dst_positive_scale_cancel_iff_resultreversefold)) + ((dst_positive_scale_cancel_iff_resultreversefold) + (dst_positive_scale_cancel_iff_resultreversefold))) + (((dst_negative_code_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)) * S ((dst_negative_code_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)) + ((dst_negative_scale_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)))) + ((((dst_negative_code_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)) * S ((dst_negative_code_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)) + ((dst_negative_scale_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold))) + (((dst_negative_code_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)) * S ((dst_negative_code_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)) + ((dst_negative_scale_cancel_iff_resultreversefold) + (dst_negative_scale_cancel_iff_resultreversefold)))))) /\ (((exists fs_u_dst_cancel_iff_resultreversefoldpositive fs_v_dst_cancel_iff_resultreversefoldpositive. ((((exists fs_h_dst_cancel_iff_resultreversefoldpositive_body_start. fs_h_dst_cancel_iff_resultreversefoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_iff_resultreversefoldpositive)) /\ exists fs_q_dst_cancel_iff_resultreversefoldpositive_body_start. fs_u_dst_cancel_iff_resultreversefoldpositive = fs_q_dst_cancel_iff_resultreversefoldpositive_body_start * S ((S (0)) * fs_v_dst_cancel_iff_resultreversefoldpositive) + (0))) /\ ((((exists fs_h_dst_cancel_iff_resultreversefoldpositive_body_terminal. fs_h_dst_cancel_iff_resultreversefoldpositive_body_terminal + S (dst_positive_sum_cancel_iff_resultreversefold) = S ((S (S (n))) * fs_v_dst_cancel_iff_resultreversefoldpositive)) /\ exists fs_q_dst_cancel_iff_resultreversefoldpositive_body_terminal. fs_u_dst_cancel_iff_resultreversefoldpositive = fs_q_dst_cancel_iff_resultreversefoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_cancel_iff_resultreversefoldpositive) + (dst_positive_sum_cancel_iff_resultreversefold))) /\ forall fs_i_dst_cancel_iff_resultreversefoldpositive_body_steps. (exists fs_lt_dst_cancel_iff_resultreversefoldpositive_body_steps_bound. fs_lt_dst_cancel_iff_resultreversefoldpositive_body_steps_bound + S fs_i_dst_cancel_iff_resultreversefoldpositive_body_steps = S (n)) -> exists fs_a_dst_cancel_iff_resultreversefoldpositive_body_steps fs_r_dst_cancel_iff_resultreversefoldpositive_body_steps fs_s_dst_cancel_iff_resultreversefoldpositive_body_steps. ((((exists fs_h_dst_cancel_iff_resultreversefoldpositive_body_steps_summand. fs_h_dst_cancel_iff_resultreversefoldpositive_body_steps_summand + S (fs_a_dst_cancel_iff_resultreversefoldpositive_body_steps) = S ((S (fs_i_dst_cancel_iff_resultreversefoldpositive_body_steps)) * dst_positive_scale_cancel_iff_resultreversefold)) /\ exists fs_q_dst_cancel_iff_resultreversefoldpositive_body_steps_summand. dst_positive_code_cancel_iff_resultreversefold = fs_q_dst_cancel_iff_resultreversefoldpositive_body_steps_summand * S ((S (fs_i_dst_cancel_iff_resultreversefoldpositive_body_steps)) * dst_positive_scale_cancel_iff_resultreversefold) + (fs_a_dst_cancel_iff_resultreversefoldpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_iff_resultreversefoldpositive_body_steps_partial. fs_h_dst_cancel_iff_resultreversefoldpositive_body_steps_partial + S (fs_r_dst_cancel_iff_resultreversefoldpositive_body_steps) = S ((S (fs_i_dst_cancel_iff_resultreversefoldpositive_body_steps)) * fs_v_dst_cancel_iff_resultreversefoldpositive)) /\ exists fs_q_dst_cancel_iff_resultreversefoldpositive_body_steps_partial. fs_u_dst_cancel_iff_resultreversefoldpositive = fs_q_dst_cancel_iff_resultreversefoldpositive_body_steps_partial * S ((S (fs_i_dst_cancel_iff_resultreversefoldpositive_body_steps)) * fs_v_dst_cancel_iff_resultreversefoldpositive) + (fs_r_dst_cancel_iff_resultreversefoldpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_iff_resultreversefoldpositive_body_steps_successor. fs_h_dst_cancel_iff_resultreversefoldpositive_body_steps_successor + S (fs_s_dst_cancel_iff_resultreversefoldpositive_body_steps) = S ((S (S fs_i_dst_cancel_iff_resultreversefoldpositive_body_steps)) * fs_v_dst_cancel_iff_resultreversefoldpositive)) /\ exists fs_q_dst_cancel_iff_resultreversefoldpositive_body_steps_successor. fs_u_dst_cancel_iff_resultreversefoldpositive = fs_q_dst_cancel_iff_resultreversefoldpositive_body_steps_successor * S ((S (S fs_i_dst_cancel_iff_resultreversefoldpositive_body_steps)) * fs_v_dst_cancel_iff_resultreversefoldpositive) + (fs_s_dst_cancel_iff_resultreversefoldpositive_body_steps))) /\ fs_s_dst_cancel_iff_resultreversefoldpositive_body_steps = fs_r_dst_cancel_iff_resultreversefoldpositive_body_steps + fs_a_dst_cancel_iff_resultreversefoldpositive_body_steps)))))) /\ (((exists fs_u_dst_cancel_iff_resultreversefoldnegative fs_v_dst_cancel_iff_resultreversefoldnegative. ((((exists fs_h_dst_cancel_iff_resultreversefoldnegative_body_start. fs_h_dst_cancel_iff_resultreversefoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_iff_resultreversefoldnegative)) /\ exists fs_q_dst_cancel_iff_resultreversefoldnegative_body_start. fs_u_dst_cancel_iff_resultreversefoldnegative = fs_q_dst_cancel_iff_resultreversefoldnegative_body_start * S ((S (0)) * fs_v_dst_cancel_iff_resultreversefoldnegative) + (0))) /\ ((((exists fs_h_dst_cancel_iff_resultreversefoldnegative_body_terminal. fs_h_dst_cancel_iff_resultreversefoldnegative_body_terminal + S (dst_negative_sum_cancel_iff_resultreversefold) = S ((S (S (n))) * fs_v_dst_cancel_iff_resultreversefoldnegative)) /\ exists fs_q_dst_cancel_iff_resultreversefoldnegative_body_terminal. fs_u_dst_cancel_iff_resultreversefoldnegative = fs_q_dst_cancel_iff_resultreversefoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_cancel_iff_resultreversefoldnegative) + (dst_negative_sum_cancel_iff_resultreversefold))) /\ forall fs_i_dst_cancel_iff_resultreversefoldnegative_body_steps. (exists fs_lt_dst_cancel_iff_resultreversefoldnegative_body_steps_bound. fs_lt_dst_cancel_iff_resultreversefoldnegative_body_steps_bound + S fs_i_dst_cancel_iff_resultreversefoldnegative_body_steps = S (n)) -> exists fs_a_dst_cancel_iff_resultreversefoldnegative_body_steps fs_r_dst_cancel_iff_resultreversefoldnegative_body_steps fs_s_dst_cancel_iff_resultreversefoldnegative_body_steps. ((((exists fs_h_dst_cancel_iff_resultreversefoldnegative_body_steps_summand. fs_h_dst_cancel_iff_resultreversefoldnegative_body_steps_summand + S (fs_a_dst_cancel_iff_resultreversefoldnegative_body_steps) = S ((S (fs_i_dst_cancel_iff_resultreversefoldnegative_body_steps)) * dst_negative_scale_cancel_iff_resultreversefold)) /\ exists fs_q_dst_cancel_iff_resultreversefoldnegative_body_steps_summand. dst_negative_code_cancel_iff_resultreversefold = fs_q_dst_cancel_iff_resultreversefoldnegative_body_steps_summand * S ((S (fs_i_dst_cancel_iff_resultreversefoldnegative_body_steps)) * dst_negative_scale_cancel_iff_resultreversefold) + (fs_a_dst_cancel_iff_resultreversefoldnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_iff_resultreversefoldnegative_body_steps_partial. fs_h_dst_cancel_iff_resultreversefoldnegative_body_steps_partial + S (fs_r_dst_cancel_iff_resultreversefoldnegative_body_steps) = S ((S (fs_i_dst_cancel_iff_resultreversefoldnegative_body_steps)) * fs_v_dst_cancel_iff_resultreversefoldnegative)) /\ exists fs_q_dst_cancel_iff_resultreversefoldnegative_body_steps_partial. fs_u_dst_cancel_iff_resultreversefoldnegative = fs_q_dst_cancel_iff_resultreversefoldnegative_body_steps_partial * S ((S (fs_i_dst_cancel_iff_resultreversefoldnegative_body_steps)) * fs_v_dst_cancel_iff_resultreversefoldnegative) + (fs_r_dst_cancel_iff_resultreversefoldnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_iff_resultreversefoldnegative_body_steps_successor. fs_h_dst_cancel_iff_resultreversefoldnegative_body_steps_successor + S (fs_s_dst_cancel_iff_resultreversefoldnegative_body_steps) = S ((S (S fs_i_dst_cancel_iff_resultreversefoldnegative_body_steps)) * fs_v_dst_cancel_iff_resultreversefoldnegative)) /\ exists fs_q_dst_cancel_iff_resultreversefoldnegative_body_steps_successor. fs_u_dst_cancel_iff_resultreversefoldnegative = fs_q_dst_cancel_iff_resultreversefoldnegative_body_steps_successor * S ((S (S fs_i_dst_cancel_iff_resultreversefoldnegative_body_steps)) * fs_v_dst_cancel_iff_resultreversefoldnegative) + (fs_s_dst_cancel_iff_resultreversefoldnegative_body_steps))) /\ fs_s_dst_cancel_iff_resultreversefoldnegative_body_steps = fs_r_dst_cancel_iff_resultreversefoldnegative_body_steps + fs_a_dst_cancel_iff_resultreversefoldnegative_body_steps)))))) /\ (exists ge_balance_positive_cancel_iff_resultreversefoldresult ge_balance_negative_cancel_iff_resultreversefoldresult. (((((z) = 2 * (ge_balance_positive_cancel_iff_resultreversefoldresult) /\ (ge_balance_negative_cancel_iff_resultreversefoldresult) = 0) \/ exists ge_signed_half_cancel_iff_resultreversefoldresultdecode. (((z) = 2 * ge_signed_half_cancel_iff_resultreversefoldresultdecode + 1 /\ (ge_balance_positive_cancel_iff_resultreversefoldresult) = 0) /\ (ge_balance_negative_cancel_iff_resultreversefoldresult) = S ge_signed_half_cancel_iff_resultreversefoldresultdecode))) /\ ((dst_positive_sum_cancel_iff_resultreversefold) + ge_balance_negative_cancel_iff_resultreversefoldresult = (dst_negative_sum_cancel_iff_resultreversefold) + ge_balance_positive_cancel_iff_resultreversefoldresult))))))))))))))))

Complete tactic proof in conservative notation

All 86 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

86 script commands · 24 reading checkpoints · 1 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 (3)
01Fix variables and assumptionsL1–7

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

  1. L1
    intro N
  2. L2
    intro M
  3. L3
    intro n
  4. L4
    intro z
  5. L5
    intro hmu
  6. L6
    intro hn
  7. L7
    intro hN
02Separate the logical casesL8–8

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

  1. L8
    split
03Fix variables and assumptionsL9–9

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

  1. L9
    intro hs
04Establish hcL10–13

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eq decidable.

  1. L10
    have hc : n=1 \/ ~(n=1)
  2. L11
    specialize eq_decidable (n)
  3. L12
    specialize eq_decidable (1)
  4. L13
    apply eq_decidable
05Separate the logical casesL14–16

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

  1. L14
    cases hc
  2. L15
    left
  3. L16
    split
06Use earlier factsL17–22

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

  1. L17
    exact hc_left
  2. L18
    specialize signed_divisor_sum_functional (M)
  3. L19
    specialize signed_divisor_sum_functional (1)
  4. L20
    specialize signed_divisor_sum_functional (z)
  5. L21
    specialize signed_divisor_sum_functional (2)
  6. L22
    apply signed_divisor_sum_functional
07Calculate and transport equalitiesL23–32

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L23
    rewrite hc_left at hs
  2. L24
    rewrite hc_left at hs
  3. L25
    rewrite hc_left at hs
  4. L26
    rewrite hc_left at hs
  5. L27
    rewrite hc_left at hs
  6. L28
    rewrite hc_left at hs
  7. L29
    rewrite hc_left at hs
  8. L30
    rewrite hc_left at hs
  9. L31
    rewrite hc_left at hs
  10. L32
    rewrite hc_left at hs
08Calculate and transport equalitiesL33–33

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L33
    rewrite hc_left at hs
09Use earlier factsL34–38

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

  1. L34
    exact hs
  2. L35
    specialize mobius_divisor_sum_unit_one (N)
  3. L36
    specialize mobius_divisor_sum_unit_one (M)
  4. L37
    apply mobius_divisor_sum_unit_one
  5. L38
    exact hmu
10Calculate and transport equalitiesL39–39

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L39
    rewrite hc_left at hN
11Use earlier factsL40–40

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

  1. L40
    exact hN
12Separate the logical casesL41–42

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

  1. L41
    right
  2. L42
    split
13Use earlier factsL43–52

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

  1. L43
    exact hc_right
  2. L44
    specialize mobius_divisor_sum_nonunit_value_zero (N)
  3. L45
    specialize mobius_divisor_sum_nonunit_value_zero (M)
  4. L46
    specialize mobius_divisor_sum_nonunit_value_zero (n)
  5. L47
    specialize mobius_divisor_sum_nonunit_value_zero (z)
  6. L48
    apply mobius_divisor_sum_nonunit_value_zero
  7. L49
    exact hmu
  8. L50
    exact hn
  9. L51
    exact hc_right
  10. L52
    exact hN
14Use earlier factsL53–53

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

  1. L53
    exact hs
15Fix variables and assumptionsL54–54

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

  1. L54
    intro hd
16Separate the logical casesL55–56

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

  1. L55
    cases hd
  2. L56
    cases hd_left
17Calculate and transport equalitiesL57–66

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L57
    rewrite hd_left_left
  2. L58
    rewrite hd_left_left
  3. L59
    rewrite hd_left_left
  4. L60
    rewrite hd_left_left
  5. L61
    rewrite hd_left_left
  6. L62
    rewrite hd_left_left
  7. L63
    rewrite hd_left_left
  8. L64
    rewrite hd_left_left
  9. L65
    rewrite hd_left_left
  10. L66
    rewrite hd_left_left
18Calculate and transport equalitiesL67–69

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L67
    rewrite hd_left_left
  2. L68
    rewrite hd_left_right
  3. L69
    rewrite hd_left_right
19Use earlier factsL70–73

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

  1. L70
    specialize mobius_divisor_sum_unit_one (N)
  2. L71
    specialize mobius_divisor_sum_unit_one (M)
  3. L72
    apply mobius_divisor_sum_unit_one
  4. L73
    exact hmu
20Calculate and transport equalitiesL74–74

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L74
    rewrite hd_left_left at hN
21Use earlier factsL75–75

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

  1. L75
    exact hN
22Separate the logical casesL76–76

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

  1. L76
    cases hd_right
23Calculate and transport equalitiesL77–78

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L77
    rewrite hd_right_right
  2. L78
    rewrite hd_right_right
24Use earlier factsL79–86

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

  1. L79
    specialize mobius_divisor_sum_nonunit_zero (N)
  2. L80
    specialize mobius_divisor_sum_nonunit_zero (M)
  3. L81
    specialize mobius_divisor_sum_nonunit_zero (n)
  4. L82
    apply mobius_divisor_sum_nonunit_zero
  5. L83
    exact hmu
  6. L84
    exact hn
  7. L85
    exact hd_right_left
  8. L86
    exact hN

Library-wide reading audit

Original defined command ledger · 86 lines
  1. 0001intro N
  2. 0002intro M
  3. 0003intro n
  4. 0004intro z
  5. 0005intro hmu
  6. 0006intro hn
  7. 0007intro hN
  8. 0008split
  9. 0009intro hs
  10. 0010have hc : n=1 \/ ~(n=1)
  11. 0011specialize eq_decidable (n)
  12. 0012specialize eq_decidable (1)
  13. 0013apply eq_decidable
  14. 0014cases hc
  15. 0015left
  16. 0016split
  17. 0017exact hc_left
  18. 0018specialize signed_divisor_sum_functional (M)
  19. 0019specialize signed_divisor_sum_functional (1)
  20. 0020specialize signed_divisor_sum_functional (z)
  21. 0021specialize signed_divisor_sum_functional (2)
  22. 0022apply signed_divisor_sum_functional
  23. 0023rewrite hc_left at hs
  24. 0024rewrite hc_left at hs
  25. 0025rewrite hc_left at hs
  26. 0026rewrite hc_left at hs
  27. 0027rewrite hc_left at hs
  28. 0028rewrite hc_left at hs
  29. 0029rewrite hc_left at hs
  30. 0030rewrite hc_left at hs
  31. 0031rewrite hc_left at hs
  32. 0032rewrite hc_left at hs
  33. 0033rewrite hc_left at hs
  34. 0034exact hs
  35. 0035specialize mobius_divisor_sum_unit_one (N)
  36. 0036specialize mobius_divisor_sum_unit_one (M)
  37. 0037apply mobius_divisor_sum_unit_one
  38. 0038exact hmu
  39. 0039rewrite hc_left at hN
  40. 0040exact hN
  41. 0041right
  42. 0042split
  43. 0043exact hc_right
  44. 0044specialize mobius_divisor_sum_nonunit_value_zero (N)
  45. 0045specialize mobius_divisor_sum_nonunit_value_zero (M)
  46. 0046specialize mobius_divisor_sum_nonunit_value_zero (n)
  47. 0047specialize mobius_divisor_sum_nonunit_value_zero (z)
  48. 0048apply mobius_divisor_sum_nonunit_value_zero
  49. 0049exact hmu
  50. 0050exact hn
  51. 0051exact hc_right
  52. 0052exact hN
  53. 0053exact hs
  54. 0054intro hd
  55. 0055cases hd
  56. 0056cases hd_left
  57. 0057rewrite hd_left_left
  58. 0058rewrite hd_left_left
  59. 0059rewrite hd_left_left
  60. 0060rewrite hd_left_left
  61. 0061rewrite hd_left_left
  62. 0062rewrite hd_left_left
  63. 0063rewrite hd_left_left
  64. 0064rewrite hd_left_left
  65. 0065rewrite hd_left_left
  66. 0066rewrite hd_left_left
  67. 0067rewrite hd_left_left
  68. 0068rewrite hd_left_right
  69. 0069rewrite hd_left_right
  70. 0070specialize mobius_divisor_sum_unit_one (N)
  71. 0071specialize mobius_divisor_sum_unit_one (M)
  72. 0072apply mobius_divisor_sum_unit_one
  73. 0073exact hmu
  74. 0074rewrite hd_left_left at hN
  75. 0075exact hN
  76. 0076cases hd_right
  77. 0077rewrite hd_right_right
  78. 0078rewrite hd_right_right
  79. 0079specialize mobius_divisor_sum_nonunit_zero (N)
  80. 0080specialize mobius_divisor_sum_nonunit_zero (M)
  81. 0081specialize mobius_divisor_sum_nonunit_zero (n)
  82. 0082apply mobius_divisor_sum_nonunit_zero
  83. 0083exact hmu
  84. 0084exact hn
  85. 0085exact hd_right_left
  86. 0086exact hN