Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
A genuine divisor mask has S n entries, indexed zero through n, and forces its zeroth entry to zero regardless of F(0). Möbius values remain positive-domain only. This family constructs divisor sums and Möbius tables; cancellation and the full G007 endpoint are separately proved later in the same release.
Exact theorem in conservative defined notation
∀ N. ∀ M. MobiusTable(N,M) → Lt(0,N) → ArithAt(M,1,2)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Original expanded first-order statement
forall N M. (((exists dst_positive_code_unit_tabletable dst_positive_scale_unit_tabletable dst_negative_code_unit_tabletable dst_negative_scale_unit_tabletable. (((M) = (((((dst_positive_code_unit_tabletable) + (dst_positive_scale_unit_tabletable)) * S ((dst_positive_code_unit_tabletable) + (dst_positive_scale_unit_tabletable)) + ((dst_positive_scale_unit_tabletable) + (dst_positive_scale_unit_tabletable))) + (((dst_negative_code_unit_tabletable) + (dst_negative_scale_unit_tabletable)) * S ((dst_negative_code_unit_tabletable) + (dst_negative_scale_unit_tabletable)) + ((dst_negative_scale_unit_tabletable) + (dst_negative_scale_unit_tabletable)))) * S ((((dst_positive_code_unit_tabletable) + (dst_positive_scale_unit_tabletable)) * S ((dst_positive_code_unit_tabletable) + (dst_positive_scale_unit_tabletable)) + ((dst_positive_scale_unit_tabletable) + (dst_positive_scale_unit_tabletable))) + (((dst_negative_code_unit_tabletable) + (dst_negative_scale_unit_tabletable)) * S ((dst_negative_code_unit_tabletable) + (dst_negative_scale_unit_tabletable)) + ((dst_negative_scale_unit_tabletable) + (dst_negative_scale_unit_tabletable)))) + ((((dst_negative_code_unit_tabletable) + (dst_negative_scale_unit_tabletable)) * S ((dst_negative_code_unit_tabletable) + (dst_negative_scale_unit_tabletable)) + ((dst_negative_scale_unit_tabletable) + (dst_negative_scale_unit_tabletable))) + (((dst_negative_code_unit_tabletable) + (dst_negative_scale_unit_tabletable)) * S ((dst_negative_code_unit_tabletable) + (dst_negative_scale_unit_tabletable)) + ((dst_negative_scale_unit_tabletable) + (dst_negative_scale_unit_tabletable)))))) /\ (forall dst_index_unit_tabletable. (exists pvs_le_gap_unit_tabletabledomain. pvs_le_gap_unit_tabletabledomain + (dst_index_unit_tabletable) = (N)) -> exists dst_positive_unit_tabletable dst_negative_unit_tabletable dst_value_unit_tabletable. ((((exists ff_h_pvs_unit_tabletableentrypositive. ff_h_pvs_unit_tabletableentrypositive + S (dst_positive_unit_tabletable) = S ((S (dst_index_unit_tabletable)) * dst_positive_scale_unit_tabletable)) /\ exists ff_q_pvs_unit_tabletableentrypositive. dst_positive_code_unit_tabletable = ff_q_pvs_unit_tabletableentrypositive * S ((S (dst_index_unit_tabletable)) * dst_positive_scale_unit_tabletable) + (dst_positive_unit_tabletable))) /\ (((((exists ff_h_pvs_unit_tabletableentrynegative. ff_h_pvs_unit_tabletableentrynegative + S (dst_negative_unit_tabletable) = S ((S (dst_index_unit_tabletable)) * dst_negative_scale_unit_tabletable)) /\ exists ff_q_pvs_unit_tabletableentrynegative. dst_negative_code_unit_tabletable = ff_q_pvs_unit_tabletableentrynegative * S ((S (dst_index_unit_tabletable)) * dst_negative_scale_unit_tabletable) + (dst_negative_unit_tabletable))) /\ (exists ge_balance_positive_unit_tabletableentryvalue ge_balance_negative_unit_tabletableentryvalue. (((((dst_value_unit_tabletable) = 2 * (ge_balance_positive_unit_tabletableentryvalue) /\ (ge_balance_negative_unit_tabletableentryvalue) = 0) \/ exists ge_signed_half_unit_tabletableentryvaluedecode. (((dst_value_unit_tabletable) = 2 * ge_signed_half_unit_tabletableentryvaluedecode + 1 /\ (ge_balance_positive_unit_tabletableentryvalue) = 0) /\ (ge_balance_negative_unit_tabletableentryvalue) = S ge_signed_half_unit_tabletableentryvaluedecode))) /\ ((dst_positive_unit_tabletable) + ge_balance_negative_unit_tabletableentryvalue = (dst_negative_unit_tabletable) + ge_balance_positive_unit_tabletableentryvalue))))))))) /\ (((exists dst_positive_code_unit_tablezero dst_positive_scale_unit_tablezero dst_negative_code_unit_tablezero dst_negative_scale_unit_tablezero dst_positive_unit_tablezero dst_negative_unit_tablezero. (((M) = (((((dst_positive_code_unit_tablezero) + (dst_positive_scale_unit_tablezero)) * S ((dst_positive_code_unit_tablezero) + (dst_positive_scale_unit_tablezero)) + ((dst_positive_scale_unit_tablezero) + (dst_positive_scale_unit_tablezero))) + (((dst_negative_code_unit_tablezero) + (dst_negative_scale_unit_tablezero)) * S ((dst_negative_code_unit_tablezero) + (dst_negative_scale_unit_tablezero)) + ((dst_negative_scale_unit_tablezero) + (dst_negative_scale_unit_tablezero)))) * S ((((dst_positive_code_unit_tablezero) + (dst_positive_scale_unit_tablezero)) * S ((dst_positive_code_unit_tablezero) + (dst_positive_scale_unit_tablezero)) + ((dst_positive_scale_unit_tablezero) + (dst_positive_scale_unit_tablezero))) + (((dst_negative_code_unit_tablezero) + (dst_negative_scale_unit_tablezero)) * S ((dst_negative_code_unit_tablezero) + (dst_negative_scale_unit_tablezero)) + ((dst_negative_scale_unit_tablezero) + (dst_negative_scale_unit_tablezero)))) + ((((dst_negative_code_unit_tablezero) + (dst_negative_scale_unit_tablezero)) * S ((dst_negative_code_unit_tablezero) + (dst_negative_scale_unit_tablezero)) + ((dst_negative_scale_unit_tablezero) + (dst_negative_scale_unit_tablezero))) + (((dst_negative_code_unit_tablezero) + (dst_negative_scale_unit_tablezero)) * S ((dst_negative_code_unit_tablezero) + (dst_negative_scale_unit_tablezero)) + ((dst_negative_scale_unit_tablezero) + (dst_negative_scale_unit_tablezero)))))) /\ (((((exists ff_h_pvs_unit_tablezeropositive. ff_h_pvs_unit_tablezeropositive + S (dst_positive_unit_tablezero) = S ((S (0)) * dst_positive_scale_unit_tablezero)) /\ exists ff_q_pvs_unit_tablezeropositive. dst_positive_code_unit_tablezero = ff_q_pvs_unit_tablezeropositive * S ((S (0)) * dst_positive_scale_unit_tablezero) + (dst_positive_unit_tablezero))) /\ (((((exists ff_h_pvs_unit_tablezeronegative. ff_h_pvs_unit_tablezeronegative + S (dst_negative_unit_tablezero) = S ((S (0)) * dst_negative_scale_unit_tablezero)) /\ exists ff_q_pvs_unit_tablezeronegative. dst_negative_code_unit_tablezero = ff_q_pvs_unit_tablezeronegative * S ((S (0)) * dst_negative_scale_unit_tablezero) + (dst_negative_unit_tablezero))) /\ (exists ge_balance_positive_unit_tablezerovalue ge_balance_negative_unit_tablezerovalue. (((((0) = 2 * (ge_balance_positive_unit_tablezerovalue) /\ (ge_balance_negative_unit_tablezerovalue) = 0) \/ exists ge_signed_half_unit_tablezerovaluedecode. (((0) = 2 * ge_signed_half_unit_tablezerovaluedecode + 1 /\ (ge_balance_positive_unit_tablezerovalue) = 0) /\ (ge_balance_negative_unit_tablezerovalue) = S ge_signed_half_unit_tablezerovaluedecode))) /\ ((dst_positive_unit_tablezero) + ge_balance_negative_unit_tablezerovalue = (dst_negative_unit_tablezero) + ge_balance_positive_unit_tablezerovalue))))))))) /\ (forall mt_index_unit_table mt_value_unit_table. ~(mt_index_unit_table=0) -> (exists pvs_le_gap_unit_tabledomain. pvs_le_gap_unit_tabledomain + (mt_index_unit_table) = (N)) -> (exists dst_positive_code_unit_tableentry dst_positive_scale_unit_tableentry dst_negative_code_unit_tableentry dst_negative_scale_unit_tableentry dst_positive_unit_tableentry dst_negative_unit_tableentry. (((M) = (((((dst_positive_code_unit_tableentry) + (dst_positive_scale_unit_tableentry)) * S ((dst_positive_code_unit_tableentry) + (dst_positive_scale_unit_tableentry)) + ((dst_positive_scale_unit_tableentry) + (dst_positive_scale_unit_tableentry))) + (((dst_negative_code_unit_tableentry) + (dst_negative_scale_unit_tableentry)) * S ((dst_negative_code_unit_tableentry) + (dst_negative_scale_unit_tableentry)) + ((dst_negative_scale_unit_tableentry) + (dst_negative_scale_unit_tableentry)))) * S ((((dst_positive_code_unit_tableentry) + (dst_positive_scale_unit_tableentry)) * S ((dst_positive_code_unit_tableentry) + (dst_positive_scale_unit_tableentry)) + ((dst_positive_scale_unit_tableentry) + (dst_positive_scale_unit_tableentry))) + (((dst_negative_code_unit_tableentry) + (dst_negative_scale_unit_tableentry)) * S ((dst_negative_code_unit_tableentry) + (dst_negative_scale_unit_tableentry)) + ((dst_negative_scale_unit_tableentry) + (dst_negative_scale_unit_tableentry)))) + ((((dst_negative_code_unit_tableentry) + (dst_negative_scale_unit_tableentry)) * S ((dst_negative_code_unit_tableentry) + (dst_negative_scale_unit_tableentry)) + ((dst_negative_scale_unit_tableentry) + (dst_negative_scale_unit_tableentry))) + (((dst_negative_code_unit_tableentry) + (dst_negative_scale_unit_tableentry)) * S ((dst_negative_code_unit_tableentry) + (dst_negative_scale_unit_tableentry)) + ((dst_negative_scale_unit_tableentry) + (dst_negative_scale_unit_tableentry)))))) /\ (((((exists ff_h_pvs_unit_tableentrypositive. ff_h_pvs_unit_tableentrypositive + S (dst_positive_unit_tableentry) = S ((S (mt_index_unit_table)) * dst_positive_scale_unit_tableentry)) /\ exists ff_q_pvs_unit_tableentrypositive. dst_positive_code_unit_tableentry = ff_q_pvs_unit_tableentrypositive * S ((S (mt_index_unit_table)) * dst_positive_scale_unit_tableentry) + (dst_positive_unit_tableentry))) /\ (((((exists ff_h_pvs_unit_tableentrynegative. ff_h_pvs_unit_tableentrynegative + S (dst_negative_unit_tableentry) = S ((S (mt_index_unit_table)) * dst_negative_scale_unit_tableentry)) /\ exists ff_q_pvs_unit_tableentrynegative. dst_negative_code_unit_tableentry = ff_q_pvs_unit_tableentrynegative * S ((S (mt_index_unit_table)) * dst_negative_scale_unit_tableentry) + (dst_negative_unit_tableentry))) /\ (exists ge_balance_positive_unit_tableentryvalue ge_balance_negative_unit_tableentryvalue. (((((mt_value_unit_table) = 2 * (ge_balance_positive_unit_tableentryvalue) /\ (ge_balance_negative_unit_tableentryvalue) = 0) \/ exists ge_signed_half_unit_tableentryvaluedecode. (((mt_value_unit_table) = 2 * ge_signed_half_unit_tableentryvaluedecode + 1 /\ (ge_balance_positive_unit_tableentryvalue) = 0) /\ (ge_balance_negative_unit_tableentryvalue) = S ge_signed_half_unit_tableentryvaluedecode))) /\ ((dst_positive_unit_tableentry) + ge_balance_negative_unit_tableentryvalue = (dst_negative_unit_tableentry) + ge_balance_positive_unit_tableentryvalue))))))))) -> (((~((mt_index_unit_table) = 0)) /\ ((((exists mv_square_prime_unit_tablevaluesquare. ((~((mv_square_prime_unit_tablevaluesquare) = 1) /\ forall pvs_left_unit_tablevaluesquareprime pvs_right_unit_tablevaluesquareprime. (mv_square_prime_unit_tablevaluesquare) = pvs_left_unit_tablevaluesquareprime * pvs_right_unit_tablevaluesquareprime -> pvs_left_unit_tablevaluesquareprime = 1 \/ pvs_right_unit_tablevaluesquareprime = 1) /\ (exists pvs_factor_unit_tablevaluesquaredivisor. (mt_index_unit_table) = (mv_square_prime_unit_tablevaluesquare * mv_square_prime_unit_tablevaluesquare) * pvs_factor_unit_tablevaluesquaredivisor))) /\ ((mt_value_unit_table) = 0))) \/ (((((~((mt_index_unit_table) = 0)) /\ (forall sfd_prime_unit_tablevaluesquarefree. (~((sfd_prime_unit_tablevaluesquarefree) = 1) /\ forall pvs_left_unit_tablevaluesquarefreedomain pvs_right_unit_tablevaluesquarefreedomain. (sfd_prime_unit_tablevaluesquarefree) = pvs_left_unit_tablevaluesquarefreedomain * pvs_right_unit_tablevaluesquarefreedomain -> pvs_left_unit_tablevaluesquarefreedomain = 1 \/ pvs_right_unit_tablevaluesquarefreedomain = 1) -> (exists pvs_le_gap_unit_tablevaluesquarefreebound. pvs_le_gap_unit_tablevaluesquarefreebound + (sfd_prime_unit_tablevaluesquarefree) = (mt_index_unit_table)) -> ~(exists pvs_factor_unit_tablevaluesquarefreesquare. (mt_index_unit_table) = (sfd_prime_unit_tablevaluesquarefree * sfd_prime_unit_tablevaluesquarefree) * pvs_factor_unit_tablevaluesquarefreesquare)))) /\ (exists mv_factor_code_unit_tablevaluefactors mv_factor_scale_unit_tablevaluefactors mv_factor_count_unit_tablevaluefactors. (((~(mt_index_unit_table = 0) /\ ((exists ff_u_fsat_unit_tablevaluefactorsfactorization_product ff_v_fsat_unit_tablevaluefactorsfactorization_product. ((((exists ff_h_fsat_unit_tablevaluefactorsfactorization_product_start. ff_h_fsat_unit_tablevaluefactorsfactorization_product_start + S (1) = S ((S (0)) * ff_v_fsat_unit_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_unit_tablevaluefactorsfactorization_product_start. ff_u_fsat_unit_tablevaluefactorsfactorization_product = ff_q_fsat_unit_tablevaluefactorsfactorization_product_start * S ((S (0)) * ff_v_fsat_unit_tablevaluefactorsfactorization_product) + (1))) /\ ((((exists ff_h_fsat_unit_tablevaluefactorsfactorization_product_terminal. ff_h_fsat_unit_tablevaluefactorsfactorization_product_terminal + S (mt_index_unit_table) = S ((S (mv_factor_count_unit_tablevaluefactors)) * ff_v_fsat_unit_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_unit_tablevaluefactorsfactorization_product_terminal. ff_u_fsat_unit_tablevaluefactorsfactorization_product = ff_q_fsat_unit_tablevaluefactorsfactorization_product_terminal * S ((S (mv_factor_count_unit_tablevaluefactors)) * ff_v_fsat_unit_tablevaluefactorsfactorization_product) + (mt_index_unit_table))) /\ forall ff_i_fsat_unit_tablevaluefactorsfactorization_product. (exists ff_lt_fsat_unit_tablevaluefactorsfactorization_product_bound. ff_lt_fsat_unit_tablevaluefactorsfactorization_product_bound + S ff_i_fsat_unit_tablevaluefactorsfactorization_product = mv_factor_count_unit_tablevaluefactors) -> exists ff_p_fsat_unit_tablevaluefactorsfactorization_product ff_r_fsat_unit_tablevaluefactorsfactorization_product ff_s_fsat_unit_tablevaluefactorsfactorization_product. ((((exists ff_h_fsat_unit_tablevaluefactorsfactorization_product_factor. ff_h_fsat_unit_tablevaluefactorsfactorization_product_factor + S (ff_p_fsat_unit_tablevaluefactorsfactorization_product) = S ((S (ff_i_fsat_unit_tablevaluefactorsfactorization_product)) * mv_factor_scale_unit_tablevaluefactors)) /\ exists ff_q_fsat_unit_tablevaluefactorsfactorization_product_factor. mv_factor_code_unit_tablevaluefactors = ff_q_fsat_unit_tablevaluefactorsfactorization_product_factor * S ((S (ff_i_fsat_unit_tablevaluefactorsfactorization_product)) * mv_factor_scale_unit_tablevaluefactors) + (ff_p_fsat_unit_tablevaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_unit_tablevaluefactorsfactorization_product_partial. ff_h_fsat_unit_tablevaluefactorsfactorization_product_partial + S (ff_r_fsat_unit_tablevaluefactorsfactorization_product) = S ((S (ff_i_fsat_unit_tablevaluefactorsfactorization_product)) * ff_v_fsat_unit_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_unit_tablevaluefactorsfactorization_product_partial. ff_u_fsat_unit_tablevaluefactorsfactorization_product = ff_q_fsat_unit_tablevaluefactorsfactorization_product_partial * S ((S (ff_i_fsat_unit_tablevaluefactorsfactorization_product)) * ff_v_fsat_unit_tablevaluefactorsfactorization_product) + (ff_r_fsat_unit_tablevaluefactorsfactorization_product))) /\ ((((exists ff_h_fsat_unit_tablevaluefactorsfactorization_product_successor. ff_h_fsat_unit_tablevaluefactorsfactorization_product_successor + S (ff_s_fsat_unit_tablevaluefactorsfactorization_product) = S ((S (S ff_i_fsat_unit_tablevaluefactorsfactorization_product)) * ff_v_fsat_unit_tablevaluefactorsfactorization_product)) /\ exists ff_q_fsat_unit_tablevaluefactorsfactorization_product_successor. ff_u_fsat_unit_tablevaluefactorsfactorization_product = ff_q_fsat_unit_tablevaluefactorsfactorization_product_successor * S ((S (S ff_i_fsat_unit_tablevaluefactorsfactorization_product)) * ff_v_fsat_unit_tablevaluefactorsfactorization_product) + (ff_s_fsat_unit_tablevaluefactorsfactorization_product))) /\ ff_s_fsat_unit_tablevaluefactorsfactorization_product = ff_r_fsat_unit_tablevaluefactorsfactorization_product * ff_p_fsat_unit_tablevaluefactorsfactorization_product)))))) /\ (forall ftsf_index_fsat_unit_tablevaluefactorsfactorization_primes. (exists ftsf_gap_fsat_unit_tablevaluefactorsfactorization_primes_bound. ftsf_gap_fsat_unit_tablevaluefactorsfactorization_primes_bound + S ftsf_index_fsat_unit_tablevaluefactorsfactorization_primes = (mv_factor_count_unit_tablevaluefactors)) -> exists ftsf_factor_fsat_unit_tablevaluefactorsfactorization_primes. ((((exists ff_h_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_entry. ff_h_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_entry + S (ftsf_factor_fsat_unit_tablevaluefactorsfactorization_primes) = S ((S (ftsf_index_fsat_unit_tablevaluefactorsfactorization_primes)) * mv_factor_scale_unit_tablevaluefactors)) /\ exists ff_q_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_entry. mv_factor_code_unit_tablevaluefactors = ff_q_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_entry * S ((S (ftsf_index_fsat_unit_tablevaluefactorsfactorization_primes)) * mv_factor_scale_unit_tablevaluefactors) + (ftsf_factor_fsat_unit_tablevaluefactorsfactorization_primes))) /\ ((~(ftsf_factor_fsat_unit_tablevaluefactorsfactorization_primes = 1) /\ forall frm_prime_left_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_prime frm_prime_right_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_prime. ftsf_factor_fsat_unit_tablevaluefactorsfactorization_primes = frm_prime_left_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_prime * frm_prime_right_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_prime -> frm_prime_left_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_prime = 1 \/ frm_prime_right_ftsf_fsat_unit_tablevaluefactorsfactorization_primes_prime = 1))))))) /\ ((((exists mv_even_half_unit_tablevaluefactorsparityeven. (mv_factor_count_unit_tablevaluefactors) = 2 * mv_even_half_unit_tablevaluefactorsparityeven) /\ ((mt_value_unit_table) = 2))) \/ (((exists mv_odd_half_unit_tablevaluefactorsparityodd. (mv_factor_count_unit_tablevaluefactors) = 2 * mv_odd_half_unit_tablevaluefactorsparityodd + 1) /\ ((mt_value_unit_table) = 1)))))))))))))))) -> (exists pvs_le_gap_unit_bound. pvs_le_gap_unit_bound + (1) = (N)) -> (exists dst_positive_code_unit_entry dst_positive_scale_unit_entry dst_negative_code_unit_entry dst_negative_scale_unit_entry dst_positive_unit_entry dst_negative_unit_entry. (((M) = (((((dst_positive_code_unit_entry) + (dst_positive_scale_unit_entry)) * S ((dst_positive_code_unit_entry) + (dst_positive_scale_unit_entry)) + ((dst_positive_scale_unit_entry) + (dst_positive_scale_unit_entry))) + (((dst_negative_code_unit_entry) + (dst_negative_scale_unit_entry)) * S ((dst_negative_code_unit_entry) + (dst_negative_scale_unit_entry)) + ((dst_negative_scale_unit_entry) + (dst_negative_scale_unit_entry)))) * S ((((dst_positive_code_unit_entry) + (dst_positive_scale_unit_entry)) * S ((dst_positive_code_unit_entry) + (dst_positive_scale_unit_entry)) + ((dst_positive_scale_unit_entry) + (dst_positive_scale_unit_entry))) + (((dst_negative_code_unit_entry) + (dst_negative_scale_unit_entry)) * S ((dst_negative_code_unit_entry) + (dst_negative_scale_unit_entry)) + ((dst_negative_scale_unit_entry) + (dst_negative_scale_unit_entry)))) + ((((dst_negative_code_unit_entry) + (dst_negative_scale_unit_entry)) * S ((dst_negative_code_unit_entry) + (dst_negative_scale_unit_entry)) + ((dst_negative_scale_unit_entry) + (dst_negative_scale_unit_entry))) + (((dst_negative_code_unit_entry) + (dst_negative_scale_unit_entry)) * S ((dst_negative_code_unit_entry) + (dst_negative_scale_unit_entry)) + ((dst_negative_scale_unit_entry) + (dst_negative_scale_unit_entry)))))) /\ (((((exists ff_h_pvs_unit_entrypositive. ff_h_pvs_unit_entrypositive + S (dst_positive_unit_entry) = S ((S (1)) * dst_positive_scale_unit_entry)) /\ exists ff_q_pvs_unit_entrypositive. dst_positive_code_unit_entry = ff_q_pvs_unit_entrypositive * S ((S (1)) * dst_positive_scale_unit_entry) + (dst_positive_unit_entry))) /\ (((((exists ff_h_pvs_unit_entrynegative. ff_h_pvs_unit_entrynegative + S (dst_negative_unit_entry) = S ((S (1)) * dst_negative_scale_unit_entry)) /\ exists ff_q_pvs_unit_entrynegative. dst_negative_code_unit_entry = ff_q_pvs_unit_entrynegative * S ((S (1)) * dst_negative_scale_unit_entry) + (dst_negative_unit_entry))) /\ (exists ge_balance_positive_unit_entryvalue ge_balance_negative_unit_entryvalue. (((((2) = 2 * (ge_balance_positive_unit_entryvalue) /\ (ge_balance_negative_unit_entryvalue) = 0) \/ exists ge_signed_half_unit_entryvaluedecode. (((2) = 2 * ge_signed_half_unit_entryvaluedecode + 1 /\ (ge_balance_positive_unit_entryvalue) = 0) /\ (ge_balance_negative_unit_entryvalue) = S ge_signed_half_unit_entryvaluedecode))) /\ ((dst_positive_unit_entry) + ge_balance_negative_unit_entryvalue = (dst_negative_unit_entry) + ge_balance_positive_unit_entryvalue)))))))))Complete tactic proof in conservative notation
All 18 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
18 script commands · 5 reading checkpoints · 1 local claims
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.
Named ingredients (1)
01Fix variables and assumptionsL1–4
02Establish hiffL5–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mobius table entry iff.
- L5
have hiff : (ArithAt(M,1,2) → Mobius(1,2)) ∧ (Mobius(1,2) → ArithAt(M,1,2))Definitions: ArithAt(M,1,2)Mobius(1,2)Original native command in the exact edition - L6
specialize mobius_table_entry_iff (N) - L7
specialize mobius_table_entry_iff (M) - L8
specialize mobius_table_entry_iff (1) - L9
specialize mobius_table_entry_iff (2) - L10
apply mobius_table_entry_iff - L11
exact hm - L12
intro hzero - L13
apply PA1 - L14
exact hzero
03Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hN
04Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
cases hiff
Original defined command ledger · 18 lines
- 0001
intro N - 0002
intro M - 0003
intro hm - 0004
intro hN - 0005
have hiff : (ArithAt(M,1,2) → Mobius(1,2)) ∧ (Mobius(1,2) → ArithAt(M,1,2)) - 0006
specialize mobius_table_entry_iff (N) - 0007
specialize mobius_table_entry_iff (M) - 0008
specialize mobius_table_entry_iff (1) - 0009
specialize mobius_table_entry_iff (2) - 0010
apply mobius_table_entry_iff - 0011
exact hm - 0012
intro hzero - 0013
apply PA1 - 0014
exact hzero - 0015
exact hN - 0016
cases hiff - 0017
apply hiff_right - 0018
exact mobius_one