MC001C

mobius_divisor_sum_cancellation_on_positive_values

Full Möbius divisor cancellation holds for any actual signed table with the correct positive values, with F(0) entirely unrestricted; positive-source extensionality transports genuine folds.

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. ∀ F. ∀ n. ∀ z. ArithTable(N,F)MobiusPositiveValues(N,F) → ¬n = 0 → Le(n,N) → (DivisorSum(F,n,z) → n = 1 ∧ z = 2 ∨ ¬n = 1 ∧ z = 0) ∧ (n = 1 ∧ z = 2 ∨ ¬n = 1 ∧ z = 0 → DivisorSum(F,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 F n z. (exists dst_positive_code_arbitrary_zero_table dst_positive_scale_arbitrary_zero_table dst_negative_code_arbitrary_zero_table dst_negative_scale_arbitrary_zero_table. (((F) = (((((dst_positive_code_arbitrary_zero_table) + (dst_positive_scale_arbitrary_zero_table)) * S ((dst_positive_code_arbitrary_zero_table) + (dst_positive_scale_arbitrary_zero_table)) + ((dst_positive_scale_arbitrary_zero_table) + (dst_positive_scale_arbitrary_zero_table))) + (((dst_negative_code_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)) * S ((dst_negative_code_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)) + ((dst_negative_scale_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)))) * S ((((dst_positive_code_arbitrary_zero_table) + (dst_positive_scale_arbitrary_zero_table)) * S ((dst_positive_code_arbitrary_zero_table) + (dst_positive_scale_arbitrary_zero_table)) + ((dst_positive_scale_arbitrary_zero_table) + (dst_positive_scale_arbitrary_zero_table))) + (((dst_negative_code_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)) * S ((dst_negative_code_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)) + ((dst_negative_scale_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)))) + ((((dst_negative_code_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)) * S ((dst_negative_code_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)) + ((dst_negative_scale_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table))) + (((dst_negative_code_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)) * S ((dst_negative_code_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)) + ((dst_negative_scale_arbitrary_zero_table) + (dst_negative_scale_arbitrary_zero_table)))))) /\ (forall dst_index_arbitrary_zero_table. (exists pvs_le_gap_arbitrary_zero_tabledomain. pvs_le_gap_arbitrary_zero_tabledomain + (dst_index_arbitrary_zero_table) = (N)) -> exists dst_positive_arbitrary_zero_table dst_negative_arbitrary_zero_table dst_value_arbitrary_zero_table. ((((exists ff_h_pvs_arbitrary_zero_tableentrypositive. ff_h_pvs_arbitrary_zero_tableentrypositive + S (dst_positive_arbitrary_zero_table) = S ((S (dst_index_arbitrary_zero_table)) * dst_positive_scale_arbitrary_zero_table)) /\ exists ff_q_pvs_arbitrary_zero_tableentrypositive. dst_positive_code_arbitrary_zero_table = ff_q_pvs_arbitrary_zero_tableentrypositive * S ((S (dst_index_arbitrary_zero_table)) * dst_positive_scale_arbitrary_zero_table) + (dst_positive_arbitrary_zero_table))) /\ (((((exists ff_h_pvs_arbitrary_zero_tableentrynegative. ff_h_pvs_arbitrary_zero_tableentrynegative + S (dst_negative_arbitrary_zero_table) = S ((S (dst_index_arbitrary_zero_table)) * dst_negative_scale_arbitrary_zero_table)) /\ exists ff_q_pvs_arbitrary_zero_tableentrynegative. dst_negative_code_arbitrary_zero_table = ff_q_pvs_arbitrary_zero_tableentrynegative * S ((S (dst_index_arbitrary_zero_table)) * dst_negative_scale_arbitrary_zero_table) + (dst_negative_arbitrary_zero_table))) /\ (exists ge_balance_positive_arbitrary_zero_tableentryvalue ge_balance_negative_arbitrary_zero_tableentryvalue. (((((dst_value_arbitrary_zero_table) = 2 * (ge_balance_positive_arbitrary_zero_tableentryvalue) /\ (ge_balance_negative_arbitrary_zero_tableentryvalue) = 0) \/ exists ge_signed_half_arbitrary_zero_tableentryvaluedecode. (((dst_value_arbitrary_zero_table) = 2 * ge_signed_half_arbitrary_zero_tableentryvaluedecode + 1 /\ (ge_balance_positive_arbitrary_zero_tableentryvalue) = 0) /\ (ge_balance_negative_arbitrary_zero_tableentryvalue) = S ge_signed_half_arbitrary_zero_tableentryvaluedecode))) /\ ((dst_positive_arbitrary_zero_table) + ge_balance_negative_arbitrary_zero_tableentryvalue = (dst_negative_arbitrary_zero_table) + ge_balance_positive_arbitrary_zero_tableentryvalue))))))))) -> (forall mdc_positive_index_arbitrary_zero_values mdc_positive_value_arbitrary_zero_values. ~(mdc_positive_index_arbitrary_zero_values=0) -> (exists pvs_le_gap_arbitrary_zero_valuesbound. pvs_le_gap_arbitrary_zero_valuesbound + (mdc_positive_index_arbitrary_zero_values) = (N)) -> (exists dst_positive_code_arbitrary_zero_valuesentry dst_positive_scale_arbitrary_zero_valuesentry dst_negative_code_arbitrary_zero_valuesentry dst_negative_scale_arbitrary_zero_valuesentry dst_positive_arbitrary_zero_valuesentry dst_negative_arbitrary_zero_valuesentry. (((F) = (((((dst_positive_code_arbitrary_zero_valuesentry) + (dst_positive_scale_arbitrary_zero_valuesentry)) * S ((dst_positive_code_arbitrary_zero_valuesentry) + (dst_positive_scale_arbitrary_zero_valuesentry)) + ((dst_positive_scale_arbitrary_zero_valuesentry) + (dst_positive_scale_arbitrary_zero_valuesentry))) + (((dst_negative_code_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)) * S ((dst_negative_code_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)) + ((dst_negative_scale_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)))) * S ((((dst_positive_code_arbitrary_zero_valuesentry) + (dst_positive_scale_arbitrary_zero_valuesentry)) * S ((dst_positive_code_arbitrary_zero_valuesentry) + (dst_positive_scale_arbitrary_zero_valuesentry)) + ((dst_positive_scale_arbitrary_zero_valuesentry) + (dst_positive_scale_arbitrary_zero_valuesentry))) + (((dst_negative_code_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)) * S ((dst_negative_code_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)) + ((dst_negative_scale_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)))) + ((((dst_negative_code_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)) * S ((dst_negative_code_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)) + ((dst_negative_scale_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry))) + (((dst_negative_code_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)) * S ((dst_negative_code_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)) + ((dst_negative_scale_arbitrary_zero_valuesentry) + (dst_negative_scale_arbitrary_zero_valuesentry)))))) /\ (((((exists ff_h_pvs_arbitrary_zero_valuesentrypositive. ff_h_pvs_arbitrary_zero_valuesentrypositive + S (dst_positive_arbitrary_zero_valuesentry) = S ((S (mdc_positive_index_arbitrary_zero_values)) * dst_positive_scale_arbitrary_zero_valuesentry)) /\ exists ff_q_pvs_arbitrary_zero_valuesentrypositive. dst_positive_code_arbitrary_zero_valuesentry = ff_q_pvs_arbitrary_zero_valuesentrypositive * S ((S (mdc_positive_index_arbitrary_zero_values)) * dst_positive_scale_arbitrary_zero_valuesentry) + (dst_positive_arbitrary_zero_valuesentry))) /\ (((((exists ff_h_pvs_arbitrary_zero_valuesentrynegative. ff_h_pvs_arbitrary_zero_valuesentrynegative + S (dst_negative_arbitrary_zero_valuesentry) = S ((S (mdc_positive_index_arbitrary_zero_values)) * dst_negative_scale_arbitrary_zero_valuesentry)) /\ exists ff_q_pvs_arbitrary_zero_valuesentrynegative. dst_negative_code_arbitrary_zero_valuesentry = ff_q_pvs_arbitrary_zero_valuesentrynegative * S ((S (mdc_positive_index_arbitrary_zero_values)) * dst_negative_scale_arbitrary_zero_valuesentry) + (dst_negative_arbitrary_zero_valuesentry))) /\ (exists ge_balance_positive_arbitrary_zero_valuesentryvalue ge_balance_negative_arbitrary_zero_valuesentryvalue. (((((mdc_positive_value_arbitrary_zero_values) = 2 * (ge_balance_positive_arbitrary_zero_valuesentryvalue) /\ (ge_balance_negative_arbitrary_zero_valuesentryvalue) = 0) \/ exists ge_signed_half_arbitrary_zero_valuesentryvaluedecode. (((mdc_positive_value_arbitrary_zero_values) = 2 * ge_signed_half_arbitrary_zero_valuesentryvaluedecode + 1 /\ (ge_balance_positive_arbitrary_zero_valuesentryvalue) = 0) /\ (ge_balance_negative_arbitrary_zero_valuesentryvalue) = S ge_signed_half_arbitrary_zero_valuesentryvaluedecode))) /\ ((dst_positive_arbitrary_zero_valuesentry) + ge_balance_negative_arbitrary_zero_valuesentryvalue = (dst_negative_arbitrary_zero_valuesentry) + ge_balance_positive_arbitrary_zero_valuesentryvalue))))))))) -> (((~((mdc_positive_index_arbitrary_zero_values) = 0)) /\ ((((exists mv_square_prime_arbitrary_zero_valuesmobiussquare. ((~((mv_square_prime_arbitrary_zero_valuesmobiussquare) = 1) /\ forall pvs_left_arbitrary_zero_valuesmobiussquareprime pvs_right_arbitrary_zero_valuesmobiussquareprime. (mv_square_prime_arbitrary_zero_valuesmobiussquare) = pvs_left_arbitrary_zero_valuesmobiussquareprime * pvs_right_arbitrary_zero_valuesmobiussquareprime -> pvs_left_arbitrary_zero_valuesmobiussquareprime = 1 \/ pvs_right_arbitrary_zero_valuesmobiussquareprime = 1) /\ (exists pvs_factor_arbitrary_zero_valuesmobiussquaredivisor. (mdc_positive_index_arbitrary_zero_values) = (mv_square_prime_arbitrary_zero_valuesmobiussquare * mv_square_prime_arbitrary_zero_valuesmobiussquare) * pvs_factor_arbitrary_zero_valuesmobiussquaredivisor))) /\ ((mdc_positive_value_arbitrary_zero_values) = 0))) \/ (((((~((mdc_positive_index_arbitrary_zero_values) = 0)) /\ (forall sfd_prime_arbitrary_zero_valuesmobiussquarefree. (~((sfd_prime_arbitrary_zero_valuesmobiussquarefree) = 1) /\ forall pvs_left_arbitrary_zero_valuesmobiussquarefreedomain pvs_right_arbitrary_zero_valuesmobiussquarefreedomain. (sfd_prime_arbitrary_zero_valuesmobiussquarefree) = pvs_left_arbitrary_zero_valuesmobiussquarefreedomain * pvs_right_arbitrary_zero_valuesmobiussquarefreedomain -> pvs_left_arbitrary_zero_valuesmobiussquarefreedomain = 1 \/ pvs_right_arbitrary_zero_valuesmobiussquarefreedomain = 1) -> (exists pvs_le_gap_arbitrary_zero_valuesmobiussquarefreebound. pvs_le_gap_arbitrary_zero_valuesmobiussquarefreebound + (sfd_prime_arbitrary_zero_valuesmobiussquarefree) = (mdc_positive_index_arbitrary_zero_values)) -> ~(exists pvs_factor_arbitrary_zero_valuesmobiussquarefreesquare. (mdc_positive_index_arbitrary_zero_values) = (sfd_prime_arbitrary_zero_valuesmobiussquarefree * sfd_prime_arbitrary_zero_valuesmobiussquarefree) * pvs_factor_arbitrary_zero_valuesmobiussquarefreesquare)))) /\ (exists mv_factor_code_arbitrary_zero_valuesmobiusfactors mv_factor_scale_arbitrary_zero_valuesmobiusfactors mv_factor_count_arbitrary_zero_valuesmobiusfactors. (((~(mdc_positive_index_arbitrary_zero_values = 0) /\ ((exists ff_u_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product. ((((exists ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_start. ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) /\ exists ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_start. ff_u_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product = ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_terminal. ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_terminal + S (mdc_positive_index_arbitrary_zero_values) = S ((S (mv_factor_count_arbitrary_zero_valuesmobiusfactors)) * ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) /\ exists ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_terminal. ff_u_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product = ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_terminal * S ((S (mv_factor_count_arbitrary_zero_valuesmobiusfactors)) * ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product) + (mdc_positive_index_arbitrary_zero_values))) /\ forall ff_i_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product. (exists ff_lt_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_bound. ff_lt_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_bound + S ff_i_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product = mv_factor_count_arbitrary_zero_valuesmobiusfactors) -> exists ff_p_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product ff_r_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product ff_s_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product. ((((exists ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_factor. ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_factor + S (ff_p_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product) = S ((S (ff_i_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) * mv_factor_scale_arbitrary_zero_valuesmobiusfactors)) /\ exists ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_factor. mv_factor_code_arbitrary_zero_valuesmobiusfactors = ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_factor * S ((S (ff_i_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) * mv_factor_scale_arbitrary_zero_valuesmobiusfactors) + (ff_p_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product))) /\ ((((exists ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_partial. ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_partial + S (ff_r_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product) = S ((S (ff_i_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) * ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) /\ exists ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_partial. ff_u_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product = ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_partial * S ((S (ff_i_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) * ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product) + (ff_r_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product))) /\ ((((exists ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_successor. ff_h_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_successor + S (ff_s_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product) = S ((S (S ff_i_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) * ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) /\ exists ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_successor. ff_u_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product = ff_q_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product_successor * S ((S (S ff_i_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)) * ff_v_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product) + (ff_s_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product))) /\ ff_s_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product = ff_r_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product * ff_p_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes. (exists ftsf_gap_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_bound. ftsf_gap_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_bound + S ftsf_index_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes = (mv_factor_count_arbitrary_zero_valuesmobiusfactors)) -> exists ftsf_factor_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_entry. ff_h_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_entry + S (ftsf_factor_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes) = S ((S (ftsf_index_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes)) * mv_factor_scale_arbitrary_zero_valuesmobiusfactors)) /\ exists ff_q_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_entry. mv_factor_code_arbitrary_zero_valuesmobiusfactors = ff_q_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes)) * mv_factor_scale_arbitrary_zero_valuesmobiusfactors) + (ftsf_factor_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_prime. ftsf_factor_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes = frm_prime_left_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_arbitrary_zero_valuesmobiusfactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_arbitrary_zero_valuesmobiusfactorsparityeven. (mv_factor_count_arbitrary_zero_valuesmobiusfactors) = 2 * mv_even_half_arbitrary_zero_valuesmobiusfactorsparityeven) /\ ((mdc_positive_value_arbitrary_zero_values) = 2))) \/ (((exists mv_odd_half_arbitrary_zero_valuesmobiusfactorsparityodd. (mv_factor_count_arbitrary_zero_valuesmobiusfactors) = 2 * mv_odd_half_arbitrary_zero_valuesmobiusfactorsparityodd + 1) /\ ((mdc_positive_value_arbitrary_zero_values) = 1)))))))))))) -> ~(n=0) -> (exists pvs_le_gap_arbitrary_zero_bound. pvs_le_gap_arbitrary_zero_bound + (n) = (N)) -> ((((((~((n)=0)) /\ (exists dm_mask_table_arbitrary_zero_resultforward. ((((exists dst_positive_code_arbitrary_zero_resultforwardmasktable dst_positive_scale_arbitrary_zero_resultforwardmasktable dst_negative_code_arbitrary_zero_resultforwardmasktable dst_negative_scale_arbitrary_zero_resultforwardmasktable. (((dm_mask_table_arbitrary_zero_resultforward) = (((((dst_positive_code_arbitrary_zero_resultforwardmasktable) + (dst_positive_scale_arbitrary_zero_resultforwardmasktable)) * S ((dst_positive_code_arbitrary_zero_resultforwardmasktable) + (dst_positive_scale_arbitrary_zero_resultforwardmasktable)) + ((dst_positive_scale_arbitrary_zero_resultforwardmasktable) + (dst_positive_scale_arbitrary_zero_resultforwardmasktable))) + (((dst_negative_code_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)) * S ((dst_negative_code_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)) + ((dst_negative_scale_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)))) * S ((((dst_positive_code_arbitrary_zero_resultforwardmasktable) + (dst_positive_scale_arbitrary_zero_resultforwardmasktable)) * S ((dst_positive_code_arbitrary_zero_resultforwardmasktable) + (dst_positive_scale_arbitrary_zero_resultforwardmasktable)) + ((dst_positive_scale_arbitrary_zero_resultforwardmasktable) + (dst_positive_scale_arbitrary_zero_resultforwardmasktable))) + (((dst_negative_code_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)) * S ((dst_negative_code_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)) + ((dst_negative_scale_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)))) + ((((dst_negative_code_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)) * S ((dst_negative_code_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)) + ((dst_negative_scale_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable))) + (((dst_negative_code_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)) * S ((dst_negative_code_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)) + ((dst_negative_scale_arbitrary_zero_resultforwardmasktable) + (dst_negative_scale_arbitrary_zero_resultforwardmasktable)))))) /\ (forall dst_index_arbitrary_zero_resultforwardmasktable. (exists pvs_le_gap_arbitrary_zero_resultforwardmasktabledomain. pvs_le_gap_arbitrary_zero_resultforwardmasktabledomain + (dst_index_arbitrary_zero_resultforwardmasktable) = (n)) -> exists dst_positive_arbitrary_zero_resultforwardmasktable dst_negative_arbitrary_zero_resultforwardmasktable dst_value_arbitrary_zero_resultforwardmasktable. ((((exists ff_h_pvs_arbitrary_zero_resultforwardmasktableentrypositive. ff_h_pvs_arbitrary_zero_resultforwardmasktableentrypositive + S (dst_positive_arbitrary_zero_resultforwardmasktable) = S ((S (dst_index_arbitrary_zero_resultforwardmasktable)) * dst_positive_scale_arbitrary_zero_resultforwardmasktable)) /\ exists ff_q_pvs_arbitrary_zero_resultforwardmasktableentrypositive. dst_positive_code_arbitrary_zero_resultforwardmasktable = ff_q_pvs_arbitrary_zero_resultforwardmasktableentrypositive * S ((S (dst_index_arbitrary_zero_resultforwardmasktable)) * dst_positive_scale_arbitrary_zero_resultforwardmasktable) + (dst_positive_arbitrary_zero_resultforwardmasktable))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultforwardmasktableentrynegative. ff_h_pvs_arbitrary_zero_resultforwardmasktableentrynegative + S (dst_negative_arbitrary_zero_resultforwardmasktable) = S ((S (dst_index_arbitrary_zero_resultforwardmasktable)) * dst_negative_scale_arbitrary_zero_resultforwardmasktable)) /\ exists ff_q_pvs_arbitrary_zero_resultforwardmasktableentrynegative. dst_negative_code_arbitrary_zero_resultforwardmasktable = ff_q_pvs_arbitrary_zero_resultforwardmasktableentrynegative * S ((S (dst_index_arbitrary_zero_resultforwardmasktable)) * dst_negative_scale_arbitrary_zero_resultforwardmasktable) + (dst_negative_arbitrary_zero_resultforwardmasktable))) /\ (exists ge_balance_positive_arbitrary_zero_resultforwardmasktableentryvalue ge_balance_negative_arbitrary_zero_resultforwardmasktableentryvalue. (((((dst_value_arbitrary_zero_resultforwardmasktable) = 2 * (ge_balance_positive_arbitrary_zero_resultforwardmasktableentryvalue) /\ (ge_balance_negative_arbitrary_zero_resultforwardmasktableentryvalue) = 0) \/ exists ge_signed_half_arbitrary_zero_resultforwardmasktableentryvaluedecode. (((dst_value_arbitrary_zero_resultforwardmasktable) = 2 * ge_signed_half_arbitrary_zero_resultforwardmasktableentryvaluedecode + 1 /\ (ge_balance_positive_arbitrary_zero_resultforwardmasktableentryvalue) = 0) /\ (ge_balance_negative_arbitrary_zero_resultforwardmasktableentryvalue) = S ge_signed_half_arbitrary_zero_resultforwardmasktableentryvaluedecode))) /\ ((dst_positive_arbitrary_zero_resultforwardmasktable) + ge_balance_negative_arbitrary_zero_resultforwardmasktableentryvalue = (dst_negative_arbitrary_zero_resultforwardmasktable) + ge_balance_positive_arbitrary_zero_resultforwardmasktableentryvalue))))))))) /\ (forall dm_index_arbitrary_zero_resultforwardmask dm_value_arbitrary_zero_resultforwardmask. (exists pvs_le_gap_arbitrary_zero_resultforwardmaskdomain. pvs_le_gap_arbitrary_zero_resultforwardmaskdomain + (dm_index_arbitrary_zero_resultforwardmask) = (n)) -> (exists dst_positive_code_arbitrary_zero_resultforwardmasklookup dst_positive_scale_arbitrary_zero_resultforwardmasklookup dst_negative_code_arbitrary_zero_resultforwardmasklookup dst_negative_scale_arbitrary_zero_resultforwardmasklookup dst_positive_arbitrary_zero_resultforwardmasklookup dst_negative_arbitrary_zero_resultforwardmasklookup. (((dm_mask_table_arbitrary_zero_resultforward) = (((((dst_positive_code_arbitrary_zero_resultforwardmasklookup) + (dst_positive_scale_arbitrary_zero_resultforwardmasklookup)) * S ((dst_positive_code_arbitrary_zero_resultforwardmasklookup) + (dst_positive_scale_arbitrary_zero_resultforwardmasklookup)) + ((dst_positive_scale_arbitrary_zero_resultforwardmasklookup) + (dst_positive_scale_arbitrary_zero_resultforwardmasklookup))) + (((dst_negative_code_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) * S ((dst_negative_code_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) + ((dst_negative_scale_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)))) * S ((((dst_positive_code_arbitrary_zero_resultforwardmasklookup) + (dst_positive_scale_arbitrary_zero_resultforwardmasklookup)) * S ((dst_positive_code_arbitrary_zero_resultforwardmasklookup) + (dst_positive_scale_arbitrary_zero_resultforwardmasklookup)) + ((dst_positive_scale_arbitrary_zero_resultforwardmasklookup) + (dst_positive_scale_arbitrary_zero_resultforwardmasklookup))) + (((dst_negative_code_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) * S ((dst_negative_code_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) + ((dst_negative_scale_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)))) + ((((dst_negative_code_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) * S ((dst_negative_code_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) + ((dst_negative_scale_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup))) + (((dst_negative_code_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) * S ((dst_negative_code_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) + ((dst_negative_scale_arbitrary_zero_resultforwardmasklookup) + (dst_negative_scale_arbitrary_zero_resultforwardmasklookup)))))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultforwardmasklookuppositive. ff_h_pvs_arbitrary_zero_resultforwardmasklookuppositive + S (dst_positive_arbitrary_zero_resultforwardmasklookup) = S ((S (dm_index_arbitrary_zero_resultforwardmask)) * dst_positive_scale_arbitrary_zero_resultforwardmasklookup)) /\ exists ff_q_pvs_arbitrary_zero_resultforwardmasklookuppositive. dst_positive_code_arbitrary_zero_resultforwardmasklookup = ff_q_pvs_arbitrary_zero_resultforwardmasklookuppositive * S ((S (dm_index_arbitrary_zero_resultforwardmask)) * dst_positive_scale_arbitrary_zero_resultforwardmasklookup) + (dst_positive_arbitrary_zero_resultforwardmasklookup))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultforwardmasklookupnegative. ff_h_pvs_arbitrary_zero_resultforwardmasklookupnegative + S (dst_negative_arbitrary_zero_resultforwardmasklookup) = S ((S (dm_index_arbitrary_zero_resultforwardmask)) * dst_negative_scale_arbitrary_zero_resultforwardmasklookup)) /\ exists ff_q_pvs_arbitrary_zero_resultforwardmasklookupnegative. dst_negative_code_arbitrary_zero_resultforwardmasklookup = ff_q_pvs_arbitrary_zero_resultforwardmasklookupnegative * S ((S (dm_index_arbitrary_zero_resultforwardmask)) * dst_negative_scale_arbitrary_zero_resultforwardmasklookup) + (dst_negative_arbitrary_zero_resultforwardmasklookup))) /\ (exists ge_balance_positive_arbitrary_zero_resultforwardmasklookupvalue ge_balance_negative_arbitrary_zero_resultforwardmasklookupvalue. (((((dm_value_arbitrary_zero_resultforwardmask) = 2 * (ge_balance_positive_arbitrary_zero_resultforwardmasklookupvalue) /\ (ge_balance_negative_arbitrary_zero_resultforwardmasklookupvalue) = 0) \/ exists ge_signed_half_arbitrary_zero_resultforwardmasklookupvaluedecode. (((dm_value_arbitrary_zero_resultforwardmask) = 2 * ge_signed_half_arbitrary_zero_resultforwardmasklookupvaluedecode + 1 /\ (ge_balance_positive_arbitrary_zero_resultforwardmasklookupvalue) = 0) /\ (ge_balance_negative_arbitrary_zero_resultforwardmasklookupvalue) = S ge_signed_half_arbitrary_zero_resultforwardmasklookupvaluedecode))) /\ ((dst_positive_arbitrary_zero_resultforwardmasklookup) + ge_balance_negative_arbitrary_zero_resultforwardmasklookupvalue = (dst_negative_arbitrary_zero_resultforwardmasklookup) + ge_balance_positive_arbitrary_zero_resultforwardmasklookupvalue))))))))) -> ((((~((dm_index_arbitrary_zero_resultforwardmask)=0)) /\ (exists dm_quotient_arbitrary_zero_resultforwardmaskentry. (((n)=(dm_index_arbitrary_zero_resultforwardmask)*dm_quotient_arbitrary_zero_resultforwardmaskentry) /\ (exists dst_positive_code_arbitrary_zero_resultforwardmaskentryinput dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput dst_negative_code_arbitrary_zero_resultforwardmaskentryinput dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput dst_positive_arbitrary_zero_resultforwardmaskentryinput dst_negative_arbitrary_zero_resultforwardmaskentryinput. (((F) = (((((dst_positive_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput)) * S ((dst_positive_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput)) + ((dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput) + (dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput))) + (((dst_negative_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) * S ((dst_negative_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) + ((dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)))) * S ((((dst_positive_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput)) * S ((dst_positive_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput)) + ((dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput) + (dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput))) + (((dst_negative_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) * S ((dst_negative_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) + ((dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)))) + ((((dst_negative_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) * S ((dst_negative_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) + ((dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput))) + (((dst_negative_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) * S ((dst_negative_code_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) + ((dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)))))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultforwardmaskentryinputpositive. ff_h_pvs_arbitrary_zero_resultforwardmaskentryinputpositive + S (dst_positive_arbitrary_zero_resultforwardmaskentryinput) = S ((S (dm_index_arbitrary_zero_resultforwardmask)) * dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput)) /\ exists ff_q_pvs_arbitrary_zero_resultforwardmaskentryinputpositive. dst_positive_code_arbitrary_zero_resultforwardmaskentryinput = ff_q_pvs_arbitrary_zero_resultforwardmaskentryinputpositive * S ((S (dm_index_arbitrary_zero_resultforwardmask)) * dst_positive_scale_arbitrary_zero_resultforwardmaskentryinput) + (dst_positive_arbitrary_zero_resultforwardmaskentryinput))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultforwardmaskentryinputnegative. ff_h_pvs_arbitrary_zero_resultforwardmaskentryinputnegative + S (dst_negative_arbitrary_zero_resultforwardmaskentryinput) = S ((S (dm_index_arbitrary_zero_resultforwardmask)) * dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput)) /\ exists ff_q_pvs_arbitrary_zero_resultforwardmaskentryinputnegative. dst_negative_code_arbitrary_zero_resultforwardmaskentryinput = ff_q_pvs_arbitrary_zero_resultforwardmaskentryinputnegative * S ((S (dm_index_arbitrary_zero_resultforwardmask)) * dst_negative_scale_arbitrary_zero_resultforwardmaskentryinput) + (dst_negative_arbitrary_zero_resultforwardmaskentryinput))) /\ (exists ge_balance_positive_arbitrary_zero_resultforwardmaskentryinputvalue ge_balance_negative_arbitrary_zero_resultforwardmaskentryinputvalue. (((((dm_value_arbitrary_zero_resultforwardmask) = 2 * (ge_balance_positive_arbitrary_zero_resultforwardmaskentryinputvalue) /\ (ge_balance_negative_arbitrary_zero_resultforwardmaskentryinputvalue) = 0) \/ exists ge_signed_half_arbitrary_zero_resultforwardmaskentryinputvaluedecode. (((dm_value_arbitrary_zero_resultforwardmask) = 2 * ge_signed_half_arbitrary_zero_resultforwardmaskentryinputvaluedecode + 1 /\ (ge_balance_positive_arbitrary_zero_resultforwardmaskentryinputvalue) = 0) /\ (ge_balance_negative_arbitrary_zero_resultforwardmaskentryinputvalue) = S ge_signed_half_arbitrary_zero_resultforwardmaskentryinputvaluedecode))) /\ ((dst_positive_arbitrary_zero_resultforwardmaskentryinput) + ge_balance_negative_arbitrary_zero_resultforwardmaskentryinputvalue = (dst_negative_arbitrary_zero_resultforwardmaskentryinput) + ge_balance_positive_arbitrary_zero_resultforwardmaskentryinputvalue))))))))))))) \/ ((((dm_index_arbitrary_zero_resultforwardmask)=0 \/ ~(exists pvs_factor_arbitrary_zero_resultforwardmaskentrynondivisor. (n) = (dm_index_arbitrary_zero_resultforwardmask) * pvs_factor_arbitrary_zero_resultforwardmaskentrynondivisor)) /\ ((dm_value_arbitrary_zero_resultforwardmask)=0))))))) /\ (exists dst_positive_code_arbitrary_zero_resultforwardfold dst_positive_scale_arbitrary_zero_resultforwardfold dst_negative_code_arbitrary_zero_resultforwardfold dst_negative_scale_arbitrary_zero_resultforwardfold dst_positive_sum_arbitrary_zero_resultforwardfold dst_negative_sum_arbitrary_zero_resultforwardfold. (((dm_mask_table_arbitrary_zero_resultforward) = (((((dst_positive_code_arbitrary_zero_resultforwardfold) + (dst_positive_scale_arbitrary_zero_resultforwardfold)) * S ((dst_positive_code_arbitrary_zero_resultforwardfold) + (dst_positive_scale_arbitrary_zero_resultforwardfold)) + ((dst_positive_scale_arbitrary_zero_resultforwardfold) + (dst_positive_scale_arbitrary_zero_resultforwardfold))) + (((dst_negative_code_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)) * S ((dst_negative_code_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)) + ((dst_negative_scale_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)))) * S ((((dst_positive_code_arbitrary_zero_resultforwardfold) + (dst_positive_scale_arbitrary_zero_resultforwardfold)) * S ((dst_positive_code_arbitrary_zero_resultforwardfold) + (dst_positive_scale_arbitrary_zero_resultforwardfold)) + ((dst_positive_scale_arbitrary_zero_resultforwardfold) + (dst_positive_scale_arbitrary_zero_resultforwardfold))) + (((dst_negative_code_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)) * S ((dst_negative_code_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)) + ((dst_negative_scale_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)))) + ((((dst_negative_code_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)) * S ((dst_negative_code_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)) + ((dst_negative_scale_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold))) + (((dst_negative_code_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)) * S ((dst_negative_code_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)) + ((dst_negative_scale_arbitrary_zero_resultforwardfold) + (dst_negative_scale_arbitrary_zero_resultforwardfold)))))) /\ (((exists fs_u_dst_arbitrary_zero_resultforwardfoldpositive fs_v_dst_arbitrary_zero_resultforwardfoldpositive. ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_start. fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_arbitrary_zero_resultforwardfoldpositive)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_start. fs_u_dst_arbitrary_zero_resultforwardfoldpositive = fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_start * S ((S (0)) * fs_v_dst_arbitrary_zero_resultforwardfoldpositive) + (0))) /\ ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_terminal. fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_terminal + S (dst_positive_sum_arbitrary_zero_resultforwardfold) = S ((S (S (n))) * fs_v_dst_arbitrary_zero_resultforwardfoldpositive)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_terminal. fs_u_dst_arbitrary_zero_resultforwardfoldpositive = fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_arbitrary_zero_resultforwardfoldpositive) + (dst_positive_sum_arbitrary_zero_resultforwardfold))) /\ forall fs_i_dst_arbitrary_zero_resultforwardfoldpositive_body_steps. (exists fs_lt_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_bound. fs_lt_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_bound + S fs_i_dst_arbitrary_zero_resultforwardfoldpositive_body_steps = S (n)) -> exists fs_a_dst_arbitrary_zero_resultforwardfoldpositive_body_steps fs_r_dst_arbitrary_zero_resultforwardfoldpositive_body_steps fs_s_dst_arbitrary_zero_resultforwardfoldpositive_body_steps. ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_summand. fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_summand + S (fs_a_dst_arbitrary_zero_resultforwardfoldpositive_body_steps) = S ((S (fs_i_dst_arbitrary_zero_resultforwardfoldpositive_body_steps)) * dst_positive_scale_arbitrary_zero_resultforwardfold)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_summand. dst_positive_code_arbitrary_zero_resultforwardfold = fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_summand * S ((S (fs_i_dst_arbitrary_zero_resultforwardfoldpositive_body_steps)) * dst_positive_scale_arbitrary_zero_resultforwardfold) + (fs_a_dst_arbitrary_zero_resultforwardfoldpositive_body_steps))) /\ ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_partial. fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_partial + S (fs_r_dst_arbitrary_zero_resultforwardfoldpositive_body_steps) = S ((S (fs_i_dst_arbitrary_zero_resultforwardfoldpositive_body_steps)) * fs_v_dst_arbitrary_zero_resultforwardfoldpositive)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_partial. fs_u_dst_arbitrary_zero_resultforwardfoldpositive = fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_partial * S ((S (fs_i_dst_arbitrary_zero_resultforwardfoldpositive_body_steps)) * fs_v_dst_arbitrary_zero_resultforwardfoldpositive) + (fs_r_dst_arbitrary_zero_resultforwardfoldpositive_body_steps))) /\ ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_successor. fs_h_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_successor + S (fs_s_dst_arbitrary_zero_resultforwardfoldpositive_body_steps) = S ((S (S fs_i_dst_arbitrary_zero_resultforwardfoldpositive_body_steps)) * fs_v_dst_arbitrary_zero_resultforwardfoldpositive)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_successor. fs_u_dst_arbitrary_zero_resultforwardfoldpositive = fs_q_dst_arbitrary_zero_resultforwardfoldpositive_body_steps_successor * S ((S (S fs_i_dst_arbitrary_zero_resultforwardfoldpositive_body_steps)) * fs_v_dst_arbitrary_zero_resultforwardfoldpositive) + (fs_s_dst_arbitrary_zero_resultforwardfoldpositive_body_steps))) /\ fs_s_dst_arbitrary_zero_resultforwardfoldpositive_body_steps = fs_r_dst_arbitrary_zero_resultforwardfoldpositive_body_steps + fs_a_dst_arbitrary_zero_resultforwardfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_arbitrary_zero_resultforwardfoldnegative fs_v_dst_arbitrary_zero_resultforwardfoldnegative. ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_start. fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_arbitrary_zero_resultforwardfoldnegative)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_start. fs_u_dst_arbitrary_zero_resultforwardfoldnegative = fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_start * S ((S (0)) * fs_v_dst_arbitrary_zero_resultforwardfoldnegative) + (0))) /\ ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_terminal. fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_terminal + S (dst_negative_sum_arbitrary_zero_resultforwardfold) = S ((S (S (n))) * fs_v_dst_arbitrary_zero_resultforwardfoldnegative)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_terminal. fs_u_dst_arbitrary_zero_resultforwardfoldnegative = fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_arbitrary_zero_resultforwardfoldnegative) + (dst_negative_sum_arbitrary_zero_resultforwardfold))) /\ forall fs_i_dst_arbitrary_zero_resultforwardfoldnegative_body_steps. (exists fs_lt_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_bound. fs_lt_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_bound + S fs_i_dst_arbitrary_zero_resultforwardfoldnegative_body_steps = S (n)) -> exists fs_a_dst_arbitrary_zero_resultforwardfoldnegative_body_steps fs_r_dst_arbitrary_zero_resultforwardfoldnegative_body_steps fs_s_dst_arbitrary_zero_resultforwardfoldnegative_body_steps. ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_summand. fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_summand + S (fs_a_dst_arbitrary_zero_resultforwardfoldnegative_body_steps) = S ((S (fs_i_dst_arbitrary_zero_resultforwardfoldnegative_body_steps)) * dst_negative_scale_arbitrary_zero_resultforwardfold)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_summand. dst_negative_code_arbitrary_zero_resultforwardfold = fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_summand * S ((S (fs_i_dst_arbitrary_zero_resultforwardfoldnegative_body_steps)) * dst_negative_scale_arbitrary_zero_resultforwardfold) + (fs_a_dst_arbitrary_zero_resultforwardfoldnegative_body_steps))) /\ ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_partial. fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_partial + S (fs_r_dst_arbitrary_zero_resultforwardfoldnegative_body_steps) = S ((S (fs_i_dst_arbitrary_zero_resultforwardfoldnegative_body_steps)) * fs_v_dst_arbitrary_zero_resultforwardfoldnegative)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_partial. fs_u_dst_arbitrary_zero_resultforwardfoldnegative = fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_partial * S ((S (fs_i_dst_arbitrary_zero_resultforwardfoldnegative_body_steps)) * fs_v_dst_arbitrary_zero_resultforwardfoldnegative) + (fs_r_dst_arbitrary_zero_resultforwardfoldnegative_body_steps))) /\ ((((exists fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_successor. fs_h_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_successor + S (fs_s_dst_arbitrary_zero_resultforwardfoldnegative_body_steps) = S ((S (S fs_i_dst_arbitrary_zero_resultforwardfoldnegative_body_steps)) * fs_v_dst_arbitrary_zero_resultforwardfoldnegative)) /\ exists fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_successor. fs_u_dst_arbitrary_zero_resultforwardfoldnegative = fs_q_dst_arbitrary_zero_resultforwardfoldnegative_body_steps_successor * S ((S (S fs_i_dst_arbitrary_zero_resultforwardfoldnegative_body_steps)) * fs_v_dst_arbitrary_zero_resultforwardfoldnegative) + (fs_s_dst_arbitrary_zero_resultforwardfoldnegative_body_steps))) /\ fs_s_dst_arbitrary_zero_resultforwardfoldnegative_body_steps = fs_r_dst_arbitrary_zero_resultforwardfoldnegative_body_steps + fs_a_dst_arbitrary_zero_resultforwardfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_arbitrary_zero_resultforwardfoldresult ge_balance_negative_arbitrary_zero_resultforwardfoldresult. (((((z) = 2 * (ge_balance_positive_arbitrary_zero_resultforwardfoldresult) /\ (ge_balance_negative_arbitrary_zero_resultforwardfoldresult) = 0) \/ exists ge_signed_half_arbitrary_zero_resultforwardfoldresultdecode. (((z) = 2 * ge_signed_half_arbitrary_zero_resultforwardfoldresultdecode + 1 /\ (ge_balance_positive_arbitrary_zero_resultforwardfoldresult) = 0) /\ (ge_balance_negative_arbitrary_zero_resultforwardfoldresult) = S ge_signed_half_arbitrary_zero_resultforwardfoldresultdecode))) /\ ((dst_positive_sum_arbitrary_zero_resultforwardfold) + ge_balance_negative_arbitrary_zero_resultforwardfoldresult = (dst_negative_sum_arbitrary_zero_resultforwardfold) + ge_balance_positive_arbitrary_zero_resultforwardfoldresult))))))))))))) -> (((n)=1 /\ (z)=2) \/ (~((n)=1) /\ (z)=0))) /\ ((((n)=1 /\ (z)=2) \/ (~((n)=1) /\ (z)=0)) -> (((~((n)=0)) /\ (exists dm_mask_table_arbitrary_zero_resultreverse. ((((exists dst_positive_code_arbitrary_zero_resultreversemasktable dst_positive_scale_arbitrary_zero_resultreversemasktable dst_negative_code_arbitrary_zero_resultreversemasktable dst_negative_scale_arbitrary_zero_resultreversemasktable. (((dm_mask_table_arbitrary_zero_resultreverse) = (((((dst_positive_code_arbitrary_zero_resultreversemasktable) + (dst_positive_scale_arbitrary_zero_resultreversemasktable)) * S ((dst_positive_code_arbitrary_zero_resultreversemasktable) + (dst_positive_scale_arbitrary_zero_resultreversemasktable)) + ((dst_positive_scale_arbitrary_zero_resultreversemasktable) + (dst_positive_scale_arbitrary_zero_resultreversemasktable))) + (((dst_negative_code_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)) * S ((dst_negative_code_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)) + ((dst_negative_scale_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)))) * S ((((dst_positive_code_arbitrary_zero_resultreversemasktable) + (dst_positive_scale_arbitrary_zero_resultreversemasktable)) * S ((dst_positive_code_arbitrary_zero_resultreversemasktable) + (dst_positive_scale_arbitrary_zero_resultreversemasktable)) + ((dst_positive_scale_arbitrary_zero_resultreversemasktable) + (dst_positive_scale_arbitrary_zero_resultreversemasktable))) + (((dst_negative_code_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)) * S ((dst_negative_code_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)) + ((dst_negative_scale_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)))) + ((((dst_negative_code_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)) * S ((dst_negative_code_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)) + ((dst_negative_scale_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable))) + (((dst_negative_code_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)) * S ((dst_negative_code_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)) + ((dst_negative_scale_arbitrary_zero_resultreversemasktable) + (dst_negative_scale_arbitrary_zero_resultreversemasktable)))))) /\ (forall dst_index_arbitrary_zero_resultreversemasktable. (exists pvs_le_gap_arbitrary_zero_resultreversemasktabledomain. pvs_le_gap_arbitrary_zero_resultreversemasktabledomain + (dst_index_arbitrary_zero_resultreversemasktable) = (n)) -> exists dst_positive_arbitrary_zero_resultreversemasktable dst_negative_arbitrary_zero_resultreversemasktable dst_value_arbitrary_zero_resultreversemasktable. ((((exists ff_h_pvs_arbitrary_zero_resultreversemasktableentrypositive. ff_h_pvs_arbitrary_zero_resultreversemasktableentrypositive + S (dst_positive_arbitrary_zero_resultreversemasktable) = S ((S (dst_index_arbitrary_zero_resultreversemasktable)) * dst_positive_scale_arbitrary_zero_resultreversemasktable)) /\ exists ff_q_pvs_arbitrary_zero_resultreversemasktableentrypositive. dst_positive_code_arbitrary_zero_resultreversemasktable = ff_q_pvs_arbitrary_zero_resultreversemasktableentrypositive * S ((S (dst_index_arbitrary_zero_resultreversemasktable)) * dst_positive_scale_arbitrary_zero_resultreversemasktable) + (dst_positive_arbitrary_zero_resultreversemasktable))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultreversemasktableentrynegative. ff_h_pvs_arbitrary_zero_resultreversemasktableentrynegative + S (dst_negative_arbitrary_zero_resultreversemasktable) = S ((S (dst_index_arbitrary_zero_resultreversemasktable)) * dst_negative_scale_arbitrary_zero_resultreversemasktable)) /\ exists ff_q_pvs_arbitrary_zero_resultreversemasktableentrynegative. dst_negative_code_arbitrary_zero_resultreversemasktable = ff_q_pvs_arbitrary_zero_resultreversemasktableentrynegative * S ((S (dst_index_arbitrary_zero_resultreversemasktable)) * dst_negative_scale_arbitrary_zero_resultreversemasktable) + (dst_negative_arbitrary_zero_resultreversemasktable))) /\ (exists ge_balance_positive_arbitrary_zero_resultreversemasktableentryvalue ge_balance_negative_arbitrary_zero_resultreversemasktableentryvalue. (((((dst_value_arbitrary_zero_resultreversemasktable) = 2 * (ge_balance_positive_arbitrary_zero_resultreversemasktableentryvalue) /\ (ge_balance_negative_arbitrary_zero_resultreversemasktableentryvalue) = 0) \/ exists ge_signed_half_arbitrary_zero_resultreversemasktableentryvaluedecode. (((dst_value_arbitrary_zero_resultreversemasktable) = 2 * ge_signed_half_arbitrary_zero_resultreversemasktableentryvaluedecode + 1 /\ (ge_balance_positive_arbitrary_zero_resultreversemasktableentryvalue) = 0) /\ (ge_balance_negative_arbitrary_zero_resultreversemasktableentryvalue) = S ge_signed_half_arbitrary_zero_resultreversemasktableentryvaluedecode))) /\ ((dst_positive_arbitrary_zero_resultreversemasktable) + ge_balance_negative_arbitrary_zero_resultreversemasktableentryvalue = (dst_negative_arbitrary_zero_resultreversemasktable) + ge_balance_positive_arbitrary_zero_resultreversemasktableentryvalue))))))))) /\ (forall dm_index_arbitrary_zero_resultreversemask dm_value_arbitrary_zero_resultreversemask. (exists pvs_le_gap_arbitrary_zero_resultreversemaskdomain. pvs_le_gap_arbitrary_zero_resultreversemaskdomain + (dm_index_arbitrary_zero_resultreversemask) = (n)) -> (exists dst_positive_code_arbitrary_zero_resultreversemasklookup dst_positive_scale_arbitrary_zero_resultreversemasklookup dst_negative_code_arbitrary_zero_resultreversemasklookup dst_negative_scale_arbitrary_zero_resultreversemasklookup dst_positive_arbitrary_zero_resultreversemasklookup dst_negative_arbitrary_zero_resultreversemasklookup. (((dm_mask_table_arbitrary_zero_resultreverse) = (((((dst_positive_code_arbitrary_zero_resultreversemasklookup) + (dst_positive_scale_arbitrary_zero_resultreversemasklookup)) * S ((dst_positive_code_arbitrary_zero_resultreversemasklookup) + (dst_positive_scale_arbitrary_zero_resultreversemasklookup)) + ((dst_positive_scale_arbitrary_zero_resultreversemasklookup) + (dst_positive_scale_arbitrary_zero_resultreversemasklookup))) + (((dst_negative_code_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)) * S ((dst_negative_code_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)) + ((dst_negative_scale_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)))) * S ((((dst_positive_code_arbitrary_zero_resultreversemasklookup) + (dst_positive_scale_arbitrary_zero_resultreversemasklookup)) * S ((dst_positive_code_arbitrary_zero_resultreversemasklookup) + (dst_positive_scale_arbitrary_zero_resultreversemasklookup)) + ((dst_positive_scale_arbitrary_zero_resultreversemasklookup) + (dst_positive_scale_arbitrary_zero_resultreversemasklookup))) + (((dst_negative_code_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)) * S ((dst_negative_code_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)) + ((dst_negative_scale_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)))) + ((((dst_negative_code_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)) * S ((dst_negative_code_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)) + ((dst_negative_scale_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup))) + (((dst_negative_code_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)) * S ((dst_negative_code_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)) + ((dst_negative_scale_arbitrary_zero_resultreversemasklookup) + (dst_negative_scale_arbitrary_zero_resultreversemasklookup)))))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultreversemasklookuppositive. ff_h_pvs_arbitrary_zero_resultreversemasklookuppositive + S (dst_positive_arbitrary_zero_resultreversemasklookup) = S ((S (dm_index_arbitrary_zero_resultreversemask)) * dst_positive_scale_arbitrary_zero_resultreversemasklookup)) /\ exists ff_q_pvs_arbitrary_zero_resultreversemasklookuppositive. dst_positive_code_arbitrary_zero_resultreversemasklookup = ff_q_pvs_arbitrary_zero_resultreversemasklookuppositive * S ((S (dm_index_arbitrary_zero_resultreversemask)) * dst_positive_scale_arbitrary_zero_resultreversemasklookup) + (dst_positive_arbitrary_zero_resultreversemasklookup))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultreversemasklookupnegative. ff_h_pvs_arbitrary_zero_resultreversemasklookupnegative + S (dst_negative_arbitrary_zero_resultreversemasklookup) = S ((S (dm_index_arbitrary_zero_resultreversemask)) * dst_negative_scale_arbitrary_zero_resultreversemasklookup)) /\ exists ff_q_pvs_arbitrary_zero_resultreversemasklookupnegative. dst_negative_code_arbitrary_zero_resultreversemasklookup = ff_q_pvs_arbitrary_zero_resultreversemasklookupnegative * S ((S (dm_index_arbitrary_zero_resultreversemask)) * dst_negative_scale_arbitrary_zero_resultreversemasklookup) + (dst_negative_arbitrary_zero_resultreversemasklookup))) /\ (exists ge_balance_positive_arbitrary_zero_resultreversemasklookupvalue ge_balance_negative_arbitrary_zero_resultreversemasklookupvalue. (((((dm_value_arbitrary_zero_resultreversemask) = 2 * (ge_balance_positive_arbitrary_zero_resultreversemasklookupvalue) /\ (ge_balance_negative_arbitrary_zero_resultreversemasklookupvalue) = 0) \/ exists ge_signed_half_arbitrary_zero_resultreversemasklookupvaluedecode. (((dm_value_arbitrary_zero_resultreversemask) = 2 * ge_signed_half_arbitrary_zero_resultreversemasklookupvaluedecode + 1 /\ (ge_balance_positive_arbitrary_zero_resultreversemasklookupvalue) = 0) /\ (ge_balance_negative_arbitrary_zero_resultreversemasklookupvalue) = S ge_signed_half_arbitrary_zero_resultreversemasklookupvaluedecode))) /\ ((dst_positive_arbitrary_zero_resultreversemasklookup) + ge_balance_negative_arbitrary_zero_resultreversemasklookupvalue = (dst_negative_arbitrary_zero_resultreversemasklookup) + ge_balance_positive_arbitrary_zero_resultreversemasklookupvalue))))))))) -> ((((~((dm_index_arbitrary_zero_resultreversemask)=0)) /\ (exists dm_quotient_arbitrary_zero_resultreversemaskentry. (((n)=(dm_index_arbitrary_zero_resultreversemask)*dm_quotient_arbitrary_zero_resultreversemaskentry) /\ (exists dst_positive_code_arbitrary_zero_resultreversemaskentryinput dst_positive_scale_arbitrary_zero_resultreversemaskentryinput dst_negative_code_arbitrary_zero_resultreversemaskentryinput dst_negative_scale_arbitrary_zero_resultreversemaskentryinput dst_positive_arbitrary_zero_resultreversemaskentryinput dst_negative_arbitrary_zero_resultreversemaskentryinput. (((F) = (((((dst_positive_code_arbitrary_zero_resultreversemaskentryinput) + (dst_positive_scale_arbitrary_zero_resultreversemaskentryinput)) * S ((dst_positive_code_arbitrary_zero_resultreversemaskentryinput) + (dst_positive_scale_arbitrary_zero_resultreversemaskentryinput)) + ((dst_positive_scale_arbitrary_zero_resultreversemaskentryinput) + (dst_positive_scale_arbitrary_zero_resultreversemaskentryinput))) + (((dst_negative_code_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) * S ((dst_negative_code_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) + ((dst_negative_scale_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)))) * S ((((dst_positive_code_arbitrary_zero_resultreversemaskentryinput) + (dst_positive_scale_arbitrary_zero_resultreversemaskentryinput)) * S ((dst_positive_code_arbitrary_zero_resultreversemaskentryinput) + (dst_positive_scale_arbitrary_zero_resultreversemaskentryinput)) + ((dst_positive_scale_arbitrary_zero_resultreversemaskentryinput) + (dst_positive_scale_arbitrary_zero_resultreversemaskentryinput))) + (((dst_negative_code_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) * S ((dst_negative_code_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) + ((dst_negative_scale_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)))) + ((((dst_negative_code_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) * S ((dst_negative_code_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) + ((dst_negative_scale_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput))) + (((dst_negative_code_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) * S ((dst_negative_code_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) + ((dst_negative_scale_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)))))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultreversemaskentryinputpositive. ff_h_pvs_arbitrary_zero_resultreversemaskentryinputpositive + S (dst_positive_arbitrary_zero_resultreversemaskentryinput) = S ((S (dm_index_arbitrary_zero_resultreversemask)) * dst_positive_scale_arbitrary_zero_resultreversemaskentryinput)) /\ exists ff_q_pvs_arbitrary_zero_resultreversemaskentryinputpositive. dst_positive_code_arbitrary_zero_resultreversemaskentryinput = ff_q_pvs_arbitrary_zero_resultreversemaskentryinputpositive * S ((S (dm_index_arbitrary_zero_resultreversemask)) * dst_positive_scale_arbitrary_zero_resultreversemaskentryinput) + (dst_positive_arbitrary_zero_resultreversemaskentryinput))) /\ (((((exists ff_h_pvs_arbitrary_zero_resultreversemaskentryinputnegative. ff_h_pvs_arbitrary_zero_resultreversemaskentryinputnegative + S (dst_negative_arbitrary_zero_resultreversemaskentryinput) = S ((S (dm_index_arbitrary_zero_resultreversemask)) * dst_negative_scale_arbitrary_zero_resultreversemaskentryinput)) /\ exists ff_q_pvs_arbitrary_zero_resultreversemaskentryinputnegative. dst_negative_code_arbitrary_zero_resultreversemaskentryinput = ff_q_pvs_arbitrary_zero_resultreversemaskentryinputnegative * S ((S (dm_index_arbitrary_zero_resultreversemask)) * dst_negative_scale_arbitrary_zero_resultreversemaskentryinput) + (dst_negative_arbitrary_zero_resultreversemaskentryinput))) /\ (exists ge_balance_positive_arbitrary_zero_resultreversemaskentryinputvalue ge_balance_negative_arbitrary_zero_resultreversemaskentryinputvalue. (((((dm_value_arbitrary_zero_resultreversemask) = 2 * (ge_balance_positive_arbitrary_zero_resultreversemaskentryinputvalue) /\ (ge_balance_negative_arbitrary_zero_resultreversemaskentryinputvalue) = 0) \/ exists ge_signed_half_arbitrary_zero_resultreversemaskentryinputvaluedecode. (((dm_value_arbitrary_zero_resultreversemask) = 2 * ge_signed_half_arbitrary_zero_resultreversemaskentryinputvaluedecode + 1 /\ (ge_balance_positive_arbitrary_zero_resultreversemaskentryinputvalue) = 0) /\ (ge_balance_negative_arbitrary_zero_resultreversemaskentryinputvalue) = S ge_signed_half_arbitrary_zero_resultreversemaskentryinputvaluedecode))) /\ ((dst_positive_arbitrary_zero_resultreversemaskentryinput) + ge_balance_negative_arbitrary_zero_resultreversemaskentryinputvalue = (dst_negative_arbitrary_zero_resultreversemaskentryinput) + ge_balance_positive_arbitrary_zero_resultreversemaskentryinputvalue))))))))))))) \/ ((((dm_index_arbitrary_zero_resultreversemask)=0 \/ ~(exists pvs_factor_arbitrary_zero_resultreversemaskentrynondivisor. (n) = (dm_index_arbitrary_zero_resultreversemask) * pvs_factor_arbitrary_zero_resultreversemaskentrynondivisor)) /\ ((dm_value_arbitrary_zero_resultreversemask)=0))))))) /\ (exists dst_positive_code_arbitrary_zero_resultreversefold dst_positive_scale_arbitrary_zero_resultreversefold dst_negative_code_arbitrary_zero_resultreversefold dst_negative_scale_arbitrary_zero_resultreversefold dst_positive_sum_arbitrary_zero_resultreversefold dst_negative_sum_arbitrary_zero_resultreversefold. (((dm_mask_table_arbitrary_zero_resultreverse) = (((((dst_positive_code_arbitrary_zero_resultreversefold) + (dst_positive_scale_arbitrary_zero_resultreversefold)) * S ((dst_positive_code_arbitrary_zero_resultreversefold) + (dst_positive_scale_arbitrary_zero_resultreversefold)) + ((dst_positive_scale_arbitrary_zero_resultreversefold) + (dst_positive_scale_arbitrary_zero_resultreversefold))) + (((dst_negative_code_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)) * S ((dst_negative_code_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)) + ((dst_negative_scale_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)))) * S ((((dst_positive_code_arbitrary_zero_resultreversefold) + (dst_positive_scale_arbitrary_zero_resultreversefold)) * S ((dst_positive_code_arbitrary_zero_resultreversefold) + (dst_positive_scale_arbitrary_zero_resultreversefold)) + ((dst_positive_scale_arbitrary_zero_resultreversefold) + (dst_positive_scale_arbitrary_zero_resultreversefold))) + (((dst_negative_code_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)) * S ((dst_negative_code_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)) + ((dst_negative_scale_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)))) + ((((dst_negative_code_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)) * S ((dst_negative_code_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)) + ((dst_negative_scale_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold))) + (((dst_negative_code_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)) * S ((dst_negative_code_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)) + ((dst_negative_scale_arbitrary_zero_resultreversefold) + (dst_negative_scale_arbitrary_zero_resultreversefold)))))) /\ (((exists fs_u_dst_arbitrary_zero_resultreversefoldpositive fs_v_dst_arbitrary_zero_resultreversefoldpositive. ((((exists fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_start. fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_arbitrary_zero_resultreversefoldpositive)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_start. fs_u_dst_arbitrary_zero_resultreversefoldpositive = fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_start * S ((S (0)) * fs_v_dst_arbitrary_zero_resultreversefoldpositive) + (0))) /\ ((((exists fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_terminal. fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_terminal + S (dst_positive_sum_arbitrary_zero_resultreversefold) = S ((S (S (n))) * fs_v_dst_arbitrary_zero_resultreversefoldpositive)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_terminal. fs_u_dst_arbitrary_zero_resultreversefoldpositive = fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_arbitrary_zero_resultreversefoldpositive) + (dst_positive_sum_arbitrary_zero_resultreversefold))) /\ forall fs_i_dst_arbitrary_zero_resultreversefoldpositive_body_steps. (exists fs_lt_dst_arbitrary_zero_resultreversefoldpositive_body_steps_bound. fs_lt_dst_arbitrary_zero_resultreversefoldpositive_body_steps_bound + S fs_i_dst_arbitrary_zero_resultreversefoldpositive_body_steps = S (n)) -> exists fs_a_dst_arbitrary_zero_resultreversefoldpositive_body_steps fs_r_dst_arbitrary_zero_resultreversefoldpositive_body_steps fs_s_dst_arbitrary_zero_resultreversefoldpositive_body_steps. ((((exists fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_steps_summand. fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_steps_summand + S (fs_a_dst_arbitrary_zero_resultreversefoldpositive_body_steps) = S ((S (fs_i_dst_arbitrary_zero_resultreversefoldpositive_body_steps)) * dst_positive_scale_arbitrary_zero_resultreversefold)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_steps_summand. dst_positive_code_arbitrary_zero_resultreversefold = fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_steps_summand * S ((S (fs_i_dst_arbitrary_zero_resultreversefoldpositive_body_steps)) * dst_positive_scale_arbitrary_zero_resultreversefold) + (fs_a_dst_arbitrary_zero_resultreversefoldpositive_body_steps))) /\ ((((exists fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_steps_partial. fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_steps_partial + S (fs_r_dst_arbitrary_zero_resultreversefoldpositive_body_steps) = S ((S (fs_i_dst_arbitrary_zero_resultreversefoldpositive_body_steps)) * fs_v_dst_arbitrary_zero_resultreversefoldpositive)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_steps_partial. fs_u_dst_arbitrary_zero_resultreversefoldpositive = fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_steps_partial * S ((S (fs_i_dst_arbitrary_zero_resultreversefoldpositive_body_steps)) * fs_v_dst_arbitrary_zero_resultreversefoldpositive) + (fs_r_dst_arbitrary_zero_resultreversefoldpositive_body_steps))) /\ ((((exists fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_steps_successor. fs_h_dst_arbitrary_zero_resultreversefoldpositive_body_steps_successor + S (fs_s_dst_arbitrary_zero_resultreversefoldpositive_body_steps) = S ((S (S fs_i_dst_arbitrary_zero_resultreversefoldpositive_body_steps)) * fs_v_dst_arbitrary_zero_resultreversefoldpositive)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_steps_successor. fs_u_dst_arbitrary_zero_resultreversefoldpositive = fs_q_dst_arbitrary_zero_resultreversefoldpositive_body_steps_successor * S ((S (S fs_i_dst_arbitrary_zero_resultreversefoldpositive_body_steps)) * fs_v_dst_arbitrary_zero_resultreversefoldpositive) + (fs_s_dst_arbitrary_zero_resultreversefoldpositive_body_steps))) /\ fs_s_dst_arbitrary_zero_resultreversefoldpositive_body_steps = fs_r_dst_arbitrary_zero_resultreversefoldpositive_body_steps + fs_a_dst_arbitrary_zero_resultreversefoldpositive_body_steps)))))) /\ (((exists fs_u_dst_arbitrary_zero_resultreversefoldnegative fs_v_dst_arbitrary_zero_resultreversefoldnegative. ((((exists fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_start. fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_arbitrary_zero_resultreversefoldnegative)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_start. fs_u_dst_arbitrary_zero_resultreversefoldnegative = fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_start * S ((S (0)) * fs_v_dst_arbitrary_zero_resultreversefoldnegative) + (0))) /\ ((((exists fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_terminal. fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_terminal + S (dst_negative_sum_arbitrary_zero_resultreversefold) = S ((S (S (n))) * fs_v_dst_arbitrary_zero_resultreversefoldnegative)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_terminal. fs_u_dst_arbitrary_zero_resultreversefoldnegative = fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_arbitrary_zero_resultreversefoldnegative) + (dst_negative_sum_arbitrary_zero_resultreversefold))) /\ forall fs_i_dst_arbitrary_zero_resultreversefoldnegative_body_steps. (exists fs_lt_dst_arbitrary_zero_resultreversefoldnegative_body_steps_bound. fs_lt_dst_arbitrary_zero_resultreversefoldnegative_body_steps_bound + S fs_i_dst_arbitrary_zero_resultreversefoldnegative_body_steps = S (n)) -> exists fs_a_dst_arbitrary_zero_resultreversefoldnegative_body_steps fs_r_dst_arbitrary_zero_resultreversefoldnegative_body_steps fs_s_dst_arbitrary_zero_resultreversefoldnegative_body_steps. ((((exists fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_steps_summand. fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_steps_summand + S (fs_a_dst_arbitrary_zero_resultreversefoldnegative_body_steps) = S ((S (fs_i_dst_arbitrary_zero_resultreversefoldnegative_body_steps)) * dst_negative_scale_arbitrary_zero_resultreversefold)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_steps_summand. dst_negative_code_arbitrary_zero_resultreversefold = fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_steps_summand * S ((S (fs_i_dst_arbitrary_zero_resultreversefoldnegative_body_steps)) * dst_negative_scale_arbitrary_zero_resultreversefold) + (fs_a_dst_arbitrary_zero_resultreversefoldnegative_body_steps))) /\ ((((exists fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_steps_partial. fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_steps_partial + S (fs_r_dst_arbitrary_zero_resultreversefoldnegative_body_steps) = S ((S (fs_i_dst_arbitrary_zero_resultreversefoldnegative_body_steps)) * fs_v_dst_arbitrary_zero_resultreversefoldnegative)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_steps_partial. fs_u_dst_arbitrary_zero_resultreversefoldnegative = fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_steps_partial * S ((S (fs_i_dst_arbitrary_zero_resultreversefoldnegative_body_steps)) * fs_v_dst_arbitrary_zero_resultreversefoldnegative) + (fs_r_dst_arbitrary_zero_resultreversefoldnegative_body_steps))) /\ ((((exists fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_steps_successor. fs_h_dst_arbitrary_zero_resultreversefoldnegative_body_steps_successor + S (fs_s_dst_arbitrary_zero_resultreversefoldnegative_body_steps) = S ((S (S fs_i_dst_arbitrary_zero_resultreversefoldnegative_body_steps)) * fs_v_dst_arbitrary_zero_resultreversefoldnegative)) /\ exists fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_steps_successor. fs_u_dst_arbitrary_zero_resultreversefoldnegative = fs_q_dst_arbitrary_zero_resultreversefoldnegative_body_steps_successor * S ((S (S fs_i_dst_arbitrary_zero_resultreversefoldnegative_body_steps)) * fs_v_dst_arbitrary_zero_resultreversefoldnegative) + (fs_s_dst_arbitrary_zero_resultreversefoldnegative_body_steps))) /\ fs_s_dst_arbitrary_zero_resultreversefoldnegative_body_steps = fs_r_dst_arbitrary_zero_resultreversefoldnegative_body_steps + fs_a_dst_arbitrary_zero_resultreversefoldnegative_body_steps)))))) /\ (exists ge_balance_positive_arbitrary_zero_resultreversefoldresult ge_balance_negative_arbitrary_zero_resultreversefoldresult. (((((z) = 2 * (ge_balance_positive_arbitrary_zero_resultreversefoldresult) /\ (ge_balance_negative_arbitrary_zero_resultreversefoldresult) = 0) \/ exists ge_signed_half_arbitrary_zero_resultreversefoldresultdecode. (((z) = 2 * ge_signed_half_arbitrary_zero_resultreversefoldresultdecode + 1 /\ (ge_balance_positive_arbitrary_zero_resultreversefoldresult) = 0) /\ (ge_balance_negative_arbitrary_zero_resultreversefoldresult) = S ge_signed_half_arbitrary_zero_resultreversefoldresultdecode))) /\ ((dst_positive_sum_arbitrary_zero_resultreversefold) + ge_balance_negative_arbitrary_zero_resultreversefoldresult = (dst_negative_sum_arbitrary_zero_resultreversefold) + ge_balance_positive_arbitrary_zero_resultreversefoldresult))))))))))))))))

Complete tactic proof in conservative notation

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

110 script commands · 24 reading checkpoints · 8 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–8

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

  1. L1
    intro N
  2. L2
    intro F
  3. L3
    intro n
  4. L4
    intro z
  5. L5
    intro ht
  6. L6
    intro hvalues
  7. L7
    intro hn
  8. L8
    intro hN
02Establish hML9–11

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mobius table exists.

  1. L9
    have hM : ∃ M. MobiusTable(N,M)Definitions: MobiusTable(N,M)Original native command in the exact edition
  2. L10
    specialize mobius_table_exists (N)
  3. L11
    apply mobius_table_exists
03Separate the logical casesL12–14

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

  1. L12
    cases hM
  2. L13
    cases hM_witness
  3. L14
    cases hM_witness_right
04Establish hequalL15–24

Establish this local claim before using it. It is not an additional assumption.

  1. L15
    have hequal : ArithPositiveEqual(F,x,n)Definitions: ArithPositiveEqual(F,x,n)Original native command in the exact edition
  2. L16
    intro d
  3. L17
    intro a
  4. L18
    intro b
  5. L19
    intro hd
  6. L20
    intro hbound
  7. L21
    intro ha
  8. L22
    intro hb
  9. L23
    specialize mobius_value_functional (d)
  10. L24
    specialize mobius_value_functional (a)
05Use earlier factsL25–34

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

  1. L25
    specialize mobius_value_functional (b)
  2. L26
    apply mobius_value_functional
  3. L27
    specialize hvalues (d)
  4. L28
    specialize hvalues (a)
  5. L29
    apply hvalues
  6. L30
    exact hd
  7. L31
    specialize le_trans (d)
  8. L32
    specialize le_trans (n)
  9. L33
    specialize le_trans (N)
  10. L34
    apply le_trans
06Use earlier factsL35–44

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

  1. L35
    exact hbound
  2. L36
    exact hN
  3. L37
    exact ha
  4. L38
    specialize hM_witness_right_right (d)
  5. L39
    specialize hM_witness_right_right (b)
  6. L40
    apply hM_witness_right_right
  7. L41
    exact hd
  8. L42
    specialize le_trans (d)
  9. L43
    specialize le_trans (n)
  10. L44
    specialize le_trans (N)
07Use earlier factsL45–48

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

  1. L45
    apply le_trans
  2. L46
    exact hbound
  3. L47
    exact hN
  4. L48
    exact hb
08Establish hFsumL49–56

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed divisor sum exists.

  1. L49
    have hFsum : ∃ u. DivisorSum(F,n,u)Definitions: DivisorSum(F,n,u)Original native command in the exact edition
  2. L50
    specialize signed_divisor_sum_exists (N)
  3. L51
    specialize signed_divisor_sum_exists (F)
  4. L52
    specialize signed_divisor_sum_exists (n)
  5. L53
    apply signed_divisor_sum_exists
  6. L54
    exact ht
  7. L55
    exact hn
  8. L56
    exact hN
09Separate the logical casesL57–57

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

  1. L57
    cases hFsum
10Establish hMsumL58–65

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed divisor sum exists.

  1. L58
    have hMsum : ∃ v. DivisorSum(x,n,v)Definitions: DivisorSum(x,n,v)Original native command in the exact edition
  2. L59
    specialize signed_divisor_sum_exists (N)
  3. L60
    specialize signed_divisor_sum_exists (x)
  4. L61
    specialize signed_divisor_sum_exists (n)
  5. L62
    apply signed_divisor_sum_exists
  6. L63
    exact hM_witness_left
  7. L64
    exact hn
  8. L65
    exact hN
11Separate the logical casesL66–66

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

  1. L66
    cases hMsum
12Establish hiffL67–75

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mobius divisor sum cancellation.

  1. L67
    have hiff : (DivisorSum(x,n,z) → n = 1 ∧ z = 2 ∨ ¬n = 1 ∧ z = 0) ∧ (n = 1 ∧ z = 2 ∨ ¬n = 1 ∧ z = 0 → DivisorSum(x,n,z))Definitions: DivisorSum(x,n,z)Original native command in the exact edition
  2. L68
    specialize mobius_divisor_sum_cancellation (N)
  3. L69
    specialize mobius_divisor_sum_cancellation (x)
  4. L70
    specialize mobius_divisor_sum_cancellation (n)
  5. L71
    specialize mobius_divisor_sum_cancellation (z)
  6. L72
    apply mobius_divisor_sum_cancellation
  7. L73
    exact hM_witness
  8. L74
    exact hn
  9. L75
    exact hN
13Separate the logical casesL76–77

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

  1. L76
    cases hiff
  2. L77
    split
14Fix variables and assumptionsL78–78

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

  1. L78
    intro hz
15Use earlier factsL79–79

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

  1. L79
    apply hiff_left
16Establish heqL80–89

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed divisor sum positive source extensional.

  1. L80
    have heq : x2=z
  2. L81
    symm
  3. L82
    specialize signed_divisor_sum_positive_source_extensional (F)
  4. L83
    specialize signed_divisor_sum_positive_source_extensional (x)
  5. L84
    specialize signed_divisor_sum_positive_source_extensional (n)
  6. L85
    specialize signed_divisor_sum_positive_source_extensional (z)
  7. L86
    specialize signed_divisor_sum_positive_source_extensional (x2)
  8. L87
    apply signed_divisor_sum_positive_source_extensional
  9. L88
    exact hequal
  10. L89
    exact hz
17Use earlier factsL90–90

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

  1. L90
    exact hMsum_witness
18Calculate and transport equalitiesL91–92

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

  1. L91
    rewrite heq at hMsum_witness
  2. L92
    rewrite heq at hMsum_witness
19Use earlier factsL93–93

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

  1. L93
    exact hMsum_witness
20Fix variables and assumptionsL94–94

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

  1. L94
    intro hdelta
21Establish hzL95–97

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

  1. L95
  2. L96
    apply hiff_right
  3. L97
    exact hdelta
22Establish heqL98–107

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed divisor sum positive source extensional.

  1. L98
    have heq : x1=z
  2. L99
    specialize signed_divisor_sum_positive_source_extensional (F)
  3. L100
    specialize signed_divisor_sum_positive_source_extensional (x)
  4. L101
    specialize signed_divisor_sum_positive_source_extensional (n)
  5. L102
    specialize signed_divisor_sum_positive_source_extensional (x1)
  6. L103
    specialize signed_divisor_sum_positive_source_extensional (z)
  7. L104
    apply signed_divisor_sum_positive_source_extensional
  8. L105
    exact hequal
  9. L106
    exact hFsum_witness
  10. L107
    exact hz
23Calculate and transport equalitiesL108–109

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

  1. L108
    rewrite heq at hFsum_witness
  2. L109
    rewrite heq at hFsum_witness
24Use earlier factsL110–110

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

  1. L110
    exact hFsum_witness

Library-wide reading audit

Original defined command ledger · 110 lines
  1. 0001intro N
  2. 0002intro F
  3. 0003intro n
  4. 0004intro z
  5. 0005intro ht
  6. 0006intro hvalues
  7. 0007intro hn
  8. 0008intro hN
  9. 0009have hM : ∃ M. MobiusTable(N,M)
  10. 0010specialize mobius_table_exists (N)
  11. 0011apply mobius_table_exists
  12. 0012cases hM
  13. 0013cases hM_witness
  14. 0014cases hM_witness_right
  15. 0015have hequal : ArithPositiveEqual(F,x,n)
  16. 0016intro d
  17. 0017intro a
  18. 0018intro b
  19. 0019intro hd
  20. 0020intro hbound
  21. 0021intro ha
  22. 0022intro hb
  23. 0023specialize mobius_value_functional (d)
  24. 0024specialize mobius_value_functional (a)
  25. 0025specialize mobius_value_functional (b)
  26. 0026apply mobius_value_functional
  27. 0027specialize hvalues (d)
  28. 0028specialize hvalues (a)
  29. 0029apply hvalues
  30. 0030exact hd
  31. 0031specialize le_trans (d)
  32. 0032specialize le_trans (n)
  33. 0033specialize le_trans (N)
  34. 0034apply le_trans
  35. 0035exact hbound
  36. 0036exact hN
  37. 0037exact ha
  38. 0038specialize hM_witness_right_right (d)
  39. 0039specialize hM_witness_right_right (b)
  40. 0040apply hM_witness_right_right
  41. 0041exact hd
  42. 0042specialize le_trans (d)
  43. 0043specialize le_trans (n)
  44. 0044specialize le_trans (N)
  45. 0045apply le_trans
  46. 0046exact hbound
  47. 0047exact hN
  48. 0048exact hb
  49. 0049have hFsum : ∃ u. DivisorSum(F,n,u)
  50. 0050specialize signed_divisor_sum_exists (N)
  51. 0051specialize signed_divisor_sum_exists (F)
  52. 0052specialize signed_divisor_sum_exists (n)
  53. 0053apply signed_divisor_sum_exists
  54. 0054exact ht
  55. 0055exact hn
  56. 0056exact hN
  57. 0057cases hFsum
  58. 0058have hMsum : ∃ v. DivisorSum(x,n,v)
  59. 0059specialize signed_divisor_sum_exists (N)
  60. 0060specialize signed_divisor_sum_exists (x)
  61. 0061specialize signed_divisor_sum_exists (n)
  62. 0062apply signed_divisor_sum_exists
  63. 0063exact hM_witness_left
  64. 0064exact hn
  65. 0065exact hN
  66. 0066cases hMsum
  67. 0067have hiff : (DivisorSum(x,n,z) → n = 1 ∧ z = 2 ∨ ¬n = 1 ∧ z = 0) ∧ (n = 1 ∧ z = 2 ∨ ¬n = 1 ∧ z = 0 → DivisorSum(x,n,z))
  68. 0068specialize mobius_divisor_sum_cancellation (N)
  69. 0069specialize mobius_divisor_sum_cancellation (x)
  70. 0070specialize mobius_divisor_sum_cancellation (n)
  71. 0071specialize mobius_divisor_sum_cancellation (z)
  72. 0072apply mobius_divisor_sum_cancellation
  73. 0073exact hM_witness
  74. 0074exact hn
  75. 0075exact hN
  76. 0076cases hiff
  77. 0077split
  78. 0078intro hz
  79. 0079apply hiff_left
  80. 0080have heq : x2=z
  81. 0081symm
  82. 0082specialize signed_divisor_sum_positive_source_extensional (F)
  83. 0083specialize signed_divisor_sum_positive_source_extensional (x)
  84. 0084specialize signed_divisor_sum_positive_source_extensional (n)
  85. 0085specialize signed_divisor_sum_positive_source_extensional (z)
  86. 0086specialize signed_divisor_sum_positive_source_extensional (x2)
  87. 0087apply signed_divisor_sum_positive_source_extensional
  88. 0088exact hequal
  89. 0089exact hz
  90. 0090exact hMsum_witness
  91. 0091rewrite heq at hMsum_witness
  92. 0092rewrite heq at hMsum_witness
  93. 0093exact hMsum_witness
  94. 0094intro hdelta
  95. 0095have hz : DivisorSum(x,n,z)
  96. 0096apply hiff_right
  97. 0097exact hdelta
  98. 0098have heq : x1=z
  99. 0099specialize signed_divisor_sum_positive_source_extensional (F)
  100. 0100specialize signed_divisor_sum_positive_source_extensional (x)
  101. 0101specialize signed_divisor_sum_positive_source_extensional (n)
  102. 0102specialize signed_divisor_sum_positive_source_extensional (x1)
  103. 0103specialize signed_divisor_sum_positive_source_extensional (z)
  104. 0104apply signed_divisor_sum_positive_source_extensional
  105. 0105exact hequal
  106. 0106exact hFsum_witness
  107. 0107exact hz
  108. 0108rewrite heq at hFsum_witness
  109. 0109rewrite heq at hFsum_witness
  110. 0110exact hFsum_witness