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 F n l M z. (((exists dst_positive_code_append_sourcetable dst_positive_scale_append_sourcetable dst_negative_code_append_sourcetable dst_negative_scale_append_sourcetable. (((M) = (((((dst_positive_code_append_sourcetable) + (dst_positive_scale_append_sourcetable)) * S ((dst_positive_code_append_sourcetable) + (dst_positive_scale_append_sourcetable)) + ((dst_positive_scale_append_sourcetable) + (dst_positive_scale_append_sourcetable))) + (((dst_negative_code_append_sourcetable) + (dst_negative_scale_append_sourcetable)) * S ((dst_negative_code_append_sourcetable) + (dst_negative_scale_append_sourcetable)) + ((dst_negative_scale_append_sourcetable) + (dst_negative_scale_append_sourcetable)))) * S ((((dst_positive_code_append_sourcetable) + (dst_positive_scale_append_sourcetable)) * S ((dst_positive_code_append_sourcetable) + (dst_positive_scale_append_sourcetable)) + ((dst_positive_scale_append_sourcetable) + (dst_positive_scale_append_sourcetable))) + (((dst_negative_code_append_sourcetable) + (dst_negative_scale_append_sourcetable)) * S ((dst_negative_code_append_sourcetable) + (dst_negative_scale_append_sourcetable)) + ((dst_negative_scale_append_sourcetable) + (dst_negative_scale_append_sourcetable)))) + ((((dst_negative_code_append_sourcetable) + (dst_negative_scale_append_sourcetable)) * S ((dst_negative_code_append_sourcetable) + (dst_negative_scale_append_sourcetable)) + ((dst_negative_scale_append_sourcetable) + (dst_negative_scale_append_sourcetable))) + (((dst_negative_code_append_sourcetable) + (dst_negative_scale_append_sourcetable)) * S ((dst_negative_code_append_sourcetable) + (dst_negative_scale_append_sourcetable)) + ((dst_negative_scale_append_sourcetable) + (dst_negative_scale_append_sourcetable)))))) /\ (forall dst_index_append_sourcetable. (exists pvs_le_gap_append_sourcetabledomain. pvs_le_gap_append_sourcetabledomain + (dst_index_append_sourcetable) = (l)) -> exists dst_positive_append_sourcetable dst_negative_append_sourcetable dst_value_append_sourcetable. ((((exists ff_h_pvs_append_sourcetableentrypositive. ff_h_pvs_append_sourcetableentrypositive + S (dst_positive_append_sourcetable) = S ((S (dst_index_append_sourcetable)) * dst_positive_scale_append_sourcetable)) /\ exists ff_q_pvs_append_sourcetableentrypositive. dst_positive_code_append_sourcetable = ff_q_pvs_append_sourcetableentrypositive * S ((S (dst_index_append_sourcetable)) * dst_positive_scale_append_sourcetable) + (dst_positive_append_sourcetable))) /\ (((((exists ff_h_pvs_append_sourcetableentrynegative. ff_h_pvs_append_sourcetableentrynegative + S (dst_negative_append_sourcetable) = S ((S (dst_index_append_sourcetable)) * dst_negative_scale_append_sourcetable)) /\ exists ff_q_pvs_append_sourcetableentrynegative. dst_negative_code_append_sourcetable = ff_q_pvs_append_sourcetableentrynegative * S ((S (dst_index_append_sourcetable)) * dst_negative_scale_append_sourcetable) + (dst_negative_append_sourcetable))) /\ (exists ge_balance_positive_append_sourcetableentryvalue ge_balance_negative_append_sourcetableentryvalue. (((((dst_value_append_sourcetable) = 2 * (ge_balance_positive_append_sourcetableentryvalue) /\ (ge_balance_negative_append_sourcetableentryvalue) = 0) \/ exists ge_signed_half_append_sourcetableentryvaluedecode. (((dst_value_append_sourcetable) = 2 * ge_signed_half_append_sourcetableentryvaluedecode + 1 /\ (ge_balance_positive_append_sourcetableentryvalue) = 0) /\ (ge_balance_negative_append_sourcetableentryvalue) = S ge_signed_half_append_sourcetableentryvaluedecode))) /\ ((dst_positive_append_sourcetable) + ge_balance_negative_append_sourcetableentryvalue = (dst_negative_append_sourcetable) + ge_balance_positive_append_sourcetableentryvalue))))))))) /\ (forall dm_index_append_source dm_value_append_source. (exists pvs_le_gap_append_sourcedomain. pvs_le_gap_append_sourcedomain + (dm_index_append_source) = (l)) -> (exists dst_positive_code_append_sourcelookup dst_positive_scale_append_sourcelookup dst_negative_code_append_sourcelookup dst_negative_scale_append_sourcelookup dst_positive_append_sourcelookup dst_negative_append_sourcelookup. (((M) = (((((dst_positive_code_append_sourcelookup) + (dst_positive_scale_append_sourcelookup)) * S ((dst_positive_code_append_sourcelookup) + (dst_positive_scale_append_sourcelookup)) + ((dst_positive_scale_append_sourcelookup) + (dst_positive_scale_append_sourcelookup))) + (((dst_negative_code_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)) * S ((dst_negative_code_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)) + ((dst_negative_scale_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)))) * S ((((dst_positive_code_append_sourcelookup) + (dst_positive_scale_append_sourcelookup)) * S ((dst_positive_code_append_sourcelookup) + (dst_positive_scale_append_sourcelookup)) + ((dst_positive_scale_append_sourcelookup) + (dst_positive_scale_append_sourcelookup))) + (((dst_negative_code_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)) * S ((dst_negative_code_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)) + ((dst_negative_scale_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)))) + ((((dst_negative_code_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)) * S ((dst_negative_code_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)) + ((dst_negative_scale_append_sourcelookup) + (dst_negative_scale_append_sourcelookup))) + (((dst_negative_code_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)) * S ((dst_negative_code_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)) + ((dst_negative_scale_append_sourcelookup) + (dst_negative_scale_append_sourcelookup)))))) /\ (((((exists ff_h_pvs_append_sourcelookuppositive. ff_h_pvs_append_sourcelookuppositive + S (dst_positive_append_sourcelookup) = S ((S (dm_index_append_source)) * dst_positive_scale_append_sourcelookup)) /\ exists ff_q_pvs_append_sourcelookuppositive. dst_positive_code_append_sourcelookup = ff_q_pvs_append_sourcelookuppositive * S ((S (dm_index_append_source)) * dst_positive_scale_append_sourcelookup) + (dst_positive_append_sourcelookup))) /\ (((((exists ff_h_pvs_append_sourcelookupnegative. ff_h_pvs_append_sourcelookupnegative + S (dst_negative_append_sourcelookup) = S ((S (dm_index_append_source)) * dst_negative_scale_append_sourcelookup)) /\ exists ff_q_pvs_append_sourcelookupnegative. dst_negative_code_append_sourcelookup = ff_q_pvs_append_sourcelookupnegative * S ((S (dm_index_append_source)) * dst_negative_scale_append_sourcelookup) + (dst_negative_append_sourcelookup))) /\ (exists ge_balance_positive_append_sourcelookupvalue ge_balance_negative_append_sourcelookupvalue. (((((dm_value_append_source) = 2 * (ge_balance_positive_append_sourcelookupvalue) /\ (ge_balance_negative_append_sourcelookupvalue) = 0) \/ exists ge_signed_half_append_sourcelookupvaluedecode. (((dm_value_append_source) = 2 * ge_signed_half_append_sourcelookupvaluedecode + 1 /\ (ge_balance_positive_append_sourcelookupvalue) = 0) /\ (ge_balance_negative_append_sourcelookupvalue) = S ge_signed_half_append_sourcelookupvaluedecode))) /\ ((dst_positive_append_sourcelookup) + ge_balance_negative_append_sourcelookupvalue = (dst_negative_append_sourcelookup) + ge_balance_positive_append_sourcelookupvalue))))))))) -> ((((~((dm_index_append_source)=0)) /\ (exists dm_quotient_append_sourceentry. (((n)=(dm_index_append_source)*dm_quotient_append_sourceentry) /\ (exists dst_positive_code_append_sourceentryinput dst_positive_scale_append_sourceentryinput dst_negative_code_append_sourceentryinput dst_negative_scale_append_sourceentryinput dst_positive_append_sourceentryinput dst_negative_append_sourceentryinput. (((F) = (((((dst_positive_code_append_sourceentryinput) + (dst_positive_scale_append_sourceentryinput)) * S ((dst_positive_code_append_sourceentryinput) + (dst_positive_scale_append_sourceentryinput)) + ((dst_positive_scale_append_sourceentryinput) + (dst_positive_scale_append_sourceentryinput))) + (((dst_negative_code_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)) * S ((dst_negative_code_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)) + ((dst_negative_scale_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)))) * S ((((dst_positive_code_append_sourceentryinput) + (dst_positive_scale_append_sourceentryinput)) * S ((dst_positive_code_append_sourceentryinput) + (dst_positive_scale_append_sourceentryinput)) + ((dst_positive_scale_append_sourceentryinput) + (dst_positive_scale_append_sourceentryinput))) + (((dst_negative_code_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)) * S ((dst_negative_code_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)) + ((dst_negative_scale_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)))) + ((((dst_negative_code_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)) * S ((dst_negative_code_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)) + ((dst_negative_scale_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput))) + (((dst_negative_code_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)) * S ((dst_negative_code_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)) + ((dst_negative_scale_append_sourceentryinput) + (dst_negative_scale_append_sourceentryinput)))))) /\ (((((exists ff_h_pvs_append_sourceentryinputpositive. ff_h_pvs_append_sourceentryinputpositive + S (dst_positive_append_sourceentryinput) = S ((S (dm_index_append_source)) * dst_positive_scale_append_sourceentryinput)) /\ exists ff_q_pvs_append_sourceentryinputpositive. dst_positive_code_append_sourceentryinput = ff_q_pvs_append_sourceentryinputpositive * S ((S (dm_index_append_source)) * dst_positive_scale_append_sourceentryinput) + (dst_positive_append_sourceentryinput))) /\ (((((exists ff_h_pvs_append_sourceentryinputnegative. ff_h_pvs_append_sourceentryinputnegative + S (dst_negative_append_sourceentryinput) = S ((S (dm_index_append_source)) * dst_negative_scale_append_sourceentryinput)) /\ exists ff_q_pvs_append_sourceentryinputnegative. dst_negative_code_append_sourceentryinput = ff_q_pvs_append_sourceentryinputnegative * S ((S (dm_index_append_source)) * dst_negative_scale_append_sourceentryinput) + (dst_negative_append_sourceentryinput))) /\ (exists ge_balance_positive_append_sourceentryinputvalue ge_balance_negative_append_sourceentryinputvalue. (((((dm_value_append_source) = 2 * (ge_balance_positive_append_sourceentryinputvalue) /\ (ge_balance_negative_append_sourceentryinputvalue) = 0) \/ exists ge_signed_half_append_sourceentryinputvaluedecode. (((dm_value_append_source) = 2 * ge_signed_half_append_sourceentryinputvaluedecode + 1 /\ (ge_balance_positive_append_sourceentryinputvalue) = 0) /\ (ge_balance_negative_append_sourceentryinputvalue) = S ge_signed_half_append_sourceentryinputvaluedecode))) /\ ((dst_positive_append_sourceentryinput) + ge_balance_negative_append_sourceentryinputvalue = (dst_negative_append_sourceentryinput) + ge_balance_positive_append_sourceentryinputvalue))))))))))))) \/ ((((dm_index_append_source)=0 \/ ~(exists pvs_factor_append_sourceentrynondivisor. (n) = (dm_index_append_source) * pvs_factor_append_sourceentrynondivisor)) /\ ((dm_value_append_source)=0))))))) -> ((((~((S l)=0)) /\ (exists dm_quotient_append_last. (((n)=(S l)*dm_quotient_append_last) /\ (exists dst_positive_code_append_lastinput dst_positive_scale_append_lastinput dst_negative_code_append_lastinput dst_negative_scale_append_lastinput dst_positive_append_lastinput dst_negative_append_lastinput. (((F) = (((((dst_positive_code_append_lastinput) + (dst_positive_scale_append_lastinput)) * S ((dst_positive_code_append_lastinput) + (dst_positive_scale_append_lastinput)) + ((dst_positive_scale_append_lastinput) + (dst_positive_scale_append_lastinput))) + (((dst_negative_code_append_lastinput) + (dst_negative_scale_append_lastinput)) * S ((dst_negative_code_append_lastinput) + (dst_negative_scale_append_lastinput)) + ((dst_negative_scale_append_lastinput) + (dst_negative_scale_append_lastinput)))) * S ((((dst_positive_code_append_lastinput) + (dst_positive_scale_append_lastinput)) * S ((dst_positive_code_append_lastinput) + (dst_positive_scale_append_lastinput)) + ((dst_positive_scale_append_lastinput) + (dst_positive_scale_append_lastinput))) + (((dst_negative_code_append_lastinput) + (dst_negative_scale_append_lastinput)) * S ((dst_negative_code_append_lastinput) + (dst_negative_scale_append_lastinput)) + ((dst_negative_scale_append_lastinput) + (dst_negative_scale_append_lastinput)))) + ((((dst_negative_code_append_lastinput) + (dst_negative_scale_append_lastinput)) * S ((dst_negative_code_append_lastinput) + (dst_negative_scale_append_lastinput)) + ((dst_negative_scale_append_lastinput) + (dst_negative_scale_append_lastinput))) + (((dst_negative_code_append_lastinput) + (dst_negative_scale_append_lastinput)) * S ((dst_negative_code_append_lastinput) + (dst_negative_scale_append_lastinput)) + ((dst_negative_scale_append_lastinput) + (dst_negative_scale_append_lastinput)))))) /\ (((((exists ff_h_pvs_append_lastinputpositive. ff_h_pvs_append_lastinputpositive + S (dst_positive_append_lastinput) = S ((S (S l)) * dst_positive_scale_append_lastinput)) /\ exists ff_q_pvs_append_lastinputpositive. dst_positive_code_append_lastinput = ff_q_pvs_append_lastinputpositive * S ((S (S l)) * dst_positive_scale_append_lastinput) + (dst_positive_append_lastinput))) /\ (((((exists ff_h_pvs_append_lastinputnegative. ff_h_pvs_append_lastinputnegative + S (dst_negative_append_lastinput) = S ((S (S l)) * dst_negative_scale_append_lastinput)) /\ exists ff_q_pvs_append_lastinputnegative. dst_negative_code_append_lastinput = ff_q_pvs_append_lastinputnegative * S ((S (S l)) * dst_negative_scale_append_lastinput) + (dst_negative_append_lastinput))) /\ (exists ge_balance_positive_append_lastinputvalue ge_balance_negative_append_lastinputvalue. (((((z) = 2 * (ge_balance_positive_append_lastinputvalue) /\ (ge_balance_negative_append_lastinputvalue) = 0) \/ exists ge_signed_half_append_lastinputvaluedecode. (((z) = 2 * ge_signed_half_append_lastinputvaluedecode + 1 /\ (ge_balance_positive_append_lastinputvalue) = 0) /\ (ge_balance_negative_append_lastinputvalue) = S ge_signed_half_append_lastinputvaluedecode))) /\ ((dst_positive_append_lastinput) + ge_balance_negative_append_lastinputvalue = (dst_negative_append_lastinput) + ge_balance_positive_append_lastinputvalue))))))))))))) \/ ((((S l)=0 \/ ~(exists pvs_factor_append_lastnondivisor. (n) = (S l) * pvs_factor_append_lastnondivisor)) /\ ((z)=0)))) -> exists G. (((exists dst_positive_code_append_resulttable dst_positive_scale_append_resulttable dst_negative_code_append_resulttable dst_negative_scale_append_resulttable. (((G) = (((((dst_positive_code_append_resulttable) + (dst_positive_scale_append_resulttable)) * S ((dst_positive_code_append_resulttable) + (dst_positive_scale_append_resulttable)) + ((dst_positive_scale_append_resulttable) + (dst_positive_scale_append_resulttable))) + (((dst_negative_code_append_resulttable) + (dst_negative_scale_append_resulttable)) * S ((dst_negative_code_append_resulttable) + (dst_negative_scale_append_resulttable)) + ((dst_negative_scale_append_resulttable) + (dst_negative_scale_append_resulttable)))) * S ((((dst_positive_code_append_resulttable) + (dst_positive_scale_append_resulttable)) * S ((dst_positive_code_append_resulttable) + (dst_positive_scale_append_resulttable)) + ((dst_positive_scale_append_resulttable) + (dst_positive_scale_append_resulttable))) + (((dst_negative_code_append_resulttable) + (dst_negative_scale_append_resulttable)) * S ((dst_negative_code_append_resulttable) + (dst_negative_scale_append_resulttable)) + ((dst_negative_scale_append_resulttable) + (dst_negative_scale_append_resulttable)))) + ((((dst_negative_code_append_resulttable) + (dst_negative_scale_append_resulttable)) * S ((dst_negative_code_append_resulttable) + (dst_negative_scale_append_resulttable)) + ((dst_negative_scale_append_resulttable) + (dst_negative_scale_append_resulttable))) + (((dst_negative_code_append_resulttable) + (dst_negative_scale_append_resulttable)) * S ((dst_negative_code_append_resulttable) + (dst_negative_scale_append_resulttable)) + ((dst_negative_scale_append_resulttable) + (dst_negative_scale_append_resulttable)))))) /\ (forall dst_index_append_resulttable. (exists pvs_le_gap_append_resulttabledomain. pvs_le_gap_append_resulttabledomain + (dst_index_append_resulttable) = (S l)) -> exists dst_positive_append_resulttable dst_negative_append_resulttable dst_value_append_resulttable. ((((exists ff_h_pvs_append_resulttableentrypositive. ff_h_pvs_append_resulttableentrypositive + S (dst_positive_append_resulttable) = S ((S (dst_index_append_resulttable)) * dst_positive_scale_append_resulttable)) /\ exists ff_q_pvs_append_resulttableentrypositive. dst_positive_code_append_resulttable = ff_q_pvs_append_resulttableentrypositive * S ((S (dst_index_append_resulttable)) * dst_positive_scale_append_resulttable) + (dst_positive_append_resulttable))) /\ (((((exists ff_h_pvs_append_resulttableentrynegative. ff_h_pvs_append_resulttableentrynegative + S (dst_negative_append_resulttable) = S ((S (dst_index_append_resulttable)) * dst_negative_scale_append_resulttable)) /\ exists ff_q_pvs_append_resulttableentrynegative. dst_negative_code_append_resulttable = ff_q_pvs_append_resulttableentrynegative * S ((S (dst_index_append_resulttable)) * dst_negative_scale_append_resulttable) + (dst_negative_append_resulttable))) /\ (exists ge_balance_positive_append_resulttableentryvalue ge_balance_negative_append_resulttableentryvalue. (((((dst_value_append_resulttable) = 2 * (ge_balance_positive_append_resulttableentryvalue) /\ (ge_balance_negative_append_resulttableentryvalue) = 0) \/ exists ge_signed_half_append_resulttableentryvaluedecode. (((dst_value_append_resulttable) = 2 * ge_signed_half_append_resulttableentryvaluedecode + 1 /\ (ge_balance_positive_append_resulttableentryvalue) = 0) /\ (ge_balance_negative_append_resulttableentryvalue) = S ge_signed_half_append_resulttableentryvaluedecode))) /\ ((dst_positive_append_resulttable) + ge_balance_negative_append_resulttableentryvalue = (dst_negative_append_resulttable) + ge_balance_positive_append_resulttableentryvalue))))))))) /\ (forall dm_index_append_result dm_value_append_result. (exists pvs_le_gap_append_resultdomain. pvs_le_gap_append_resultdomain + (dm_index_append_result) = (S l)) -> (exists dst_positive_code_append_resultlookup dst_positive_scale_append_resultlookup dst_negative_code_append_resultlookup dst_negative_scale_append_resultlookup dst_positive_append_resultlookup dst_negative_append_resultlookup. (((G) = (((((dst_positive_code_append_resultlookup) + (dst_positive_scale_append_resultlookup)) * S ((dst_positive_code_append_resultlookup) + (dst_positive_scale_append_resultlookup)) + ((dst_positive_scale_append_resultlookup) + (dst_positive_scale_append_resultlookup))) + (((dst_negative_code_append_resultlookup) + (dst_negative_scale_append_resultlookup)) * S ((dst_negative_code_append_resultlookup) + (dst_negative_scale_append_resultlookup)) + ((dst_negative_scale_append_resultlookup) + (dst_negative_scale_append_resultlookup)))) * S ((((dst_positive_code_append_resultlookup) + (dst_positive_scale_append_resultlookup)) * S ((dst_positive_code_append_resultlookup) + (dst_positive_scale_append_resultlookup)) + ((dst_positive_scale_append_resultlookup) + (dst_positive_scale_append_resultlookup))) + (((dst_negative_code_append_resultlookup) + (dst_negative_scale_append_resultlookup)) * S ((dst_negative_code_append_resultlookup) + (dst_negative_scale_append_resultlookup)) + ((dst_negative_scale_append_resultlookup) + (dst_negative_scale_append_resultlookup)))) + ((((dst_negative_code_append_resultlookup) + (dst_negative_scale_append_resultlookup)) * S ((dst_negative_code_append_resultlookup) + (dst_negative_scale_append_resultlookup)) + ((dst_negative_scale_append_resultlookup) + (dst_negative_scale_append_resultlookup))) + (((dst_negative_code_append_resultlookup) + (dst_negative_scale_append_resultlookup)) * S ((dst_negative_code_append_resultlookup) + (dst_negative_scale_append_resultlookup)) + ((dst_negative_scale_append_resultlookup) + (dst_negative_scale_append_resultlookup)))))) /\ (((((exists ff_h_pvs_append_resultlookuppositive. ff_h_pvs_append_resultlookuppositive + S (dst_positive_append_resultlookup) = S ((S (dm_index_append_result)) * dst_positive_scale_append_resultlookup)) /\ exists ff_q_pvs_append_resultlookuppositive. dst_positive_code_append_resultlookup = ff_q_pvs_append_resultlookuppositive * S ((S (dm_index_append_result)) * dst_positive_scale_append_resultlookup) + (dst_positive_append_resultlookup))) /\ (((((exists ff_h_pvs_append_resultlookupnegative. ff_h_pvs_append_resultlookupnegative + S (dst_negative_append_resultlookup) = S ((S (dm_index_append_result)) * dst_negative_scale_append_resultlookup)) /\ exists ff_q_pvs_append_resultlookupnegative. dst_negative_code_append_resultlookup = ff_q_pvs_append_resultlookupnegative * S ((S (dm_index_append_result)) * dst_negative_scale_append_resultlookup) + (dst_negative_append_resultlookup))) /\ (exists ge_balance_positive_append_resultlookupvalue ge_balance_negative_append_resultlookupvalue. (((((dm_value_append_result) = 2 * (ge_balance_positive_append_resultlookupvalue) /\ (ge_balance_negative_append_resultlookupvalue) = 0) \/ exists ge_signed_half_append_resultlookupvaluedecode. (((dm_value_append_result) = 2 * ge_signed_half_append_resultlookupvaluedecode + 1 /\ (ge_balance_positive_append_resultlookupvalue) = 0) /\ (ge_balance_negative_append_resultlookupvalue) = S ge_signed_half_append_resultlookupvaluedecode))) /\ ((dst_positive_append_resultlookup) + ge_balance_negative_append_resultlookupvalue = (dst_negative_append_resultlookup) + ge_balance_positive_append_resultlookupvalue))))))))) -> ((((~((dm_index_append_result)=0)) /\ (exists dm_quotient_append_resultentry. (((n)=(dm_index_append_result)*dm_quotient_append_resultentry) /\ (exists dst_positive_code_append_resultentryinput dst_positive_scale_append_resultentryinput dst_negative_code_append_resultentryinput dst_negative_scale_append_resultentryinput dst_positive_append_resultentryinput dst_negative_append_resultentryinput. (((F) = (((((dst_positive_code_append_resultentryinput) + (dst_positive_scale_append_resultentryinput)) * S ((dst_positive_code_append_resultentryinput) + (dst_positive_scale_append_resultentryinput)) + ((dst_positive_scale_append_resultentryinput) + (dst_positive_scale_append_resultentryinput))) + (((dst_negative_code_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)) * S ((dst_negative_code_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)) + ((dst_negative_scale_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)))) * S ((((dst_positive_code_append_resultentryinput) + (dst_positive_scale_append_resultentryinput)) * S ((dst_positive_code_append_resultentryinput) + (dst_positive_scale_append_resultentryinput)) + ((dst_positive_scale_append_resultentryinput) + (dst_positive_scale_append_resultentryinput))) + (((dst_negative_code_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)) * S ((dst_negative_code_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)) + ((dst_negative_scale_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)))) + ((((dst_negative_code_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)) * S ((dst_negative_code_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)) + ((dst_negative_scale_append_resultentryinput) + (dst_negative_scale_append_resultentryinput))) + (((dst_negative_code_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)) * S ((dst_negative_code_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)) + ((dst_negative_scale_append_resultentryinput) + (dst_negative_scale_append_resultentryinput)))))) /\ (((((exists ff_h_pvs_append_resultentryinputpositive. ff_h_pvs_append_resultentryinputpositive + S (dst_positive_append_resultentryinput) = S ((S (dm_index_append_result)) * dst_positive_scale_append_resultentryinput)) /\ exists ff_q_pvs_append_resultentryinputpositive. dst_positive_code_append_resultentryinput = ff_q_pvs_append_resultentryinputpositive * S ((S (dm_index_append_result)) * dst_positive_scale_append_resultentryinput) + (dst_positive_append_resultentryinput))) /\ (((((exists ff_h_pvs_append_resultentryinputnegative. ff_h_pvs_append_resultentryinputnegative + S (dst_negative_append_resultentryinput) = S ((S (dm_index_append_result)) * dst_negative_scale_append_resultentryinput)) /\ exists ff_q_pvs_append_resultentryinputnegative. dst_negative_code_append_resultentryinput = ff_q_pvs_append_resultentryinputnegative * S ((S (dm_index_append_result)) * dst_negative_scale_append_resultentryinput) + (dst_negative_append_resultentryinput))) /\ (exists ge_balance_positive_append_resultentryinputvalue ge_balance_negative_append_resultentryinputvalue. (((((dm_value_append_result) = 2 * (ge_balance_positive_append_resultentryinputvalue) /\ (ge_balance_negative_append_resultentryinputvalue) = 0) \/ exists ge_signed_half_append_resultentryinputvaluedecode. (((dm_value_append_result) = 2 * ge_signed_half_append_resultentryinputvaluedecode + 1 /\ (ge_balance_positive_append_resultentryinputvalue) = 0) /\ (ge_balance_negative_append_resultentryinputvalue) = S ge_signed_half_append_resultentryinputvaluedecode))) /\ ((dst_positive_append_resultentryinput) + ge_balance_negative_append_resultentryinputvalue = (dst_negative_append_resultentryinput) + ge_balance_positive_append_resultentryinputvalue))))))))))))) \/ ((((dm_index_append_result)=0 \/ ~(exists pvs_factor_append_resultentrynondivisor. (n) = (dm_index_append_result) * pvs_factor_append_resultentrynondivisor)) /\ ((dm_value_append_result)=0))))))) /\ (forall dst_index_append_equal dst_first_append_equal dst_second_append_equal. (exists pvs_gap_append_equalbound. pvs_gap_append_equalbound + S (dst_index_append_equal) = (S l)) -> (exists dst_positive_code_append_equalfirst dst_positive_scale_append_equalfirst dst_negative_code_append_equalfirst dst_negative_scale_append_equalfirst dst_positive_append_equalfirst dst_negative_append_equalfirst. (((M) = (((((dst_positive_code_append_equalfirst) + (dst_positive_scale_append_equalfirst)) * S ((dst_positive_code_append_equalfirst) + (dst_positive_scale_append_equalfirst)) + ((dst_positive_scale_append_equalfirst) + (dst_positive_scale_append_equalfirst))) + (((dst_negative_code_append_equalfirst) + (dst_negative_scale_append_equalfirst)) * S ((dst_negative_code_append_equalfirst) + (dst_negative_scale_append_equalfirst)) + ((dst_negative_scale_append_equalfirst) + (dst_negative_scale_append_equalfirst)))) * S ((((dst_positive_code_append_equalfirst) + (dst_positive_scale_append_equalfirst)) * S ((dst_positive_code_append_equalfirst) + (dst_positive_scale_append_equalfirst)) + ((dst_positive_scale_append_equalfirst) + (dst_positive_scale_append_equalfirst))) + (((dst_negative_code_append_equalfirst) + (dst_negative_scale_append_equalfirst)) * S ((dst_negative_code_append_equalfirst) + (dst_negative_scale_append_equalfirst)) + ((dst_negative_scale_append_equalfirst) + (dst_negative_scale_append_equalfirst)))) + ((((dst_negative_code_append_equalfirst) + (dst_negative_scale_append_equalfirst)) * S ((dst_negative_code_append_equalfirst) + (dst_negative_scale_append_equalfirst)) + ((dst_negative_scale_append_equalfirst) + (dst_negative_scale_append_equalfirst))) + (((dst_negative_code_append_equalfirst) + (dst_negative_scale_append_equalfirst)) * S ((dst_negative_code_append_equalfirst) + (dst_negative_scale_append_equalfirst)) + ((dst_negative_scale_append_equalfirst) + (dst_negative_scale_append_equalfirst)))))) /\ (((((exists ff_h_pvs_append_equalfirstpositive. ff_h_pvs_append_equalfirstpositive + S (dst_positive_append_equalfirst) = S ((S (dst_index_append_equal)) * dst_positive_scale_append_equalfirst)) /\ exists ff_q_pvs_append_equalfirstpositive. dst_positive_code_append_equalfirst = ff_q_pvs_append_equalfirstpositive * S ((S (dst_index_append_equal)) * dst_positive_scale_append_equalfirst) + (dst_positive_append_equalfirst))) /\ (((((exists ff_h_pvs_append_equalfirstnegative. ff_h_pvs_append_equalfirstnegative + S (dst_negative_append_equalfirst) = S ((S (dst_index_append_equal)) * dst_negative_scale_append_equalfirst)) /\ exists ff_q_pvs_append_equalfirstnegative. dst_negative_code_append_equalfirst = ff_q_pvs_append_equalfirstnegative * S ((S (dst_index_append_equal)) * dst_negative_scale_append_equalfirst) + (dst_negative_append_equalfirst))) /\ (exists ge_balance_positive_append_equalfirstvalue ge_balance_negative_append_equalfirstvalue. (((((dst_first_append_equal) = 2 * (ge_balance_positive_append_equalfirstvalue) /\ (ge_balance_negative_append_equalfirstvalue) = 0) \/ exists ge_signed_half_append_equalfirstvaluedecode. (((dst_first_append_equal) = 2 * ge_signed_half_append_equalfirstvaluedecode + 1 /\ (ge_balance_positive_append_equalfirstvalue) = 0) /\ (ge_balance_negative_append_equalfirstvalue) = S ge_signed_half_append_equalfirstvaluedecode))) /\ ((dst_positive_append_equalfirst) + ge_balance_negative_append_equalfirstvalue = (dst_negative_append_equalfirst) + ge_balance_positive_append_equalfirstvalue))))))))) -> (exists dst_positive_code_append_equalsecond dst_positive_scale_append_equalsecond dst_negative_code_append_equalsecond dst_negative_scale_append_equalsecond dst_positive_append_equalsecond dst_negative_append_equalsecond. (((G) = (((((dst_positive_code_append_equalsecond) + (dst_positive_scale_append_equalsecond)) * S ((dst_positive_code_append_equalsecond) + (dst_positive_scale_append_equalsecond)) + ((dst_positive_scale_append_equalsecond) + (dst_positive_scale_append_equalsecond))) + (((dst_negative_code_append_equalsecond) + (dst_negative_scale_append_equalsecond)) * S ((dst_negative_code_append_equalsecond) + (dst_negative_scale_append_equalsecond)) + ((dst_negative_scale_append_equalsecond) + (dst_negative_scale_append_equalsecond)))) * S ((((dst_positive_code_append_equalsecond) + (dst_positive_scale_append_equalsecond)) * S ((dst_positive_code_append_equalsecond) + (dst_positive_scale_append_equalsecond)) + ((dst_positive_scale_append_equalsecond) + (dst_positive_scale_append_equalsecond))) + (((dst_negative_code_append_equalsecond) + (dst_negative_scale_append_equalsecond)) * S ((dst_negative_code_append_equalsecond) + (dst_negative_scale_append_equalsecond)) + ((dst_negative_scale_append_equalsecond) + (dst_negative_scale_append_equalsecond)))) + ((((dst_negative_code_append_equalsecond) + (dst_negative_scale_append_equalsecond)) * S ((dst_negative_code_append_equalsecond) + (dst_negative_scale_append_equalsecond)) + ((dst_negative_scale_append_equalsecond) + (dst_negative_scale_append_equalsecond))) + (((dst_negative_code_append_equalsecond) + (dst_negative_scale_append_equalsecond)) * S ((dst_negative_code_append_equalsecond) + (dst_negative_scale_append_equalsecond)) + ((dst_negative_scale_append_equalsecond) + (dst_negative_scale_append_equalsecond)))))) /\ (((((exists ff_h_pvs_append_equalsecondpositive. ff_h_pvs_append_equalsecondpositive + S (dst_positive_append_equalsecond) = S ((S (dst_index_append_equal)) * dst_positive_scale_append_equalsecond)) /\ exists ff_q_pvs_append_equalsecondpositive. dst_positive_code_append_equalsecond = ff_q_pvs_append_equalsecondpositive * S ((S (dst_index_append_equal)) * dst_positive_scale_append_equalsecond) + (dst_positive_append_equalsecond))) /\ (((((exists ff_h_pvs_append_equalsecondnegative. ff_h_pvs_append_equalsecondnegative + S (dst_negative_append_equalsecond) = S ((S (dst_index_append_equal)) * dst_negative_scale_append_equalsecond)) /\ exists ff_q_pvs_append_equalsecondnegative. dst_negative_code_append_equalsecond = ff_q_pvs_append_equalsecondnegative * S ((S (dst_index_append_equal)) * dst_negative_scale_append_equalsecond) + (dst_negative_append_equalsecond))) /\ (exists ge_balance_positive_append_equalsecondvalue ge_balance_negative_append_equalsecondvalue. (((((dst_second_append_equal) = 2 * (ge_balance_positive_append_equalsecondvalue) /\ (ge_balance_negative_append_equalsecondvalue) = 0) \/ exists ge_signed_half_append_equalsecondvaluedecode. (((dst_second_append_equal) = 2 * ge_signed_half_append_equalsecondvaluedecode + 1 /\ (ge_balance_positive_append_equalsecondvalue) = 0) /\ (ge_balance_negative_append_equalsecondvalue) = S ge_signed_half_append_equalsecondvaluedecode))) /\ ((dst_positive_append_equalsecond) + ge_balance_negative_append_equalsecondvalue = (dst_negative_append_equalsecond) + ge_balance_positive_append_equalsecondvalue))))))))) -> dst_first_append_equal = dst_second_append_equal)Constructive proof overview
Generated structural guide
Append one actually decided divisor-mask value while preserving the whole previous signed prefix.
The unchanged tactic script uses 5 declared prerequisites and contains 84 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
DV0004 arithmetic_signed_table_append le_eq_or_lt Stable theorem; checked-use authorized le_of_succ_le_succ Stable theorem; checked-use authorized divisor_signed_table_at_functional Alpha theorem; checked-use authorized divisor_signed_table_lookup Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (1)
01Fix variables and assumptionsL1–7
02Separate the logical casesL8–8
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L8
cases hm
03Establish hextL9–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed table append.
04Separate the logical casesL15–17
05Construct an explicit witnessL18–18
Supply the displayed value, then prove that it has the required property.
- L18
exists x
06Separate the logical casesL19–20
07Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact hext_witness_left
08Fix variables and assumptionsL22–25
09Establish hcL26–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
10Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases hc
11Calculate and transport equalitiesL32–35
12Establish heqL36–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table at functional.
- L36
have heq : z=u - L37
specialize divisor_signed_table_at_functional (x) - L38
specialize divisor_signed_table_at_functional (S l) - L39
specialize divisor_signed_table_at_functional (z) - L40
specialize divisor_signed_table_at_functional (u) - L41
apply divisor_signed_table_at_functional - L42
exact hext_witness_right_right - L43
exact hu - L44
rewrite heq at hz - L45
rewrite heq at hz
13Calculate and transport equalitiesL46–54
14Use earlier factsL55–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
exact hz
15Establish hboundL56–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.
16Establish hvL61–67
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup.
17Separate the logical casesL68–68
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L68
cases hv
18Establish heqL69–78
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hext witness right left.
Original exact command ledger · 84 lines
- 0001
intro F - 0002
intro n - 0003
intro l - 0004
intro M - 0005
intro z - 0006
intro hm - 0007
intro hz - 0008
cases hm - 0009
have hext : exists G. (((exists dst_positive_code_append_constructtable dst_positive_scale_append_constructtable dst_negative_code_append_constructtable dst_negative_scale_append_constructtable. (((G) = (((((dst_positive_code_append_constructtable) + (dst_positive_scale_append_constructtable)) * S ((dst_positive_code_append_constructtable) + (dst_positive_scale_append_constructtable)) + ((dst_positive_scale_append_constructtable) + (dst_positive_scale_append_constructtable))) + (((dst_negative_code_append_constructtable) + (dst_negative_scale_append_constructtable)) * S ((dst_negative_code_append_constructtable) + (dst_negative_scale_append_constructtable)) + ((dst_negative_scale_append_constructtable) + (dst_negative_scale_append_constructtable)))) * S ((((dst_positive_code_append_constructtable) + (dst_positive_scale_append_constructtable)) * S ((dst_positive_code_append_constructtable) + (dst_positive_scale_append_constructtable)) + ((dst_positive_scale_append_constructtable) + (dst_positive_scale_append_constructtable))) + (((dst_negative_code_append_constructtable) + (dst_negative_scale_append_constructtable)) * S ((dst_negative_code_append_constructtable) + (dst_negative_scale_append_constructtable)) + ((dst_negative_scale_append_constructtable) + (dst_negative_scale_append_constructtable)))) + ((((dst_negative_code_append_constructtable) + (dst_negative_scale_append_constructtable)) * S ((dst_negative_code_append_constructtable) + (dst_negative_scale_append_constructtable)) + ((dst_negative_scale_append_constructtable) + (dst_negative_scale_append_constructtable))) + (((dst_negative_code_append_constructtable) + (dst_negative_scale_append_constructtable)) * S ((dst_negative_code_append_constructtable) + (dst_negative_scale_append_constructtable)) + ((dst_negative_scale_append_constructtable) + (dst_negative_scale_append_constructtable)))))) /\ (forall dst_index_append_constructtable. (exists pvs_le_gap_append_constructtabledomain. pvs_le_gap_append_constructtabledomain + (dst_index_append_constructtable) = (S l)) -> exists dst_positive_append_constructtable dst_negative_append_constructtable dst_value_append_constructtable. ((((exists ff_h_pvs_append_constructtableentrypositive. ff_h_pvs_append_constructtableentrypositive + S (dst_positive_append_constructtable) = S ((S (dst_index_append_constructtable)) * dst_positive_scale_append_constructtable)) /\ exists ff_q_pvs_append_constructtableentrypositive. dst_positive_code_append_constructtable = ff_q_pvs_append_constructtableentrypositive * S ((S (dst_index_append_constructtable)) * dst_positive_scale_append_constructtable) + (dst_positive_append_constructtable))) /\ (((((exists ff_h_pvs_append_constructtableentrynegative. ff_h_pvs_append_constructtableentrynegative + S (dst_negative_append_constructtable) = S ((S (dst_index_append_constructtable)) * dst_negative_scale_append_constructtable)) /\ exists ff_q_pvs_append_constructtableentrynegative. dst_negative_code_append_constructtable = ff_q_pvs_append_constructtableentrynegative * S ((S (dst_index_append_constructtable)) * dst_negative_scale_append_constructtable) + (dst_negative_append_constructtable))) /\ (exists ge_balance_positive_append_constructtableentryvalue ge_balance_negative_append_constructtableentryvalue. (((((dst_value_append_constructtable) = 2 * (ge_balance_positive_append_constructtableentryvalue) /\ (ge_balance_negative_append_constructtableentryvalue) = 0) \/ exists ge_signed_half_append_constructtableentryvaluedecode. (((dst_value_append_constructtable) = 2 * ge_signed_half_append_constructtableentryvaluedecode + 1 /\ (ge_balance_positive_append_constructtableentryvalue) = 0) /\ (ge_balance_negative_append_constructtableentryvalue) = S ge_signed_half_append_constructtableentryvaluedecode))) /\ ((dst_positive_append_constructtable) + ge_balance_negative_append_constructtableentryvalue = (dst_negative_append_constructtable) + ge_balance_positive_append_constructtableentryvalue))))))))) /\ (((forall dst_index_append_constructprefix dst_first_append_constructprefix dst_second_append_constructprefix. (exists pvs_gap_append_constructprefixbound. pvs_gap_append_constructprefixbound + S (dst_index_append_constructprefix) = (S l)) -> (exists dst_positive_code_append_constructprefixfirst dst_positive_scale_append_constructprefixfirst dst_negative_code_append_constructprefixfirst dst_negative_scale_append_constructprefixfirst dst_positive_append_constructprefixfirst dst_negative_append_constructprefixfirst. (((M) = (((((dst_positive_code_append_constructprefixfirst) + (dst_positive_scale_append_constructprefixfirst)) * S ((dst_positive_code_append_constructprefixfirst) + (dst_positive_scale_append_constructprefixfirst)) + ((dst_positive_scale_append_constructprefixfirst) + (dst_positive_scale_append_constructprefixfirst))) + (((dst_negative_code_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)) * S ((dst_negative_code_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)) + ((dst_negative_scale_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)))) * S ((((dst_positive_code_append_constructprefixfirst) + (dst_positive_scale_append_constructprefixfirst)) * S ((dst_positive_code_append_constructprefixfirst) + (dst_positive_scale_append_constructprefixfirst)) + ((dst_positive_scale_append_constructprefixfirst) + (dst_positive_scale_append_constructprefixfirst))) + (((dst_negative_code_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)) * S ((dst_negative_code_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)) + ((dst_negative_scale_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)))) + ((((dst_negative_code_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)) * S ((dst_negative_code_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)) + ((dst_negative_scale_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst))) + (((dst_negative_code_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)) * S ((dst_negative_code_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)) + ((dst_negative_scale_append_constructprefixfirst) + (dst_negative_scale_append_constructprefixfirst)))))) /\ (((((exists ff_h_pvs_append_constructprefixfirstpositive. ff_h_pvs_append_constructprefixfirstpositive + S (dst_positive_append_constructprefixfirst) = S ((S (dst_index_append_constructprefix)) * dst_positive_scale_append_constructprefixfirst)) /\ exists ff_q_pvs_append_constructprefixfirstpositive. dst_positive_code_append_constructprefixfirst = ff_q_pvs_append_constructprefixfirstpositive * S ((S (dst_index_append_constructprefix)) * dst_positive_scale_append_constructprefixfirst) + (dst_positive_append_constructprefixfirst))) /\ (((((exists ff_h_pvs_append_constructprefixfirstnegative. ff_h_pvs_append_constructprefixfirstnegative + S (dst_negative_append_constructprefixfirst) = S ((S (dst_index_append_constructprefix)) * dst_negative_scale_append_constructprefixfirst)) /\ exists ff_q_pvs_append_constructprefixfirstnegative. dst_negative_code_append_constructprefixfirst = ff_q_pvs_append_constructprefixfirstnegative * S ((S (dst_index_append_constructprefix)) * dst_negative_scale_append_constructprefixfirst) + (dst_negative_append_constructprefixfirst))) /\ (exists ge_balance_positive_append_constructprefixfirstvalue ge_balance_negative_append_constructprefixfirstvalue. (((((dst_first_append_constructprefix) = 2 * (ge_balance_positive_append_constructprefixfirstvalue) /\ (ge_balance_negative_append_constructprefixfirstvalue) = 0) \/ exists ge_signed_half_append_constructprefixfirstvaluedecode. (((dst_first_append_constructprefix) = 2 * ge_signed_half_append_constructprefixfirstvaluedecode + 1 /\ (ge_balance_positive_append_constructprefixfirstvalue) = 0) /\ (ge_balance_negative_append_constructprefixfirstvalue) = S ge_signed_half_append_constructprefixfirstvaluedecode))) /\ ((dst_positive_append_constructprefixfirst) + ge_balance_negative_append_constructprefixfirstvalue = (dst_negative_append_constructprefixfirst) + ge_balance_positive_append_constructprefixfirstvalue))))))))) -> (exists dst_positive_code_append_constructprefixsecond dst_positive_scale_append_constructprefixsecond dst_negative_code_append_constructprefixsecond dst_negative_scale_append_constructprefixsecond dst_positive_append_constructprefixsecond dst_negative_append_constructprefixsecond. (((G) = (((((dst_positive_code_append_constructprefixsecond) + (dst_positive_scale_append_constructprefixsecond)) * S ((dst_positive_code_append_constructprefixsecond) + (dst_positive_scale_append_constructprefixsecond)) + ((dst_positive_scale_append_constructprefixsecond) + (dst_positive_scale_append_constructprefixsecond))) + (((dst_negative_code_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)) * S ((dst_negative_code_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)) + ((dst_negative_scale_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)))) * S ((((dst_positive_code_append_constructprefixsecond) + (dst_positive_scale_append_constructprefixsecond)) * S ((dst_positive_code_append_constructprefixsecond) + (dst_positive_scale_append_constructprefixsecond)) + ((dst_positive_scale_append_constructprefixsecond) + (dst_positive_scale_append_constructprefixsecond))) + (((dst_negative_code_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)) * S ((dst_negative_code_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)) + ((dst_negative_scale_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)))) + ((((dst_negative_code_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)) * S ((dst_negative_code_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)) + ((dst_negative_scale_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond))) + (((dst_negative_code_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)) * S ((dst_negative_code_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)) + ((dst_negative_scale_append_constructprefixsecond) + (dst_negative_scale_append_constructprefixsecond)))))) /\ (((((exists ff_h_pvs_append_constructprefixsecondpositive. ff_h_pvs_append_constructprefixsecondpositive + S (dst_positive_append_constructprefixsecond) = S ((S (dst_index_append_constructprefix)) * dst_positive_scale_append_constructprefixsecond)) /\ exists ff_q_pvs_append_constructprefixsecondpositive. dst_positive_code_append_constructprefixsecond = ff_q_pvs_append_constructprefixsecondpositive * S ((S (dst_index_append_constructprefix)) * dst_positive_scale_append_constructprefixsecond) + (dst_positive_append_constructprefixsecond))) /\ (((((exists ff_h_pvs_append_constructprefixsecondnegative. ff_h_pvs_append_constructprefixsecondnegative + S (dst_negative_append_constructprefixsecond) = S ((S (dst_index_append_constructprefix)) * dst_negative_scale_append_constructprefixsecond)) /\ exists ff_q_pvs_append_constructprefixsecondnegative. dst_negative_code_append_constructprefixsecond = ff_q_pvs_append_constructprefixsecondnegative * S ((S (dst_index_append_constructprefix)) * dst_negative_scale_append_constructprefixsecond) + (dst_negative_append_constructprefixsecond))) /\ (exists ge_balance_positive_append_constructprefixsecondvalue ge_balance_negative_append_constructprefixsecondvalue. (((((dst_second_append_constructprefix) = 2 * (ge_balance_positive_append_constructprefixsecondvalue) /\ (ge_balance_negative_append_constructprefixsecondvalue) = 0) \/ exists ge_signed_half_append_constructprefixsecondvaluedecode. (((dst_second_append_constructprefix) = 2 * ge_signed_half_append_constructprefixsecondvaluedecode + 1 /\ (ge_balance_positive_append_constructprefixsecondvalue) = 0) /\ (ge_balance_negative_append_constructprefixsecondvalue) = S ge_signed_half_append_constructprefixsecondvaluedecode))) /\ ((dst_positive_append_constructprefixsecond) + ge_balance_negative_append_constructprefixsecondvalue = (dst_negative_append_constructprefixsecond) + ge_balance_positive_append_constructprefixsecondvalue))))))))) -> dst_first_append_constructprefix = dst_second_append_constructprefix) /\ (exists dst_positive_code_append_constructlast dst_positive_scale_append_constructlast dst_negative_code_append_constructlast dst_negative_scale_append_constructlast dst_positive_append_constructlast dst_negative_append_constructlast. (((G) = (((((dst_positive_code_append_constructlast) + (dst_positive_scale_append_constructlast)) * S ((dst_positive_code_append_constructlast) + (dst_positive_scale_append_constructlast)) + ((dst_positive_scale_append_constructlast) + (dst_positive_scale_append_constructlast))) + (((dst_negative_code_append_constructlast) + (dst_negative_scale_append_constructlast)) * S ((dst_negative_code_append_constructlast) + (dst_negative_scale_append_constructlast)) + ((dst_negative_scale_append_constructlast) + (dst_negative_scale_append_constructlast)))) * S ((((dst_positive_code_append_constructlast) + (dst_positive_scale_append_constructlast)) * S ((dst_positive_code_append_constructlast) + (dst_positive_scale_append_constructlast)) + ((dst_positive_scale_append_constructlast) + (dst_positive_scale_append_constructlast))) + (((dst_negative_code_append_constructlast) + (dst_negative_scale_append_constructlast)) * S ((dst_negative_code_append_constructlast) + (dst_negative_scale_append_constructlast)) + ((dst_negative_scale_append_constructlast) + (dst_negative_scale_append_constructlast)))) + ((((dst_negative_code_append_constructlast) + (dst_negative_scale_append_constructlast)) * S ((dst_negative_code_append_constructlast) + (dst_negative_scale_append_constructlast)) + ((dst_negative_scale_append_constructlast) + (dst_negative_scale_append_constructlast))) + (((dst_negative_code_append_constructlast) + (dst_negative_scale_append_constructlast)) * S ((dst_negative_code_append_constructlast) + (dst_negative_scale_append_constructlast)) + ((dst_negative_scale_append_constructlast) + (dst_negative_scale_append_constructlast)))))) /\ (((((exists ff_h_pvs_append_constructlastpositive. ff_h_pvs_append_constructlastpositive + S (dst_positive_append_constructlast) = S ((S (S l)) * dst_positive_scale_append_constructlast)) /\ exists ff_q_pvs_append_constructlastpositive. dst_positive_code_append_constructlast = ff_q_pvs_append_constructlastpositive * S ((S (S l)) * dst_positive_scale_append_constructlast) + (dst_positive_append_constructlast))) /\ (((((exists ff_h_pvs_append_constructlastnegative. ff_h_pvs_append_constructlastnegative + S (dst_negative_append_constructlast) = S ((S (S l)) * dst_negative_scale_append_constructlast)) /\ exists ff_q_pvs_append_constructlastnegative. dst_negative_code_append_constructlast = ff_q_pvs_append_constructlastnegative * S ((S (S l)) * dst_negative_scale_append_constructlast) + (dst_negative_append_constructlast))) /\ (exists ge_balance_positive_append_constructlastvalue ge_balance_negative_append_constructlastvalue. (((((z) = 2 * (ge_balance_positive_append_constructlastvalue) /\ (ge_balance_negative_append_constructlastvalue) = 0) \/ exists ge_signed_half_append_constructlastvaluedecode. (((z) = 2 * ge_signed_half_append_constructlastvaluedecode + 1 /\ (ge_balance_positive_append_constructlastvalue) = 0) /\ (ge_balance_negative_append_constructlastvalue) = S ge_signed_half_append_constructlastvaluedecode))) /\ ((dst_positive_append_constructlast) + ge_balance_negative_append_constructlastvalue = (dst_negative_append_constructlast) + ge_balance_positive_append_constructlastvalue))))))))))))) - 0010
specialize arithmetic_signed_table_append (l) - 0011
specialize arithmetic_signed_table_append (M) - 0012
specialize arithmetic_signed_table_append (z) - 0013
apply arithmetic_signed_table_append - 0014
exact hm_left - 0015
cases hext - 0016
cases hext_witness - 0017
cases hext_witness_right - 0018
exists x - 0019
split - 0020
split - 0021
exact hext_witness_left - 0022
intro d - 0023
intro u - 0024
intro hd - 0025
intro hu - 0026
have hc : d=S l \/ (exists pvs_gap_append_cases. pvs_gap_append_cases + S (d) = (S l)) - 0027
specialize le_eq_or_lt (d) - 0028
specialize le_eq_or_lt (S l) - 0029
apply le_eq_or_lt - 0030
exact hd - 0031
cases hc - 0032
rewrite hc_left at hu - 0033
rewrite hc_left at hu - 0034
rewrite hc_left at hu - 0035
rewrite hc_left at hu - 0036
have heq : z=u - 0037
specialize divisor_signed_table_at_functional (x) - 0038
specialize divisor_signed_table_at_functional (S l) - 0039
specialize divisor_signed_table_at_functional (z) - 0040
specialize divisor_signed_table_at_functional (u) - 0041
apply divisor_signed_table_at_functional - 0042
exact hext_witness_right_right - 0043
exact hu - 0044
rewrite heq at hz - 0045
rewrite heq at hz - 0046
rewrite heq at hz - 0047
rewrite hc_left - 0048
rewrite hc_left - 0049
rewrite hc_left - 0050
rewrite hc_left - 0051
rewrite hc_left - 0052
rewrite hc_left - 0053
rewrite hc_left - 0054
rewrite hc_left - 0055
exact hz - 0056
have hbound : exists pvs_le_gap_append_previous_bound. pvs_le_gap_append_previous_bound + (d) = (l) - 0057
specialize le_of_succ_le_succ (d) - 0058
specialize le_of_succ_le_succ (l) - 0059
apply le_of_succ_le_succ - 0060
exact hc_right - 0061
have hv : exists v. (exists dst_positive_code_append_previous_lookup dst_positive_scale_append_previous_lookup dst_negative_code_append_previous_lookup dst_negative_scale_append_previous_lookup dst_positive_append_previous_lookup dst_negative_append_previous_lookup. (((M) = (((((dst_positive_code_append_previous_lookup) + (dst_positive_scale_append_previous_lookup)) * S ((dst_positive_code_append_previous_lookup) + (dst_positive_scale_append_previous_lookup)) + ((dst_positive_scale_append_previous_lookup) + (dst_positive_scale_append_previous_lookup))) + (((dst_negative_code_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)) * S ((dst_negative_code_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)) + ((dst_negative_scale_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)))) * S ((((dst_positive_code_append_previous_lookup) + (dst_positive_scale_append_previous_lookup)) * S ((dst_positive_code_append_previous_lookup) + (dst_positive_scale_append_previous_lookup)) + ((dst_positive_scale_append_previous_lookup) + (dst_positive_scale_append_previous_lookup))) + (((dst_negative_code_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)) * S ((dst_negative_code_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)) + ((dst_negative_scale_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)))) + ((((dst_negative_code_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)) * S ((dst_negative_code_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)) + ((dst_negative_scale_append_previous_lookup) + (dst_negative_scale_append_previous_lookup))) + (((dst_negative_code_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)) * S ((dst_negative_code_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)) + ((dst_negative_scale_append_previous_lookup) + (dst_negative_scale_append_previous_lookup)))))) /\ (((((exists ff_h_pvs_append_previous_lookuppositive. ff_h_pvs_append_previous_lookuppositive + S (dst_positive_append_previous_lookup) = S ((S (d)) * dst_positive_scale_append_previous_lookup)) /\ exists ff_q_pvs_append_previous_lookuppositive. dst_positive_code_append_previous_lookup = ff_q_pvs_append_previous_lookuppositive * S ((S (d)) * dst_positive_scale_append_previous_lookup) + (dst_positive_append_previous_lookup))) /\ (((((exists ff_h_pvs_append_previous_lookupnegative. ff_h_pvs_append_previous_lookupnegative + S (dst_negative_append_previous_lookup) = S ((S (d)) * dst_negative_scale_append_previous_lookup)) /\ exists ff_q_pvs_append_previous_lookupnegative. dst_negative_code_append_previous_lookup = ff_q_pvs_append_previous_lookupnegative * S ((S (d)) * dst_negative_scale_append_previous_lookup) + (dst_negative_append_previous_lookup))) /\ (exists ge_balance_positive_append_previous_lookupvalue ge_balance_negative_append_previous_lookupvalue. (((((v) = 2 * (ge_balance_positive_append_previous_lookupvalue) /\ (ge_balance_negative_append_previous_lookupvalue) = 0) \/ exists ge_signed_half_append_previous_lookupvaluedecode. (((v) = 2 * ge_signed_half_append_previous_lookupvaluedecode + 1 /\ (ge_balance_positive_append_previous_lookupvalue) = 0) /\ (ge_balance_negative_append_previous_lookupvalue) = S ge_signed_half_append_previous_lookupvaluedecode))) /\ ((dst_positive_append_previous_lookup) + ge_balance_negative_append_previous_lookupvalue = (dst_negative_append_previous_lookup) + ge_balance_positive_append_previous_lookupvalue))))))))) - 0062
specialize divisor_signed_table_lookup (l) - 0063
specialize divisor_signed_table_lookup (M) - 0064
specialize divisor_signed_table_lookup (d) - 0065
apply divisor_signed_table_lookup - 0066
exact hm_left - 0067
exact hbound - 0068
cases hv - 0069
have heq : x1=u - 0070
specialize hext_witness_right_left (d) - 0071
specialize hext_witness_right_left (x1) - 0072
specialize hext_witness_right_left (u) - 0073
apply hext_witness_right_left - 0074
exact hc_right - 0075
exact hv_witness - 0076
exact hu - 0077
rewrite heq at hv_witness - 0078
rewrite heq at hv_witness - 0079
specialize hm_right (d) - 0080
specialize hm_right (u) - 0081
apply hm_right - 0082
exact hbound - 0083
exact hv_witness - 0084
exact hext_witness_right_left