DV0025

signed_divisor_sum_positive_source_extensional

Actual divisor sums depend only on positive in-domain input values; input entries at zero can be unrelated signed integers.

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.

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

∀ F. ∀ G. ∀ n. ∀ a. ∀ b. ArithPositiveEqual(F,G,n)DivisorSum(F,n,a)DivisorSum(G,n,b) → a = b

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall F G n a b. (forall dm_index_sum_source_equal dm_first_value_sum_source_equal dm_second_value_sum_source_equal. ~(dm_index_sum_source_equal=0) -> (exists pvs_le_gap_sum_source_equaldomain. pvs_le_gap_sum_source_equaldomain + (dm_index_sum_source_equal) = (n)) -> (exists dst_positive_code_sum_source_equalfirst dst_positive_scale_sum_source_equalfirst dst_negative_code_sum_source_equalfirst dst_negative_scale_sum_source_equalfirst dst_positive_sum_source_equalfirst dst_negative_sum_source_equalfirst. (((F) = (((((dst_positive_code_sum_source_equalfirst) + (dst_positive_scale_sum_source_equalfirst)) * S ((dst_positive_code_sum_source_equalfirst) + (dst_positive_scale_sum_source_equalfirst)) + ((dst_positive_scale_sum_source_equalfirst) + (dst_positive_scale_sum_source_equalfirst))) + (((dst_negative_code_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)) * S ((dst_negative_code_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)) + ((dst_negative_scale_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)))) * S ((((dst_positive_code_sum_source_equalfirst) + (dst_positive_scale_sum_source_equalfirst)) * S ((dst_positive_code_sum_source_equalfirst) + (dst_positive_scale_sum_source_equalfirst)) + ((dst_positive_scale_sum_source_equalfirst) + (dst_positive_scale_sum_source_equalfirst))) + (((dst_negative_code_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)) * S ((dst_negative_code_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)) + ((dst_negative_scale_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)))) + ((((dst_negative_code_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)) * S ((dst_negative_code_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)) + ((dst_negative_scale_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst))) + (((dst_negative_code_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)) * S ((dst_negative_code_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)) + ((dst_negative_scale_sum_source_equalfirst) + (dst_negative_scale_sum_source_equalfirst)))))) /\ (((((exists ff_h_pvs_sum_source_equalfirstpositive. ff_h_pvs_sum_source_equalfirstpositive + S (dst_positive_sum_source_equalfirst) = S ((S (dm_index_sum_source_equal)) * dst_positive_scale_sum_source_equalfirst)) /\ exists ff_q_pvs_sum_source_equalfirstpositive. dst_positive_code_sum_source_equalfirst = ff_q_pvs_sum_source_equalfirstpositive * S ((S (dm_index_sum_source_equal)) * dst_positive_scale_sum_source_equalfirst) + (dst_positive_sum_source_equalfirst))) /\ (((((exists ff_h_pvs_sum_source_equalfirstnegative. ff_h_pvs_sum_source_equalfirstnegative + S (dst_negative_sum_source_equalfirst) = S ((S (dm_index_sum_source_equal)) * dst_negative_scale_sum_source_equalfirst)) /\ exists ff_q_pvs_sum_source_equalfirstnegative. dst_negative_code_sum_source_equalfirst = ff_q_pvs_sum_source_equalfirstnegative * S ((S (dm_index_sum_source_equal)) * dst_negative_scale_sum_source_equalfirst) + (dst_negative_sum_source_equalfirst))) /\ (exists ge_balance_positive_sum_source_equalfirstvalue ge_balance_negative_sum_source_equalfirstvalue. (((((dm_first_value_sum_source_equal) = 2 * (ge_balance_positive_sum_source_equalfirstvalue) /\ (ge_balance_negative_sum_source_equalfirstvalue) = 0) \/ exists ge_signed_half_sum_source_equalfirstvaluedecode. (((dm_first_value_sum_source_equal) = 2 * ge_signed_half_sum_source_equalfirstvaluedecode + 1 /\ (ge_balance_positive_sum_source_equalfirstvalue) = 0) /\ (ge_balance_negative_sum_source_equalfirstvalue) = S ge_signed_half_sum_source_equalfirstvaluedecode))) /\ ((dst_positive_sum_source_equalfirst) + ge_balance_negative_sum_source_equalfirstvalue = (dst_negative_sum_source_equalfirst) + ge_balance_positive_sum_source_equalfirstvalue))))))))) -> (exists dst_positive_code_sum_source_equalsecond dst_positive_scale_sum_source_equalsecond dst_negative_code_sum_source_equalsecond dst_negative_scale_sum_source_equalsecond dst_positive_sum_source_equalsecond dst_negative_sum_source_equalsecond. (((G) = (((((dst_positive_code_sum_source_equalsecond) + (dst_positive_scale_sum_source_equalsecond)) * S ((dst_positive_code_sum_source_equalsecond) + (dst_positive_scale_sum_source_equalsecond)) + ((dst_positive_scale_sum_source_equalsecond) + (dst_positive_scale_sum_source_equalsecond))) + (((dst_negative_code_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)) * S ((dst_negative_code_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)) + ((dst_negative_scale_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)))) * S ((((dst_positive_code_sum_source_equalsecond) + (dst_positive_scale_sum_source_equalsecond)) * S ((dst_positive_code_sum_source_equalsecond) + (dst_positive_scale_sum_source_equalsecond)) + ((dst_positive_scale_sum_source_equalsecond) + (dst_positive_scale_sum_source_equalsecond))) + (((dst_negative_code_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)) * S ((dst_negative_code_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)) + ((dst_negative_scale_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)))) + ((((dst_negative_code_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)) * S ((dst_negative_code_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)) + ((dst_negative_scale_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond))) + (((dst_negative_code_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)) * S ((dst_negative_code_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)) + ((dst_negative_scale_sum_source_equalsecond) + (dst_negative_scale_sum_source_equalsecond)))))) /\ (((((exists ff_h_pvs_sum_source_equalsecondpositive. ff_h_pvs_sum_source_equalsecondpositive + S (dst_positive_sum_source_equalsecond) = S ((S (dm_index_sum_source_equal)) * dst_positive_scale_sum_source_equalsecond)) /\ exists ff_q_pvs_sum_source_equalsecondpositive. dst_positive_code_sum_source_equalsecond = ff_q_pvs_sum_source_equalsecondpositive * S ((S (dm_index_sum_source_equal)) * dst_positive_scale_sum_source_equalsecond) + (dst_positive_sum_source_equalsecond))) /\ (((((exists ff_h_pvs_sum_source_equalsecondnegative. ff_h_pvs_sum_source_equalsecondnegative + S (dst_negative_sum_source_equalsecond) = S ((S (dm_index_sum_source_equal)) * dst_negative_scale_sum_source_equalsecond)) /\ exists ff_q_pvs_sum_source_equalsecondnegative. dst_negative_code_sum_source_equalsecond = ff_q_pvs_sum_source_equalsecondnegative * S ((S (dm_index_sum_source_equal)) * dst_negative_scale_sum_source_equalsecond) + (dst_negative_sum_source_equalsecond))) /\ (exists ge_balance_positive_sum_source_equalsecondvalue ge_balance_negative_sum_source_equalsecondvalue. (((((dm_second_value_sum_source_equal) = 2 * (ge_balance_positive_sum_source_equalsecondvalue) /\ (ge_balance_negative_sum_source_equalsecondvalue) = 0) \/ exists ge_signed_half_sum_source_equalsecondvaluedecode. (((dm_second_value_sum_source_equal) = 2 * ge_signed_half_sum_source_equalsecondvaluedecode + 1 /\ (ge_balance_positive_sum_source_equalsecondvalue) = 0) /\ (ge_balance_negative_sum_source_equalsecondvalue) = S ge_signed_half_sum_source_equalsecondvaluedecode))) /\ ((dst_positive_sum_source_equalsecond) + ge_balance_negative_sum_source_equalsecondvalue = (dst_negative_sum_source_equalsecond) + ge_balance_positive_sum_source_equalsecondvalue))))))))) -> dm_first_value_sum_source_equal=dm_second_value_sum_source_equal) -> (((~((n)=0)) /\ (exists dm_mask_table_sum_source_first. ((((exists dst_positive_code_sum_source_firstmasktable dst_positive_scale_sum_source_firstmasktable dst_negative_code_sum_source_firstmasktable dst_negative_scale_sum_source_firstmasktable. (((dm_mask_table_sum_source_first) = (((((dst_positive_code_sum_source_firstmasktable) + (dst_positive_scale_sum_source_firstmasktable)) * S ((dst_positive_code_sum_source_firstmasktable) + (dst_positive_scale_sum_source_firstmasktable)) + ((dst_positive_scale_sum_source_firstmasktable) + (dst_positive_scale_sum_source_firstmasktable))) + (((dst_negative_code_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)) * S ((dst_negative_code_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)) + ((dst_negative_scale_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)))) * S ((((dst_positive_code_sum_source_firstmasktable) + (dst_positive_scale_sum_source_firstmasktable)) * S ((dst_positive_code_sum_source_firstmasktable) + (dst_positive_scale_sum_source_firstmasktable)) + ((dst_positive_scale_sum_source_firstmasktable) + (dst_positive_scale_sum_source_firstmasktable))) + (((dst_negative_code_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)) * S ((dst_negative_code_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)) + ((dst_negative_scale_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)))) + ((((dst_negative_code_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)) * S ((dst_negative_code_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)) + ((dst_negative_scale_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable))) + (((dst_negative_code_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)) * S ((dst_negative_code_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)) + ((dst_negative_scale_sum_source_firstmasktable) + (dst_negative_scale_sum_source_firstmasktable)))))) /\ (forall dst_index_sum_source_firstmasktable. (exists pvs_le_gap_sum_source_firstmasktabledomain. pvs_le_gap_sum_source_firstmasktabledomain + (dst_index_sum_source_firstmasktable) = (n)) -> exists dst_positive_sum_source_firstmasktable dst_negative_sum_source_firstmasktable dst_value_sum_source_firstmasktable. ((((exists ff_h_pvs_sum_source_firstmasktableentrypositive. ff_h_pvs_sum_source_firstmasktableentrypositive + S (dst_positive_sum_source_firstmasktable) = S ((S (dst_index_sum_source_firstmasktable)) * dst_positive_scale_sum_source_firstmasktable)) /\ exists ff_q_pvs_sum_source_firstmasktableentrypositive. dst_positive_code_sum_source_firstmasktable = ff_q_pvs_sum_source_firstmasktableentrypositive * S ((S (dst_index_sum_source_firstmasktable)) * dst_positive_scale_sum_source_firstmasktable) + (dst_positive_sum_source_firstmasktable))) /\ (((((exists ff_h_pvs_sum_source_firstmasktableentrynegative. ff_h_pvs_sum_source_firstmasktableentrynegative + S (dst_negative_sum_source_firstmasktable) = S ((S (dst_index_sum_source_firstmasktable)) * dst_negative_scale_sum_source_firstmasktable)) /\ exists ff_q_pvs_sum_source_firstmasktableentrynegative. dst_negative_code_sum_source_firstmasktable = ff_q_pvs_sum_source_firstmasktableentrynegative * S ((S (dst_index_sum_source_firstmasktable)) * dst_negative_scale_sum_source_firstmasktable) + (dst_negative_sum_source_firstmasktable))) /\ (exists ge_balance_positive_sum_source_firstmasktableentryvalue ge_balance_negative_sum_source_firstmasktableentryvalue. (((((dst_value_sum_source_firstmasktable) = 2 * (ge_balance_positive_sum_source_firstmasktableentryvalue) /\ (ge_balance_negative_sum_source_firstmasktableentryvalue) = 0) \/ exists ge_signed_half_sum_source_firstmasktableentryvaluedecode. (((dst_value_sum_source_firstmasktable) = 2 * ge_signed_half_sum_source_firstmasktableentryvaluedecode + 1 /\ (ge_balance_positive_sum_source_firstmasktableentryvalue) = 0) /\ (ge_balance_negative_sum_source_firstmasktableentryvalue) = S ge_signed_half_sum_source_firstmasktableentryvaluedecode))) /\ ((dst_positive_sum_source_firstmasktable) + ge_balance_negative_sum_source_firstmasktableentryvalue = (dst_negative_sum_source_firstmasktable) + ge_balance_positive_sum_source_firstmasktableentryvalue))))))))) /\ (forall dm_index_sum_source_firstmask dm_value_sum_source_firstmask. (exists pvs_le_gap_sum_source_firstmaskdomain. pvs_le_gap_sum_source_firstmaskdomain + (dm_index_sum_source_firstmask) = (n)) -> (exists dst_positive_code_sum_source_firstmasklookup dst_positive_scale_sum_source_firstmasklookup dst_negative_code_sum_source_firstmasklookup dst_negative_scale_sum_source_firstmasklookup dst_positive_sum_source_firstmasklookup dst_negative_sum_source_firstmasklookup. (((dm_mask_table_sum_source_first) = (((((dst_positive_code_sum_source_firstmasklookup) + (dst_positive_scale_sum_source_firstmasklookup)) * S ((dst_positive_code_sum_source_firstmasklookup) + (dst_positive_scale_sum_source_firstmasklookup)) + ((dst_positive_scale_sum_source_firstmasklookup) + (dst_positive_scale_sum_source_firstmasklookup))) + (((dst_negative_code_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)) * S ((dst_negative_code_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)) + ((dst_negative_scale_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)))) * S ((((dst_positive_code_sum_source_firstmasklookup) + (dst_positive_scale_sum_source_firstmasklookup)) * S ((dst_positive_code_sum_source_firstmasklookup) + (dst_positive_scale_sum_source_firstmasklookup)) + ((dst_positive_scale_sum_source_firstmasklookup) + (dst_positive_scale_sum_source_firstmasklookup))) + (((dst_negative_code_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)) * S ((dst_negative_code_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)) + ((dst_negative_scale_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)))) + ((((dst_negative_code_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)) * S ((dst_negative_code_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)) + ((dst_negative_scale_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup))) + (((dst_negative_code_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)) * S ((dst_negative_code_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)) + ((dst_negative_scale_sum_source_firstmasklookup) + (dst_negative_scale_sum_source_firstmasklookup)))))) /\ (((((exists ff_h_pvs_sum_source_firstmasklookuppositive. ff_h_pvs_sum_source_firstmasklookuppositive + S (dst_positive_sum_source_firstmasklookup) = S ((S (dm_index_sum_source_firstmask)) * dst_positive_scale_sum_source_firstmasklookup)) /\ exists ff_q_pvs_sum_source_firstmasklookuppositive. dst_positive_code_sum_source_firstmasklookup = ff_q_pvs_sum_source_firstmasklookuppositive * S ((S (dm_index_sum_source_firstmask)) * dst_positive_scale_sum_source_firstmasklookup) + (dst_positive_sum_source_firstmasklookup))) /\ (((((exists ff_h_pvs_sum_source_firstmasklookupnegative. ff_h_pvs_sum_source_firstmasklookupnegative + S (dst_negative_sum_source_firstmasklookup) = S ((S (dm_index_sum_source_firstmask)) * dst_negative_scale_sum_source_firstmasklookup)) /\ exists ff_q_pvs_sum_source_firstmasklookupnegative. dst_negative_code_sum_source_firstmasklookup = ff_q_pvs_sum_source_firstmasklookupnegative * S ((S (dm_index_sum_source_firstmask)) * dst_negative_scale_sum_source_firstmasklookup) + (dst_negative_sum_source_firstmasklookup))) /\ (exists ge_balance_positive_sum_source_firstmasklookupvalue ge_balance_negative_sum_source_firstmasklookupvalue. (((((dm_value_sum_source_firstmask) = 2 * (ge_balance_positive_sum_source_firstmasklookupvalue) /\ (ge_balance_negative_sum_source_firstmasklookupvalue) = 0) \/ exists ge_signed_half_sum_source_firstmasklookupvaluedecode. (((dm_value_sum_source_firstmask) = 2 * ge_signed_half_sum_source_firstmasklookupvaluedecode + 1 /\ (ge_balance_positive_sum_source_firstmasklookupvalue) = 0) /\ (ge_balance_negative_sum_source_firstmasklookupvalue) = S ge_signed_half_sum_source_firstmasklookupvaluedecode))) /\ ((dst_positive_sum_source_firstmasklookup) + ge_balance_negative_sum_source_firstmasklookupvalue = (dst_negative_sum_source_firstmasklookup) + ge_balance_positive_sum_source_firstmasklookupvalue))))))))) -> ((((~((dm_index_sum_source_firstmask)=0)) /\ (exists dm_quotient_sum_source_firstmaskentry. (((n)=(dm_index_sum_source_firstmask)*dm_quotient_sum_source_firstmaskentry) /\ (exists dst_positive_code_sum_source_firstmaskentryinput dst_positive_scale_sum_source_firstmaskentryinput dst_negative_code_sum_source_firstmaskentryinput dst_negative_scale_sum_source_firstmaskentryinput dst_positive_sum_source_firstmaskentryinput dst_negative_sum_source_firstmaskentryinput. (((F) = (((((dst_positive_code_sum_source_firstmaskentryinput) + (dst_positive_scale_sum_source_firstmaskentryinput)) * S ((dst_positive_code_sum_source_firstmaskentryinput) + (dst_positive_scale_sum_source_firstmaskentryinput)) + ((dst_positive_scale_sum_source_firstmaskentryinput) + (dst_positive_scale_sum_source_firstmaskentryinput))) + (((dst_negative_code_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)) * S ((dst_negative_code_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)) + ((dst_negative_scale_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)))) * S ((((dst_positive_code_sum_source_firstmaskentryinput) + (dst_positive_scale_sum_source_firstmaskentryinput)) * S ((dst_positive_code_sum_source_firstmaskentryinput) + (dst_positive_scale_sum_source_firstmaskentryinput)) + ((dst_positive_scale_sum_source_firstmaskentryinput) + (dst_positive_scale_sum_source_firstmaskentryinput))) + (((dst_negative_code_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)) * S ((dst_negative_code_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)) + ((dst_negative_scale_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)))) + ((((dst_negative_code_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)) * S ((dst_negative_code_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)) + ((dst_negative_scale_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput))) + (((dst_negative_code_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)) * S ((dst_negative_code_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)) + ((dst_negative_scale_sum_source_firstmaskentryinput) + (dst_negative_scale_sum_source_firstmaskentryinput)))))) /\ (((((exists ff_h_pvs_sum_source_firstmaskentryinputpositive. ff_h_pvs_sum_source_firstmaskentryinputpositive + S (dst_positive_sum_source_firstmaskentryinput) = S ((S (dm_index_sum_source_firstmask)) * dst_positive_scale_sum_source_firstmaskentryinput)) /\ exists ff_q_pvs_sum_source_firstmaskentryinputpositive. dst_positive_code_sum_source_firstmaskentryinput = ff_q_pvs_sum_source_firstmaskentryinputpositive * S ((S (dm_index_sum_source_firstmask)) * dst_positive_scale_sum_source_firstmaskentryinput) + (dst_positive_sum_source_firstmaskentryinput))) /\ (((((exists ff_h_pvs_sum_source_firstmaskentryinputnegative. ff_h_pvs_sum_source_firstmaskentryinputnegative + S (dst_negative_sum_source_firstmaskentryinput) = S ((S (dm_index_sum_source_firstmask)) * dst_negative_scale_sum_source_firstmaskentryinput)) /\ exists ff_q_pvs_sum_source_firstmaskentryinputnegative. dst_negative_code_sum_source_firstmaskentryinput = ff_q_pvs_sum_source_firstmaskentryinputnegative * S ((S (dm_index_sum_source_firstmask)) * dst_negative_scale_sum_source_firstmaskentryinput) + (dst_negative_sum_source_firstmaskentryinput))) /\ (exists ge_balance_positive_sum_source_firstmaskentryinputvalue ge_balance_negative_sum_source_firstmaskentryinputvalue. (((((dm_value_sum_source_firstmask) = 2 * (ge_balance_positive_sum_source_firstmaskentryinputvalue) /\ (ge_balance_negative_sum_source_firstmaskentryinputvalue) = 0) \/ exists ge_signed_half_sum_source_firstmaskentryinputvaluedecode. (((dm_value_sum_source_firstmask) = 2 * ge_signed_half_sum_source_firstmaskentryinputvaluedecode + 1 /\ (ge_balance_positive_sum_source_firstmaskentryinputvalue) = 0) /\ (ge_balance_negative_sum_source_firstmaskentryinputvalue) = S ge_signed_half_sum_source_firstmaskentryinputvaluedecode))) /\ ((dst_positive_sum_source_firstmaskentryinput) + ge_balance_negative_sum_source_firstmaskentryinputvalue = (dst_negative_sum_source_firstmaskentryinput) + ge_balance_positive_sum_source_firstmaskentryinputvalue))))))))))))) \/ ((((dm_index_sum_source_firstmask)=0 \/ ~(exists pvs_factor_sum_source_firstmaskentrynondivisor. (n) = (dm_index_sum_source_firstmask) * pvs_factor_sum_source_firstmaskentrynondivisor)) /\ ((dm_value_sum_source_firstmask)=0))))))) /\ (exists dst_positive_code_sum_source_firstfold dst_positive_scale_sum_source_firstfold dst_negative_code_sum_source_firstfold dst_negative_scale_sum_source_firstfold dst_positive_sum_sum_source_firstfold dst_negative_sum_sum_source_firstfold. (((dm_mask_table_sum_source_first) = (((((dst_positive_code_sum_source_firstfold) + (dst_positive_scale_sum_source_firstfold)) * S ((dst_positive_code_sum_source_firstfold) + (dst_positive_scale_sum_source_firstfold)) + ((dst_positive_scale_sum_source_firstfold) + (dst_positive_scale_sum_source_firstfold))) + (((dst_negative_code_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)) * S ((dst_negative_code_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)) + ((dst_negative_scale_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)))) * S ((((dst_positive_code_sum_source_firstfold) + (dst_positive_scale_sum_source_firstfold)) * S ((dst_positive_code_sum_source_firstfold) + (dst_positive_scale_sum_source_firstfold)) + ((dst_positive_scale_sum_source_firstfold) + (dst_positive_scale_sum_source_firstfold))) + (((dst_negative_code_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)) * S ((dst_negative_code_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)) + ((dst_negative_scale_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)))) + ((((dst_negative_code_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)) * S ((dst_negative_code_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)) + ((dst_negative_scale_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold))) + (((dst_negative_code_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)) * S ((dst_negative_code_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)) + ((dst_negative_scale_sum_source_firstfold) + (dst_negative_scale_sum_source_firstfold)))))) /\ (((exists fs_u_dst_sum_source_firstfoldpositive fs_v_dst_sum_source_firstfoldpositive. ((((exists fs_h_dst_sum_source_firstfoldpositive_body_start. fs_h_dst_sum_source_firstfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_source_firstfoldpositive)) /\ exists fs_q_dst_sum_source_firstfoldpositive_body_start. fs_u_dst_sum_source_firstfoldpositive = fs_q_dst_sum_source_firstfoldpositive_body_start * S ((S (0)) * fs_v_dst_sum_source_firstfoldpositive) + (0))) /\ ((((exists fs_h_dst_sum_source_firstfoldpositive_body_terminal. fs_h_dst_sum_source_firstfoldpositive_body_terminal + S (dst_positive_sum_sum_source_firstfold) = S ((S (S (n))) * fs_v_dst_sum_source_firstfoldpositive)) /\ exists fs_q_dst_sum_source_firstfoldpositive_body_terminal. fs_u_dst_sum_source_firstfoldpositive = fs_q_dst_sum_source_firstfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_sum_source_firstfoldpositive) + (dst_positive_sum_sum_source_firstfold))) /\ forall fs_i_dst_sum_source_firstfoldpositive_body_steps. (exists fs_lt_dst_sum_source_firstfoldpositive_body_steps_bound. fs_lt_dst_sum_source_firstfoldpositive_body_steps_bound + S fs_i_dst_sum_source_firstfoldpositive_body_steps = S (n)) -> exists fs_a_dst_sum_source_firstfoldpositive_body_steps fs_r_dst_sum_source_firstfoldpositive_body_steps fs_s_dst_sum_source_firstfoldpositive_body_steps. ((((exists fs_h_dst_sum_source_firstfoldpositive_body_steps_summand. fs_h_dst_sum_source_firstfoldpositive_body_steps_summand + S (fs_a_dst_sum_source_firstfoldpositive_body_steps) = S ((S (fs_i_dst_sum_source_firstfoldpositive_body_steps)) * dst_positive_scale_sum_source_firstfold)) /\ exists fs_q_dst_sum_source_firstfoldpositive_body_steps_summand. dst_positive_code_sum_source_firstfold = fs_q_dst_sum_source_firstfoldpositive_body_steps_summand * S ((S (fs_i_dst_sum_source_firstfoldpositive_body_steps)) * dst_positive_scale_sum_source_firstfold) + (fs_a_dst_sum_source_firstfoldpositive_body_steps))) /\ ((((exists fs_h_dst_sum_source_firstfoldpositive_body_steps_partial. fs_h_dst_sum_source_firstfoldpositive_body_steps_partial + S (fs_r_dst_sum_source_firstfoldpositive_body_steps) = S ((S (fs_i_dst_sum_source_firstfoldpositive_body_steps)) * fs_v_dst_sum_source_firstfoldpositive)) /\ exists fs_q_dst_sum_source_firstfoldpositive_body_steps_partial. fs_u_dst_sum_source_firstfoldpositive = fs_q_dst_sum_source_firstfoldpositive_body_steps_partial * S ((S (fs_i_dst_sum_source_firstfoldpositive_body_steps)) * fs_v_dst_sum_source_firstfoldpositive) + (fs_r_dst_sum_source_firstfoldpositive_body_steps))) /\ ((((exists fs_h_dst_sum_source_firstfoldpositive_body_steps_successor. fs_h_dst_sum_source_firstfoldpositive_body_steps_successor + S (fs_s_dst_sum_source_firstfoldpositive_body_steps) = S ((S (S fs_i_dst_sum_source_firstfoldpositive_body_steps)) * fs_v_dst_sum_source_firstfoldpositive)) /\ exists fs_q_dst_sum_source_firstfoldpositive_body_steps_successor. fs_u_dst_sum_source_firstfoldpositive = fs_q_dst_sum_source_firstfoldpositive_body_steps_successor * S ((S (S fs_i_dst_sum_source_firstfoldpositive_body_steps)) * fs_v_dst_sum_source_firstfoldpositive) + (fs_s_dst_sum_source_firstfoldpositive_body_steps))) /\ fs_s_dst_sum_source_firstfoldpositive_body_steps = fs_r_dst_sum_source_firstfoldpositive_body_steps + fs_a_dst_sum_source_firstfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_sum_source_firstfoldnegative fs_v_dst_sum_source_firstfoldnegative. ((((exists fs_h_dst_sum_source_firstfoldnegative_body_start. fs_h_dst_sum_source_firstfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_source_firstfoldnegative)) /\ exists fs_q_dst_sum_source_firstfoldnegative_body_start. fs_u_dst_sum_source_firstfoldnegative = fs_q_dst_sum_source_firstfoldnegative_body_start * S ((S (0)) * fs_v_dst_sum_source_firstfoldnegative) + (0))) /\ ((((exists fs_h_dst_sum_source_firstfoldnegative_body_terminal. fs_h_dst_sum_source_firstfoldnegative_body_terminal + S (dst_negative_sum_sum_source_firstfold) = S ((S (S (n))) * fs_v_dst_sum_source_firstfoldnegative)) /\ exists fs_q_dst_sum_source_firstfoldnegative_body_terminal. fs_u_dst_sum_source_firstfoldnegative = fs_q_dst_sum_source_firstfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_sum_source_firstfoldnegative) + (dst_negative_sum_sum_source_firstfold))) /\ forall fs_i_dst_sum_source_firstfoldnegative_body_steps. (exists fs_lt_dst_sum_source_firstfoldnegative_body_steps_bound. fs_lt_dst_sum_source_firstfoldnegative_body_steps_bound + S fs_i_dst_sum_source_firstfoldnegative_body_steps = S (n)) -> exists fs_a_dst_sum_source_firstfoldnegative_body_steps fs_r_dst_sum_source_firstfoldnegative_body_steps fs_s_dst_sum_source_firstfoldnegative_body_steps. ((((exists fs_h_dst_sum_source_firstfoldnegative_body_steps_summand. fs_h_dst_sum_source_firstfoldnegative_body_steps_summand + S (fs_a_dst_sum_source_firstfoldnegative_body_steps) = S ((S (fs_i_dst_sum_source_firstfoldnegative_body_steps)) * dst_negative_scale_sum_source_firstfold)) /\ exists fs_q_dst_sum_source_firstfoldnegative_body_steps_summand. dst_negative_code_sum_source_firstfold = fs_q_dst_sum_source_firstfoldnegative_body_steps_summand * S ((S (fs_i_dst_sum_source_firstfoldnegative_body_steps)) * dst_negative_scale_sum_source_firstfold) + (fs_a_dst_sum_source_firstfoldnegative_body_steps))) /\ ((((exists fs_h_dst_sum_source_firstfoldnegative_body_steps_partial. fs_h_dst_sum_source_firstfoldnegative_body_steps_partial + S (fs_r_dst_sum_source_firstfoldnegative_body_steps) = S ((S (fs_i_dst_sum_source_firstfoldnegative_body_steps)) * fs_v_dst_sum_source_firstfoldnegative)) /\ exists fs_q_dst_sum_source_firstfoldnegative_body_steps_partial. fs_u_dst_sum_source_firstfoldnegative = fs_q_dst_sum_source_firstfoldnegative_body_steps_partial * S ((S (fs_i_dst_sum_source_firstfoldnegative_body_steps)) * fs_v_dst_sum_source_firstfoldnegative) + (fs_r_dst_sum_source_firstfoldnegative_body_steps))) /\ ((((exists fs_h_dst_sum_source_firstfoldnegative_body_steps_successor. fs_h_dst_sum_source_firstfoldnegative_body_steps_successor + S (fs_s_dst_sum_source_firstfoldnegative_body_steps) = S ((S (S fs_i_dst_sum_source_firstfoldnegative_body_steps)) * fs_v_dst_sum_source_firstfoldnegative)) /\ exists fs_q_dst_sum_source_firstfoldnegative_body_steps_successor. fs_u_dst_sum_source_firstfoldnegative = fs_q_dst_sum_source_firstfoldnegative_body_steps_successor * S ((S (S fs_i_dst_sum_source_firstfoldnegative_body_steps)) * fs_v_dst_sum_source_firstfoldnegative) + (fs_s_dst_sum_source_firstfoldnegative_body_steps))) /\ fs_s_dst_sum_source_firstfoldnegative_body_steps = fs_r_dst_sum_source_firstfoldnegative_body_steps + fs_a_dst_sum_source_firstfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_sum_source_firstfoldresult ge_balance_negative_sum_source_firstfoldresult. (((((a) = 2 * (ge_balance_positive_sum_source_firstfoldresult) /\ (ge_balance_negative_sum_source_firstfoldresult) = 0) \/ exists ge_signed_half_sum_source_firstfoldresultdecode. (((a) = 2 * ge_signed_half_sum_source_firstfoldresultdecode + 1 /\ (ge_balance_positive_sum_source_firstfoldresult) = 0) /\ (ge_balance_negative_sum_source_firstfoldresult) = S ge_signed_half_sum_source_firstfoldresultdecode))) /\ ((dst_positive_sum_sum_source_firstfold) + ge_balance_negative_sum_source_firstfoldresult = (dst_negative_sum_sum_source_firstfold) + ge_balance_positive_sum_source_firstfoldresult))))))))))))) -> (((~((n)=0)) /\ (exists dm_mask_table_sum_source_second. ((((exists dst_positive_code_sum_source_secondmasktable dst_positive_scale_sum_source_secondmasktable dst_negative_code_sum_source_secondmasktable dst_negative_scale_sum_source_secondmasktable. (((dm_mask_table_sum_source_second) = (((((dst_positive_code_sum_source_secondmasktable) + (dst_positive_scale_sum_source_secondmasktable)) * S ((dst_positive_code_sum_source_secondmasktable) + (dst_positive_scale_sum_source_secondmasktable)) + ((dst_positive_scale_sum_source_secondmasktable) + (dst_positive_scale_sum_source_secondmasktable))) + (((dst_negative_code_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)) * S ((dst_negative_code_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)) + ((dst_negative_scale_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)))) * S ((((dst_positive_code_sum_source_secondmasktable) + (dst_positive_scale_sum_source_secondmasktable)) * S ((dst_positive_code_sum_source_secondmasktable) + (dst_positive_scale_sum_source_secondmasktable)) + ((dst_positive_scale_sum_source_secondmasktable) + (dst_positive_scale_sum_source_secondmasktable))) + (((dst_negative_code_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)) * S ((dst_negative_code_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)) + ((dst_negative_scale_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)))) + ((((dst_negative_code_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)) * S ((dst_negative_code_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)) + ((dst_negative_scale_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable))) + (((dst_negative_code_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)) * S ((dst_negative_code_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)) + ((dst_negative_scale_sum_source_secondmasktable) + (dst_negative_scale_sum_source_secondmasktable)))))) /\ (forall dst_index_sum_source_secondmasktable. (exists pvs_le_gap_sum_source_secondmasktabledomain. pvs_le_gap_sum_source_secondmasktabledomain + (dst_index_sum_source_secondmasktable) = (n)) -> exists dst_positive_sum_source_secondmasktable dst_negative_sum_source_secondmasktable dst_value_sum_source_secondmasktable. ((((exists ff_h_pvs_sum_source_secondmasktableentrypositive. ff_h_pvs_sum_source_secondmasktableentrypositive + S (dst_positive_sum_source_secondmasktable) = S ((S (dst_index_sum_source_secondmasktable)) * dst_positive_scale_sum_source_secondmasktable)) /\ exists ff_q_pvs_sum_source_secondmasktableentrypositive. dst_positive_code_sum_source_secondmasktable = ff_q_pvs_sum_source_secondmasktableentrypositive * S ((S (dst_index_sum_source_secondmasktable)) * dst_positive_scale_sum_source_secondmasktable) + (dst_positive_sum_source_secondmasktable))) /\ (((((exists ff_h_pvs_sum_source_secondmasktableentrynegative. ff_h_pvs_sum_source_secondmasktableentrynegative + S (dst_negative_sum_source_secondmasktable) = S ((S (dst_index_sum_source_secondmasktable)) * dst_negative_scale_sum_source_secondmasktable)) /\ exists ff_q_pvs_sum_source_secondmasktableentrynegative. dst_negative_code_sum_source_secondmasktable = ff_q_pvs_sum_source_secondmasktableentrynegative * S ((S (dst_index_sum_source_secondmasktable)) * dst_negative_scale_sum_source_secondmasktable) + (dst_negative_sum_source_secondmasktable))) /\ (exists ge_balance_positive_sum_source_secondmasktableentryvalue ge_balance_negative_sum_source_secondmasktableentryvalue. (((((dst_value_sum_source_secondmasktable) = 2 * (ge_balance_positive_sum_source_secondmasktableentryvalue) /\ (ge_balance_negative_sum_source_secondmasktableentryvalue) = 0) \/ exists ge_signed_half_sum_source_secondmasktableentryvaluedecode. (((dst_value_sum_source_secondmasktable) = 2 * ge_signed_half_sum_source_secondmasktableentryvaluedecode + 1 /\ (ge_balance_positive_sum_source_secondmasktableentryvalue) = 0) /\ (ge_balance_negative_sum_source_secondmasktableentryvalue) = S ge_signed_half_sum_source_secondmasktableentryvaluedecode))) /\ ((dst_positive_sum_source_secondmasktable) + ge_balance_negative_sum_source_secondmasktableentryvalue = (dst_negative_sum_source_secondmasktable) + ge_balance_positive_sum_source_secondmasktableentryvalue))))))))) /\ (forall dm_index_sum_source_secondmask dm_value_sum_source_secondmask. (exists pvs_le_gap_sum_source_secondmaskdomain. pvs_le_gap_sum_source_secondmaskdomain + (dm_index_sum_source_secondmask) = (n)) -> (exists dst_positive_code_sum_source_secondmasklookup dst_positive_scale_sum_source_secondmasklookup dst_negative_code_sum_source_secondmasklookup dst_negative_scale_sum_source_secondmasklookup dst_positive_sum_source_secondmasklookup dst_negative_sum_source_secondmasklookup. (((dm_mask_table_sum_source_second) = (((((dst_positive_code_sum_source_secondmasklookup) + (dst_positive_scale_sum_source_secondmasklookup)) * S ((dst_positive_code_sum_source_secondmasklookup) + (dst_positive_scale_sum_source_secondmasklookup)) + ((dst_positive_scale_sum_source_secondmasklookup) + (dst_positive_scale_sum_source_secondmasklookup))) + (((dst_negative_code_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)) * S ((dst_negative_code_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)) + ((dst_negative_scale_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)))) * S ((((dst_positive_code_sum_source_secondmasklookup) + (dst_positive_scale_sum_source_secondmasklookup)) * S ((dst_positive_code_sum_source_secondmasklookup) + (dst_positive_scale_sum_source_secondmasklookup)) + ((dst_positive_scale_sum_source_secondmasklookup) + (dst_positive_scale_sum_source_secondmasklookup))) + (((dst_negative_code_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)) * S ((dst_negative_code_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)) + ((dst_negative_scale_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)))) + ((((dst_negative_code_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)) * S ((dst_negative_code_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)) + ((dst_negative_scale_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup))) + (((dst_negative_code_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)) * S ((dst_negative_code_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)) + ((dst_negative_scale_sum_source_secondmasklookup) + (dst_negative_scale_sum_source_secondmasklookup)))))) /\ (((((exists ff_h_pvs_sum_source_secondmasklookuppositive. ff_h_pvs_sum_source_secondmasklookuppositive + S (dst_positive_sum_source_secondmasklookup) = S ((S (dm_index_sum_source_secondmask)) * dst_positive_scale_sum_source_secondmasklookup)) /\ exists ff_q_pvs_sum_source_secondmasklookuppositive. dst_positive_code_sum_source_secondmasklookup = ff_q_pvs_sum_source_secondmasklookuppositive * S ((S (dm_index_sum_source_secondmask)) * dst_positive_scale_sum_source_secondmasklookup) + (dst_positive_sum_source_secondmasklookup))) /\ (((((exists ff_h_pvs_sum_source_secondmasklookupnegative. ff_h_pvs_sum_source_secondmasklookupnegative + S (dst_negative_sum_source_secondmasklookup) = S ((S (dm_index_sum_source_secondmask)) * dst_negative_scale_sum_source_secondmasklookup)) /\ exists ff_q_pvs_sum_source_secondmasklookupnegative. dst_negative_code_sum_source_secondmasklookup = ff_q_pvs_sum_source_secondmasklookupnegative * S ((S (dm_index_sum_source_secondmask)) * dst_negative_scale_sum_source_secondmasklookup) + (dst_negative_sum_source_secondmasklookup))) /\ (exists ge_balance_positive_sum_source_secondmasklookupvalue ge_balance_negative_sum_source_secondmasklookupvalue. (((((dm_value_sum_source_secondmask) = 2 * (ge_balance_positive_sum_source_secondmasklookupvalue) /\ (ge_balance_negative_sum_source_secondmasklookupvalue) = 0) \/ exists ge_signed_half_sum_source_secondmasklookupvaluedecode. (((dm_value_sum_source_secondmask) = 2 * ge_signed_half_sum_source_secondmasklookupvaluedecode + 1 /\ (ge_balance_positive_sum_source_secondmasklookupvalue) = 0) /\ (ge_balance_negative_sum_source_secondmasklookupvalue) = S ge_signed_half_sum_source_secondmasklookupvaluedecode))) /\ ((dst_positive_sum_source_secondmasklookup) + ge_balance_negative_sum_source_secondmasklookupvalue = (dst_negative_sum_source_secondmasklookup) + ge_balance_positive_sum_source_secondmasklookupvalue))))))))) -> ((((~((dm_index_sum_source_secondmask)=0)) /\ (exists dm_quotient_sum_source_secondmaskentry. (((n)=(dm_index_sum_source_secondmask)*dm_quotient_sum_source_secondmaskentry) /\ (exists dst_positive_code_sum_source_secondmaskentryinput dst_positive_scale_sum_source_secondmaskentryinput dst_negative_code_sum_source_secondmaskentryinput dst_negative_scale_sum_source_secondmaskentryinput dst_positive_sum_source_secondmaskentryinput dst_negative_sum_source_secondmaskentryinput. (((G) = (((((dst_positive_code_sum_source_secondmaskentryinput) + (dst_positive_scale_sum_source_secondmaskentryinput)) * S ((dst_positive_code_sum_source_secondmaskentryinput) + (dst_positive_scale_sum_source_secondmaskentryinput)) + ((dst_positive_scale_sum_source_secondmaskentryinput) + (dst_positive_scale_sum_source_secondmaskentryinput))) + (((dst_negative_code_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)) * S ((dst_negative_code_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)) + ((dst_negative_scale_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)))) * S ((((dst_positive_code_sum_source_secondmaskentryinput) + (dst_positive_scale_sum_source_secondmaskentryinput)) * S ((dst_positive_code_sum_source_secondmaskentryinput) + (dst_positive_scale_sum_source_secondmaskentryinput)) + ((dst_positive_scale_sum_source_secondmaskentryinput) + (dst_positive_scale_sum_source_secondmaskentryinput))) + (((dst_negative_code_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)) * S ((dst_negative_code_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)) + ((dst_negative_scale_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)))) + ((((dst_negative_code_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)) * S ((dst_negative_code_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)) + ((dst_negative_scale_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput))) + (((dst_negative_code_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)) * S ((dst_negative_code_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)) + ((dst_negative_scale_sum_source_secondmaskentryinput) + (dst_negative_scale_sum_source_secondmaskentryinput)))))) /\ (((((exists ff_h_pvs_sum_source_secondmaskentryinputpositive. ff_h_pvs_sum_source_secondmaskentryinputpositive + S (dst_positive_sum_source_secondmaskentryinput) = S ((S (dm_index_sum_source_secondmask)) * dst_positive_scale_sum_source_secondmaskentryinput)) /\ exists ff_q_pvs_sum_source_secondmaskentryinputpositive. dst_positive_code_sum_source_secondmaskentryinput = ff_q_pvs_sum_source_secondmaskentryinputpositive * S ((S (dm_index_sum_source_secondmask)) * dst_positive_scale_sum_source_secondmaskentryinput) + (dst_positive_sum_source_secondmaskentryinput))) /\ (((((exists ff_h_pvs_sum_source_secondmaskentryinputnegative. ff_h_pvs_sum_source_secondmaskentryinputnegative + S (dst_negative_sum_source_secondmaskentryinput) = S ((S (dm_index_sum_source_secondmask)) * dst_negative_scale_sum_source_secondmaskentryinput)) /\ exists ff_q_pvs_sum_source_secondmaskentryinputnegative. dst_negative_code_sum_source_secondmaskentryinput = ff_q_pvs_sum_source_secondmaskentryinputnegative * S ((S (dm_index_sum_source_secondmask)) * dst_negative_scale_sum_source_secondmaskentryinput) + (dst_negative_sum_source_secondmaskentryinput))) /\ (exists ge_balance_positive_sum_source_secondmaskentryinputvalue ge_balance_negative_sum_source_secondmaskentryinputvalue. (((((dm_value_sum_source_secondmask) = 2 * (ge_balance_positive_sum_source_secondmaskentryinputvalue) /\ (ge_balance_negative_sum_source_secondmaskentryinputvalue) = 0) \/ exists ge_signed_half_sum_source_secondmaskentryinputvaluedecode. (((dm_value_sum_source_secondmask) = 2 * ge_signed_half_sum_source_secondmaskentryinputvaluedecode + 1 /\ (ge_balance_positive_sum_source_secondmaskentryinputvalue) = 0) /\ (ge_balance_negative_sum_source_secondmaskentryinputvalue) = S ge_signed_half_sum_source_secondmaskentryinputvaluedecode))) /\ ((dst_positive_sum_source_secondmaskentryinput) + ge_balance_negative_sum_source_secondmaskentryinputvalue = (dst_negative_sum_source_secondmaskentryinput) + ge_balance_positive_sum_source_secondmaskentryinputvalue))))))))))))) \/ ((((dm_index_sum_source_secondmask)=0 \/ ~(exists pvs_factor_sum_source_secondmaskentrynondivisor. (n) = (dm_index_sum_source_secondmask) * pvs_factor_sum_source_secondmaskentrynondivisor)) /\ ((dm_value_sum_source_secondmask)=0))))))) /\ (exists dst_positive_code_sum_source_secondfold dst_positive_scale_sum_source_secondfold dst_negative_code_sum_source_secondfold dst_negative_scale_sum_source_secondfold dst_positive_sum_sum_source_secondfold dst_negative_sum_sum_source_secondfold. (((dm_mask_table_sum_source_second) = (((((dst_positive_code_sum_source_secondfold) + (dst_positive_scale_sum_source_secondfold)) * S ((dst_positive_code_sum_source_secondfold) + (dst_positive_scale_sum_source_secondfold)) + ((dst_positive_scale_sum_source_secondfold) + (dst_positive_scale_sum_source_secondfold))) + (((dst_negative_code_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)) * S ((dst_negative_code_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)) + ((dst_negative_scale_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)))) * S ((((dst_positive_code_sum_source_secondfold) + (dst_positive_scale_sum_source_secondfold)) * S ((dst_positive_code_sum_source_secondfold) + (dst_positive_scale_sum_source_secondfold)) + ((dst_positive_scale_sum_source_secondfold) + (dst_positive_scale_sum_source_secondfold))) + (((dst_negative_code_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)) * S ((dst_negative_code_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)) + ((dst_negative_scale_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)))) + ((((dst_negative_code_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)) * S ((dst_negative_code_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)) + ((dst_negative_scale_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold))) + (((dst_negative_code_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)) * S ((dst_negative_code_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)) + ((dst_negative_scale_sum_source_secondfold) + (dst_negative_scale_sum_source_secondfold)))))) /\ (((exists fs_u_dst_sum_source_secondfoldpositive fs_v_dst_sum_source_secondfoldpositive. ((((exists fs_h_dst_sum_source_secondfoldpositive_body_start. fs_h_dst_sum_source_secondfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_source_secondfoldpositive)) /\ exists fs_q_dst_sum_source_secondfoldpositive_body_start. fs_u_dst_sum_source_secondfoldpositive = fs_q_dst_sum_source_secondfoldpositive_body_start * S ((S (0)) * fs_v_dst_sum_source_secondfoldpositive) + (0))) /\ ((((exists fs_h_dst_sum_source_secondfoldpositive_body_terminal. fs_h_dst_sum_source_secondfoldpositive_body_terminal + S (dst_positive_sum_sum_source_secondfold) = S ((S (S (n))) * fs_v_dst_sum_source_secondfoldpositive)) /\ exists fs_q_dst_sum_source_secondfoldpositive_body_terminal. fs_u_dst_sum_source_secondfoldpositive = fs_q_dst_sum_source_secondfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_sum_source_secondfoldpositive) + (dst_positive_sum_sum_source_secondfold))) /\ forall fs_i_dst_sum_source_secondfoldpositive_body_steps. (exists fs_lt_dst_sum_source_secondfoldpositive_body_steps_bound. fs_lt_dst_sum_source_secondfoldpositive_body_steps_bound + S fs_i_dst_sum_source_secondfoldpositive_body_steps = S (n)) -> exists fs_a_dst_sum_source_secondfoldpositive_body_steps fs_r_dst_sum_source_secondfoldpositive_body_steps fs_s_dst_sum_source_secondfoldpositive_body_steps. ((((exists fs_h_dst_sum_source_secondfoldpositive_body_steps_summand. fs_h_dst_sum_source_secondfoldpositive_body_steps_summand + S (fs_a_dst_sum_source_secondfoldpositive_body_steps) = S ((S (fs_i_dst_sum_source_secondfoldpositive_body_steps)) * dst_positive_scale_sum_source_secondfold)) /\ exists fs_q_dst_sum_source_secondfoldpositive_body_steps_summand. dst_positive_code_sum_source_secondfold = fs_q_dst_sum_source_secondfoldpositive_body_steps_summand * S ((S (fs_i_dst_sum_source_secondfoldpositive_body_steps)) * dst_positive_scale_sum_source_secondfold) + (fs_a_dst_sum_source_secondfoldpositive_body_steps))) /\ ((((exists fs_h_dst_sum_source_secondfoldpositive_body_steps_partial. fs_h_dst_sum_source_secondfoldpositive_body_steps_partial + S (fs_r_dst_sum_source_secondfoldpositive_body_steps) = S ((S (fs_i_dst_sum_source_secondfoldpositive_body_steps)) * fs_v_dst_sum_source_secondfoldpositive)) /\ exists fs_q_dst_sum_source_secondfoldpositive_body_steps_partial. fs_u_dst_sum_source_secondfoldpositive = fs_q_dst_sum_source_secondfoldpositive_body_steps_partial * S ((S (fs_i_dst_sum_source_secondfoldpositive_body_steps)) * fs_v_dst_sum_source_secondfoldpositive) + (fs_r_dst_sum_source_secondfoldpositive_body_steps))) /\ ((((exists fs_h_dst_sum_source_secondfoldpositive_body_steps_successor. fs_h_dst_sum_source_secondfoldpositive_body_steps_successor + S (fs_s_dst_sum_source_secondfoldpositive_body_steps) = S ((S (S fs_i_dst_sum_source_secondfoldpositive_body_steps)) * fs_v_dst_sum_source_secondfoldpositive)) /\ exists fs_q_dst_sum_source_secondfoldpositive_body_steps_successor. fs_u_dst_sum_source_secondfoldpositive = fs_q_dst_sum_source_secondfoldpositive_body_steps_successor * S ((S (S fs_i_dst_sum_source_secondfoldpositive_body_steps)) * fs_v_dst_sum_source_secondfoldpositive) + (fs_s_dst_sum_source_secondfoldpositive_body_steps))) /\ fs_s_dst_sum_source_secondfoldpositive_body_steps = fs_r_dst_sum_source_secondfoldpositive_body_steps + fs_a_dst_sum_source_secondfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_sum_source_secondfoldnegative fs_v_dst_sum_source_secondfoldnegative. ((((exists fs_h_dst_sum_source_secondfoldnegative_body_start. fs_h_dst_sum_source_secondfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_source_secondfoldnegative)) /\ exists fs_q_dst_sum_source_secondfoldnegative_body_start. fs_u_dst_sum_source_secondfoldnegative = fs_q_dst_sum_source_secondfoldnegative_body_start * S ((S (0)) * fs_v_dst_sum_source_secondfoldnegative) + (0))) /\ ((((exists fs_h_dst_sum_source_secondfoldnegative_body_terminal. fs_h_dst_sum_source_secondfoldnegative_body_terminal + S (dst_negative_sum_sum_source_secondfold) = S ((S (S (n))) * fs_v_dst_sum_source_secondfoldnegative)) /\ exists fs_q_dst_sum_source_secondfoldnegative_body_terminal. fs_u_dst_sum_source_secondfoldnegative = fs_q_dst_sum_source_secondfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_sum_source_secondfoldnegative) + (dst_negative_sum_sum_source_secondfold))) /\ forall fs_i_dst_sum_source_secondfoldnegative_body_steps. (exists fs_lt_dst_sum_source_secondfoldnegative_body_steps_bound. fs_lt_dst_sum_source_secondfoldnegative_body_steps_bound + S fs_i_dst_sum_source_secondfoldnegative_body_steps = S (n)) -> exists fs_a_dst_sum_source_secondfoldnegative_body_steps fs_r_dst_sum_source_secondfoldnegative_body_steps fs_s_dst_sum_source_secondfoldnegative_body_steps. ((((exists fs_h_dst_sum_source_secondfoldnegative_body_steps_summand. fs_h_dst_sum_source_secondfoldnegative_body_steps_summand + S (fs_a_dst_sum_source_secondfoldnegative_body_steps) = S ((S (fs_i_dst_sum_source_secondfoldnegative_body_steps)) * dst_negative_scale_sum_source_secondfold)) /\ exists fs_q_dst_sum_source_secondfoldnegative_body_steps_summand. dst_negative_code_sum_source_secondfold = fs_q_dst_sum_source_secondfoldnegative_body_steps_summand * S ((S (fs_i_dst_sum_source_secondfoldnegative_body_steps)) * dst_negative_scale_sum_source_secondfold) + (fs_a_dst_sum_source_secondfoldnegative_body_steps))) /\ ((((exists fs_h_dst_sum_source_secondfoldnegative_body_steps_partial. fs_h_dst_sum_source_secondfoldnegative_body_steps_partial + S (fs_r_dst_sum_source_secondfoldnegative_body_steps) = S ((S (fs_i_dst_sum_source_secondfoldnegative_body_steps)) * fs_v_dst_sum_source_secondfoldnegative)) /\ exists fs_q_dst_sum_source_secondfoldnegative_body_steps_partial. fs_u_dst_sum_source_secondfoldnegative = fs_q_dst_sum_source_secondfoldnegative_body_steps_partial * S ((S (fs_i_dst_sum_source_secondfoldnegative_body_steps)) * fs_v_dst_sum_source_secondfoldnegative) + (fs_r_dst_sum_source_secondfoldnegative_body_steps))) /\ ((((exists fs_h_dst_sum_source_secondfoldnegative_body_steps_successor. fs_h_dst_sum_source_secondfoldnegative_body_steps_successor + S (fs_s_dst_sum_source_secondfoldnegative_body_steps) = S ((S (S fs_i_dst_sum_source_secondfoldnegative_body_steps)) * fs_v_dst_sum_source_secondfoldnegative)) /\ exists fs_q_dst_sum_source_secondfoldnegative_body_steps_successor. fs_u_dst_sum_source_secondfoldnegative = fs_q_dst_sum_source_secondfoldnegative_body_steps_successor * S ((S (S fs_i_dst_sum_source_secondfoldnegative_body_steps)) * fs_v_dst_sum_source_secondfoldnegative) + (fs_s_dst_sum_source_secondfoldnegative_body_steps))) /\ fs_s_dst_sum_source_secondfoldnegative_body_steps = fs_r_dst_sum_source_secondfoldnegative_body_steps + fs_a_dst_sum_source_secondfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_sum_source_secondfoldresult ge_balance_negative_sum_source_secondfoldresult. (((((b) = 2 * (ge_balance_positive_sum_source_secondfoldresult) /\ (ge_balance_negative_sum_source_secondfoldresult) = 0) \/ exists ge_signed_half_sum_source_secondfoldresultdecode. (((b) = 2 * ge_signed_half_sum_source_secondfoldresultdecode + 1 /\ (ge_balance_positive_sum_source_secondfoldresult) = 0) /\ (ge_balance_negative_sum_source_secondfoldresult) = S ge_signed_half_sum_source_secondfoldresultdecode))) /\ ((dst_positive_sum_sum_source_secondfold) + ge_balance_negative_sum_source_secondfoldresult = (dst_negative_sum_sum_source_secondfold) + ge_balance_positive_sum_source_secondfoldresult))))))))))))) -> a=b

Complete tactic proof in conservative notation

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

31 script commands · 4 reading checkpoints · 0 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 F
  2. L2
    intro G
  3. L3
    intro n
  4. L4
    intro a
  5. L5
    intro b
  6. L6
    intro he
  7. L7
    intro ha
  8. L8
    intro hb
02Separate the logical casesL9–14

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

  1. L9
    cases ha
  2. L10
    cases ha_right
  3. L11
    cases ha_right_witness
  4. L12
    cases hb
  5. L13
    cases hb_right
  6. L14
    cases hb_right_witness
03Use earlier factsL15–24

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

  1. L15
    specialize divisor_signed_sum_extensional (x)
  2. L16
    specialize divisor_signed_sum_extensional (x1)
  3. L17
    specialize divisor_signed_sum_extensional (S n)
  4. L18
    specialize divisor_signed_sum_extensional (a)
  5. L19
    specialize divisor_signed_sum_extensional (b)
  6. L20
    apply divisor_signed_sum_extensional
  7. L21
    specialize divisor_mask_positive_source_extensional (F)
  8. L22
    specialize divisor_mask_positive_source_extensional (G)
  9. L23
    specialize divisor_mask_positive_source_extensional (n)
  10. L24
    specialize divisor_mask_positive_source_extensional (x)
04Use earlier factsL25–31

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

  1. L25
    specialize divisor_mask_positive_source_extensional (x1)
  2. L26
    apply divisor_mask_positive_source_extensional
  3. L27
    exact he
  4. L28
    exact ha_right_witness_left
  5. L29
    exact hb_right_witness_left
  6. L30
    exact ha_right_witness_right
  7. L31
    exact hb_right_witness_right

Library-wide reading audit

Original defined command ledger · 31 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro n
  4. 0004intro a
  5. 0005intro b
  6. 0006intro he
  7. 0007intro ha
  8. 0008intro hb
  9. 0009cases ha
  10. 0010cases ha_right
  11. 0011cases ha_right_witness
  12. 0012cases hb
  13. 0013cases hb_right
  14. 0014cases hb_right_witness
  15. 0015specialize divisor_signed_sum_extensional (x)
  16. 0016specialize divisor_signed_sum_extensional (x1)
  17. 0017specialize divisor_signed_sum_extensional (S n)
  18. 0018specialize divisor_signed_sum_extensional (a)
  19. 0019specialize divisor_signed_sum_extensional (b)
  20. 0020apply divisor_signed_sum_extensional
  21. 0021specialize divisor_mask_positive_source_extensional (F)
  22. 0022specialize divisor_mask_positive_source_extensional (G)
  23. 0023specialize divisor_mask_positive_source_extensional (n)
  24. 0024specialize divisor_mask_positive_source_extensional (x)
  25. 0025specialize divisor_mask_positive_source_extensional (x1)
  26. 0026apply divisor_mask_positive_source_extensional
  27. 0027exact he
  28. 0028exact ha_right_witness_left
  29. 0029exact hb_right_witness_left
  30. 0030exact ha_right_witness_right
  31. 0031exact hb_right_witness_right