WS001F

signed_weighted_sum_exists

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

Construct the actual pointwise product table and both natural prefix-sum histories, then their canonical signed weighted-sum value.

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 l W F. (exists dst_positive_code_weighted_exists_weights dst_positive_scale_weighted_exists_weights dst_negative_code_weighted_exists_weights dst_negative_scale_weighted_exists_weights. (((W) = (((((dst_positive_code_weighted_exists_weights) + (dst_positive_scale_weighted_exists_weights)) * S ((dst_positive_code_weighted_exists_weights) + (dst_positive_scale_weighted_exists_weights)) + ((dst_positive_scale_weighted_exists_weights) + (dst_positive_scale_weighted_exists_weights))) + (((dst_negative_code_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)) * S ((dst_negative_code_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)) + ((dst_negative_scale_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)))) * S ((((dst_positive_code_weighted_exists_weights) + (dst_positive_scale_weighted_exists_weights)) * S ((dst_positive_code_weighted_exists_weights) + (dst_positive_scale_weighted_exists_weights)) + ((dst_positive_scale_weighted_exists_weights) + (dst_positive_scale_weighted_exists_weights))) + (((dst_negative_code_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)) * S ((dst_negative_code_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)) + ((dst_negative_scale_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)))) + ((((dst_negative_code_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)) * S ((dst_negative_code_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)) + ((dst_negative_scale_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights))) + (((dst_negative_code_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)) * S ((dst_negative_code_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)) + ((dst_negative_scale_weighted_exists_weights) + (dst_negative_scale_weighted_exists_weights)))))) /\ (forall dst_index_weighted_exists_weights. (exists pvs_le_gap_weighted_exists_weightsdomain. pvs_le_gap_weighted_exists_weightsdomain + (dst_index_weighted_exists_weights) = (l)) -> exists dst_positive_weighted_exists_weights dst_negative_weighted_exists_weights dst_value_weighted_exists_weights. ((((exists ff_h_pvs_weighted_exists_weightsentrypositive. ff_h_pvs_weighted_exists_weightsentrypositive + S (dst_positive_weighted_exists_weights) = S ((S (dst_index_weighted_exists_weights)) * dst_positive_scale_weighted_exists_weights)) /\ exists ff_q_pvs_weighted_exists_weightsentrypositive. dst_positive_code_weighted_exists_weights = ff_q_pvs_weighted_exists_weightsentrypositive * S ((S (dst_index_weighted_exists_weights)) * dst_positive_scale_weighted_exists_weights) + (dst_positive_weighted_exists_weights))) /\ (((((exists ff_h_pvs_weighted_exists_weightsentrynegative. ff_h_pvs_weighted_exists_weightsentrynegative + S (dst_negative_weighted_exists_weights) = S ((S (dst_index_weighted_exists_weights)) * dst_negative_scale_weighted_exists_weights)) /\ exists ff_q_pvs_weighted_exists_weightsentrynegative. dst_negative_code_weighted_exists_weights = ff_q_pvs_weighted_exists_weightsentrynegative * S ((S (dst_index_weighted_exists_weights)) * dst_negative_scale_weighted_exists_weights) + (dst_negative_weighted_exists_weights))) /\ (exists ge_balance_positive_weighted_exists_weightsentryvalue ge_balance_negative_weighted_exists_weightsentryvalue. (((((dst_value_weighted_exists_weights) = 2 * (ge_balance_positive_weighted_exists_weightsentryvalue) /\ (ge_balance_negative_weighted_exists_weightsentryvalue) = 0) \/ exists ge_signed_half_weighted_exists_weightsentryvaluedecode. (((dst_value_weighted_exists_weights) = 2 * ge_signed_half_weighted_exists_weightsentryvaluedecode + 1 /\ (ge_balance_positive_weighted_exists_weightsentryvalue) = 0) /\ (ge_balance_negative_weighted_exists_weightsentryvalue) = S ge_signed_half_weighted_exists_weightsentryvaluedecode))) /\ ((dst_positive_weighted_exists_weights) + ge_balance_negative_weighted_exists_weightsentryvalue = (dst_negative_weighted_exists_weights) + ge_balance_positive_weighted_exists_weightsentryvalue))))))))) -> (exists dst_positive_code_weighted_exists_values dst_positive_scale_weighted_exists_values dst_negative_code_weighted_exists_values dst_negative_scale_weighted_exists_values. (((F) = (((((dst_positive_code_weighted_exists_values) + (dst_positive_scale_weighted_exists_values)) * S ((dst_positive_code_weighted_exists_values) + (dst_positive_scale_weighted_exists_values)) + ((dst_positive_scale_weighted_exists_values) + (dst_positive_scale_weighted_exists_values))) + (((dst_negative_code_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)) * S ((dst_negative_code_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)) + ((dst_negative_scale_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)))) * S ((((dst_positive_code_weighted_exists_values) + (dst_positive_scale_weighted_exists_values)) * S ((dst_positive_code_weighted_exists_values) + (dst_positive_scale_weighted_exists_values)) + ((dst_positive_scale_weighted_exists_values) + (dst_positive_scale_weighted_exists_values))) + (((dst_negative_code_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)) * S ((dst_negative_code_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)) + ((dst_negative_scale_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)))) + ((((dst_negative_code_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)) * S ((dst_negative_code_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)) + ((dst_negative_scale_weighted_exists_values) + (dst_negative_scale_weighted_exists_values))) + (((dst_negative_code_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)) * S ((dst_negative_code_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)) + ((dst_negative_scale_weighted_exists_values) + (dst_negative_scale_weighted_exists_values)))))) /\ (forall dst_index_weighted_exists_values. (exists pvs_le_gap_weighted_exists_valuesdomain. pvs_le_gap_weighted_exists_valuesdomain + (dst_index_weighted_exists_values) = (l)) -> exists dst_positive_weighted_exists_values dst_negative_weighted_exists_values dst_value_weighted_exists_values. ((((exists ff_h_pvs_weighted_exists_valuesentrypositive. ff_h_pvs_weighted_exists_valuesentrypositive + S (dst_positive_weighted_exists_values) = S ((S (dst_index_weighted_exists_values)) * dst_positive_scale_weighted_exists_values)) /\ exists ff_q_pvs_weighted_exists_valuesentrypositive. dst_positive_code_weighted_exists_values = ff_q_pvs_weighted_exists_valuesentrypositive * S ((S (dst_index_weighted_exists_values)) * dst_positive_scale_weighted_exists_values) + (dst_positive_weighted_exists_values))) /\ (((((exists ff_h_pvs_weighted_exists_valuesentrynegative. ff_h_pvs_weighted_exists_valuesentrynegative + S (dst_negative_weighted_exists_values) = S ((S (dst_index_weighted_exists_values)) * dst_negative_scale_weighted_exists_values)) /\ exists ff_q_pvs_weighted_exists_valuesentrynegative. dst_negative_code_weighted_exists_values = ff_q_pvs_weighted_exists_valuesentrynegative * S ((S (dst_index_weighted_exists_values)) * dst_negative_scale_weighted_exists_values) + (dst_negative_weighted_exists_values))) /\ (exists ge_balance_positive_weighted_exists_valuesentryvalue ge_balance_negative_weighted_exists_valuesentryvalue. (((((dst_value_weighted_exists_values) = 2 * (ge_balance_positive_weighted_exists_valuesentryvalue) /\ (ge_balance_negative_weighted_exists_valuesentryvalue) = 0) \/ exists ge_signed_half_weighted_exists_valuesentryvaluedecode. (((dst_value_weighted_exists_values) = 2 * ge_signed_half_weighted_exists_valuesentryvaluedecode + 1 /\ (ge_balance_positive_weighted_exists_valuesentryvalue) = 0) /\ (ge_balance_negative_weighted_exists_valuesentryvalue) = S ge_signed_half_weighted_exists_valuesentryvaluedecode))) /\ ((dst_positive_weighted_exists_values) + ge_balance_negative_weighted_exists_valuesentryvalue = (dst_negative_weighted_exists_values) + ge_balance_positive_weighted_exists_valuesentryvalue))))))))) -> exists z. (exists sws_product_table_weighted_exists_result. ((((exists dst_positive_code_weighted_exists_resultproductsleft_table dst_positive_scale_weighted_exists_resultproductsleft_table dst_negative_code_weighted_exists_resultproductsleft_table dst_negative_scale_weighted_exists_resultproductsleft_table. (((W) = (((((dst_positive_code_weighted_exists_resultproductsleft_table) + (dst_positive_scale_weighted_exists_resultproductsleft_table)) * S ((dst_positive_code_weighted_exists_resultproductsleft_table) + (dst_positive_scale_weighted_exists_resultproductsleft_table)) + ((dst_positive_scale_weighted_exists_resultproductsleft_table) + (dst_positive_scale_weighted_exists_resultproductsleft_table))) + (((dst_negative_code_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)) * S ((dst_negative_code_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)) + ((dst_negative_scale_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)))) * S ((((dst_positive_code_weighted_exists_resultproductsleft_table) + (dst_positive_scale_weighted_exists_resultproductsleft_table)) * S ((dst_positive_code_weighted_exists_resultproductsleft_table) + (dst_positive_scale_weighted_exists_resultproductsleft_table)) + ((dst_positive_scale_weighted_exists_resultproductsleft_table) + (dst_positive_scale_weighted_exists_resultproductsleft_table))) + (((dst_negative_code_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)) * S ((dst_negative_code_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)) + ((dst_negative_scale_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)))) + ((((dst_negative_code_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)) * S ((dst_negative_code_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)) + ((dst_negative_scale_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table))) + (((dst_negative_code_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)) * S ((dst_negative_code_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)) + ((dst_negative_scale_weighted_exists_resultproductsleft_table) + (dst_negative_scale_weighted_exists_resultproductsleft_table)))))) /\ (forall dst_index_weighted_exists_resultproductsleft_table. (exists pvs_le_gap_weighted_exists_resultproductsleft_tabledomain. pvs_le_gap_weighted_exists_resultproductsleft_tabledomain + (dst_index_weighted_exists_resultproductsleft_table) = (l)) -> exists dst_positive_weighted_exists_resultproductsleft_table dst_negative_weighted_exists_resultproductsleft_table dst_value_weighted_exists_resultproductsleft_table. ((((exists ff_h_pvs_weighted_exists_resultproductsleft_tableentrypositive. ff_h_pvs_weighted_exists_resultproductsleft_tableentrypositive + S (dst_positive_weighted_exists_resultproductsleft_table) = S ((S (dst_index_weighted_exists_resultproductsleft_table)) * dst_positive_scale_weighted_exists_resultproductsleft_table)) /\ exists ff_q_pvs_weighted_exists_resultproductsleft_tableentrypositive. dst_positive_code_weighted_exists_resultproductsleft_table = ff_q_pvs_weighted_exists_resultproductsleft_tableentrypositive * S ((S (dst_index_weighted_exists_resultproductsleft_table)) * dst_positive_scale_weighted_exists_resultproductsleft_table) + (dst_positive_weighted_exists_resultproductsleft_table))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsleft_tableentrynegative. ff_h_pvs_weighted_exists_resultproductsleft_tableentrynegative + S (dst_negative_weighted_exists_resultproductsleft_table) = S ((S (dst_index_weighted_exists_resultproductsleft_table)) * dst_negative_scale_weighted_exists_resultproductsleft_table)) /\ exists ff_q_pvs_weighted_exists_resultproductsleft_tableentrynegative. dst_negative_code_weighted_exists_resultproductsleft_table = ff_q_pvs_weighted_exists_resultproductsleft_tableentrynegative * S ((S (dst_index_weighted_exists_resultproductsleft_table)) * dst_negative_scale_weighted_exists_resultproductsleft_table) + (dst_negative_weighted_exists_resultproductsleft_table))) /\ (exists ge_balance_positive_weighted_exists_resultproductsleft_tableentryvalue ge_balance_negative_weighted_exists_resultproductsleft_tableentryvalue. (((((dst_value_weighted_exists_resultproductsleft_table) = 2 * (ge_balance_positive_weighted_exists_resultproductsleft_tableentryvalue) /\ (ge_balance_negative_weighted_exists_resultproductsleft_tableentryvalue) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsleft_tableentryvaluedecode. (((dst_value_weighted_exists_resultproductsleft_table) = 2 * ge_signed_half_weighted_exists_resultproductsleft_tableentryvaluedecode + 1 /\ (ge_balance_positive_weighted_exists_resultproductsleft_tableentryvalue) = 0) /\ (ge_balance_negative_weighted_exists_resultproductsleft_tableentryvalue) = S ge_signed_half_weighted_exists_resultproductsleft_tableentryvaluedecode))) /\ ((dst_positive_weighted_exists_resultproductsleft_table) + ge_balance_negative_weighted_exists_resultproductsleft_tableentryvalue = (dst_negative_weighted_exists_resultproductsleft_table) + ge_balance_positive_weighted_exists_resultproductsleft_tableentryvalue))))))))) /\ (((exists dst_positive_code_weighted_exists_resultproductsright_table dst_positive_scale_weighted_exists_resultproductsright_table dst_negative_code_weighted_exists_resultproductsright_table dst_negative_scale_weighted_exists_resultproductsright_table. (((F) = (((((dst_positive_code_weighted_exists_resultproductsright_table) + (dst_positive_scale_weighted_exists_resultproductsright_table)) * S ((dst_positive_code_weighted_exists_resultproductsright_table) + (dst_positive_scale_weighted_exists_resultproductsright_table)) + ((dst_positive_scale_weighted_exists_resultproductsright_table) + (dst_positive_scale_weighted_exists_resultproductsright_table))) + (((dst_negative_code_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)) * S ((dst_negative_code_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)) + ((dst_negative_scale_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)))) * S ((((dst_positive_code_weighted_exists_resultproductsright_table) + (dst_positive_scale_weighted_exists_resultproductsright_table)) * S ((dst_positive_code_weighted_exists_resultproductsright_table) + (dst_positive_scale_weighted_exists_resultproductsright_table)) + ((dst_positive_scale_weighted_exists_resultproductsright_table) + (dst_positive_scale_weighted_exists_resultproductsright_table))) + (((dst_negative_code_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)) * S ((dst_negative_code_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)) + ((dst_negative_scale_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)))) + ((((dst_negative_code_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)) * S ((dst_negative_code_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)) + ((dst_negative_scale_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table))) + (((dst_negative_code_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)) * S ((dst_negative_code_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)) + ((dst_negative_scale_weighted_exists_resultproductsright_table) + (dst_negative_scale_weighted_exists_resultproductsright_table)))))) /\ (forall dst_index_weighted_exists_resultproductsright_table. (exists pvs_le_gap_weighted_exists_resultproductsright_tabledomain. pvs_le_gap_weighted_exists_resultproductsright_tabledomain + (dst_index_weighted_exists_resultproductsright_table) = (l)) -> exists dst_positive_weighted_exists_resultproductsright_table dst_negative_weighted_exists_resultproductsright_table dst_value_weighted_exists_resultproductsright_table. ((((exists ff_h_pvs_weighted_exists_resultproductsright_tableentrypositive. ff_h_pvs_weighted_exists_resultproductsright_tableentrypositive + S (dst_positive_weighted_exists_resultproductsright_table) = S ((S (dst_index_weighted_exists_resultproductsright_table)) * dst_positive_scale_weighted_exists_resultproductsright_table)) /\ exists ff_q_pvs_weighted_exists_resultproductsright_tableentrypositive. dst_positive_code_weighted_exists_resultproductsright_table = ff_q_pvs_weighted_exists_resultproductsright_tableentrypositive * S ((S (dst_index_weighted_exists_resultproductsright_table)) * dst_positive_scale_weighted_exists_resultproductsright_table) + (dst_positive_weighted_exists_resultproductsright_table))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsright_tableentrynegative. ff_h_pvs_weighted_exists_resultproductsright_tableentrynegative + S (dst_negative_weighted_exists_resultproductsright_table) = S ((S (dst_index_weighted_exists_resultproductsright_table)) * dst_negative_scale_weighted_exists_resultproductsright_table)) /\ exists ff_q_pvs_weighted_exists_resultproductsright_tableentrynegative. dst_negative_code_weighted_exists_resultproductsright_table = ff_q_pvs_weighted_exists_resultproductsright_tableentrynegative * S ((S (dst_index_weighted_exists_resultproductsright_table)) * dst_negative_scale_weighted_exists_resultproductsright_table) + (dst_negative_weighted_exists_resultproductsright_table))) /\ (exists ge_balance_positive_weighted_exists_resultproductsright_tableentryvalue ge_balance_negative_weighted_exists_resultproductsright_tableentryvalue. (((((dst_value_weighted_exists_resultproductsright_table) = 2 * (ge_balance_positive_weighted_exists_resultproductsright_tableentryvalue) /\ (ge_balance_negative_weighted_exists_resultproductsright_tableentryvalue) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsright_tableentryvaluedecode. (((dst_value_weighted_exists_resultproductsright_table) = 2 * ge_signed_half_weighted_exists_resultproductsright_tableentryvaluedecode + 1 /\ (ge_balance_positive_weighted_exists_resultproductsright_tableentryvalue) = 0) /\ (ge_balance_negative_weighted_exists_resultproductsright_tableentryvalue) = S ge_signed_half_weighted_exists_resultproductsright_tableentryvaluedecode))) /\ ((dst_positive_weighted_exists_resultproductsright_table) + ge_balance_negative_weighted_exists_resultproductsright_tableentryvalue = (dst_negative_weighted_exists_resultproductsright_table) + ge_balance_positive_weighted_exists_resultproductsright_tableentryvalue))))))))) /\ (((exists dst_positive_code_weighted_exists_resultproductsoutput_table dst_positive_scale_weighted_exists_resultproductsoutput_table dst_negative_code_weighted_exists_resultproductsoutput_table dst_negative_scale_weighted_exists_resultproductsoutput_table. (((sws_product_table_weighted_exists_result) = (((((dst_positive_code_weighted_exists_resultproductsoutput_table) + (dst_positive_scale_weighted_exists_resultproductsoutput_table)) * S ((dst_positive_code_weighted_exists_resultproductsoutput_table) + (dst_positive_scale_weighted_exists_resultproductsoutput_table)) + ((dst_positive_scale_weighted_exists_resultproductsoutput_table) + (dst_positive_scale_weighted_exists_resultproductsoutput_table))) + (((dst_negative_code_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)) * S ((dst_negative_code_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)) + ((dst_negative_scale_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)))) * S ((((dst_positive_code_weighted_exists_resultproductsoutput_table) + (dst_positive_scale_weighted_exists_resultproductsoutput_table)) * S ((dst_positive_code_weighted_exists_resultproductsoutput_table) + (dst_positive_scale_weighted_exists_resultproductsoutput_table)) + ((dst_positive_scale_weighted_exists_resultproductsoutput_table) + (dst_positive_scale_weighted_exists_resultproductsoutput_table))) + (((dst_negative_code_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)) * S ((dst_negative_code_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)) + ((dst_negative_scale_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)))) + ((((dst_negative_code_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)) * S ((dst_negative_code_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)) + ((dst_negative_scale_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table))) + (((dst_negative_code_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)) * S ((dst_negative_code_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)) + ((dst_negative_scale_weighted_exists_resultproductsoutput_table) + (dst_negative_scale_weighted_exists_resultproductsoutput_table)))))) /\ (forall dst_index_weighted_exists_resultproductsoutput_table. (exists pvs_le_gap_weighted_exists_resultproductsoutput_tabledomain. pvs_le_gap_weighted_exists_resultproductsoutput_tabledomain + (dst_index_weighted_exists_resultproductsoutput_table) = (l)) -> exists dst_positive_weighted_exists_resultproductsoutput_table dst_negative_weighted_exists_resultproductsoutput_table dst_value_weighted_exists_resultproductsoutput_table. ((((exists ff_h_pvs_weighted_exists_resultproductsoutput_tableentrypositive. ff_h_pvs_weighted_exists_resultproductsoutput_tableentrypositive + S (dst_positive_weighted_exists_resultproductsoutput_table) = S ((S (dst_index_weighted_exists_resultproductsoutput_table)) * dst_positive_scale_weighted_exists_resultproductsoutput_table)) /\ exists ff_q_pvs_weighted_exists_resultproductsoutput_tableentrypositive. dst_positive_code_weighted_exists_resultproductsoutput_table = ff_q_pvs_weighted_exists_resultproductsoutput_tableentrypositive * S ((S (dst_index_weighted_exists_resultproductsoutput_table)) * dst_positive_scale_weighted_exists_resultproductsoutput_table) + (dst_positive_weighted_exists_resultproductsoutput_table))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsoutput_tableentrynegative. ff_h_pvs_weighted_exists_resultproductsoutput_tableentrynegative + S (dst_negative_weighted_exists_resultproductsoutput_table) = S ((S (dst_index_weighted_exists_resultproductsoutput_table)) * dst_negative_scale_weighted_exists_resultproductsoutput_table)) /\ exists ff_q_pvs_weighted_exists_resultproductsoutput_tableentrynegative. dst_negative_code_weighted_exists_resultproductsoutput_table = ff_q_pvs_weighted_exists_resultproductsoutput_tableentrynegative * S ((S (dst_index_weighted_exists_resultproductsoutput_table)) * dst_negative_scale_weighted_exists_resultproductsoutput_table) + (dst_negative_weighted_exists_resultproductsoutput_table))) /\ (exists ge_balance_positive_weighted_exists_resultproductsoutput_tableentryvalue ge_balance_negative_weighted_exists_resultproductsoutput_tableentryvalue. (((((dst_value_weighted_exists_resultproductsoutput_table) = 2 * (ge_balance_positive_weighted_exists_resultproductsoutput_tableentryvalue) /\ (ge_balance_negative_weighted_exists_resultproductsoutput_tableentryvalue) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsoutput_tableentryvaluedecode. (((dst_value_weighted_exists_resultproductsoutput_table) = 2 * ge_signed_half_weighted_exists_resultproductsoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_weighted_exists_resultproductsoutput_tableentryvalue) = 0) /\ (ge_balance_negative_weighted_exists_resultproductsoutput_tableentryvalue) = S ge_signed_half_weighted_exists_resultproductsoutput_tableentryvaluedecode))) /\ ((dst_positive_weighted_exists_resultproductsoutput_table) + ge_balance_negative_weighted_exists_resultproductsoutput_tableentryvalue = (dst_negative_weighted_exists_resultproductsoutput_table) + ge_balance_positive_weighted_exists_resultproductsoutput_tableentryvalue))))))))) /\ (forall sto_index_weighted_exists_resultproductsentries. (exists pvs_gap_weighted_exists_resultproductsentriesbound. pvs_gap_weighted_exists_resultproductsentriesbound + S (sto_index_weighted_exists_resultproductsentries) = (l)) -> exists sto_left_weighted_exists_resultproductsentries sto_right_weighted_exists_resultproductsentries sto_output_weighted_exists_resultproductsentries. ((exists dst_positive_code_weighted_exists_resultproductsentriesentryleft dst_positive_scale_weighted_exists_resultproductsentriesentryleft dst_negative_code_weighted_exists_resultproductsentriesentryleft dst_negative_scale_weighted_exists_resultproductsentriesentryleft dst_positive_weighted_exists_resultproductsentriesentryleft dst_negative_weighted_exists_resultproductsentriesentryleft. (((W) = (((((dst_positive_code_weighted_exists_resultproductsentriesentryleft) + (dst_positive_scale_weighted_exists_resultproductsentriesentryleft)) * S ((dst_positive_code_weighted_exists_resultproductsentriesentryleft) + (dst_positive_scale_weighted_exists_resultproductsentriesentryleft)) + ((dst_positive_scale_weighted_exists_resultproductsentriesentryleft) + (dst_positive_scale_weighted_exists_resultproductsentriesentryleft))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)))) * S ((((dst_positive_code_weighted_exists_resultproductsentriesentryleft) + (dst_positive_scale_weighted_exists_resultproductsentriesentryleft)) * S ((dst_positive_code_weighted_exists_resultproductsentriesentryleft) + (dst_positive_scale_weighted_exists_resultproductsentriesentryleft)) + ((dst_positive_scale_weighted_exists_resultproductsentriesentryleft) + (dst_positive_scale_weighted_exists_resultproductsentriesentryleft))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)))) + ((((dst_negative_code_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryleft) + (dst_negative_scale_weighted_exists_resultproductsentriesentryleft)))))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsentriesentryleftpositive. ff_h_pvs_weighted_exists_resultproductsentriesentryleftpositive + S (dst_positive_weighted_exists_resultproductsentriesentryleft) = S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_positive_scale_weighted_exists_resultproductsentriesentryleft)) /\ exists ff_q_pvs_weighted_exists_resultproductsentriesentryleftpositive. dst_positive_code_weighted_exists_resultproductsentriesentryleft = ff_q_pvs_weighted_exists_resultproductsentriesentryleftpositive * S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_positive_scale_weighted_exists_resultproductsentriesentryleft) + (dst_positive_weighted_exists_resultproductsentriesentryleft))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsentriesentryleftnegative. ff_h_pvs_weighted_exists_resultproductsentriesentryleftnegative + S (dst_negative_weighted_exists_resultproductsentriesentryleft) = S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_negative_scale_weighted_exists_resultproductsentriesentryleft)) /\ exists ff_q_pvs_weighted_exists_resultproductsentriesentryleftnegative. dst_negative_code_weighted_exists_resultproductsentriesentryleft = ff_q_pvs_weighted_exists_resultproductsentriesentryleftnegative * S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_negative_scale_weighted_exists_resultproductsentriesentryleft) + (dst_negative_weighted_exists_resultproductsentriesentryleft))) /\ (exists ge_balance_positive_weighted_exists_resultproductsentriesentryleftvalue ge_balance_negative_weighted_exists_resultproductsentriesentryleftvalue. (((((sto_left_weighted_exists_resultproductsentries) = 2 * (ge_balance_positive_weighted_exists_resultproductsentriesentryleftvalue) /\ (ge_balance_negative_weighted_exists_resultproductsentriesentryleftvalue) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsentriesentryleftvaluedecode. (((sto_left_weighted_exists_resultproductsentries) = 2 * ge_signed_half_weighted_exists_resultproductsentriesentryleftvaluedecode + 1 /\ (ge_balance_positive_weighted_exists_resultproductsentriesentryleftvalue) = 0) /\ (ge_balance_negative_weighted_exists_resultproductsentriesentryleftvalue) = S ge_signed_half_weighted_exists_resultproductsentriesentryleftvaluedecode))) /\ ((dst_positive_weighted_exists_resultproductsentriesentryleft) + ge_balance_negative_weighted_exists_resultproductsentriesentryleftvalue = (dst_negative_weighted_exists_resultproductsentriesentryleft) + ge_balance_positive_weighted_exists_resultproductsentriesentryleftvalue))))))))) /\ (((exists dst_positive_code_weighted_exists_resultproductsentriesentryright dst_positive_scale_weighted_exists_resultproductsentriesentryright dst_negative_code_weighted_exists_resultproductsentriesentryright dst_negative_scale_weighted_exists_resultproductsentriesentryright dst_positive_weighted_exists_resultproductsentriesentryright dst_negative_weighted_exists_resultproductsentriesentryright. (((F) = (((((dst_positive_code_weighted_exists_resultproductsentriesentryright) + (dst_positive_scale_weighted_exists_resultproductsentriesentryright)) * S ((dst_positive_code_weighted_exists_resultproductsentriesentryright) + (dst_positive_scale_weighted_exists_resultproductsentriesentryright)) + ((dst_positive_scale_weighted_exists_resultproductsentriesentryright) + (dst_positive_scale_weighted_exists_resultproductsentriesentryright))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)))) * S ((((dst_positive_code_weighted_exists_resultproductsentriesentryright) + (dst_positive_scale_weighted_exists_resultproductsentriesentryright)) * S ((dst_positive_code_weighted_exists_resultproductsentriesentryright) + (dst_positive_scale_weighted_exists_resultproductsentriesentryright)) + ((dst_positive_scale_weighted_exists_resultproductsentriesentryright) + (dst_positive_scale_weighted_exists_resultproductsentriesentryright))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)))) + ((((dst_negative_code_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryright) + (dst_negative_scale_weighted_exists_resultproductsentriesentryright)))))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsentriesentryrightpositive. ff_h_pvs_weighted_exists_resultproductsentriesentryrightpositive + S (dst_positive_weighted_exists_resultproductsentriesentryright) = S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_positive_scale_weighted_exists_resultproductsentriesentryright)) /\ exists ff_q_pvs_weighted_exists_resultproductsentriesentryrightpositive. dst_positive_code_weighted_exists_resultproductsentriesentryright = ff_q_pvs_weighted_exists_resultproductsentriesentryrightpositive * S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_positive_scale_weighted_exists_resultproductsentriesentryright) + (dst_positive_weighted_exists_resultproductsentriesentryright))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsentriesentryrightnegative. ff_h_pvs_weighted_exists_resultproductsentriesentryrightnegative + S (dst_negative_weighted_exists_resultproductsentriesentryright) = S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_negative_scale_weighted_exists_resultproductsentriesentryright)) /\ exists ff_q_pvs_weighted_exists_resultproductsentriesentryrightnegative. dst_negative_code_weighted_exists_resultproductsentriesentryright = ff_q_pvs_weighted_exists_resultproductsentriesentryrightnegative * S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_negative_scale_weighted_exists_resultproductsentriesentryright) + (dst_negative_weighted_exists_resultproductsentriesentryright))) /\ (exists ge_balance_positive_weighted_exists_resultproductsentriesentryrightvalue ge_balance_negative_weighted_exists_resultproductsentriesentryrightvalue. (((((sto_right_weighted_exists_resultproductsentries) = 2 * (ge_balance_positive_weighted_exists_resultproductsentriesentryrightvalue) /\ (ge_balance_negative_weighted_exists_resultproductsentriesentryrightvalue) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsentriesentryrightvaluedecode. (((sto_right_weighted_exists_resultproductsentries) = 2 * ge_signed_half_weighted_exists_resultproductsentriesentryrightvaluedecode + 1 /\ (ge_balance_positive_weighted_exists_resultproductsentriesentryrightvalue) = 0) /\ (ge_balance_negative_weighted_exists_resultproductsentriesentryrightvalue) = S ge_signed_half_weighted_exists_resultproductsentriesentryrightvaluedecode))) /\ ((dst_positive_weighted_exists_resultproductsentriesentryright) + ge_balance_negative_weighted_exists_resultproductsentriesentryrightvalue = (dst_negative_weighted_exists_resultproductsentriesentryright) + ge_balance_positive_weighted_exists_resultproductsentriesentryrightvalue))))))))) /\ (((exists dst_positive_code_weighted_exists_resultproductsentriesentryoutput dst_positive_scale_weighted_exists_resultproductsentriesentryoutput dst_negative_code_weighted_exists_resultproductsentriesentryoutput dst_negative_scale_weighted_exists_resultproductsentriesentryoutput dst_positive_weighted_exists_resultproductsentriesentryoutput dst_negative_weighted_exists_resultproductsentriesentryoutput. (((sws_product_table_weighted_exists_result) = (((((dst_positive_code_weighted_exists_resultproductsentriesentryoutput) + (dst_positive_scale_weighted_exists_resultproductsentriesentryoutput)) * S ((dst_positive_code_weighted_exists_resultproductsentriesentryoutput) + (dst_positive_scale_weighted_exists_resultproductsentriesentryoutput)) + ((dst_positive_scale_weighted_exists_resultproductsentriesentryoutput) + (dst_positive_scale_weighted_exists_resultproductsentriesentryoutput))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)))) * S ((((dst_positive_code_weighted_exists_resultproductsentriesentryoutput) + (dst_positive_scale_weighted_exists_resultproductsentriesentryoutput)) * S ((dst_positive_code_weighted_exists_resultproductsentriesentryoutput) + (dst_positive_scale_weighted_exists_resultproductsentriesentryoutput)) + ((dst_positive_scale_weighted_exists_resultproductsentriesentryoutput) + (dst_positive_scale_weighted_exists_resultproductsentriesentryoutput))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)))) + ((((dst_negative_code_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput))) + (((dst_negative_code_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) * S ((dst_negative_code_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) + ((dst_negative_scale_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)))))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsentriesentryoutputpositive. ff_h_pvs_weighted_exists_resultproductsentriesentryoutputpositive + S (dst_positive_weighted_exists_resultproductsentriesentryoutput) = S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_positive_scale_weighted_exists_resultproductsentriesentryoutput)) /\ exists ff_q_pvs_weighted_exists_resultproductsentriesentryoutputpositive. dst_positive_code_weighted_exists_resultproductsentriesentryoutput = ff_q_pvs_weighted_exists_resultproductsentriesentryoutputpositive * S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_positive_scale_weighted_exists_resultproductsentriesentryoutput) + (dst_positive_weighted_exists_resultproductsentriesentryoutput))) /\ (((((exists ff_h_pvs_weighted_exists_resultproductsentriesentryoutputnegative. ff_h_pvs_weighted_exists_resultproductsentriesentryoutputnegative + S (dst_negative_weighted_exists_resultproductsentriesentryoutput) = S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_negative_scale_weighted_exists_resultproductsentriesentryoutput)) /\ exists ff_q_pvs_weighted_exists_resultproductsentriesentryoutputnegative. dst_negative_code_weighted_exists_resultproductsentriesentryoutput = ff_q_pvs_weighted_exists_resultproductsentriesentryoutputnegative * S ((S (sto_index_weighted_exists_resultproductsentries)) * dst_negative_scale_weighted_exists_resultproductsentriesentryoutput) + (dst_negative_weighted_exists_resultproductsentriesentryoutput))) /\ (exists ge_balance_positive_weighted_exists_resultproductsentriesentryoutputvalue ge_balance_negative_weighted_exists_resultproductsentriesentryoutputvalue. (((((sto_output_weighted_exists_resultproductsentries) = 2 * (ge_balance_positive_weighted_exists_resultproductsentriesentryoutputvalue) /\ (ge_balance_negative_weighted_exists_resultproductsentriesentryoutputvalue) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsentriesentryoutputvaluedecode. (((sto_output_weighted_exists_resultproductsentries) = 2 * ge_signed_half_weighted_exists_resultproductsentriesentryoutputvaluedecode + 1 /\ (ge_balance_positive_weighted_exists_resultproductsentriesentryoutputvalue) = 0) /\ (ge_balance_negative_weighted_exists_resultproductsentriesentryoutputvalue) = S ge_signed_half_weighted_exists_resultproductsentriesentryoutputvaluedecode))) /\ ((dst_positive_weighted_exists_resultproductsentriesentryoutput) + ge_balance_negative_weighted_exists_resultproductsentriesentryoutputvalue = (dst_negative_weighted_exists_resultproductsentriesentryoutput) + ge_balance_positive_weighted_exists_resultproductsentriesentryoutputvalue))))))))) /\ (exists sto_ap_weighted_exists_resultproductsentriesentryoperation sto_an_weighted_exists_resultproductsentriesentryoperation sto_bp_weighted_exists_resultproductsentriesentryoperation sto_bn_weighted_exists_resultproductsentriesentryoperation sto_cp_weighted_exists_resultproductsentriesentryoperation sto_cn_weighted_exists_resultproductsentriesentryoperation. (((((sto_left_weighted_exists_resultproductsentries) = 2 * (sto_ap_weighted_exists_resultproductsentriesentryoperation) /\ (sto_an_weighted_exists_resultproductsentriesentryoperation) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsentriesentryoperationleft. (((sto_left_weighted_exists_resultproductsentries) = 2 * ge_signed_half_weighted_exists_resultproductsentriesentryoperationleft + 1 /\ (sto_ap_weighted_exists_resultproductsentriesentryoperation) = 0) /\ (sto_an_weighted_exists_resultproductsentriesentryoperation) = S ge_signed_half_weighted_exists_resultproductsentriesentryoperationleft))) /\ ((((((sto_right_weighted_exists_resultproductsentries) = 2 * (sto_bp_weighted_exists_resultproductsentriesentryoperation) /\ (sto_bn_weighted_exists_resultproductsentriesentryoperation) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsentriesentryoperationright. (((sto_right_weighted_exists_resultproductsentries) = 2 * ge_signed_half_weighted_exists_resultproductsentriesentryoperationright + 1 /\ (sto_bp_weighted_exists_resultproductsentriesentryoperation) = 0) /\ (sto_bn_weighted_exists_resultproductsentriesentryoperation) = S ge_signed_half_weighted_exists_resultproductsentriesentryoperationright))) /\ ((((((sto_output_weighted_exists_resultproductsentries) = 2 * (sto_cp_weighted_exists_resultproductsentriesentryoperation) /\ (sto_cn_weighted_exists_resultproductsentriesentryoperation) = 0) \/ exists ge_signed_half_weighted_exists_resultproductsentriesentryoperationoutput. (((sto_output_weighted_exists_resultproductsentries) = 2 * ge_signed_half_weighted_exists_resultproductsentriesentryoperationoutput + 1 /\ (sto_cp_weighted_exists_resultproductsentriesentryoperation) = 0) /\ (sto_cn_weighted_exists_resultproductsentriesentryoperation) = S ge_signed_half_weighted_exists_resultproductsentriesentryoperationoutput))) /\ ((sto_ap_weighted_exists_resultproductsentriesentryoperation * sto_bp_weighted_exists_resultproductsentriesentryoperation + sto_an_weighted_exists_resultproductsentriesentryoperation * sto_bn_weighted_exists_resultproductsentriesentryoperation) + sto_cn_weighted_exists_resultproductsentriesentryoperation = (sto_ap_weighted_exists_resultproductsentriesentryoperation * sto_bn_weighted_exists_resultproductsentriesentryoperation + sto_an_weighted_exists_resultproductsentriesentryoperation * sto_bp_weighted_exists_resultproductsentriesentryoperation) + sto_cp_weighted_exists_resultproductsentriesentryoperation))))))))))))))))))) /\ (exists dst_positive_code_weighted_exists_resultsum dst_positive_scale_weighted_exists_resultsum dst_negative_code_weighted_exists_resultsum dst_negative_scale_weighted_exists_resultsum dst_positive_sum_weighted_exists_resultsum dst_negative_sum_weighted_exists_resultsum. (((sws_product_table_weighted_exists_result) = (((((dst_positive_code_weighted_exists_resultsum) + (dst_positive_scale_weighted_exists_resultsum)) * S ((dst_positive_code_weighted_exists_resultsum) + (dst_positive_scale_weighted_exists_resultsum)) + ((dst_positive_scale_weighted_exists_resultsum) + (dst_positive_scale_weighted_exists_resultsum))) + (((dst_negative_code_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)) * S ((dst_negative_code_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)) + ((dst_negative_scale_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)))) * S ((((dst_positive_code_weighted_exists_resultsum) + (dst_positive_scale_weighted_exists_resultsum)) * S ((dst_positive_code_weighted_exists_resultsum) + (dst_positive_scale_weighted_exists_resultsum)) + ((dst_positive_scale_weighted_exists_resultsum) + (dst_positive_scale_weighted_exists_resultsum))) + (((dst_negative_code_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)) * S ((dst_negative_code_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)) + ((dst_negative_scale_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)))) + ((((dst_negative_code_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)) * S ((dst_negative_code_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)) + ((dst_negative_scale_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum))) + (((dst_negative_code_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)) * S ((dst_negative_code_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)) + ((dst_negative_scale_weighted_exists_resultsum) + (dst_negative_scale_weighted_exists_resultsum)))))) /\ (((exists fs_u_dst_weighted_exists_resultsumpositive fs_v_dst_weighted_exists_resultsumpositive. ((((exists fs_h_dst_weighted_exists_resultsumpositive_body_start. fs_h_dst_weighted_exists_resultsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_weighted_exists_resultsumpositive)) /\ exists fs_q_dst_weighted_exists_resultsumpositive_body_start. fs_u_dst_weighted_exists_resultsumpositive = fs_q_dst_weighted_exists_resultsumpositive_body_start * S ((S (0)) * fs_v_dst_weighted_exists_resultsumpositive) + (0))) /\ ((((exists fs_h_dst_weighted_exists_resultsumpositive_body_terminal. fs_h_dst_weighted_exists_resultsumpositive_body_terminal + S (dst_positive_sum_weighted_exists_resultsum) = S ((S (l)) * fs_v_dst_weighted_exists_resultsumpositive)) /\ exists fs_q_dst_weighted_exists_resultsumpositive_body_terminal. fs_u_dst_weighted_exists_resultsumpositive = fs_q_dst_weighted_exists_resultsumpositive_body_terminal * S ((S (l)) * fs_v_dst_weighted_exists_resultsumpositive) + (dst_positive_sum_weighted_exists_resultsum))) /\ forall fs_i_dst_weighted_exists_resultsumpositive_body_steps. (exists fs_lt_dst_weighted_exists_resultsumpositive_body_steps_bound. fs_lt_dst_weighted_exists_resultsumpositive_body_steps_bound + S fs_i_dst_weighted_exists_resultsumpositive_body_steps = l) -> exists fs_a_dst_weighted_exists_resultsumpositive_body_steps fs_r_dst_weighted_exists_resultsumpositive_body_steps fs_s_dst_weighted_exists_resultsumpositive_body_steps. ((((exists fs_h_dst_weighted_exists_resultsumpositive_body_steps_summand. fs_h_dst_weighted_exists_resultsumpositive_body_steps_summand + S (fs_a_dst_weighted_exists_resultsumpositive_body_steps) = S ((S (fs_i_dst_weighted_exists_resultsumpositive_body_steps)) * dst_positive_scale_weighted_exists_resultsum)) /\ exists fs_q_dst_weighted_exists_resultsumpositive_body_steps_summand. dst_positive_code_weighted_exists_resultsum = fs_q_dst_weighted_exists_resultsumpositive_body_steps_summand * S ((S (fs_i_dst_weighted_exists_resultsumpositive_body_steps)) * dst_positive_scale_weighted_exists_resultsum) + (fs_a_dst_weighted_exists_resultsumpositive_body_steps))) /\ ((((exists fs_h_dst_weighted_exists_resultsumpositive_body_steps_partial. fs_h_dst_weighted_exists_resultsumpositive_body_steps_partial + S (fs_r_dst_weighted_exists_resultsumpositive_body_steps) = S ((S (fs_i_dst_weighted_exists_resultsumpositive_body_steps)) * fs_v_dst_weighted_exists_resultsumpositive)) /\ exists fs_q_dst_weighted_exists_resultsumpositive_body_steps_partial. fs_u_dst_weighted_exists_resultsumpositive = fs_q_dst_weighted_exists_resultsumpositive_body_steps_partial * S ((S (fs_i_dst_weighted_exists_resultsumpositive_body_steps)) * fs_v_dst_weighted_exists_resultsumpositive) + (fs_r_dst_weighted_exists_resultsumpositive_body_steps))) /\ ((((exists fs_h_dst_weighted_exists_resultsumpositive_body_steps_successor. fs_h_dst_weighted_exists_resultsumpositive_body_steps_successor + S (fs_s_dst_weighted_exists_resultsumpositive_body_steps) = S ((S (S fs_i_dst_weighted_exists_resultsumpositive_body_steps)) * fs_v_dst_weighted_exists_resultsumpositive)) /\ exists fs_q_dst_weighted_exists_resultsumpositive_body_steps_successor. fs_u_dst_weighted_exists_resultsumpositive = fs_q_dst_weighted_exists_resultsumpositive_body_steps_successor * S ((S (S fs_i_dst_weighted_exists_resultsumpositive_body_steps)) * fs_v_dst_weighted_exists_resultsumpositive) + (fs_s_dst_weighted_exists_resultsumpositive_body_steps))) /\ fs_s_dst_weighted_exists_resultsumpositive_body_steps = fs_r_dst_weighted_exists_resultsumpositive_body_steps + fs_a_dst_weighted_exists_resultsumpositive_body_steps)))))) /\ (((exists fs_u_dst_weighted_exists_resultsumnegative fs_v_dst_weighted_exists_resultsumnegative. ((((exists fs_h_dst_weighted_exists_resultsumnegative_body_start. fs_h_dst_weighted_exists_resultsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_weighted_exists_resultsumnegative)) /\ exists fs_q_dst_weighted_exists_resultsumnegative_body_start. fs_u_dst_weighted_exists_resultsumnegative = fs_q_dst_weighted_exists_resultsumnegative_body_start * S ((S (0)) * fs_v_dst_weighted_exists_resultsumnegative) + (0))) /\ ((((exists fs_h_dst_weighted_exists_resultsumnegative_body_terminal. fs_h_dst_weighted_exists_resultsumnegative_body_terminal + S (dst_negative_sum_weighted_exists_resultsum) = S ((S (l)) * fs_v_dst_weighted_exists_resultsumnegative)) /\ exists fs_q_dst_weighted_exists_resultsumnegative_body_terminal. fs_u_dst_weighted_exists_resultsumnegative = fs_q_dst_weighted_exists_resultsumnegative_body_terminal * S ((S (l)) * fs_v_dst_weighted_exists_resultsumnegative) + (dst_negative_sum_weighted_exists_resultsum))) /\ forall fs_i_dst_weighted_exists_resultsumnegative_body_steps. (exists fs_lt_dst_weighted_exists_resultsumnegative_body_steps_bound. fs_lt_dst_weighted_exists_resultsumnegative_body_steps_bound + S fs_i_dst_weighted_exists_resultsumnegative_body_steps = l) -> exists fs_a_dst_weighted_exists_resultsumnegative_body_steps fs_r_dst_weighted_exists_resultsumnegative_body_steps fs_s_dst_weighted_exists_resultsumnegative_body_steps. ((((exists fs_h_dst_weighted_exists_resultsumnegative_body_steps_summand. fs_h_dst_weighted_exists_resultsumnegative_body_steps_summand + S (fs_a_dst_weighted_exists_resultsumnegative_body_steps) = S ((S (fs_i_dst_weighted_exists_resultsumnegative_body_steps)) * dst_negative_scale_weighted_exists_resultsum)) /\ exists fs_q_dst_weighted_exists_resultsumnegative_body_steps_summand. dst_negative_code_weighted_exists_resultsum = fs_q_dst_weighted_exists_resultsumnegative_body_steps_summand * S ((S (fs_i_dst_weighted_exists_resultsumnegative_body_steps)) * dst_negative_scale_weighted_exists_resultsum) + (fs_a_dst_weighted_exists_resultsumnegative_body_steps))) /\ ((((exists fs_h_dst_weighted_exists_resultsumnegative_body_steps_partial. fs_h_dst_weighted_exists_resultsumnegative_body_steps_partial + S (fs_r_dst_weighted_exists_resultsumnegative_body_steps) = S ((S (fs_i_dst_weighted_exists_resultsumnegative_body_steps)) * fs_v_dst_weighted_exists_resultsumnegative)) /\ exists fs_q_dst_weighted_exists_resultsumnegative_body_steps_partial. fs_u_dst_weighted_exists_resultsumnegative = fs_q_dst_weighted_exists_resultsumnegative_body_steps_partial * S ((S (fs_i_dst_weighted_exists_resultsumnegative_body_steps)) * fs_v_dst_weighted_exists_resultsumnegative) + (fs_r_dst_weighted_exists_resultsumnegative_body_steps))) /\ ((((exists fs_h_dst_weighted_exists_resultsumnegative_body_steps_successor. fs_h_dst_weighted_exists_resultsumnegative_body_steps_successor + S (fs_s_dst_weighted_exists_resultsumnegative_body_steps) = S ((S (S fs_i_dst_weighted_exists_resultsumnegative_body_steps)) * fs_v_dst_weighted_exists_resultsumnegative)) /\ exists fs_q_dst_weighted_exists_resultsumnegative_body_steps_successor. fs_u_dst_weighted_exists_resultsumnegative = fs_q_dst_weighted_exists_resultsumnegative_body_steps_successor * S ((S (S fs_i_dst_weighted_exists_resultsumnegative_body_steps)) * fs_v_dst_weighted_exists_resultsumnegative) + (fs_s_dst_weighted_exists_resultsumnegative_body_steps))) /\ fs_s_dst_weighted_exists_resultsumnegative_body_steps = fs_r_dst_weighted_exists_resultsumnegative_body_steps + fs_a_dst_weighted_exists_resultsumnegative_body_steps)))))) /\ (exists ge_balance_positive_weighted_exists_resultsumresult ge_balance_negative_weighted_exists_resultsumresult. (((((z) = 2 * (ge_balance_positive_weighted_exists_resultsumresult) /\ (ge_balance_negative_weighted_exists_resultsumresult) = 0) \/ exists ge_signed_half_weighted_exists_resultsumresultdecode. (((z) = 2 * ge_signed_half_weighted_exists_resultsumresultdecode + 1 /\ (ge_balance_positive_weighted_exists_resultsumresult) = 0) /\ (ge_balance_negative_weighted_exists_resultsumresult) = S ge_signed_half_weighted_exists_resultsumresultdecode))) /\ ((dst_positive_sum_weighted_exists_resultsum) + ge_balance_negative_weighted_exists_resultsumresult = (dst_negative_sum_weighted_exists_resultsum) + ge_balance_positive_weighted_exists_resultsumresult)))))))))))

Constructive proof overview

Generated structural guide

Construct the actual pointwise product table and both natural prefix-sum histories, then their canonical signed weighted-sum value.

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

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

Proof neighborhood

Direct dependencies

WS0013 signed_table_multiply_exists arithmetic_signed_sum_exists Alpha theorem; checked-use authorized

Direct dependents

Formal native tactic body

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

Read the argument

Proof checkpoints

28 script commands · 10 reading checkpoints · 2 local claims

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

Named ingredients (1)

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

01Fix variables and assumptionsL1–5

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

  1. L1
    intro l
  2. L2
    intro W
  3. L3
    intro F
  4. L4
    intro hW
  5. L5
    intro hF
02Establish hpL6–12

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

  1. L6
    have hp : ∃ H. ArithMul(W,F,H,l)Definitions: ArithMul
  2. L7
    specialize signed_table_multiply_exists (l)
  3. L8
    specialize signed_table_multiply_exists (W)
  4. L9
    specialize signed_table_multiply_exists (F)
  5. L10
    apply signed_table_multiply_exists
  6. L11
    exact hW
  7. L12
    exact hF
03Separate the logical casesL13–13

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

  1. L13
    cases hp
04Establish hsL14–18

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

  1. L14
    have hs : ∃ z. SignedPrefixSum(x,l,z)Definitions: SignedPrefixSum
  2. L15
    specialize arithmetic_signed_sum_exists (l)
  3. L16
    specialize arithmetic_signed_sum_exists (x)
  4. L17
    specialize arithmetic_signed_sum_exists (l)
  5. L18
    apply arithmetic_signed_sum_exists
05Separate the logical casesL19–21

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

  1. L19
    cases hp_witness
  2. L20
    cases hp_witness_right
  3. L21
    cases hp_witness_right_right
06Use earlier factsL22–22

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

  1. L22
    exact hp_witness_right_right_left
07Separate the logical casesL23–23

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

  1. L23
    cases hs
08Construct an explicit witnessL24–25

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

  1. L24
    exists x1
  2. L25
    exists x
09Separate the logical casesL26–26

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

  1. L26
    split
10Use earlier factsL27–28

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

  1. L27
    exact hp_witness
  2. L28
    exact hs_witness

Library-wide reading audit

Original exact command ledger · 28 lines
  1. 0001intro l
  2. 0002intro W
  3. 0003intro F
  4. 0004intro hW
  5. 0005intro hF
  6. 0006have hp : exists H. (((exists dst_positive_code_weighted_product_existsleft_table dst_positive_scale_weighted_product_existsleft_table dst_negative_code_weighted_product_existsleft_table dst_negative_scale_weighted_product_existsleft_table. (((W) = (((((dst_positive_code_weighted_product_existsleft_table) + (dst_positive_scale_weighted_product_existsleft_table)) * S ((dst_positive_code_weighted_product_existsleft_table) + (dst_positive_scale_weighted_product_existsleft_table)) + ((dst_positive_scale_weighted_product_existsleft_table) + (dst_positive_scale_weighted_product_existsleft_table))) + (((dst_negative_code_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)) * S ((dst_negative_code_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)) + ((dst_negative_scale_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)))) * S ((((dst_positive_code_weighted_product_existsleft_table) + (dst_positive_scale_weighted_product_existsleft_table)) * S ((dst_positive_code_weighted_product_existsleft_table) + (dst_positive_scale_weighted_product_existsleft_table)) + ((dst_positive_scale_weighted_product_existsleft_table) + (dst_positive_scale_weighted_product_existsleft_table))) + (((dst_negative_code_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)) * S ((dst_negative_code_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)) + ((dst_negative_scale_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)))) + ((((dst_negative_code_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)) * S ((dst_negative_code_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)) + ((dst_negative_scale_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table))) + (((dst_negative_code_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)) * S ((dst_negative_code_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)) + ((dst_negative_scale_weighted_product_existsleft_table) + (dst_negative_scale_weighted_product_existsleft_table)))))) /\ (forall dst_index_weighted_product_existsleft_table. (exists pvs_le_gap_weighted_product_existsleft_tabledomain. pvs_le_gap_weighted_product_existsleft_tabledomain + (dst_index_weighted_product_existsleft_table) = (l)) -> exists dst_positive_weighted_product_existsleft_table dst_negative_weighted_product_existsleft_table dst_value_weighted_product_existsleft_table. ((((exists ff_h_pvs_weighted_product_existsleft_tableentrypositive. ff_h_pvs_weighted_product_existsleft_tableentrypositive + S (dst_positive_weighted_product_existsleft_table) = S ((S (dst_index_weighted_product_existsleft_table)) * dst_positive_scale_weighted_product_existsleft_table)) /\ exists ff_q_pvs_weighted_product_existsleft_tableentrypositive. dst_positive_code_weighted_product_existsleft_table = ff_q_pvs_weighted_product_existsleft_tableentrypositive * S ((S (dst_index_weighted_product_existsleft_table)) * dst_positive_scale_weighted_product_existsleft_table) + (dst_positive_weighted_product_existsleft_table))) /\ (((((exists ff_h_pvs_weighted_product_existsleft_tableentrynegative. ff_h_pvs_weighted_product_existsleft_tableentrynegative + S (dst_negative_weighted_product_existsleft_table) = S ((S (dst_index_weighted_product_existsleft_table)) * dst_negative_scale_weighted_product_existsleft_table)) /\ exists ff_q_pvs_weighted_product_existsleft_tableentrynegative. dst_negative_code_weighted_product_existsleft_table = ff_q_pvs_weighted_product_existsleft_tableentrynegative * S ((S (dst_index_weighted_product_existsleft_table)) * dst_negative_scale_weighted_product_existsleft_table) + (dst_negative_weighted_product_existsleft_table))) /\ (exists ge_balance_positive_weighted_product_existsleft_tableentryvalue ge_balance_negative_weighted_product_existsleft_tableentryvalue. (((((dst_value_weighted_product_existsleft_table) = 2 * (ge_balance_positive_weighted_product_existsleft_tableentryvalue) /\ (ge_balance_negative_weighted_product_existsleft_tableentryvalue) = 0) \/ exists ge_signed_half_weighted_product_existsleft_tableentryvaluedecode. (((dst_value_weighted_product_existsleft_table) = 2 * ge_signed_half_weighted_product_existsleft_tableentryvaluedecode + 1 /\ (ge_balance_positive_weighted_product_existsleft_tableentryvalue) = 0) /\ (ge_balance_negative_weighted_product_existsleft_tableentryvalue) = S ge_signed_half_weighted_product_existsleft_tableentryvaluedecode))) /\ ((dst_positive_weighted_product_existsleft_table) + ge_balance_negative_weighted_product_existsleft_tableentryvalue = (dst_negative_weighted_product_existsleft_table) + ge_balance_positive_weighted_product_existsleft_tableentryvalue))))))))) /\ (((exists dst_positive_code_weighted_product_existsright_table dst_positive_scale_weighted_product_existsright_table dst_negative_code_weighted_product_existsright_table dst_negative_scale_weighted_product_existsright_table. (((F) = (((((dst_positive_code_weighted_product_existsright_table) + (dst_positive_scale_weighted_product_existsright_table)) * S ((dst_positive_code_weighted_product_existsright_table) + (dst_positive_scale_weighted_product_existsright_table)) + ((dst_positive_scale_weighted_product_existsright_table) + (dst_positive_scale_weighted_product_existsright_table))) + (((dst_negative_code_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)) * S ((dst_negative_code_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)) + ((dst_negative_scale_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)))) * S ((((dst_positive_code_weighted_product_existsright_table) + (dst_positive_scale_weighted_product_existsright_table)) * S ((dst_positive_code_weighted_product_existsright_table) + (dst_positive_scale_weighted_product_existsright_table)) + ((dst_positive_scale_weighted_product_existsright_table) + (dst_positive_scale_weighted_product_existsright_table))) + (((dst_negative_code_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)) * S ((dst_negative_code_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)) + ((dst_negative_scale_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)))) + ((((dst_negative_code_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)) * S ((dst_negative_code_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)) + ((dst_negative_scale_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table))) + (((dst_negative_code_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)) * S ((dst_negative_code_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)) + ((dst_negative_scale_weighted_product_existsright_table) + (dst_negative_scale_weighted_product_existsright_table)))))) /\ (forall dst_index_weighted_product_existsright_table. (exists pvs_le_gap_weighted_product_existsright_tabledomain. pvs_le_gap_weighted_product_existsright_tabledomain + (dst_index_weighted_product_existsright_table) = (l)) -> exists dst_positive_weighted_product_existsright_table dst_negative_weighted_product_existsright_table dst_value_weighted_product_existsright_table. ((((exists ff_h_pvs_weighted_product_existsright_tableentrypositive. ff_h_pvs_weighted_product_existsright_tableentrypositive + S (dst_positive_weighted_product_existsright_table) = S ((S (dst_index_weighted_product_existsright_table)) * dst_positive_scale_weighted_product_existsright_table)) /\ exists ff_q_pvs_weighted_product_existsright_tableentrypositive. dst_positive_code_weighted_product_existsright_table = ff_q_pvs_weighted_product_existsright_tableentrypositive * S ((S (dst_index_weighted_product_existsright_table)) * dst_positive_scale_weighted_product_existsright_table) + (dst_positive_weighted_product_existsright_table))) /\ (((((exists ff_h_pvs_weighted_product_existsright_tableentrynegative. ff_h_pvs_weighted_product_existsright_tableentrynegative + S (dst_negative_weighted_product_existsright_table) = S ((S (dst_index_weighted_product_existsright_table)) * dst_negative_scale_weighted_product_existsright_table)) /\ exists ff_q_pvs_weighted_product_existsright_tableentrynegative. dst_negative_code_weighted_product_existsright_table = ff_q_pvs_weighted_product_existsright_tableentrynegative * S ((S (dst_index_weighted_product_existsright_table)) * dst_negative_scale_weighted_product_existsright_table) + (dst_negative_weighted_product_existsright_table))) /\ (exists ge_balance_positive_weighted_product_existsright_tableentryvalue ge_balance_negative_weighted_product_existsright_tableentryvalue. (((((dst_value_weighted_product_existsright_table) = 2 * (ge_balance_positive_weighted_product_existsright_tableentryvalue) /\ (ge_balance_negative_weighted_product_existsright_tableentryvalue) = 0) \/ exists ge_signed_half_weighted_product_existsright_tableentryvaluedecode. (((dst_value_weighted_product_existsright_table) = 2 * ge_signed_half_weighted_product_existsright_tableentryvaluedecode + 1 /\ (ge_balance_positive_weighted_product_existsright_tableentryvalue) = 0) /\ (ge_balance_negative_weighted_product_existsright_tableentryvalue) = S ge_signed_half_weighted_product_existsright_tableentryvaluedecode))) /\ ((dst_positive_weighted_product_existsright_table) + ge_balance_negative_weighted_product_existsright_tableentryvalue = (dst_negative_weighted_product_existsright_table) + ge_balance_positive_weighted_product_existsright_tableentryvalue))))))))) /\ (((exists dst_positive_code_weighted_product_existsoutput_table dst_positive_scale_weighted_product_existsoutput_table dst_negative_code_weighted_product_existsoutput_table dst_negative_scale_weighted_product_existsoutput_table. (((H) = (((((dst_positive_code_weighted_product_existsoutput_table) + (dst_positive_scale_weighted_product_existsoutput_table)) * S ((dst_positive_code_weighted_product_existsoutput_table) + (dst_positive_scale_weighted_product_existsoutput_table)) + ((dst_positive_scale_weighted_product_existsoutput_table) + (dst_positive_scale_weighted_product_existsoutput_table))) + (((dst_negative_code_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)) * S ((dst_negative_code_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)) + ((dst_negative_scale_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)))) * S ((((dst_positive_code_weighted_product_existsoutput_table) + (dst_positive_scale_weighted_product_existsoutput_table)) * S ((dst_positive_code_weighted_product_existsoutput_table) + (dst_positive_scale_weighted_product_existsoutput_table)) + ((dst_positive_scale_weighted_product_existsoutput_table) + (dst_positive_scale_weighted_product_existsoutput_table))) + (((dst_negative_code_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)) * S ((dst_negative_code_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)) + ((dst_negative_scale_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)))) + ((((dst_negative_code_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)) * S ((dst_negative_code_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)) + ((dst_negative_scale_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table))) + (((dst_negative_code_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)) * S ((dst_negative_code_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)) + ((dst_negative_scale_weighted_product_existsoutput_table) + (dst_negative_scale_weighted_product_existsoutput_table)))))) /\ (forall dst_index_weighted_product_existsoutput_table. (exists pvs_le_gap_weighted_product_existsoutput_tabledomain. pvs_le_gap_weighted_product_existsoutput_tabledomain + (dst_index_weighted_product_existsoutput_table) = (l)) -> exists dst_positive_weighted_product_existsoutput_table dst_negative_weighted_product_existsoutput_table dst_value_weighted_product_existsoutput_table. ((((exists ff_h_pvs_weighted_product_existsoutput_tableentrypositive. ff_h_pvs_weighted_product_existsoutput_tableentrypositive + S (dst_positive_weighted_product_existsoutput_table) = S ((S (dst_index_weighted_product_existsoutput_table)) * dst_positive_scale_weighted_product_existsoutput_table)) /\ exists ff_q_pvs_weighted_product_existsoutput_tableentrypositive. dst_positive_code_weighted_product_existsoutput_table = ff_q_pvs_weighted_product_existsoutput_tableentrypositive * S ((S (dst_index_weighted_product_existsoutput_table)) * dst_positive_scale_weighted_product_existsoutput_table) + (dst_positive_weighted_product_existsoutput_table))) /\ (((((exists ff_h_pvs_weighted_product_existsoutput_tableentrynegative. ff_h_pvs_weighted_product_existsoutput_tableentrynegative + S (dst_negative_weighted_product_existsoutput_table) = S ((S (dst_index_weighted_product_existsoutput_table)) * dst_negative_scale_weighted_product_existsoutput_table)) /\ exists ff_q_pvs_weighted_product_existsoutput_tableentrynegative. dst_negative_code_weighted_product_existsoutput_table = ff_q_pvs_weighted_product_existsoutput_tableentrynegative * S ((S (dst_index_weighted_product_existsoutput_table)) * dst_negative_scale_weighted_product_existsoutput_table) + (dst_negative_weighted_product_existsoutput_table))) /\ (exists ge_balance_positive_weighted_product_existsoutput_tableentryvalue ge_balance_negative_weighted_product_existsoutput_tableentryvalue. (((((dst_value_weighted_product_existsoutput_table) = 2 * (ge_balance_positive_weighted_product_existsoutput_tableentryvalue) /\ (ge_balance_negative_weighted_product_existsoutput_tableentryvalue) = 0) \/ exists ge_signed_half_weighted_product_existsoutput_tableentryvaluedecode. (((dst_value_weighted_product_existsoutput_table) = 2 * ge_signed_half_weighted_product_existsoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_weighted_product_existsoutput_tableentryvalue) = 0) /\ (ge_balance_negative_weighted_product_existsoutput_tableentryvalue) = S ge_signed_half_weighted_product_existsoutput_tableentryvaluedecode))) /\ ((dst_positive_weighted_product_existsoutput_table) + ge_balance_negative_weighted_product_existsoutput_tableentryvalue = (dst_negative_weighted_product_existsoutput_table) + ge_balance_positive_weighted_product_existsoutput_tableentryvalue))))))))) /\ (forall sto_index_weighted_product_existsentries. (exists pvs_gap_weighted_product_existsentriesbound. pvs_gap_weighted_product_existsentriesbound + S (sto_index_weighted_product_existsentries) = (l)) -> exists sto_left_weighted_product_existsentries sto_right_weighted_product_existsentries sto_output_weighted_product_existsentries. ((exists dst_positive_code_weighted_product_existsentriesentryleft dst_positive_scale_weighted_product_existsentriesentryleft dst_negative_code_weighted_product_existsentriesentryleft dst_negative_scale_weighted_product_existsentriesentryleft dst_positive_weighted_product_existsentriesentryleft dst_negative_weighted_product_existsentriesentryleft. (((W) = (((((dst_positive_code_weighted_product_existsentriesentryleft) + (dst_positive_scale_weighted_product_existsentriesentryleft)) * S ((dst_positive_code_weighted_product_existsentriesentryleft) + (dst_positive_scale_weighted_product_existsentriesentryleft)) + ((dst_positive_scale_weighted_product_existsentriesentryleft) + (dst_positive_scale_weighted_product_existsentriesentryleft))) + (((dst_negative_code_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)) * S ((dst_negative_code_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)) + ((dst_negative_scale_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)))) * S ((((dst_positive_code_weighted_product_existsentriesentryleft) + (dst_positive_scale_weighted_product_existsentriesentryleft)) * S ((dst_positive_code_weighted_product_existsentriesentryleft) + (dst_positive_scale_weighted_product_existsentriesentryleft)) + ((dst_positive_scale_weighted_product_existsentriesentryleft) + (dst_positive_scale_weighted_product_existsentriesentryleft))) + (((dst_negative_code_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)) * S ((dst_negative_code_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)) + ((dst_negative_scale_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)))) + ((((dst_negative_code_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)) * S ((dst_negative_code_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)) + ((dst_negative_scale_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft))) + (((dst_negative_code_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)) * S ((dst_negative_code_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)) + ((dst_negative_scale_weighted_product_existsentriesentryleft) + (dst_negative_scale_weighted_product_existsentriesentryleft)))))) /\ (((((exists ff_h_pvs_weighted_product_existsentriesentryleftpositive. ff_h_pvs_weighted_product_existsentriesentryleftpositive + S (dst_positive_weighted_product_existsentriesentryleft) = S ((S (sto_index_weighted_product_existsentries)) * dst_positive_scale_weighted_product_existsentriesentryleft)) /\ exists ff_q_pvs_weighted_product_existsentriesentryleftpositive. dst_positive_code_weighted_product_existsentriesentryleft = ff_q_pvs_weighted_product_existsentriesentryleftpositive * S ((S (sto_index_weighted_product_existsentries)) * dst_positive_scale_weighted_product_existsentriesentryleft) + (dst_positive_weighted_product_existsentriesentryleft))) /\ (((((exists ff_h_pvs_weighted_product_existsentriesentryleftnegative. ff_h_pvs_weighted_product_existsentriesentryleftnegative + S (dst_negative_weighted_product_existsentriesentryleft) = S ((S (sto_index_weighted_product_existsentries)) * dst_negative_scale_weighted_product_existsentriesentryleft)) /\ exists ff_q_pvs_weighted_product_existsentriesentryleftnegative. dst_negative_code_weighted_product_existsentriesentryleft = ff_q_pvs_weighted_product_existsentriesentryleftnegative * S ((S (sto_index_weighted_product_existsentries)) * dst_negative_scale_weighted_product_existsentriesentryleft) + (dst_negative_weighted_product_existsentriesentryleft))) /\ (exists ge_balance_positive_weighted_product_existsentriesentryleftvalue ge_balance_negative_weighted_product_existsentriesentryleftvalue. (((((sto_left_weighted_product_existsentries) = 2 * (ge_balance_positive_weighted_product_existsentriesentryleftvalue) /\ (ge_balance_negative_weighted_product_existsentriesentryleftvalue) = 0) \/ exists ge_signed_half_weighted_product_existsentriesentryleftvaluedecode. (((sto_left_weighted_product_existsentries) = 2 * ge_signed_half_weighted_product_existsentriesentryleftvaluedecode + 1 /\ (ge_balance_positive_weighted_product_existsentriesentryleftvalue) = 0) /\ (ge_balance_negative_weighted_product_existsentriesentryleftvalue) = S ge_signed_half_weighted_product_existsentriesentryleftvaluedecode))) /\ ((dst_positive_weighted_product_existsentriesentryleft) + ge_balance_negative_weighted_product_existsentriesentryleftvalue = (dst_negative_weighted_product_existsentriesentryleft) + ge_balance_positive_weighted_product_existsentriesentryleftvalue))))))))) /\ (((exists dst_positive_code_weighted_product_existsentriesentryright dst_positive_scale_weighted_product_existsentriesentryright dst_negative_code_weighted_product_existsentriesentryright dst_negative_scale_weighted_product_existsentriesentryright dst_positive_weighted_product_existsentriesentryright dst_negative_weighted_product_existsentriesentryright. (((F) = (((((dst_positive_code_weighted_product_existsentriesentryright) + (dst_positive_scale_weighted_product_existsentriesentryright)) * S ((dst_positive_code_weighted_product_existsentriesentryright) + (dst_positive_scale_weighted_product_existsentriesentryright)) + ((dst_positive_scale_weighted_product_existsentriesentryright) + (dst_positive_scale_weighted_product_existsentriesentryright))) + (((dst_negative_code_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)) * S ((dst_negative_code_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)) + ((dst_negative_scale_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)))) * S ((((dst_positive_code_weighted_product_existsentriesentryright) + (dst_positive_scale_weighted_product_existsentriesentryright)) * S ((dst_positive_code_weighted_product_existsentriesentryright) + (dst_positive_scale_weighted_product_existsentriesentryright)) + ((dst_positive_scale_weighted_product_existsentriesentryright) + (dst_positive_scale_weighted_product_existsentriesentryright))) + (((dst_negative_code_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)) * S ((dst_negative_code_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)) + ((dst_negative_scale_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)))) + ((((dst_negative_code_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)) * S ((dst_negative_code_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)) + ((dst_negative_scale_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright))) + (((dst_negative_code_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)) * S ((dst_negative_code_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)) + ((dst_negative_scale_weighted_product_existsentriesentryright) + (dst_negative_scale_weighted_product_existsentriesentryright)))))) /\ (((((exists ff_h_pvs_weighted_product_existsentriesentryrightpositive. ff_h_pvs_weighted_product_existsentriesentryrightpositive + S (dst_positive_weighted_product_existsentriesentryright) = S ((S (sto_index_weighted_product_existsentries)) * dst_positive_scale_weighted_product_existsentriesentryright)) /\ exists ff_q_pvs_weighted_product_existsentriesentryrightpositive. dst_positive_code_weighted_product_existsentriesentryright = ff_q_pvs_weighted_product_existsentriesentryrightpositive * S ((S (sto_index_weighted_product_existsentries)) * dst_positive_scale_weighted_product_existsentriesentryright) + (dst_positive_weighted_product_existsentriesentryright))) /\ (((((exists ff_h_pvs_weighted_product_existsentriesentryrightnegative. ff_h_pvs_weighted_product_existsentriesentryrightnegative + S (dst_negative_weighted_product_existsentriesentryright) = S ((S (sto_index_weighted_product_existsentries)) * dst_negative_scale_weighted_product_existsentriesentryright)) /\ exists ff_q_pvs_weighted_product_existsentriesentryrightnegative. dst_negative_code_weighted_product_existsentriesentryright = ff_q_pvs_weighted_product_existsentriesentryrightnegative * S ((S (sto_index_weighted_product_existsentries)) * dst_negative_scale_weighted_product_existsentriesentryright) + (dst_negative_weighted_product_existsentriesentryright))) /\ (exists ge_balance_positive_weighted_product_existsentriesentryrightvalue ge_balance_negative_weighted_product_existsentriesentryrightvalue. (((((sto_right_weighted_product_existsentries) = 2 * (ge_balance_positive_weighted_product_existsentriesentryrightvalue) /\ (ge_balance_negative_weighted_product_existsentriesentryrightvalue) = 0) \/ exists ge_signed_half_weighted_product_existsentriesentryrightvaluedecode. (((sto_right_weighted_product_existsentries) = 2 * ge_signed_half_weighted_product_existsentriesentryrightvaluedecode + 1 /\ (ge_balance_positive_weighted_product_existsentriesentryrightvalue) = 0) /\ (ge_balance_negative_weighted_product_existsentriesentryrightvalue) = S ge_signed_half_weighted_product_existsentriesentryrightvaluedecode))) /\ ((dst_positive_weighted_product_existsentriesentryright) + ge_balance_negative_weighted_product_existsentriesentryrightvalue = (dst_negative_weighted_product_existsentriesentryright) + ge_balance_positive_weighted_product_existsentriesentryrightvalue))))))))) /\ (((exists dst_positive_code_weighted_product_existsentriesentryoutput dst_positive_scale_weighted_product_existsentriesentryoutput dst_negative_code_weighted_product_existsentriesentryoutput dst_negative_scale_weighted_product_existsentriesentryoutput dst_positive_weighted_product_existsentriesentryoutput dst_negative_weighted_product_existsentriesentryoutput. (((H) = (((((dst_positive_code_weighted_product_existsentriesentryoutput) + (dst_positive_scale_weighted_product_existsentriesentryoutput)) * S ((dst_positive_code_weighted_product_existsentriesentryoutput) + (dst_positive_scale_weighted_product_existsentriesentryoutput)) + ((dst_positive_scale_weighted_product_existsentriesentryoutput) + (dst_positive_scale_weighted_product_existsentriesentryoutput))) + (((dst_negative_code_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)) * S ((dst_negative_code_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)) + ((dst_negative_scale_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)))) * S ((((dst_positive_code_weighted_product_existsentriesentryoutput) + (dst_positive_scale_weighted_product_existsentriesentryoutput)) * S ((dst_positive_code_weighted_product_existsentriesentryoutput) + (dst_positive_scale_weighted_product_existsentriesentryoutput)) + ((dst_positive_scale_weighted_product_existsentriesentryoutput) + (dst_positive_scale_weighted_product_existsentriesentryoutput))) + (((dst_negative_code_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)) * S ((dst_negative_code_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)) + ((dst_negative_scale_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)))) + ((((dst_negative_code_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)) * S ((dst_negative_code_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)) + ((dst_negative_scale_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput))) + (((dst_negative_code_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)) * S ((dst_negative_code_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)) + ((dst_negative_scale_weighted_product_existsentriesentryoutput) + (dst_negative_scale_weighted_product_existsentriesentryoutput)))))) /\ (((((exists ff_h_pvs_weighted_product_existsentriesentryoutputpositive. ff_h_pvs_weighted_product_existsentriesentryoutputpositive + S (dst_positive_weighted_product_existsentriesentryoutput) = S ((S (sto_index_weighted_product_existsentries)) * dst_positive_scale_weighted_product_existsentriesentryoutput)) /\ exists ff_q_pvs_weighted_product_existsentriesentryoutputpositive. dst_positive_code_weighted_product_existsentriesentryoutput = ff_q_pvs_weighted_product_existsentriesentryoutputpositive * S ((S (sto_index_weighted_product_existsentries)) * dst_positive_scale_weighted_product_existsentriesentryoutput) + (dst_positive_weighted_product_existsentriesentryoutput))) /\ (((((exists ff_h_pvs_weighted_product_existsentriesentryoutputnegative. ff_h_pvs_weighted_product_existsentriesentryoutputnegative + S (dst_negative_weighted_product_existsentriesentryoutput) = S ((S (sto_index_weighted_product_existsentries)) * dst_negative_scale_weighted_product_existsentriesentryoutput)) /\ exists ff_q_pvs_weighted_product_existsentriesentryoutputnegative. dst_negative_code_weighted_product_existsentriesentryoutput = ff_q_pvs_weighted_product_existsentriesentryoutputnegative * S ((S (sto_index_weighted_product_existsentries)) * dst_negative_scale_weighted_product_existsentriesentryoutput) + (dst_negative_weighted_product_existsentriesentryoutput))) /\ (exists ge_balance_positive_weighted_product_existsentriesentryoutputvalue ge_balance_negative_weighted_product_existsentriesentryoutputvalue. (((((sto_output_weighted_product_existsentries) = 2 * (ge_balance_positive_weighted_product_existsentriesentryoutputvalue) /\ (ge_balance_negative_weighted_product_existsentriesentryoutputvalue) = 0) \/ exists ge_signed_half_weighted_product_existsentriesentryoutputvaluedecode. (((sto_output_weighted_product_existsentries) = 2 * ge_signed_half_weighted_product_existsentriesentryoutputvaluedecode + 1 /\ (ge_balance_positive_weighted_product_existsentriesentryoutputvalue) = 0) /\ (ge_balance_negative_weighted_product_existsentriesentryoutputvalue) = S ge_signed_half_weighted_product_existsentriesentryoutputvaluedecode))) /\ ((dst_positive_weighted_product_existsentriesentryoutput) + ge_balance_negative_weighted_product_existsentriesentryoutputvalue = (dst_negative_weighted_product_existsentriesentryoutput) + ge_balance_positive_weighted_product_existsentriesentryoutputvalue))))))))) /\ (exists sto_ap_weighted_product_existsentriesentryoperation sto_an_weighted_product_existsentriesentryoperation sto_bp_weighted_product_existsentriesentryoperation sto_bn_weighted_product_existsentriesentryoperation sto_cp_weighted_product_existsentriesentryoperation sto_cn_weighted_product_existsentriesentryoperation. (((((sto_left_weighted_product_existsentries) = 2 * (sto_ap_weighted_product_existsentriesentryoperation) /\ (sto_an_weighted_product_existsentriesentryoperation) = 0) \/ exists ge_signed_half_weighted_product_existsentriesentryoperationleft. (((sto_left_weighted_product_existsentries) = 2 * ge_signed_half_weighted_product_existsentriesentryoperationleft + 1 /\ (sto_ap_weighted_product_existsentriesentryoperation) = 0) /\ (sto_an_weighted_product_existsentriesentryoperation) = S ge_signed_half_weighted_product_existsentriesentryoperationleft))) /\ ((((((sto_right_weighted_product_existsentries) = 2 * (sto_bp_weighted_product_existsentriesentryoperation) /\ (sto_bn_weighted_product_existsentriesentryoperation) = 0) \/ exists ge_signed_half_weighted_product_existsentriesentryoperationright. (((sto_right_weighted_product_existsentries) = 2 * ge_signed_half_weighted_product_existsentriesentryoperationright + 1 /\ (sto_bp_weighted_product_existsentriesentryoperation) = 0) /\ (sto_bn_weighted_product_existsentriesentryoperation) = S ge_signed_half_weighted_product_existsentriesentryoperationright))) /\ ((((((sto_output_weighted_product_existsentries) = 2 * (sto_cp_weighted_product_existsentriesentryoperation) /\ (sto_cn_weighted_product_existsentriesentryoperation) = 0) \/ exists ge_signed_half_weighted_product_existsentriesentryoperationoutput. (((sto_output_weighted_product_existsentries) = 2 * ge_signed_half_weighted_product_existsentriesentryoperationoutput + 1 /\ (sto_cp_weighted_product_existsentriesentryoperation) = 0) /\ (sto_cn_weighted_product_existsentriesentryoperation) = S ge_signed_half_weighted_product_existsentriesentryoperationoutput))) /\ ((sto_ap_weighted_product_existsentriesentryoperation * sto_bp_weighted_product_existsentriesentryoperation + sto_an_weighted_product_existsentriesentryoperation * sto_bn_weighted_product_existsentriesentryoperation) + sto_cn_weighted_product_existsentriesentryoperation = (sto_ap_weighted_product_existsentriesentryoperation * sto_bn_weighted_product_existsentriesentryoperation + sto_an_weighted_product_existsentriesentryoperation * sto_bp_weighted_product_existsentriesentryoperation) + sto_cp_weighted_product_existsentriesentryoperation)))))))))))))))))))
  7. 0007specialize signed_table_multiply_exists (l)
  8. 0008specialize signed_table_multiply_exists (W)
  9. 0009specialize signed_table_multiply_exists (F)
  10. 0010apply signed_table_multiply_exists
  11. 0011exact hW
  12. 0012exact hF
  13. 0013cases hp
  14. 0014have hs : exists z. (exists dst_positive_code_weighted_sum_exists dst_positive_scale_weighted_sum_exists dst_negative_code_weighted_sum_exists dst_negative_scale_weighted_sum_exists dst_positive_sum_weighted_sum_exists dst_negative_sum_weighted_sum_exists. (((x) = (((((dst_positive_code_weighted_sum_exists) + (dst_positive_scale_weighted_sum_exists)) * S ((dst_positive_code_weighted_sum_exists) + (dst_positive_scale_weighted_sum_exists)) + ((dst_positive_scale_weighted_sum_exists) + (dst_positive_scale_weighted_sum_exists))) + (((dst_negative_code_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)) * S ((dst_negative_code_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)) + ((dst_negative_scale_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)))) * S ((((dst_positive_code_weighted_sum_exists) + (dst_positive_scale_weighted_sum_exists)) * S ((dst_positive_code_weighted_sum_exists) + (dst_positive_scale_weighted_sum_exists)) + ((dst_positive_scale_weighted_sum_exists) + (dst_positive_scale_weighted_sum_exists))) + (((dst_negative_code_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)) * S ((dst_negative_code_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)) + ((dst_negative_scale_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)))) + ((((dst_negative_code_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)) * S ((dst_negative_code_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)) + ((dst_negative_scale_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists))) + (((dst_negative_code_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)) * S ((dst_negative_code_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)) + ((dst_negative_scale_weighted_sum_exists) + (dst_negative_scale_weighted_sum_exists)))))) /\ (((exists fs_u_dst_weighted_sum_existspositive fs_v_dst_weighted_sum_existspositive. ((((exists fs_h_dst_weighted_sum_existspositive_body_start. fs_h_dst_weighted_sum_existspositive_body_start + S (0) = S ((S (0)) * fs_v_dst_weighted_sum_existspositive)) /\ exists fs_q_dst_weighted_sum_existspositive_body_start. fs_u_dst_weighted_sum_existspositive = fs_q_dst_weighted_sum_existspositive_body_start * S ((S (0)) * fs_v_dst_weighted_sum_existspositive) + (0))) /\ ((((exists fs_h_dst_weighted_sum_existspositive_body_terminal. fs_h_dst_weighted_sum_existspositive_body_terminal + S (dst_positive_sum_weighted_sum_exists) = S ((S (l)) * fs_v_dst_weighted_sum_existspositive)) /\ exists fs_q_dst_weighted_sum_existspositive_body_terminal. fs_u_dst_weighted_sum_existspositive = fs_q_dst_weighted_sum_existspositive_body_terminal * S ((S (l)) * fs_v_dst_weighted_sum_existspositive) + (dst_positive_sum_weighted_sum_exists))) /\ forall fs_i_dst_weighted_sum_existspositive_body_steps. (exists fs_lt_dst_weighted_sum_existspositive_body_steps_bound. fs_lt_dst_weighted_sum_existspositive_body_steps_bound + S fs_i_dst_weighted_sum_existspositive_body_steps = l) -> exists fs_a_dst_weighted_sum_existspositive_body_steps fs_r_dst_weighted_sum_existspositive_body_steps fs_s_dst_weighted_sum_existspositive_body_steps. ((((exists fs_h_dst_weighted_sum_existspositive_body_steps_summand. fs_h_dst_weighted_sum_existspositive_body_steps_summand + S (fs_a_dst_weighted_sum_existspositive_body_steps) = S ((S (fs_i_dst_weighted_sum_existspositive_body_steps)) * dst_positive_scale_weighted_sum_exists)) /\ exists fs_q_dst_weighted_sum_existspositive_body_steps_summand. dst_positive_code_weighted_sum_exists = fs_q_dst_weighted_sum_existspositive_body_steps_summand * S ((S (fs_i_dst_weighted_sum_existspositive_body_steps)) * dst_positive_scale_weighted_sum_exists) + (fs_a_dst_weighted_sum_existspositive_body_steps))) /\ ((((exists fs_h_dst_weighted_sum_existspositive_body_steps_partial. fs_h_dst_weighted_sum_existspositive_body_steps_partial + S (fs_r_dst_weighted_sum_existspositive_body_steps) = S ((S (fs_i_dst_weighted_sum_existspositive_body_steps)) * fs_v_dst_weighted_sum_existspositive)) /\ exists fs_q_dst_weighted_sum_existspositive_body_steps_partial. fs_u_dst_weighted_sum_existspositive = fs_q_dst_weighted_sum_existspositive_body_steps_partial * S ((S (fs_i_dst_weighted_sum_existspositive_body_steps)) * fs_v_dst_weighted_sum_existspositive) + (fs_r_dst_weighted_sum_existspositive_body_steps))) /\ ((((exists fs_h_dst_weighted_sum_existspositive_body_steps_successor. fs_h_dst_weighted_sum_existspositive_body_steps_successor + S (fs_s_dst_weighted_sum_existspositive_body_steps) = S ((S (S fs_i_dst_weighted_sum_existspositive_body_steps)) * fs_v_dst_weighted_sum_existspositive)) /\ exists fs_q_dst_weighted_sum_existspositive_body_steps_successor. fs_u_dst_weighted_sum_existspositive = fs_q_dst_weighted_sum_existspositive_body_steps_successor * S ((S (S fs_i_dst_weighted_sum_existspositive_body_steps)) * fs_v_dst_weighted_sum_existspositive) + (fs_s_dst_weighted_sum_existspositive_body_steps))) /\ fs_s_dst_weighted_sum_existspositive_body_steps = fs_r_dst_weighted_sum_existspositive_body_steps + fs_a_dst_weighted_sum_existspositive_body_steps)))))) /\ (((exists fs_u_dst_weighted_sum_existsnegative fs_v_dst_weighted_sum_existsnegative. ((((exists fs_h_dst_weighted_sum_existsnegative_body_start. fs_h_dst_weighted_sum_existsnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_weighted_sum_existsnegative)) /\ exists fs_q_dst_weighted_sum_existsnegative_body_start. fs_u_dst_weighted_sum_existsnegative = fs_q_dst_weighted_sum_existsnegative_body_start * S ((S (0)) * fs_v_dst_weighted_sum_existsnegative) + (0))) /\ ((((exists fs_h_dst_weighted_sum_existsnegative_body_terminal. fs_h_dst_weighted_sum_existsnegative_body_terminal + S (dst_negative_sum_weighted_sum_exists) = S ((S (l)) * fs_v_dst_weighted_sum_existsnegative)) /\ exists fs_q_dst_weighted_sum_existsnegative_body_terminal. fs_u_dst_weighted_sum_existsnegative = fs_q_dst_weighted_sum_existsnegative_body_terminal * S ((S (l)) * fs_v_dst_weighted_sum_existsnegative) + (dst_negative_sum_weighted_sum_exists))) /\ forall fs_i_dst_weighted_sum_existsnegative_body_steps. (exists fs_lt_dst_weighted_sum_existsnegative_body_steps_bound. fs_lt_dst_weighted_sum_existsnegative_body_steps_bound + S fs_i_dst_weighted_sum_existsnegative_body_steps = l) -> exists fs_a_dst_weighted_sum_existsnegative_body_steps fs_r_dst_weighted_sum_existsnegative_body_steps fs_s_dst_weighted_sum_existsnegative_body_steps. ((((exists fs_h_dst_weighted_sum_existsnegative_body_steps_summand. fs_h_dst_weighted_sum_existsnegative_body_steps_summand + S (fs_a_dst_weighted_sum_existsnegative_body_steps) = S ((S (fs_i_dst_weighted_sum_existsnegative_body_steps)) * dst_negative_scale_weighted_sum_exists)) /\ exists fs_q_dst_weighted_sum_existsnegative_body_steps_summand. dst_negative_code_weighted_sum_exists = fs_q_dst_weighted_sum_existsnegative_body_steps_summand * S ((S (fs_i_dst_weighted_sum_existsnegative_body_steps)) * dst_negative_scale_weighted_sum_exists) + (fs_a_dst_weighted_sum_existsnegative_body_steps))) /\ ((((exists fs_h_dst_weighted_sum_existsnegative_body_steps_partial. fs_h_dst_weighted_sum_existsnegative_body_steps_partial + S (fs_r_dst_weighted_sum_existsnegative_body_steps) = S ((S (fs_i_dst_weighted_sum_existsnegative_body_steps)) * fs_v_dst_weighted_sum_existsnegative)) /\ exists fs_q_dst_weighted_sum_existsnegative_body_steps_partial. fs_u_dst_weighted_sum_existsnegative = fs_q_dst_weighted_sum_existsnegative_body_steps_partial * S ((S (fs_i_dst_weighted_sum_existsnegative_body_steps)) * fs_v_dst_weighted_sum_existsnegative) + (fs_r_dst_weighted_sum_existsnegative_body_steps))) /\ ((((exists fs_h_dst_weighted_sum_existsnegative_body_steps_successor. fs_h_dst_weighted_sum_existsnegative_body_steps_successor + S (fs_s_dst_weighted_sum_existsnegative_body_steps) = S ((S (S fs_i_dst_weighted_sum_existsnegative_body_steps)) * fs_v_dst_weighted_sum_existsnegative)) /\ exists fs_q_dst_weighted_sum_existsnegative_body_steps_successor. fs_u_dst_weighted_sum_existsnegative = fs_q_dst_weighted_sum_existsnegative_body_steps_successor * S ((S (S fs_i_dst_weighted_sum_existsnegative_body_steps)) * fs_v_dst_weighted_sum_existsnegative) + (fs_s_dst_weighted_sum_existsnegative_body_steps))) /\ fs_s_dst_weighted_sum_existsnegative_body_steps = fs_r_dst_weighted_sum_existsnegative_body_steps + fs_a_dst_weighted_sum_existsnegative_body_steps)))))) /\ (exists ge_balance_positive_weighted_sum_existsresult ge_balance_negative_weighted_sum_existsresult. (((((z) = 2 * (ge_balance_positive_weighted_sum_existsresult) /\ (ge_balance_negative_weighted_sum_existsresult) = 0) \/ exists ge_signed_half_weighted_sum_existsresultdecode. (((z) = 2 * ge_signed_half_weighted_sum_existsresultdecode + 1 /\ (ge_balance_positive_weighted_sum_existsresult) = 0) /\ (ge_balance_negative_weighted_sum_existsresult) = S ge_signed_half_weighted_sum_existsresultdecode))) /\ ((dst_positive_sum_weighted_sum_exists) + ge_balance_negative_weighted_sum_existsresult = (dst_negative_sum_weighted_sum_exists) + ge_balance_positive_weighted_sum_existsresult)))))))))
  15. 0015specialize arithmetic_signed_sum_exists (l)
  16. 0016specialize arithmetic_signed_sum_exists (x)
  17. 0017specialize arithmetic_signed_sum_exists (l)
  18. 0018apply arithmetic_signed_sum_exists
  19. 0019cases hp_witness
  20. 0020cases hp_witness_right
  21. 0021cases hp_witness_right_right
  22. 0022exact hp_witness_right_right_left
  23. 0023cases hs
  24. 0024exists x1
  25. 0025exists x
  26. 0026split
  27. 0027exact hp_witness
  28. 0028exact hs_witness