Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Exact expanded first-order arithmetic statement
forall N M n K p z. (((exists dst_positive_code_cancel_mask_mutable dst_positive_scale_cancel_mask_mutable dst_negative_code_cancel_mask_mutable dst_negative_scale_cancel_mask_mutable. (((M) = (((((dst_positive_code_cancel_mask_mutable) + (dst_positive_scale_cancel_mask_mutable)) * S ((dst_positive_code_cancel_mask_mutable) + (dst_positive_scale_cancel_mask_mutable)) + ((dst_positive_scale_cancel_mask_mutable) + (dst_positive_scale_cancel_mask_mutable))) + (((dst_negative_code_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)) * S ((dst_negative_code_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)) + ((dst_negative_scale_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)))) * S ((((dst_positive_code_cancel_mask_mutable) + (dst_positive_scale_cancel_mask_mutable)) * S ((dst_positive_code_cancel_mask_mutable) + (dst_positive_scale_cancel_mask_mutable)) + ((dst_positive_scale_cancel_mask_mutable) + (dst_positive_scale_cancel_mask_mutable))) + (((dst_negative_code_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)) * S ((dst_negative_code_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)) + ((dst_negative_scale_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)))) + ((((dst_negative_code_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)) * S ((dst_negative_code_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)) + ((dst_negative_scale_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable))) + (((dst_negative_code_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)) * S ((dst_negative_code_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)) + ((dst_negative_scale_cancel_mask_mutable) + (dst_negative_scale_cancel_mask_mutable)))))) /\ (forall dst_index_cancel_mask_mutable. (exists pvs_le_gap_cancel_mask_mutabledomain. pvs_le_gap_cancel_mask_mutabledomain + (dst_index_cancel_mask_mutable) = (N)) -> exists dst_positive_cancel_mask_mutable dst_negative_cancel_mask_mutable dst_value_cancel_mask_mutable. ((((exists ff_h_pvs_cancel_mask_mutableentrypositive. ff_h_pvs_cancel_mask_mutableentrypositive + S (dst_positive_cancel_mask_mutable) = S ((S (dst_index_cancel_mask_mutable)) * dst_positive_scale_cancel_mask_mutable)) /\ exists ff_q_pvs_cancel_mask_mutableentrypositive. dst_positive_code_cancel_mask_mutable = ff_q_pvs_cancel_mask_mutableentrypositive * S ((S (dst_index_cancel_mask_mutable)) * dst_positive_scale_cancel_mask_mutable) + (dst_positive_cancel_mask_mutable))) /\ (((((exists ff_h_pvs_cancel_mask_mutableentrynegative. ff_h_pvs_cancel_mask_mutableentrynegative + S (dst_negative_cancel_mask_mutable) = S ((S (dst_index_cancel_mask_mutable)) * dst_negative_scale_cancel_mask_mutable)) /\ exists ff_q_pvs_cancel_mask_mutableentrynegative. dst_negative_code_cancel_mask_mutable = ff_q_pvs_cancel_mask_mutableentrynegative * S ((S (dst_index_cancel_mask_mutable)) * dst_negative_scale_cancel_mask_mutable) + (dst_negative_cancel_mask_mutable))) /\ (exists ge_balance_positive_cancel_mask_mutableentryvalue ge_balance_negative_cancel_mask_mutableentryvalue. (((((dst_value_cancel_mask_mutable) = 2 * (ge_balance_positive_cancel_mask_mutableentryvalue) /\ (ge_balance_negative_cancel_mask_mutableentryvalue) = 0) \/ exists ge_signed_half_cancel_mask_mutableentryvaluedecode. (((dst_value_cancel_mask_mutable) = 2 * ge_signed_half_cancel_mask_mutableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_mask_mutableentryvalue) = 0) /\ (ge_balance_negative_cancel_mask_mutableentryvalue) = S ge_signed_half_cancel_mask_mutableentryvaluedecode))) /\ ((dst_positive_cancel_mask_mutable) + ge_balance_negative_cancel_mask_mutableentryvalue = (dst_negative_cancel_mask_mutable) + ge_balance_positive_cancel_mask_mutableentryvalue))))))))) /\ (((exists dst_positive_code_cancel_mask_muzero dst_positive_scale_cancel_mask_muzero dst_negative_code_cancel_mask_muzero dst_negative_scale_cancel_mask_muzero dst_positive_cancel_mask_muzero dst_negative_cancel_mask_muzero. (((M) = (((((dst_positive_code_cancel_mask_muzero) + (dst_positive_scale_cancel_mask_muzero)) * S ((dst_positive_code_cancel_mask_muzero) + (dst_positive_scale_cancel_mask_muzero)) + ((dst_positive_scale_cancel_mask_muzero) + (dst_positive_scale_cancel_mask_muzero))) + (((dst_negative_code_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)) * S ((dst_negative_code_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)) + ((dst_negative_scale_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)))) * S ((((dst_positive_code_cancel_mask_muzero) + (dst_positive_scale_cancel_mask_muzero)) * S ((dst_positive_code_cancel_mask_muzero) + (dst_positive_scale_cancel_mask_muzero)) + ((dst_positive_scale_cancel_mask_muzero) + (dst_positive_scale_cancel_mask_muzero))) + (((dst_negative_code_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)) * S ((dst_negative_code_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)) + ((dst_negative_scale_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)))) + ((((dst_negative_code_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)) * S ((dst_negative_code_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)) + ((dst_negative_scale_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero))) + (((dst_negative_code_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)) * S ((dst_negative_code_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)) + ((dst_negative_scale_cancel_mask_muzero) + (dst_negative_scale_cancel_mask_muzero)))))) /\ (((((exists ff_h_pvs_cancel_mask_muzeropositive. ff_h_pvs_cancel_mask_muzeropositive + S (dst_positive_cancel_mask_muzero) = S ((S (0)) * dst_positive_scale_cancel_mask_muzero)) /\ exists ff_q_pvs_cancel_mask_muzeropositive. dst_positive_code_cancel_mask_muzero = ff_q_pvs_cancel_mask_muzeropositive * S ((S (0)) * dst_positive_scale_cancel_mask_muzero) + (dst_positive_cancel_mask_muzero))) /\ (((((exists ff_h_pvs_cancel_mask_muzeronegative. ff_h_pvs_cancel_mask_muzeronegative + S (dst_negative_cancel_mask_muzero) = S ((S (0)) * dst_negative_scale_cancel_mask_muzero)) /\ exists ff_q_pvs_cancel_mask_muzeronegative. dst_negative_code_cancel_mask_muzero = ff_q_pvs_cancel_mask_muzeronegative * S ((S (0)) * dst_negative_scale_cancel_mask_muzero) + (dst_negative_cancel_mask_muzero))) /\ (exists ge_balance_positive_cancel_mask_muzerovalue ge_balance_negative_cancel_mask_muzerovalue. (((((0) = 2 * (ge_balance_positive_cancel_mask_muzerovalue) /\ (ge_balance_negative_cancel_mask_muzerovalue) = 0) \/ exists ge_signed_half_cancel_mask_muzerovaluedecode. (((0) = 2 * ge_signed_half_cancel_mask_muzerovaluedecode + 1 /\ (ge_balance_positive_cancel_mask_muzerovalue) = 0) /\ (ge_balance_negative_cancel_mask_muzerovalue) = S ge_signed_half_cancel_mask_muzerovaluedecode))) /\ ((dst_positive_cancel_mask_muzero) + ge_balance_negative_cancel_mask_muzerovalue = (dst_negative_cancel_mask_muzero) + ge_balance_positive_cancel_mask_muzerovalue))))))))) /\ (forall mt_index_cancel_mask_mu mt_value_cancel_mask_mu. ~(mt_index_cancel_mask_mu=0) -> (exists pvs_le_gap_cancel_mask_mudomain. pvs_le_gap_cancel_mask_mudomain + (mt_index_cancel_mask_mu) = (N)) -> (exists dst_positive_code_cancel_mask_muentry dst_positive_scale_cancel_mask_muentry dst_negative_code_cancel_mask_muentry dst_negative_scale_cancel_mask_muentry dst_positive_cancel_mask_muentry dst_negative_cancel_mask_muentry. (((M) = (((((dst_positive_code_cancel_mask_muentry) + (dst_positive_scale_cancel_mask_muentry)) * S ((dst_positive_code_cancel_mask_muentry) + (dst_positive_scale_cancel_mask_muentry)) + ((dst_positive_scale_cancel_mask_muentry) + (dst_positive_scale_cancel_mask_muentry))) + (((dst_negative_code_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)) * S ((dst_negative_code_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)) + ((dst_negative_scale_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)))) * S ((((dst_positive_code_cancel_mask_muentry) + (dst_positive_scale_cancel_mask_muentry)) * S ((dst_positive_code_cancel_mask_muentry) + (dst_positive_scale_cancel_mask_muentry)) + ((dst_positive_scale_cancel_mask_muentry) + (dst_positive_scale_cancel_mask_muentry))) + (((dst_negative_code_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)) * S ((dst_negative_code_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)) + ((dst_negative_scale_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)))) + ((((dst_negative_code_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)) * S ((dst_negative_code_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)) + ((dst_negative_scale_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry))) + (((dst_negative_code_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)) * S ((dst_negative_code_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)) + ((dst_negative_scale_cancel_mask_muentry) + (dst_negative_scale_cancel_mask_muentry)))))) /\ (((((exists ff_h_pvs_cancel_mask_muentrypositive. ff_h_pvs_cancel_mask_muentrypositive + S (dst_positive_cancel_mask_muentry) = S ((S (mt_index_cancel_mask_mu)) * dst_positive_scale_cancel_mask_muentry)) /\ exists ff_q_pvs_cancel_mask_muentrypositive. dst_positive_code_cancel_mask_muentry = ff_q_pvs_cancel_mask_muentrypositive * S ((S (mt_index_cancel_mask_mu)) * dst_positive_scale_cancel_mask_muentry) + (dst_positive_cancel_mask_muentry))) /\ (((((exists ff_h_pvs_cancel_mask_muentrynegative. ff_h_pvs_cancel_mask_muentrynegative + S (dst_negative_cancel_mask_muentry) = S ((S (mt_index_cancel_mask_mu)) * dst_negative_scale_cancel_mask_muentry)) /\ exists ff_q_pvs_cancel_mask_muentrynegative. dst_negative_code_cancel_mask_muentry = ff_q_pvs_cancel_mask_muentrynegative * S ((S (mt_index_cancel_mask_mu)) * dst_negative_scale_cancel_mask_muentry) + (dst_negative_cancel_mask_muentry))) /\ (exists ge_balance_positive_cancel_mask_muentryvalue ge_balance_negative_cancel_mask_muentryvalue. (((((mt_value_cancel_mask_mu) = 2 * (ge_balance_positive_cancel_mask_muentryvalue) /\ (ge_balance_negative_cancel_mask_muentryvalue) = 0) \/ exists ge_signed_half_cancel_mask_muentryvaluedecode. (((mt_value_cancel_mask_mu) = 2 * ge_signed_half_cancel_mask_muentryvaluedecode + 1 /\ (ge_balance_positive_cancel_mask_muentryvalue) = 0) /\ (ge_balance_negative_cancel_mask_muentryvalue) = S ge_signed_half_cancel_mask_muentryvaluedecode))) /\ ((dst_positive_cancel_mask_muentry) + ge_balance_negative_cancel_mask_muentryvalue = (dst_negative_cancel_mask_muentry) + ge_balance_positive_cancel_mask_muentryvalue))))))))) -> (((~((mt_index_cancel_mask_mu) = 0)) /\ ((((exists mv_square_prime_cancel_mask_muvaluesquare. ((~((mv_square_prime_cancel_mask_muvaluesquare) = 1) /\ forall pvs_left_cancel_mask_muvaluesquareprime pvs_right_cancel_mask_muvaluesquareprime. (mv_square_prime_cancel_mask_muvaluesquare) = pvs_left_cancel_mask_muvaluesquareprime * pvs_right_cancel_mask_muvaluesquareprime -> pvs_left_cancel_mask_muvaluesquareprime = 1 \/ pvs_right_cancel_mask_muvaluesquareprime = 1) /\ (exists pvs_factor_cancel_mask_muvaluesquaredivisor. (mt_index_cancel_mask_mu) = (mv_square_prime_cancel_mask_muvaluesquare * mv_square_prime_cancel_mask_muvaluesquare) * pvs_factor_cancel_mask_muvaluesquaredivisor))) /\ ((mt_value_cancel_mask_mu) = 0))) \/ (((((~((mt_index_cancel_mask_mu) = 0)) /\ (forall sfd_prime_cancel_mask_muvaluesquarefree. (~((sfd_prime_cancel_mask_muvaluesquarefree) = 1) /\ forall pvs_left_cancel_mask_muvaluesquarefreedomain pvs_right_cancel_mask_muvaluesquarefreedomain. (sfd_prime_cancel_mask_muvaluesquarefree) = pvs_left_cancel_mask_muvaluesquarefreedomain * pvs_right_cancel_mask_muvaluesquarefreedomain -> pvs_left_cancel_mask_muvaluesquarefreedomain = 1 \/ pvs_right_cancel_mask_muvaluesquarefreedomain = 1) -> (exists pvs_le_gap_cancel_mask_muvaluesquarefreebound. pvs_le_gap_cancel_mask_muvaluesquarefreebound + (sfd_prime_cancel_mask_muvaluesquarefree) = (mt_index_cancel_mask_mu)) -> ~(exists pvs_factor_cancel_mask_muvaluesquarefreesquare. (mt_index_cancel_mask_mu) = (sfd_prime_cancel_mask_muvaluesquarefree * sfd_prime_cancel_mask_muvaluesquarefree) * pvs_factor_cancel_mask_muvaluesquarefreesquare)))) /\ (exists mv_factor_code_cancel_mask_muvaluefactors mv_factor_scale_cancel_mask_muvaluefactors mv_factor_count_cancel_mask_muvaluefactors. (((~(mt_index_cancel_mask_mu = 0) /\ ((exists ff_u_fsat_cancel_mask_muvaluefactorsfactorization_product ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product. ((((exists ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_start. ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_start. ff_u_fsat_cancel_mask_muvaluefactorsfactorization_product = ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_terminal. ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_terminal + S (mt_index_cancel_mask_mu) = S ((S (mv_factor_count_cancel_mask_muvaluefactors)) * ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_terminal. ff_u_fsat_cancel_mask_muvaluefactorsfactorization_product = ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_terminal * S ((S (mv_factor_count_cancel_mask_muvaluefactors)) * ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product) + (mt_index_cancel_mask_mu))) /\ forall ff_i_fsat_cancel_mask_muvaluefactorsfactorization_product. (exists ff_lt_fsat_cancel_mask_muvaluefactorsfactorization_product_bound. ff_lt_fsat_cancel_mask_muvaluefactorsfactorization_product_bound + S ff_i_fsat_cancel_mask_muvaluefactorsfactorization_product = mv_factor_count_cancel_mask_muvaluefactors) -> exists ff_p_fsat_cancel_mask_muvaluefactorsfactorization_product ff_r_fsat_cancel_mask_muvaluefactorsfactorization_product ff_s_fsat_cancel_mask_muvaluefactorsfactorization_product. ((((exists ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_factor. ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_factor + S (ff_p_fsat_cancel_mask_muvaluefactorsfactorization_product) = S ((S (ff_i_fsat_cancel_mask_muvaluefactorsfactorization_product)) * mv_factor_scale_cancel_mask_muvaluefactors)) /\ exists ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_factor. mv_factor_code_cancel_mask_muvaluefactors = ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_factor * S ((S (ff_i_fsat_cancel_mask_muvaluefactorsfactorization_product)) * mv_factor_scale_cancel_mask_muvaluefactors) + (ff_p_fsat_cancel_mask_muvaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_partial. ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_partial + S (ff_r_fsat_cancel_mask_muvaluefactorsfactorization_product) = S ((S (ff_i_fsat_cancel_mask_muvaluefactorsfactorization_product)) * ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_partial. ff_u_fsat_cancel_mask_muvaluefactorsfactorization_product = ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_partial * S ((S (ff_i_fsat_cancel_mask_muvaluefactorsfactorization_product)) * ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product) + (ff_r_fsat_cancel_mask_muvaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_successor. ff_h_fsat_cancel_mask_muvaluefactorsfactorization_product_successor + S (ff_s_fsat_cancel_mask_muvaluefactorsfactorization_product) = S ((S (S ff_i_fsat_cancel_mask_muvaluefactorsfactorization_product)) * ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product)) /\ exists ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_successor. ff_u_fsat_cancel_mask_muvaluefactorsfactorization_product = ff_q_fsat_cancel_mask_muvaluefactorsfactorization_product_successor * S ((S (S ff_i_fsat_cancel_mask_muvaluefactorsfactorization_product)) * ff_v_fsat_cancel_mask_muvaluefactorsfactorization_product) + (ff_s_fsat_cancel_mask_muvaluefactorsfactorization_product))) /\ ff_s_fsat_cancel_mask_muvaluefactorsfactorization_product = ff_r_fsat_cancel_mask_muvaluefactorsfactorization_product * ff_p_fsat_cancel_mask_muvaluefactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_cancel_mask_muvaluefactorsfactorization_primes. (exists ftsf_gap_fsat_cancel_mask_muvaluefactorsfactorization_primes_bound. ftsf_gap_fsat_cancel_mask_muvaluefactorsfactorization_primes_bound + S ftsf_index_fsat_cancel_mask_muvaluefactorsfactorization_primes = (mv_factor_count_cancel_mask_muvaluefactors)) -> exists ftsf_factor_fsat_cancel_mask_muvaluefactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_entry. ff_h_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_entry + S (ftsf_factor_fsat_cancel_mask_muvaluefactorsfactorization_primes) = S ((S (ftsf_index_fsat_cancel_mask_muvaluefactorsfactorization_primes)) * mv_factor_scale_cancel_mask_muvaluefactors)) /\ exists ff_q_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_entry. mv_factor_code_cancel_mask_muvaluefactors = ff_q_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_cancel_mask_muvaluefactorsfactorization_primes)) * mv_factor_scale_cancel_mask_muvaluefactors) + (ftsf_factor_fsat_cancel_mask_muvaluefactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_cancel_mask_muvaluefactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_prime. ftsf_factor_fsat_cancel_mask_muvaluefactorsfactorization_primes = frm_prime_left_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_cancel_mask_muvaluefactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_cancel_mask_muvaluefactorsparityeven. (mv_factor_count_cancel_mask_muvaluefactors) = 2 * mv_even_half_cancel_mask_muvaluefactorsparityeven) /\ ((mt_value_cancel_mask_mu) = 2))) \/ (((exists mv_odd_half_cancel_mask_muvaluefactorsparityodd. (mv_factor_count_cancel_mask_muvaluefactors) = 2 * mv_odd_half_cancel_mask_muvaluefactorsparityodd + 1) /\ ((mt_value_cancel_mask_mu) = 1)))))))))))))))) -> ~(n=0) -> (exists pvs_le_gap_cancel_mask_N. pvs_le_gap_cancel_mask_N + (n) = (N)) -> (~((p) = 1) /\ forall pvs_left_cancel_mask_prime pvs_right_cancel_mask_prime. (p) = pvs_left_cancel_mask_prime * pvs_right_cancel_mask_prime -> pvs_left_cancel_mask_prime = 1 \/ pvs_right_cancel_mask_prime = 1) -> (exists pvs_factor_cancel_mask_p_divisor. (n) = (p) * pvs_factor_cancel_mask_p_divisor) -> (((exists dst_positive_code_cancel_masktable dst_positive_scale_cancel_masktable dst_negative_code_cancel_masktable dst_negative_scale_cancel_masktable. (((K) = (((((dst_positive_code_cancel_masktable) + (dst_positive_scale_cancel_masktable)) * S ((dst_positive_code_cancel_masktable) + (dst_positive_scale_cancel_masktable)) + ((dst_positive_scale_cancel_masktable) + (dst_positive_scale_cancel_masktable))) + (((dst_negative_code_cancel_masktable) + (dst_negative_scale_cancel_masktable)) * S ((dst_negative_code_cancel_masktable) + (dst_negative_scale_cancel_masktable)) + ((dst_negative_scale_cancel_masktable) + (dst_negative_scale_cancel_masktable)))) * S ((((dst_positive_code_cancel_masktable) + (dst_positive_scale_cancel_masktable)) * S ((dst_positive_code_cancel_masktable) + (dst_positive_scale_cancel_masktable)) + ((dst_positive_scale_cancel_masktable) + (dst_positive_scale_cancel_masktable))) + (((dst_negative_code_cancel_masktable) + (dst_negative_scale_cancel_masktable)) * S ((dst_negative_code_cancel_masktable) + (dst_negative_scale_cancel_masktable)) + ((dst_negative_scale_cancel_masktable) + (dst_negative_scale_cancel_masktable)))) + ((((dst_negative_code_cancel_masktable) + (dst_negative_scale_cancel_masktable)) * S ((dst_negative_code_cancel_masktable) + (dst_negative_scale_cancel_masktable)) + ((dst_negative_scale_cancel_masktable) + (dst_negative_scale_cancel_masktable))) + (((dst_negative_code_cancel_masktable) + (dst_negative_scale_cancel_masktable)) * S ((dst_negative_code_cancel_masktable) + (dst_negative_scale_cancel_masktable)) + ((dst_negative_scale_cancel_masktable) + (dst_negative_scale_cancel_masktable)))))) /\ (forall dst_index_cancel_masktable. (exists pvs_le_gap_cancel_masktabledomain. pvs_le_gap_cancel_masktabledomain + (dst_index_cancel_masktable) = (n)) -> exists dst_positive_cancel_masktable dst_negative_cancel_masktable dst_value_cancel_masktable. ((((exists ff_h_pvs_cancel_masktableentrypositive. ff_h_pvs_cancel_masktableentrypositive + S (dst_positive_cancel_masktable) = S ((S (dst_index_cancel_masktable)) * dst_positive_scale_cancel_masktable)) /\ exists ff_q_pvs_cancel_masktableentrypositive. dst_positive_code_cancel_masktable = ff_q_pvs_cancel_masktableentrypositive * S ((S (dst_index_cancel_masktable)) * dst_positive_scale_cancel_masktable) + (dst_positive_cancel_masktable))) /\ (((((exists ff_h_pvs_cancel_masktableentrynegative. ff_h_pvs_cancel_masktableentrynegative + S (dst_negative_cancel_masktable) = S ((S (dst_index_cancel_masktable)) * dst_negative_scale_cancel_masktable)) /\ exists ff_q_pvs_cancel_masktableentrynegative. dst_negative_code_cancel_masktable = ff_q_pvs_cancel_masktableentrynegative * S ((S (dst_index_cancel_masktable)) * dst_negative_scale_cancel_masktable) + (dst_negative_cancel_masktable))) /\ (exists ge_balance_positive_cancel_masktableentryvalue ge_balance_negative_cancel_masktableentryvalue. (((((dst_value_cancel_masktable) = 2 * (ge_balance_positive_cancel_masktableentryvalue) /\ (ge_balance_negative_cancel_masktableentryvalue) = 0) \/ exists ge_signed_half_cancel_masktableentryvaluedecode. (((dst_value_cancel_masktable) = 2 * ge_signed_half_cancel_masktableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_masktableentryvalue) = 0) /\ (ge_balance_negative_cancel_masktableentryvalue) = S ge_signed_half_cancel_masktableentryvaluedecode))) /\ ((dst_positive_cancel_masktable) + ge_balance_negative_cancel_masktableentryvalue = (dst_negative_cancel_masktable) + ge_balance_positive_cancel_masktableentryvalue))))))))) /\ (forall dm_index_cancel_mask dm_value_cancel_mask. (exists pvs_le_gap_cancel_maskdomain. pvs_le_gap_cancel_maskdomain + (dm_index_cancel_mask) = (n)) -> (exists dst_positive_code_cancel_masklookup dst_positive_scale_cancel_masklookup dst_negative_code_cancel_masklookup dst_negative_scale_cancel_masklookup dst_positive_cancel_masklookup dst_negative_cancel_masklookup. (((K) = (((((dst_positive_code_cancel_masklookup) + (dst_positive_scale_cancel_masklookup)) * S ((dst_positive_code_cancel_masklookup) + (dst_positive_scale_cancel_masklookup)) + ((dst_positive_scale_cancel_masklookup) + (dst_positive_scale_cancel_masklookup))) + (((dst_negative_code_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)) * S ((dst_negative_code_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)) + ((dst_negative_scale_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)))) * S ((((dst_positive_code_cancel_masklookup) + (dst_positive_scale_cancel_masklookup)) * S ((dst_positive_code_cancel_masklookup) + (dst_positive_scale_cancel_masklookup)) + ((dst_positive_scale_cancel_masklookup) + (dst_positive_scale_cancel_masklookup))) + (((dst_negative_code_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)) * S ((dst_negative_code_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)) + ((dst_negative_scale_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)))) + ((((dst_negative_code_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)) * S ((dst_negative_code_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)) + ((dst_negative_scale_cancel_masklookup) + (dst_negative_scale_cancel_masklookup))) + (((dst_negative_code_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)) * S ((dst_negative_code_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)) + ((dst_negative_scale_cancel_masklookup) + (dst_negative_scale_cancel_masklookup)))))) /\ (((((exists ff_h_pvs_cancel_masklookuppositive. ff_h_pvs_cancel_masklookuppositive + S (dst_positive_cancel_masklookup) = S ((S (dm_index_cancel_mask)) * dst_positive_scale_cancel_masklookup)) /\ exists ff_q_pvs_cancel_masklookuppositive. dst_positive_code_cancel_masklookup = ff_q_pvs_cancel_masklookuppositive * S ((S (dm_index_cancel_mask)) * dst_positive_scale_cancel_masklookup) + (dst_positive_cancel_masklookup))) /\ (((((exists ff_h_pvs_cancel_masklookupnegative. ff_h_pvs_cancel_masklookupnegative + S (dst_negative_cancel_masklookup) = S ((S (dm_index_cancel_mask)) * dst_negative_scale_cancel_masklookup)) /\ exists ff_q_pvs_cancel_masklookupnegative. dst_negative_code_cancel_masklookup = ff_q_pvs_cancel_masklookupnegative * S ((S (dm_index_cancel_mask)) * dst_negative_scale_cancel_masklookup) + (dst_negative_cancel_masklookup))) /\ (exists ge_balance_positive_cancel_masklookupvalue ge_balance_negative_cancel_masklookupvalue. (((((dm_value_cancel_mask) = 2 * (ge_balance_positive_cancel_masklookupvalue) /\ (ge_balance_negative_cancel_masklookupvalue) = 0) \/ exists ge_signed_half_cancel_masklookupvaluedecode. (((dm_value_cancel_mask) = 2 * ge_signed_half_cancel_masklookupvaluedecode + 1 /\ (ge_balance_positive_cancel_masklookupvalue) = 0) /\ (ge_balance_negative_cancel_masklookupvalue) = S ge_signed_half_cancel_masklookupvaluedecode))) /\ ((dst_positive_cancel_masklookup) + ge_balance_negative_cancel_masklookupvalue = (dst_negative_cancel_masklookup) + ge_balance_positive_cancel_masklookupvalue))))))))) -> ((((~((dm_index_cancel_mask)=0)) /\ (exists dm_quotient_cancel_maskentry. (((n)=(dm_index_cancel_mask)*dm_quotient_cancel_maskentry) /\ (exists dst_positive_code_cancel_maskentryinput dst_positive_scale_cancel_maskentryinput dst_negative_code_cancel_maskentryinput dst_negative_scale_cancel_maskentryinput dst_positive_cancel_maskentryinput dst_negative_cancel_maskentryinput. (((M) = (((((dst_positive_code_cancel_maskentryinput) + (dst_positive_scale_cancel_maskentryinput)) * S ((dst_positive_code_cancel_maskentryinput) + (dst_positive_scale_cancel_maskentryinput)) + ((dst_positive_scale_cancel_maskentryinput) + (dst_positive_scale_cancel_maskentryinput))) + (((dst_negative_code_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)) * S ((dst_negative_code_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)) + ((dst_negative_scale_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)))) * S ((((dst_positive_code_cancel_maskentryinput) + (dst_positive_scale_cancel_maskentryinput)) * S ((dst_positive_code_cancel_maskentryinput) + (dst_positive_scale_cancel_maskentryinput)) + ((dst_positive_scale_cancel_maskentryinput) + (dst_positive_scale_cancel_maskentryinput))) + (((dst_negative_code_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)) * S ((dst_negative_code_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)) + ((dst_negative_scale_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)))) + ((((dst_negative_code_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)) * S ((dst_negative_code_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)) + ((dst_negative_scale_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput))) + (((dst_negative_code_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)) * S ((dst_negative_code_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)) + ((dst_negative_scale_cancel_maskentryinput) + (dst_negative_scale_cancel_maskentryinput)))))) /\ (((((exists ff_h_pvs_cancel_maskentryinputpositive. ff_h_pvs_cancel_maskentryinputpositive + S (dst_positive_cancel_maskentryinput) = S ((S (dm_index_cancel_mask)) * dst_positive_scale_cancel_maskentryinput)) /\ exists ff_q_pvs_cancel_maskentryinputpositive. dst_positive_code_cancel_maskentryinput = ff_q_pvs_cancel_maskentryinputpositive * S ((S (dm_index_cancel_mask)) * dst_positive_scale_cancel_maskentryinput) + (dst_positive_cancel_maskentryinput))) /\ (((((exists ff_h_pvs_cancel_maskentryinputnegative. ff_h_pvs_cancel_maskentryinputnegative + S (dst_negative_cancel_maskentryinput) = S ((S (dm_index_cancel_mask)) * dst_negative_scale_cancel_maskentryinput)) /\ exists ff_q_pvs_cancel_maskentryinputnegative. dst_negative_code_cancel_maskentryinput = ff_q_pvs_cancel_maskentryinputnegative * S ((S (dm_index_cancel_mask)) * dst_negative_scale_cancel_maskentryinput) + (dst_negative_cancel_maskentryinput))) /\ (exists ge_balance_positive_cancel_maskentryinputvalue ge_balance_negative_cancel_maskentryinputvalue. (((((dm_value_cancel_mask) = 2 * (ge_balance_positive_cancel_maskentryinputvalue) /\ (ge_balance_negative_cancel_maskentryinputvalue) = 0) \/ exists ge_signed_half_cancel_maskentryinputvaluedecode. (((dm_value_cancel_mask) = 2 * ge_signed_half_cancel_maskentryinputvaluedecode + 1 /\ (ge_balance_positive_cancel_maskentryinputvalue) = 0) /\ (ge_balance_negative_cancel_maskentryinputvalue) = S ge_signed_half_cancel_maskentryinputvaluedecode))) /\ ((dst_positive_cancel_maskentryinput) + ge_balance_negative_cancel_maskentryinputvalue = (dst_negative_cancel_maskentryinput) + ge_balance_positive_cancel_maskentryinputvalue))))))))))))) \/ ((((dm_index_cancel_mask)=0 \/ ~(exists pvs_factor_cancel_maskentrynondivisor. (n) = (dm_index_cancel_mask) * pvs_factor_cancel_maskentrynondivisor)) /\ ((dm_value_cancel_mask)=0))))))) -> (exists dst_positive_code_cancel_mask_sum dst_positive_scale_cancel_mask_sum dst_negative_code_cancel_mask_sum dst_negative_scale_cancel_mask_sum dst_positive_sum_cancel_mask_sum dst_negative_sum_cancel_mask_sum. (((K) = (((((dst_positive_code_cancel_mask_sum) + (dst_positive_scale_cancel_mask_sum)) * S ((dst_positive_code_cancel_mask_sum) + (dst_positive_scale_cancel_mask_sum)) + ((dst_positive_scale_cancel_mask_sum) + (dst_positive_scale_cancel_mask_sum))) + (((dst_negative_code_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)) * S ((dst_negative_code_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)) + ((dst_negative_scale_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)))) * S ((((dst_positive_code_cancel_mask_sum) + (dst_positive_scale_cancel_mask_sum)) * S ((dst_positive_code_cancel_mask_sum) + (dst_positive_scale_cancel_mask_sum)) + ((dst_positive_scale_cancel_mask_sum) + (dst_positive_scale_cancel_mask_sum))) + (((dst_negative_code_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)) * S ((dst_negative_code_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)) + ((dst_negative_scale_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)))) + ((((dst_negative_code_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)) * S ((dst_negative_code_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)) + ((dst_negative_scale_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum))) + (((dst_negative_code_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)) * S ((dst_negative_code_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)) + ((dst_negative_scale_cancel_mask_sum) + (dst_negative_scale_cancel_mask_sum)))))) /\ (((exists fs_u_dst_cancel_mask_sumpositive fs_v_dst_cancel_mask_sumpositive. ((((exists fs_h_dst_cancel_mask_sumpositive_body_start. fs_h_dst_cancel_mask_sumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_mask_sumpositive)) /\ exists fs_q_dst_cancel_mask_sumpositive_body_start. fs_u_dst_cancel_mask_sumpositive = fs_q_dst_cancel_mask_sumpositive_body_start * S ((S (0)) * fs_v_dst_cancel_mask_sumpositive) + (0))) /\ ((((exists fs_h_dst_cancel_mask_sumpositive_body_terminal. fs_h_dst_cancel_mask_sumpositive_body_terminal + S (dst_positive_sum_cancel_mask_sum) = S ((S (S n)) * fs_v_dst_cancel_mask_sumpositive)) /\ exists fs_q_dst_cancel_mask_sumpositive_body_terminal. fs_u_dst_cancel_mask_sumpositive = fs_q_dst_cancel_mask_sumpositive_body_terminal * S ((S (S n)) * fs_v_dst_cancel_mask_sumpositive) + (dst_positive_sum_cancel_mask_sum))) /\ forall fs_i_dst_cancel_mask_sumpositive_body_steps. (exists fs_lt_dst_cancel_mask_sumpositive_body_steps_bound. fs_lt_dst_cancel_mask_sumpositive_body_steps_bound + S fs_i_dst_cancel_mask_sumpositive_body_steps = S n) -> exists fs_a_dst_cancel_mask_sumpositive_body_steps fs_r_dst_cancel_mask_sumpositive_body_steps fs_s_dst_cancel_mask_sumpositive_body_steps. ((((exists fs_h_dst_cancel_mask_sumpositive_body_steps_summand. fs_h_dst_cancel_mask_sumpositive_body_steps_summand + S (fs_a_dst_cancel_mask_sumpositive_body_steps) = S ((S (fs_i_dst_cancel_mask_sumpositive_body_steps)) * dst_positive_scale_cancel_mask_sum)) /\ exists fs_q_dst_cancel_mask_sumpositive_body_steps_summand. dst_positive_code_cancel_mask_sum = fs_q_dst_cancel_mask_sumpositive_body_steps_summand * S ((S (fs_i_dst_cancel_mask_sumpositive_body_steps)) * dst_positive_scale_cancel_mask_sum) + (fs_a_dst_cancel_mask_sumpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_mask_sumpositive_body_steps_partial. fs_h_dst_cancel_mask_sumpositive_body_steps_partial + S (fs_r_dst_cancel_mask_sumpositive_body_steps) = S ((S (fs_i_dst_cancel_mask_sumpositive_body_steps)) * fs_v_dst_cancel_mask_sumpositive)) /\ exists fs_q_dst_cancel_mask_sumpositive_body_steps_partial. fs_u_dst_cancel_mask_sumpositive = fs_q_dst_cancel_mask_sumpositive_body_steps_partial * S ((S (fs_i_dst_cancel_mask_sumpositive_body_steps)) * fs_v_dst_cancel_mask_sumpositive) + (fs_r_dst_cancel_mask_sumpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_mask_sumpositive_body_steps_successor. fs_h_dst_cancel_mask_sumpositive_body_steps_successor + S (fs_s_dst_cancel_mask_sumpositive_body_steps) = S ((S (S fs_i_dst_cancel_mask_sumpositive_body_steps)) * fs_v_dst_cancel_mask_sumpositive)) /\ exists fs_q_dst_cancel_mask_sumpositive_body_steps_successor. fs_u_dst_cancel_mask_sumpositive = fs_q_dst_cancel_mask_sumpositive_body_steps_successor * S ((S (S fs_i_dst_cancel_mask_sumpositive_body_steps)) * fs_v_dst_cancel_mask_sumpositive) + (fs_s_dst_cancel_mask_sumpositive_body_steps))) /\ fs_s_dst_cancel_mask_sumpositive_body_steps = fs_r_dst_cancel_mask_sumpositive_body_steps + fs_a_dst_cancel_mask_sumpositive_body_steps)))))) /\ (((exists fs_u_dst_cancel_mask_sumnegative fs_v_dst_cancel_mask_sumnegative. ((((exists fs_h_dst_cancel_mask_sumnegative_body_start. fs_h_dst_cancel_mask_sumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_mask_sumnegative)) /\ exists fs_q_dst_cancel_mask_sumnegative_body_start. fs_u_dst_cancel_mask_sumnegative = fs_q_dst_cancel_mask_sumnegative_body_start * S ((S (0)) * fs_v_dst_cancel_mask_sumnegative) + (0))) /\ ((((exists fs_h_dst_cancel_mask_sumnegative_body_terminal. fs_h_dst_cancel_mask_sumnegative_body_terminal + S (dst_negative_sum_cancel_mask_sum) = S ((S (S n)) * fs_v_dst_cancel_mask_sumnegative)) /\ exists fs_q_dst_cancel_mask_sumnegative_body_terminal. fs_u_dst_cancel_mask_sumnegative = fs_q_dst_cancel_mask_sumnegative_body_terminal * S ((S (S n)) * fs_v_dst_cancel_mask_sumnegative) + (dst_negative_sum_cancel_mask_sum))) /\ forall fs_i_dst_cancel_mask_sumnegative_body_steps. (exists fs_lt_dst_cancel_mask_sumnegative_body_steps_bound. fs_lt_dst_cancel_mask_sumnegative_body_steps_bound + S fs_i_dst_cancel_mask_sumnegative_body_steps = S n) -> exists fs_a_dst_cancel_mask_sumnegative_body_steps fs_r_dst_cancel_mask_sumnegative_body_steps fs_s_dst_cancel_mask_sumnegative_body_steps. ((((exists fs_h_dst_cancel_mask_sumnegative_body_steps_summand. fs_h_dst_cancel_mask_sumnegative_body_steps_summand + S (fs_a_dst_cancel_mask_sumnegative_body_steps) = S ((S (fs_i_dst_cancel_mask_sumnegative_body_steps)) * dst_negative_scale_cancel_mask_sum)) /\ exists fs_q_dst_cancel_mask_sumnegative_body_steps_summand. dst_negative_code_cancel_mask_sum = fs_q_dst_cancel_mask_sumnegative_body_steps_summand * S ((S (fs_i_dst_cancel_mask_sumnegative_body_steps)) * dst_negative_scale_cancel_mask_sum) + (fs_a_dst_cancel_mask_sumnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_mask_sumnegative_body_steps_partial. fs_h_dst_cancel_mask_sumnegative_body_steps_partial + S (fs_r_dst_cancel_mask_sumnegative_body_steps) = S ((S (fs_i_dst_cancel_mask_sumnegative_body_steps)) * fs_v_dst_cancel_mask_sumnegative)) /\ exists fs_q_dst_cancel_mask_sumnegative_body_steps_partial. fs_u_dst_cancel_mask_sumnegative = fs_q_dst_cancel_mask_sumnegative_body_steps_partial * S ((S (fs_i_dst_cancel_mask_sumnegative_body_steps)) * fs_v_dst_cancel_mask_sumnegative) + (fs_r_dst_cancel_mask_sumnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_mask_sumnegative_body_steps_successor. fs_h_dst_cancel_mask_sumnegative_body_steps_successor + S (fs_s_dst_cancel_mask_sumnegative_body_steps) = S ((S (S fs_i_dst_cancel_mask_sumnegative_body_steps)) * fs_v_dst_cancel_mask_sumnegative)) /\ exists fs_q_dst_cancel_mask_sumnegative_body_steps_successor. fs_u_dst_cancel_mask_sumnegative = fs_q_dst_cancel_mask_sumnegative_body_steps_successor * S ((S (S fs_i_dst_cancel_mask_sumnegative_body_steps)) * fs_v_dst_cancel_mask_sumnegative) + (fs_s_dst_cancel_mask_sumnegative_body_steps))) /\ fs_s_dst_cancel_mask_sumnegative_body_steps = fs_r_dst_cancel_mask_sumnegative_body_steps + fs_a_dst_cancel_mask_sumnegative_body_steps)))))) /\ (exists ge_balance_positive_cancel_mask_sumresult ge_balance_negative_cancel_mask_sumresult. (((((z) = 2 * (ge_balance_positive_cancel_mask_sumresult) /\ (ge_balance_negative_cancel_mask_sumresult) = 0) \/ exists ge_signed_half_cancel_mask_sumresultdecode. (((z) = 2 * ge_signed_half_cancel_mask_sumresultdecode + 1 /\ (ge_balance_positive_cancel_mask_sumresult) = 0) /\ (ge_balance_negative_cancel_mask_sumresult) = S ge_signed_half_cancel_mask_sumresultdecode))) /\ ((dst_positive_sum_cancel_mask_sum) + ge_balance_negative_cancel_mask_sumresult = (dst_negative_sum_cancel_mask_sum) + ge_balance_positive_cancel_mask_sumresult))))))))) -> z=0Constructive proof overview
Generated structural guide
A genuinely constructed prime-toggle permutation makes the actual zero-masked Möbius sum anti-invariant, hence zero; no cancellation formula is an input.
The unchanged tactic script uses 9 declared prerequisites and contains 133 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
MC000F divisor_prime_toggle_permutation_exists divisor_signed_table_reindex_exists Alpha theorem; checked-use authorized arithmetic_signed_sum_exists Alpha theorem; checked-use authorized MC000B divisor_prime_toggle_bounded le_of_succ_le_succ Stable theorem; checked-use authorized divisor_signed_table_lookup Alpha theorem; checked-use authorized divisor_signed_table_at_functional Alpha theorem; checked-use authorized MC0012 mobius_divisor_mask_prime_toggle_negates MC0015 anti_invariant_signed_permutation_sum_zeroDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish hmapL14–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor prime toggle permutation exists.
- L14
have hmap : ∃ r. ∃ s. DivisorPrimeTogglePrefix(n,p,r,s,S n) ∧ PermutationPrefix(r,s,S n)Definitions: PermutationPrefixDivisorPrimeTogglePrefix - L15
specialize divisor_prime_toggle_permutation_exists (n) - L16
specialize divisor_prime_toggle_permutation_exists (p) - L17
apply divisor_prime_toggle_permutation_exists - L18
exact hn - L19
exact hp - L20
exact hpn
04Separate the logical casesL21–26
05Establish hGL27–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table reindex exists.
- L27
have hG : ∃ G. ArithTable(S n,G) ∧ ArithReindex(K,G,x,x1,S n)Definitions: ArithTableArithReindex - L28
specialize divisor_signed_table_reindex_exists (n) - L29
specialize divisor_signed_table_reindex_exists (K) - L30
specialize divisor_signed_table_reindex_exists (x) - L31
specialize divisor_signed_table_reindex_exists (x1) - L32
specialize divisor_signed_table_reindex_exists (S n) - L33
apply divisor_signed_table_reindex_exists - L34
exact hmask_left
06Separate the logical casesL35–36
07Establish hsumL37–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed sum exists.
08Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hsum
09Establish hpointL44–50
10Establish hiimageL51–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hmap witness witness left.
11Separate the logical casesL55–56
12Establish hqboundL57–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor prime toggle bounded.
- L57
have hqbound : exists pvs_le_gap_cancel_image_bound. pvs_le_gap_cancel_image_bound + (x4) = (n) - L58
specialize divisor_prime_toggle_bounded (n) - L59
specialize divisor_prime_toggle_bounded (p) - L60
specialize divisor_prime_toggle_bounded (i) - L61
specialize divisor_prime_toggle_bounded (x4) - L62
apply divisor_prime_toggle_bounded - L63
exact hn - L64
exact hp - L65
exact hpn - L66
specialize le_of_succ_le_succ (i)
13Use earlier factsL67–70
14Establish hvalueL71–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup.
15Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
cases hvalue
16Establish heqL79–88
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table at functional.
- L79
have heq : x5=b - L80
specialize divisor_signed_table_at_functional (x2) - L81
specialize divisor_signed_table_at_functional (i) - L82
specialize divisor_signed_table_at_functional (x5) - L83
specialize divisor_signed_table_at_functional (b) - L84
apply divisor_signed_table_at_functional - L85
specialize hG_witness_right (i) - L86
specialize hG_witness_right (x4) - L87
specialize hG_witness_right (x5) - L88
apply hG_witness_right
17Use earlier factsL89–92
18Establish hnegL93–102
Establish this local claim before using it. It is not an additional assumption.
- L93
have hneg : SignedNegate(a,x5)Definitions: SignedNegate - L94
specialize mobius_divisor_mask_prime_toggle_negates (N) - L95
specialize mobius_divisor_mask_prime_toggle_negates (M) - L96
specialize mobius_divisor_mask_prime_toggle_negates (n) - L97
specialize mobius_divisor_mask_prime_toggle_negates (K) - L98
specialize mobius_divisor_mask_prime_toggle_negates (p) - L99
specialize mobius_divisor_mask_prime_toggle_negates (i) - L100
specialize mobius_divisor_mask_prime_toggle_negates (x4) - L101
specialize mobius_divisor_mask_prime_toggle_negates (a) - L102
specialize mobius_divisor_mask_prime_toggle_negates (x5)
19Use earlier factsL103–112
Instantiate or apply named facts and discharge the corresponding proof obligations.
20Use earlier factsL113–116
21Calculate and transport equalitiesL117–118
22Use earlier factsL119–128
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L119
exact hneg - L120
specialize anti_invariant_signed_permutation_sum_zero (K) - L121
specialize anti_invariant_signed_permutation_sum_zero (x2) - L122
specialize anti_invariant_signed_permutation_sum_zero (x) - L123
specialize anti_invariant_signed_permutation_sum_zero (x1) - L124
specialize anti_invariant_signed_permutation_sum_zero (S n) - L125
specialize anti_invariant_signed_permutation_sum_zero (z) - L126
specialize anti_invariant_signed_permutation_sum_zero (x3) - L127
apply anti_invariant_signed_permutation_sum_zero - L128
exact hmap_witness_witness_right_left
Original exact command ledger · 133 lines
- 0001
intro N - 0002
intro M - 0003
intro n - 0004
intro K - 0005
intro p - 0006
intro z - 0007
intro hmu - 0008
intro hn - 0009
intro hN - 0010
intro hp - 0011
intro hpn - 0012
intro hmask - 0013
intro hz - 0014
have hmap : exists r s. (forall dvi_index_cancel_constructed_prefix. (exists pvs_gap_cancel_constructed_prefixdomain. pvs_gap_cancel_constructed_prefixdomain + S (dvi_index_cancel_constructed_prefix) = (S n)) -> exists dvi_value_cancel_constructed_prefix. ((((exists ff_h_pvs_cancel_constructed_prefixentry. ff_h_pvs_cancel_constructed_prefixentry + S (dvi_value_cancel_constructed_prefix) = S ((S (dvi_index_cancel_constructed_prefix)) * s)) /\ exists ff_q_pvs_cancel_constructed_prefixentry. r = ff_q_pvs_cancel_constructed_prefixentry * S ((S (dvi_index_cancel_constructed_prefix)) * s) + (dvi_value_cancel_constructed_prefix))) /\ ((((~((dvi_index_cancel_constructed_prefix)=0)) /\ (((exists pvs_factor_cancel_constructed_prefixgraphdivisor. (n) = (dvi_index_cancel_constructed_prefix) * pvs_factor_cancel_constructed_prefixgraphdivisor) /\ ((((~(exists pvs_factor_cancel_constructed_prefixgraphtogglefresh_input. (dvi_index_cancel_constructed_prefix) = (p) * pvs_factor_cancel_constructed_prefixgraphtogglefresh_input)) /\ ((dvi_value_cancel_constructed_prefix)=(p)*(dvi_index_cancel_constructed_prefix)))) \/ (((((dvi_index_cancel_constructed_prefix)=(p)*(dvi_value_cancel_constructed_prefix)) /\ (~(exists pvs_factor_cancel_constructed_prefixgraphtogglefresh_output. (dvi_value_cancel_constructed_prefix) = (p) * pvs_factor_cancel_constructed_prefixgraphtogglefresh_output)))) \/ (((exists pvs_factor_cancel_constructed_prefixgraphtogglesquare. (dvi_index_cancel_constructed_prefix) = ((p)*(p)) * pvs_factor_cancel_constructed_prefixgraphtogglesquare) /\ ((dvi_value_cancel_constructed_prefix)=(dvi_index_cancel_constructed_prefix)))))))))) \/ ((((dvi_index_cancel_constructed_prefix)=0 \/ ~(exists pvs_factor_cancel_constructed_prefixgraphnondivisor. (n) = (dvi_index_cancel_constructed_prefix) * pvs_factor_cancel_constructed_prefixgraphnondivisor)) /\ ((dvi_value_cancel_constructed_prefix)=(dvi_index_cancel_constructed_prefix))))))) /\ (((forall pfp_i_cancel_constructed_permutationbounded. (exists pfp_gap_cancel_constructed_permutationboundedindex. pfp_gap_cancel_constructed_permutationboundedindex + S (pfp_i_cancel_constructed_permutationbounded) = (S n)) -> exists pfp_a_cancel_constructed_permutationbounded. (((exists ff_h_pfp_cancel_constructed_permutationboundedentry. ff_h_pfp_cancel_constructed_permutationboundedentry + S (pfp_a_cancel_constructed_permutationbounded) = S ((S (pfp_i_cancel_constructed_permutationbounded)) * s)) /\ exists ff_q_pfp_cancel_constructed_permutationboundedentry. r = ff_q_pfp_cancel_constructed_permutationboundedentry * S ((S (pfp_i_cancel_constructed_permutationbounded)) * s) + (pfp_a_cancel_constructed_permutationbounded))) /\ (exists pfp_gap_cancel_constructed_permutationboundedvalue. pfp_gap_cancel_constructed_permutationboundedvalue + S (pfp_a_cancel_constructed_permutationbounded) = (S n))) /\ (((forall pfp_i_cancel_constructed_permutationinjective pfp_j_cancel_constructed_permutationinjective pfp_a_cancel_constructed_permutationinjective. (exists pfp_gap_cancel_constructed_permutationinjectivefirst. pfp_gap_cancel_constructed_permutationinjectivefirst + S (pfp_i_cancel_constructed_permutationinjective) = (S n)) -> (exists pfp_gap_cancel_constructed_permutationinjectivesecond. pfp_gap_cancel_constructed_permutationinjectivesecond + S (pfp_j_cancel_constructed_permutationinjective) = (S n)) -> (((exists ff_h_pfp_cancel_constructed_permutationinjectiveleft. ff_h_pfp_cancel_constructed_permutationinjectiveleft + S (pfp_a_cancel_constructed_permutationinjective) = S ((S (pfp_i_cancel_constructed_permutationinjective)) * s)) /\ exists ff_q_pfp_cancel_constructed_permutationinjectiveleft. r = ff_q_pfp_cancel_constructed_permutationinjectiveleft * S ((S (pfp_i_cancel_constructed_permutationinjective)) * s) + (pfp_a_cancel_constructed_permutationinjective))) -> (((exists ff_h_pfp_cancel_constructed_permutationinjectiveright. ff_h_pfp_cancel_constructed_permutationinjectiveright + S (pfp_a_cancel_constructed_permutationinjective) = S ((S (pfp_j_cancel_constructed_permutationinjective)) * s)) /\ exists ff_q_pfp_cancel_constructed_permutationinjectiveright. r = ff_q_pfp_cancel_constructed_permutationinjectiveright * S ((S (pfp_j_cancel_constructed_permutationinjective)) * s) + (pfp_a_cancel_constructed_permutationinjective))) -> pfp_i_cancel_constructed_permutationinjective = pfp_j_cancel_constructed_permutationinjective) /\ (forall pfp_a_cancel_constructed_permutationsurjective. (exists pfp_gap_cancel_constructed_permutationsurjectivevalue. pfp_gap_cancel_constructed_permutationsurjectivevalue + S (pfp_a_cancel_constructed_permutationsurjective) = (S n)) -> exists pfp_i_cancel_constructed_permutationsurjective. (exists pfp_gap_cancel_constructed_permutationsurjectiveindex. pfp_gap_cancel_constructed_permutationsurjectiveindex + S (pfp_i_cancel_constructed_permutationsurjective) = (S n)) /\ (((exists ff_h_pfp_cancel_constructed_permutationsurjectiveentry. ff_h_pfp_cancel_constructed_permutationsurjectiveentry + S (pfp_a_cancel_constructed_permutationsurjective) = S ((S (pfp_i_cancel_constructed_permutationsurjective)) * s)) /\ exists ff_q_pfp_cancel_constructed_permutationsurjectiveentry. r = ff_q_pfp_cancel_constructed_permutationsurjectiveentry * S ((S (pfp_i_cancel_constructed_permutationsurjective)) * s) + (pfp_a_cancel_constructed_permutationsurjective)))))))) - 0015
specialize divisor_prime_toggle_permutation_exists (n) - 0016
specialize divisor_prime_toggle_permutation_exists (p) - 0017
apply divisor_prime_toggle_permutation_exists - 0018
exact hn - 0019
exact hp - 0020
exact hpn - 0021
cases hmap - 0022
cases hmap_witness - 0023
cases hmap_witness_witness - 0024
cases hmap_witness_witness_right - 0025
cases hmap_witness_witness_right_right - 0026
cases hmask - 0027
have hG : exists G. (exists dst_positive_code_cancel_pullback_table dst_positive_scale_cancel_pullback_table dst_negative_code_cancel_pullback_table dst_negative_scale_cancel_pullback_table. (((G) = (((((dst_positive_code_cancel_pullback_table) + (dst_positive_scale_cancel_pullback_table)) * S ((dst_positive_code_cancel_pullback_table) + (dst_positive_scale_cancel_pullback_table)) + ((dst_positive_scale_cancel_pullback_table) + (dst_positive_scale_cancel_pullback_table))) + (((dst_negative_code_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)) * S ((dst_negative_code_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)) + ((dst_negative_scale_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)))) * S ((((dst_positive_code_cancel_pullback_table) + (dst_positive_scale_cancel_pullback_table)) * S ((dst_positive_code_cancel_pullback_table) + (dst_positive_scale_cancel_pullback_table)) + ((dst_positive_scale_cancel_pullback_table) + (dst_positive_scale_cancel_pullback_table))) + (((dst_negative_code_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)) * S ((dst_negative_code_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)) + ((dst_negative_scale_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)))) + ((((dst_negative_code_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)) * S ((dst_negative_code_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)) + ((dst_negative_scale_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table))) + (((dst_negative_code_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)) * S ((dst_negative_code_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)) + ((dst_negative_scale_cancel_pullback_table) + (dst_negative_scale_cancel_pullback_table)))))) /\ (forall dst_index_cancel_pullback_table. (exists pvs_le_gap_cancel_pullback_tabledomain. pvs_le_gap_cancel_pullback_tabledomain + (dst_index_cancel_pullback_table) = (S n)) -> exists dst_positive_cancel_pullback_table dst_negative_cancel_pullback_table dst_value_cancel_pullback_table. ((((exists ff_h_pvs_cancel_pullback_tableentrypositive. ff_h_pvs_cancel_pullback_tableentrypositive + S (dst_positive_cancel_pullback_table) = S ((S (dst_index_cancel_pullback_table)) * dst_positive_scale_cancel_pullback_table)) /\ exists ff_q_pvs_cancel_pullback_tableentrypositive. dst_positive_code_cancel_pullback_table = ff_q_pvs_cancel_pullback_tableentrypositive * S ((S (dst_index_cancel_pullback_table)) * dst_positive_scale_cancel_pullback_table) + (dst_positive_cancel_pullback_table))) /\ (((((exists ff_h_pvs_cancel_pullback_tableentrynegative. ff_h_pvs_cancel_pullback_tableentrynegative + S (dst_negative_cancel_pullback_table) = S ((S (dst_index_cancel_pullback_table)) * dst_negative_scale_cancel_pullback_table)) /\ exists ff_q_pvs_cancel_pullback_tableentrynegative. dst_negative_code_cancel_pullback_table = ff_q_pvs_cancel_pullback_tableentrynegative * S ((S (dst_index_cancel_pullback_table)) * dst_negative_scale_cancel_pullback_table) + (dst_negative_cancel_pullback_table))) /\ (exists ge_balance_positive_cancel_pullback_tableentryvalue ge_balance_negative_cancel_pullback_tableentryvalue. (((((dst_value_cancel_pullback_table) = 2 * (ge_balance_positive_cancel_pullback_tableentryvalue) /\ (ge_balance_negative_cancel_pullback_tableentryvalue) = 0) \/ exists ge_signed_half_cancel_pullback_tableentryvaluedecode. (((dst_value_cancel_pullback_table) = 2 * ge_signed_half_cancel_pullback_tableentryvaluedecode + 1 /\ (ge_balance_positive_cancel_pullback_tableentryvalue) = 0) /\ (ge_balance_negative_cancel_pullback_tableentryvalue) = S ge_signed_half_cancel_pullback_tableentryvaluedecode))) /\ ((dst_positive_cancel_pullback_table) + ge_balance_negative_cancel_pullback_tableentryvalue = (dst_negative_cancel_pullback_table) + ge_balance_positive_cancel_pullback_tableentryvalue))))))))) /\ (forall dsr_index_cancel_pullback dsr_image_cancel_pullback dsr_value_cancel_pullback. (exists pvs_gap_cancel_pullbackbound. pvs_gap_cancel_pullbackbound + S (dsr_index_cancel_pullback) = (S n)) -> (((exists ff_h_pvs_cancel_pullbackmap. ff_h_pvs_cancel_pullbackmap + S (dsr_image_cancel_pullback) = S ((S (dsr_index_cancel_pullback)) * x1)) /\ exists ff_q_pvs_cancel_pullbackmap. x = ff_q_pvs_cancel_pullbackmap * S ((S (dsr_index_cancel_pullback)) * x1) + (dsr_image_cancel_pullback))) -> (exists dst_positive_code_cancel_pullbacksource dst_positive_scale_cancel_pullbacksource dst_negative_code_cancel_pullbacksource dst_negative_scale_cancel_pullbacksource dst_positive_cancel_pullbacksource dst_negative_cancel_pullbacksource. (((K) = (((((dst_positive_code_cancel_pullbacksource) + (dst_positive_scale_cancel_pullbacksource)) * S ((dst_positive_code_cancel_pullbacksource) + (dst_positive_scale_cancel_pullbacksource)) + ((dst_positive_scale_cancel_pullbacksource) + (dst_positive_scale_cancel_pullbacksource))) + (((dst_negative_code_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)) * S ((dst_negative_code_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)) + ((dst_negative_scale_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)))) * S ((((dst_positive_code_cancel_pullbacksource) + (dst_positive_scale_cancel_pullbacksource)) * S ((dst_positive_code_cancel_pullbacksource) + (dst_positive_scale_cancel_pullbacksource)) + ((dst_positive_scale_cancel_pullbacksource) + (dst_positive_scale_cancel_pullbacksource))) + (((dst_negative_code_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)) * S ((dst_negative_code_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)) + ((dst_negative_scale_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)))) + ((((dst_negative_code_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)) * S ((dst_negative_code_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)) + ((dst_negative_scale_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource))) + (((dst_negative_code_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)) * S ((dst_negative_code_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)) + ((dst_negative_scale_cancel_pullbacksource) + (dst_negative_scale_cancel_pullbacksource)))))) /\ (((((exists ff_h_pvs_cancel_pullbacksourcepositive. ff_h_pvs_cancel_pullbacksourcepositive + S (dst_positive_cancel_pullbacksource) = S ((S (dsr_image_cancel_pullback)) * dst_positive_scale_cancel_pullbacksource)) /\ exists ff_q_pvs_cancel_pullbacksourcepositive. dst_positive_code_cancel_pullbacksource = ff_q_pvs_cancel_pullbacksourcepositive * S ((S (dsr_image_cancel_pullback)) * dst_positive_scale_cancel_pullbacksource) + (dst_positive_cancel_pullbacksource))) /\ (((((exists ff_h_pvs_cancel_pullbacksourcenegative. ff_h_pvs_cancel_pullbacksourcenegative + S (dst_negative_cancel_pullbacksource) = S ((S (dsr_image_cancel_pullback)) * dst_negative_scale_cancel_pullbacksource)) /\ exists ff_q_pvs_cancel_pullbacksourcenegative. dst_negative_code_cancel_pullbacksource = ff_q_pvs_cancel_pullbacksourcenegative * S ((S (dsr_image_cancel_pullback)) * dst_negative_scale_cancel_pullbacksource) + (dst_negative_cancel_pullbacksource))) /\ (exists ge_balance_positive_cancel_pullbacksourcevalue ge_balance_negative_cancel_pullbacksourcevalue. (((((dsr_value_cancel_pullback) = 2 * (ge_balance_positive_cancel_pullbacksourcevalue) /\ (ge_balance_negative_cancel_pullbacksourcevalue) = 0) \/ exists ge_signed_half_cancel_pullbacksourcevaluedecode. (((dsr_value_cancel_pullback) = 2 * ge_signed_half_cancel_pullbacksourcevaluedecode + 1 /\ (ge_balance_positive_cancel_pullbacksourcevalue) = 0) /\ (ge_balance_negative_cancel_pullbacksourcevalue) = S ge_signed_half_cancel_pullbacksourcevaluedecode))) /\ ((dst_positive_cancel_pullbacksource) + ge_balance_negative_cancel_pullbacksourcevalue = (dst_negative_cancel_pullbacksource) + ge_balance_positive_cancel_pullbacksourcevalue))))))))) -> (exists dst_positive_code_cancel_pullbacktarget dst_positive_scale_cancel_pullbacktarget dst_negative_code_cancel_pullbacktarget dst_negative_scale_cancel_pullbacktarget dst_positive_cancel_pullbacktarget dst_negative_cancel_pullbacktarget. (((G) = (((((dst_positive_code_cancel_pullbacktarget) + (dst_positive_scale_cancel_pullbacktarget)) * S ((dst_positive_code_cancel_pullbacktarget) + (dst_positive_scale_cancel_pullbacktarget)) + ((dst_positive_scale_cancel_pullbacktarget) + (dst_positive_scale_cancel_pullbacktarget))) + (((dst_negative_code_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)) * S ((dst_negative_code_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)) + ((dst_negative_scale_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)))) * S ((((dst_positive_code_cancel_pullbacktarget) + (dst_positive_scale_cancel_pullbacktarget)) * S ((dst_positive_code_cancel_pullbacktarget) + (dst_positive_scale_cancel_pullbacktarget)) + ((dst_positive_scale_cancel_pullbacktarget) + (dst_positive_scale_cancel_pullbacktarget))) + (((dst_negative_code_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)) * S ((dst_negative_code_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)) + ((dst_negative_scale_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)))) + ((((dst_negative_code_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)) * S ((dst_negative_code_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)) + ((dst_negative_scale_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget))) + (((dst_negative_code_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)) * S ((dst_negative_code_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)) + ((dst_negative_scale_cancel_pullbacktarget) + (dst_negative_scale_cancel_pullbacktarget)))))) /\ (((((exists ff_h_pvs_cancel_pullbacktargetpositive. ff_h_pvs_cancel_pullbacktargetpositive + S (dst_positive_cancel_pullbacktarget) = S ((S (dsr_index_cancel_pullback)) * dst_positive_scale_cancel_pullbacktarget)) /\ exists ff_q_pvs_cancel_pullbacktargetpositive. dst_positive_code_cancel_pullbacktarget = ff_q_pvs_cancel_pullbacktargetpositive * S ((S (dsr_index_cancel_pullback)) * dst_positive_scale_cancel_pullbacktarget) + (dst_positive_cancel_pullbacktarget))) /\ (((((exists ff_h_pvs_cancel_pullbacktargetnegative. ff_h_pvs_cancel_pullbacktargetnegative + S (dst_negative_cancel_pullbacktarget) = S ((S (dsr_index_cancel_pullback)) * dst_negative_scale_cancel_pullbacktarget)) /\ exists ff_q_pvs_cancel_pullbacktargetnegative. dst_negative_code_cancel_pullbacktarget = ff_q_pvs_cancel_pullbacktargetnegative * S ((S (dsr_index_cancel_pullback)) * dst_negative_scale_cancel_pullbacktarget) + (dst_negative_cancel_pullbacktarget))) /\ (exists ge_balance_positive_cancel_pullbacktargetvalue ge_balance_negative_cancel_pullbacktargetvalue. (((((dsr_value_cancel_pullback) = 2 * (ge_balance_positive_cancel_pullbacktargetvalue) /\ (ge_balance_negative_cancel_pullbacktargetvalue) = 0) \/ exists ge_signed_half_cancel_pullbacktargetvaluedecode. (((dsr_value_cancel_pullback) = 2 * ge_signed_half_cancel_pullbacktargetvaluedecode + 1 /\ (ge_balance_positive_cancel_pullbacktargetvalue) = 0) /\ (ge_balance_negative_cancel_pullbacktargetvalue) = S ge_signed_half_cancel_pullbacktargetvaluedecode))) /\ ((dst_positive_cancel_pullbacktarget) + ge_balance_negative_cancel_pullbacktargetvalue = (dst_negative_cancel_pullbacktarget) + ge_balance_positive_cancel_pullbacktargetvalue)))))))))) - 0028
specialize divisor_signed_table_reindex_exists (n) - 0029
specialize divisor_signed_table_reindex_exists (K) - 0030
specialize divisor_signed_table_reindex_exists (x) - 0031
specialize divisor_signed_table_reindex_exists (x1) - 0032
specialize divisor_signed_table_reindex_exists (S n) - 0033
apply divisor_signed_table_reindex_exists - 0034
exact hmask_left - 0035
cases hG - 0036
cases hG_witness - 0037
have hsum : exists w. (exists dst_positive_code_cancel_pullback_sum dst_positive_scale_cancel_pullback_sum dst_negative_code_cancel_pullback_sum dst_negative_scale_cancel_pullback_sum dst_positive_sum_cancel_pullback_sum dst_negative_sum_cancel_pullback_sum. (((x2) = (((((dst_positive_code_cancel_pullback_sum) + (dst_positive_scale_cancel_pullback_sum)) * S ((dst_positive_code_cancel_pullback_sum) + (dst_positive_scale_cancel_pullback_sum)) + ((dst_positive_scale_cancel_pullback_sum) + (dst_positive_scale_cancel_pullback_sum))) + (((dst_negative_code_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)) * S ((dst_negative_code_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)) + ((dst_negative_scale_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)))) * S ((((dst_positive_code_cancel_pullback_sum) + (dst_positive_scale_cancel_pullback_sum)) * S ((dst_positive_code_cancel_pullback_sum) + (dst_positive_scale_cancel_pullback_sum)) + ((dst_positive_scale_cancel_pullback_sum) + (dst_positive_scale_cancel_pullback_sum))) + (((dst_negative_code_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)) * S ((dst_negative_code_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)) + ((dst_negative_scale_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)))) + ((((dst_negative_code_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)) * S ((dst_negative_code_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)) + ((dst_negative_scale_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum))) + (((dst_negative_code_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)) * S ((dst_negative_code_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)) + ((dst_negative_scale_cancel_pullback_sum) + (dst_negative_scale_cancel_pullback_sum)))))) /\ (((exists fs_u_dst_cancel_pullback_sumpositive fs_v_dst_cancel_pullback_sumpositive. ((((exists fs_h_dst_cancel_pullback_sumpositive_body_start. fs_h_dst_cancel_pullback_sumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_pullback_sumpositive)) /\ exists fs_q_dst_cancel_pullback_sumpositive_body_start. fs_u_dst_cancel_pullback_sumpositive = fs_q_dst_cancel_pullback_sumpositive_body_start * S ((S (0)) * fs_v_dst_cancel_pullback_sumpositive) + (0))) /\ ((((exists fs_h_dst_cancel_pullback_sumpositive_body_terminal. fs_h_dst_cancel_pullback_sumpositive_body_terminal + S (dst_positive_sum_cancel_pullback_sum) = S ((S (S n)) * fs_v_dst_cancel_pullback_sumpositive)) /\ exists fs_q_dst_cancel_pullback_sumpositive_body_terminal. fs_u_dst_cancel_pullback_sumpositive = fs_q_dst_cancel_pullback_sumpositive_body_terminal * S ((S (S n)) * fs_v_dst_cancel_pullback_sumpositive) + (dst_positive_sum_cancel_pullback_sum))) /\ forall fs_i_dst_cancel_pullback_sumpositive_body_steps. (exists fs_lt_dst_cancel_pullback_sumpositive_body_steps_bound. fs_lt_dst_cancel_pullback_sumpositive_body_steps_bound + S fs_i_dst_cancel_pullback_sumpositive_body_steps = S n) -> exists fs_a_dst_cancel_pullback_sumpositive_body_steps fs_r_dst_cancel_pullback_sumpositive_body_steps fs_s_dst_cancel_pullback_sumpositive_body_steps. ((((exists fs_h_dst_cancel_pullback_sumpositive_body_steps_summand. fs_h_dst_cancel_pullback_sumpositive_body_steps_summand + S (fs_a_dst_cancel_pullback_sumpositive_body_steps) = S ((S (fs_i_dst_cancel_pullback_sumpositive_body_steps)) * dst_positive_scale_cancel_pullback_sum)) /\ exists fs_q_dst_cancel_pullback_sumpositive_body_steps_summand. dst_positive_code_cancel_pullback_sum = fs_q_dst_cancel_pullback_sumpositive_body_steps_summand * S ((S (fs_i_dst_cancel_pullback_sumpositive_body_steps)) * dst_positive_scale_cancel_pullback_sum) + (fs_a_dst_cancel_pullback_sumpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_pullback_sumpositive_body_steps_partial. fs_h_dst_cancel_pullback_sumpositive_body_steps_partial + S (fs_r_dst_cancel_pullback_sumpositive_body_steps) = S ((S (fs_i_dst_cancel_pullback_sumpositive_body_steps)) * fs_v_dst_cancel_pullback_sumpositive)) /\ exists fs_q_dst_cancel_pullback_sumpositive_body_steps_partial. fs_u_dst_cancel_pullback_sumpositive = fs_q_dst_cancel_pullback_sumpositive_body_steps_partial * S ((S (fs_i_dst_cancel_pullback_sumpositive_body_steps)) * fs_v_dst_cancel_pullback_sumpositive) + (fs_r_dst_cancel_pullback_sumpositive_body_steps))) /\ ((((exists fs_h_dst_cancel_pullback_sumpositive_body_steps_successor. fs_h_dst_cancel_pullback_sumpositive_body_steps_successor + S (fs_s_dst_cancel_pullback_sumpositive_body_steps) = S ((S (S fs_i_dst_cancel_pullback_sumpositive_body_steps)) * fs_v_dst_cancel_pullback_sumpositive)) /\ exists fs_q_dst_cancel_pullback_sumpositive_body_steps_successor. fs_u_dst_cancel_pullback_sumpositive = fs_q_dst_cancel_pullback_sumpositive_body_steps_successor * S ((S (S fs_i_dst_cancel_pullback_sumpositive_body_steps)) * fs_v_dst_cancel_pullback_sumpositive) + (fs_s_dst_cancel_pullback_sumpositive_body_steps))) /\ fs_s_dst_cancel_pullback_sumpositive_body_steps = fs_r_dst_cancel_pullback_sumpositive_body_steps + fs_a_dst_cancel_pullback_sumpositive_body_steps)))))) /\ (((exists fs_u_dst_cancel_pullback_sumnegative fs_v_dst_cancel_pullback_sumnegative. ((((exists fs_h_dst_cancel_pullback_sumnegative_body_start. fs_h_dst_cancel_pullback_sumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_cancel_pullback_sumnegative)) /\ exists fs_q_dst_cancel_pullback_sumnegative_body_start. fs_u_dst_cancel_pullback_sumnegative = fs_q_dst_cancel_pullback_sumnegative_body_start * S ((S (0)) * fs_v_dst_cancel_pullback_sumnegative) + (0))) /\ ((((exists fs_h_dst_cancel_pullback_sumnegative_body_terminal. fs_h_dst_cancel_pullback_sumnegative_body_terminal + S (dst_negative_sum_cancel_pullback_sum) = S ((S (S n)) * fs_v_dst_cancel_pullback_sumnegative)) /\ exists fs_q_dst_cancel_pullback_sumnegative_body_terminal. fs_u_dst_cancel_pullback_sumnegative = fs_q_dst_cancel_pullback_sumnegative_body_terminal * S ((S (S n)) * fs_v_dst_cancel_pullback_sumnegative) + (dst_negative_sum_cancel_pullback_sum))) /\ forall fs_i_dst_cancel_pullback_sumnegative_body_steps. (exists fs_lt_dst_cancel_pullback_sumnegative_body_steps_bound. fs_lt_dst_cancel_pullback_sumnegative_body_steps_bound + S fs_i_dst_cancel_pullback_sumnegative_body_steps = S n) -> exists fs_a_dst_cancel_pullback_sumnegative_body_steps fs_r_dst_cancel_pullback_sumnegative_body_steps fs_s_dst_cancel_pullback_sumnegative_body_steps. ((((exists fs_h_dst_cancel_pullback_sumnegative_body_steps_summand. fs_h_dst_cancel_pullback_sumnegative_body_steps_summand + S (fs_a_dst_cancel_pullback_sumnegative_body_steps) = S ((S (fs_i_dst_cancel_pullback_sumnegative_body_steps)) * dst_negative_scale_cancel_pullback_sum)) /\ exists fs_q_dst_cancel_pullback_sumnegative_body_steps_summand. dst_negative_code_cancel_pullback_sum = fs_q_dst_cancel_pullback_sumnegative_body_steps_summand * S ((S (fs_i_dst_cancel_pullback_sumnegative_body_steps)) * dst_negative_scale_cancel_pullback_sum) + (fs_a_dst_cancel_pullback_sumnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_pullback_sumnegative_body_steps_partial. fs_h_dst_cancel_pullback_sumnegative_body_steps_partial + S (fs_r_dst_cancel_pullback_sumnegative_body_steps) = S ((S (fs_i_dst_cancel_pullback_sumnegative_body_steps)) * fs_v_dst_cancel_pullback_sumnegative)) /\ exists fs_q_dst_cancel_pullback_sumnegative_body_steps_partial. fs_u_dst_cancel_pullback_sumnegative = fs_q_dst_cancel_pullback_sumnegative_body_steps_partial * S ((S (fs_i_dst_cancel_pullback_sumnegative_body_steps)) * fs_v_dst_cancel_pullback_sumnegative) + (fs_r_dst_cancel_pullback_sumnegative_body_steps))) /\ ((((exists fs_h_dst_cancel_pullback_sumnegative_body_steps_successor. fs_h_dst_cancel_pullback_sumnegative_body_steps_successor + S (fs_s_dst_cancel_pullback_sumnegative_body_steps) = S ((S (S fs_i_dst_cancel_pullback_sumnegative_body_steps)) * fs_v_dst_cancel_pullback_sumnegative)) /\ exists fs_q_dst_cancel_pullback_sumnegative_body_steps_successor. fs_u_dst_cancel_pullback_sumnegative = fs_q_dst_cancel_pullback_sumnegative_body_steps_successor * S ((S (S fs_i_dst_cancel_pullback_sumnegative_body_steps)) * fs_v_dst_cancel_pullback_sumnegative) + (fs_s_dst_cancel_pullback_sumnegative_body_steps))) /\ fs_s_dst_cancel_pullback_sumnegative_body_steps = fs_r_dst_cancel_pullback_sumnegative_body_steps + fs_a_dst_cancel_pullback_sumnegative_body_steps)))))) /\ (exists ge_balance_positive_cancel_pullback_sumresult ge_balance_negative_cancel_pullback_sumresult. (((((w) = 2 * (ge_balance_positive_cancel_pullback_sumresult) /\ (ge_balance_negative_cancel_pullback_sumresult) = 0) \/ exists ge_signed_half_cancel_pullback_sumresultdecode. (((w) = 2 * ge_signed_half_cancel_pullback_sumresultdecode + 1 /\ (ge_balance_positive_cancel_pullback_sumresult) = 0) /\ (ge_balance_negative_cancel_pullback_sumresult) = S ge_signed_half_cancel_pullback_sumresultdecode))) /\ ((dst_positive_sum_cancel_pullback_sum) + ge_balance_negative_cancel_pullback_sumresult = (dst_negative_sum_cancel_pullback_sum) + ge_balance_positive_cancel_pullback_sumresult))))))))) - 0038
specialize arithmetic_signed_sum_exists (S n) - 0039
specialize arithmetic_signed_sum_exists (x2) - 0040
specialize arithmetic_signed_sum_exists (S n) - 0041
apply arithmetic_signed_sum_exists - 0042
exact hG_witness_left - 0043
cases hsum - 0044
have hpoint : forall mdc_index_cancel_opposite_entries mdc_source_cancel_opposite_entries mdc_target_cancel_opposite_entries. (exists pvs_gap_cancel_opposite_entriesbound. pvs_gap_cancel_opposite_entriesbound + S (mdc_index_cancel_opposite_entries) = (S n)) -> (exists dst_positive_code_cancel_opposite_entriesfirst dst_positive_scale_cancel_opposite_entriesfirst dst_negative_code_cancel_opposite_entriesfirst dst_negative_scale_cancel_opposite_entriesfirst dst_positive_cancel_opposite_entriesfirst dst_negative_cancel_opposite_entriesfirst. (((K) = (((((dst_positive_code_cancel_opposite_entriesfirst) + (dst_positive_scale_cancel_opposite_entriesfirst)) * S ((dst_positive_code_cancel_opposite_entriesfirst) + (dst_positive_scale_cancel_opposite_entriesfirst)) + ((dst_positive_scale_cancel_opposite_entriesfirst) + (dst_positive_scale_cancel_opposite_entriesfirst))) + (((dst_negative_code_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)) * S ((dst_negative_code_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)) + ((dst_negative_scale_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)))) * S ((((dst_positive_code_cancel_opposite_entriesfirst) + (dst_positive_scale_cancel_opposite_entriesfirst)) * S ((dst_positive_code_cancel_opposite_entriesfirst) + (dst_positive_scale_cancel_opposite_entriesfirst)) + ((dst_positive_scale_cancel_opposite_entriesfirst) + (dst_positive_scale_cancel_opposite_entriesfirst))) + (((dst_negative_code_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)) * S ((dst_negative_code_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)) + ((dst_negative_scale_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)))) + ((((dst_negative_code_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)) * S ((dst_negative_code_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)) + ((dst_negative_scale_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst))) + (((dst_negative_code_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)) * S ((dst_negative_code_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)) + ((dst_negative_scale_cancel_opposite_entriesfirst) + (dst_negative_scale_cancel_opposite_entriesfirst)))))) /\ (((((exists ff_h_pvs_cancel_opposite_entriesfirstpositive. ff_h_pvs_cancel_opposite_entriesfirstpositive + S (dst_positive_cancel_opposite_entriesfirst) = S ((S (mdc_index_cancel_opposite_entries)) * dst_positive_scale_cancel_opposite_entriesfirst)) /\ exists ff_q_pvs_cancel_opposite_entriesfirstpositive. dst_positive_code_cancel_opposite_entriesfirst = ff_q_pvs_cancel_opposite_entriesfirstpositive * S ((S (mdc_index_cancel_opposite_entries)) * dst_positive_scale_cancel_opposite_entriesfirst) + (dst_positive_cancel_opposite_entriesfirst))) /\ (((((exists ff_h_pvs_cancel_opposite_entriesfirstnegative. ff_h_pvs_cancel_opposite_entriesfirstnegative + S (dst_negative_cancel_opposite_entriesfirst) = S ((S (mdc_index_cancel_opposite_entries)) * dst_negative_scale_cancel_opposite_entriesfirst)) /\ exists ff_q_pvs_cancel_opposite_entriesfirstnegative. dst_negative_code_cancel_opposite_entriesfirst = ff_q_pvs_cancel_opposite_entriesfirstnegative * S ((S (mdc_index_cancel_opposite_entries)) * dst_negative_scale_cancel_opposite_entriesfirst) + (dst_negative_cancel_opposite_entriesfirst))) /\ (exists ge_balance_positive_cancel_opposite_entriesfirstvalue ge_balance_negative_cancel_opposite_entriesfirstvalue. (((((mdc_source_cancel_opposite_entries) = 2 * (ge_balance_positive_cancel_opposite_entriesfirstvalue) /\ (ge_balance_negative_cancel_opposite_entriesfirstvalue) = 0) \/ exists ge_signed_half_cancel_opposite_entriesfirstvaluedecode. (((mdc_source_cancel_opposite_entries) = 2 * ge_signed_half_cancel_opposite_entriesfirstvaluedecode + 1 /\ (ge_balance_positive_cancel_opposite_entriesfirstvalue) = 0) /\ (ge_balance_negative_cancel_opposite_entriesfirstvalue) = S ge_signed_half_cancel_opposite_entriesfirstvaluedecode))) /\ ((dst_positive_cancel_opposite_entriesfirst) + ge_balance_negative_cancel_opposite_entriesfirstvalue = (dst_negative_cancel_opposite_entriesfirst) + ge_balance_positive_cancel_opposite_entriesfirstvalue))))))))) -> (exists dst_positive_code_cancel_opposite_entriessecond dst_positive_scale_cancel_opposite_entriessecond dst_negative_code_cancel_opposite_entriessecond dst_negative_scale_cancel_opposite_entriessecond dst_positive_cancel_opposite_entriessecond dst_negative_cancel_opposite_entriessecond. (((x2) = (((((dst_positive_code_cancel_opposite_entriessecond) + (dst_positive_scale_cancel_opposite_entriessecond)) * S ((dst_positive_code_cancel_opposite_entriessecond) + (dst_positive_scale_cancel_opposite_entriessecond)) + ((dst_positive_scale_cancel_opposite_entriessecond) + (dst_positive_scale_cancel_opposite_entriessecond))) + (((dst_negative_code_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)) * S ((dst_negative_code_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)) + ((dst_negative_scale_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)))) * S ((((dst_positive_code_cancel_opposite_entriessecond) + (dst_positive_scale_cancel_opposite_entriessecond)) * S ((dst_positive_code_cancel_opposite_entriessecond) + (dst_positive_scale_cancel_opposite_entriessecond)) + ((dst_positive_scale_cancel_opposite_entriessecond) + (dst_positive_scale_cancel_opposite_entriessecond))) + (((dst_negative_code_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)) * S ((dst_negative_code_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)) + ((dst_negative_scale_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)))) + ((((dst_negative_code_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)) * S ((dst_negative_code_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)) + ((dst_negative_scale_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond))) + (((dst_negative_code_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)) * S ((dst_negative_code_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)) + ((dst_negative_scale_cancel_opposite_entriessecond) + (dst_negative_scale_cancel_opposite_entriessecond)))))) /\ (((((exists ff_h_pvs_cancel_opposite_entriessecondpositive. ff_h_pvs_cancel_opposite_entriessecondpositive + S (dst_positive_cancel_opposite_entriessecond) = S ((S (mdc_index_cancel_opposite_entries)) * dst_positive_scale_cancel_opposite_entriessecond)) /\ exists ff_q_pvs_cancel_opposite_entriessecondpositive. dst_positive_code_cancel_opposite_entriessecond = ff_q_pvs_cancel_opposite_entriessecondpositive * S ((S (mdc_index_cancel_opposite_entries)) * dst_positive_scale_cancel_opposite_entriessecond) + (dst_positive_cancel_opposite_entriessecond))) /\ (((((exists ff_h_pvs_cancel_opposite_entriessecondnegative. ff_h_pvs_cancel_opposite_entriessecondnegative + S (dst_negative_cancel_opposite_entriessecond) = S ((S (mdc_index_cancel_opposite_entries)) * dst_negative_scale_cancel_opposite_entriessecond)) /\ exists ff_q_pvs_cancel_opposite_entriessecondnegative. dst_negative_code_cancel_opposite_entriessecond = ff_q_pvs_cancel_opposite_entriessecondnegative * S ((S (mdc_index_cancel_opposite_entries)) * dst_negative_scale_cancel_opposite_entriessecond) + (dst_negative_cancel_opposite_entriessecond))) /\ (exists ge_balance_positive_cancel_opposite_entriessecondvalue ge_balance_negative_cancel_opposite_entriessecondvalue. (((((mdc_target_cancel_opposite_entries) = 2 * (ge_balance_positive_cancel_opposite_entriessecondvalue) /\ (ge_balance_negative_cancel_opposite_entriessecondvalue) = 0) \/ exists ge_signed_half_cancel_opposite_entriessecondvaluedecode. (((mdc_target_cancel_opposite_entries) = 2 * ge_signed_half_cancel_opposite_entriessecondvaluedecode + 1 /\ (ge_balance_positive_cancel_opposite_entriessecondvalue) = 0) /\ (ge_balance_negative_cancel_opposite_entriessecondvalue) = S ge_signed_half_cancel_opposite_entriessecondvaluedecode))) /\ ((dst_positive_cancel_opposite_entriessecond) + ge_balance_negative_cancel_opposite_entriessecondvalue = (dst_negative_cancel_opposite_entriessecond) + ge_balance_positive_cancel_opposite_entriessecondvalue))))))))) -> (exists mps_positive_cancel_opposite_entriesnegation mps_negative_cancel_opposite_entriesnegation. (((((mdc_source_cancel_opposite_entries) = 2 * (mps_positive_cancel_opposite_entriesnegation) /\ (mps_negative_cancel_opposite_entriesnegation) = 0) \/ exists ge_signed_half_cancel_opposite_entriesnegationsource. (((mdc_source_cancel_opposite_entries) = 2 * ge_signed_half_cancel_opposite_entriesnegationsource + 1 /\ (mps_positive_cancel_opposite_entriesnegation) = 0) /\ (mps_negative_cancel_opposite_entriesnegation) = S ge_signed_half_cancel_opposite_entriesnegationsource))) /\ ((((mdc_target_cancel_opposite_entries) = 2 * (mps_negative_cancel_opposite_entriesnegation) /\ (mps_positive_cancel_opposite_entriesnegation) = 0) \/ exists ge_signed_half_cancel_opposite_entriesnegationtarget. (((mdc_target_cancel_opposite_entries) = 2 * ge_signed_half_cancel_opposite_entriesnegationtarget + 1 /\ (mps_negative_cancel_opposite_entriesnegation) = 0) /\ (mps_positive_cancel_opposite_entriesnegation) = S ge_signed_half_cancel_opposite_entriesnegationtarget))))) - 0045
intro i - 0046
intro a - 0047
intro b - 0048
intro hi - 0049
intro ha - 0050
intro hb - 0051
have hiimage : exists q. (((((exists ff_h_pvs_cancel_map_entry. ff_h_pvs_cancel_map_entry + S (q) = S ((S (i)) * x1)) /\ exists ff_q_pvs_cancel_map_entry. x = ff_q_pvs_cancel_map_entry * S ((S (i)) * x1) + (q))) /\ ((((~((i)=0)) /\ (((exists pvs_factor_cancel_map_graphdivisor. (n) = (i) * pvs_factor_cancel_map_graphdivisor) /\ ((((~(exists pvs_factor_cancel_map_graphtogglefresh_input. (i) = (p) * pvs_factor_cancel_map_graphtogglefresh_input)) /\ ((q)=(p)*(i)))) \/ (((((i)=(p)*(q)) /\ (~(exists pvs_factor_cancel_map_graphtogglefresh_output. (q) = (p) * pvs_factor_cancel_map_graphtogglefresh_output)))) \/ (((exists pvs_factor_cancel_map_graphtogglesquare. (i) = ((p)*(p)) * pvs_factor_cancel_map_graphtogglesquare) /\ ((q)=(i)))))))))) \/ ((((i)=0 \/ ~(exists pvs_factor_cancel_map_graphnondivisor. (n) = (i) * pvs_factor_cancel_map_graphnondivisor)) /\ ((q)=(i))))))) - 0052
specialize hmap_witness_witness_left (i) - 0053
apply hmap_witness_witness_left - 0054
exact hi - 0055
cases hiimage - 0056
cases hiimage_witness - 0057
have hqbound : exists pvs_le_gap_cancel_image_bound. pvs_le_gap_cancel_image_bound + (x4) = (n) - 0058
specialize divisor_prime_toggle_bounded (n) - 0059
specialize divisor_prime_toggle_bounded (p) - 0060
specialize divisor_prime_toggle_bounded (i) - 0061
specialize divisor_prime_toggle_bounded (x4) - 0062
apply divisor_prime_toggle_bounded - 0063
exact hn - 0064
exact hp - 0065
exact hpn - 0066
specialize le_of_succ_le_succ (i) - 0067
specialize le_of_succ_le_succ (n) - 0068
apply le_of_succ_le_succ - 0069
exact hi - 0070
exact hiimage_witness_right - 0071
have hvalue : exists v. (exists dst_positive_code_cancel_actual_image_value dst_positive_scale_cancel_actual_image_value dst_negative_code_cancel_actual_image_value dst_negative_scale_cancel_actual_image_value dst_positive_cancel_actual_image_value dst_negative_cancel_actual_image_value. (((K) = (((((dst_positive_code_cancel_actual_image_value) + (dst_positive_scale_cancel_actual_image_value)) * S ((dst_positive_code_cancel_actual_image_value) + (dst_positive_scale_cancel_actual_image_value)) + ((dst_positive_scale_cancel_actual_image_value) + (dst_positive_scale_cancel_actual_image_value))) + (((dst_negative_code_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)) * S ((dst_negative_code_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)) + ((dst_negative_scale_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)))) * S ((((dst_positive_code_cancel_actual_image_value) + (dst_positive_scale_cancel_actual_image_value)) * S ((dst_positive_code_cancel_actual_image_value) + (dst_positive_scale_cancel_actual_image_value)) + ((dst_positive_scale_cancel_actual_image_value) + (dst_positive_scale_cancel_actual_image_value))) + (((dst_negative_code_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)) * S ((dst_negative_code_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)) + ((dst_negative_scale_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)))) + ((((dst_negative_code_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)) * S ((dst_negative_code_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)) + ((dst_negative_scale_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value))) + (((dst_negative_code_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)) * S ((dst_negative_code_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)) + ((dst_negative_scale_cancel_actual_image_value) + (dst_negative_scale_cancel_actual_image_value)))))) /\ (((((exists ff_h_pvs_cancel_actual_image_valuepositive. ff_h_pvs_cancel_actual_image_valuepositive + S (dst_positive_cancel_actual_image_value) = S ((S (x4)) * dst_positive_scale_cancel_actual_image_value)) /\ exists ff_q_pvs_cancel_actual_image_valuepositive. dst_positive_code_cancel_actual_image_value = ff_q_pvs_cancel_actual_image_valuepositive * S ((S (x4)) * dst_positive_scale_cancel_actual_image_value) + (dst_positive_cancel_actual_image_value))) /\ (((((exists ff_h_pvs_cancel_actual_image_valuenegative. ff_h_pvs_cancel_actual_image_valuenegative + S (dst_negative_cancel_actual_image_value) = S ((S (x4)) * dst_negative_scale_cancel_actual_image_value)) /\ exists ff_q_pvs_cancel_actual_image_valuenegative. dst_negative_code_cancel_actual_image_value = ff_q_pvs_cancel_actual_image_valuenegative * S ((S (x4)) * dst_negative_scale_cancel_actual_image_value) + (dst_negative_cancel_actual_image_value))) /\ (exists ge_balance_positive_cancel_actual_image_valuevalue ge_balance_negative_cancel_actual_image_valuevalue. (((((v) = 2 * (ge_balance_positive_cancel_actual_image_valuevalue) /\ (ge_balance_negative_cancel_actual_image_valuevalue) = 0) \/ exists ge_signed_half_cancel_actual_image_valuevaluedecode. (((v) = 2 * ge_signed_half_cancel_actual_image_valuevaluedecode + 1 /\ (ge_balance_positive_cancel_actual_image_valuevalue) = 0) /\ (ge_balance_negative_cancel_actual_image_valuevalue) = S ge_signed_half_cancel_actual_image_valuevaluedecode))) /\ ((dst_positive_cancel_actual_image_value) + ge_balance_negative_cancel_actual_image_valuevalue = (dst_negative_cancel_actual_image_value) + ge_balance_positive_cancel_actual_image_valuevalue))))))))) - 0072
specialize divisor_signed_table_lookup (n) - 0073
specialize divisor_signed_table_lookup (K) - 0074
specialize divisor_signed_table_lookup (x4) - 0075
apply divisor_signed_table_lookup - 0076
exact hmask_left - 0077
exact hqbound - 0078
cases hvalue - 0079
have heq : x5=b - 0080
specialize divisor_signed_table_at_functional (x2) - 0081
specialize divisor_signed_table_at_functional (i) - 0082
specialize divisor_signed_table_at_functional (x5) - 0083
specialize divisor_signed_table_at_functional (b) - 0084
apply divisor_signed_table_at_functional - 0085
specialize hG_witness_right (i) - 0086
specialize hG_witness_right (x4) - 0087
specialize hG_witness_right (x5) - 0088
apply hG_witness_right - 0089
exact hi - 0090
exact hiimage_witness_left - 0091
exact hvalue_witness - 0092
exact hb - 0093
have hneg : exists mps_positive_cancel_actual_negation mps_negative_cancel_actual_negation. (((((a) = 2 * (mps_positive_cancel_actual_negation) /\ (mps_negative_cancel_actual_negation) = 0) \/ exists ge_signed_half_cancel_actual_negationsource. (((a) = 2 * ge_signed_half_cancel_actual_negationsource + 1 /\ (mps_positive_cancel_actual_negation) = 0) /\ (mps_negative_cancel_actual_negation) = S ge_signed_half_cancel_actual_negationsource))) /\ ((((x5) = 2 * (mps_negative_cancel_actual_negation) /\ (mps_positive_cancel_actual_negation) = 0) \/ exists ge_signed_half_cancel_actual_negationtarget. (((x5) = 2 * ge_signed_half_cancel_actual_negationtarget + 1 /\ (mps_negative_cancel_actual_negation) = 0) /\ (mps_positive_cancel_actual_negation) = S ge_signed_half_cancel_actual_negationtarget)))) - 0094
specialize mobius_divisor_mask_prime_toggle_negates (N) - 0095
specialize mobius_divisor_mask_prime_toggle_negates (M) - 0096
specialize mobius_divisor_mask_prime_toggle_negates (n) - 0097
specialize mobius_divisor_mask_prime_toggle_negates (K) - 0098
specialize mobius_divisor_mask_prime_toggle_negates (p) - 0099
specialize mobius_divisor_mask_prime_toggle_negates (i) - 0100
specialize mobius_divisor_mask_prime_toggle_negates (x4) - 0101
specialize mobius_divisor_mask_prime_toggle_negates (a) - 0102
specialize mobius_divisor_mask_prime_toggle_negates (x5) - 0103
apply mobius_divisor_mask_prime_toggle_negates - 0104
exact hmu - 0105
exact hn - 0106
exact hN - 0107
exact hp - 0108
exact hpn - 0109
exact hmask - 0110
specialize le_of_succ_le_succ (i) - 0111
specialize le_of_succ_le_succ (n) - 0112
apply le_of_succ_le_succ - 0113
exact hi - 0114
exact hiimage_witness_right - 0115
exact ha - 0116
exact hvalue_witness - 0117
rewrite heq at hneg - 0118
rewrite heq at hneg - 0119
exact hneg - 0120
specialize anti_invariant_signed_permutation_sum_zero (K) - 0121
specialize anti_invariant_signed_permutation_sum_zero (x2) - 0122
specialize anti_invariant_signed_permutation_sum_zero (x) - 0123
specialize anti_invariant_signed_permutation_sum_zero (x1) - 0124
specialize anti_invariant_signed_permutation_sum_zero (S n) - 0125
specialize anti_invariant_signed_permutation_sum_zero (z) - 0126
specialize anti_invariant_signed_permutation_sum_zero (x3) - 0127
apply anti_invariant_signed_permutation_sum_zero - 0128
exact hmap_witness_witness_right_left - 0129
exact hmap_witness_witness_right_right_left - 0130
exact hG_witness_right - 0131
exact hpoint - 0132
exact hz - 0133
exact hsum_witness