DC001A

dirichlet_convolution_table_exists

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

Finite induction constructs an actual convolution table at every positive index through N, including a genuine table witness when N is zero.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

Exact expanded first-order arithmetic statement

forall N F G. (exists dst_positive_code_table_exists_left dst_positive_scale_table_exists_left dst_negative_code_table_exists_left dst_negative_scale_table_exists_left. (((F) = (((((dst_positive_code_table_exists_left) + (dst_positive_scale_table_exists_left)) * S ((dst_positive_code_table_exists_left) + (dst_positive_scale_table_exists_left)) + ((dst_positive_scale_table_exists_left) + (dst_positive_scale_table_exists_left))) + (((dst_negative_code_table_exists_left) + (dst_negative_scale_table_exists_left)) * S ((dst_negative_code_table_exists_left) + (dst_negative_scale_table_exists_left)) + ((dst_negative_scale_table_exists_left) + (dst_negative_scale_table_exists_left)))) * S ((((dst_positive_code_table_exists_left) + (dst_positive_scale_table_exists_left)) * S ((dst_positive_code_table_exists_left) + (dst_positive_scale_table_exists_left)) + ((dst_positive_scale_table_exists_left) + (dst_positive_scale_table_exists_left))) + (((dst_negative_code_table_exists_left) + (dst_negative_scale_table_exists_left)) * S ((dst_negative_code_table_exists_left) + (dst_negative_scale_table_exists_left)) + ((dst_negative_scale_table_exists_left) + (dst_negative_scale_table_exists_left)))) + ((((dst_negative_code_table_exists_left) + (dst_negative_scale_table_exists_left)) * S ((dst_negative_code_table_exists_left) + (dst_negative_scale_table_exists_left)) + ((dst_negative_scale_table_exists_left) + (dst_negative_scale_table_exists_left))) + (((dst_negative_code_table_exists_left) + (dst_negative_scale_table_exists_left)) * S ((dst_negative_code_table_exists_left) + (dst_negative_scale_table_exists_left)) + ((dst_negative_scale_table_exists_left) + (dst_negative_scale_table_exists_left)))))) /\ (forall dst_index_table_exists_left. (exists pvs_le_gap_table_exists_leftdomain. pvs_le_gap_table_exists_leftdomain + (dst_index_table_exists_left) = (N)) -> exists dst_positive_table_exists_left dst_negative_table_exists_left dst_value_table_exists_left. ((((exists ff_h_pvs_table_exists_leftentrypositive. ff_h_pvs_table_exists_leftentrypositive + S (dst_positive_table_exists_left) = S ((S (dst_index_table_exists_left)) * dst_positive_scale_table_exists_left)) /\ exists ff_q_pvs_table_exists_leftentrypositive. dst_positive_code_table_exists_left = ff_q_pvs_table_exists_leftentrypositive * S ((S (dst_index_table_exists_left)) * dst_positive_scale_table_exists_left) + (dst_positive_table_exists_left))) /\ (((((exists ff_h_pvs_table_exists_leftentrynegative. ff_h_pvs_table_exists_leftentrynegative + S (dst_negative_table_exists_left) = S ((S (dst_index_table_exists_left)) * dst_negative_scale_table_exists_left)) /\ exists ff_q_pvs_table_exists_leftentrynegative. dst_negative_code_table_exists_left = ff_q_pvs_table_exists_leftentrynegative * S ((S (dst_index_table_exists_left)) * dst_negative_scale_table_exists_left) + (dst_negative_table_exists_left))) /\ (exists ge_balance_positive_table_exists_leftentryvalue ge_balance_negative_table_exists_leftentryvalue. (((((dst_value_table_exists_left) = 2 * (ge_balance_positive_table_exists_leftentryvalue) /\ (ge_balance_negative_table_exists_leftentryvalue) = 0) \/ exists ge_signed_half_table_exists_leftentryvaluedecode. (((dst_value_table_exists_left) = 2 * ge_signed_half_table_exists_leftentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_leftentryvalue) = 0) /\ (ge_balance_negative_table_exists_leftentryvalue) = S ge_signed_half_table_exists_leftentryvaluedecode))) /\ ((dst_positive_table_exists_left) + ge_balance_negative_table_exists_leftentryvalue = (dst_negative_table_exists_left) + ge_balance_positive_table_exists_leftentryvalue))))))))) -> (exists dst_positive_code_table_exists_right dst_positive_scale_table_exists_right dst_negative_code_table_exists_right dst_negative_scale_table_exists_right. (((G) = (((((dst_positive_code_table_exists_right) + (dst_positive_scale_table_exists_right)) * S ((dst_positive_code_table_exists_right) + (dst_positive_scale_table_exists_right)) + ((dst_positive_scale_table_exists_right) + (dst_positive_scale_table_exists_right))) + (((dst_negative_code_table_exists_right) + (dst_negative_scale_table_exists_right)) * S ((dst_negative_code_table_exists_right) + (dst_negative_scale_table_exists_right)) + ((dst_negative_scale_table_exists_right) + (dst_negative_scale_table_exists_right)))) * S ((((dst_positive_code_table_exists_right) + (dst_positive_scale_table_exists_right)) * S ((dst_positive_code_table_exists_right) + (dst_positive_scale_table_exists_right)) + ((dst_positive_scale_table_exists_right) + (dst_positive_scale_table_exists_right))) + (((dst_negative_code_table_exists_right) + (dst_negative_scale_table_exists_right)) * S ((dst_negative_code_table_exists_right) + (dst_negative_scale_table_exists_right)) + ((dst_negative_scale_table_exists_right) + (dst_negative_scale_table_exists_right)))) + ((((dst_negative_code_table_exists_right) + (dst_negative_scale_table_exists_right)) * S ((dst_negative_code_table_exists_right) + (dst_negative_scale_table_exists_right)) + ((dst_negative_scale_table_exists_right) + (dst_negative_scale_table_exists_right))) + (((dst_negative_code_table_exists_right) + (dst_negative_scale_table_exists_right)) * S ((dst_negative_code_table_exists_right) + (dst_negative_scale_table_exists_right)) + ((dst_negative_scale_table_exists_right) + (dst_negative_scale_table_exists_right)))))) /\ (forall dst_index_table_exists_right. (exists pvs_le_gap_table_exists_rightdomain. pvs_le_gap_table_exists_rightdomain + (dst_index_table_exists_right) = (N)) -> exists dst_positive_table_exists_right dst_negative_table_exists_right dst_value_table_exists_right. ((((exists ff_h_pvs_table_exists_rightentrypositive. ff_h_pvs_table_exists_rightentrypositive + S (dst_positive_table_exists_right) = S ((S (dst_index_table_exists_right)) * dst_positive_scale_table_exists_right)) /\ exists ff_q_pvs_table_exists_rightentrypositive. dst_positive_code_table_exists_right = ff_q_pvs_table_exists_rightentrypositive * S ((S (dst_index_table_exists_right)) * dst_positive_scale_table_exists_right) + (dst_positive_table_exists_right))) /\ (((((exists ff_h_pvs_table_exists_rightentrynegative. ff_h_pvs_table_exists_rightentrynegative + S (dst_negative_table_exists_right) = S ((S (dst_index_table_exists_right)) * dst_negative_scale_table_exists_right)) /\ exists ff_q_pvs_table_exists_rightentrynegative. dst_negative_code_table_exists_right = ff_q_pvs_table_exists_rightentrynegative * S ((S (dst_index_table_exists_right)) * dst_negative_scale_table_exists_right) + (dst_negative_table_exists_right))) /\ (exists ge_balance_positive_table_exists_rightentryvalue ge_balance_negative_table_exists_rightentryvalue. (((((dst_value_table_exists_right) = 2 * (ge_balance_positive_table_exists_rightentryvalue) /\ (ge_balance_negative_table_exists_rightentryvalue) = 0) \/ exists ge_signed_half_table_exists_rightentryvaluedecode. (((dst_value_table_exists_right) = 2 * ge_signed_half_table_exists_rightentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_rightentryvalue) = 0) /\ (ge_balance_negative_table_exists_rightentryvalue) = S ge_signed_half_table_exists_rightentryvaluedecode))) /\ ((dst_positive_table_exists_right) + ge_balance_negative_table_exists_rightentryvalue = (dst_negative_table_exists_right) + ge_balance_positive_table_exists_rightentryvalue))))))))) -> exists H. (((exists dst_positive_code_table_exists_resultleft dst_positive_scale_table_exists_resultleft dst_negative_code_table_exists_resultleft dst_negative_scale_table_exists_resultleft. (((F) = (((((dst_positive_code_table_exists_resultleft) + (dst_positive_scale_table_exists_resultleft)) * S ((dst_positive_code_table_exists_resultleft) + (dst_positive_scale_table_exists_resultleft)) + ((dst_positive_scale_table_exists_resultleft) + (dst_positive_scale_table_exists_resultleft))) + (((dst_negative_code_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)) * S ((dst_negative_code_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)) + ((dst_negative_scale_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)))) * S ((((dst_positive_code_table_exists_resultleft) + (dst_positive_scale_table_exists_resultleft)) * S ((dst_positive_code_table_exists_resultleft) + (dst_positive_scale_table_exists_resultleft)) + ((dst_positive_scale_table_exists_resultleft) + (dst_positive_scale_table_exists_resultleft))) + (((dst_negative_code_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)) * S ((dst_negative_code_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)) + ((dst_negative_scale_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)))) + ((((dst_negative_code_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)) * S ((dst_negative_code_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)) + ((dst_negative_scale_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft))) + (((dst_negative_code_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)) * S ((dst_negative_code_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)) + ((dst_negative_scale_table_exists_resultleft) + (dst_negative_scale_table_exists_resultleft)))))) /\ (forall dst_index_table_exists_resultleft. (exists pvs_le_gap_table_exists_resultleftdomain. pvs_le_gap_table_exists_resultleftdomain + (dst_index_table_exists_resultleft) = (N)) -> exists dst_positive_table_exists_resultleft dst_negative_table_exists_resultleft dst_value_table_exists_resultleft. ((((exists ff_h_pvs_table_exists_resultleftentrypositive. ff_h_pvs_table_exists_resultleftentrypositive + S (dst_positive_table_exists_resultleft) = S ((S (dst_index_table_exists_resultleft)) * dst_positive_scale_table_exists_resultleft)) /\ exists ff_q_pvs_table_exists_resultleftentrypositive. dst_positive_code_table_exists_resultleft = ff_q_pvs_table_exists_resultleftentrypositive * S ((S (dst_index_table_exists_resultleft)) * dst_positive_scale_table_exists_resultleft) + (dst_positive_table_exists_resultleft))) /\ (((((exists ff_h_pvs_table_exists_resultleftentrynegative. ff_h_pvs_table_exists_resultleftentrynegative + S (dst_negative_table_exists_resultleft) = S ((S (dst_index_table_exists_resultleft)) * dst_negative_scale_table_exists_resultleft)) /\ exists ff_q_pvs_table_exists_resultleftentrynegative. dst_negative_code_table_exists_resultleft = ff_q_pvs_table_exists_resultleftentrynegative * S ((S (dst_index_table_exists_resultleft)) * dst_negative_scale_table_exists_resultleft) + (dst_negative_table_exists_resultleft))) /\ (exists ge_balance_positive_table_exists_resultleftentryvalue ge_balance_negative_table_exists_resultleftentryvalue. (((((dst_value_table_exists_resultleft) = 2 * (ge_balance_positive_table_exists_resultleftentryvalue) /\ (ge_balance_negative_table_exists_resultleftentryvalue) = 0) \/ exists ge_signed_half_table_exists_resultleftentryvaluedecode. (((dst_value_table_exists_resultleft) = 2 * ge_signed_half_table_exists_resultleftentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_resultleftentryvalue) = 0) /\ (ge_balance_negative_table_exists_resultleftentryvalue) = S ge_signed_half_table_exists_resultleftentryvaluedecode))) /\ ((dst_positive_table_exists_resultleft) + ge_balance_negative_table_exists_resultleftentryvalue = (dst_negative_table_exists_resultleft) + ge_balance_positive_table_exists_resultleftentryvalue))))))))) /\ (((exists dst_positive_code_table_exists_resultright dst_positive_scale_table_exists_resultright dst_negative_code_table_exists_resultright dst_negative_scale_table_exists_resultright. (((G) = (((((dst_positive_code_table_exists_resultright) + (dst_positive_scale_table_exists_resultright)) * S ((dst_positive_code_table_exists_resultright) + (dst_positive_scale_table_exists_resultright)) + ((dst_positive_scale_table_exists_resultright) + (dst_positive_scale_table_exists_resultright))) + (((dst_negative_code_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)) * S ((dst_negative_code_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)) + ((dst_negative_scale_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)))) * S ((((dst_positive_code_table_exists_resultright) + (dst_positive_scale_table_exists_resultright)) * S ((dst_positive_code_table_exists_resultright) + (dst_positive_scale_table_exists_resultright)) + ((dst_positive_scale_table_exists_resultright) + (dst_positive_scale_table_exists_resultright))) + (((dst_negative_code_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)) * S ((dst_negative_code_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)) + ((dst_negative_scale_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)))) + ((((dst_negative_code_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)) * S ((dst_negative_code_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)) + ((dst_negative_scale_table_exists_resultright) + (dst_negative_scale_table_exists_resultright))) + (((dst_negative_code_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)) * S ((dst_negative_code_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)) + ((dst_negative_scale_table_exists_resultright) + (dst_negative_scale_table_exists_resultright)))))) /\ (forall dst_index_table_exists_resultright. (exists pvs_le_gap_table_exists_resultrightdomain. pvs_le_gap_table_exists_resultrightdomain + (dst_index_table_exists_resultright) = (N)) -> exists dst_positive_table_exists_resultright dst_negative_table_exists_resultright dst_value_table_exists_resultright. ((((exists ff_h_pvs_table_exists_resultrightentrypositive. ff_h_pvs_table_exists_resultrightentrypositive + S (dst_positive_table_exists_resultright) = S ((S (dst_index_table_exists_resultright)) * dst_positive_scale_table_exists_resultright)) /\ exists ff_q_pvs_table_exists_resultrightentrypositive. dst_positive_code_table_exists_resultright = ff_q_pvs_table_exists_resultrightentrypositive * S ((S (dst_index_table_exists_resultright)) * dst_positive_scale_table_exists_resultright) + (dst_positive_table_exists_resultright))) /\ (((((exists ff_h_pvs_table_exists_resultrightentrynegative. ff_h_pvs_table_exists_resultrightentrynegative + S (dst_negative_table_exists_resultright) = S ((S (dst_index_table_exists_resultright)) * dst_negative_scale_table_exists_resultright)) /\ exists ff_q_pvs_table_exists_resultrightentrynegative. dst_negative_code_table_exists_resultright = ff_q_pvs_table_exists_resultrightentrynegative * S ((S (dst_index_table_exists_resultright)) * dst_negative_scale_table_exists_resultright) + (dst_negative_table_exists_resultright))) /\ (exists ge_balance_positive_table_exists_resultrightentryvalue ge_balance_negative_table_exists_resultrightentryvalue. (((((dst_value_table_exists_resultright) = 2 * (ge_balance_positive_table_exists_resultrightentryvalue) /\ (ge_balance_negative_table_exists_resultrightentryvalue) = 0) \/ exists ge_signed_half_table_exists_resultrightentryvaluedecode. (((dst_value_table_exists_resultright) = 2 * ge_signed_half_table_exists_resultrightentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_resultrightentryvalue) = 0) /\ (ge_balance_negative_table_exists_resultrightentryvalue) = S ge_signed_half_table_exists_resultrightentryvaluedecode))) /\ ((dst_positive_table_exists_resultright) + ge_balance_negative_table_exists_resultrightentryvalue = (dst_negative_table_exists_resultright) + ge_balance_positive_table_exists_resultrightentryvalue))))))))) /\ (((exists dst_positive_code_table_exists_resulttable dst_positive_scale_table_exists_resulttable dst_negative_code_table_exists_resulttable dst_negative_scale_table_exists_resulttable. (((H) = (((((dst_positive_code_table_exists_resulttable) + (dst_positive_scale_table_exists_resulttable)) * S ((dst_positive_code_table_exists_resulttable) + (dst_positive_scale_table_exists_resulttable)) + ((dst_positive_scale_table_exists_resulttable) + (dst_positive_scale_table_exists_resulttable))) + (((dst_negative_code_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)) * S ((dst_negative_code_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)) + ((dst_negative_scale_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)))) * S ((((dst_positive_code_table_exists_resulttable) + (dst_positive_scale_table_exists_resulttable)) * S ((dst_positive_code_table_exists_resulttable) + (dst_positive_scale_table_exists_resulttable)) + ((dst_positive_scale_table_exists_resulttable) + (dst_positive_scale_table_exists_resulttable))) + (((dst_negative_code_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)) * S ((dst_negative_code_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)) + ((dst_negative_scale_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)))) + ((((dst_negative_code_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)) * S ((dst_negative_code_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)) + ((dst_negative_scale_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable))) + (((dst_negative_code_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)) * S ((dst_negative_code_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)) + ((dst_negative_scale_table_exists_resulttable) + (dst_negative_scale_table_exists_resulttable)))))) /\ (forall dst_index_table_exists_resulttable. (exists pvs_le_gap_table_exists_resulttabledomain. pvs_le_gap_table_exists_resulttabledomain + (dst_index_table_exists_resulttable) = (N)) -> exists dst_positive_table_exists_resulttable dst_negative_table_exists_resulttable dst_value_table_exists_resulttable. ((((exists ff_h_pvs_table_exists_resulttableentrypositive. ff_h_pvs_table_exists_resulttableentrypositive + S (dst_positive_table_exists_resulttable) = S ((S (dst_index_table_exists_resulttable)) * dst_positive_scale_table_exists_resulttable)) /\ exists ff_q_pvs_table_exists_resulttableentrypositive. dst_positive_code_table_exists_resulttable = ff_q_pvs_table_exists_resulttableentrypositive * S ((S (dst_index_table_exists_resulttable)) * dst_positive_scale_table_exists_resulttable) + (dst_positive_table_exists_resulttable))) /\ (((((exists ff_h_pvs_table_exists_resulttableentrynegative. ff_h_pvs_table_exists_resulttableentrynegative + S (dst_negative_table_exists_resulttable) = S ((S (dst_index_table_exists_resulttable)) * dst_negative_scale_table_exists_resulttable)) /\ exists ff_q_pvs_table_exists_resulttableentrynegative. dst_negative_code_table_exists_resulttable = ff_q_pvs_table_exists_resulttableentrynegative * S ((S (dst_index_table_exists_resulttable)) * dst_negative_scale_table_exists_resulttable) + (dst_negative_table_exists_resulttable))) /\ (exists ge_balance_positive_table_exists_resulttableentryvalue ge_balance_negative_table_exists_resulttableentryvalue. (((((dst_value_table_exists_resulttable) = 2 * (ge_balance_positive_table_exists_resulttableentryvalue) /\ (ge_balance_negative_table_exists_resulttableentryvalue) = 0) \/ exists ge_signed_half_table_exists_resulttableentryvaluedecode. (((dst_value_table_exists_resulttable) = 2 * ge_signed_half_table_exists_resulttableentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_resulttableentryvalue) = 0) /\ (ge_balance_negative_table_exists_resulttableentryvalue) = S ge_signed_half_table_exists_resulttableentryvaluedecode))) /\ ((dst_positive_table_exists_resulttable) + ge_balance_negative_table_exists_resulttableentryvalue = (dst_negative_table_exists_resulttable) + ge_balance_positive_table_exists_resulttableentryvalue))))))))) /\ (forall dc_input_table_exists_result dc_output_table_exists_result. ~(dc_input_table_exists_result=0) -> (exists pvs_le_gap_table_exists_resultdomain. pvs_le_gap_table_exists_resultdomain + (dc_input_table_exists_result) = (N)) -> (exists dst_positive_code_table_exists_resultlookup dst_positive_scale_table_exists_resultlookup dst_negative_code_table_exists_resultlookup dst_negative_scale_table_exists_resultlookup dst_positive_table_exists_resultlookup dst_negative_table_exists_resultlookup. (((H) = (((((dst_positive_code_table_exists_resultlookup) + (dst_positive_scale_table_exists_resultlookup)) * S ((dst_positive_code_table_exists_resultlookup) + (dst_positive_scale_table_exists_resultlookup)) + ((dst_positive_scale_table_exists_resultlookup) + (dst_positive_scale_table_exists_resultlookup))) + (((dst_negative_code_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)) * S ((dst_negative_code_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)) + ((dst_negative_scale_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)))) * S ((((dst_positive_code_table_exists_resultlookup) + (dst_positive_scale_table_exists_resultlookup)) * S ((dst_positive_code_table_exists_resultlookup) + (dst_positive_scale_table_exists_resultlookup)) + ((dst_positive_scale_table_exists_resultlookup) + (dst_positive_scale_table_exists_resultlookup))) + (((dst_negative_code_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)) * S ((dst_negative_code_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)) + ((dst_negative_scale_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)))) + ((((dst_negative_code_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)) * S ((dst_negative_code_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)) + ((dst_negative_scale_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup))) + (((dst_negative_code_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)) * S ((dst_negative_code_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)) + ((dst_negative_scale_table_exists_resultlookup) + (dst_negative_scale_table_exists_resultlookup)))))) /\ (((((exists ff_h_pvs_table_exists_resultlookuppositive. ff_h_pvs_table_exists_resultlookuppositive + S (dst_positive_table_exists_resultlookup) = S ((S (dc_input_table_exists_result)) * dst_positive_scale_table_exists_resultlookup)) /\ exists ff_q_pvs_table_exists_resultlookuppositive. dst_positive_code_table_exists_resultlookup = ff_q_pvs_table_exists_resultlookuppositive * S ((S (dc_input_table_exists_result)) * dst_positive_scale_table_exists_resultlookup) + (dst_positive_table_exists_resultlookup))) /\ (((((exists ff_h_pvs_table_exists_resultlookupnegative. ff_h_pvs_table_exists_resultlookupnegative + S (dst_negative_table_exists_resultlookup) = S ((S (dc_input_table_exists_result)) * dst_negative_scale_table_exists_resultlookup)) /\ exists ff_q_pvs_table_exists_resultlookupnegative. dst_negative_code_table_exists_resultlookup = ff_q_pvs_table_exists_resultlookupnegative * S ((S (dc_input_table_exists_result)) * dst_negative_scale_table_exists_resultlookup) + (dst_negative_table_exists_resultlookup))) /\ (exists ge_balance_positive_table_exists_resultlookupvalue ge_balance_negative_table_exists_resultlookupvalue. (((((dc_output_table_exists_result) = 2 * (ge_balance_positive_table_exists_resultlookupvalue) /\ (ge_balance_negative_table_exists_resultlookupvalue) = 0) \/ exists ge_signed_half_table_exists_resultlookupvaluedecode. (((dc_output_table_exists_result) = 2 * ge_signed_half_table_exists_resultlookupvaluedecode + 1 /\ (ge_balance_positive_table_exists_resultlookupvalue) = 0) /\ (ge_balance_negative_table_exists_resultlookupvalue) = S ge_signed_half_table_exists_resultlookupvaluedecode))) /\ ((dst_positive_table_exists_resultlookup) + ge_balance_negative_table_exists_resultlookupvalue = (dst_negative_table_exists_resultlookup) + ge_balance_positive_table_exists_resultlookupvalue))))))))) -> (((~((dc_input_table_exists_result)=0)) /\ (exists dc_mask_table_exists_resultvalue. ((((exists dst_positive_code_table_exists_resultvaluemasktable dst_positive_scale_table_exists_resultvaluemasktable dst_negative_code_table_exists_resultvaluemasktable dst_negative_scale_table_exists_resultvaluemasktable. (((dc_mask_table_exists_resultvalue) = (((((dst_positive_code_table_exists_resultvaluemasktable) + (dst_positive_scale_table_exists_resultvaluemasktable)) * S ((dst_positive_code_table_exists_resultvaluemasktable) + (dst_positive_scale_table_exists_resultvaluemasktable)) + ((dst_positive_scale_table_exists_resultvaluemasktable) + (dst_positive_scale_table_exists_resultvaluemasktable))) + (((dst_negative_code_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)) * S ((dst_negative_code_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)) + ((dst_negative_scale_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)))) * S ((((dst_positive_code_table_exists_resultvaluemasktable) + (dst_positive_scale_table_exists_resultvaluemasktable)) * S ((dst_positive_code_table_exists_resultvaluemasktable) + (dst_positive_scale_table_exists_resultvaluemasktable)) + ((dst_positive_scale_table_exists_resultvaluemasktable) + (dst_positive_scale_table_exists_resultvaluemasktable))) + (((dst_negative_code_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)) * S ((dst_negative_code_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)) + ((dst_negative_scale_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)))) + ((((dst_negative_code_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)) * S ((dst_negative_code_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)) + ((dst_negative_scale_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable))) + (((dst_negative_code_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)) * S ((dst_negative_code_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)) + ((dst_negative_scale_table_exists_resultvaluemasktable) + (dst_negative_scale_table_exists_resultvaluemasktable)))))) /\ (forall dst_index_table_exists_resultvaluemasktable. (exists pvs_le_gap_table_exists_resultvaluemasktabledomain. pvs_le_gap_table_exists_resultvaluemasktabledomain + (dst_index_table_exists_resultvaluemasktable) = (dc_input_table_exists_result)) -> exists dst_positive_table_exists_resultvaluemasktable dst_negative_table_exists_resultvaluemasktable dst_value_table_exists_resultvaluemasktable. ((((exists ff_h_pvs_table_exists_resultvaluemasktableentrypositive. ff_h_pvs_table_exists_resultvaluemasktableentrypositive + S (dst_positive_table_exists_resultvaluemasktable) = S ((S (dst_index_table_exists_resultvaluemasktable)) * dst_positive_scale_table_exists_resultvaluemasktable)) /\ exists ff_q_pvs_table_exists_resultvaluemasktableentrypositive. dst_positive_code_table_exists_resultvaluemasktable = ff_q_pvs_table_exists_resultvaluemasktableentrypositive * S ((S (dst_index_table_exists_resultvaluemasktable)) * dst_positive_scale_table_exists_resultvaluemasktable) + (dst_positive_table_exists_resultvaluemasktable))) /\ (((((exists ff_h_pvs_table_exists_resultvaluemasktableentrynegative. ff_h_pvs_table_exists_resultvaluemasktableentrynegative + S (dst_negative_table_exists_resultvaluemasktable) = S ((S (dst_index_table_exists_resultvaluemasktable)) * dst_negative_scale_table_exists_resultvaluemasktable)) /\ exists ff_q_pvs_table_exists_resultvaluemasktableentrynegative. dst_negative_code_table_exists_resultvaluemasktable = ff_q_pvs_table_exists_resultvaluemasktableentrynegative * S ((S (dst_index_table_exists_resultvaluemasktable)) * dst_negative_scale_table_exists_resultvaluemasktable) + (dst_negative_table_exists_resultvaluemasktable))) /\ (exists ge_balance_positive_table_exists_resultvaluemasktableentryvalue ge_balance_negative_table_exists_resultvaluemasktableentryvalue. (((((dst_value_table_exists_resultvaluemasktable) = 2 * (ge_balance_positive_table_exists_resultvaluemasktableentryvalue) /\ (ge_balance_negative_table_exists_resultvaluemasktableentryvalue) = 0) \/ exists ge_signed_half_table_exists_resultvaluemasktableentryvaluedecode. (((dst_value_table_exists_resultvaluemasktable) = 2 * ge_signed_half_table_exists_resultvaluemasktableentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_resultvaluemasktableentryvalue) = 0) /\ (ge_balance_negative_table_exists_resultvaluemasktableentryvalue) = S ge_signed_half_table_exists_resultvaluemasktableentryvaluedecode))) /\ ((dst_positive_table_exists_resultvaluemasktable) + ge_balance_negative_table_exists_resultvaluemasktableentryvalue = (dst_negative_table_exists_resultvaluemasktable) + ge_balance_positive_table_exists_resultvaluemasktableentryvalue))))))))) /\ (forall dc_index_table_exists_resultvaluemask dc_value_table_exists_resultvaluemask. (exists pvs_le_gap_table_exists_resultvaluemaskdomain. pvs_le_gap_table_exists_resultvaluemaskdomain + (dc_index_table_exists_resultvaluemask) = (dc_input_table_exists_result)) -> (exists dst_positive_code_table_exists_resultvaluemasklookup dst_positive_scale_table_exists_resultvaluemasklookup dst_negative_code_table_exists_resultvaluemasklookup dst_negative_scale_table_exists_resultvaluemasklookup dst_positive_table_exists_resultvaluemasklookup dst_negative_table_exists_resultvaluemasklookup. (((dc_mask_table_exists_resultvalue) = (((((dst_positive_code_table_exists_resultvaluemasklookup) + (dst_positive_scale_table_exists_resultvaluemasklookup)) * S ((dst_positive_code_table_exists_resultvaluemasklookup) + (dst_positive_scale_table_exists_resultvaluemasklookup)) + ((dst_positive_scale_table_exists_resultvaluemasklookup) + (dst_positive_scale_table_exists_resultvaluemasklookup))) + (((dst_negative_code_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)) * S ((dst_negative_code_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)) + ((dst_negative_scale_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)))) * S ((((dst_positive_code_table_exists_resultvaluemasklookup) + (dst_positive_scale_table_exists_resultvaluemasklookup)) * S ((dst_positive_code_table_exists_resultvaluemasklookup) + (dst_positive_scale_table_exists_resultvaluemasklookup)) + ((dst_positive_scale_table_exists_resultvaluemasklookup) + (dst_positive_scale_table_exists_resultvaluemasklookup))) + (((dst_negative_code_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)) * S ((dst_negative_code_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)) + ((dst_negative_scale_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)))) + ((((dst_negative_code_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)) * S ((dst_negative_code_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)) + ((dst_negative_scale_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup))) + (((dst_negative_code_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)) * S ((dst_negative_code_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)) + ((dst_negative_scale_table_exists_resultvaluemasklookup) + (dst_negative_scale_table_exists_resultvaluemasklookup)))))) /\ (((((exists ff_h_pvs_table_exists_resultvaluemasklookuppositive. ff_h_pvs_table_exists_resultvaluemasklookuppositive + S (dst_positive_table_exists_resultvaluemasklookup) = S ((S (dc_index_table_exists_resultvaluemask)) * dst_positive_scale_table_exists_resultvaluemasklookup)) /\ exists ff_q_pvs_table_exists_resultvaluemasklookuppositive. dst_positive_code_table_exists_resultvaluemasklookup = ff_q_pvs_table_exists_resultvaluemasklookuppositive * S ((S (dc_index_table_exists_resultvaluemask)) * dst_positive_scale_table_exists_resultvaluemasklookup) + (dst_positive_table_exists_resultvaluemasklookup))) /\ (((((exists ff_h_pvs_table_exists_resultvaluemasklookupnegative. ff_h_pvs_table_exists_resultvaluemasklookupnegative + S (dst_negative_table_exists_resultvaluemasklookup) = S ((S (dc_index_table_exists_resultvaluemask)) * dst_negative_scale_table_exists_resultvaluemasklookup)) /\ exists ff_q_pvs_table_exists_resultvaluemasklookupnegative. dst_negative_code_table_exists_resultvaluemasklookup = ff_q_pvs_table_exists_resultvaluemasklookupnegative * S ((S (dc_index_table_exists_resultvaluemask)) * dst_negative_scale_table_exists_resultvaluemasklookup) + (dst_negative_table_exists_resultvaluemasklookup))) /\ (exists ge_balance_positive_table_exists_resultvaluemasklookupvalue ge_balance_negative_table_exists_resultvaluemasklookupvalue. (((((dc_value_table_exists_resultvaluemask) = 2 * (ge_balance_positive_table_exists_resultvaluemasklookupvalue) /\ (ge_balance_negative_table_exists_resultvaluemasklookupvalue) = 0) \/ exists ge_signed_half_table_exists_resultvaluemasklookupvaluedecode. (((dc_value_table_exists_resultvaluemask) = 2 * ge_signed_half_table_exists_resultvaluemasklookupvaluedecode + 1 /\ (ge_balance_positive_table_exists_resultvaluemasklookupvalue) = 0) /\ (ge_balance_negative_table_exists_resultvaluemasklookupvalue) = S ge_signed_half_table_exists_resultvaluemasklookupvaluedecode))) /\ ((dst_positive_table_exists_resultvaluemasklookup) + ge_balance_negative_table_exists_resultvaluemasklookupvalue = (dst_negative_table_exists_resultvaluemasklookup) + ge_balance_positive_table_exists_resultvaluemasklookupvalue))))))))) -> ((((~((dc_index_table_exists_resultvaluemask)=0)) /\ (exists dc_quotient_table_exists_resultvaluemaskentry dc_left_table_exists_resultvaluemaskentry dc_right_table_exists_resultvaluemaskentry. (((dc_input_table_exists_result)=(dc_index_table_exists_resultvaluemask)*dc_quotient_table_exists_resultvaluemaskentry) /\ (((exists dst_positive_code_table_exists_resultvaluemaskentryleft dst_positive_scale_table_exists_resultvaluemaskentryleft dst_negative_code_table_exists_resultvaluemaskentryleft dst_negative_scale_table_exists_resultvaluemaskentryleft dst_positive_table_exists_resultvaluemaskentryleft dst_negative_table_exists_resultvaluemaskentryleft. (((F) = (((((dst_positive_code_table_exists_resultvaluemaskentryleft) + (dst_positive_scale_table_exists_resultvaluemaskentryleft)) * S ((dst_positive_code_table_exists_resultvaluemaskentryleft) + (dst_positive_scale_table_exists_resultvaluemaskentryleft)) + ((dst_positive_scale_table_exists_resultvaluemaskentryleft) + (dst_positive_scale_table_exists_resultvaluemaskentryleft))) + (((dst_negative_code_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)) * S ((dst_negative_code_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)) + ((dst_negative_scale_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)))) * S ((((dst_positive_code_table_exists_resultvaluemaskentryleft) + (dst_positive_scale_table_exists_resultvaluemaskentryleft)) * S ((dst_positive_code_table_exists_resultvaluemaskentryleft) + (dst_positive_scale_table_exists_resultvaluemaskentryleft)) + ((dst_positive_scale_table_exists_resultvaluemaskentryleft) + (dst_positive_scale_table_exists_resultvaluemaskentryleft))) + (((dst_negative_code_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)) * S ((dst_negative_code_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)) + ((dst_negative_scale_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)))) + ((((dst_negative_code_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)) * S ((dst_negative_code_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)) + ((dst_negative_scale_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft))) + (((dst_negative_code_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)) * S ((dst_negative_code_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)) + ((dst_negative_scale_table_exists_resultvaluemaskentryleft) + (dst_negative_scale_table_exists_resultvaluemaskentryleft)))))) /\ (((((exists ff_h_pvs_table_exists_resultvaluemaskentryleftpositive. ff_h_pvs_table_exists_resultvaluemaskentryleftpositive + S (dst_positive_table_exists_resultvaluemaskentryleft) = S ((S (dc_index_table_exists_resultvaluemask)) * dst_positive_scale_table_exists_resultvaluemaskentryleft)) /\ exists ff_q_pvs_table_exists_resultvaluemaskentryleftpositive. dst_positive_code_table_exists_resultvaluemaskentryleft = ff_q_pvs_table_exists_resultvaluemaskentryleftpositive * S ((S (dc_index_table_exists_resultvaluemask)) * dst_positive_scale_table_exists_resultvaluemaskentryleft) + (dst_positive_table_exists_resultvaluemaskentryleft))) /\ (((((exists ff_h_pvs_table_exists_resultvaluemaskentryleftnegative. ff_h_pvs_table_exists_resultvaluemaskentryleftnegative + S (dst_negative_table_exists_resultvaluemaskentryleft) = S ((S (dc_index_table_exists_resultvaluemask)) * dst_negative_scale_table_exists_resultvaluemaskentryleft)) /\ exists ff_q_pvs_table_exists_resultvaluemaskentryleftnegative. dst_negative_code_table_exists_resultvaluemaskentryleft = ff_q_pvs_table_exists_resultvaluemaskentryleftnegative * S ((S (dc_index_table_exists_resultvaluemask)) * dst_negative_scale_table_exists_resultvaluemaskentryleft) + (dst_negative_table_exists_resultvaluemaskentryleft))) /\ (exists ge_balance_positive_table_exists_resultvaluemaskentryleftvalue ge_balance_negative_table_exists_resultvaluemaskentryleftvalue. (((((dc_left_table_exists_resultvaluemaskentry) = 2 * (ge_balance_positive_table_exists_resultvaluemaskentryleftvalue) /\ (ge_balance_negative_table_exists_resultvaluemaskentryleftvalue) = 0) \/ exists ge_signed_half_table_exists_resultvaluemaskentryleftvaluedecode. (((dc_left_table_exists_resultvaluemaskentry) = 2 * ge_signed_half_table_exists_resultvaluemaskentryleftvaluedecode + 1 /\ (ge_balance_positive_table_exists_resultvaluemaskentryleftvalue) = 0) /\ (ge_balance_negative_table_exists_resultvaluemaskentryleftvalue) = S ge_signed_half_table_exists_resultvaluemaskentryleftvaluedecode))) /\ ((dst_positive_table_exists_resultvaluemaskentryleft) + ge_balance_negative_table_exists_resultvaluemaskentryleftvalue = (dst_negative_table_exists_resultvaluemaskentryleft) + ge_balance_positive_table_exists_resultvaluemaskentryleftvalue))))))))) /\ (((exists dst_positive_code_table_exists_resultvaluemaskentryright dst_positive_scale_table_exists_resultvaluemaskentryright dst_negative_code_table_exists_resultvaluemaskentryright dst_negative_scale_table_exists_resultvaluemaskentryright dst_positive_table_exists_resultvaluemaskentryright dst_negative_table_exists_resultvaluemaskentryright. (((G) = (((((dst_positive_code_table_exists_resultvaluemaskentryright) + (dst_positive_scale_table_exists_resultvaluemaskentryright)) * S ((dst_positive_code_table_exists_resultvaluemaskentryright) + (dst_positive_scale_table_exists_resultvaluemaskentryright)) + ((dst_positive_scale_table_exists_resultvaluemaskentryright) + (dst_positive_scale_table_exists_resultvaluemaskentryright))) + (((dst_negative_code_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)) * S ((dst_negative_code_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)) + ((dst_negative_scale_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)))) * S ((((dst_positive_code_table_exists_resultvaluemaskentryright) + (dst_positive_scale_table_exists_resultvaluemaskentryright)) * S ((dst_positive_code_table_exists_resultvaluemaskentryright) + (dst_positive_scale_table_exists_resultvaluemaskentryright)) + ((dst_positive_scale_table_exists_resultvaluemaskentryright) + (dst_positive_scale_table_exists_resultvaluemaskentryright))) + (((dst_negative_code_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)) * S ((dst_negative_code_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)) + ((dst_negative_scale_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)))) + ((((dst_negative_code_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)) * S ((dst_negative_code_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)) + ((dst_negative_scale_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright))) + (((dst_negative_code_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)) * S ((dst_negative_code_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)) + ((dst_negative_scale_table_exists_resultvaluemaskentryright) + (dst_negative_scale_table_exists_resultvaluemaskentryright)))))) /\ (((((exists ff_h_pvs_table_exists_resultvaluemaskentryrightpositive. ff_h_pvs_table_exists_resultvaluemaskentryrightpositive + S (dst_positive_table_exists_resultvaluemaskentryright) = S ((S (dc_quotient_table_exists_resultvaluemaskentry)) * dst_positive_scale_table_exists_resultvaluemaskentryright)) /\ exists ff_q_pvs_table_exists_resultvaluemaskentryrightpositive. dst_positive_code_table_exists_resultvaluemaskentryright = ff_q_pvs_table_exists_resultvaluemaskentryrightpositive * S ((S (dc_quotient_table_exists_resultvaluemaskentry)) * dst_positive_scale_table_exists_resultvaluemaskentryright) + (dst_positive_table_exists_resultvaluemaskentryright))) /\ (((((exists ff_h_pvs_table_exists_resultvaluemaskentryrightnegative. ff_h_pvs_table_exists_resultvaluemaskentryrightnegative + S (dst_negative_table_exists_resultvaluemaskentryright) = S ((S (dc_quotient_table_exists_resultvaluemaskentry)) * dst_negative_scale_table_exists_resultvaluemaskentryright)) /\ exists ff_q_pvs_table_exists_resultvaluemaskentryrightnegative. dst_negative_code_table_exists_resultvaluemaskentryright = ff_q_pvs_table_exists_resultvaluemaskentryrightnegative * S ((S (dc_quotient_table_exists_resultvaluemaskentry)) * dst_negative_scale_table_exists_resultvaluemaskentryright) + (dst_negative_table_exists_resultvaluemaskentryright))) /\ (exists ge_balance_positive_table_exists_resultvaluemaskentryrightvalue ge_balance_negative_table_exists_resultvaluemaskentryrightvalue. (((((dc_right_table_exists_resultvaluemaskentry) = 2 * (ge_balance_positive_table_exists_resultvaluemaskentryrightvalue) /\ (ge_balance_negative_table_exists_resultvaluemaskentryrightvalue) = 0) \/ exists ge_signed_half_table_exists_resultvaluemaskentryrightvaluedecode. (((dc_right_table_exists_resultvaluemaskentry) = 2 * ge_signed_half_table_exists_resultvaluemaskentryrightvaluedecode + 1 /\ (ge_balance_positive_table_exists_resultvaluemaskentryrightvalue) = 0) /\ (ge_balance_negative_table_exists_resultvaluemaskentryrightvalue) = S ge_signed_half_table_exists_resultvaluemaskentryrightvaluedecode))) /\ ((dst_positive_table_exists_resultvaluemaskentryright) + ge_balance_negative_table_exists_resultvaluemaskentryrightvalue = (dst_negative_table_exists_resultvaluemaskentryright) + ge_balance_positive_table_exists_resultvaluemaskentryrightvalue))))))))) /\ (exists sto_ap_table_exists_resultvaluemaskentryproduct sto_an_table_exists_resultvaluemaskentryproduct sto_bp_table_exists_resultvaluemaskentryproduct sto_bn_table_exists_resultvaluemaskentryproduct sto_cp_table_exists_resultvaluemaskentryproduct sto_cn_table_exists_resultvaluemaskentryproduct. (((((dc_left_table_exists_resultvaluemaskentry) = 2 * (sto_ap_table_exists_resultvaluemaskentryproduct) /\ (sto_an_table_exists_resultvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_resultvaluemaskentryproductleft. (((dc_left_table_exists_resultvaluemaskentry) = 2 * ge_signed_half_table_exists_resultvaluemaskentryproductleft + 1 /\ (sto_ap_table_exists_resultvaluemaskentryproduct) = 0) /\ (sto_an_table_exists_resultvaluemaskentryproduct) = S ge_signed_half_table_exists_resultvaluemaskentryproductleft))) /\ ((((((dc_right_table_exists_resultvaluemaskentry) = 2 * (sto_bp_table_exists_resultvaluemaskentryproduct) /\ (sto_bn_table_exists_resultvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_resultvaluemaskentryproductright. (((dc_right_table_exists_resultvaluemaskentry) = 2 * ge_signed_half_table_exists_resultvaluemaskentryproductright + 1 /\ (sto_bp_table_exists_resultvaluemaskentryproduct) = 0) /\ (sto_bn_table_exists_resultvaluemaskentryproduct) = S ge_signed_half_table_exists_resultvaluemaskentryproductright))) /\ ((((((dc_value_table_exists_resultvaluemask) = 2 * (sto_cp_table_exists_resultvaluemaskentryproduct) /\ (sto_cn_table_exists_resultvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_resultvaluemaskentryproductoutput. (((dc_value_table_exists_resultvaluemask) = 2 * ge_signed_half_table_exists_resultvaluemaskentryproductoutput + 1 /\ (sto_cp_table_exists_resultvaluemaskentryproduct) = 0) /\ (sto_cn_table_exists_resultvaluemaskentryproduct) = S ge_signed_half_table_exists_resultvaluemaskentryproductoutput))) /\ ((sto_ap_table_exists_resultvaluemaskentryproduct * sto_bp_table_exists_resultvaluemaskentryproduct + sto_an_table_exists_resultvaluemaskentryproduct * sto_bn_table_exists_resultvaluemaskentryproduct) + sto_cn_table_exists_resultvaluemaskentryproduct = (sto_ap_table_exists_resultvaluemaskentryproduct * sto_bn_table_exists_resultvaluemaskentryproduct + sto_an_table_exists_resultvaluemaskentryproduct * sto_bp_table_exists_resultvaluemaskentryproduct) + sto_cp_table_exists_resultvaluemaskentryproduct))))))))))))))) \/ ((((dc_index_table_exists_resultvaluemask)=0 \/ ~(exists pvs_factor_table_exists_resultvaluemaskentrynondivisor. (dc_input_table_exists_result) = (dc_index_table_exists_resultvaluemask) * pvs_factor_table_exists_resultvaluemaskentrynondivisor)) /\ ((dc_value_table_exists_resultvaluemask)=0))))))) /\ (exists dst_positive_code_table_exists_resultvaluefold dst_positive_scale_table_exists_resultvaluefold dst_negative_code_table_exists_resultvaluefold dst_negative_scale_table_exists_resultvaluefold dst_positive_sum_table_exists_resultvaluefold dst_negative_sum_table_exists_resultvaluefold. (((dc_mask_table_exists_resultvalue) = (((((dst_positive_code_table_exists_resultvaluefold) + (dst_positive_scale_table_exists_resultvaluefold)) * S ((dst_positive_code_table_exists_resultvaluefold) + (dst_positive_scale_table_exists_resultvaluefold)) + ((dst_positive_scale_table_exists_resultvaluefold) + (dst_positive_scale_table_exists_resultvaluefold))) + (((dst_negative_code_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)) * S ((dst_negative_code_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)) + ((dst_negative_scale_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)))) * S ((((dst_positive_code_table_exists_resultvaluefold) + (dst_positive_scale_table_exists_resultvaluefold)) * S ((dst_positive_code_table_exists_resultvaluefold) + (dst_positive_scale_table_exists_resultvaluefold)) + ((dst_positive_scale_table_exists_resultvaluefold) + (dst_positive_scale_table_exists_resultvaluefold))) + (((dst_negative_code_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)) * S ((dst_negative_code_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)) + ((dst_negative_scale_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)))) + ((((dst_negative_code_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)) * S ((dst_negative_code_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)) + ((dst_negative_scale_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold))) + (((dst_negative_code_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)) * S ((dst_negative_code_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)) + ((dst_negative_scale_table_exists_resultvaluefold) + (dst_negative_scale_table_exists_resultvaluefold)))))) /\ (((exists fs_u_dst_table_exists_resultvaluefoldpositive fs_v_dst_table_exists_resultvaluefoldpositive. ((((exists fs_h_dst_table_exists_resultvaluefoldpositive_body_start. fs_h_dst_table_exists_resultvaluefoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_table_exists_resultvaluefoldpositive)) /\ exists fs_q_dst_table_exists_resultvaluefoldpositive_body_start. fs_u_dst_table_exists_resultvaluefoldpositive = fs_q_dst_table_exists_resultvaluefoldpositive_body_start * S ((S (0)) * fs_v_dst_table_exists_resultvaluefoldpositive) + (0))) /\ ((((exists fs_h_dst_table_exists_resultvaluefoldpositive_body_terminal. fs_h_dst_table_exists_resultvaluefoldpositive_body_terminal + S (dst_positive_sum_table_exists_resultvaluefold) = S ((S (S (dc_input_table_exists_result))) * fs_v_dst_table_exists_resultvaluefoldpositive)) /\ exists fs_q_dst_table_exists_resultvaluefoldpositive_body_terminal. fs_u_dst_table_exists_resultvaluefoldpositive = fs_q_dst_table_exists_resultvaluefoldpositive_body_terminal * S ((S (S (dc_input_table_exists_result))) * fs_v_dst_table_exists_resultvaluefoldpositive) + (dst_positive_sum_table_exists_resultvaluefold))) /\ forall fs_i_dst_table_exists_resultvaluefoldpositive_body_steps. (exists fs_lt_dst_table_exists_resultvaluefoldpositive_body_steps_bound. fs_lt_dst_table_exists_resultvaluefoldpositive_body_steps_bound + S fs_i_dst_table_exists_resultvaluefoldpositive_body_steps = S (dc_input_table_exists_result)) -> exists fs_a_dst_table_exists_resultvaluefoldpositive_body_steps fs_r_dst_table_exists_resultvaluefoldpositive_body_steps fs_s_dst_table_exists_resultvaluefoldpositive_body_steps. ((((exists fs_h_dst_table_exists_resultvaluefoldpositive_body_steps_summand. fs_h_dst_table_exists_resultvaluefoldpositive_body_steps_summand + S (fs_a_dst_table_exists_resultvaluefoldpositive_body_steps) = S ((S (fs_i_dst_table_exists_resultvaluefoldpositive_body_steps)) * dst_positive_scale_table_exists_resultvaluefold)) /\ exists fs_q_dst_table_exists_resultvaluefoldpositive_body_steps_summand. dst_positive_code_table_exists_resultvaluefold = fs_q_dst_table_exists_resultvaluefoldpositive_body_steps_summand * S ((S (fs_i_dst_table_exists_resultvaluefoldpositive_body_steps)) * dst_positive_scale_table_exists_resultvaluefold) + (fs_a_dst_table_exists_resultvaluefoldpositive_body_steps))) /\ ((((exists fs_h_dst_table_exists_resultvaluefoldpositive_body_steps_partial. fs_h_dst_table_exists_resultvaluefoldpositive_body_steps_partial + S (fs_r_dst_table_exists_resultvaluefoldpositive_body_steps) = S ((S (fs_i_dst_table_exists_resultvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_resultvaluefoldpositive)) /\ exists fs_q_dst_table_exists_resultvaluefoldpositive_body_steps_partial. fs_u_dst_table_exists_resultvaluefoldpositive = fs_q_dst_table_exists_resultvaluefoldpositive_body_steps_partial * S ((S (fs_i_dst_table_exists_resultvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_resultvaluefoldpositive) + (fs_r_dst_table_exists_resultvaluefoldpositive_body_steps))) /\ ((((exists fs_h_dst_table_exists_resultvaluefoldpositive_body_steps_successor. fs_h_dst_table_exists_resultvaluefoldpositive_body_steps_successor + S (fs_s_dst_table_exists_resultvaluefoldpositive_body_steps) = S ((S (S fs_i_dst_table_exists_resultvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_resultvaluefoldpositive)) /\ exists fs_q_dst_table_exists_resultvaluefoldpositive_body_steps_successor. fs_u_dst_table_exists_resultvaluefoldpositive = fs_q_dst_table_exists_resultvaluefoldpositive_body_steps_successor * S ((S (S fs_i_dst_table_exists_resultvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_resultvaluefoldpositive) + (fs_s_dst_table_exists_resultvaluefoldpositive_body_steps))) /\ fs_s_dst_table_exists_resultvaluefoldpositive_body_steps = fs_r_dst_table_exists_resultvaluefoldpositive_body_steps + fs_a_dst_table_exists_resultvaluefoldpositive_body_steps)))))) /\ (((exists fs_u_dst_table_exists_resultvaluefoldnegative fs_v_dst_table_exists_resultvaluefoldnegative. ((((exists fs_h_dst_table_exists_resultvaluefoldnegative_body_start. fs_h_dst_table_exists_resultvaluefoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_table_exists_resultvaluefoldnegative)) /\ exists fs_q_dst_table_exists_resultvaluefoldnegative_body_start. fs_u_dst_table_exists_resultvaluefoldnegative = fs_q_dst_table_exists_resultvaluefoldnegative_body_start * S ((S (0)) * fs_v_dst_table_exists_resultvaluefoldnegative) + (0))) /\ ((((exists fs_h_dst_table_exists_resultvaluefoldnegative_body_terminal. fs_h_dst_table_exists_resultvaluefoldnegative_body_terminal + S (dst_negative_sum_table_exists_resultvaluefold) = S ((S (S (dc_input_table_exists_result))) * fs_v_dst_table_exists_resultvaluefoldnegative)) /\ exists fs_q_dst_table_exists_resultvaluefoldnegative_body_terminal. fs_u_dst_table_exists_resultvaluefoldnegative = fs_q_dst_table_exists_resultvaluefoldnegative_body_terminal * S ((S (S (dc_input_table_exists_result))) * fs_v_dst_table_exists_resultvaluefoldnegative) + (dst_negative_sum_table_exists_resultvaluefold))) /\ forall fs_i_dst_table_exists_resultvaluefoldnegative_body_steps. (exists fs_lt_dst_table_exists_resultvaluefoldnegative_body_steps_bound. fs_lt_dst_table_exists_resultvaluefoldnegative_body_steps_bound + S fs_i_dst_table_exists_resultvaluefoldnegative_body_steps = S (dc_input_table_exists_result)) -> exists fs_a_dst_table_exists_resultvaluefoldnegative_body_steps fs_r_dst_table_exists_resultvaluefoldnegative_body_steps fs_s_dst_table_exists_resultvaluefoldnegative_body_steps. ((((exists fs_h_dst_table_exists_resultvaluefoldnegative_body_steps_summand. fs_h_dst_table_exists_resultvaluefoldnegative_body_steps_summand + S (fs_a_dst_table_exists_resultvaluefoldnegative_body_steps) = S ((S (fs_i_dst_table_exists_resultvaluefoldnegative_body_steps)) * dst_negative_scale_table_exists_resultvaluefold)) /\ exists fs_q_dst_table_exists_resultvaluefoldnegative_body_steps_summand. dst_negative_code_table_exists_resultvaluefold = fs_q_dst_table_exists_resultvaluefoldnegative_body_steps_summand * S ((S (fs_i_dst_table_exists_resultvaluefoldnegative_body_steps)) * dst_negative_scale_table_exists_resultvaluefold) + (fs_a_dst_table_exists_resultvaluefoldnegative_body_steps))) /\ ((((exists fs_h_dst_table_exists_resultvaluefoldnegative_body_steps_partial. fs_h_dst_table_exists_resultvaluefoldnegative_body_steps_partial + S (fs_r_dst_table_exists_resultvaluefoldnegative_body_steps) = S ((S (fs_i_dst_table_exists_resultvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_resultvaluefoldnegative)) /\ exists fs_q_dst_table_exists_resultvaluefoldnegative_body_steps_partial. fs_u_dst_table_exists_resultvaluefoldnegative = fs_q_dst_table_exists_resultvaluefoldnegative_body_steps_partial * S ((S (fs_i_dst_table_exists_resultvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_resultvaluefoldnegative) + (fs_r_dst_table_exists_resultvaluefoldnegative_body_steps))) /\ ((((exists fs_h_dst_table_exists_resultvaluefoldnegative_body_steps_successor. fs_h_dst_table_exists_resultvaluefoldnegative_body_steps_successor + S (fs_s_dst_table_exists_resultvaluefoldnegative_body_steps) = S ((S (S fs_i_dst_table_exists_resultvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_resultvaluefoldnegative)) /\ exists fs_q_dst_table_exists_resultvaluefoldnegative_body_steps_successor. fs_u_dst_table_exists_resultvaluefoldnegative = fs_q_dst_table_exists_resultvaluefoldnegative_body_steps_successor * S ((S (S fs_i_dst_table_exists_resultvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_resultvaluefoldnegative) + (fs_s_dst_table_exists_resultvaluefoldnegative_body_steps))) /\ fs_s_dst_table_exists_resultvaluefoldnegative_body_steps = fs_r_dst_table_exists_resultvaluefoldnegative_body_steps + fs_a_dst_table_exists_resultvaluefoldnegative_body_steps)))))) /\ (exists ge_balance_positive_table_exists_resultvaluefoldresult ge_balance_negative_table_exists_resultvaluefoldresult. (((((dc_output_table_exists_result) = 2 * (ge_balance_positive_table_exists_resultvaluefoldresult) /\ (ge_balance_negative_table_exists_resultvaluefoldresult) = 0) \/ exists ge_signed_half_table_exists_resultvaluefoldresultdecode. (((dc_output_table_exists_result) = 2 * ge_signed_half_table_exists_resultvaluefoldresultdecode + 1 /\ (ge_balance_positive_table_exists_resultvaluefoldresult) = 0) /\ (ge_balance_negative_table_exists_resultvaluefoldresult) = S ge_signed_half_table_exists_resultvaluefoldresultdecode))) /\ ((dst_positive_sum_table_exists_resultvaluefold) + ge_balance_negative_table_exists_resultvaluefoldresult = (dst_negative_sum_table_exists_resultvaluefold) + ge_balance_positive_table_exists_resultvaluefoldresult))))))))))))))))))))

Constructive proof overview

Generated structural guide

Finite induction constructs an actual convolution table at every positive index through N, including a genuine table witness when N is zero.

The unchanged tactic script uses 5 declared prerequisites and contains 60 exact native proof lines.

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

Proof neighborhood

Direct dependencies

DC0018 dirichlet_convolution_table_zero_constructor signed_table_domain_resize Alpha theorem; checked-use authorized DC0010 dirichlet_convolution_sum_exists le_refl Stable theorem; checked-use authorized DC0019 dirichlet_convolution_table_append

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

60 script commands · 15 reading checkpoints · 3 local claims

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

Named ingredients (3)

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

01Fix variables and assumptionsL1–1

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

  1. L1
    intro N
02Induction on NL2–6

Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.

  1. L2
    induction N
  2. L3
    intro F
  3. L4
    intro G
  4. L5
    intro hF
  5. L6
    intro hG
03Construct an explicit witnessL7–7

Supply the displayed value, then prove that it has the required property.

  1. L7
    exists F
04Use earlier factsL8–14

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

  1. L8
    specialize dirichlet_convolution_table_zero_constructor (F)
  2. L9
    specialize dirichlet_convolution_table_zero_constructor (G)
  3. L10
    specialize dirichlet_convolution_table_zero_constructor (F)
  4. L11
    apply dirichlet_convolution_table_zero_constructor
  5. L12
    exact hF
  6. L13
    exact hG
  7. L14
    exact hF
05Fix variables and assumptionsL15–18

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

  1. L15
    intro F
  2. L16
    intro G
  3. L17
    intro hF
  4. L18
    intro hG
06Establish hprevL19–28

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

  1. L19
    have hprev : ∃ H. DirichletTable(N,F,G,H)Definitions: DirichletTable
  2. L20
    specialize IH (F)
  3. L21
    specialize IH (G)
  4. L22
    apply IH
  5. L23
    specialize signed_table_domain_resize (S N)
  6. L24
    specialize signed_table_domain_resize (N)
  7. L25
    specialize signed_table_domain_resize (F)
  8. L26
    apply signed_table_domain_resize
  9. L27
    exact hF
  10. L28
    specialize signed_table_domain_resize (S N)
07Use earlier factsL29–32

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

  1. L29
    specialize signed_table_domain_resize (N)
  2. L30
    specialize signed_table_domain_resize (G)
  3. L31
    apply signed_table_domain_resize
  4. L32
    exact hG
08Separate the logical casesL33–33

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

  1. L33
    cases hprev
09Establish hzL34–43

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

  1. L34
    have hz : ∃ z. DirichletSum(F,G,S N,z)Definitions: DirichletSum
  2. L35
    specialize dirichlet_convolution_sum_exists (S N)
  3. L36
    specialize dirichlet_convolution_sum_exists (F)
  4. L37
    specialize dirichlet_convolution_sum_exists (G)
  5. L38
    specialize dirichlet_convolution_sum_exists (S N)
  6. L39
    apply dirichlet_convolution_sum_exists
  7. L40
    exact hF
  8. L41
    exact hG
  9. L42
    intro hzero
  10. L43
    apply PA1
10Use earlier factsL44–46

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

  1. L44
    exact hzero
  2. L45
    specialize le_refl (S N)
  3. L46
    apply le_refl
11Separate the logical casesL47–47

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

  1. L47
    cases hz
12Establish hnextL48–56

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

  1. L48
    have hnext : ∃ K. DirichletTable(S N,F,G,K) ∧ ArithTableEqual(x,K,S N)Definitions: ArithTableEqualDirichletTable
  2. L49
    specialize dirichlet_convolution_table_append (N)
  3. L50
    specialize dirichlet_convolution_table_append (F)
  4. L51
    specialize dirichlet_convolution_table_append (G)
  5. L52
    specialize dirichlet_convolution_table_append (x)
  6. L53
    specialize dirichlet_convolution_table_append (x1)
  7. L54
    apply dirichlet_convolution_table_append
  8. L55
    exact hprev_witness
  9. L56
    exact hz_witness
13Separate the logical casesL57–58

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

  1. L57
    cases hnext
  2. L58
    cases hnext_witness
14Construct an explicit witnessL59–59

Supply the displayed value, then prove that it has the required property.

  1. L59
    exists x2
15Use earlier factsL60–60

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

  1. L60
    exact hnext_witness_left

Library-wide reading audit

Original exact command ledger · 60 lines
  1. 0001intro N
  2. 0002induction N
  3. 0003intro F
  4. 0004intro G
  5. 0005intro hF
  6. 0006intro hG
  7. 0007exists F
  8. 0008specialize dirichlet_convolution_table_zero_constructor (F)
  9. 0009specialize dirichlet_convolution_table_zero_constructor (G)
  10. 0010specialize dirichlet_convolution_table_zero_constructor (F)
  11. 0011apply dirichlet_convolution_table_zero_constructor
  12. 0012exact hF
  13. 0013exact hG
  14. 0014exact hF
  15. 0015intro F
  16. 0016intro G
  17. 0017intro hF
  18. 0018intro hG
  19. 0019have hprev : exists H. (((exists dst_positive_code_table_exists_previousleft dst_positive_scale_table_exists_previousleft dst_negative_code_table_exists_previousleft dst_negative_scale_table_exists_previousleft. (((F) = (((((dst_positive_code_table_exists_previousleft) + (dst_positive_scale_table_exists_previousleft)) * S ((dst_positive_code_table_exists_previousleft) + (dst_positive_scale_table_exists_previousleft)) + ((dst_positive_scale_table_exists_previousleft) + (dst_positive_scale_table_exists_previousleft))) + (((dst_negative_code_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)) * S ((dst_negative_code_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)) + ((dst_negative_scale_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)))) * S ((((dst_positive_code_table_exists_previousleft) + (dst_positive_scale_table_exists_previousleft)) * S ((dst_positive_code_table_exists_previousleft) + (dst_positive_scale_table_exists_previousleft)) + ((dst_positive_scale_table_exists_previousleft) + (dst_positive_scale_table_exists_previousleft))) + (((dst_negative_code_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)) * S ((dst_negative_code_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)) + ((dst_negative_scale_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)))) + ((((dst_negative_code_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)) * S ((dst_negative_code_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)) + ((dst_negative_scale_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft))) + (((dst_negative_code_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)) * S ((dst_negative_code_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)) + ((dst_negative_scale_table_exists_previousleft) + (dst_negative_scale_table_exists_previousleft)))))) /\ (forall dst_index_table_exists_previousleft. (exists pvs_le_gap_table_exists_previousleftdomain. pvs_le_gap_table_exists_previousleftdomain + (dst_index_table_exists_previousleft) = (N)) -> exists dst_positive_table_exists_previousleft dst_negative_table_exists_previousleft dst_value_table_exists_previousleft. ((((exists ff_h_pvs_table_exists_previousleftentrypositive. ff_h_pvs_table_exists_previousleftentrypositive + S (dst_positive_table_exists_previousleft) = S ((S (dst_index_table_exists_previousleft)) * dst_positive_scale_table_exists_previousleft)) /\ exists ff_q_pvs_table_exists_previousleftentrypositive. dst_positive_code_table_exists_previousleft = ff_q_pvs_table_exists_previousleftentrypositive * S ((S (dst_index_table_exists_previousleft)) * dst_positive_scale_table_exists_previousleft) + (dst_positive_table_exists_previousleft))) /\ (((((exists ff_h_pvs_table_exists_previousleftentrynegative. ff_h_pvs_table_exists_previousleftentrynegative + S (dst_negative_table_exists_previousleft) = S ((S (dst_index_table_exists_previousleft)) * dst_negative_scale_table_exists_previousleft)) /\ exists ff_q_pvs_table_exists_previousleftentrynegative. dst_negative_code_table_exists_previousleft = ff_q_pvs_table_exists_previousleftentrynegative * S ((S (dst_index_table_exists_previousleft)) * dst_negative_scale_table_exists_previousleft) + (dst_negative_table_exists_previousleft))) /\ (exists ge_balance_positive_table_exists_previousleftentryvalue ge_balance_negative_table_exists_previousleftentryvalue. (((((dst_value_table_exists_previousleft) = 2 * (ge_balance_positive_table_exists_previousleftentryvalue) /\ (ge_balance_negative_table_exists_previousleftentryvalue) = 0) \/ exists ge_signed_half_table_exists_previousleftentryvaluedecode. (((dst_value_table_exists_previousleft) = 2 * ge_signed_half_table_exists_previousleftentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_previousleftentryvalue) = 0) /\ (ge_balance_negative_table_exists_previousleftentryvalue) = S ge_signed_half_table_exists_previousleftentryvaluedecode))) /\ ((dst_positive_table_exists_previousleft) + ge_balance_negative_table_exists_previousleftentryvalue = (dst_negative_table_exists_previousleft) + ge_balance_positive_table_exists_previousleftentryvalue))))))))) /\ (((exists dst_positive_code_table_exists_previousright dst_positive_scale_table_exists_previousright dst_negative_code_table_exists_previousright dst_negative_scale_table_exists_previousright. (((G) = (((((dst_positive_code_table_exists_previousright) + (dst_positive_scale_table_exists_previousright)) * S ((dst_positive_code_table_exists_previousright) + (dst_positive_scale_table_exists_previousright)) + ((dst_positive_scale_table_exists_previousright) + (dst_positive_scale_table_exists_previousright))) + (((dst_negative_code_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)) * S ((dst_negative_code_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)) + ((dst_negative_scale_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)))) * S ((((dst_positive_code_table_exists_previousright) + (dst_positive_scale_table_exists_previousright)) * S ((dst_positive_code_table_exists_previousright) + (dst_positive_scale_table_exists_previousright)) + ((dst_positive_scale_table_exists_previousright) + (dst_positive_scale_table_exists_previousright))) + (((dst_negative_code_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)) * S ((dst_negative_code_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)) + ((dst_negative_scale_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)))) + ((((dst_negative_code_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)) * S ((dst_negative_code_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)) + ((dst_negative_scale_table_exists_previousright) + (dst_negative_scale_table_exists_previousright))) + (((dst_negative_code_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)) * S ((dst_negative_code_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)) + ((dst_negative_scale_table_exists_previousright) + (dst_negative_scale_table_exists_previousright)))))) /\ (forall dst_index_table_exists_previousright. (exists pvs_le_gap_table_exists_previousrightdomain. pvs_le_gap_table_exists_previousrightdomain + (dst_index_table_exists_previousright) = (N)) -> exists dst_positive_table_exists_previousright dst_negative_table_exists_previousright dst_value_table_exists_previousright. ((((exists ff_h_pvs_table_exists_previousrightentrypositive. ff_h_pvs_table_exists_previousrightentrypositive + S (dst_positive_table_exists_previousright) = S ((S (dst_index_table_exists_previousright)) * dst_positive_scale_table_exists_previousright)) /\ exists ff_q_pvs_table_exists_previousrightentrypositive. dst_positive_code_table_exists_previousright = ff_q_pvs_table_exists_previousrightentrypositive * S ((S (dst_index_table_exists_previousright)) * dst_positive_scale_table_exists_previousright) + (dst_positive_table_exists_previousright))) /\ (((((exists ff_h_pvs_table_exists_previousrightentrynegative. ff_h_pvs_table_exists_previousrightentrynegative + S (dst_negative_table_exists_previousright) = S ((S (dst_index_table_exists_previousright)) * dst_negative_scale_table_exists_previousright)) /\ exists ff_q_pvs_table_exists_previousrightentrynegative. dst_negative_code_table_exists_previousright = ff_q_pvs_table_exists_previousrightentrynegative * S ((S (dst_index_table_exists_previousright)) * dst_negative_scale_table_exists_previousright) + (dst_negative_table_exists_previousright))) /\ (exists ge_balance_positive_table_exists_previousrightentryvalue ge_balance_negative_table_exists_previousrightentryvalue. (((((dst_value_table_exists_previousright) = 2 * (ge_balance_positive_table_exists_previousrightentryvalue) /\ (ge_balance_negative_table_exists_previousrightentryvalue) = 0) \/ exists ge_signed_half_table_exists_previousrightentryvaluedecode. (((dst_value_table_exists_previousright) = 2 * ge_signed_half_table_exists_previousrightentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_previousrightentryvalue) = 0) /\ (ge_balance_negative_table_exists_previousrightentryvalue) = S ge_signed_half_table_exists_previousrightentryvaluedecode))) /\ ((dst_positive_table_exists_previousright) + ge_balance_negative_table_exists_previousrightentryvalue = (dst_negative_table_exists_previousright) + ge_balance_positive_table_exists_previousrightentryvalue))))))))) /\ (((exists dst_positive_code_table_exists_previoustable dst_positive_scale_table_exists_previoustable dst_negative_code_table_exists_previoustable dst_negative_scale_table_exists_previoustable. (((H) = (((((dst_positive_code_table_exists_previoustable) + (dst_positive_scale_table_exists_previoustable)) * S ((dst_positive_code_table_exists_previoustable) + (dst_positive_scale_table_exists_previoustable)) + ((dst_positive_scale_table_exists_previoustable) + (dst_positive_scale_table_exists_previoustable))) + (((dst_negative_code_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)) * S ((dst_negative_code_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)) + ((dst_negative_scale_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)))) * S ((((dst_positive_code_table_exists_previoustable) + (dst_positive_scale_table_exists_previoustable)) * S ((dst_positive_code_table_exists_previoustable) + (dst_positive_scale_table_exists_previoustable)) + ((dst_positive_scale_table_exists_previoustable) + (dst_positive_scale_table_exists_previoustable))) + (((dst_negative_code_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)) * S ((dst_negative_code_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)) + ((dst_negative_scale_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)))) + ((((dst_negative_code_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)) * S ((dst_negative_code_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)) + ((dst_negative_scale_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable))) + (((dst_negative_code_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)) * S ((dst_negative_code_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)) + ((dst_negative_scale_table_exists_previoustable) + (dst_negative_scale_table_exists_previoustable)))))) /\ (forall dst_index_table_exists_previoustable. (exists pvs_le_gap_table_exists_previoustabledomain. pvs_le_gap_table_exists_previoustabledomain + (dst_index_table_exists_previoustable) = (N)) -> exists dst_positive_table_exists_previoustable dst_negative_table_exists_previoustable dst_value_table_exists_previoustable. ((((exists ff_h_pvs_table_exists_previoustableentrypositive. ff_h_pvs_table_exists_previoustableentrypositive + S (dst_positive_table_exists_previoustable) = S ((S (dst_index_table_exists_previoustable)) * dst_positive_scale_table_exists_previoustable)) /\ exists ff_q_pvs_table_exists_previoustableentrypositive. dst_positive_code_table_exists_previoustable = ff_q_pvs_table_exists_previoustableentrypositive * S ((S (dst_index_table_exists_previoustable)) * dst_positive_scale_table_exists_previoustable) + (dst_positive_table_exists_previoustable))) /\ (((((exists ff_h_pvs_table_exists_previoustableentrynegative. ff_h_pvs_table_exists_previoustableentrynegative + S (dst_negative_table_exists_previoustable) = S ((S (dst_index_table_exists_previoustable)) * dst_negative_scale_table_exists_previoustable)) /\ exists ff_q_pvs_table_exists_previoustableentrynegative. dst_negative_code_table_exists_previoustable = ff_q_pvs_table_exists_previoustableentrynegative * S ((S (dst_index_table_exists_previoustable)) * dst_negative_scale_table_exists_previoustable) + (dst_negative_table_exists_previoustable))) /\ (exists ge_balance_positive_table_exists_previoustableentryvalue ge_balance_negative_table_exists_previoustableentryvalue. (((((dst_value_table_exists_previoustable) = 2 * (ge_balance_positive_table_exists_previoustableentryvalue) /\ (ge_balance_negative_table_exists_previoustableentryvalue) = 0) \/ exists ge_signed_half_table_exists_previoustableentryvaluedecode. (((dst_value_table_exists_previoustable) = 2 * ge_signed_half_table_exists_previoustableentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_previoustableentryvalue) = 0) /\ (ge_balance_negative_table_exists_previoustableentryvalue) = S ge_signed_half_table_exists_previoustableentryvaluedecode))) /\ ((dst_positive_table_exists_previoustable) + ge_balance_negative_table_exists_previoustableentryvalue = (dst_negative_table_exists_previoustable) + ge_balance_positive_table_exists_previoustableentryvalue))))))))) /\ (forall dc_input_table_exists_previous dc_output_table_exists_previous. ~(dc_input_table_exists_previous=0) -> (exists pvs_le_gap_table_exists_previousdomain. pvs_le_gap_table_exists_previousdomain + (dc_input_table_exists_previous) = (N)) -> (exists dst_positive_code_table_exists_previouslookup dst_positive_scale_table_exists_previouslookup dst_negative_code_table_exists_previouslookup dst_negative_scale_table_exists_previouslookup dst_positive_table_exists_previouslookup dst_negative_table_exists_previouslookup. (((H) = (((((dst_positive_code_table_exists_previouslookup) + (dst_positive_scale_table_exists_previouslookup)) * S ((dst_positive_code_table_exists_previouslookup) + (dst_positive_scale_table_exists_previouslookup)) + ((dst_positive_scale_table_exists_previouslookup) + (dst_positive_scale_table_exists_previouslookup))) + (((dst_negative_code_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)) * S ((dst_negative_code_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)) + ((dst_negative_scale_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)))) * S ((((dst_positive_code_table_exists_previouslookup) + (dst_positive_scale_table_exists_previouslookup)) * S ((dst_positive_code_table_exists_previouslookup) + (dst_positive_scale_table_exists_previouslookup)) + ((dst_positive_scale_table_exists_previouslookup) + (dst_positive_scale_table_exists_previouslookup))) + (((dst_negative_code_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)) * S ((dst_negative_code_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)) + ((dst_negative_scale_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)))) + ((((dst_negative_code_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)) * S ((dst_negative_code_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)) + ((dst_negative_scale_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup))) + (((dst_negative_code_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)) * S ((dst_negative_code_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)) + ((dst_negative_scale_table_exists_previouslookup) + (dst_negative_scale_table_exists_previouslookup)))))) /\ (((((exists ff_h_pvs_table_exists_previouslookuppositive. ff_h_pvs_table_exists_previouslookuppositive + S (dst_positive_table_exists_previouslookup) = S ((S (dc_input_table_exists_previous)) * dst_positive_scale_table_exists_previouslookup)) /\ exists ff_q_pvs_table_exists_previouslookuppositive. dst_positive_code_table_exists_previouslookup = ff_q_pvs_table_exists_previouslookuppositive * S ((S (dc_input_table_exists_previous)) * dst_positive_scale_table_exists_previouslookup) + (dst_positive_table_exists_previouslookup))) /\ (((((exists ff_h_pvs_table_exists_previouslookupnegative. ff_h_pvs_table_exists_previouslookupnegative + S (dst_negative_table_exists_previouslookup) = S ((S (dc_input_table_exists_previous)) * dst_negative_scale_table_exists_previouslookup)) /\ exists ff_q_pvs_table_exists_previouslookupnegative. dst_negative_code_table_exists_previouslookup = ff_q_pvs_table_exists_previouslookupnegative * S ((S (dc_input_table_exists_previous)) * dst_negative_scale_table_exists_previouslookup) + (dst_negative_table_exists_previouslookup))) /\ (exists ge_balance_positive_table_exists_previouslookupvalue ge_balance_negative_table_exists_previouslookupvalue. (((((dc_output_table_exists_previous) = 2 * (ge_balance_positive_table_exists_previouslookupvalue) /\ (ge_balance_negative_table_exists_previouslookupvalue) = 0) \/ exists ge_signed_half_table_exists_previouslookupvaluedecode. (((dc_output_table_exists_previous) = 2 * ge_signed_half_table_exists_previouslookupvaluedecode + 1 /\ (ge_balance_positive_table_exists_previouslookupvalue) = 0) /\ (ge_balance_negative_table_exists_previouslookupvalue) = S ge_signed_half_table_exists_previouslookupvaluedecode))) /\ ((dst_positive_table_exists_previouslookup) + ge_balance_negative_table_exists_previouslookupvalue = (dst_negative_table_exists_previouslookup) + ge_balance_positive_table_exists_previouslookupvalue))))))))) -> (((~((dc_input_table_exists_previous)=0)) /\ (exists dc_mask_table_exists_previousvalue. ((((exists dst_positive_code_table_exists_previousvaluemasktable dst_positive_scale_table_exists_previousvaluemasktable dst_negative_code_table_exists_previousvaluemasktable dst_negative_scale_table_exists_previousvaluemasktable. (((dc_mask_table_exists_previousvalue) = (((((dst_positive_code_table_exists_previousvaluemasktable) + (dst_positive_scale_table_exists_previousvaluemasktable)) * S ((dst_positive_code_table_exists_previousvaluemasktable) + (dst_positive_scale_table_exists_previousvaluemasktable)) + ((dst_positive_scale_table_exists_previousvaluemasktable) + (dst_positive_scale_table_exists_previousvaluemasktable))) + (((dst_negative_code_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)) * S ((dst_negative_code_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)) + ((dst_negative_scale_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)))) * S ((((dst_positive_code_table_exists_previousvaluemasktable) + (dst_positive_scale_table_exists_previousvaluemasktable)) * S ((dst_positive_code_table_exists_previousvaluemasktable) + (dst_positive_scale_table_exists_previousvaluemasktable)) + ((dst_positive_scale_table_exists_previousvaluemasktable) + (dst_positive_scale_table_exists_previousvaluemasktable))) + (((dst_negative_code_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)) * S ((dst_negative_code_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)) + ((dst_negative_scale_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)))) + ((((dst_negative_code_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)) * S ((dst_negative_code_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)) + ((dst_negative_scale_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable))) + (((dst_negative_code_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)) * S ((dst_negative_code_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)) + ((dst_negative_scale_table_exists_previousvaluemasktable) + (dst_negative_scale_table_exists_previousvaluemasktable)))))) /\ (forall dst_index_table_exists_previousvaluemasktable. (exists pvs_le_gap_table_exists_previousvaluemasktabledomain. pvs_le_gap_table_exists_previousvaluemasktabledomain + (dst_index_table_exists_previousvaluemasktable) = (dc_input_table_exists_previous)) -> exists dst_positive_table_exists_previousvaluemasktable dst_negative_table_exists_previousvaluemasktable dst_value_table_exists_previousvaluemasktable. ((((exists ff_h_pvs_table_exists_previousvaluemasktableentrypositive. ff_h_pvs_table_exists_previousvaluemasktableentrypositive + S (dst_positive_table_exists_previousvaluemasktable) = S ((S (dst_index_table_exists_previousvaluemasktable)) * dst_positive_scale_table_exists_previousvaluemasktable)) /\ exists ff_q_pvs_table_exists_previousvaluemasktableentrypositive. dst_positive_code_table_exists_previousvaluemasktable = ff_q_pvs_table_exists_previousvaluemasktableentrypositive * S ((S (dst_index_table_exists_previousvaluemasktable)) * dst_positive_scale_table_exists_previousvaluemasktable) + (dst_positive_table_exists_previousvaluemasktable))) /\ (((((exists ff_h_pvs_table_exists_previousvaluemasktableentrynegative. ff_h_pvs_table_exists_previousvaluemasktableentrynegative + S (dst_negative_table_exists_previousvaluemasktable) = S ((S (dst_index_table_exists_previousvaluemasktable)) * dst_negative_scale_table_exists_previousvaluemasktable)) /\ exists ff_q_pvs_table_exists_previousvaluemasktableentrynegative. dst_negative_code_table_exists_previousvaluemasktable = ff_q_pvs_table_exists_previousvaluemasktableentrynegative * S ((S (dst_index_table_exists_previousvaluemasktable)) * dst_negative_scale_table_exists_previousvaluemasktable) + (dst_negative_table_exists_previousvaluemasktable))) /\ (exists ge_balance_positive_table_exists_previousvaluemasktableentryvalue ge_balance_negative_table_exists_previousvaluemasktableentryvalue. (((((dst_value_table_exists_previousvaluemasktable) = 2 * (ge_balance_positive_table_exists_previousvaluemasktableentryvalue) /\ (ge_balance_negative_table_exists_previousvaluemasktableentryvalue) = 0) \/ exists ge_signed_half_table_exists_previousvaluemasktableentryvaluedecode. (((dst_value_table_exists_previousvaluemasktable) = 2 * ge_signed_half_table_exists_previousvaluemasktableentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_previousvaluemasktableentryvalue) = 0) /\ (ge_balance_negative_table_exists_previousvaluemasktableentryvalue) = S ge_signed_half_table_exists_previousvaluemasktableentryvaluedecode))) /\ ((dst_positive_table_exists_previousvaluemasktable) + ge_balance_negative_table_exists_previousvaluemasktableentryvalue = (dst_negative_table_exists_previousvaluemasktable) + ge_balance_positive_table_exists_previousvaluemasktableentryvalue))))))))) /\ (forall dc_index_table_exists_previousvaluemask dc_value_table_exists_previousvaluemask. (exists pvs_le_gap_table_exists_previousvaluemaskdomain. pvs_le_gap_table_exists_previousvaluemaskdomain + (dc_index_table_exists_previousvaluemask) = (dc_input_table_exists_previous)) -> (exists dst_positive_code_table_exists_previousvaluemasklookup dst_positive_scale_table_exists_previousvaluemasklookup dst_negative_code_table_exists_previousvaluemasklookup dst_negative_scale_table_exists_previousvaluemasklookup dst_positive_table_exists_previousvaluemasklookup dst_negative_table_exists_previousvaluemasklookup. (((dc_mask_table_exists_previousvalue) = (((((dst_positive_code_table_exists_previousvaluemasklookup) + (dst_positive_scale_table_exists_previousvaluemasklookup)) * S ((dst_positive_code_table_exists_previousvaluemasklookup) + (dst_positive_scale_table_exists_previousvaluemasklookup)) + ((dst_positive_scale_table_exists_previousvaluemasklookup) + (dst_positive_scale_table_exists_previousvaluemasklookup))) + (((dst_negative_code_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)) * S ((dst_negative_code_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)) + ((dst_negative_scale_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)))) * S ((((dst_positive_code_table_exists_previousvaluemasklookup) + (dst_positive_scale_table_exists_previousvaluemasklookup)) * S ((dst_positive_code_table_exists_previousvaluemasklookup) + (dst_positive_scale_table_exists_previousvaluemasklookup)) + ((dst_positive_scale_table_exists_previousvaluemasklookup) + (dst_positive_scale_table_exists_previousvaluemasklookup))) + (((dst_negative_code_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)) * S ((dst_negative_code_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)) + ((dst_negative_scale_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)))) + ((((dst_negative_code_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)) * S ((dst_negative_code_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)) + ((dst_negative_scale_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup))) + (((dst_negative_code_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)) * S ((dst_negative_code_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)) + ((dst_negative_scale_table_exists_previousvaluemasklookup) + (dst_negative_scale_table_exists_previousvaluemasklookup)))))) /\ (((((exists ff_h_pvs_table_exists_previousvaluemasklookuppositive. ff_h_pvs_table_exists_previousvaluemasklookuppositive + S (dst_positive_table_exists_previousvaluemasklookup) = S ((S (dc_index_table_exists_previousvaluemask)) * dst_positive_scale_table_exists_previousvaluemasklookup)) /\ exists ff_q_pvs_table_exists_previousvaluemasklookuppositive. dst_positive_code_table_exists_previousvaluemasklookup = ff_q_pvs_table_exists_previousvaluemasklookuppositive * S ((S (dc_index_table_exists_previousvaluemask)) * dst_positive_scale_table_exists_previousvaluemasklookup) + (dst_positive_table_exists_previousvaluemasklookup))) /\ (((((exists ff_h_pvs_table_exists_previousvaluemasklookupnegative. ff_h_pvs_table_exists_previousvaluemasklookupnegative + S (dst_negative_table_exists_previousvaluemasklookup) = S ((S (dc_index_table_exists_previousvaluemask)) * dst_negative_scale_table_exists_previousvaluemasklookup)) /\ exists ff_q_pvs_table_exists_previousvaluemasklookupnegative. dst_negative_code_table_exists_previousvaluemasklookup = ff_q_pvs_table_exists_previousvaluemasklookupnegative * S ((S (dc_index_table_exists_previousvaluemask)) * dst_negative_scale_table_exists_previousvaluemasklookup) + (dst_negative_table_exists_previousvaluemasklookup))) /\ (exists ge_balance_positive_table_exists_previousvaluemasklookupvalue ge_balance_negative_table_exists_previousvaluemasklookupvalue. (((((dc_value_table_exists_previousvaluemask) = 2 * (ge_balance_positive_table_exists_previousvaluemasklookupvalue) /\ (ge_balance_negative_table_exists_previousvaluemasklookupvalue) = 0) \/ exists ge_signed_half_table_exists_previousvaluemasklookupvaluedecode. (((dc_value_table_exists_previousvaluemask) = 2 * ge_signed_half_table_exists_previousvaluemasklookupvaluedecode + 1 /\ (ge_balance_positive_table_exists_previousvaluemasklookupvalue) = 0) /\ (ge_balance_negative_table_exists_previousvaluemasklookupvalue) = S ge_signed_half_table_exists_previousvaluemasklookupvaluedecode))) /\ ((dst_positive_table_exists_previousvaluemasklookup) + ge_balance_negative_table_exists_previousvaluemasklookupvalue = (dst_negative_table_exists_previousvaluemasklookup) + ge_balance_positive_table_exists_previousvaluemasklookupvalue))))))))) -> ((((~((dc_index_table_exists_previousvaluemask)=0)) /\ (exists dc_quotient_table_exists_previousvaluemaskentry dc_left_table_exists_previousvaluemaskentry dc_right_table_exists_previousvaluemaskentry. (((dc_input_table_exists_previous)=(dc_index_table_exists_previousvaluemask)*dc_quotient_table_exists_previousvaluemaskentry) /\ (((exists dst_positive_code_table_exists_previousvaluemaskentryleft dst_positive_scale_table_exists_previousvaluemaskentryleft dst_negative_code_table_exists_previousvaluemaskentryleft dst_negative_scale_table_exists_previousvaluemaskentryleft dst_positive_table_exists_previousvaluemaskentryleft dst_negative_table_exists_previousvaluemaskentryleft. (((F) = (((((dst_positive_code_table_exists_previousvaluemaskentryleft) + (dst_positive_scale_table_exists_previousvaluemaskentryleft)) * S ((dst_positive_code_table_exists_previousvaluemaskentryleft) + (dst_positive_scale_table_exists_previousvaluemaskentryleft)) + ((dst_positive_scale_table_exists_previousvaluemaskentryleft) + (dst_positive_scale_table_exists_previousvaluemaskentryleft))) + (((dst_negative_code_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)) * S ((dst_negative_code_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)) + ((dst_negative_scale_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)))) * S ((((dst_positive_code_table_exists_previousvaluemaskentryleft) + (dst_positive_scale_table_exists_previousvaluemaskentryleft)) * S ((dst_positive_code_table_exists_previousvaluemaskentryleft) + (dst_positive_scale_table_exists_previousvaluemaskentryleft)) + ((dst_positive_scale_table_exists_previousvaluemaskentryleft) + (dst_positive_scale_table_exists_previousvaluemaskentryleft))) + (((dst_negative_code_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)) * S ((dst_negative_code_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)) + ((dst_negative_scale_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)))) + ((((dst_negative_code_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)) * S ((dst_negative_code_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)) + ((dst_negative_scale_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft))) + (((dst_negative_code_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)) * S ((dst_negative_code_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)) + ((dst_negative_scale_table_exists_previousvaluemaskentryleft) + (dst_negative_scale_table_exists_previousvaluemaskentryleft)))))) /\ (((((exists ff_h_pvs_table_exists_previousvaluemaskentryleftpositive. ff_h_pvs_table_exists_previousvaluemaskentryleftpositive + S (dst_positive_table_exists_previousvaluemaskentryleft) = S ((S (dc_index_table_exists_previousvaluemask)) * dst_positive_scale_table_exists_previousvaluemaskentryleft)) /\ exists ff_q_pvs_table_exists_previousvaluemaskentryleftpositive. dst_positive_code_table_exists_previousvaluemaskentryleft = ff_q_pvs_table_exists_previousvaluemaskentryleftpositive * S ((S (dc_index_table_exists_previousvaluemask)) * dst_positive_scale_table_exists_previousvaluemaskentryleft) + (dst_positive_table_exists_previousvaluemaskentryleft))) /\ (((((exists ff_h_pvs_table_exists_previousvaluemaskentryleftnegative. ff_h_pvs_table_exists_previousvaluemaskentryleftnegative + S (dst_negative_table_exists_previousvaluemaskentryleft) = S ((S (dc_index_table_exists_previousvaluemask)) * dst_negative_scale_table_exists_previousvaluemaskentryleft)) /\ exists ff_q_pvs_table_exists_previousvaluemaskentryleftnegative. dst_negative_code_table_exists_previousvaluemaskentryleft = ff_q_pvs_table_exists_previousvaluemaskentryleftnegative * S ((S (dc_index_table_exists_previousvaluemask)) * dst_negative_scale_table_exists_previousvaluemaskentryleft) + (dst_negative_table_exists_previousvaluemaskentryleft))) /\ (exists ge_balance_positive_table_exists_previousvaluemaskentryleftvalue ge_balance_negative_table_exists_previousvaluemaskentryleftvalue. (((((dc_left_table_exists_previousvaluemaskentry) = 2 * (ge_balance_positive_table_exists_previousvaluemaskentryleftvalue) /\ (ge_balance_negative_table_exists_previousvaluemaskentryleftvalue) = 0) \/ exists ge_signed_half_table_exists_previousvaluemaskentryleftvaluedecode. (((dc_left_table_exists_previousvaluemaskentry) = 2 * ge_signed_half_table_exists_previousvaluemaskentryleftvaluedecode + 1 /\ (ge_balance_positive_table_exists_previousvaluemaskentryleftvalue) = 0) /\ (ge_balance_negative_table_exists_previousvaluemaskentryleftvalue) = S ge_signed_half_table_exists_previousvaluemaskentryleftvaluedecode))) /\ ((dst_positive_table_exists_previousvaluemaskentryleft) + ge_balance_negative_table_exists_previousvaluemaskentryleftvalue = (dst_negative_table_exists_previousvaluemaskentryleft) + ge_balance_positive_table_exists_previousvaluemaskentryleftvalue))))))))) /\ (((exists dst_positive_code_table_exists_previousvaluemaskentryright dst_positive_scale_table_exists_previousvaluemaskentryright dst_negative_code_table_exists_previousvaluemaskentryright dst_negative_scale_table_exists_previousvaluemaskentryright dst_positive_table_exists_previousvaluemaskentryright dst_negative_table_exists_previousvaluemaskentryright. (((G) = (((((dst_positive_code_table_exists_previousvaluemaskentryright) + (dst_positive_scale_table_exists_previousvaluemaskentryright)) * S ((dst_positive_code_table_exists_previousvaluemaskentryright) + (dst_positive_scale_table_exists_previousvaluemaskentryright)) + ((dst_positive_scale_table_exists_previousvaluemaskentryright) + (dst_positive_scale_table_exists_previousvaluemaskentryright))) + (((dst_negative_code_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)) * S ((dst_negative_code_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)) + ((dst_negative_scale_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)))) * S ((((dst_positive_code_table_exists_previousvaluemaskentryright) + (dst_positive_scale_table_exists_previousvaluemaskentryright)) * S ((dst_positive_code_table_exists_previousvaluemaskentryright) + (dst_positive_scale_table_exists_previousvaluemaskentryright)) + ((dst_positive_scale_table_exists_previousvaluemaskentryright) + (dst_positive_scale_table_exists_previousvaluemaskentryright))) + (((dst_negative_code_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)) * S ((dst_negative_code_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)) + ((dst_negative_scale_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)))) + ((((dst_negative_code_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)) * S ((dst_negative_code_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)) + ((dst_negative_scale_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright))) + (((dst_negative_code_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)) * S ((dst_negative_code_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)) + ((dst_negative_scale_table_exists_previousvaluemaskentryright) + (dst_negative_scale_table_exists_previousvaluemaskentryright)))))) /\ (((((exists ff_h_pvs_table_exists_previousvaluemaskentryrightpositive. ff_h_pvs_table_exists_previousvaluemaskentryrightpositive + S (dst_positive_table_exists_previousvaluemaskentryright) = S ((S (dc_quotient_table_exists_previousvaluemaskentry)) * dst_positive_scale_table_exists_previousvaluemaskentryright)) /\ exists ff_q_pvs_table_exists_previousvaluemaskentryrightpositive. dst_positive_code_table_exists_previousvaluemaskentryright = ff_q_pvs_table_exists_previousvaluemaskentryrightpositive * S ((S (dc_quotient_table_exists_previousvaluemaskentry)) * dst_positive_scale_table_exists_previousvaluemaskentryright) + (dst_positive_table_exists_previousvaluemaskentryright))) /\ (((((exists ff_h_pvs_table_exists_previousvaluemaskentryrightnegative. ff_h_pvs_table_exists_previousvaluemaskentryrightnegative + S (dst_negative_table_exists_previousvaluemaskentryright) = S ((S (dc_quotient_table_exists_previousvaluemaskentry)) * dst_negative_scale_table_exists_previousvaluemaskentryright)) /\ exists ff_q_pvs_table_exists_previousvaluemaskentryrightnegative. dst_negative_code_table_exists_previousvaluemaskentryright = ff_q_pvs_table_exists_previousvaluemaskentryrightnegative * S ((S (dc_quotient_table_exists_previousvaluemaskentry)) * dst_negative_scale_table_exists_previousvaluemaskentryright) + (dst_negative_table_exists_previousvaluemaskentryright))) /\ (exists ge_balance_positive_table_exists_previousvaluemaskentryrightvalue ge_balance_negative_table_exists_previousvaluemaskentryrightvalue. (((((dc_right_table_exists_previousvaluemaskentry) = 2 * (ge_balance_positive_table_exists_previousvaluemaskentryrightvalue) /\ (ge_balance_negative_table_exists_previousvaluemaskentryrightvalue) = 0) \/ exists ge_signed_half_table_exists_previousvaluemaskentryrightvaluedecode. (((dc_right_table_exists_previousvaluemaskentry) = 2 * ge_signed_half_table_exists_previousvaluemaskentryrightvaluedecode + 1 /\ (ge_balance_positive_table_exists_previousvaluemaskentryrightvalue) = 0) /\ (ge_balance_negative_table_exists_previousvaluemaskentryrightvalue) = S ge_signed_half_table_exists_previousvaluemaskentryrightvaluedecode))) /\ ((dst_positive_table_exists_previousvaluemaskentryright) + ge_balance_negative_table_exists_previousvaluemaskentryrightvalue = (dst_negative_table_exists_previousvaluemaskentryright) + ge_balance_positive_table_exists_previousvaluemaskentryrightvalue))))))))) /\ (exists sto_ap_table_exists_previousvaluemaskentryproduct sto_an_table_exists_previousvaluemaskentryproduct sto_bp_table_exists_previousvaluemaskentryproduct sto_bn_table_exists_previousvaluemaskentryproduct sto_cp_table_exists_previousvaluemaskentryproduct sto_cn_table_exists_previousvaluemaskentryproduct. (((((dc_left_table_exists_previousvaluemaskentry) = 2 * (sto_ap_table_exists_previousvaluemaskentryproduct) /\ (sto_an_table_exists_previousvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_previousvaluemaskentryproductleft. (((dc_left_table_exists_previousvaluemaskentry) = 2 * ge_signed_half_table_exists_previousvaluemaskentryproductleft + 1 /\ (sto_ap_table_exists_previousvaluemaskentryproduct) = 0) /\ (sto_an_table_exists_previousvaluemaskentryproduct) = S ge_signed_half_table_exists_previousvaluemaskentryproductleft))) /\ ((((((dc_right_table_exists_previousvaluemaskentry) = 2 * (sto_bp_table_exists_previousvaluemaskentryproduct) /\ (sto_bn_table_exists_previousvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_previousvaluemaskentryproductright. (((dc_right_table_exists_previousvaluemaskentry) = 2 * ge_signed_half_table_exists_previousvaluemaskentryproductright + 1 /\ (sto_bp_table_exists_previousvaluemaskentryproduct) = 0) /\ (sto_bn_table_exists_previousvaluemaskentryproduct) = S ge_signed_half_table_exists_previousvaluemaskentryproductright))) /\ ((((((dc_value_table_exists_previousvaluemask) = 2 * (sto_cp_table_exists_previousvaluemaskentryproduct) /\ (sto_cn_table_exists_previousvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_previousvaluemaskentryproductoutput. (((dc_value_table_exists_previousvaluemask) = 2 * ge_signed_half_table_exists_previousvaluemaskentryproductoutput + 1 /\ (sto_cp_table_exists_previousvaluemaskentryproduct) = 0) /\ (sto_cn_table_exists_previousvaluemaskentryproduct) = S ge_signed_half_table_exists_previousvaluemaskentryproductoutput))) /\ ((sto_ap_table_exists_previousvaluemaskentryproduct * sto_bp_table_exists_previousvaluemaskentryproduct + sto_an_table_exists_previousvaluemaskentryproduct * sto_bn_table_exists_previousvaluemaskentryproduct) + sto_cn_table_exists_previousvaluemaskentryproduct = (sto_ap_table_exists_previousvaluemaskentryproduct * sto_bn_table_exists_previousvaluemaskentryproduct + sto_an_table_exists_previousvaluemaskentryproduct * sto_bp_table_exists_previousvaluemaskentryproduct) + sto_cp_table_exists_previousvaluemaskentryproduct))))))))))))))) \/ ((((dc_index_table_exists_previousvaluemask)=0 \/ ~(exists pvs_factor_table_exists_previousvaluemaskentrynondivisor. (dc_input_table_exists_previous) = (dc_index_table_exists_previousvaluemask) * pvs_factor_table_exists_previousvaluemaskentrynondivisor)) /\ ((dc_value_table_exists_previousvaluemask)=0))))))) /\ (exists dst_positive_code_table_exists_previousvaluefold dst_positive_scale_table_exists_previousvaluefold dst_negative_code_table_exists_previousvaluefold dst_negative_scale_table_exists_previousvaluefold dst_positive_sum_table_exists_previousvaluefold dst_negative_sum_table_exists_previousvaluefold. (((dc_mask_table_exists_previousvalue) = (((((dst_positive_code_table_exists_previousvaluefold) + (dst_positive_scale_table_exists_previousvaluefold)) * S ((dst_positive_code_table_exists_previousvaluefold) + (dst_positive_scale_table_exists_previousvaluefold)) + ((dst_positive_scale_table_exists_previousvaluefold) + (dst_positive_scale_table_exists_previousvaluefold))) + (((dst_negative_code_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)) * S ((dst_negative_code_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)) + ((dst_negative_scale_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)))) * S ((((dst_positive_code_table_exists_previousvaluefold) + (dst_positive_scale_table_exists_previousvaluefold)) * S ((dst_positive_code_table_exists_previousvaluefold) + (dst_positive_scale_table_exists_previousvaluefold)) + ((dst_positive_scale_table_exists_previousvaluefold) + (dst_positive_scale_table_exists_previousvaluefold))) + (((dst_negative_code_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)) * S ((dst_negative_code_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)) + ((dst_negative_scale_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)))) + ((((dst_negative_code_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)) * S ((dst_negative_code_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)) + ((dst_negative_scale_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold))) + (((dst_negative_code_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)) * S ((dst_negative_code_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)) + ((dst_negative_scale_table_exists_previousvaluefold) + (dst_negative_scale_table_exists_previousvaluefold)))))) /\ (((exists fs_u_dst_table_exists_previousvaluefoldpositive fs_v_dst_table_exists_previousvaluefoldpositive. ((((exists fs_h_dst_table_exists_previousvaluefoldpositive_body_start. fs_h_dst_table_exists_previousvaluefoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_table_exists_previousvaluefoldpositive)) /\ exists fs_q_dst_table_exists_previousvaluefoldpositive_body_start. fs_u_dst_table_exists_previousvaluefoldpositive = fs_q_dst_table_exists_previousvaluefoldpositive_body_start * S ((S (0)) * fs_v_dst_table_exists_previousvaluefoldpositive) + (0))) /\ ((((exists fs_h_dst_table_exists_previousvaluefoldpositive_body_terminal. fs_h_dst_table_exists_previousvaluefoldpositive_body_terminal + S (dst_positive_sum_table_exists_previousvaluefold) = S ((S (S (dc_input_table_exists_previous))) * fs_v_dst_table_exists_previousvaluefoldpositive)) /\ exists fs_q_dst_table_exists_previousvaluefoldpositive_body_terminal. fs_u_dst_table_exists_previousvaluefoldpositive = fs_q_dst_table_exists_previousvaluefoldpositive_body_terminal * S ((S (S (dc_input_table_exists_previous))) * fs_v_dst_table_exists_previousvaluefoldpositive) + (dst_positive_sum_table_exists_previousvaluefold))) /\ forall fs_i_dst_table_exists_previousvaluefoldpositive_body_steps. (exists fs_lt_dst_table_exists_previousvaluefoldpositive_body_steps_bound. fs_lt_dst_table_exists_previousvaluefoldpositive_body_steps_bound + S fs_i_dst_table_exists_previousvaluefoldpositive_body_steps = S (dc_input_table_exists_previous)) -> exists fs_a_dst_table_exists_previousvaluefoldpositive_body_steps fs_r_dst_table_exists_previousvaluefoldpositive_body_steps fs_s_dst_table_exists_previousvaluefoldpositive_body_steps. ((((exists fs_h_dst_table_exists_previousvaluefoldpositive_body_steps_summand. fs_h_dst_table_exists_previousvaluefoldpositive_body_steps_summand + S (fs_a_dst_table_exists_previousvaluefoldpositive_body_steps) = S ((S (fs_i_dst_table_exists_previousvaluefoldpositive_body_steps)) * dst_positive_scale_table_exists_previousvaluefold)) /\ exists fs_q_dst_table_exists_previousvaluefoldpositive_body_steps_summand. dst_positive_code_table_exists_previousvaluefold = fs_q_dst_table_exists_previousvaluefoldpositive_body_steps_summand * S ((S (fs_i_dst_table_exists_previousvaluefoldpositive_body_steps)) * dst_positive_scale_table_exists_previousvaluefold) + (fs_a_dst_table_exists_previousvaluefoldpositive_body_steps))) /\ ((((exists fs_h_dst_table_exists_previousvaluefoldpositive_body_steps_partial. fs_h_dst_table_exists_previousvaluefoldpositive_body_steps_partial + S (fs_r_dst_table_exists_previousvaluefoldpositive_body_steps) = S ((S (fs_i_dst_table_exists_previousvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_previousvaluefoldpositive)) /\ exists fs_q_dst_table_exists_previousvaluefoldpositive_body_steps_partial. fs_u_dst_table_exists_previousvaluefoldpositive = fs_q_dst_table_exists_previousvaluefoldpositive_body_steps_partial * S ((S (fs_i_dst_table_exists_previousvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_previousvaluefoldpositive) + (fs_r_dst_table_exists_previousvaluefoldpositive_body_steps))) /\ ((((exists fs_h_dst_table_exists_previousvaluefoldpositive_body_steps_successor. fs_h_dst_table_exists_previousvaluefoldpositive_body_steps_successor + S (fs_s_dst_table_exists_previousvaluefoldpositive_body_steps) = S ((S (S fs_i_dst_table_exists_previousvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_previousvaluefoldpositive)) /\ exists fs_q_dst_table_exists_previousvaluefoldpositive_body_steps_successor. fs_u_dst_table_exists_previousvaluefoldpositive = fs_q_dst_table_exists_previousvaluefoldpositive_body_steps_successor * S ((S (S fs_i_dst_table_exists_previousvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_previousvaluefoldpositive) + (fs_s_dst_table_exists_previousvaluefoldpositive_body_steps))) /\ fs_s_dst_table_exists_previousvaluefoldpositive_body_steps = fs_r_dst_table_exists_previousvaluefoldpositive_body_steps + fs_a_dst_table_exists_previousvaluefoldpositive_body_steps)))))) /\ (((exists fs_u_dst_table_exists_previousvaluefoldnegative fs_v_dst_table_exists_previousvaluefoldnegative. ((((exists fs_h_dst_table_exists_previousvaluefoldnegative_body_start. fs_h_dst_table_exists_previousvaluefoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_table_exists_previousvaluefoldnegative)) /\ exists fs_q_dst_table_exists_previousvaluefoldnegative_body_start. fs_u_dst_table_exists_previousvaluefoldnegative = fs_q_dst_table_exists_previousvaluefoldnegative_body_start * S ((S (0)) * fs_v_dst_table_exists_previousvaluefoldnegative) + (0))) /\ ((((exists fs_h_dst_table_exists_previousvaluefoldnegative_body_terminal. fs_h_dst_table_exists_previousvaluefoldnegative_body_terminal + S (dst_negative_sum_table_exists_previousvaluefold) = S ((S (S (dc_input_table_exists_previous))) * fs_v_dst_table_exists_previousvaluefoldnegative)) /\ exists fs_q_dst_table_exists_previousvaluefoldnegative_body_terminal. fs_u_dst_table_exists_previousvaluefoldnegative = fs_q_dst_table_exists_previousvaluefoldnegative_body_terminal * S ((S (S (dc_input_table_exists_previous))) * fs_v_dst_table_exists_previousvaluefoldnegative) + (dst_negative_sum_table_exists_previousvaluefold))) /\ forall fs_i_dst_table_exists_previousvaluefoldnegative_body_steps. (exists fs_lt_dst_table_exists_previousvaluefoldnegative_body_steps_bound. fs_lt_dst_table_exists_previousvaluefoldnegative_body_steps_bound + S fs_i_dst_table_exists_previousvaluefoldnegative_body_steps = S (dc_input_table_exists_previous)) -> exists fs_a_dst_table_exists_previousvaluefoldnegative_body_steps fs_r_dst_table_exists_previousvaluefoldnegative_body_steps fs_s_dst_table_exists_previousvaluefoldnegative_body_steps. ((((exists fs_h_dst_table_exists_previousvaluefoldnegative_body_steps_summand. fs_h_dst_table_exists_previousvaluefoldnegative_body_steps_summand + S (fs_a_dst_table_exists_previousvaluefoldnegative_body_steps) = S ((S (fs_i_dst_table_exists_previousvaluefoldnegative_body_steps)) * dst_negative_scale_table_exists_previousvaluefold)) /\ exists fs_q_dst_table_exists_previousvaluefoldnegative_body_steps_summand. dst_negative_code_table_exists_previousvaluefold = fs_q_dst_table_exists_previousvaluefoldnegative_body_steps_summand * S ((S (fs_i_dst_table_exists_previousvaluefoldnegative_body_steps)) * dst_negative_scale_table_exists_previousvaluefold) + (fs_a_dst_table_exists_previousvaluefoldnegative_body_steps))) /\ ((((exists fs_h_dst_table_exists_previousvaluefoldnegative_body_steps_partial. fs_h_dst_table_exists_previousvaluefoldnegative_body_steps_partial + S (fs_r_dst_table_exists_previousvaluefoldnegative_body_steps) = S ((S (fs_i_dst_table_exists_previousvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_previousvaluefoldnegative)) /\ exists fs_q_dst_table_exists_previousvaluefoldnegative_body_steps_partial. fs_u_dst_table_exists_previousvaluefoldnegative = fs_q_dst_table_exists_previousvaluefoldnegative_body_steps_partial * S ((S (fs_i_dst_table_exists_previousvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_previousvaluefoldnegative) + (fs_r_dst_table_exists_previousvaluefoldnegative_body_steps))) /\ ((((exists fs_h_dst_table_exists_previousvaluefoldnegative_body_steps_successor. fs_h_dst_table_exists_previousvaluefoldnegative_body_steps_successor + S (fs_s_dst_table_exists_previousvaluefoldnegative_body_steps) = S ((S (S fs_i_dst_table_exists_previousvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_previousvaluefoldnegative)) /\ exists fs_q_dst_table_exists_previousvaluefoldnegative_body_steps_successor. fs_u_dst_table_exists_previousvaluefoldnegative = fs_q_dst_table_exists_previousvaluefoldnegative_body_steps_successor * S ((S (S fs_i_dst_table_exists_previousvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_previousvaluefoldnegative) + (fs_s_dst_table_exists_previousvaluefoldnegative_body_steps))) /\ fs_s_dst_table_exists_previousvaluefoldnegative_body_steps = fs_r_dst_table_exists_previousvaluefoldnegative_body_steps + fs_a_dst_table_exists_previousvaluefoldnegative_body_steps)))))) /\ (exists ge_balance_positive_table_exists_previousvaluefoldresult ge_balance_negative_table_exists_previousvaluefoldresult. (((((dc_output_table_exists_previous) = 2 * (ge_balance_positive_table_exists_previousvaluefoldresult) /\ (ge_balance_negative_table_exists_previousvaluefoldresult) = 0) \/ exists ge_signed_half_table_exists_previousvaluefoldresultdecode. (((dc_output_table_exists_previous) = 2 * ge_signed_half_table_exists_previousvaluefoldresultdecode + 1 /\ (ge_balance_positive_table_exists_previousvaluefoldresult) = 0) /\ (ge_balance_negative_table_exists_previousvaluefoldresult) = S ge_signed_half_table_exists_previousvaluefoldresultdecode))) /\ ((dst_positive_sum_table_exists_previousvaluefold) + ge_balance_negative_table_exists_previousvaluefoldresult = (dst_negative_sum_table_exists_previousvaluefold) + ge_balance_positive_table_exists_previousvaluefoldresult))))))))))))))))))))
  20. 0020specialize IH (F)
  21. 0021specialize IH (G)
  22. 0022apply IH
  23. 0023specialize signed_table_domain_resize (S N)
  24. 0024specialize signed_table_domain_resize (N)
  25. 0025specialize signed_table_domain_resize (F)
  26. 0026apply signed_table_domain_resize
  27. 0027exact hF
  28. 0028specialize signed_table_domain_resize (S N)
  29. 0029specialize signed_table_domain_resize (N)
  30. 0030specialize signed_table_domain_resize (G)
  31. 0031apply signed_table_domain_resize
  32. 0032exact hG
  33. 0033cases hprev
  34. 0034have hz : exists z. (((~((S N)=0)) /\ (exists dc_mask_table_exists_next_value. ((((exists dst_positive_code_table_exists_next_valuemasktable dst_positive_scale_table_exists_next_valuemasktable dst_negative_code_table_exists_next_valuemasktable dst_negative_scale_table_exists_next_valuemasktable. (((dc_mask_table_exists_next_value) = (((((dst_positive_code_table_exists_next_valuemasktable) + (dst_positive_scale_table_exists_next_valuemasktable)) * S ((dst_positive_code_table_exists_next_valuemasktable) + (dst_positive_scale_table_exists_next_valuemasktable)) + ((dst_positive_scale_table_exists_next_valuemasktable) + (dst_positive_scale_table_exists_next_valuemasktable))) + (((dst_negative_code_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)) * S ((dst_negative_code_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)) + ((dst_negative_scale_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)))) * S ((((dst_positive_code_table_exists_next_valuemasktable) + (dst_positive_scale_table_exists_next_valuemasktable)) * S ((dst_positive_code_table_exists_next_valuemasktable) + (dst_positive_scale_table_exists_next_valuemasktable)) + ((dst_positive_scale_table_exists_next_valuemasktable) + (dst_positive_scale_table_exists_next_valuemasktable))) + (((dst_negative_code_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)) * S ((dst_negative_code_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)) + ((dst_negative_scale_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)))) + ((((dst_negative_code_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)) * S ((dst_negative_code_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)) + ((dst_negative_scale_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable))) + (((dst_negative_code_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)) * S ((dst_negative_code_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)) + ((dst_negative_scale_table_exists_next_valuemasktable) + (dst_negative_scale_table_exists_next_valuemasktable)))))) /\ (forall dst_index_table_exists_next_valuemasktable. (exists pvs_le_gap_table_exists_next_valuemasktabledomain. pvs_le_gap_table_exists_next_valuemasktabledomain + (dst_index_table_exists_next_valuemasktable) = (S N)) -> exists dst_positive_table_exists_next_valuemasktable dst_negative_table_exists_next_valuemasktable dst_value_table_exists_next_valuemasktable. ((((exists ff_h_pvs_table_exists_next_valuemasktableentrypositive. ff_h_pvs_table_exists_next_valuemasktableentrypositive + S (dst_positive_table_exists_next_valuemasktable) = S ((S (dst_index_table_exists_next_valuemasktable)) * dst_positive_scale_table_exists_next_valuemasktable)) /\ exists ff_q_pvs_table_exists_next_valuemasktableentrypositive. dst_positive_code_table_exists_next_valuemasktable = ff_q_pvs_table_exists_next_valuemasktableentrypositive * S ((S (dst_index_table_exists_next_valuemasktable)) * dst_positive_scale_table_exists_next_valuemasktable) + (dst_positive_table_exists_next_valuemasktable))) /\ (((((exists ff_h_pvs_table_exists_next_valuemasktableentrynegative. ff_h_pvs_table_exists_next_valuemasktableentrynegative + S (dst_negative_table_exists_next_valuemasktable) = S ((S (dst_index_table_exists_next_valuemasktable)) * dst_negative_scale_table_exists_next_valuemasktable)) /\ exists ff_q_pvs_table_exists_next_valuemasktableentrynegative. dst_negative_code_table_exists_next_valuemasktable = ff_q_pvs_table_exists_next_valuemasktableentrynegative * S ((S (dst_index_table_exists_next_valuemasktable)) * dst_negative_scale_table_exists_next_valuemasktable) + (dst_negative_table_exists_next_valuemasktable))) /\ (exists ge_balance_positive_table_exists_next_valuemasktableentryvalue ge_balance_negative_table_exists_next_valuemasktableentryvalue. (((((dst_value_table_exists_next_valuemasktable) = 2 * (ge_balance_positive_table_exists_next_valuemasktableentryvalue) /\ (ge_balance_negative_table_exists_next_valuemasktableentryvalue) = 0) \/ exists ge_signed_half_table_exists_next_valuemasktableentryvaluedecode. (((dst_value_table_exists_next_valuemasktable) = 2 * ge_signed_half_table_exists_next_valuemasktableentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_next_valuemasktableentryvalue) = 0) /\ (ge_balance_negative_table_exists_next_valuemasktableentryvalue) = S ge_signed_half_table_exists_next_valuemasktableentryvaluedecode))) /\ ((dst_positive_table_exists_next_valuemasktable) + ge_balance_negative_table_exists_next_valuemasktableentryvalue = (dst_negative_table_exists_next_valuemasktable) + ge_balance_positive_table_exists_next_valuemasktableentryvalue))))))))) /\ (forall dc_index_table_exists_next_valuemask dc_value_table_exists_next_valuemask. (exists pvs_le_gap_table_exists_next_valuemaskdomain. pvs_le_gap_table_exists_next_valuemaskdomain + (dc_index_table_exists_next_valuemask) = (S N)) -> (exists dst_positive_code_table_exists_next_valuemasklookup dst_positive_scale_table_exists_next_valuemasklookup dst_negative_code_table_exists_next_valuemasklookup dst_negative_scale_table_exists_next_valuemasklookup dst_positive_table_exists_next_valuemasklookup dst_negative_table_exists_next_valuemasklookup. (((dc_mask_table_exists_next_value) = (((((dst_positive_code_table_exists_next_valuemasklookup) + (dst_positive_scale_table_exists_next_valuemasklookup)) * S ((dst_positive_code_table_exists_next_valuemasklookup) + (dst_positive_scale_table_exists_next_valuemasklookup)) + ((dst_positive_scale_table_exists_next_valuemasklookup) + (dst_positive_scale_table_exists_next_valuemasklookup))) + (((dst_negative_code_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)) * S ((dst_negative_code_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)) + ((dst_negative_scale_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)))) * S ((((dst_positive_code_table_exists_next_valuemasklookup) + (dst_positive_scale_table_exists_next_valuemasklookup)) * S ((dst_positive_code_table_exists_next_valuemasklookup) + (dst_positive_scale_table_exists_next_valuemasklookup)) + ((dst_positive_scale_table_exists_next_valuemasklookup) + (dst_positive_scale_table_exists_next_valuemasklookup))) + (((dst_negative_code_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)) * S ((dst_negative_code_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)) + ((dst_negative_scale_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)))) + ((((dst_negative_code_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)) * S ((dst_negative_code_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)) + ((dst_negative_scale_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup))) + (((dst_negative_code_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)) * S ((dst_negative_code_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)) + ((dst_negative_scale_table_exists_next_valuemasklookup) + (dst_negative_scale_table_exists_next_valuemasklookup)))))) /\ (((((exists ff_h_pvs_table_exists_next_valuemasklookuppositive. ff_h_pvs_table_exists_next_valuemasklookuppositive + S (dst_positive_table_exists_next_valuemasklookup) = S ((S (dc_index_table_exists_next_valuemask)) * dst_positive_scale_table_exists_next_valuemasklookup)) /\ exists ff_q_pvs_table_exists_next_valuemasklookuppositive. dst_positive_code_table_exists_next_valuemasklookup = ff_q_pvs_table_exists_next_valuemasklookuppositive * S ((S (dc_index_table_exists_next_valuemask)) * dst_positive_scale_table_exists_next_valuemasklookup) + (dst_positive_table_exists_next_valuemasklookup))) /\ (((((exists ff_h_pvs_table_exists_next_valuemasklookupnegative. ff_h_pvs_table_exists_next_valuemasklookupnegative + S (dst_negative_table_exists_next_valuemasklookup) = S ((S (dc_index_table_exists_next_valuemask)) * dst_negative_scale_table_exists_next_valuemasklookup)) /\ exists ff_q_pvs_table_exists_next_valuemasklookupnegative. dst_negative_code_table_exists_next_valuemasklookup = ff_q_pvs_table_exists_next_valuemasklookupnegative * S ((S (dc_index_table_exists_next_valuemask)) * dst_negative_scale_table_exists_next_valuemasklookup) + (dst_negative_table_exists_next_valuemasklookup))) /\ (exists ge_balance_positive_table_exists_next_valuemasklookupvalue ge_balance_negative_table_exists_next_valuemasklookupvalue. (((((dc_value_table_exists_next_valuemask) = 2 * (ge_balance_positive_table_exists_next_valuemasklookupvalue) /\ (ge_balance_negative_table_exists_next_valuemasklookupvalue) = 0) \/ exists ge_signed_half_table_exists_next_valuemasklookupvaluedecode. (((dc_value_table_exists_next_valuemask) = 2 * ge_signed_half_table_exists_next_valuemasklookupvaluedecode + 1 /\ (ge_balance_positive_table_exists_next_valuemasklookupvalue) = 0) /\ (ge_balance_negative_table_exists_next_valuemasklookupvalue) = S ge_signed_half_table_exists_next_valuemasklookupvaluedecode))) /\ ((dst_positive_table_exists_next_valuemasklookup) + ge_balance_negative_table_exists_next_valuemasklookupvalue = (dst_negative_table_exists_next_valuemasklookup) + ge_balance_positive_table_exists_next_valuemasklookupvalue))))))))) -> ((((~((dc_index_table_exists_next_valuemask)=0)) /\ (exists dc_quotient_table_exists_next_valuemaskentry dc_left_table_exists_next_valuemaskentry dc_right_table_exists_next_valuemaskentry. (((S N)=(dc_index_table_exists_next_valuemask)*dc_quotient_table_exists_next_valuemaskentry) /\ (((exists dst_positive_code_table_exists_next_valuemaskentryleft dst_positive_scale_table_exists_next_valuemaskentryleft dst_negative_code_table_exists_next_valuemaskentryleft dst_negative_scale_table_exists_next_valuemaskentryleft dst_positive_table_exists_next_valuemaskentryleft dst_negative_table_exists_next_valuemaskentryleft. (((F) = (((((dst_positive_code_table_exists_next_valuemaskentryleft) + (dst_positive_scale_table_exists_next_valuemaskentryleft)) * S ((dst_positive_code_table_exists_next_valuemaskentryleft) + (dst_positive_scale_table_exists_next_valuemaskentryleft)) + ((dst_positive_scale_table_exists_next_valuemaskentryleft) + (dst_positive_scale_table_exists_next_valuemaskentryleft))) + (((dst_negative_code_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)) * S ((dst_negative_code_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)) + ((dst_negative_scale_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)))) * S ((((dst_positive_code_table_exists_next_valuemaskentryleft) + (dst_positive_scale_table_exists_next_valuemaskentryleft)) * S ((dst_positive_code_table_exists_next_valuemaskentryleft) + (dst_positive_scale_table_exists_next_valuemaskentryleft)) + ((dst_positive_scale_table_exists_next_valuemaskentryleft) + (dst_positive_scale_table_exists_next_valuemaskentryleft))) + (((dst_negative_code_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)) * S ((dst_negative_code_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)) + ((dst_negative_scale_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)))) + ((((dst_negative_code_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)) * S ((dst_negative_code_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)) + ((dst_negative_scale_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft))) + (((dst_negative_code_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)) * S ((dst_negative_code_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)) + ((dst_negative_scale_table_exists_next_valuemaskentryleft) + (dst_negative_scale_table_exists_next_valuemaskentryleft)))))) /\ (((((exists ff_h_pvs_table_exists_next_valuemaskentryleftpositive. ff_h_pvs_table_exists_next_valuemaskentryleftpositive + S (dst_positive_table_exists_next_valuemaskentryleft) = S ((S (dc_index_table_exists_next_valuemask)) * dst_positive_scale_table_exists_next_valuemaskentryleft)) /\ exists ff_q_pvs_table_exists_next_valuemaskentryleftpositive. dst_positive_code_table_exists_next_valuemaskentryleft = ff_q_pvs_table_exists_next_valuemaskentryleftpositive * S ((S (dc_index_table_exists_next_valuemask)) * dst_positive_scale_table_exists_next_valuemaskentryleft) + (dst_positive_table_exists_next_valuemaskentryleft))) /\ (((((exists ff_h_pvs_table_exists_next_valuemaskentryleftnegative. ff_h_pvs_table_exists_next_valuemaskentryleftnegative + S (dst_negative_table_exists_next_valuemaskentryleft) = S ((S (dc_index_table_exists_next_valuemask)) * dst_negative_scale_table_exists_next_valuemaskentryleft)) /\ exists ff_q_pvs_table_exists_next_valuemaskentryleftnegative. dst_negative_code_table_exists_next_valuemaskentryleft = ff_q_pvs_table_exists_next_valuemaskentryleftnegative * S ((S (dc_index_table_exists_next_valuemask)) * dst_negative_scale_table_exists_next_valuemaskentryleft) + (dst_negative_table_exists_next_valuemaskentryleft))) /\ (exists ge_balance_positive_table_exists_next_valuemaskentryleftvalue ge_balance_negative_table_exists_next_valuemaskentryleftvalue. (((((dc_left_table_exists_next_valuemaskentry) = 2 * (ge_balance_positive_table_exists_next_valuemaskentryleftvalue) /\ (ge_balance_negative_table_exists_next_valuemaskentryleftvalue) = 0) \/ exists ge_signed_half_table_exists_next_valuemaskentryleftvaluedecode. (((dc_left_table_exists_next_valuemaskentry) = 2 * ge_signed_half_table_exists_next_valuemaskentryleftvaluedecode + 1 /\ (ge_balance_positive_table_exists_next_valuemaskentryleftvalue) = 0) /\ (ge_balance_negative_table_exists_next_valuemaskentryleftvalue) = S ge_signed_half_table_exists_next_valuemaskentryleftvaluedecode))) /\ ((dst_positive_table_exists_next_valuemaskentryleft) + ge_balance_negative_table_exists_next_valuemaskentryleftvalue = (dst_negative_table_exists_next_valuemaskentryleft) + ge_balance_positive_table_exists_next_valuemaskentryleftvalue))))))))) /\ (((exists dst_positive_code_table_exists_next_valuemaskentryright dst_positive_scale_table_exists_next_valuemaskentryright dst_negative_code_table_exists_next_valuemaskentryright dst_negative_scale_table_exists_next_valuemaskentryright dst_positive_table_exists_next_valuemaskentryright dst_negative_table_exists_next_valuemaskentryright. (((G) = (((((dst_positive_code_table_exists_next_valuemaskentryright) + (dst_positive_scale_table_exists_next_valuemaskentryright)) * S ((dst_positive_code_table_exists_next_valuemaskentryright) + (dst_positive_scale_table_exists_next_valuemaskentryright)) + ((dst_positive_scale_table_exists_next_valuemaskentryright) + (dst_positive_scale_table_exists_next_valuemaskentryright))) + (((dst_negative_code_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)) * S ((dst_negative_code_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)) + ((dst_negative_scale_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)))) * S ((((dst_positive_code_table_exists_next_valuemaskentryright) + (dst_positive_scale_table_exists_next_valuemaskentryright)) * S ((dst_positive_code_table_exists_next_valuemaskentryright) + (dst_positive_scale_table_exists_next_valuemaskentryright)) + ((dst_positive_scale_table_exists_next_valuemaskentryright) + (dst_positive_scale_table_exists_next_valuemaskentryright))) + (((dst_negative_code_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)) * S ((dst_negative_code_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)) + ((dst_negative_scale_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)))) + ((((dst_negative_code_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)) * S ((dst_negative_code_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)) + ((dst_negative_scale_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright))) + (((dst_negative_code_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)) * S ((dst_negative_code_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)) + ((dst_negative_scale_table_exists_next_valuemaskentryright) + (dst_negative_scale_table_exists_next_valuemaskentryright)))))) /\ (((((exists ff_h_pvs_table_exists_next_valuemaskentryrightpositive. ff_h_pvs_table_exists_next_valuemaskentryrightpositive + S (dst_positive_table_exists_next_valuemaskentryright) = S ((S (dc_quotient_table_exists_next_valuemaskentry)) * dst_positive_scale_table_exists_next_valuemaskentryright)) /\ exists ff_q_pvs_table_exists_next_valuemaskentryrightpositive. dst_positive_code_table_exists_next_valuemaskentryright = ff_q_pvs_table_exists_next_valuemaskentryrightpositive * S ((S (dc_quotient_table_exists_next_valuemaskentry)) * dst_positive_scale_table_exists_next_valuemaskentryright) + (dst_positive_table_exists_next_valuemaskentryright))) /\ (((((exists ff_h_pvs_table_exists_next_valuemaskentryrightnegative. ff_h_pvs_table_exists_next_valuemaskentryrightnegative + S (dst_negative_table_exists_next_valuemaskentryright) = S ((S (dc_quotient_table_exists_next_valuemaskentry)) * dst_negative_scale_table_exists_next_valuemaskentryright)) /\ exists ff_q_pvs_table_exists_next_valuemaskentryrightnegative. dst_negative_code_table_exists_next_valuemaskentryright = ff_q_pvs_table_exists_next_valuemaskentryrightnegative * S ((S (dc_quotient_table_exists_next_valuemaskentry)) * dst_negative_scale_table_exists_next_valuemaskentryright) + (dst_negative_table_exists_next_valuemaskentryright))) /\ (exists ge_balance_positive_table_exists_next_valuemaskentryrightvalue ge_balance_negative_table_exists_next_valuemaskentryrightvalue. (((((dc_right_table_exists_next_valuemaskentry) = 2 * (ge_balance_positive_table_exists_next_valuemaskentryrightvalue) /\ (ge_balance_negative_table_exists_next_valuemaskentryrightvalue) = 0) \/ exists ge_signed_half_table_exists_next_valuemaskentryrightvaluedecode. (((dc_right_table_exists_next_valuemaskentry) = 2 * ge_signed_half_table_exists_next_valuemaskentryrightvaluedecode + 1 /\ (ge_balance_positive_table_exists_next_valuemaskentryrightvalue) = 0) /\ (ge_balance_negative_table_exists_next_valuemaskentryrightvalue) = S ge_signed_half_table_exists_next_valuemaskentryrightvaluedecode))) /\ ((dst_positive_table_exists_next_valuemaskentryright) + ge_balance_negative_table_exists_next_valuemaskentryrightvalue = (dst_negative_table_exists_next_valuemaskentryright) + ge_balance_positive_table_exists_next_valuemaskentryrightvalue))))))))) /\ (exists sto_ap_table_exists_next_valuemaskentryproduct sto_an_table_exists_next_valuemaskentryproduct sto_bp_table_exists_next_valuemaskentryproduct sto_bn_table_exists_next_valuemaskentryproduct sto_cp_table_exists_next_valuemaskentryproduct sto_cn_table_exists_next_valuemaskentryproduct. (((((dc_left_table_exists_next_valuemaskentry) = 2 * (sto_ap_table_exists_next_valuemaskentryproduct) /\ (sto_an_table_exists_next_valuemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_next_valuemaskentryproductleft. (((dc_left_table_exists_next_valuemaskentry) = 2 * ge_signed_half_table_exists_next_valuemaskentryproductleft + 1 /\ (sto_ap_table_exists_next_valuemaskentryproduct) = 0) /\ (sto_an_table_exists_next_valuemaskentryproduct) = S ge_signed_half_table_exists_next_valuemaskentryproductleft))) /\ ((((((dc_right_table_exists_next_valuemaskentry) = 2 * (sto_bp_table_exists_next_valuemaskentryproduct) /\ (sto_bn_table_exists_next_valuemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_next_valuemaskentryproductright. (((dc_right_table_exists_next_valuemaskentry) = 2 * ge_signed_half_table_exists_next_valuemaskentryproductright + 1 /\ (sto_bp_table_exists_next_valuemaskentryproduct) = 0) /\ (sto_bn_table_exists_next_valuemaskentryproduct) = S ge_signed_half_table_exists_next_valuemaskentryproductright))) /\ ((((((dc_value_table_exists_next_valuemask) = 2 * (sto_cp_table_exists_next_valuemaskentryproduct) /\ (sto_cn_table_exists_next_valuemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_next_valuemaskentryproductoutput. (((dc_value_table_exists_next_valuemask) = 2 * ge_signed_half_table_exists_next_valuemaskentryproductoutput + 1 /\ (sto_cp_table_exists_next_valuemaskentryproduct) = 0) /\ (sto_cn_table_exists_next_valuemaskentryproduct) = S ge_signed_half_table_exists_next_valuemaskentryproductoutput))) /\ ((sto_ap_table_exists_next_valuemaskentryproduct * sto_bp_table_exists_next_valuemaskentryproduct + sto_an_table_exists_next_valuemaskentryproduct * sto_bn_table_exists_next_valuemaskentryproduct) + sto_cn_table_exists_next_valuemaskentryproduct = (sto_ap_table_exists_next_valuemaskentryproduct * sto_bn_table_exists_next_valuemaskentryproduct + sto_an_table_exists_next_valuemaskentryproduct * sto_bp_table_exists_next_valuemaskentryproduct) + sto_cp_table_exists_next_valuemaskentryproduct))))))))))))))) \/ ((((dc_index_table_exists_next_valuemask)=0 \/ ~(exists pvs_factor_table_exists_next_valuemaskentrynondivisor. (S N) = (dc_index_table_exists_next_valuemask) * pvs_factor_table_exists_next_valuemaskentrynondivisor)) /\ ((dc_value_table_exists_next_valuemask)=0))))))) /\ (exists dst_positive_code_table_exists_next_valuefold dst_positive_scale_table_exists_next_valuefold dst_negative_code_table_exists_next_valuefold dst_negative_scale_table_exists_next_valuefold dst_positive_sum_table_exists_next_valuefold dst_negative_sum_table_exists_next_valuefold. (((dc_mask_table_exists_next_value) = (((((dst_positive_code_table_exists_next_valuefold) + (dst_positive_scale_table_exists_next_valuefold)) * S ((dst_positive_code_table_exists_next_valuefold) + (dst_positive_scale_table_exists_next_valuefold)) + ((dst_positive_scale_table_exists_next_valuefold) + (dst_positive_scale_table_exists_next_valuefold))) + (((dst_negative_code_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)) * S ((dst_negative_code_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)) + ((dst_negative_scale_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)))) * S ((((dst_positive_code_table_exists_next_valuefold) + (dst_positive_scale_table_exists_next_valuefold)) * S ((dst_positive_code_table_exists_next_valuefold) + (dst_positive_scale_table_exists_next_valuefold)) + ((dst_positive_scale_table_exists_next_valuefold) + (dst_positive_scale_table_exists_next_valuefold))) + (((dst_negative_code_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)) * S ((dst_negative_code_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)) + ((dst_negative_scale_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)))) + ((((dst_negative_code_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)) * S ((dst_negative_code_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)) + ((dst_negative_scale_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold))) + (((dst_negative_code_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)) * S ((dst_negative_code_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)) + ((dst_negative_scale_table_exists_next_valuefold) + (dst_negative_scale_table_exists_next_valuefold)))))) /\ (((exists fs_u_dst_table_exists_next_valuefoldpositive fs_v_dst_table_exists_next_valuefoldpositive. ((((exists fs_h_dst_table_exists_next_valuefoldpositive_body_start. fs_h_dst_table_exists_next_valuefoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_table_exists_next_valuefoldpositive)) /\ exists fs_q_dst_table_exists_next_valuefoldpositive_body_start. fs_u_dst_table_exists_next_valuefoldpositive = fs_q_dst_table_exists_next_valuefoldpositive_body_start * S ((S (0)) * fs_v_dst_table_exists_next_valuefoldpositive) + (0))) /\ ((((exists fs_h_dst_table_exists_next_valuefoldpositive_body_terminal. fs_h_dst_table_exists_next_valuefoldpositive_body_terminal + S (dst_positive_sum_table_exists_next_valuefold) = S ((S (S (S N))) * fs_v_dst_table_exists_next_valuefoldpositive)) /\ exists fs_q_dst_table_exists_next_valuefoldpositive_body_terminal. fs_u_dst_table_exists_next_valuefoldpositive = fs_q_dst_table_exists_next_valuefoldpositive_body_terminal * S ((S (S (S N))) * fs_v_dst_table_exists_next_valuefoldpositive) + (dst_positive_sum_table_exists_next_valuefold))) /\ forall fs_i_dst_table_exists_next_valuefoldpositive_body_steps. (exists fs_lt_dst_table_exists_next_valuefoldpositive_body_steps_bound. fs_lt_dst_table_exists_next_valuefoldpositive_body_steps_bound + S fs_i_dst_table_exists_next_valuefoldpositive_body_steps = S (S N)) -> exists fs_a_dst_table_exists_next_valuefoldpositive_body_steps fs_r_dst_table_exists_next_valuefoldpositive_body_steps fs_s_dst_table_exists_next_valuefoldpositive_body_steps. ((((exists fs_h_dst_table_exists_next_valuefoldpositive_body_steps_summand. fs_h_dst_table_exists_next_valuefoldpositive_body_steps_summand + S (fs_a_dst_table_exists_next_valuefoldpositive_body_steps) = S ((S (fs_i_dst_table_exists_next_valuefoldpositive_body_steps)) * dst_positive_scale_table_exists_next_valuefold)) /\ exists fs_q_dst_table_exists_next_valuefoldpositive_body_steps_summand. dst_positive_code_table_exists_next_valuefold = fs_q_dst_table_exists_next_valuefoldpositive_body_steps_summand * S ((S (fs_i_dst_table_exists_next_valuefoldpositive_body_steps)) * dst_positive_scale_table_exists_next_valuefold) + (fs_a_dst_table_exists_next_valuefoldpositive_body_steps))) /\ ((((exists fs_h_dst_table_exists_next_valuefoldpositive_body_steps_partial. fs_h_dst_table_exists_next_valuefoldpositive_body_steps_partial + S (fs_r_dst_table_exists_next_valuefoldpositive_body_steps) = S ((S (fs_i_dst_table_exists_next_valuefoldpositive_body_steps)) * fs_v_dst_table_exists_next_valuefoldpositive)) /\ exists fs_q_dst_table_exists_next_valuefoldpositive_body_steps_partial. fs_u_dst_table_exists_next_valuefoldpositive = fs_q_dst_table_exists_next_valuefoldpositive_body_steps_partial * S ((S (fs_i_dst_table_exists_next_valuefoldpositive_body_steps)) * fs_v_dst_table_exists_next_valuefoldpositive) + (fs_r_dst_table_exists_next_valuefoldpositive_body_steps))) /\ ((((exists fs_h_dst_table_exists_next_valuefoldpositive_body_steps_successor. fs_h_dst_table_exists_next_valuefoldpositive_body_steps_successor + S (fs_s_dst_table_exists_next_valuefoldpositive_body_steps) = S ((S (S fs_i_dst_table_exists_next_valuefoldpositive_body_steps)) * fs_v_dst_table_exists_next_valuefoldpositive)) /\ exists fs_q_dst_table_exists_next_valuefoldpositive_body_steps_successor. fs_u_dst_table_exists_next_valuefoldpositive = fs_q_dst_table_exists_next_valuefoldpositive_body_steps_successor * S ((S (S fs_i_dst_table_exists_next_valuefoldpositive_body_steps)) * fs_v_dst_table_exists_next_valuefoldpositive) + (fs_s_dst_table_exists_next_valuefoldpositive_body_steps))) /\ fs_s_dst_table_exists_next_valuefoldpositive_body_steps = fs_r_dst_table_exists_next_valuefoldpositive_body_steps + fs_a_dst_table_exists_next_valuefoldpositive_body_steps)))))) /\ (((exists fs_u_dst_table_exists_next_valuefoldnegative fs_v_dst_table_exists_next_valuefoldnegative. ((((exists fs_h_dst_table_exists_next_valuefoldnegative_body_start. fs_h_dst_table_exists_next_valuefoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_table_exists_next_valuefoldnegative)) /\ exists fs_q_dst_table_exists_next_valuefoldnegative_body_start. fs_u_dst_table_exists_next_valuefoldnegative = fs_q_dst_table_exists_next_valuefoldnegative_body_start * S ((S (0)) * fs_v_dst_table_exists_next_valuefoldnegative) + (0))) /\ ((((exists fs_h_dst_table_exists_next_valuefoldnegative_body_terminal. fs_h_dst_table_exists_next_valuefoldnegative_body_terminal + S (dst_negative_sum_table_exists_next_valuefold) = S ((S (S (S N))) * fs_v_dst_table_exists_next_valuefoldnegative)) /\ exists fs_q_dst_table_exists_next_valuefoldnegative_body_terminal. fs_u_dst_table_exists_next_valuefoldnegative = fs_q_dst_table_exists_next_valuefoldnegative_body_terminal * S ((S (S (S N))) * fs_v_dst_table_exists_next_valuefoldnegative) + (dst_negative_sum_table_exists_next_valuefold))) /\ forall fs_i_dst_table_exists_next_valuefoldnegative_body_steps. (exists fs_lt_dst_table_exists_next_valuefoldnegative_body_steps_bound. fs_lt_dst_table_exists_next_valuefoldnegative_body_steps_bound + S fs_i_dst_table_exists_next_valuefoldnegative_body_steps = S (S N)) -> exists fs_a_dst_table_exists_next_valuefoldnegative_body_steps fs_r_dst_table_exists_next_valuefoldnegative_body_steps fs_s_dst_table_exists_next_valuefoldnegative_body_steps. ((((exists fs_h_dst_table_exists_next_valuefoldnegative_body_steps_summand. fs_h_dst_table_exists_next_valuefoldnegative_body_steps_summand + S (fs_a_dst_table_exists_next_valuefoldnegative_body_steps) = S ((S (fs_i_dst_table_exists_next_valuefoldnegative_body_steps)) * dst_negative_scale_table_exists_next_valuefold)) /\ exists fs_q_dst_table_exists_next_valuefoldnegative_body_steps_summand. dst_negative_code_table_exists_next_valuefold = fs_q_dst_table_exists_next_valuefoldnegative_body_steps_summand * S ((S (fs_i_dst_table_exists_next_valuefoldnegative_body_steps)) * dst_negative_scale_table_exists_next_valuefold) + (fs_a_dst_table_exists_next_valuefoldnegative_body_steps))) /\ ((((exists fs_h_dst_table_exists_next_valuefoldnegative_body_steps_partial. fs_h_dst_table_exists_next_valuefoldnegative_body_steps_partial + S (fs_r_dst_table_exists_next_valuefoldnegative_body_steps) = S ((S (fs_i_dst_table_exists_next_valuefoldnegative_body_steps)) * fs_v_dst_table_exists_next_valuefoldnegative)) /\ exists fs_q_dst_table_exists_next_valuefoldnegative_body_steps_partial. fs_u_dst_table_exists_next_valuefoldnegative = fs_q_dst_table_exists_next_valuefoldnegative_body_steps_partial * S ((S (fs_i_dst_table_exists_next_valuefoldnegative_body_steps)) * fs_v_dst_table_exists_next_valuefoldnegative) + (fs_r_dst_table_exists_next_valuefoldnegative_body_steps))) /\ ((((exists fs_h_dst_table_exists_next_valuefoldnegative_body_steps_successor. fs_h_dst_table_exists_next_valuefoldnegative_body_steps_successor + S (fs_s_dst_table_exists_next_valuefoldnegative_body_steps) = S ((S (S fs_i_dst_table_exists_next_valuefoldnegative_body_steps)) * fs_v_dst_table_exists_next_valuefoldnegative)) /\ exists fs_q_dst_table_exists_next_valuefoldnegative_body_steps_successor. fs_u_dst_table_exists_next_valuefoldnegative = fs_q_dst_table_exists_next_valuefoldnegative_body_steps_successor * S ((S (S fs_i_dst_table_exists_next_valuefoldnegative_body_steps)) * fs_v_dst_table_exists_next_valuefoldnegative) + (fs_s_dst_table_exists_next_valuefoldnegative_body_steps))) /\ fs_s_dst_table_exists_next_valuefoldnegative_body_steps = fs_r_dst_table_exists_next_valuefoldnegative_body_steps + fs_a_dst_table_exists_next_valuefoldnegative_body_steps)))))) /\ (exists ge_balance_positive_table_exists_next_valuefoldresult ge_balance_negative_table_exists_next_valuefoldresult. (((((z) = 2 * (ge_balance_positive_table_exists_next_valuefoldresult) /\ (ge_balance_negative_table_exists_next_valuefoldresult) = 0) \/ exists ge_signed_half_table_exists_next_valuefoldresultdecode. (((z) = 2 * ge_signed_half_table_exists_next_valuefoldresultdecode + 1 /\ (ge_balance_positive_table_exists_next_valuefoldresult) = 0) /\ (ge_balance_negative_table_exists_next_valuefoldresult) = S ge_signed_half_table_exists_next_valuefoldresultdecode))) /\ ((dst_positive_sum_table_exists_next_valuefold) + ge_balance_negative_table_exists_next_valuefoldresult = (dst_negative_sum_table_exists_next_valuefold) + ge_balance_positive_table_exists_next_valuefoldresult)))))))))))))
  35. 0035specialize dirichlet_convolution_sum_exists (S N)
  36. 0036specialize dirichlet_convolution_sum_exists (F)
  37. 0037specialize dirichlet_convolution_sum_exists (G)
  38. 0038specialize dirichlet_convolution_sum_exists (S N)
  39. 0039apply dirichlet_convolution_sum_exists
  40. 0040exact hF
  41. 0041exact hG
  42. 0042intro hzero
  43. 0043apply PA1
  44. 0044exact hzero
  45. 0045specialize le_refl (S N)
  46. 0046apply le_refl
  47. 0047cases hz
  48. 0048have hnext : exists K. (((exists dst_positive_code_table_exists_nextleft dst_positive_scale_table_exists_nextleft dst_negative_code_table_exists_nextleft dst_negative_scale_table_exists_nextleft. (((F) = (((((dst_positive_code_table_exists_nextleft) + (dst_positive_scale_table_exists_nextleft)) * S ((dst_positive_code_table_exists_nextleft) + (dst_positive_scale_table_exists_nextleft)) + ((dst_positive_scale_table_exists_nextleft) + (dst_positive_scale_table_exists_nextleft))) + (((dst_negative_code_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)) * S ((dst_negative_code_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)) + ((dst_negative_scale_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)))) * S ((((dst_positive_code_table_exists_nextleft) + (dst_positive_scale_table_exists_nextleft)) * S ((dst_positive_code_table_exists_nextleft) + (dst_positive_scale_table_exists_nextleft)) + ((dst_positive_scale_table_exists_nextleft) + (dst_positive_scale_table_exists_nextleft))) + (((dst_negative_code_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)) * S ((dst_negative_code_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)) + ((dst_negative_scale_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)))) + ((((dst_negative_code_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)) * S ((dst_negative_code_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)) + ((dst_negative_scale_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft))) + (((dst_negative_code_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)) * S ((dst_negative_code_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)) + ((dst_negative_scale_table_exists_nextleft) + (dst_negative_scale_table_exists_nextleft)))))) /\ (forall dst_index_table_exists_nextleft. (exists pvs_le_gap_table_exists_nextleftdomain. pvs_le_gap_table_exists_nextleftdomain + (dst_index_table_exists_nextleft) = (S N)) -> exists dst_positive_table_exists_nextleft dst_negative_table_exists_nextleft dst_value_table_exists_nextleft. ((((exists ff_h_pvs_table_exists_nextleftentrypositive. ff_h_pvs_table_exists_nextleftentrypositive + S (dst_positive_table_exists_nextleft) = S ((S (dst_index_table_exists_nextleft)) * dst_positive_scale_table_exists_nextleft)) /\ exists ff_q_pvs_table_exists_nextleftentrypositive. dst_positive_code_table_exists_nextleft = ff_q_pvs_table_exists_nextleftentrypositive * S ((S (dst_index_table_exists_nextleft)) * dst_positive_scale_table_exists_nextleft) + (dst_positive_table_exists_nextleft))) /\ (((((exists ff_h_pvs_table_exists_nextleftentrynegative. ff_h_pvs_table_exists_nextleftentrynegative + S (dst_negative_table_exists_nextleft) = S ((S (dst_index_table_exists_nextleft)) * dst_negative_scale_table_exists_nextleft)) /\ exists ff_q_pvs_table_exists_nextleftentrynegative. dst_negative_code_table_exists_nextleft = ff_q_pvs_table_exists_nextleftentrynegative * S ((S (dst_index_table_exists_nextleft)) * dst_negative_scale_table_exists_nextleft) + (dst_negative_table_exists_nextleft))) /\ (exists ge_balance_positive_table_exists_nextleftentryvalue ge_balance_negative_table_exists_nextleftentryvalue. (((((dst_value_table_exists_nextleft) = 2 * (ge_balance_positive_table_exists_nextleftentryvalue) /\ (ge_balance_negative_table_exists_nextleftentryvalue) = 0) \/ exists ge_signed_half_table_exists_nextleftentryvaluedecode. (((dst_value_table_exists_nextleft) = 2 * ge_signed_half_table_exists_nextleftentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_nextleftentryvalue) = 0) /\ (ge_balance_negative_table_exists_nextleftentryvalue) = S ge_signed_half_table_exists_nextleftentryvaluedecode))) /\ ((dst_positive_table_exists_nextleft) + ge_balance_negative_table_exists_nextleftentryvalue = (dst_negative_table_exists_nextleft) + ge_balance_positive_table_exists_nextleftentryvalue))))))))) /\ (((exists dst_positive_code_table_exists_nextright dst_positive_scale_table_exists_nextright dst_negative_code_table_exists_nextright dst_negative_scale_table_exists_nextright. (((G) = (((((dst_positive_code_table_exists_nextright) + (dst_positive_scale_table_exists_nextright)) * S ((dst_positive_code_table_exists_nextright) + (dst_positive_scale_table_exists_nextright)) + ((dst_positive_scale_table_exists_nextright) + (dst_positive_scale_table_exists_nextright))) + (((dst_negative_code_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)) * S ((dst_negative_code_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)) + ((dst_negative_scale_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)))) * S ((((dst_positive_code_table_exists_nextright) + (dst_positive_scale_table_exists_nextright)) * S ((dst_positive_code_table_exists_nextright) + (dst_positive_scale_table_exists_nextright)) + ((dst_positive_scale_table_exists_nextright) + (dst_positive_scale_table_exists_nextright))) + (((dst_negative_code_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)) * S ((dst_negative_code_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)) + ((dst_negative_scale_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)))) + ((((dst_negative_code_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)) * S ((dst_negative_code_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)) + ((dst_negative_scale_table_exists_nextright) + (dst_negative_scale_table_exists_nextright))) + (((dst_negative_code_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)) * S ((dst_negative_code_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)) + ((dst_negative_scale_table_exists_nextright) + (dst_negative_scale_table_exists_nextright)))))) /\ (forall dst_index_table_exists_nextright. (exists pvs_le_gap_table_exists_nextrightdomain. pvs_le_gap_table_exists_nextrightdomain + (dst_index_table_exists_nextright) = (S N)) -> exists dst_positive_table_exists_nextright dst_negative_table_exists_nextright dst_value_table_exists_nextright. ((((exists ff_h_pvs_table_exists_nextrightentrypositive. ff_h_pvs_table_exists_nextrightentrypositive + S (dst_positive_table_exists_nextright) = S ((S (dst_index_table_exists_nextright)) * dst_positive_scale_table_exists_nextright)) /\ exists ff_q_pvs_table_exists_nextrightentrypositive. dst_positive_code_table_exists_nextright = ff_q_pvs_table_exists_nextrightentrypositive * S ((S (dst_index_table_exists_nextright)) * dst_positive_scale_table_exists_nextright) + (dst_positive_table_exists_nextright))) /\ (((((exists ff_h_pvs_table_exists_nextrightentrynegative. ff_h_pvs_table_exists_nextrightentrynegative + S (dst_negative_table_exists_nextright) = S ((S (dst_index_table_exists_nextright)) * dst_negative_scale_table_exists_nextright)) /\ exists ff_q_pvs_table_exists_nextrightentrynegative. dst_negative_code_table_exists_nextright = ff_q_pvs_table_exists_nextrightentrynegative * S ((S (dst_index_table_exists_nextright)) * dst_negative_scale_table_exists_nextright) + (dst_negative_table_exists_nextright))) /\ (exists ge_balance_positive_table_exists_nextrightentryvalue ge_balance_negative_table_exists_nextrightentryvalue. (((((dst_value_table_exists_nextright) = 2 * (ge_balance_positive_table_exists_nextrightentryvalue) /\ (ge_balance_negative_table_exists_nextrightentryvalue) = 0) \/ exists ge_signed_half_table_exists_nextrightentryvaluedecode. (((dst_value_table_exists_nextright) = 2 * ge_signed_half_table_exists_nextrightentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_nextrightentryvalue) = 0) /\ (ge_balance_negative_table_exists_nextrightentryvalue) = S ge_signed_half_table_exists_nextrightentryvaluedecode))) /\ ((dst_positive_table_exists_nextright) + ge_balance_negative_table_exists_nextrightentryvalue = (dst_negative_table_exists_nextright) + ge_balance_positive_table_exists_nextrightentryvalue))))))))) /\ (((exists dst_positive_code_table_exists_nexttable dst_positive_scale_table_exists_nexttable dst_negative_code_table_exists_nexttable dst_negative_scale_table_exists_nexttable. (((K) = (((((dst_positive_code_table_exists_nexttable) + (dst_positive_scale_table_exists_nexttable)) * S ((dst_positive_code_table_exists_nexttable) + (dst_positive_scale_table_exists_nexttable)) + ((dst_positive_scale_table_exists_nexttable) + (dst_positive_scale_table_exists_nexttable))) + (((dst_negative_code_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)) * S ((dst_negative_code_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)) + ((dst_negative_scale_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)))) * S ((((dst_positive_code_table_exists_nexttable) + (dst_positive_scale_table_exists_nexttable)) * S ((dst_positive_code_table_exists_nexttable) + (dst_positive_scale_table_exists_nexttable)) + ((dst_positive_scale_table_exists_nexttable) + (dst_positive_scale_table_exists_nexttable))) + (((dst_negative_code_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)) * S ((dst_negative_code_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)) + ((dst_negative_scale_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)))) + ((((dst_negative_code_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)) * S ((dst_negative_code_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)) + ((dst_negative_scale_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable))) + (((dst_negative_code_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)) * S ((dst_negative_code_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)) + ((dst_negative_scale_table_exists_nexttable) + (dst_negative_scale_table_exists_nexttable)))))) /\ (forall dst_index_table_exists_nexttable. (exists pvs_le_gap_table_exists_nexttabledomain. pvs_le_gap_table_exists_nexttabledomain + (dst_index_table_exists_nexttable) = (S N)) -> exists dst_positive_table_exists_nexttable dst_negative_table_exists_nexttable dst_value_table_exists_nexttable. ((((exists ff_h_pvs_table_exists_nexttableentrypositive. ff_h_pvs_table_exists_nexttableentrypositive + S (dst_positive_table_exists_nexttable) = S ((S (dst_index_table_exists_nexttable)) * dst_positive_scale_table_exists_nexttable)) /\ exists ff_q_pvs_table_exists_nexttableentrypositive. dst_positive_code_table_exists_nexttable = ff_q_pvs_table_exists_nexttableentrypositive * S ((S (dst_index_table_exists_nexttable)) * dst_positive_scale_table_exists_nexttable) + (dst_positive_table_exists_nexttable))) /\ (((((exists ff_h_pvs_table_exists_nexttableentrynegative. ff_h_pvs_table_exists_nexttableentrynegative + S (dst_negative_table_exists_nexttable) = S ((S (dst_index_table_exists_nexttable)) * dst_negative_scale_table_exists_nexttable)) /\ exists ff_q_pvs_table_exists_nexttableentrynegative. dst_negative_code_table_exists_nexttable = ff_q_pvs_table_exists_nexttableentrynegative * S ((S (dst_index_table_exists_nexttable)) * dst_negative_scale_table_exists_nexttable) + (dst_negative_table_exists_nexttable))) /\ (exists ge_balance_positive_table_exists_nexttableentryvalue ge_balance_negative_table_exists_nexttableentryvalue. (((((dst_value_table_exists_nexttable) = 2 * (ge_balance_positive_table_exists_nexttableentryvalue) /\ (ge_balance_negative_table_exists_nexttableentryvalue) = 0) \/ exists ge_signed_half_table_exists_nexttableentryvaluedecode. (((dst_value_table_exists_nexttable) = 2 * ge_signed_half_table_exists_nexttableentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_nexttableentryvalue) = 0) /\ (ge_balance_negative_table_exists_nexttableentryvalue) = S ge_signed_half_table_exists_nexttableentryvaluedecode))) /\ ((dst_positive_table_exists_nexttable) + ge_balance_negative_table_exists_nexttableentryvalue = (dst_negative_table_exists_nexttable) + ge_balance_positive_table_exists_nexttableentryvalue))))))))) /\ (forall dc_input_table_exists_next dc_output_table_exists_next. ~(dc_input_table_exists_next=0) -> (exists pvs_le_gap_table_exists_nextdomain. pvs_le_gap_table_exists_nextdomain + (dc_input_table_exists_next) = (S N)) -> (exists dst_positive_code_table_exists_nextlookup dst_positive_scale_table_exists_nextlookup dst_negative_code_table_exists_nextlookup dst_negative_scale_table_exists_nextlookup dst_positive_table_exists_nextlookup dst_negative_table_exists_nextlookup. (((K) = (((((dst_positive_code_table_exists_nextlookup) + (dst_positive_scale_table_exists_nextlookup)) * S ((dst_positive_code_table_exists_nextlookup) + (dst_positive_scale_table_exists_nextlookup)) + ((dst_positive_scale_table_exists_nextlookup) + (dst_positive_scale_table_exists_nextlookup))) + (((dst_negative_code_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)) * S ((dst_negative_code_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)) + ((dst_negative_scale_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)))) * S ((((dst_positive_code_table_exists_nextlookup) + (dst_positive_scale_table_exists_nextlookup)) * S ((dst_positive_code_table_exists_nextlookup) + (dst_positive_scale_table_exists_nextlookup)) + ((dst_positive_scale_table_exists_nextlookup) + (dst_positive_scale_table_exists_nextlookup))) + (((dst_negative_code_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)) * S ((dst_negative_code_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)) + ((dst_negative_scale_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)))) + ((((dst_negative_code_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)) * S ((dst_negative_code_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)) + ((dst_negative_scale_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup))) + (((dst_negative_code_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)) * S ((dst_negative_code_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)) + ((dst_negative_scale_table_exists_nextlookup) + (dst_negative_scale_table_exists_nextlookup)))))) /\ (((((exists ff_h_pvs_table_exists_nextlookuppositive. ff_h_pvs_table_exists_nextlookuppositive + S (dst_positive_table_exists_nextlookup) = S ((S (dc_input_table_exists_next)) * dst_positive_scale_table_exists_nextlookup)) /\ exists ff_q_pvs_table_exists_nextlookuppositive. dst_positive_code_table_exists_nextlookup = ff_q_pvs_table_exists_nextlookuppositive * S ((S (dc_input_table_exists_next)) * dst_positive_scale_table_exists_nextlookup) + (dst_positive_table_exists_nextlookup))) /\ (((((exists ff_h_pvs_table_exists_nextlookupnegative. ff_h_pvs_table_exists_nextlookupnegative + S (dst_negative_table_exists_nextlookup) = S ((S (dc_input_table_exists_next)) * dst_negative_scale_table_exists_nextlookup)) /\ exists ff_q_pvs_table_exists_nextlookupnegative. dst_negative_code_table_exists_nextlookup = ff_q_pvs_table_exists_nextlookupnegative * S ((S (dc_input_table_exists_next)) * dst_negative_scale_table_exists_nextlookup) + (dst_negative_table_exists_nextlookup))) /\ (exists ge_balance_positive_table_exists_nextlookupvalue ge_balance_negative_table_exists_nextlookupvalue. (((((dc_output_table_exists_next) = 2 * (ge_balance_positive_table_exists_nextlookupvalue) /\ (ge_balance_negative_table_exists_nextlookupvalue) = 0) \/ exists ge_signed_half_table_exists_nextlookupvaluedecode. (((dc_output_table_exists_next) = 2 * ge_signed_half_table_exists_nextlookupvaluedecode + 1 /\ (ge_balance_positive_table_exists_nextlookupvalue) = 0) /\ (ge_balance_negative_table_exists_nextlookupvalue) = S ge_signed_half_table_exists_nextlookupvaluedecode))) /\ ((dst_positive_table_exists_nextlookup) + ge_balance_negative_table_exists_nextlookupvalue = (dst_negative_table_exists_nextlookup) + ge_balance_positive_table_exists_nextlookupvalue))))))))) -> (((~((dc_input_table_exists_next)=0)) /\ (exists dc_mask_table_exists_nextvalue. ((((exists dst_positive_code_table_exists_nextvaluemasktable dst_positive_scale_table_exists_nextvaluemasktable dst_negative_code_table_exists_nextvaluemasktable dst_negative_scale_table_exists_nextvaluemasktable. (((dc_mask_table_exists_nextvalue) = (((((dst_positive_code_table_exists_nextvaluemasktable) + (dst_positive_scale_table_exists_nextvaluemasktable)) * S ((dst_positive_code_table_exists_nextvaluemasktable) + (dst_positive_scale_table_exists_nextvaluemasktable)) + ((dst_positive_scale_table_exists_nextvaluemasktable) + (dst_positive_scale_table_exists_nextvaluemasktable))) + (((dst_negative_code_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)) * S ((dst_negative_code_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)) + ((dst_negative_scale_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)))) * S ((((dst_positive_code_table_exists_nextvaluemasktable) + (dst_positive_scale_table_exists_nextvaluemasktable)) * S ((dst_positive_code_table_exists_nextvaluemasktable) + (dst_positive_scale_table_exists_nextvaluemasktable)) + ((dst_positive_scale_table_exists_nextvaluemasktable) + (dst_positive_scale_table_exists_nextvaluemasktable))) + (((dst_negative_code_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)) * S ((dst_negative_code_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)) + ((dst_negative_scale_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)))) + ((((dst_negative_code_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)) * S ((dst_negative_code_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)) + ((dst_negative_scale_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable))) + (((dst_negative_code_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)) * S ((dst_negative_code_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)) + ((dst_negative_scale_table_exists_nextvaluemasktable) + (dst_negative_scale_table_exists_nextvaluemasktable)))))) /\ (forall dst_index_table_exists_nextvaluemasktable. (exists pvs_le_gap_table_exists_nextvaluemasktabledomain. pvs_le_gap_table_exists_nextvaluemasktabledomain + (dst_index_table_exists_nextvaluemasktable) = (dc_input_table_exists_next)) -> exists dst_positive_table_exists_nextvaluemasktable dst_negative_table_exists_nextvaluemasktable dst_value_table_exists_nextvaluemasktable. ((((exists ff_h_pvs_table_exists_nextvaluemasktableentrypositive. ff_h_pvs_table_exists_nextvaluemasktableentrypositive + S (dst_positive_table_exists_nextvaluemasktable) = S ((S (dst_index_table_exists_nextvaluemasktable)) * dst_positive_scale_table_exists_nextvaluemasktable)) /\ exists ff_q_pvs_table_exists_nextvaluemasktableentrypositive. dst_positive_code_table_exists_nextvaluemasktable = ff_q_pvs_table_exists_nextvaluemasktableentrypositive * S ((S (dst_index_table_exists_nextvaluemasktable)) * dst_positive_scale_table_exists_nextvaluemasktable) + (dst_positive_table_exists_nextvaluemasktable))) /\ (((((exists ff_h_pvs_table_exists_nextvaluemasktableentrynegative. ff_h_pvs_table_exists_nextvaluemasktableentrynegative + S (dst_negative_table_exists_nextvaluemasktable) = S ((S (dst_index_table_exists_nextvaluemasktable)) * dst_negative_scale_table_exists_nextvaluemasktable)) /\ exists ff_q_pvs_table_exists_nextvaluemasktableentrynegative. dst_negative_code_table_exists_nextvaluemasktable = ff_q_pvs_table_exists_nextvaluemasktableentrynegative * S ((S (dst_index_table_exists_nextvaluemasktable)) * dst_negative_scale_table_exists_nextvaluemasktable) + (dst_negative_table_exists_nextvaluemasktable))) /\ (exists ge_balance_positive_table_exists_nextvaluemasktableentryvalue ge_balance_negative_table_exists_nextvaluemasktableentryvalue. (((((dst_value_table_exists_nextvaluemasktable) = 2 * (ge_balance_positive_table_exists_nextvaluemasktableentryvalue) /\ (ge_balance_negative_table_exists_nextvaluemasktableentryvalue) = 0) \/ exists ge_signed_half_table_exists_nextvaluemasktableentryvaluedecode. (((dst_value_table_exists_nextvaluemasktable) = 2 * ge_signed_half_table_exists_nextvaluemasktableentryvaluedecode + 1 /\ (ge_balance_positive_table_exists_nextvaluemasktableentryvalue) = 0) /\ (ge_balance_negative_table_exists_nextvaluemasktableentryvalue) = S ge_signed_half_table_exists_nextvaluemasktableentryvaluedecode))) /\ ((dst_positive_table_exists_nextvaluemasktable) + ge_balance_negative_table_exists_nextvaluemasktableentryvalue = (dst_negative_table_exists_nextvaluemasktable) + ge_balance_positive_table_exists_nextvaluemasktableentryvalue))))))))) /\ (forall dc_index_table_exists_nextvaluemask dc_value_table_exists_nextvaluemask. (exists pvs_le_gap_table_exists_nextvaluemaskdomain. pvs_le_gap_table_exists_nextvaluemaskdomain + (dc_index_table_exists_nextvaluemask) = (dc_input_table_exists_next)) -> (exists dst_positive_code_table_exists_nextvaluemasklookup dst_positive_scale_table_exists_nextvaluemasklookup dst_negative_code_table_exists_nextvaluemasklookup dst_negative_scale_table_exists_nextvaluemasklookup dst_positive_table_exists_nextvaluemasklookup dst_negative_table_exists_nextvaluemasklookup. (((dc_mask_table_exists_nextvalue) = (((((dst_positive_code_table_exists_nextvaluemasklookup) + (dst_positive_scale_table_exists_nextvaluemasklookup)) * S ((dst_positive_code_table_exists_nextvaluemasklookup) + (dst_positive_scale_table_exists_nextvaluemasklookup)) + ((dst_positive_scale_table_exists_nextvaluemasklookup) + (dst_positive_scale_table_exists_nextvaluemasklookup))) + (((dst_negative_code_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)) * S ((dst_negative_code_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)) + ((dst_negative_scale_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)))) * S ((((dst_positive_code_table_exists_nextvaluemasklookup) + (dst_positive_scale_table_exists_nextvaluemasklookup)) * S ((dst_positive_code_table_exists_nextvaluemasklookup) + (dst_positive_scale_table_exists_nextvaluemasklookup)) + ((dst_positive_scale_table_exists_nextvaluemasklookup) + (dst_positive_scale_table_exists_nextvaluemasklookup))) + (((dst_negative_code_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)) * S ((dst_negative_code_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)) + ((dst_negative_scale_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)))) + ((((dst_negative_code_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)) * S ((dst_negative_code_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)) + ((dst_negative_scale_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup))) + (((dst_negative_code_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)) * S ((dst_negative_code_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)) + ((dst_negative_scale_table_exists_nextvaluemasklookup) + (dst_negative_scale_table_exists_nextvaluemasklookup)))))) /\ (((((exists ff_h_pvs_table_exists_nextvaluemasklookuppositive. ff_h_pvs_table_exists_nextvaluemasklookuppositive + S (dst_positive_table_exists_nextvaluemasklookup) = S ((S (dc_index_table_exists_nextvaluemask)) * dst_positive_scale_table_exists_nextvaluemasklookup)) /\ exists ff_q_pvs_table_exists_nextvaluemasklookuppositive. dst_positive_code_table_exists_nextvaluemasklookup = ff_q_pvs_table_exists_nextvaluemasklookuppositive * S ((S (dc_index_table_exists_nextvaluemask)) * dst_positive_scale_table_exists_nextvaluemasklookup) + (dst_positive_table_exists_nextvaluemasklookup))) /\ (((((exists ff_h_pvs_table_exists_nextvaluemasklookupnegative. ff_h_pvs_table_exists_nextvaluemasklookupnegative + S (dst_negative_table_exists_nextvaluemasklookup) = S ((S (dc_index_table_exists_nextvaluemask)) * dst_negative_scale_table_exists_nextvaluemasklookup)) /\ exists ff_q_pvs_table_exists_nextvaluemasklookupnegative. dst_negative_code_table_exists_nextvaluemasklookup = ff_q_pvs_table_exists_nextvaluemasklookupnegative * S ((S (dc_index_table_exists_nextvaluemask)) * dst_negative_scale_table_exists_nextvaluemasklookup) + (dst_negative_table_exists_nextvaluemasklookup))) /\ (exists ge_balance_positive_table_exists_nextvaluemasklookupvalue ge_balance_negative_table_exists_nextvaluemasklookupvalue. (((((dc_value_table_exists_nextvaluemask) = 2 * (ge_balance_positive_table_exists_nextvaluemasklookupvalue) /\ (ge_balance_negative_table_exists_nextvaluemasklookupvalue) = 0) \/ exists ge_signed_half_table_exists_nextvaluemasklookupvaluedecode. (((dc_value_table_exists_nextvaluemask) = 2 * ge_signed_half_table_exists_nextvaluemasklookupvaluedecode + 1 /\ (ge_balance_positive_table_exists_nextvaluemasklookupvalue) = 0) /\ (ge_balance_negative_table_exists_nextvaluemasklookupvalue) = S ge_signed_half_table_exists_nextvaluemasklookupvaluedecode))) /\ ((dst_positive_table_exists_nextvaluemasklookup) + ge_balance_negative_table_exists_nextvaluemasklookupvalue = (dst_negative_table_exists_nextvaluemasklookup) + ge_balance_positive_table_exists_nextvaluemasklookupvalue))))))))) -> ((((~((dc_index_table_exists_nextvaluemask)=0)) /\ (exists dc_quotient_table_exists_nextvaluemaskentry dc_left_table_exists_nextvaluemaskentry dc_right_table_exists_nextvaluemaskentry. (((dc_input_table_exists_next)=(dc_index_table_exists_nextvaluemask)*dc_quotient_table_exists_nextvaluemaskentry) /\ (((exists dst_positive_code_table_exists_nextvaluemaskentryleft dst_positive_scale_table_exists_nextvaluemaskentryleft dst_negative_code_table_exists_nextvaluemaskentryleft dst_negative_scale_table_exists_nextvaluemaskentryleft dst_positive_table_exists_nextvaluemaskentryleft dst_negative_table_exists_nextvaluemaskentryleft. (((F) = (((((dst_positive_code_table_exists_nextvaluemaskentryleft) + (dst_positive_scale_table_exists_nextvaluemaskentryleft)) * S ((dst_positive_code_table_exists_nextvaluemaskentryleft) + (dst_positive_scale_table_exists_nextvaluemaskentryleft)) + ((dst_positive_scale_table_exists_nextvaluemaskentryleft) + (dst_positive_scale_table_exists_nextvaluemaskentryleft))) + (((dst_negative_code_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)) * S ((dst_negative_code_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)) + ((dst_negative_scale_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)))) * S ((((dst_positive_code_table_exists_nextvaluemaskentryleft) + (dst_positive_scale_table_exists_nextvaluemaskentryleft)) * S ((dst_positive_code_table_exists_nextvaluemaskentryleft) + (dst_positive_scale_table_exists_nextvaluemaskentryleft)) + ((dst_positive_scale_table_exists_nextvaluemaskentryleft) + (dst_positive_scale_table_exists_nextvaluemaskentryleft))) + (((dst_negative_code_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)) * S ((dst_negative_code_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)) + ((dst_negative_scale_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)))) + ((((dst_negative_code_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)) * S ((dst_negative_code_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)) + ((dst_negative_scale_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft))) + (((dst_negative_code_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)) * S ((dst_negative_code_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)) + ((dst_negative_scale_table_exists_nextvaluemaskentryleft) + (dst_negative_scale_table_exists_nextvaluemaskentryleft)))))) /\ (((((exists ff_h_pvs_table_exists_nextvaluemaskentryleftpositive. ff_h_pvs_table_exists_nextvaluemaskentryleftpositive + S (dst_positive_table_exists_nextvaluemaskentryleft) = S ((S (dc_index_table_exists_nextvaluemask)) * dst_positive_scale_table_exists_nextvaluemaskentryleft)) /\ exists ff_q_pvs_table_exists_nextvaluemaskentryleftpositive. dst_positive_code_table_exists_nextvaluemaskentryleft = ff_q_pvs_table_exists_nextvaluemaskentryleftpositive * S ((S (dc_index_table_exists_nextvaluemask)) * dst_positive_scale_table_exists_nextvaluemaskentryleft) + (dst_positive_table_exists_nextvaluemaskentryleft))) /\ (((((exists ff_h_pvs_table_exists_nextvaluemaskentryleftnegative. ff_h_pvs_table_exists_nextvaluemaskentryleftnegative + S (dst_negative_table_exists_nextvaluemaskentryleft) = S ((S (dc_index_table_exists_nextvaluemask)) * dst_negative_scale_table_exists_nextvaluemaskentryleft)) /\ exists ff_q_pvs_table_exists_nextvaluemaskentryleftnegative. dst_negative_code_table_exists_nextvaluemaskentryleft = ff_q_pvs_table_exists_nextvaluemaskentryleftnegative * S ((S (dc_index_table_exists_nextvaluemask)) * dst_negative_scale_table_exists_nextvaluemaskentryleft) + (dst_negative_table_exists_nextvaluemaskentryleft))) /\ (exists ge_balance_positive_table_exists_nextvaluemaskentryleftvalue ge_balance_negative_table_exists_nextvaluemaskentryleftvalue. (((((dc_left_table_exists_nextvaluemaskentry) = 2 * (ge_balance_positive_table_exists_nextvaluemaskentryleftvalue) /\ (ge_balance_negative_table_exists_nextvaluemaskentryleftvalue) = 0) \/ exists ge_signed_half_table_exists_nextvaluemaskentryleftvaluedecode. (((dc_left_table_exists_nextvaluemaskentry) = 2 * ge_signed_half_table_exists_nextvaluemaskentryleftvaluedecode + 1 /\ (ge_balance_positive_table_exists_nextvaluemaskentryleftvalue) = 0) /\ (ge_balance_negative_table_exists_nextvaluemaskentryleftvalue) = S ge_signed_half_table_exists_nextvaluemaskentryleftvaluedecode))) /\ ((dst_positive_table_exists_nextvaluemaskentryleft) + ge_balance_negative_table_exists_nextvaluemaskentryleftvalue = (dst_negative_table_exists_nextvaluemaskentryleft) + ge_balance_positive_table_exists_nextvaluemaskentryleftvalue))))))))) /\ (((exists dst_positive_code_table_exists_nextvaluemaskentryright dst_positive_scale_table_exists_nextvaluemaskentryright dst_negative_code_table_exists_nextvaluemaskentryright dst_negative_scale_table_exists_nextvaluemaskentryright dst_positive_table_exists_nextvaluemaskentryright dst_negative_table_exists_nextvaluemaskentryright. (((G) = (((((dst_positive_code_table_exists_nextvaluemaskentryright) + (dst_positive_scale_table_exists_nextvaluemaskentryright)) * S ((dst_positive_code_table_exists_nextvaluemaskentryright) + (dst_positive_scale_table_exists_nextvaluemaskentryright)) + ((dst_positive_scale_table_exists_nextvaluemaskentryright) + (dst_positive_scale_table_exists_nextvaluemaskentryright))) + (((dst_negative_code_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)) * S ((dst_negative_code_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)) + ((dst_negative_scale_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)))) * S ((((dst_positive_code_table_exists_nextvaluemaskentryright) + (dst_positive_scale_table_exists_nextvaluemaskentryright)) * S ((dst_positive_code_table_exists_nextvaluemaskentryright) + (dst_positive_scale_table_exists_nextvaluemaskentryright)) + ((dst_positive_scale_table_exists_nextvaluemaskentryright) + (dst_positive_scale_table_exists_nextvaluemaskentryright))) + (((dst_negative_code_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)) * S ((dst_negative_code_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)) + ((dst_negative_scale_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)))) + ((((dst_negative_code_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)) * S ((dst_negative_code_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)) + ((dst_negative_scale_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright))) + (((dst_negative_code_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)) * S ((dst_negative_code_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)) + ((dst_negative_scale_table_exists_nextvaluemaskentryright) + (dst_negative_scale_table_exists_nextvaluemaskentryright)))))) /\ (((((exists ff_h_pvs_table_exists_nextvaluemaskentryrightpositive. ff_h_pvs_table_exists_nextvaluemaskentryrightpositive + S (dst_positive_table_exists_nextvaluemaskentryright) = S ((S (dc_quotient_table_exists_nextvaluemaskentry)) * dst_positive_scale_table_exists_nextvaluemaskentryright)) /\ exists ff_q_pvs_table_exists_nextvaluemaskentryrightpositive. dst_positive_code_table_exists_nextvaluemaskentryright = ff_q_pvs_table_exists_nextvaluemaskentryrightpositive * S ((S (dc_quotient_table_exists_nextvaluemaskentry)) * dst_positive_scale_table_exists_nextvaluemaskentryright) + (dst_positive_table_exists_nextvaluemaskentryright))) /\ (((((exists ff_h_pvs_table_exists_nextvaluemaskentryrightnegative. ff_h_pvs_table_exists_nextvaluemaskentryrightnegative + S (dst_negative_table_exists_nextvaluemaskentryright) = S ((S (dc_quotient_table_exists_nextvaluemaskentry)) * dst_negative_scale_table_exists_nextvaluemaskentryright)) /\ exists ff_q_pvs_table_exists_nextvaluemaskentryrightnegative. dst_negative_code_table_exists_nextvaluemaskentryright = ff_q_pvs_table_exists_nextvaluemaskentryrightnegative * S ((S (dc_quotient_table_exists_nextvaluemaskentry)) * dst_negative_scale_table_exists_nextvaluemaskentryright) + (dst_negative_table_exists_nextvaluemaskentryright))) /\ (exists ge_balance_positive_table_exists_nextvaluemaskentryrightvalue ge_balance_negative_table_exists_nextvaluemaskentryrightvalue. (((((dc_right_table_exists_nextvaluemaskentry) = 2 * (ge_balance_positive_table_exists_nextvaluemaskentryrightvalue) /\ (ge_balance_negative_table_exists_nextvaluemaskentryrightvalue) = 0) \/ exists ge_signed_half_table_exists_nextvaluemaskentryrightvaluedecode. (((dc_right_table_exists_nextvaluemaskentry) = 2 * ge_signed_half_table_exists_nextvaluemaskentryrightvaluedecode + 1 /\ (ge_balance_positive_table_exists_nextvaluemaskentryrightvalue) = 0) /\ (ge_balance_negative_table_exists_nextvaluemaskentryrightvalue) = S ge_signed_half_table_exists_nextvaluemaskentryrightvaluedecode))) /\ ((dst_positive_table_exists_nextvaluemaskentryright) + ge_balance_negative_table_exists_nextvaluemaskentryrightvalue = (dst_negative_table_exists_nextvaluemaskentryright) + ge_balance_positive_table_exists_nextvaluemaskentryrightvalue))))))))) /\ (exists sto_ap_table_exists_nextvaluemaskentryproduct sto_an_table_exists_nextvaluemaskentryproduct sto_bp_table_exists_nextvaluemaskentryproduct sto_bn_table_exists_nextvaluemaskentryproduct sto_cp_table_exists_nextvaluemaskentryproduct sto_cn_table_exists_nextvaluemaskentryproduct. (((((dc_left_table_exists_nextvaluemaskentry) = 2 * (sto_ap_table_exists_nextvaluemaskentryproduct) /\ (sto_an_table_exists_nextvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_nextvaluemaskentryproductleft. (((dc_left_table_exists_nextvaluemaskentry) = 2 * ge_signed_half_table_exists_nextvaluemaskentryproductleft + 1 /\ (sto_ap_table_exists_nextvaluemaskentryproduct) = 0) /\ (sto_an_table_exists_nextvaluemaskentryproduct) = S ge_signed_half_table_exists_nextvaluemaskentryproductleft))) /\ ((((((dc_right_table_exists_nextvaluemaskentry) = 2 * (sto_bp_table_exists_nextvaluemaskentryproduct) /\ (sto_bn_table_exists_nextvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_nextvaluemaskentryproductright. (((dc_right_table_exists_nextvaluemaskentry) = 2 * ge_signed_half_table_exists_nextvaluemaskentryproductright + 1 /\ (sto_bp_table_exists_nextvaluemaskentryproduct) = 0) /\ (sto_bn_table_exists_nextvaluemaskentryproduct) = S ge_signed_half_table_exists_nextvaluemaskentryproductright))) /\ ((((((dc_value_table_exists_nextvaluemask) = 2 * (sto_cp_table_exists_nextvaluemaskentryproduct) /\ (sto_cn_table_exists_nextvaluemaskentryproduct) = 0) \/ exists ge_signed_half_table_exists_nextvaluemaskentryproductoutput. (((dc_value_table_exists_nextvaluemask) = 2 * ge_signed_half_table_exists_nextvaluemaskentryproductoutput + 1 /\ (sto_cp_table_exists_nextvaluemaskentryproduct) = 0) /\ (sto_cn_table_exists_nextvaluemaskentryproduct) = S ge_signed_half_table_exists_nextvaluemaskentryproductoutput))) /\ ((sto_ap_table_exists_nextvaluemaskentryproduct * sto_bp_table_exists_nextvaluemaskentryproduct + sto_an_table_exists_nextvaluemaskentryproduct * sto_bn_table_exists_nextvaluemaskentryproduct) + sto_cn_table_exists_nextvaluemaskentryproduct = (sto_ap_table_exists_nextvaluemaskentryproduct * sto_bn_table_exists_nextvaluemaskentryproduct + sto_an_table_exists_nextvaluemaskentryproduct * sto_bp_table_exists_nextvaluemaskentryproduct) + sto_cp_table_exists_nextvaluemaskentryproduct))))))))))))))) \/ ((((dc_index_table_exists_nextvaluemask)=0 \/ ~(exists pvs_factor_table_exists_nextvaluemaskentrynondivisor. (dc_input_table_exists_next) = (dc_index_table_exists_nextvaluemask) * pvs_factor_table_exists_nextvaluemaskentrynondivisor)) /\ ((dc_value_table_exists_nextvaluemask)=0))))))) /\ (exists dst_positive_code_table_exists_nextvaluefold dst_positive_scale_table_exists_nextvaluefold dst_negative_code_table_exists_nextvaluefold dst_negative_scale_table_exists_nextvaluefold dst_positive_sum_table_exists_nextvaluefold dst_negative_sum_table_exists_nextvaluefold. (((dc_mask_table_exists_nextvalue) = (((((dst_positive_code_table_exists_nextvaluefold) + (dst_positive_scale_table_exists_nextvaluefold)) * S ((dst_positive_code_table_exists_nextvaluefold) + (dst_positive_scale_table_exists_nextvaluefold)) + ((dst_positive_scale_table_exists_nextvaluefold) + (dst_positive_scale_table_exists_nextvaluefold))) + (((dst_negative_code_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)) * S ((dst_negative_code_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)) + ((dst_negative_scale_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)))) * S ((((dst_positive_code_table_exists_nextvaluefold) + (dst_positive_scale_table_exists_nextvaluefold)) * S ((dst_positive_code_table_exists_nextvaluefold) + (dst_positive_scale_table_exists_nextvaluefold)) + ((dst_positive_scale_table_exists_nextvaluefold) + (dst_positive_scale_table_exists_nextvaluefold))) + (((dst_negative_code_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)) * S ((dst_negative_code_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)) + ((dst_negative_scale_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)))) + ((((dst_negative_code_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)) * S ((dst_negative_code_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)) + ((dst_negative_scale_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold))) + (((dst_negative_code_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)) * S ((dst_negative_code_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)) + ((dst_negative_scale_table_exists_nextvaluefold) + (dst_negative_scale_table_exists_nextvaluefold)))))) /\ (((exists fs_u_dst_table_exists_nextvaluefoldpositive fs_v_dst_table_exists_nextvaluefoldpositive. ((((exists fs_h_dst_table_exists_nextvaluefoldpositive_body_start. fs_h_dst_table_exists_nextvaluefoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_table_exists_nextvaluefoldpositive)) /\ exists fs_q_dst_table_exists_nextvaluefoldpositive_body_start. fs_u_dst_table_exists_nextvaluefoldpositive = fs_q_dst_table_exists_nextvaluefoldpositive_body_start * S ((S (0)) * fs_v_dst_table_exists_nextvaluefoldpositive) + (0))) /\ ((((exists fs_h_dst_table_exists_nextvaluefoldpositive_body_terminal. fs_h_dst_table_exists_nextvaluefoldpositive_body_terminal + S (dst_positive_sum_table_exists_nextvaluefold) = S ((S (S (dc_input_table_exists_next))) * fs_v_dst_table_exists_nextvaluefoldpositive)) /\ exists fs_q_dst_table_exists_nextvaluefoldpositive_body_terminal. fs_u_dst_table_exists_nextvaluefoldpositive = fs_q_dst_table_exists_nextvaluefoldpositive_body_terminal * S ((S (S (dc_input_table_exists_next))) * fs_v_dst_table_exists_nextvaluefoldpositive) + (dst_positive_sum_table_exists_nextvaluefold))) /\ forall fs_i_dst_table_exists_nextvaluefoldpositive_body_steps. (exists fs_lt_dst_table_exists_nextvaluefoldpositive_body_steps_bound. fs_lt_dst_table_exists_nextvaluefoldpositive_body_steps_bound + S fs_i_dst_table_exists_nextvaluefoldpositive_body_steps = S (dc_input_table_exists_next)) -> exists fs_a_dst_table_exists_nextvaluefoldpositive_body_steps fs_r_dst_table_exists_nextvaluefoldpositive_body_steps fs_s_dst_table_exists_nextvaluefoldpositive_body_steps. ((((exists fs_h_dst_table_exists_nextvaluefoldpositive_body_steps_summand. fs_h_dst_table_exists_nextvaluefoldpositive_body_steps_summand + S (fs_a_dst_table_exists_nextvaluefoldpositive_body_steps) = S ((S (fs_i_dst_table_exists_nextvaluefoldpositive_body_steps)) * dst_positive_scale_table_exists_nextvaluefold)) /\ exists fs_q_dst_table_exists_nextvaluefoldpositive_body_steps_summand. dst_positive_code_table_exists_nextvaluefold = fs_q_dst_table_exists_nextvaluefoldpositive_body_steps_summand * S ((S (fs_i_dst_table_exists_nextvaluefoldpositive_body_steps)) * dst_positive_scale_table_exists_nextvaluefold) + (fs_a_dst_table_exists_nextvaluefoldpositive_body_steps))) /\ ((((exists fs_h_dst_table_exists_nextvaluefoldpositive_body_steps_partial. fs_h_dst_table_exists_nextvaluefoldpositive_body_steps_partial + S (fs_r_dst_table_exists_nextvaluefoldpositive_body_steps) = S ((S (fs_i_dst_table_exists_nextvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_nextvaluefoldpositive)) /\ exists fs_q_dst_table_exists_nextvaluefoldpositive_body_steps_partial. fs_u_dst_table_exists_nextvaluefoldpositive = fs_q_dst_table_exists_nextvaluefoldpositive_body_steps_partial * S ((S (fs_i_dst_table_exists_nextvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_nextvaluefoldpositive) + (fs_r_dst_table_exists_nextvaluefoldpositive_body_steps))) /\ ((((exists fs_h_dst_table_exists_nextvaluefoldpositive_body_steps_successor. fs_h_dst_table_exists_nextvaluefoldpositive_body_steps_successor + S (fs_s_dst_table_exists_nextvaluefoldpositive_body_steps) = S ((S (S fs_i_dst_table_exists_nextvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_nextvaluefoldpositive)) /\ exists fs_q_dst_table_exists_nextvaluefoldpositive_body_steps_successor. fs_u_dst_table_exists_nextvaluefoldpositive = fs_q_dst_table_exists_nextvaluefoldpositive_body_steps_successor * S ((S (S fs_i_dst_table_exists_nextvaluefoldpositive_body_steps)) * fs_v_dst_table_exists_nextvaluefoldpositive) + (fs_s_dst_table_exists_nextvaluefoldpositive_body_steps))) /\ fs_s_dst_table_exists_nextvaluefoldpositive_body_steps = fs_r_dst_table_exists_nextvaluefoldpositive_body_steps + fs_a_dst_table_exists_nextvaluefoldpositive_body_steps)))))) /\ (((exists fs_u_dst_table_exists_nextvaluefoldnegative fs_v_dst_table_exists_nextvaluefoldnegative. ((((exists fs_h_dst_table_exists_nextvaluefoldnegative_body_start. fs_h_dst_table_exists_nextvaluefoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_table_exists_nextvaluefoldnegative)) /\ exists fs_q_dst_table_exists_nextvaluefoldnegative_body_start. fs_u_dst_table_exists_nextvaluefoldnegative = fs_q_dst_table_exists_nextvaluefoldnegative_body_start * S ((S (0)) * fs_v_dst_table_exists_nextvaluefoldnegative) + (0))) /\ ((((exists fs_h_dst_table_exists_nextvaluefoldnegative_body_terminal. fs_h_dst_table_exists_nextvaluefoldnegative_body_terminal + S (dst_negative_sum_table_exists_nextvaluefold) = S ((S (S (dc_input_table_exists_next))) * fs_v_dst_table_exists_nextvaluefoldnegative)) /\ exists fs_q_dst_table_exists_nextvaluefoldnegative_body_terminal. fs_u_dst_table_exists_nextvaluefoldnegative = fs_q_dst_table_exists_nextvaluefoldnegative_body_terminal * S ((S (S (dc_input_table_exists_next))) * fs_v_dst_table_exists_nextvaluefoldnegative) + (dst_negative_sum_table_exists_nextvaluefold))) /\ forall fs_i_dst_table_exists_nextvaluefoldnegative_body_steps. (exists fs_lt_dst_table_exists_nextvaluefoldnegative_body_steps_bound. fs_lt_dst_table_exists_nextvaluefoldnegative_body_steps_bound + S fs_i_dst_table_exists_nextvaluefoldnegative_body_steps = S (dc_input_table_exists_next)) -> exists fs_a_dst_table_exists_nextvaluefoldnegative_body_steps fs_r_dst_table_exists_nextvaluefoldnegative_body_steps fs_s_dst_table_exists_nextvaluefoldnegative_body_steps. ((((exists fs_h_dst_table_exists_nextvaluefoldnegative_body_steps_summand. fs_h_dst_table_exists_nextvaluefoldnegative_body_steps_summand + S (fs_a_dst_table_exists_nextvaluefoldnegative_body_steps) = S ((S (fs_i_dst_table_exists_nextvaluefoldnegative_body_steps)) * dst_negative_scale_table_exists_nextvaluefold)) /\ exists fs_q_dst_table_exists_nextvaluefoldnegative_body_steps_summand. dst_negative_code_table_exists_nextvaluefold = fs_q_dst_table_exists_nextvaluefoldnegative_body_steps_summand * S ((S (fs_i_dst_table_exists_nextvaluefoldnegative_body_steps)) * dst_negative_scale_table_exists_nextvaluefold) + (fs_a_dst_table_exists_nextvaluefoldnegative_body_steps))) /\ ((((exists fs_h_dst_table_exists_nextvaluefoldnegative_body_steps_partial. fs_h_dst_table_exists_nextvaluefoldnegative_body_steps_partial + S (fs_r_dst_table_exists_nextvaluefoldnegative_body_steps) = S ((S (fs_i_dst_table_exists_nextvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_nextvaluefoldnegative)) /\ exists fs_q_dst_table_exists_nextvaluefoldnegative_body_steps_partial. fs_u_dst_table_exists_nextvaluefoldnegative = fs_q_dst_table_exists_nextvaluefoldnegative_body_steps_partial * S ((S (fs_i_dst_table_exists_nextvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_nextvaluefoldnegative) + (fs_r_dst_table_exists_nextvaluefoldnegative_body_steps))) /\ ((((exists fs_h_dst_table_exists_nextvaluefoldnegative_body_steps_successor. fs_h_dst_table_exists_nextvaluefoldnegative_body_steps_successor + S (fs_s_dst_table_exists_nextvaluefoldnegative_body_steps) = S ((S (S fs_i_dst_table_exists_nextvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_nextvaluefoldnegative)) /\ exists fs_q_dst_table_exists_nextvaluefoldnegative_body_steps_successor. fs_u_dst_table_exists_nextvaluefoldnegative = fs_q_dst_table_exists_nextvaluefoldnegative_body_steps_successor * S ((S (S fs_i_dst_table_exists_nextvaluefoldnegative_body_steps)) * fs_v_dst_table_exists_nextvaluefoldnegative) + (fs_s_dst_table_exists_nextvaluefoldnegative_body_steps))) /\ fs_s_dst_table_exists_nextvaluefoldnegative_body_steps = fs_r_dst_table_exists_nextvaluefoldnegative_body_steps + fs_a_dst_table_exists_nextvaluefoldnegative_body_steps)))))) /\ (exists ge_balance_positive_table_exists_nextvaluefoldresult ge_balance_negative_table_exists_nextvaluefoldresult. (((((dc_output_table_exists_next) = 2 * (ge_balance_positive_table_exists_nextvaluefoldresult) /\ (ge_balance_negative_table_exists_nextvaluefoldresult) = 0) \/ exists ge_signed_half_table_exists_nextvaluefoldresultdecode. (((dc_output_table_exists_next) = 2 * ge_signed_half_table_exists_nextvaluefoldresultdecode + 1 /\ (ge_balance_positive_table_exists_nextvaluefoldresult) = 0) /\ (ge_balance_negative_table_exists_nextvaluefoldresult) = S ge_signed_half_table_exists_nextvaluefoldresultdecode))) /\ ((dst_positive_sum_table_exists_nextvaluefold) + ge_balance_negative_table_exists_nextvaluefoldresult = (dst_negative_sum_table_exists_nextvaluefold) + ge_balance_positive_table_exists_nextvaluefoldresult)))))))))))))))))))) /\ (forall dst_index_table_exists_preserve dst_first_table_exists_preserve dst_second_table_exists_preserve. (exists pvs_gap_table_exists_preservebound. pvs_gap_table_exists_preservebound + S (dst_index_table_exists_preserve) = (S N)) -> (exists dst_positive_code_table_exists_preservefirst dst_positive_scale_table_exists_preservefirst dst_negative_code_table_exists_preservefirst dst_negative_scale_table_exists_preservefirst dst_positive_table_exists_preservefirst dst_negative_table_exists_preservefirst. (((x) = (((((dst_positive_code_table_exists_preservefirst) + (dst_positive_scale_table_exists_preservefirst)) * S ((dst_positive_code_table_exists_preservefirst) + (dst_positive_scale_table_exists_preservefirst)) + ((dst_positive_scale_table_exists_preservefirst) + (dst_positive_scale_table_exists_preservefirst))) + (((dst_negative_code_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)) * S ((dst_negative_code_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)) + ((dst_negative_scale_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)))) * S ((((dst_positive_code_table_exists_preservefirst) + (dst_positive_scale_table_exists_preservefirst)) * S ((dst_positive_code_table_exists_preservefirst) + (dst_positive_scale_table_exists_preservefirst)) + ((dst_positive_scale_table_exists_preservefirst) + (dst_positive_scale_table_exists_preservefirst))) + (((dst_negative_code_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)) * S ((dst_negative_code_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)) + ((dst_negative_scale_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)))) + ((((dst_negative_code_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)) * S ((dst_negative_code_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)) + ((dst_negative_scale_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst))) + (((dst_negative_code_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)) * S ((dst_negative_code_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)) + ((dst_negative_scale_table_exists_preservefirst) + (dst_negative_scale_table_exists_preservefirst)))))) /\ (((((exists ff_h_pvs_table_exists_preservefirstpositive. ff_h_pvs_table_exists_preservefirstpositive + S (dst_positive_table_exists_preservefirst) = S ((S (dst_index_table_exists_preserve)) * dst_positive_scale_table_exists_preservefirst)) /\ exists ff_q_pvs_table_exists_preservefirstpositive. dst_positive_code_table_exists_preservefirst = ff_q_pvs_table_exists_preservefirstpositive * S ((S (dst_index_table_exists_preserve)) * dst_positive_scale_table_exists_preservefirst) + (dst_positive_table_exists_preservefirst))) /\ (((((exists ff_h_pvs_table_exists_preservefirstnegative. ff_h_pvs_table_exists_preservefirstnegative + S (dst_negative_table_exists_preservefirst) = S ((S (dst_index_table_exists_preserve)) * dst_negative_scale_table_exists_preservefirst)) /\ exists ff_q_pvs_table_exists_preservefirstnegative. dst_negative_code_table_exists_preservefirst = ff_q_pvs_table_exists_preservefirstnegative * S ((S (dst_index_table_exists_preserve)) * dst_negative_scale_table_exists_preservefirst) + (dst_negative_table_exists_preservefirst))) /\ (exists ge_balance_positive_table_exists_preservefirstvalue ge_balance_negative_table_exists_preservefirstvalue. (((((dst_first_table_exists_preserve) = 2 * (ge_balance_positive_table_exists_preservefirstvalue) /\ (ge_balance_negative_table_exists_preservefirstvalue) = 0) \/ exists ge_signed_half_table_exists_preservefirstvaluedecode. (((dst_first_table_exists_preserve) = 2 * ge_signed_half_table_exists_preservefirstvaluedecode + 1 /\ (ge_balance_positive_table_exists_preservefirstvalue) = 0) /\ (ge_balance_negative_table_exists_preservefirstvalue) = S ge_signed_half_table_exists_preservefirstvaluedecode))) /\ ((dst_positive_table_exists_preservefirst) + ge_balance_negative_table_exists_preservefirstvalue = (dst_negative_table_exists_preservefirst) + ge_balance_positive_table_exists_preservefirstvalue))))))))) -> (exists dst_positive_code_table_exists_preservesecond dst_positive_scale_table_exists_preservesecond dst_negative_code_table_exists_preservesecond dst_negative_scale_table_exists_preservesecond dst_positive_table_exists_preservesecond dst_negative_table_exists_preservesecond. (((K) = (((((dst_positive_code_table_exists_preservesecond) + (dst_positive_scale_table_exists_preservesecond)) * S ((dst_positive_code_table_exists_preservesecond) + (dst_positive_scale_table_exists_preservesecond)) + ((dst_positive_scale_table_exists_preservesecond) + (dst_positive_scale_table_exists_preservesecond))) + (((dst_negative_code_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)) * S ((dst_negative_code_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)) + ((dst_negative_scale_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)))) * S ((((dst_positive_code_table_exists_preservesecond) + (dst_positive_scale_table_exists_preservesecond)) * S ((dst_positive_code_table_exists_preservesecond) + (dst_positive_scale_table_exists_preservesecond)) + ((dst_positive_scale_table_exists_preservesecond) + (dst_positive_scale_table_exists_preservesecond))) + (((dst_negative_code_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)) * S ((dst_negative_code_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)) + ((dst_negative_scale_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)))) + ((((dst_negative_code_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)) * S ((dst_negative_code_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)) + ((dst_negative_scale_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond))) + (((dst_negative_code_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)) * S ((dst_negative_code_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)) + ((dst_negative_scale_table_exists_preservesecond) + (dst_negative_scale_table_exists_preservesecond)))))) /\ (((((exists ff_h_pvs_table_exists_preservesecondpositive. ff_h_pvs_table_exists_preservesecondpositive + S (dst_positive_table_exists_preservesecond) = S ((S (dst_index_table_exists_preserve)) * dst_positive_scale_table_exists_preservesecond)) /\ exists ff_q_pvs_table_exists_preservesecondpositive. dst_positive_code_table_exists_preservesecond = ff_q_pvs_table_exists_preservesecondpositive * S ((S (dst_index_table_exists_preserve)) * dst_positive_scale_table_exists_preservesecond) + (dst_positive_table_exists_preservesecond))) /\ (((((exists ff_h_pvs_table_exists_preservesecondnegative. ff_h_pvs_table_exists_preservesecondnegative + S (dst_negative_table_exists_preservesecond) = S ((S (dst_index_table_exists_preserve)) * dst_negative_scale_table_exists_preservesecond)) /\ exists ff_q_pvs_table_exists_preservesecondnegative. dst_negative_code_table_exists_preservesecond = ff_q_pvs_table_exists_preservesecondnegative * S ((S (dst_index_table_exists_preserve)) * dst_negative_scale_table_exists_preservesecond) + (dst_negative_table_exists_preservesecond))) /\ (exists ge_balance_positive_table_exists_preservesecondvalue ge_balance_negative_table_exists_preservesecondvalue. (((((dst_second_table_exists_preserve) = 2 * (ge_balance_positive_table_exists_preservesecondvalue) /\ (ge_balance_negative_table_exists_preservesecondvalue) = 0) \/ exists ge_signed_half_table_exists_preservesecondvaluedecode. (((dst_second_table_exists_preserve) = 2 * ge_signed_half_table_exists_preservesecondvaluedecode + 1 /\ (ge_balance_positive_table_exists_preservesecondvalue) = 0) /\ (ge_balance_negative_table_exists_preservesecondvalue) = S ge_signed_half_table_exists_preservesecondvaluedecode))) /\ ((dst_positive_table_exists_preservesecond) + ge_balance_negative_table_exists_preservesecondvalue = (dst_negative_table_exists_preservesecond) + ge_balance_positive_table_exists_preservesecondvalue))))))))) -> dst_first_table_exists_preserve = dst_second_table_exists_preserve)
  49. 0049specialize dirichlet_convolution_table_append (N)
  50. 0050specialize dirichlet_convolution_table_append (F)
  51. 0051specialize dirichlet_convolution_table_append (G)
  52. 0052specialize dirichlet_convolution_table_append (x)
  53. 0053specialize dirichlet_convolution_table_append (x1)
  54. 0054apply dirichlet_convolution_table_append
  55. 0055exact hprev_witness
  56. 0056exact hz_witness
  57. 0057cases hnext
  58. 0058cases hnext_witness
  59. 0059exists x2
  60. 0060exact hnext_witness_left