DV000C

mobius_table_entry_iff

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

At a positive in-domain index, the actual table lookup is equivalent to the independently specified μ graph, by constructed lookup and literal value uniqueness.

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 i z. (((exists dst_positive_code_iff_tabletable dst_positive_scale_iff_tabletable dst_negative_code_iff_tabletable dst_negative_scale_iff_tabletable. (((M) = (((((dst_positive_code_iff_tabletable) + (dst_positive_scale_iff_tabletable)) * S ((dst_positive_code_iff_tabletable) + (dst_positive_scale_iff_tabletable)) + ((dst_positive_scale_iff_tabletable) + (dst_positive_scale_iff_tabletable))) + (((dst_negative_code_iff_tabletable) + (dst_negative_scale_iff_tabletable)) * S ((dst_negative_code_iff_tabletable) + (dst_negative_scale_iff_tabletable)) + ((dst_negative_scale_iff_tabletable) + (dst_negative_scale_iff_tabletable)))) * S ((((dst_positive_code_iff_tabletable) + (dst_positive_scale_iff_tabletable)) * S ((dst_positive_code_iff_tabletable) + (dst_positive_scale_iff_tabletable)) + ((dst_positive_scale_iff_tabletable) + (dst_positive_scale_iff_tabletable))) + (((dst_negative_code_iff_tabletable) + (dst_negative_scale_iff_tabletable)) * S ((dst_negative_code_iff_tabletable) + (dst_negative_scale_iff_tabletable)) + ((dst_negative_scale_iff_tabletable) + (dst_negative_scale_iff_tabletable)))) + ((((dst_negative_code_iff_tabletable) + (dst_negative_scale_iff_tabletable)) * S ((dst_negative_code_iff_tabletable) + (dst_negative_scale_iff_tabletable)) + ((dst_negative_scale_iff_tabletable) + (dst_negative_scale_iff_tabletable))) + (((dst_negative_code_iff_tabletable) + (dst_negative_scale_iff_tabletable)) * S ((dst_negative_code_iff_tabletable) + (dst_negative_scale_iff_tabletable)) + ((dst_negative_scale_iff_tabletable) + (dst_negative_scale_iff_tabletable)))))) /\ (forall dst_index_iff_tabletable. (exists pvs_le_gap_iff_tabletabledomain. pvs_le_gap_iff_tabletabledomain + (dst_index_iff_tabletable) = (N)) -> exists dst_positive_iff_tabletable dst_negative_iff_tabletable dst_value_iff_tabletable. ((((exists ff_h_pvs_iff_tabletableentrypositive. ff_h_pvs_iff_tabletableentrypositive + S (dst_positive_iff_tabletable) = S ((S (dst_index_iff_tabletable)) * dst_positive_scale_iff_tabletable)) /\ exists ff_q_pvs_iff_tabletableentrypositive. dst_positive_code_iff_tabletable = ff_q_pvs_iff_tabletableentrypositive * S ((S (dst_index_iff_tabletable)) * dst_positive_scale_iff_tabletable) + (dst_positive_iff_tabletable))) /\ (((((exists ff_h_pvs_iff_tabletableentrynegative. ff_h_pvs_iff_tabletableentrynegative + S (dst_negative_iff_tabletable) = S ((S (dst_index_iff_tabletable)) * dst_negative_scale_iff_tabletable)) /\ exists ff_q_pvs_iff_tabletableentrynegative. dst_negative_code_iff_tabletable = ff_q_pvs_iff_tabletableentrynegative * S ((S (dst_index_iff_tabletable)) * dst_negative_scale_iff_tabletable) + (dst_negative_iff_tabletable))) /\ (exists ge_balance_positive_iff_tabletableentryvalue ge_balance_negative_iff_tabletableentryvalue. (((((dst_value_iff_tabletable) = 2 * (ge_balance_positive_iff_tabletableentryvalue) /\ (ge_balance_negative_iff_tabletableentryvalue) = 0) \/ exists ge_signed_half_iff_tabletableentryvaluedecode. (((dst_value_iff_tabletable) = 2 * ge_signed_half_iff_tabletableentryvaluedecode + 1 /\ (ge_balance_positive_iff_tabletableentryvalue) = 0) /\ (ge_balance_negative_iff_tabletableentryvalue) = S ge_signed_half_iff_tabletableentryvaluedecode))) /\ ((dst_positive_iff_tabletable) + ge_balance_negative_iff_tabletableentryvalue = (dst_negative_iff_tabletable) + ge_balance_positive_iff_tabletableentryvalue))))))))) /\ (((exists dst_positive_code_iff_tablezero dst_positive_scale_iff_tablezero dst_negative_code_iff_tablezero dst_negative_scale_iff_tablezero dst_positive_iff_tablezero dst_negative_iff_tablezero. (((M) = (((((dst_positive_code_iff_tablezero) + (dst_positive_scale_iff_tablezero)) * S ((dst_positive_code_iff_tablezero) + (dst_positive_scale_iff_tablezero)) + ((dst_positive_scale_iff_tablezero) + (dst_positive_scale_iff_tablezero))) + (((dst_negative_code_iff_tablezero) + (dst_negative_scale_iff_tablezero)) * S ((dst_negative_code_iff_tablezero) + (dst_negative_scale_iff_tablezero)) + ((dst_negative_scale_iff_tablezero) + (dst_negative_scale_iff_tablezero)))) * S ((((dst_positive_code_iff_tablezero) + (dst_positive_scale_iff_tablezero)) * S ((dst_positive_code_iff_tablezero) + (dst_positive_scale_iff_tablezero)) + ((dst_positive_scale_iff_tablezero) + (dst_positive_scale_iff_tablezero))) + (((dst_negative_code_iff_tablezero) + (dst_negative_scale_iff_tablezero)) * S ((dst_negative_code_iff_tablezero) + (dst_negative_scale_iff_tablezero)) + ((dst_negative_scale_iff_tablezero) + (dst_negative_scale_iff_tablezero)))) + ((((dst_negative_code_iff_tablezero) + (dst_negative_scale_iff_tablezero)) * S ((dst_negative_code_iff_tablezero) + (dst_negative_scale_iff_tablezero)) + ((dst_negative_scale_iff_tablezero) + (dst_negative_scale_iff_tablezero))) + (((dst_negative_code_iff_tablezero) + (dst_negative_scale_iff_tablezero)) * S ((dst_negative_code_iff_tablezero) + (dst_negative_scale_iff_tablezero)) + ((dst_negative_scale_iff_tablezero) + (dst_negative_scale_iff_tablezero)))))) /\ (((((exists ff_h_pvs_iff_tablezeropositive. ff_h_pvs_iff_tablezeropositive + S (dst_positive_iff_tablezero) = S ((S (0)) * dst_positive_scale_iff_tablezero)) /\ exists ff_q_pvs_iff_tablezeropositive. dst_positive_code_iff_tablezero = ff_q_pvs_iff_tablezeropositive * S ((S (0)) * dst_positive_scale_iff_tablezero) + (dst_positive_iff_tablezero))) /\ (((((exists ff_h_pvs_iff_tablezeronegative. ff_h_pvs_iff_tablezeronegative + S (dst_negative_iff_tablezero) = S ((S (0)) * dst_negative_scale_iff_tablezero)) /\ exists ff_q_pvs_iff_tablezeronegative. dst_negative_code_iff_tablezero = ff_q_pvs_iff_tablezeronegative * S ((S (0)) * dst_negative_scale_iff_tablezero) + (dst_negative_iff_tablezero))) /\ (exists ge_balance_positive_iff_tablezerovalue ge_balance_negative_iff_tablezerovalue. (((((0) = 2 * (ge_balance_positive_iff_tablezerovalue) /\ (ge_balance_negative_iff_tablezerovalue) = 0) \/ exists ge_signed_half_iff_tablezerovaluedecode. (((0) = 2 * ge_signed_half_iff_tablezerovaluedecode + 1 /\ (ge_balance_positive_iff_tablezerovalue) = 0) /\ (ge_balance_negative_iff_tablezerovalue) = S ge_signed_half_iff_tablezerovaluedecode))) /\ ((dst_positive_iff_tablezero) + ge_balance_negative_iff_tablezerovalue = (dst_negative_iff_tablezero) + ge_balance_positive_iff_tablezerovalue))))))))) /\ (forall mt_index_iff_table mt_value_iff_table. ~(mt_index_iff_table=0) -> (exists pvs_le_gap_iff_tabledomain. pvs_le_gap_iff_tabledomain + (mt_index_iff_table) = (N)) -> (exists dst_positive_code_iff_tableentry dst_positive_scale_iff_tableentry dst_negative_code_iff_tableentry dst_negative_scale_iff_tableentry dst_positive_iff_tableentry dst_negative_iff_tableentry. (((M) = (((((dst_positive_code_iff_tableentry) + (dst_positive_scale_iff_tableentry)) * S ((dst_positive_code_iff_tableentry) + (dst_positive_scale_iff_tableentry)) + ((dst_positive_scale_iff_tableentry) + (dst_positive_scale_iff_tableentry))) + (((dst_negative_code_iff_tableentry) + (dst_negative_scale_iff_tableentry)) * S ((dst_negative_code_iff_tableentry) + (dst_negative_scale_iff_tableentry)) + ((dst_negative_scale_iff_tableentry) + (dst_negative_scale_iff_tableentry)))) * S ((((dst_positive_code_iff_tableentry) + (dst_positive_scale_iff_tableentry)) * S ((dst_positive_code_iff_tableentry) + (dst_positive_scale_iff_tableentry)) + ((dst_positive_scale_iff_tableentry) + (dst_positive_scale_iff_tableentry))) + (((dst_negative_code_iff_tableentry) + (dst_negative_scale_iff_tableentry)) * S ((dst_negative_code_iff_tableentry) + (dst_negative_scale_iff_tableentry)) + ((dst_negative_scale_iff_tableentry) + (dst_negative_scale_iff_tableentry)))) + ((((dst_negative_code_iff_tableentry) + (dst_negative_scale_iff_tableentry)) * S ((dst_negative_code_iff_tableentry) + (dst_negative_scale_iff_tableentry)) + ((dst_negative_scale_iff_tableentry) + (dst_negative_scale_iff_tableentry))) + (((dst_negative_code_iff_tableentry) + (dst_negative_scale_iff_tableentry)) * S ((dst_negative_code_iff_tableentry) + (dst_negative_scale_iff_tableentry)) + ((dst_negative_scale_iff_tableentry) + (dst_negative_scale_iff_tableentry)))))) /\ (((((exists ff_h_pvs_iff_tableentrypositive. ff_h_pvs_iff_tableentrypositive + S (dst_positive_iff_tableentry) = S ((S (mt_index_iff_table)) * dst_positive_scale_iff_tableentry)) /\ exists ff_q_pvs_iff_tableentrypositive. dst_positive_code_iff_tableentry = ff_q_pvs_iff_tableentrypositive * S ((S (mt_index_iff_table)) * dst_positive_scale_iff_tableentry) + (dst_positive_iff_tableentry))) /\ (((((exists ff_h_pvs_iff_tableentrynegative. ff_h_pvs_iff_tableentrynegative + S (dst_negative_iff_tableentry) = S ((S (mt_index_iff_table)) * dst_negative_scale_iff_tableentry)) /\ exists ff_q_pvs_iff_tableentrynegative. dst_negative_code_iff_tableentry = ff_q_pvs_iff_tableentrynegative * S ((S (mt_index_iff_table)) * dst_negative_scale_iff_tableentry) + (dst_negative_iff_tableentry))) /\ (exists ge_balance_positive_iff_tableentryvalue ge_balance_negative_iff_tableentryvalue. (((((mt_value_iff_table) = 2 * (ge_balance_positive_iff_tableentryvalue) /\ (ge_balance_negative_iff_tableentryvalue) = 0) \/ exists ge_signed_half_iff_tableentryvaluedecode. (((mt_value_iff_table) = 2 * ge_signed_half_iff_tableentryvaluedecode + 1 /\ (ge_balance_positive_iff_tableentryvalue) = 0) /\ (ge_balance_negative_iff_tableentryvalue) = S ge_signed_half_iff_tableentryvaluedecode))) /\ ((dst_positive_iff_tableentry) + ge_balance_negative_iff_tableentryvalue = (dst_negative_iff_tableentry) + ge_balance_positive_iff_tableentryvalue))))))))) -> (((~((mt_index_iff_table) = 0)) /\ ((((exists mv_square_prime_iff_tablevaluesquare. ((~((mv_square_prime_iff_tablevaluesquare) = 1) /\ forall pvs_left_iff_tablevaluesquareprime pvs_right_iff_tablevaluesquareprime. (mv_square_prime_iff_tablevaluesquare) = pvs_left_iff_tablevaluesquareprime * pvs_right_iff_tablevaluesquareprime -> pvs_left_iff_tablevaluesquareprime = 1 \/ pvs_right_iff_tablevaluesquareprime = 1) /\ (exists pvs_factor_iff_tablevaluesquaredivisor. (mt_index_iff_table) = (mv_square_prime_iff_tablevaluesquare * mv_square_prime_iff_tablevaluesquare) * pvs_factor_iff_tablevaluesquaredivisor))) /\ ((mt_value_iff_table) = 0))) \/ (((((~((mt_index_iff_table) = 0)) /\ (forall sfd_prime_iff_tablevaluesquarefree. (~((sfd_prime_iff_tablevaluesquarefree) = 1) /\ forall pvs_left_iff_tablevaluesquarefreedomain pvs_right_iff_tablevaluesquarefreedomain. (sfd_prime_iff_tablevaluesquarefree) = pvs_left_iff_tablevaluesquarefreedomain * pvs_right_iff_tablevaluesquarefreedomain -> pvs_left_iff_tablevaluesquarefreedomain = 1 \/ pvs_right_iff_tablevaluesquarefreedomain = 1) -> (exists pvs_le_gap_iff_tablevaluesquarefreebound. pvs_le_gap_iff_tablevaluesquarefreebound + (sfd_prime_iff_tablevaluesquarefree) = (mt_index_iff_table)) -> ~(exists pvs_factor_iff_tablevaluesquarefreesquare. (mt_index_iff_table) = (sfd_prime_iff_tablevaluesquarefree * sfd_prime_iff_tablevaluesquarefree) * pvs_factor_iff_tablevaluesquarefreesquare)))) /\ (exists mv_factor_code_iff_tablevaluefactors mv_factor_scale_iff_tablevaluefactors mv_factor_count_iff_tablevaluefactors. (((~(mt_index_iff_table = 0) /\ ((exists ff_u_fsat_iff_tablevaluefactorsfactorization_product ff_v_fsat_iff_tablevaluefactorsfactorization_product. ((((exists ff_h_fsat_iff_tablevaluefactorsfactorization_product_start. ff_h_fsat_iff_tablevaluefactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_iff_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_iff_tablevaluefactorsfactorization_product_start. ff_u_fsat_iff_tablevaluefactorsfactorization_product = ff_q_fsat_iff_tablevaluefactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_iff_tablevaluefactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_iff_tablevaluefactorsfactorization_product_terminal. ff_h_fsat_iff_tablevaluefactorsfactorization_product_terminal + S (mt_index_iff_table) = S ((S (mv_factor_count_iff_tablevaluefactors)) * ff_v_fsat_iff_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_iff_tablevaluefactorsfactorization_product_terminal. ff_u_fsat_iff_tablevaluefactorsfactorization_product = ff_q_fsat_iff_tablevaluefactorsfactorization_product_terminal * S ((S (mv_factor_count_iff_tablevaluefactors)) * ff_v_fsat_iff_tablevaluefactorsfactorization_product) + (mt_index_iff_table))) /\ forall ff_i_fsat_iff_tablevaluefactorsfactorization_product. (exists ff_lt_fsat_iff_tablevaluefactorsfactorization_product_bound. ff_lt_fsat_iff_tablevaluefactorsfactorization_product_bound + S ff_i_fsat_iff_tablevaluefactorsfactorization_product = mv_factor_count_iff_tablevaluefactors) -> exists ff_p_fsat_iff_tablevaluefactorsfactorization_product ff_r_fsat_iff_tablevaluefactorsfactorization_product ff_s_fsat_iff_tablevaluefactorsfactorization_product. ((((exists ff_h_fsat_iff_tablevaluefactorsfactorization_product_factor. ff_h_fsat_iff_tablevaluefactorsfactorization_product_factor + S (ff_p_fsat_iff_tablevaluefactorsfactorization_product) = S ((S (ff_i_fsat_iff_tablevaluefactorsfactorization_product)) * mv_factor_scale_iff_tablevaluefactors)) /\ exists ff_q_fsat_iff_tablevaluefactorsfactorization_product_factor. mv_factor_code_iff_tablevaluefactors = ff_q_fsat_iff_tablevaluefactorsfactorization_product_factor * S ((S (ff_i_fsat_iff_tablevaluefactorsfactorization_product)) * mv_factor_scale_iff_tablevaluefactors) + (ff_p_fsat_iff_tablevaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_iff_tablevaluefactorsfactorization_product_partial. ff_h_fsat_iff_tablevaluefactorsfactorization_product_partial + S (ff_r_fsat_iff_tablevaluefactorsfactorization_product) = S ((S (ff_i_fsat_iff_tablevaluefactorsfactorization_product)) * ff_v_fsat_iff_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_iff_tablevaluefactorsfactorization_product_partial. ff_u_fsat_iff_tablevaluefactorsfactorization_product = ff_q_fsat_iff_tablevaluefactorsfactorization_product_partial * S ((S (ff_i_fsat_iff_tablevaluefactorsfactorization_product)) * ff_v_fsat_iff_tablevaluefactorsfactorization_product) + (ff_r_fsat_iff_tablevaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_iff_tablevaluefactorsfactorization_product_successor. ff_h_fsat_iff_tablevaluefactorsfactorization_product_successor + S (ff_s_fsat_iff_tablevaluefactorsfactorization_product) = S ((S (S ff_i_fsat_iff_tablevaluefactorsfactorization_product)) * ff_v_fsat_iff_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_iff_tablevaluefactorsfactorization_product_successor. ff_u_fsat_iff_tablevaluefactorsfactorization_product = ff_q_fsat_iff_tablevaluefactorsfactorization_product_successor * S ((S (S ff_i_fsat_iff_tablevaluefactorsfactorization_product)) * ff_v_fsat_iff_tablevaluefactorsfactorization_product) + (ff_s_fsat_iff_tablevaluefactorsfactorization_product))) /\ ff_s_fsat_iff_tablevaluefactorsfactorization_product = ff_r_fsat_iff_tablevaluefactorsfactorization_product * ff_p_fsat_iff_tablevaluefactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_iff_tablevaluefactorsfactorization_primes. (exists ftsf_gap_fsat_iff_tablevaluefactorsfactorization_primes_bound. ftsf_gap_fsat_iff_tablevaluefactorsfactorization_primes_bound + S ftsf_index_fsat_iff_tablevaluefactorsfactorization_primes = (mv_factor_count_iff_tablevaluefactors)) -> exists ftsf_factor_fsat_iff_tablevaluefactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_entry. ff_h_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_entry + S (ftsf_factor_fsat_iff_tablevaluefactorsfactorization_primes) = S ((S (ftsf_index_fsat_iff_tablevaluefactorsfactorization_primes)) * mv_factor_scale_iff_tablevaluefactors)) /\ exists ff_q_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_entry. mv_factor_code_iff_tablevaluefactors = ff_q_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_iff_tablevaluefactorsfactorization_primes)) * mv_factor_scale_iff_tablevaluefactors) + (ftsf_factor_fsat_iff_tablevaluefactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_iff_tablevaluefactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_prime. ftsf_factor_fsat_iff_tablevaluefactorsfactorization_primes = frm_prime_left_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_iff_tablevaluefactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_iff_tablevaluefactorsparityeven. (mv_factor_count_iff_tablevaluefactors) = 2 * mv_even_half_iff_tablevaluefactorsparityeven) /\ ((mt_value_iff_table) = 2))) \/ (((exists mv_odd_half_iff_tablevaluefactorsparityodd. (mv_factor_count_iff_tablevaluefactors) = 2 * mv_odd_half_iff_tablevaluefactorsparityodd + 1) /\ ((mt_value_iff_table) = 1)))))))))))))))) -> ~(i=0) -> (exists pvs_le_gap_iff_bound. pvs_le_gap_iff_bound + (i) = (N)) -> ((exists dst_positive_code_iff_entry_forward dst_positive_scale_iff_entry_forward dst_negative_code_iff_entry_forward dst_negative_scale_iff_entry_forward dst_positive_iff_entry_forward dst_negative_iff_entry_forward. (((M) = (((((dst_positive_code_iff_entry_forward) + (dst_positive_scale_iff_entry_forward)) * S ((dst_positive_code_iff_entry_forward) + (dst_positive_scale_iff_entry_forward)) + ((dst_positive_scale_iff_entry_forward) + (dst_positive_scale_iff_entry_forward))) + (((dst_negative_code_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)) * S ((dst_negative_code_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)) + ((dst_negative_scale_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)))) * S ((((dst_positive_code_iff_entry_forward) + (dst_positive_scale_iff_entry_forward)) * S ((dst_positive_code_iff_entry_forward) + (dst_positive_scale_iff_entry_forward)) + ((dst_positive_scale_iff_entry_forward) + (dst_positive_scale_iff_entry_forward))) + (((dst_negative_code_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)) * S ((dst_negative_code_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)) + ((dst_negative_scale_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)))) + ((((dst_negative_code_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)) * S ((dst_negative_code_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)) + ((dst_negative_scale_iff_entry_forward) + (dst_negative_scale_iff_entry_forward))) + (((dst_negative_code_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)) * S ((dst_negative_code_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)) + ((dst_negative_scale_iff_entry_forward) + (dst_negative_scale_iff_entry_forward)))))) /\ (((((exists ff_h_pvs_iff_entry_forwardpositive. ff_h_pvs_iff_entry_forwardpositive + S (dst_positive_iff_entry_forward) = S ((S (i)) * dst_positive_scale_iff_entry_forward)) /\ exists ff_q_pvs_iff_entry_forwardpositive. dst_positive_code_iff_entry_forward = ff_q_pvs_iff_entry_forwardpositive * S ((S (i)) * dst_positive_scale_iff_entry_forward) + (dst_positive_iff_entry_forward))) /\ (((((exists ff_h_pvs_iff_entry_forwardnegative. ff_h_pvs_iff_entry_forwardnegative + S (dst_negative_iff_entry_forward) = S ((S (i)) * dst_negative_scale_iff_entry_forward)) /\ exists ff_q_pvs_iff_entry_forwardnegative. dst_negative_code_iff_entry_forward = ff_q_pvs_iff_entry_forwardnegative * S ((S (i)) * dst_negative_scale_iff_entry_forward) + (dst_negative_iff_entry_forward))) /\ (exists ge_balance_positive_iff_entry_forwardvalue ge_balance_negative_iff_entry_forwardvalue. (((((z) = 2 * (ge_balance_positive_iff_entry_forwardvalue) /\ (ge_balance_negative_iff_entry_forwardvalue) = 0) \/ exists ge_signed_half_iff_entry_forwardvaluedecode. (((z) = 2 * ge_signed_half_iff_entry_forwardvaluedecode + 1 /\ (ge_balance_positive_iff_entry_forwardvalue) = 0) /\ (ge_balance_negative_iff_entry_forwardvalue) = S ge_signed_half_iff_entry_forwardvaluedecode))) /\ ((dst_positive_iff_entry_forward) + ge_balance_negative_iff_entry_forwardvalue = (dst_negative_iff_entry_forward) + ge_balance_positive_iff_entry_forwardvalue))))))))) -> (((~((i) = 0)) /\ ((((exists mv_square_prime_iff_value_forwardsquare. ((~((mv_square_prime_iff_value_forwardsquare) = 1) /\ forall pvs_left_iff_value_forwardsquareprime pvs_right_iff_value_forwardsquareprime. (mv_square_prime_iff_value_forwardsquare) = pvs_left_iff_value_forwardsquareprime * pvs_right_iff_value_forwardsquareprime -> pvs_left_iff_value_forwardsquareprime = 1 \/ pvs_right_iff_value_forwardsquareprime = 1) /\ (exists pvs_factor_iff_value_forwardsquaredivisor. (i) = (mv_square_prime_iff_value_forwardsquare * mv_square_prime_iff_value_forwardsquare) * pvs_factor_iff_value_forwardsquaredivisor))) /\ ((z) = 0))) \/ (((((~((i) = 0)) /\ (forall sfd_prime_iff_value_forwardsquarefree. (~((sfd_prime_iff_value_forwardsquarefree) = 1) /\ forall pvs_left_iff_value_forwardsquarefreedomain pvs_right_iff_value_forwardsquarefreedomain. (sfd_prime_iff_value_forwardsquarefree) = pvs_left_iff_value_forwardsquarefreedomain * pvs_right_iff_value_forwardsquarefreedomain -> pvs_left_iff_value_forwardsquarefreedomain = 1 \/ pvs_right_iff_value_forwardsquarefreedomain = 1) -> (exists pvs_le_gap_iff_value_forwardsquarefreebound. pvs_le_gap_iff_value_forwardsquarefreebound + (sfd_prime_iff_value_forwardsquarefree) = (i)) -> ~(exists pvs_factor_iff_value_forwardsquarefreesquare. (i) = (sfd_prime_iff_value_forwardsquarefree * sfd_prime_iff_value_forwardsquarefree) * pvs_factor_iff_value_forwardsquarefreesquare)))) /\ (exists mv_factor_code_iff_value_forwardfactors mv_factor_scale_iff_value_forwardfactors mv_factor_count_iff_value_forwardfactors. (((~(i = 0) /\ ((exists ff_u_fsat_iff_value_forwardfactorsfactorization_product ff_v_fsat_iff_value_forwardfactorsfactorization_product. ((((exists ff_h_fsat_iff_value_forwardfactorsfactorization_product_start. ff_h_fsat_iff_value_forwardfactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_iff_value_forwardfactorsfactorization_product)) /\ exists ff_q_fsat_iff_value_forwardfactorsfactorization_product_start. ff_u_fsat_iff_value_forwardfactorsfactorization_product = ff_q_fsat_iff_value_forwardfactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_iff_value_forwardfactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_iff_value_forwardfactorsfactorization_product_terminal. ff_h_fsat_iff_value_forwardfactorsfactorization_product_terminal + S (i) = S ((S (mv_factor_count_iff_value_forwardfactors)) * ff_v_fsat_iff_value_forwardfactorsfactorization_product)) /\ exists ff_q_fsat_iff_value_forwardfactorsfactorization_product_terminal. ff_u_fsat_iff_value_forwardfactorsfactorization_product = ff_q_fsat_iff_value_forwardfactorsfactorization_product_terminal * S ((S (mv_factor_count_iff_value_forwardfactors)) * ff_v_fsat_iff_value_forwardfactorsfactorization_product) + (i))) /\ forall ff_i_fsat_iff_value_forwardfactorsfactorization_product. (exists ff_lt_fsat_iff_value_forwardfactorsfactorization_product_bound. ff_lt_fsat_iff_value_forwardfactorsfactorization_product_bound + S ff_i_fsat_iff_value_forwardfactorsfactorization_product = mv_factor_count_iff_value_forwardfactors) -> exists ff_p_fsat_iff_value_forwardfactorsfactorization_product ff_r_fsat_iff_value_forwardfactorsfactorization_product ff_s_fsat_iff_value_forwardfactorsfactorization_product. ((((exists ff_h_fsat_iff_value_forwardfactorsfactorization_product_factor. ff_h_fsat_iff_value_forwardfactorsfactorization_product_factor + S (ff_p_fsat_iff_value_forwardfactorsfactorization_product) = S ((S (ff_i_fsat_iff_value_forwardfactorsfactorization_product)) * mv_factor_scale_iff_value_forwardfactors)) /\ exists ff_q_fsat_iff_value_forwardfactorsfactorization_product_factor. mv_factor_code_iff_value_forwardfactors = ff_q_fsat_iff_value_forwardfactorsfactorization_product_factor * S ((S (ff_i_fsat_iff_value_forwardfactorsfactorization_product)) * mv_factor_scale_iff_value_forwardfactors) + (ff_p_fsat_iff_value_forwardfactorsfactorization_product))) /\ ((((exists ff_h_fsat_iff_value_forwardfactorsfactorization_product_partial. ff_h_fsat_iff_value_forwardfactorsfactorization_product_partial + S (ff_r_fsat_iff_value_forwardfactorsfactorization_product) = S ((S (ff_i_fsat_iff_value_forwardfactorsfactorization_product)) * ff_v_fsat_iff_value_forwardfactorsfactorization_product)) /\ exists ff_q_fsat_iff_value_forwardfactorsfactorization_product_partial. ff_u_fsat_iff_value_forwardfactorsfactorization_product = ff_q_fsat_iff_value_forwardfactorsfactorization_product_partial * S ((S (ff_i_fsat_iff_value_forwardfactorsfactorization_product)) * ff_v_fsat_iff_value_forwardfactorsfactorization_product) + (ff_r_fsat_iff_value_forwardfactorsfactorization_product))) /\ ((((exists ff_h_fsat_iff_value_forwardfactorsfactorization_product_successor. ff_h_fsat_iff_value_forwardfactorsfactorization_product_successor + S (ff_s_fsat_iff_value_forwardfactorsfactorization_product) = S ((S (S ff_i_fsat_iff_value_forwardfactorsfactorization_product)) * ff_v_fsat_iff_value_forwardfactorsfactorization_product)) /\ exists ff_q_fsat_iff_value_forwardfactorsfactorization_product_successor. ff_u_fsat_iff_value_forwardfactorsfactorization_product = ff_q_fsat_iff_value_forwardfactorsfactorization_product_successor * S ((S (S ff_i_fsat_iff_value_forwardfactorsfactorization_product)) * ff_v_fsat_iff_value_forwardfactorsfactorization_product) + (ff_s_fsat_iff_value_forwardfactorsfactorization_product))) /\ ff_s_fsat_iff_value_forwardfactorsfactorization_product = ff_r_fsat_iff_value_forwardfactorsfactorization_product * ff_p_fsat_iff_value_forwardfactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_iff_value_forwardfactorsfactorization_primes. (exists ftsf_gap_fsat_iff_value_forwardfactorsfactorization_primes_bound. ftsf_gap_fsat_iff_value_forwardfactorsfactorization_primes_bound + S ftsf_index_fsat_iff_value_forwardfactorsfactorization_primes = (mv_factor_count_iff_value_forwardfactors)) -> exists ftsf_factor_fsat_iff_value_forwardfactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_entry. ff_h_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_entry + S (ftsf_factor_fsat_iff_value_forwardfactorsfactorization_primes) = S ((S (ftsf_index_fsat_iff_value_forwardfactorsfactorization_primes)) * mv_factor_scale_iff_value_forwardfactors)) /\ exists ff_q_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_entry. mv_factor_code_iff_value_forwardfactors = ff_q_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_iff_value_forwardfactorsfactorization_primes)) * mv_factor_scale_iff_value_forwardfactors) + (ftsf_factor_fsat_iff_value_forwardfactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_iff_value_forwardfactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_prime. ftsf_factor_fsat_iff_value_forwardfactorsfactorization_primes = frm_prime_left_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_iff_value_forwardfactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_iff_value_forwardfactorsparityeven. (mv_factor_count_iff_value_forwardfactors) = 2 * mv_even_half_iff_value_forwardfactorsparityeven) /\ ((z) = 2))) \/ (((exists mv_odd_half_iff_value_forwardfactorsparityodd. (mv_factor_count_iff_value_forwardfactors) = 2 * mv_odd_half_iff_value_forwardfactorsparityodd + 1) /\ ((z) = 1)))))))))))) /\ ((((~((i) = 0)) /\ ((((exists mv_square_prime_iff_value_reversesquare. ((~((mv_square_prime_iff_value_reversesquare) = 1) /\ forall pvs_left_iff_value_reversesquareprime pvs_right_iff_value_reversesquareprime. (mv_square_prime_iff_value_reversesquare) = pvs_left_iff_value_reversesquareprime * pvs_right_iff_value_reversesquareprime -> pvs_left_iff_value_reversesquareprime = 1 \/ pvs_right_iff_value_reversesquareprime = 1) /\ (exists pvs_factor_iff_value_reversesquaredivisor. (i) = (mv_square_prime_iff_value_reversesquare * mv_square_prime_iff_value_reversesquare) * pvs_factor_iff_value_reversesquaredivisor))) /\ ((z) = 0))) \/ (((((~((i) = 0)) /\ (forall sfd_prime_iff_value_reversesquarefree. (~((sfd_prime_iff_value_reversesquarefree) = 1) /\ forall pvs_left_iff_value_reversesquarefreedomain pvs_right_iff_value_reversesquarefreedomain. (sfd_prime_iff_value_reversesquarefree) = pvs_left_iff_value_reversesquarefreedomain * pvs_right_iff_value_reversesquarefreedomain -> pvs_left_iff_value_reversesquarefreedomain = 1 \/ pvs_right_iff_value_reversesquarefreedomain = 1) -> (exists pvs_le_gap_iff_value_reversesquarefreebound. pvs_le_gap_iff_value_reversesquarefreebound + (sfd_prime_iff_value_reversesquarefree) = (i)) -> ~(exists pvs_factor_iff_value_reversesquarefreesquare. (i) = (sfd_prime_iff_value_reversesquarefree * sfd_prime_iff_value_reversesquarefree) * pvs_factor_iff_value_reversesquarefreesquare)))) /\ (exists mv_factor_code_iff_value_reversefactors mv_factor_scale_iff_value_reversefactors mv_factor_count_iff_value_reversefactors. (((~(i = 0) /\ ((exists ff_u_fsat_iff_value_reversefactorsfactorization_product ff_v_fsat_iff_value_reversefactorsfactorization_product. ((((exists ff_h_fsat_iff_value_reversefactorsfactorization_product_start. ff_h_fsat_iff_value_reversefactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_iff_value_reversefactorsfactorization_product)) /\ exists ff_q_fsat_iff_value_reversefactorsfactorization_product_start. ff_u_fsat_iff_value_reversefactorsfactorization_product = ff_q_fsat_iff_value_reversefactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_iff_value_reversefactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_iff_value_reversefactorsfactorization_product_terminal. ff_h_fsat_iff_value_reversefactorsfactorization_product_terminal + S (i) = S ((S (mv_factor_count_iff_value_reversefactors)) * ff_v_fsat_iff_value_reversefactorsfactorization_product)) /\ exists ff_q_fsat_iff_value_reversefactorsfactorization_product_terminal. ff_u_fsat_iff_value_reversefactorsfactorization_product = ff_q_fsat_iff_value_reversefactorsfactorization_product_terminal * S ((S (mv_factor_count_iff_value_reversefactors)) * ff_v_fsat_iff_value_reversefactorsfactorization_product) + (i))) /\ forall ff_i_fsat_iff_value_reversefactorsfactorization_product. (exists ff_lt_fsat_iff_value_reversefactorsfactorization_product_bound. ff_lt_fsat_iff_value_reversefactorsfactorization_product_bound + S ff_i_fsat_iff_value_reversefactorsfactorization_product = mv_factor_count_iff_value_reversefactors) -> exists ff_p_fsat_iff_value_reversefactorsfactorization_product ff_r_fsat_iff_value_reversefactorsfactorization_product ff_s_fsat_iff_value_reversefactorsfactorization_product. ((((exists ff_h_fsat_iff_value_reversefactorsfactorization_product_factor. ff_h_fsat_iff_value_reversefactorsfactorization_product_factor + S (ff_p_fsat_iff_value_reversefactorsfactorization_product) = S ((S (ff_i_fsat_iff_value_reversefactorsfactorization_product)) * mv_factor_scale_iff_value_reversefactors)) /\ exists ff_q_fsat_iff_value_reversefactorsfactorization_product_factor. mv_factor_code_iff_value_reversefactors = ff_q_fsat_iff_value_reversefactorsfactorization_product_factor * S ((S (ff_i_fsat_iff_value_reversefactorsfactorization_product)) * mv_factor_scale_iff_value_reversefactors) + (ff_p_fsat_iff_value_reversefactorsfactorization_product))) /\ ((((exists ff_h_fsat_iff_value_reversefactorsfactorization_product_partial. ff_h_fsat_iff_value_reversefactorsfactorization_product_partial + S (ff_r_fsat_iff_value_reversefactorsfactorization_product) = S ((S (ff_i_fsat_iff_value_reversefactorsfactorization_product)) * ff_v_fsat_iff_value_reversefactorsfactorization_product)) /\ exists ff_q_fsat_iff_value_reversefactorsfactorization_product_partial. ff_u_fsat_iff_value_reversefactorsfactorization_product = ff_q_fsat_iff_value_reversefactorsfactorization_product_partial * S ((S (ff_i_fsat_iff_value_reversefactorsfactorization_product)) * ff_v_fsat_iff_value_reversefactorsfactorization_product) + (ff_r_fsat_iff_value_reversefactorsfactorization_product))) /\ ((((exists ff_h_fsat_iff_value_reversefactorsfactorization_product_successor. ff_h_fsat_iff_value_reversefactorsfactorization_product_successor + S (ff_s_fsat_iff_value_reversefactorsfactorization_product) = S ((S (S ff_i_fsat_iff_value_reversefactorsfactorization_product)) * ff_v_fsat_iff_value_reversefactorsfactorization_product)) /\ exists ff_q_fsat_iff_value_reversefactorsfactorization_product_successor. ff_u_fsat_iff_value_reversefactorsfactorization_product = ff_q_fsat_iff_value_reversefactorsfactorization_product_successor * S ((S (S ff_i_fsat_iff_value_reversefactorsfactorization_product)) * ff_v_fsat_iff_value_reversefactorsfactorization_product) + (ff_s_fsat_iff_value_reversefactorsfactorization_product))) /\ ff_s_fsat_iff_value_reversefactorsfactorization_product = ff_r_fsat_iff_value_reversefactorsfactorization_product * ff_p_fsat_iff_value_reversefactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_iff_value_reversefactorsfactorization_primes. (exists ftsf_gap_fsat_iff_value_reversefactorsfactorization_primes_bound. ftsf_gap_fsat_iff_value_reversefactorsfactorization_primes_bound + S ftsf_index_fsat_iff_value_reversefactorsfactorization_primes = (mv_factor_count_iff_value_reversefactors)) -> exists ftsf_factor_fsat_iff_value_reversefactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_iff_value_reversefactorsfactorization_primes_entry. ff_h_ftsf_fsat_iff_value_reversefactorsfactorization_primes_entry + S (ftsf_factor_fsat_iff_value_reversefactorsfactorization_primes) = S ((S (ftsf_index_fsat_iff_value_reversefactorsfactorization_primes)) * mv_factor_scale_iff_value_reversefactors)) /\ exists ff_q_ftsf_fsat_iff_value_reversefactorsfactorization_primes_entry. mv_factor_code_iff_value_reversefactors = ff_q_ftsf_fsat_iff_value_reversefactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_iff_value_reversefactorsfactorization_primes)) * mv_factor_scale_iff_value_reversefactors) + (ftsf_factor_fsat_iff_value_reversefactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_iff_value_reversefactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_iff_value_reversefactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_iff_value_reversefactorsfactorization_primes_prime. ftsf_factor_fsat_iff_value_reversefactorsfactorization_primes = frm_prime_left_ftsf_fsat_iff_value_reversefactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_iff_value_reversefactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_iff_value_reversefactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_iff_value_reversefactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_iff_value_reversefactorsparityeven. (mv_factor_count_iff_value_reversefactors) = 2 * mv_even_half_iff_value_reversefactorsparityeven) /\ ((z) = 2))) \/ (((exists mv_odd_half_iff_value_reversefactorsparityodd. (mv_factor_count_iff_value_reversefactors) = 2 * mv_odd_half_iff_value_reversefactorsparityodd + 1) /\ ((z) = 1))))))))))) -> (exists dst_positive_code_iff_entry_reverse dst_positive_scale_iff_entry_reverse dst_negative_code_iff_entry_reverse dst_negative_scale_iff_entry_reverse dst_positive_iff_entry_reverse dst_negative_iff_entry_reverse. (((M) = (((((dst_positive_code_iff_entry_reverse) + (dst_positive_scale_iff_entry_reverse)) * S ((dst_positive_code_iff_entry_reverse) + (dst_positive_scale_iff_entry_reverse)) + ((dst_positive_scale_iff_entry_reverse) + (dst_positive_scale_iff_entry_reverse))) + (((dst_negative_code_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)) * S ((dst_negative_code_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)) + ((dst_negative_scale_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)))) * S ((((dst_positive_code_iff_entry_reverse) + (dst_positive_scale_iff_entry_reverse)) * S ((dst_positive_code_iff_entry_reverse) + (dst_positive_scale_iff_entry_reverse)) + ((dst_positive_scale_iff_entry_reverse) + (dst_positive_scale_iff_entry_reverse))) + (((dst_negative_code_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)) * S ((dst_negative_code_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)) + ((dst_negative_scale_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)))) + ((((dst_negative_code_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)) * S ((dst_negative_code_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)) + ((dst_negative_scale_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse))) + (((dst_negative_code_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)) * S ((dst_negative_code_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)) + ((dst_negative_scale_iff_entry_reverse) + (dst_negative_scale_iff_entry_reverse)))))) /\ (((((exists ff_h_pvs_iff_entry_reversepositive. ff_h_pvs_iff_entry_reversepositive + S (dst_positive_iff_entry_reverse) = S ((S (i)) * dst_positive_scale_iff_entry_reverse)) /\ exists ff_q_pvs_iff_entry_reversepositive. dst_positive_code_iff_entry_reverse = ff_q_pvs_iff_entry_reversepositive * S ((S (i)) * dst_positive_scale_iff_entry_reverse) + (dst_positive_iff_entry_reverse))) /\ (((((exists ff_h_pvs_iff_entry_reversenegative. ff_h_pvs_iff_entry_reversenegative + S (dst_negative_iff_entry_reverse) = S ((S (i)) * dst_negative_scale_iff_entry_reverse)) /\ exists ff_q_pvs_iff_entry_reversenegative. dst_negative_code_iff_entry_reverse = ff_q_pvs_iff_entry_reversenegative * S ((S (i)) * dst_negative_scale_iff_entry_reverse) + (dst_negative_iff_entry_reverse))) /\ (exists ge_balance_positive_iff_entry_reversevalue ge_balance_negative_iff_entry_reversevalue. (((((z) = 2 * (ge_balance_positive_iff_entry_reversevalue) /\ (ge_balance_negative_iff_entry_reversevalue) = 0) \/ exists ge_signed_half_iff_entry_reversevaluedecode. (((z) = 2 * ge_signed_half_iff_entry_reversevaluedecode + 1 /\ (ge_balance_positive_iff_entry_reversevalue) = 0) /\ (ge_balance_negative_iff_entry_reversevalue) = S ge_signed_half_iff_entry_reversevaluedecode))) /\ ((dst_positive_iff_entry_reverse) + ge_balance_negative_iff_entry_reversevalue = (dst_negative_iff_entry_reverse) + ge_balance_positive_iff_entry_reversevalue))))))))))

Constructive proof overview

Generated structural guide

At a positive in-domain index, the actual table lookup is equivalent to the independently specified μ graph, by constructed lookup and literal value uniqueness.

The unchanged tactic script uses 2 declared prerequisites and contains 38 exact native proof lines.

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

Proof neighborhood

Direct dependencies

DV000B mobius_table_lookup mobius_value_functional Alpha theorem; checked-use authorized

Direct 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

38 script commands · 8 reading checkpoints · 2 local claims

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

Named ingredients (1)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–7

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

  1. L1
    intro N
  2. L2
    intro M
  3. L3
    intro i
  4. L4
    intro z
  5. L5
    intro hm
  6. L6
    intro hi
  7. L7
    intro hib
02Separate the logical casesL8–10

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

  1. L8
    cases hm
  2. L9
    cases hm_right
  3. L10
    split
03Fix variables and assumptionsL11–11

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

  1. L11
    intro he
04Use earlier factsL12–17

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

  1. L12
    specialize hm_right_right (i)
  2. L13
    specialize hm_right_right (z)
  3. L14
    apply hm_right_right
  4. L15
    exact hi
  5. L16
    exact hib
  6. L17
    exact he
05Fix variables and assumptionsL18–18

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

  1. L18
    intro hz
06Establish huL19–26

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

  1. L19
    have hu : ∃ u. ArithAt(M,i,u) ∧ Mobius(i,u)Definitions: MobiusArithAt
  2. L20
    specialize mobius_table_lookup (N)
  3. L21
    specialize mobius_table_lookup (M)
  4. L22
    specialize mobius_table_lookup (i)
  5. L23
    apply mobius_table_lookup
  6. L24
    exact hm
  7. L25
    exact hi
  8. L26
    exact hib
07Separate the logical casesL27–28

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

  1. L27
    cases hu
  2. L28
    cases hu_witness
08Establish heqL29–38

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

  1. L29
    have heq : x = z
  2. L30
    specialize mobius_value_functional (i)
  3. L31
    specialize mobius_value_functional (x)
  4. L32
    specialize mobius_value_functional (z)
  5. L33
    apply mobius_value_functional
  6. L34
    exact hu_witness_right
  7. L35
    exact hz
  8. L36
    rewrite heq at hu_witness_left
  9. L37
    rewrite heq at hu_witness_left
  10. L38
    exact hu_witness_left

Library-wide reading audit

Original exact command ledger · 38 lines
  1. 0001intro N
  2. 0002intro M
  3. 0003intro i
  4. 0004intro z
  5. 0005intro hm
  6. 0006intro hi
  7. 0007intro hib
  8. 0008cases hm
  9. 0009cases hm_right
  10. 0010split
  11. 0011intro he
  12. 0012specialize hm_right_right (i)
  13. 0013specialize hm_right_right (z)
  14. 0014apply hm_right_right
  15. 0015exact hi
  16. 0016exact hib
  17. 0017exact he
  18. 0018intro hz
  19. 0019have hu : exists u. (exists dst_positive_code_iff_actual_entry dst_positive_scale_iff_actual_entry dst_negative_code_iff_actual_entry dst_negative_scale_iff_actual_entry dst_positive_iff_actual_entry dst_negative_iff_actual_entry. (((M) = (((((dst_positive_code_iff_actual_entry) + (dst_positive_scale_iff_actual_entry)) * S ((dst_positive_code_iff_actual_entry) + (dst_positive_scale_iff_actual_entry)) + ((dst_positive_scale_iff_actual_entry) + (dst_positive_scale_iff_actual_entry))) + (((dst_negative_code_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)) * S ((dst_negative_code_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)) + ((dst_negative_scale_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)))) * S ((((dst_positive_code_iff_actual_entry) + (dst_positive_scale_iff_actual_entry)) * S ((dst_positive_code_iff_actual_entry) + (dst_positive_scale_iff_actual_entry)) + ((dst_positive_scale_iff_actual_entry) + (dst_positive_scale_iff_actual_entry))) + (((dst_negative_code_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)) * S ((dst_negative_code_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)) + ((dst_negative_scale_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)))) + ((((dst_negative_code_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)) * S ((dst_negative_code_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)) + ((dst_negative_scale_iff_actual_entry) + (dst_negative_scale_iff_actual_entry))) + (((dst_negative_code_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)) * S ((dst_negative_code_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)) + ((dst_negative_scale_iff_actual_entry) + (dst_negative_scale_iff_actual_entry)))))) /\ (((((exists ff_h_pvs_iff_actual_entrypositive. ff_h_pvs_iff_actual_entrypositive + S (dst_positive_iff_actual_entry) = S ((S (i)) * dst_positive_scale_iff_actual_entry)) /\ exists ff_q_pvs_iff_actual_entrypositive. dst_positive_code_iff_actual_entry = ff_q_pvs_iff_actual_entrypositive * S ((S (i)) * dst_positive_scale_iff_actual_entry) + (dst_positive_iff_actual_entry))) /\ (((((exists ff_h_pvs_iff_actual_entrynegative. ff_h_pvs_iff_actual_entrynegative + S (dst_negative_iff_actual_entry) = S ((S (i)) * dst_negative_scale_iff_actual_entry)) /\ exists ff_q_pvs_iff_actual_entrynegative. dst_negative_code_iff_actual_entry = ff_q_pvs_iff_actual_entrynegative * S ((S (i)) * dst_negative_scale_iff_actual_entry) + (dst_negative_iff_actual_entry))) /\ (exists ge_balance_positive_iff_actual_entryvalue ge_balance_negative_iff_actual_entryvalue. (((((u) = 2 * (ge_balance_positive_iff_actual_entryvalue) /\ (ge_balance_negative_iff_actual_entryvalue) = 0) \/ exists ge_signed_half_iff_actual_entryvaluedecode. (((u) = 2 * ge_signed_half_iff_actual_entryvaluedecode + 1 /\ (ge_balance_positive_iff_actual_entryvalue) = 0) /\ (ge_balance_negative_iff_actual_entryvalue) = S ge_signed_half_iff_actual_entryvaluedecode))) /\ ((dst_positive_iff_actual_entry) + ge_balance_negative_iff_actual_entryvalue = (dst_negative_iff_actual_entry) + ge_balance_positive_iff_actual_entryvalue))))))))) /\ (((~((i) = 0)) /\ ((((exists mv_square_prime_iff_actual_valuesquare. ((~((mv_square_prime_iff_actual_valuesquare) = 1) /\ forall pvs_left_iff_actual_valuesquareprime pvs_right_iff_actual_valuesquareprime. (mv_square_prime_iff_actual_valuesquare) = pvs_left_iff_actual_valuesquareprime * pvs_right_iff_actual_valuesquareprime -> pvs_left_iff_actual_valuesquareprime = 1 \/ pvs_right_iff_actual_valuesquareprime = 1) /\ (exists pvs_factor_iff_actual_valuesquaredivisor. (i) = (mv_square_prime_iff_actual_valuesquare * mv_square_prime_iff_actual_valuesquare) * pvs_factor_iff_actual_valuesquaredivisor))) /\ ((u) = 0))) \/ (((((~((i) = 0)) /\ (forall sfd_prime_iff_actual_valuesquarefree. (~((sfd_prime_iff_actual_valuesquarefree) = 1) /\ forall pvs_left_iff_actual_valuesquarefreedomain pvs_right_iff_actual_valuesquarefreedomain. (sfd_prime_iff_actual_valuesquarefree) = pvs_left_iff_actual_valuesquarefreedomain * pvs_right_iff_actual_valuesquarefreedomain -> pvs_left_iff_actual_valuesquarefreedomain = 1 \/ pvs_right_iff_actual_valuesquarefreedomain = 1) -> (exists pvs_le_gap_iff_actual_valuesquarefreebound. pvs_le_gap_iff_actual_valuesquarefreebound + (sfd_prime_iff_actual_valuesquarefree) = (i)) -> ~(exists pvs_factor_iff_actual_valuesquarefreesquare. (i) = (sfd_prime_iff_actual_valuesquarefree * sfd_prime_iff_actual_valuesquarefree) * pvs_factor_iff_actual_valuesquarefreesquare)))) /\ (exists mv_factor_code_iff_actual_valuefactors mv_factor_scale_iff_actual_valuefactors mv_factor_count_iff_actual_valuefactors. (((~(i = 0) /\ ((exists ff_u_fsat_iff_actual_valuefactorsfactorization_product ff_v_fsat_iff_actual_valuefactorsfactorization_product. ((((exists ff_h_fsat_iff_actual_valuefactorsfactorization_product_start. ff_h_fsat_iff_actual_valuefactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_iff_actual_valuefactorsfactorization_product)) /\ exists ff_q_fsat_iff_actual_valuefactorsfactorization_product_start. ff_u_fsat_iff_actual_valuefactorsfactorization_product = ff_q_fsat_iff_actual_valuefactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_iff_actual_valuefactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_iff_actual_valuefactorsfactorization_product_terminal. ff_h_fsat_iff_actual_valuefactorsfactorization_product_terminal + S (i) = S ((S (mv_factor_count_iff_actual_valuefactors)) * ff_v_fsat_iff_actual_valuefactorsfactorization_product)) /\ exists ff_q_fsat_iff_actual_valuefactorsfactorization_product_terminal. ff_u_fsat_iff_actual_valuefactorsfactorization_product = ff_q_fsat_iff_actual_valuefactorsfactorization_product_terminal * S ((S (mv_factor_count_iff_actual_valuefactors)) * ff_v_fsat_iff_actual_valuefactorsfactorization_product) + (i))) /\ forall ff_i_fsat_iff_actual_valuefactorsfactorization_product. (exists ff_lt_fsat_iff_actual_valuefactorsfactorization_product_bound. ff_lt_fsat_iff_actual_valuefactorsfactorization_product_bound + S ff_i_fsat_iff_actual_valuefactorsfactorization_product = mv_factor_count_iff_actual_valuefactors) -> exists ff_p_fsat_iff_actual_valuefactorsfactorization_product ff_r_fsat_iff_actual_valuefactorsfactorization_product ff_s_fsat_iff_actual_valuefactorsfactorization_product. ((((exists ff_h_fsat_iff_actual_valuefactorsfactorization_product_factor. ff_h_fsat_iff_actual_valuefactorsfactorization_product_factor + S (ff_p_fsat_iff_actual_valuefactorsfactorization_product) = S ((S (ff_i_fsat_iff_actual_valuefactorsfactorization_product)) * mv_factor_scale_iff_actual_valuefactors)) /\ exists ff_q_fsat_iff_actual_valuefactorsfactorization_product_factor. mv_factor_code_iff_actual_valuefactors = ff_q_fsat_iff_actual_valuefactorsfactorization_product_factor * S ((S (ff_i_fsat_iff_actual_valuefactorsfactorization_product)) * mv_factor_scale_iff_actual_valuefactors) + (ff_p_fsat_iff_actual_valuefactorsfactorization_product))) /\ ((((exists ff_h_fsat_iff_actual_valuefactorsfactorization_product_partial. ff_h_fsat_iff_actual_valuefactorsfactorization_product_partial + S (ff_r_fsat_iff_actual_valuefactorsfactorization_product) = S ((S (ff_i_fsat_iff_actual_valuefactorsfactorization_product)) * ff_v_fsat_iff_actual_valuefactorsfactorization_product)) /\ exists ff_q_fsat_iff_actual_valuefactorsfactorization_product_partial. ff_u_fsat_iff_actual_valuefactorsfactorization_product = ff_q_fsat_iff_actual_valuefactorsfactorization_product_partial * S ((S (ff_i_fsat_iff_actual_valuefactorsfactorization_product)) * ff_v_fsat_iff_actual_valuefactorsfactorization_product) + (ff_r_fsat_iff_actual_valuefactorsfactorization_product))) /\ ((((exists ff_h_fsat_iff_actual_valuefactorsfactorization_product_successor. ff_h_fsat_iff_actual_valuefactorsfactorization_product_successor + S (ff_s_fsat_iff_actual_valuefactorsfactorization_product) = S ((S (S ff_i_fsat_iff_actual_valuefactorsfactorization_product)) * ff_v_fsat_iff_actual_valuefactorsfactorization_product)) /\ exists ff_q_fsat_iff_actual_valuefactorsfactorization_product_successor. ff_u_fsat_iff_actual_valuefactorsfactorization_product = ff_q_fsat_iff_actual_valuefactorsfactorization_product_successor * S ((S (S ff_i_fsat_iff_actual_valuefactorsfactorization_product)) * ff_v_fsat_iff_actual_valuefactorsfactorization_product) + (ff_s_fsat_iff_actual_valuefactorsfactorization_product))) /\ ff_s_fsat_iff_actual_valuefactorsfactorization_product = ff_r_fsat_iff_actual_valuefactorsfactorization_product * ff_p_fsat_iff_actual_valuefactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_iff_actual_valuefactorsfactorization_primes. (exists ftsf_gap_fsat_iff_actual_valuefactorsfactorization_primes_bound. ftsf_gap_fsat_iff_actual_valuefactorsfactorization_primes_bound + S ftsf_index_fsat_iff_actual_valuefactorsfactorization_primes = (mv_factor_count_iff_actual_valuefactors)) -> exists ftsf_factor_fsat_iff_actual_valuefactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_entry. ff_h_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_entry + S (ftsf_factor_fsat_iff_actual_valuefactorsfactorization_primes) = S ((S (ftsf_index_fsat_iff_actual_valuefactorsfactorization_primes)) * mv_factor_scale_iff_actual_valuefactors)) /\ exists ff_q_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_entry. mv_factor_code_iff_actual_valuefactors = ff_q_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_iff_actual_valuefactorsfactorization_primes)) * mv_factor_scale_iff_actual_valuefactors) + (ftsf_factor_fsat_iff_actual_valuefactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_iff_actual_valuefactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_prime. ftsf_factor_fsat_iff_actual_valuefactorsfactorization_primes = frm_prime_left_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_iff_actual_valuefactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_iff_actual_valuefactorsparityeven. (mv_factor_count_iff_actual_valuefactors) = 2 * mv_even_half_iff_actual_valuefactorsparityeven) /\ ((u) = 2))) \/ (((exists mv_odd_half_iff_actual_valuefactorsparityodd. (mv_factor_count_iff_actual_valuefactors) = 2 * mv_odd_half_iff_actual_valuefactorsparityodd + 1) /\ ((u) = 1)))))))))))
  20. 0020specialize mobius_table_lookup (N)
  21. 0021specialize mobius_table_lookup (M)
  22. 0022specialize mobius_table_lookup (i)
  23. 0023apply mobius_table_lookup
  24. 0024exact hm
  25. 0025exact hi
  26. 0026exact hib
  27. 0027cases hu
  28. 0028cases hu_witness
  29. 0029have heq : x = z
  30. 0030specialize mobius_value_functional (i)
  31. 0031specialize mobius_value_functional (x)
  32. 0032specialize mobius_value_functional (z)
  33. 0033apply mobius_value_functional
  34. 0034exact hu_witness_right
  35. 0035exact hz
  36. 0036rewrite heq at hu_witness_left
  37. 0037rewrite heq at hu_witness_left
  38. 0038exact hu_witness_left