MX002B

signed_cartesian_product_prefix_sum

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

The actual flattened product prefix sums to the canonical signed product, using the separately proved flattening bridge; both zero dimensions are included.

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

Exact expanded first-order arithmetic statement

forall F G T m n a b c. (((exists dst_positive_code_product_prefix_tableF dst_positive_scale_product_prefix_tableF dst_negative_code_product_prefix_tableF dst_negative_scale_product_prefix_tableF. (((F) = (((((dst_positive_code_product_prefix_tableF) + (dst_positive_scale_product_prefix_tableF)) * S ((dst_positive_code_product_prefix_tableF) + (dst_positive_scale_product_prefix_tableF)) + ((dst_positive_scale_product_prefix_tableF) + (dst_positive_scale_product_prefix_tableF))) + (((dst_negative_code_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)) * S ((dst_negative_code_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)) + ((dst_negative_scale_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)))) * S ((((dst_positive_code_product_prefix_tableF) + (dst_positive_scale_product_prefix_tableF)) * S ((dst_positive_code_product_prefix_tableF) + (dst_positive_scale_product_prefix_tableF)) + ((dst_positive_scale_product_prefix_tableF) + (dst_positive_scale_product_prefix_tableF))) + (((dst_negative_code_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)) * S ((dst_negative_code_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)) + ((dst_negative_scale_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)))) + ((((dst_negative_code_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)) * S ((dst_negative_code_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)) + ((dst_negative_scale_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF))) + (((dst_negative_code_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)) * S ((dst_negative_code_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)) + ((dst_negative_scale_product_prefix_tableF) + (dst_negative_scale_product_prefix_tableF)))))) /\ (forall dst_index_product_prefix_tableF. (exists pvs_le_gap_product_prefix_tableFdomain. pvs_le_gap_product_prefix_tableFdomain + (dst_index_product_prefix_tableF) = (0)) -> exists dst_positive_product_prefix_tableF dst_negative_product_prefix_tableF dst_value_product_prefix_tableF. ((((exists ff_h_pvs_product_prefix_tableFentrypositive. ff_h_pvs_product_prefix_tableFentrypositive + S (dst_positive_product_prefix_tableF) = S ((S (dst_index_product_prefix_tableF)) * dst_positive_scale_product_prefix_tableF)) /\ exists ff_q_pvs_product_prefix_tableFentrypositive. dst_positive_code_product_prefix_tableF = ff_q_pvs_product_prefix_tableFentrypositive * S ((S (dst_index_product_prefix_tableF)) * dst_positive_scale_product_prefix_tableF) + (dst_positive_product_prefix_tableF))) /\ (((((exists ff_h_pvs_product_prefix_tableFentrynegative. ff_h_pvs_product_prefix_tableFentrynegative + S (dst_negative_product_prefix_tableF) = S ((S (dst_index_product_prefix_tableF)) * dst_negative_scale_product_prefix_tableF)) /\ exists ff_q_pvs_product_prefix_tableFentrynegative. dst_negative_code_product_prefix_tableF = ff_q_pvs_product_prefix_tableFentrynegative * S ((S (dst_index_product_prefix_tableF)) * dst_negative_scale_product_prefix_tableF) + (dst_negative_product_prefix_tableF))) /\ (exists ge_balance_positive_product_prefix_tableFentryvalue ge_balance_negative_product_prefix_tableFentryvalue. (((((dst_value_product_prefix_tableF) = 2 * (ge_balance_positive_product_prefix_tableFentryvalue) /\ (ge_balance_negative_product_prefix_tableFentryvalue) = 0) \/ exists ge_signed_half_product_prefix_tableFentryvaluedecode. (((dst_value_product_prefix_tableF) = 2 * ge_signed_half_product_prefix_tableFentryvaluedecode + 1 /\ (ge_balance_positive_product_prefix_tableFentryvalue) = 0) /\ (ge_balance_negative_product_prefix_tableFentryvalue) = S ge_signed_half_product_prefix_tableFentryvaluedecode))) /\ ((dst_positive_product_prefix_tableF) + ge_balance_negative_product_prefix_tableFentryvalue = (dst_negative_product_prefix_tableF) + ge_balance_positive_product_prefix_tableFentryvalue))))))))) /\ (((exists dst_positive_code_product_prefix_tableG dst_positive_scale_product_prefix_tableG dst_negative_code_product_prefix_tableG dst_negative_scale_product_prefix_tableG. (((G) = (((((dst_positive_code_product_prefix_tableG) + (dst_positive_scale_product_prefix_tableG)) * S ((dst_positive_code_product_prefix_tableG) + (dst_positive_scale_product_prefix_tableG)) + ((dst_positive_scale_product_prefix_tableG) + (dst_positive_scale_product_prefix_tableG))) + (((dst_negative_code_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)) * S ((dst_negative_code_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)) + ((dst_negative_scale_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)))) * S ((((dst_positive_code_product_prefix_tableG) + (dst_positive_scale_product_prefix_tableG)) * S ((dst_positive_code_product_prefix_tableG) + (dst_positive_scale_product_prefix_tableG)) + ((dst_positive_scale_product_prefix_tableG) + (dst_positive_scale_product_prefix_tableG))) + (((dst_negative_code_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)) * S ((dst_negative_code_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)) + ((dst_negative_scale_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)))) + ((((dst_negative_code_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)) * S ((dst_negative_code_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)) + ((dst_negative_scale_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG))) + (((dst_negative_code_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)) * S ((dst_negative_code_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)) + ((dst_negative_scale_product_prefix_tableG) + (dst_negative_scale_product_prefix_tableG)))))) /\ (forall dst_index_product_prefix_tableG. (exists pvs_le_gap_product_prefix_tableGdomain. pvs_le_gap_product_prefix_tableGdomain + (dst_index_product_prefix_tableG) = (0)) -> exists dst_positive_product_prefix_tableG dst_negative_product_prefix_tableG dst_value_product_prefix_tableG. ((((exists ff_h_pvs_product_prefix_tableGentrypositive. ff_h_pvs_product_prefix_tableGentrypositive + S (dst_positive_product_prefix_tableG) = S ((S (dst_index_product_prefix_tableG)) * dst_positive_scale_product_prefix_tableG)) /\ exists ff_q_pvs_product_prefix_tableGentrypositive. dst_positive_code_product_prefix_tableG = ff_q_pvs_product_prefix_tableGentrypositive * S ((S (dst_index_product_prefix_tableG)) * dst_positive_scale_product_prefix_tableG) + (dst_positive_product_prefix_tableG))) /\ (((((exists ff_h_pvs_product_prefix_tableGentrynegative. ff_h_pvs_product_prefix_tableGentrynegative + S (dst_negative_product_prefix_tableG) = S ((S (dst_index_product_prefix_tableG)) * dst_negative_scale_product_prefix_tableG)) /\ exists ff_q_pvs_product_prefix_tableGentrynegative. dst_negative_code_product_prefix_tableG = ff_q_pvs_product_prefix_tableGentrynegative * S ((S (dst_index_product_prefix_tableG)) * dst_negative_scale_product_prefix_tableG) + (dst_negative_product_prefix_tableG))) /\ (exists ge_balance_positive_product_prefix_tableGentryvalue ge_balance_negative_product_prefix_tableGentryvalue. (((((dst_value_product_prefix_tableG) = 2 * (ge_balance_positive_product_prefix_tableGentryvalue) /\ (ge_balance_negative_product_prefix_tableGentryvalue) = 0) \/ exists ge_signed_half_product_prefix_tableGentryvaluedecode. (((dst_value_product_prefix_tableG) = 2 * ge_signed_half_product_prefix_tableGentryvaluedecode + 1 /\ (ge_balance_positive_product_prefix_tableGentryvalue) = 0) /\ (ge_balance_negative_product_prefix_tableGentryvalue) = S ge_signed_half_product_prefix_tableGentryvaluedecode))) /\ ((dst_positive_product_prefix_tableG) + ge_balance_negative_product_prefix_tableGentryvalue = (dst_negative_product_prefix_tableG) + ge_balance_positive_product_prefix_tableGentryvalue))))))))) /\ (((exists dst_positive_code_product_prefix_tableT dst_positive_scale_product_prefix_tableT dst_negative_code_product_prefix_tableT dst_negative_scale_product_prefix_tableT. (((T) = (((((dst_positive_code_product_prefix_tableT) + (dst_positive_scale_product_prefix_tableT)) * S ((dst_positive_code_product_prefix_tableT) + (dst_positive_scale_product_prefix_tableT)) + ((dst_positive_scale_product_prefix_tableT) + (dst_positive_scale_product_prefix_tableT))) + (((dst_negative_code_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)) * S ((dst_negative_code_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)) + ((dst_negative_scale_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)))) * S ((((dst_positive_code_product_prefix_tableT) + (dst_positive_scale_product_prefix_tableT)) * S ((dst_positive_code_product_prefix_tableT) + (dst_positive_scale_product_prefix_tableT)) + ((dst_positive_scale_product_prefix_tableT) + (dst_positive_scale_product_prefix_tableT))) + (((dst_negative_code_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)) * S ((dst_negative_code_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)) + ((dst_negative_scale_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)))) + ((((dst_negative_code_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)) * S ((dst_negative_code_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)) + ((dst_negative_scale_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT))) + (((dst_negative_code_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)) * S ((dst_negative_code_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)) + ((dst_negative_scale_product_prefix_tableT) + (dst_negative_scale_product_prefix_tableT)))))) /\ (forall dst_index_product_prefix_tableT. (exists pvs_le_gap_product_prefix_tableTdomain. pvs_le_gap_product_prefix_tableTdomain + (dst_index_product_prefix_tableT) = ((m)*(n))) -> exists dst_positive_product_prefix_tableT dst_negative_product_prefix_tableT dst_value_product_prefix_tableT. ((((exists ff_h_pvs_product_prefix_tableTentrypositive. ff_h_pvs_product_prefix_tableTentrypositive + S (dst_positive_product_prefix_tableT) = S ((S (dst_index_product_prefix_tableT)) * dst_positive_scale_product_prefix_tableT)) /\ exists ff_q_pvs_product_prefix_tableTentrypositive. dst_positive_code_product_prefix_tableT = ff_q_pvs_product_prefix_tableTentrypositive * S ((S (dst_index_product_prefix_tableT)) * dst_positive_scale_product_prefix_tableT) + (dst_positive_product_prefix_tableT))) /\ (((((exists ff_h_pvs_product_prefix_tableTentrynegative. ff_h_pvs_product_prefix_tableTentrynegative + S (dst_negative_product_prefix_tableT) = S ((S (dst_index_product_prefix_tableT)) * dst_negative_scale_product_prefix_tableT)) /\ exists ff_q_pvs_product_prefix_tableTentrynegative. dst_negative_code_product_prefix_tableT = ff_q_pvs_product_prefix_tableTentrynegative * S ((S (dst_index_product_prefix_tableT)) * dst_negative_scale_product_prefix_tableT) + (dst_negative_product_prefix_tableT))) /\ (exists ge_balance_positive_product_prefix_tableTentryvalue ge_balance_negative_product_prefix_tableTentryvalue. (((((dst_value_product_prefix_tableT) = 2 * (ge_balance_positive_product_prefix_tableTentryvalue) /\ (ge_balance_negative_product_prefix_tableTentryvalue) = 0) \/ exists ge_signed_half_product_prefix_tableTentryvaluedecode. (((dst_value_product_prefix_tableT) = 2 * ge_signed_half_product_prefix_tableTentryvaluedecode + 1 /\ (ge_balance_positive_product_prefix_tableTentryvalue) = 0) /\ (ge_balance_negative_product_prefix_tableTentryvalue) = S ge_signed_half_product_prefix_tableTentryvaluedecode))) /\ ((dst_positive_product_prefix_tableT) + ge_balance_negative_product_prefix_tableTentryvalue = (dst_negative_product_prefix_tableT) + ge_balance_positive_product_prefix_tableTentryvalue))))))))) /\ (forall scp_row_product_prefix_table scp_column_product_prefix_table scp_first_product_prefix_table scp_second_product_prefix_table scp_value_product_prefix_table. (exists pvs_gap_product_prefix_tablerows. pvs_gap_product_prefix_tablerows + S (scp_row_product_prefix_table) = (m)) -> (exists pvs_gap_product_prefix_tablecolumns. pvs_gap_product_prefix_tablecolumns + S (scp_column_product_prefix_table) = (n)) -> (exists dst_positive_code_product_prefix_tablefirst dst_positive_scale_product_prefix_tablefirst dst_negative_code_product_prefix_tablefirst dst_negative_scale_product_prefix_tablefirst dst_positive_product_prefix_tablefirst dst_negative_product_prefix_tablefirst. (((F) = (((((dst_positive_code_product_prefix_tablefirst) + (dst_positive_scale_product_prefix_tablefirst)) * S ((dst_positive_code_product_prefix_tablefirst) + (dst_positive_scale_product_prefix_tablefirst)) + ((dst_positive_scale_product_prefix_tablefirst) + (dst_positive_scale_product_prefix_tablefirst))) + (((dst_negative_code_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)) * S ((dst_negative_code_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)) + ((dst_negative_scale_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)))) * S ((((dst_positive_code_product_prefix_tablefirst) + (dst_positive_scale_product_prefix_tablefirst)) * S ((dst_positive_code_product_prefix_tablefirst) + (dst_positive_scale_product_prefix_tablefirst)) + ((dst_positive_scale_product_prefix_tablefirst) + (dst_positive_scale_product_prefix_tablefirst))) + (((dst_negative_code_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)) * S ((dst_negative_code_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)) + ((dst_negative_scale_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)))) + ((((dst_negative_code_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)) * S ((dst_negative_code_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)) + ((dst_negative_scale_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst))) + (((dst_negative_code_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)) * S ((dst_negative_code_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)) + ((dst_negative_scale_product_prefix_tablefirst) + (dst_negative_scale_product_prefix_tablefirst)))))) /\ (((((exists ff_h_pvs_product_prefix_tablefirstpositive. ff_h_pvs_product_prefix_tablefirstpositive + S (dst_positive_product_prefix_tablefirst) = S ((S (scp_row_product_prefix_table)) * dst_positive_scale_product_prefix_tablefirst)) /\ exists ff_q_pvs_product_prefix_tablefirstpositive. dst_positive_code_product_prefix_tablefirst = ff_q_pvs_product_prefix_tablefirstpositive * S ((S (scp_row_product_prefix_table)) * dst_positive_scale_product_prefix_tablefirst) + (dst_positive_product_prefix_tablefirst))) /\ (((((exists ff_h_pvs_product_prefix_tablefirstnegative. ff_h_pvs_product_prefix_tablefirstnegative + S (dst_negative_product_prefix_tablefirst) = S ((S (scp_row_product_prefix_table)) * dst_negative_scale_product_prefix_tablefirst)) /\ exists ff_q_pvs_product_prefix_tablefirstnegative. dst_negative_code_product_prefix_tablefirst = ff_q_pvs_product_prefix_tablefirstnegative * S ((S (scp_row_product_prefix_table)) * dst_negative_scale_product_prefix_tablefirst) + (dst_negative_product_prefix_tablefirst))) /\ (exists ge_balance_positive_product_prefix_tablefirstvalue ge_balance_negative_product_prefix_tablefirstvalue. (((((scp_first_product_prefix_table) = 2 * (ge_balance_positive_product_prefix_tablefirstvalue) /\ (ge_balance_negative_product_prefix_tablefirstvalue) = 0) \/ exists ge_signed_half_product_prefix_tablefirstvaluedecode. (((scp_first_product_prefix_table) = 2 * ge_signed_half_product_prefix_tablefirstvaluedecode + 1 /\ (ge_balance_positive_product_prefix_tablefirstvalue) = 0) /\ (ge_balance_negative_product_prefix_tablefirstvalue) = S ge_signed_half_product_prefix_tablefirstvaluedecode))) /\ ((dst_positive_product_prefix_tablefirst) + ge_balance_negative_product_prefix_tablefirstvalue = (dst_negative_product_prefix_tablefirst) + ge_balance_positive_product_prefix_tablefirstvalue))))))))) -> (exists dst_positive_code_product_prefix_tablesecond dst_positive_scale_product_prefix_tablesecond dst_negative_code_product_prefix_tablesecond dst_negative_scale_product_prefix_tablesecond dst_positive_product_prefix_tablesecond dst_negative_product_prefix_tablesecond. (((G) = (((((dst_positive_code_product_prefix_tablesecond) + (dst_positive_scale_product_prefix_tablesecond)) * S ((dst_positive_code_product_prefix_tablesecond) + (dst_positive_scale_product_prefix_tablesecond)) + ((dst_positive_scale_product_prefix_tablesecond) + (dst_positive_scale_product_prefix_tablesecond))) + (((dst_negative_code_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)) * S ((dst_negative_code_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)) + ((dst_negative_scale_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)))) * S ((((dst_positive_code_product_prefix_tablesecond) + (dst_positive_scale_product_prefix_tablesecond)) * S ((dst_positive_code_product_prefix_tablesecond) + (dst_positive_scale_product_prefix_tablesecond)) + ((dst_positive_scale_product_prefix_tablesecond) + (dst_positive_scale_product_prefix_tablesecond))) + (((dst_negative_code_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)) * S ((dst_negative_code_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)) + ((dst_negative_scale_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)))) + ((((dst_negative_code_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)) * S ((dst_negative_code_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)) + ((dst_negative_scale_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond))) + (((dst_negative_code_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)) * S ((dst_negative_code_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)) + ((dst_negative_scale_product_prefix_tablesecond) + (dst_negative_scale_product_prefix_tablesecond)))))) /\ (((((exists ff_h_pvs_product_prefix_tablesecondpositive. ff_h_pvs_product_prefix_tablesecondpositive + S (dst_positive_product_prefix_tablesecond) = S ((S (scp_column_product_prefix_table)) * dst_positive_scale_product_prefix_tablesecond)) /\ exists ff_q_pvs_product_prefix_tablesecondpositive. dst_positive_code_product_prefix_tablesecond = ff_q_pvs_product_prefix_tablesecondpositive * S ((S (scp_column_product_prefix_table)) * dst_positive_scale_product_prefix_tablesecond) + (dst_positive_product_prefix_tablesecond))) /\ (((((exists ff_h_pvs_product_prefix_tablesecondnegative. ff_h_pvs_product_prefix_tablesecondnegative + S (dst_negative_product_prefix_tablesecond) = S ((S (scp_column_product_prefix_table)) * dst_negative_scale_product_prefix_tablesecond)) /\ exists ff_q_pvs_product_prefix_tablesecondnegative. dst_negative_code_product_prefix_tablesecond = ff_q_pvs_product_prefix_tablesecondnegative * S ((S (scp_column_product_prefix_table)) * dst_negative_scale_product_prefix_tablesecond) + (dst_negative_product_prefix_tablesecond))) /\ (exists ge_balance_positive_product_prefix_tablesecondvalue ge_balance_negative_product_prefix_tablesecondvalue. (((((scp_second_product_prefix_table) = 2 * (ge_balance_positive_product_prefix_tablesecondvalue) /\ (ge_balance_negative_product_prefix_tablesecondvalue) = 0) \/ exists ge_signed_half_product_prefix_tablesecondvaluedecode. (((scp_second_product_prefix_table) = 2 * ge_signed_half_product_prefix_tablesecondvaluedecode + 1 /\ (ge_balance_positive_product_prefix_tablesecondvalue) = 0) /\ (ge_balance_negative_product_prefix_tablesecondvalue) = S ge_signed_half_product_prefix_tablesecondvaluedecode))) /\ ((dst_positive_product_prefix_tablesecond) + ge_balance_negative_product_prefix_tablesecondvalue = (dst_negative_product_prefix_tablesecond) + ge_balance_positive_product_prefix_tablesecondvalue))))))))) -> (exists dst_positive_code_product_prefix_tableentry dst_positive_scale_product_prefix_tableentry dst_negative_code_product_prefix_tableentry dst_negative_scale_product_prefix_tableentry dst_positive_product_prefix_tableentry dst_negative_product_prefix_tableentry. (((T) = (((((dst_positive_code_product_prefix_tableentry) + (dst_positive_scale_product_prefix_tableentry)) * S ((dst_positive_code_product_prefix_tableentry) + (dst_positive_scale_product_prefix_tableentry)) + ((dst_positive_scale_product_prefix_tableentry) + (dst_positive_scale_product_prefix_tableentry))) + (((dst_negative_code_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)) * S ((dst_negative_code_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)) + ((dst_negative_scale_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)))) * S ((((dst_positive_code_product_prefix_tableentry) + (dst_positive_scale_product_prefix_tableentry)) * S ((dst_positive_code_product_prefix_tableentry) + (dst_positive_scale_product_prefix_tableentry)) + ((dst_positive_scale_product_prefix_tableentry) + (dst_positive_scale_product_prefix_tableentry))) + (((dst_negative_code_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)) * S ((dst_negative_code_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)) + ((dst_negative_scale_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)))) + ((((dst_negative_code_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)) * S ((dst_negative_code_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)) + ((dst_negative_scale_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry))) + (((dst_negative_code_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)) * S ((dst_negative_code_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)) + ((dst_negative_scale_product_prefix_tableentry) + (dst_negative_scale_product_prefix_tableentry)))))) /\ (((((exists ff_h_pvs_product_prefix_tableentrypositive. ff_h_pvs_product_prefix_tableentrypositive + S (dst_positive_product_prefix_tableentry) = S ((S (((n)*(scp_row_product_prefix_table)+(scp_column_product_prefix_table)))) * dst_positive_scale_product_prefix_tableentry)) /\ exists ff_q_pvs_product_prefix_tableentrypositive. dst_positive_code_product_prefix_tableentry = ff_q_pvs_product_prefix_tableentrypositive * S ((S (((n)*(scp_row_product_prefix_table)+(scp_column_product_prefix_table)))) * dst_positive_scale_product_prefix_tableentry) + (dst_positive_product_prefix_tableentry))) /\ (((((exists ff_h_pvs_product_prefix_tableentrynegative. ff_h_pvs_product_prefix_tableentrynegative + S (dst_negative_product_prefix_tableentry) = S ((S (((n)*(scp_row_product_prefix_table)+(scp_column_product_prefix_table)))) * dst_negative_scale_product_prefix_tableentry)) /\ exists ff_q_pvs_product_prefix_tableentrynegative. dst_negative_code_product_prefix_tableentry = ff_q_pvs_product_prefix_tableentrynegative * S ((S (((n)*(scp_row_product_prefix_table)+(scp_column_product_prefix_table)))) * dst_negative_scale_product_prefix_tableentry) + (dst_negative_product_prefix_tableentry))) /\ (exists ge_balance_positive_product_prefix_tableentryvalue ge_balance_negative_product_prefix_tableentryvalue. (((((scp_value_product_prefix_table) = 2 * (ge_balance_positive_product_prefix_tableentryvalue) /\ (ge_balance_negative_product_prefix_tableentryvalue) = 0) \/ exists ge_signed_half_product_prefix_tableentryvaluedecode. (((scp_value_product_prefix_table) = 2 * ge_signed_half_product_prefix_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_prefix_tableentryvalue) = 0) /\ (ge_balance_negative_product_prefix_tableentryvalue) = S ge_signed_half_product_prefix_tableentryvaluedecode))) /\ ((dst_positive_product_prefix_tableentry) + ge_balance_negative_product_prefix_tableentryvalue = (dst_negative_product_prefix_tableentry) + ge_balance_positive_product_prefix_tableentryvalue))))))))) -> (exists sto_ap_product_prefix_tablemultiply sto_an_product_prefix_tablemultiply sto_bp_product_prefix_tablemultiply sto_bn_product_prefix_tablemultiply sto_cp_product_prefix_tablemultiply sto_cn_product_prefix_tablemultiply. (((((scp_first_product_prefix_table) = 2 * (sto_ap_product_prefix_tablemultiply) /\ (sto_an_product_prefix_tablemultiply) = 0) \/ exists ge_signed_half_product_prefix_tablemultiplyleft. (((scp_first_product_prefix_table) = 2 * ge_signed_half_product_prefix_tablemultiplyleft + 1 /\ (sto_ap_product_prefix_tablemultiply) = 0) /\ (sto_an_product_prefix_tablemultiply) = S ge_signed_half_product_prefix_tablemultiplyleft))) /\ ((((((scp_second_product_prefix_table) = 2 * (sto_bp_product_prefix_tablemultiply) /\ (sto_bn_product_prefix_tablemultiply) = 0) \/ exists ge_signed_half_product_prefix_tablemultiplyright. (((scp_second_product_prefix_table) = 2 * ge_signed_half_product_prefix_tablemultiplyright + 1 /\ (sto_bp_product_prefix_tablemultiply) = 0) /\ (sto_bn_product_prefix_tablemultiply) = S ge_signed_half_product_prefix_tablemultiplyright))) /\ ((((((scp_value_product_prefix_table) = 2 * (sto_cp_product_prefix_tablemultiply) /\ (sto_cn_product_prefix_tablemultiply) = 0) \/ exists ge_signed_half_product_prefix_tablemultiplyoutput. (((scp_value_product_prefix_table) = 2 * ge_signed_half_product_prefix_tablemultiplyoutput + 1 /\ (sto_cp_product_prefix_tablemultiply) = 0) /\ (sto_cn_product_prefix_tablemultiply) = S ge_signed_half_product_prefix_tablemultiplyoutput))) /\ ((sto_ap_product_prefix_tablemultiply * sto_bp_product_prefix_tablemultiply + sto_an_product_prefix_tablemultiply * sto_bn_product_prefix_tablemultiply) + sto_cn_product_prefix_tablemultiply = (sto_ap_product_prefix_tablemultiply * sto_bn_product_prefix_tablemultiply + sto_an_product_prefix_tablemultiply * sto_bp_product_prefix_tablemultiply) + sto_cp_product_prefix_tablemultiply)))))))))))))) -> (exists dst_positive_code_product_prefix_first dst_positive_scale_product_prefix_first dst_negative_code_product_prefix_first dst_negative_scale_product_prefix_first dst_positive_sum_product_prefix_first dst_negative_sum_product_prefix_first. (((F) = (((((dst_positive_code_product_prefix_first) + (dst_positive_scale_product_prefix_first)) * S ((dst_positive_code_product_prefix_first) + (dst_positive_scale_product_prefix_first)) + ((dst_positive_scale_product_prefix_first) + (dst_positive_scale_product_prefix_first))) + (((dst_negative_code_product_prefix_first) + (dst_negative_scale_product_prefix_first)) * S ((dst_negative_code_product_prefix_first) + (dst_negative_scale_product_prefix_first)) + ((dst_negative_scale_product_prefix_first) + (dst_negative_scale_product_prefix_first)))) * S ((((dst_positive_code_product_prefix_first) + (dst_positive_scale_product_prefix_first)) * S ((dst_positive_code_product_prefix_first) + (dst_positive_scale_product_prefix_first)) + ((dst_positive_scale_product_prefix_first) + (dst_positive_scale_product_prefix_first))) + (((dst_negative_code_product_prefix_first) + (dst_negative_scale_product_prefix_first)) * S ((dst_negative_code_product_prefix_first) + (dst_negative_scale_product_prefix_first)) + ((dst_negative_scale_product_prefix_first) + (dst_negative_scale_product_prefix_first)))) + ((((dst_negative_code_product_prefix_first) + (dst_negative_scale_product_prefix_first)) * S ((dst_negative_code_product_prefix_first) + (dst_negative_scale_product_prefix_first)) + ((dst_negative_scale_product_prefix_first) + (dst_negative_scale_product_prefix_first))) + (((dst_negative_code_product_prefix_first) + (dst_negative_scale_product_prefix_first)) * S ((dst_negative_code_product_prefix_first) + (dst_negative_scale_product_prefix_first)) + ((dst_negative_scale_product_prefix_first) + (dst_negative_scale_product_prefix_first)))))) /\ (((exists fs_u_dst_product_prefix_firstpositive fs_v_dst_product_prefix_firstpositive. ((((exists fs_h_dst_product_prefix_firstpositive_body_start. fs_h_dst_product_prefix_firstpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_prefix_firstpositive)) /\ exists fs_q_dst_product_prefix_firstpositive_body_start. fs_u_dst_product_prefix_firstpositive = fs_q_dst_product_prefix_firstpositive_body_start * S ((S (0)) * fs_v_dst_product_prefix_firstpositive) + (0))) /\ ((((exists fs_h_dst_product_prefix_firstpositive_body_terminal. fs_h_dst_product_prefix_firstpositive_body_terminal + S (dst_positive_sum_product_prefix_first) = S ((S (m)) * fs_v_dst_product_prefix_firstpositive)) /\ exists fs_q_dst_product_prefix_firstpositive_body_terminal. fs_u_dst_product_prefix_firstpositive = fs_q_dst_product_prefix_firstpositive_body_terminal * S ((S (m)) * fs_v_dst_product_prefix_firstpositive) + (dst_positive_sum_product_prefix_first))) /\ forall fs_i_dst_product_prefix_firstpositive_body_steps. (exists fs_lt_dst_product_prefix_firstpositive_body_steps_bound. fs_lt_dst_product_prefix_firstpositive_body_steps_bound + S fs_i_dst_product_prefix_firstpositive_body_steps = m) -> exists fs_a_dst_product_prefix_firstpositive_body_steps fs_r_dst_product_prefix_firstpositive_body_steps fs_s_dst_product_prefix_firstpositive_body_steps. ((((exists fs_h_dst_product_prefix_firstpositive_body_steps_summand. fs_h_dst_product_prefix_firstpositive_body_steps_summand + S (fs_a_dst_product_prefix_firstpositive_body_steps) = S ((S (fs_i_dst_product_prefix_firstpositive_body_steps)) * dst_positive_scale_product_prefix_first)) /\ exists fs_q_dst_product_prefix_firstpositive_body_steps_summand. dst_positive_code_product_prefix_first = fs_q_dst_product_prefix_firstpositive_body_steps_summand * S ((S (fs_i_dst_product_prefix_firstpositive_body_steps)) * dst_positive_scale_product_prefix_first) + (fs_a_dst_product_prefix_firstpositive_body_steps))) /\ ((((exists fs_h_dst_product_prefix_firstpositive_body_steps_partial. fs_h_dst_product_prefix_firstpositive_body_steps_partial + S (fs_r_dst_product_prefix_firstpositive_body_steps) = S ((S (fs_i_dst_product_prefix_firstpositive_body_steps)) * fs_v_dst_product_prefix_firstpositive)) /\ exists fs_q_dst_product_prefix_firstpositive_body_steps_partial. fs_u_dst_product_prefix_firstpositive = fs_q_dst_product_prefix_firstpositive_body_steps_partial * S ((S (fs_i_dst_product_prefix_firstpositive_body_steps)) * fs_v_dst_product_prefix_firstpositive) + (fs_r_dst_product_prefix_firstpositive_body_steps))) /\ ((((exists fs_h_dst_product_prefix_firstpositive_body_steps_successor. fs_h_dst_product_prefix_firstpositive_body_steps_successor + S (fs_s_dst_product_prefix_firstpositive_body_steps) = S ((S (S fs_i_dst_product_prefix_firstpositive_body_steps)) * fs_v_dst_product_prefix_firstpositive)) /\ exists fs_q_dst_product_prefix_firstpositive_body_steps_successor. fs_u_dst_product_prefix_firstpositive = fs_q_dst_product_prefix_firstpositive_body_steps_successor * S ((S (S fs_i_dst_product_prefix_firstpositive_body_steps)) * fs_v_dst_product_prefix_firstpositive) + (fs_s_dst_product_prefix_firstpositive_body_steps))) /\ fs_s_dst_product_prefix_firstpositive_body_steps = fs_r_dst_product_prefix_firstpositive_body_steps + fs_a_dst_product_prefix_firstpositive_body_steps)))))) /\ (((exists fs_u_dst_product_prefix_firstnegative fs_v_dst_product_prefix_firstnegative. ((((exists fs_h_dst_product_prefix_firstnegative_body_start. fs_h_dst_product_prefix_firstnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_prefix_firstnegative)) /\ exists fs_q_dst_product_prefix_firstnegative_body_start. fs_u_dst_product_prefix_firstnegative = fs_q_dst_product_prefix_firstnegative_body_start * S ((S (0)) * fs_v_dst_product_prefix_firstnegative) + (0))) /\ ((((exists fs_h_dst_product_prefix_firstnegative_body_terminal. fs_h_dst_product_prefix_firstnegative_body_terminal + S (dst_negative_sum_product_prefix_first) = S ((S (m)) * fs_v_dst_product_prefix_firstnegative)) /\ exists fs_q_dst_product_prefix_firstnegative_body_terminal. fs_u_dst_product_prefix_firstnegative = fs_q_dst_product_prefix_firstnegative_body_terminal * S ((S (m)) * fs_v_dst_product_prefix_firstnegative) + (dst_negative_sum_product_prefix_first))) /\ forall fs_i_dst_product_prefix_firstnegative_body_steps. (exists fs_lt_dst_product_prefix_firstnegative_body_steps_bound. fs_lt_dst_product_prefix_firstnegative_body_steps_bound + S fs_i_dst_product_prefix_firstnegative_body_steps = m) -> exists fs_a_dst_product_prefix_firstnegative_body_steps fs_r_dst_product_prefix_firstnegative_body_steps fs_s_dst_product_prefix_firstnegative_body_steps. ((((exists fs_h_dst_product_prefix_firstnegative_body_steps_summand. fs_h_dst_product_prefix_firstnegative_body_steps_summand + S (fs_a_dst_product_prefix_firstnegative_body_steps) = S ((S (fs_i_dst_product_prefix_firstnegative_body_steps)) * dst_negative_scale_product_prefix_first)) /\ exists fs_q_dst_product_prefix_firstnegative_body_steps_summand. dst_negative_code_product_prefix_first = fs_q_dst_product_prefix_firstnegative_body_steps_summand * S ((S (fs_i_dst_product_prefix_firstnegative_body_steps)) * dst_negative_scale_product_prefix_first) + (fs_a_dst_product_prefix_firstnegative_body_steps))) /\ ((((exists fs_h_dst_product_prefix_firstnegative_body_steps_partial. fs_h_dst_product_prefix_firstnegative_body_steps_partial + S (fs_r_dst_product_prefix_firstnegative_body_steps) = S ((S (fs_i_dst_product_prefix_firstnegative_body_steps)) * fs_v_dst_product_prefix_firstnegative)) /\ exists fs_q_dst_product_prefix_firstnegative_body_steps_partial. fs_u_dst_product_prefix_firstnegative = fs_q_dst_product_prefix_firstnegative_body_steps_partial * S ((S (fs_i_dst_product_prefix_firstnegative_body_steps)) * fs_v_dst_product_prefix_firstnegative) + (fs_r_dst_product_prefix_firstnegative_body_steps))) /\ ((((exists fs_h_dst_product_prefix_firstnegative_body_steps_successor. fs_h_dst_product_prefix_firstnegative_body_steps_successor + S (fs_s_dst_product_prefix_firstnegative_body_steps) = S ((S (S fs_i_dst_product_prefix_firstnegative_body_steps)) * fs_v_dst_product_prefix_firstnegative)) /\ exists fs_q_dst_product_prefix_firstnegative_body_steps_successor. fs_u_dst_product_prefix_firstnegative = fs_q_dst_product_prefix_firstnegative_body_steps_successor * S ((S (S fs_i_dst_product_prefix_firstnegative_body_steps)) * fs_v_dst_product_prefix_firstnegative) + (fs_s_dst_product_prefix_firstnegative_body_steps))) /\ fs_s_dst_product_prefix_firstnegative_body_steps = fs_r_dst_product_prefix_firstnegative_body_steps + fs_a_dst_product_prefix_firstnegative_body_steps)))))) /\ (exists ge_balance_positive_product_prefix_firstresult ge_balance_negative_product_prefix_firstresult. (((((a) = 2 * (ge_balance_positive_product_prefix_firstresult) /\ (ge_balance_negative_product_prefix_firstresult) = 0) \/ exists ge_signed_half_product_prefix_firstresultdecode. (((a) = 2 * ge_signed_half_product_prefix_firstresultdecode + 1 /\ (ge_balance_positive_product_prefix_firstresult) = 0) /\ (ge_balance_negative_product_prefix_firstresult) = S ge_signed_half_product_prefix_firstresultdecode))) /\ ((dst_positive_sum_product_prefix_first) + ge_balance_negative_product_prefix_firstresult = (dst_negative_sum_product_prefix_first) + ge_balance_positive_product_prefix_firstresult))))))))) -> (exists dst_positive_code_product_prefix_second dst_positive_scale_product_prefix_second dst_negative_code_product_prefix_second dst_negative_scale_product_prefix_second dst_positive_sum_product_prefix_second dst_negative_sum_product_prefix_second. (((G) = (((((dst_positive_code_product_prefix_second) + (dst_positive_scale_product_prefix_second)) * S ((dst_positive_code_product_prefix_second) + (dst_positive_scale_product_prefix_second)) + ((dst_positive_scale_product_prefix_second) + (dst_positive_scale_product_prefix_second))) + (((dst_negative_code_product_prefix_second) + (dst_negative_scale_product_prefix_second)) * S ((dst_negative_code_product_prefix_second) + (dst_negative_scale_product_prefix_second)) + ((dst_negative_scale_product_prefix_second) + (dst_negative_scale_product_prefix_second)))) * S ((((dst_positive_code_product_prefix_second) + (dst_positive_scale_product_prefix_second)) * S ((dst_positive_code_product_prefix_second) + (dst_positive_scale_product_prefix_second)) + ((dst_positive_scale_product_prefix_second) + (dst_positive_scale_product_prefix_second))) + (((dst_negative_code_product_prefix_second) + (dst_negative_scale_product_prefix_second)) * S ((dst_negative_code_product_prefix_second) + (dst_negative_scale_product_prefix_second)) + ((dst_negative_scale_product_prefix_second) + (dst_negative_scale_product_prefix_second)))) + ((((dst_negative_code_product_prefix_second) + (dst_negative_scale_product_prefix_second)) * S ((dst_negative_code_product_prefix_second) + (dst_negative_scale_product_prefix_second)) + ((dst_negative_scale_product_prefix_second) + (dst_negative_scale_product_prefix_second))) + (((dst_negative_code_product_prefix_second) + (dst_negative_scale_product_prefix_second)) * S ((dst_negative_code_product_prefix_second) + (dst_negative_scale_product_prefix_second)) + ((dst_negative_scale_product_prefix_second) + (dst_negative_scale_product_prefix_second)))))) /\ (((exists fs_u_dst_product_prefix_secondpositive fs_v_dst_product_prefix_secondpositive. ((((exists fs_h_dst_product_prefix_secondpositive_body_start. fs_h_dst_product_prefix_secondpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_prefix_secondpositive)) /\ exists fs_q_dst_product_prefix_secondpositive_body_start. fs_u_dst_product_prefix_secondpositive = fs_q_dst_product_prefix_secondpositive_body_start * S ((S (0)) * fs_v_dst_product_prefix_secondpositive) + (0))) /\ ((((exists fs_h_dst_product_prefix_secondpositive_body_terminal. fs_h_dst_product_prefix_secondpositive_body_terminal + S (dst_positive_sum_product_prefix_second) = S ((S (n)) * fs_v_dst_product_prefix_secondpositive)) /\ exists fs_q_dst_product_prefix_secondpositive_body_terminal. fs_u_dst_product_prefix_secondpositive = fs_q_dst_product_prefix_secondpositive_body_terminal * S ((S (n)) * fs_v_dst_product_prefix_secondpositive) + (dst_positive_sum_product_prefix_second))) /\ forall fs_i_dst_product_prefix_secondpositive_body_steps. (exists fs_lt_dst_product_prefix_secondpositive_body_steps_bound. fs_lt_dst_product_prefix_secondpositive_body_steps_bound + S fs_i_dst_product_prefix_secondpositive_body_steps = n) -> exists fs_a_dst_product_prefix_secondpositive_body_steps fs_r_dst_product_prefix_secondpositive_body_steps fs_s_dst_product_prefix_secondpositive_body_steps. ((((exists fs_h_dst_product_prefix_secondpositive_body_steps_summand. fs_h_dst_product_prefix_secondpositive_body_steps_summand + S (fs_a_dst_product_prefix_secondpositive_body_steps) = S ((S (fs_i_dst_product_prefix_secondpositive_body_steps)) * dst_positive_scale_product_prefix_second)) /\ exists fs_q_dst_product_prefix_secondpositive_body_steps_summand. dst_positive_code_product_prefix_second = fs_q_dst_product_prefix_secondpositive_body_steps_summand * S ((S (fs_i_dst_product_prefix_secondpositive_body_steps)) * dst_positive_scale_product_prefix_second) + (fs_a_dst_product_prefix_secondpositive_body_steps))) /\ ((((exists fs_h_dst_product_prefix_secondpositive_body_steps_partial. fs_h_dst_product_prefix_secondpositive_body_steps_partial + S (fs_r_dst_product_prefix_secondpositive_body_steps) = S ((S (fs_i_dst_product_prefix_secondpositive_body_steps)) * fs_v_dst_product_prefix_secondpositive)) /\ exists fs_q_dst_product_prefix_secondpositive_body_steps_partial. fs_u_dst_product_prefix_secondpositive = fs_q_dst_product_prefix_secondpositive_body_steps_partial * S ((S (fs_i_dst_product_prefix_secondpositive_body_steps)) * fs_v_dst_product_prefix_secondpositive) + (fs_r_dst_product_prefix_secondpositive_body_steps))) /\ ((((exists fs_h_dst_product_prefix_secondpositive_body_steps_successor. fs_h_dst_product_prefix_secondpositive_body_steps_successor + S (fs_s_dst_product_prefix_secondpositive_body_steps) = S ((S (S fs_i_dst_product_prefix_secondpositive_body_steps)) * fs_v_dst_product_prefix_secondpositive)) /\ exists fs_q_dst_product_prefix_secondpositive_body_steps_successor. fs_u_dst_product_prefix_secondpositive = fs_q_dst_product_prefix_secondpositive_body_steps_successor * S ((S (S fs_i_dst_product_prefix_secondpositive_body_steps)) * fs_v_dst_product_prefix_secondpositive) + (fs_s_dst_product_prefix_secondpositive_body_steps))) /\ fs_s_dst_product_prefix_secondpositive_body_steps = fs_r_dst_product_prefix_secondpositive_body_steps + fs_a_dst_product_prefix_secondpositive_body_steps)))))) /\ (((exists fs_u_dst_product_prefix_secondnegative fs_v_dst_product_prefix_secondnegative. ((((exists fs_h_dst_product_prefix_secondnegative_body_start. fs_h_dst_product_prefix_secondnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_prefix_secondnegative)) /\ exists fs_q_dst_product_prefix_secondnegative_body_start. fs_u_dst_product_prefix_secondnegative = fs_q_dst_product_prefix_secondnegative_body_start * S ((S (0)) * fs_v_dst_product_prefix_secondnegative) + (0))) /\ ((((exists fs_h_dst_product_prefix_secondnegative_body_terminal. fs_h_dst_product_prefix_secondnegative_body_terminal + S (dst_negative_sum_product_prefix_second) = S ((S (n)) * fs_v_dst_product_prefix_secondnegative)) /\ exists fs_q_dst_product_prefix_secondnegative_body_terminal. fs_u_dst_product_prefix_secondnegative = fs_q_dst_product_prefix_secondnegative_body_terminal * S ((S (n)) * fs_v_dst_product_prefix_secondnegative) + (dst_negative_sum_product_prefix_second))) /\ forall fs_i_dst_product_prefix_secondnegative_body_steps. (exists fs_lt_dst_product_prefix_secondnegative_body_steps_bound. fs_lt_dst_product_prefix_secondnegative_body_steps_bound + S fs_i_dst_product_prefix_secondnegative_body_steps = n) -> exists fs_a_dst_product_prefix_secondnegative_body_steps fs_r_dst_product_prefix_secondnegative_body_steps fs_s_dst_product_prefix_secondnegative_body_steps. ((((exists fs_h_dst_product_prefix_secondnegative_body_steps_summand. fs_h_dst_product_prefix_secondnegative_body_steps_summand + S (fs_a_dst_product_prefix_secondnegative_body_steps) = S ((S (fs_i_dst_product_prefix_secondnegative_body_steps)) * dst_negative_scale_product_prefix_second)) /\ exists fs_q_dst_product_prefix_secondnegative_body_steps_summand. dst_negative_code_product_prefix_second = fs_q_dst_product_prefix_secondnegative_body_steps_summand * S ((S (fs_i_dst_product_prefix_secondnegative_body_steps)) * dst_negative_scale_product_prefix_second) + (fs_a_dst_product_prefix_secondnegative_body_steps))) /\ ((((exists fs_h_dst_product_prefix_secondnegative_body_steps_partial. fs_h_dst_product_prefix_secondnegative_body_steps_partial + S (fs_r_dst_product_prefix_secondnegative_body_steps) = S ((S (fs_i_dst_product_prefix_secondnegative_body_steps)) * fs_v_dst_product_prefix_secondnegative)) /\ exists fs_q_dst_product_prefix_secondnegative_body_steps_partial. fs_u_dst_product_prefix_secondnegative = fs_q_dst_product_prefix_secondnegative_body_steps_partial * S ((S (fs_i_dst_product_prefix_secondnegative_body_steps)) * fs_v_dst_product_prefix_secondnegative) + (fs_r_dst_product_prefix_secondnegative_body_steps))) /\ ((((exists fs_h_dst_product_prefix_secondnegative_body_steps_successor. fs_h_dst_product_prefix_secondnegative_body_steps_successor + S (fs_s_dst_product_prefix_secondnegative_body_steps) = S ((S (S fs_i_dst_product_prefix_secondnegative_body_steps)) * fs_v_dst_product_prefix_secondnegative)) /\ exists fs_q_dst_product_prefix_secondnegative_body_steps_successor. fs_u_dst_product_prefix_secondnegative = fs_q_dst_product_prefix_secondnegative_body_steps_successor * S ((S (S fs_i_dst_product_prefix_secondnegative_body_steps)) * fs_v_dst_product_prefix_secondnegative) + (fs_s_dst_product_prefix_secondnegative_body_steps))) /\ fs_s_dst_product_prefix_secondnegative_body_steps = fs_r_dst_product_prefix_secondnegative_body_steps + fs_a_dst_product_prefix_secondnegative_body_steps)))))) /\ (exists ge_balance_positive_product_prefix_secondresult ge_balance_negative_product_prefix_secondresult. (((((b) = 2 * (ge_balance_positive_product_prefix_secondresult) /\ (ge_balance_negative_product_prefix_secondresult) = 0) \/ exists ge_signed_half_product_prefix_secondresultdecode. (((b) = 2 * ge_signed_half_product_prefix_secondresultdecode + 1 /\ (ge_balance_positive_product_prefix_secondresult) = 0) /\ (ge_balance_negative_product_prefix_secondresult) = S ge_signed_half_product_prefix_secondresultdecode))) /\ ((dst_positive_sum_product_prefix_second) + ge_balance_negative_product_prefix_secondresult = (dst_negative_sum_product_prefix_second) + ge_balance_positive_product_prefix_secondresult))))))))) -> (exists dst_positive_code_product_prefix_total dst_positive_scale_product_prefix_total dst_negative_code_product_prefix_total dst_negative_scale_product_prefix_total dst_positive_sum_product_prefix_total dst_negative_sum_product_prefix_total. (((T) = (((((dst_positive_code_product_prefix_total) + (dst_positive_scale_product_prefix_total)) * S ((dst_positive_code_product_prefix_total) + (dst_positive_scale_product_prefix_total)) + ((dst_positive_scale_product_prefix_total) + (dst_positive_scale_product_prefix_total))) + (((dst_negative_code_product_prefix_total) + (dst_negative_scale_product_prefix_total)) * S ((dst_negative_code_product_prefix_total) + (dst_negative_scale_product_prefix_total)) + ((dst_negative_scale_product_prefix_total) + (dst_negative_scale_product_prefix_total)))) * S ((((dst_positive_code_product_prefix_total) + (dst_positive_scale_product_prefix_total)) * S ((dst_positive_code_product_prefix_total) + (dst_positive_scale_product_prefix_total)) + ((dst_positive_scale_product_prefix_total) + (dst_positive_scale_product_prefix_total))) + (((dst_negative_code_product_prefix_total) + (dst_negative_scale_product_prefix_total)) * S ((dst_negative_code_product_prefix_total) + (dst_negative_scale_product_prefix_total)) + ((dst_negative_scale_product_prefix_total) + (dst_negative_scale_product_prefix_total)))) + ((((dst_negative_code_product_prefix_total) + (dst_negative_scale_product_prefix_total)) * S ((dst_negative_code_product_prefix_total) + (dst_negative_scale_product_prefix_total)) + ((dst_negative_scale_product_prefix_total) + (dst_negative_scale_product_prefix_total))) + (((dst_negative_code_product_prefix_total) + (dst_negative_scale_product_prefix_total)) * S ((dst_negative_code_product_prefix_total) + (dst_negative_scale_product_prefix_total)) + ((dst_negative_scale_product_prefix_total) + (dst_negative_scale_product_prefix_total)))))) /\ (((exists fs_u_dst_product_prefix_totalpositive fs_v_dst_product_prefix_totalpositive. ((((exists fs_h_dst_product_prefix_totalpositive_body_start. fs_h_dst_product_prefix_totalpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_prefix_totalpositive)) /\ exists fs_q_dst_product_prefix_totalpositive_body_start. fs_u_dst_product_prefix_totalpositive = fs_q_dst_product_prefix_totalpositive_body_start * S ((S (0)) * fs_v_dst_product_prefix_totalpositive) + (0))) /\ ((((exists fs_h_dst_product_prefix_totalpositive_body_terminal. fs_h_dst_product_prefix_totalpositive_body_terminal + S (dst_positive_sum_product_prefix_total) = S ((S (m*n)) * fs_v_dst_product_prefix_totalpositive)) /\ exists fs_q_dst_product_prefix_totalpositive_body_terminal. fs_u_dst_product_prefix_totalpositive = fs_q_dst_product_prefix_totalpositive_body_terminal * S ((S (m*n)) * fs_v_dst_product_prefix_totalpositive) + (dst_positive_sum_product_prefix_total))) /\ forall fs_i_dst_product_prefix_totalpositive_body_steps. (exists fs_lt_dst_product_prefix_totalpositive_body_steps_bound. fs_lt_dst_product_prefix_totalpositive_body_steps_bound + S fs_i_dst_product_prefix_totalpositive_body_steps = m*n) -> exists fs_a_dst_product_prefix_totalpositive_body_steps fs_r_dst_product_prefix_totalpositive_body_steps fs_s_dst_product_prefix_totalpositive_body_steps. ((((exists fs_h_dst_product_prefix_totalpositive_body_steps_summand. fs_h_dst_product_prefix_totalpositive_body_steps_summand + S (fs_a_dst_product_prefix_totalpositive_body_steps) = S ((S (fs_i_dst_product_prefix_totalpositive_body_steps)) * dst_positive_scale_product_prefix_total)) /\ exists fs_q_dst_product_prefix_totalpositive_body_steps_summand. dst_positive_code_product_prefix_total = fs_q_dst_product_prefix_totalpositive_body_steps_summand * S ((S (fs_i_dst_product_prefix_totalpositive_body_steps)) * dst_positive_scale_product_prefix_total) + (fs_a_dst_product_prefix_totalpositive_body_steps))) /\ ((((exists fs_h_dst_product_prefix_totalpositive_body_steps_partial. fs_h_dst_product_prefix_totalpositive_body_steps_partial + S (fs_r_dst_product_prefix_totalpositive_body_steps) = S ((S (fs_i_dst_product_prefix_totalpositive_body_steps)) * fs_v_dst_product_prefix_totalpositive)) /\ exists fs_q_dst_product_prefix_totalpositive_body_steps_partial. fs_u_dst_product_prefix_totalpositive = fs_q_dst_product_prefix_totalpositive_body_steps_partial * S ((S (fs_i_dst_product_prefix_totalpositive_body_steps)) * fs_v_dst_product_prefix_totalpositive) + (fs_r_dst_product_prefix_totalpositive_body_steps))) /\ ((((exists fs_h_dst_product_prefix_totalpositive_body_steps_successor. fs_h_dst_product_prefix_totalpositive_body_steps_successor + S (fs_s_dst_product_prefix_totalpositive_body_steps) = S ((S (S fs_i_dst_product_prefix_totalpositive_body_steps)) * fs_v_dst_product_prefix_totalpositive)) /\ exists fs_q_dst_product_prefix_totalpositive_body_steps_successor. fs_u_dst_product_prefix_totalpositive = fs_q_dst_product_prefix_totalpositive_body_steps_successor * S ((S (S fs_i_dst_product_prefix_totalpositive_body_steps)) * fs_v_dst_product_prefix_totalpositive) + (fs_s_dst_product_prefix_totalpositive_body_steps))) /\ fs_s_dst_product_prefix_totalpositive_body_steps = fs_r_dst_product_prefix_totalpositive_body_steps + fs_a_dst_product_prefix_totalpositive_body_steps)))))) /\ (((exists fs_u_dst_product_prefix_totalnegative fs_v_dst_product_prefix_totalnegative. ((((exists fs_h_dst_product_prefix_totalnegative_body_start. fs_h_dst_product_prefix_totalnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_prefix_totalnegative)) /\ exists fs_q_dst_product_prefix_totalnegative_body_start. fs_u_dst_product_prefix_totalnegative = fs_q_dst_product_prefix_totalnegative_body_start * S ((S (0)) * fs_v_dst_product_prefix_totalnegative) + (0))) /\ ((((exists fs_h_dst_product_prefix_totalnegative_body_terminal. fs_h_dst_product_prefix_totalnegative_body_terminal + S (dst_negative_sum_product_prefix_total) = S ((S (m*n)) * fs_v_dst_product_prefix_totalnegative)) /\ exists fs_q_dst_product_prefix_totalnegative_body_terminal. fs_u_dst_product_prefix_totalnegative = fs_q_dst_product_prefix_totalnegative_body_terminal * S ((S (m*n)) * fs_v_dst_product_prefix_totalnegative) + (dst_negative_sum_product_prefix_total))) /\ forall fs_i_dst_product_prefix_totalnegative_body_steps. (exists fs_lt_dst_product_prefix_totalnegative_body_steps_bound. fs_lt_dst_product_prefix_totalnegative_body_steps_bound + S fs_i_dst_product_prefix_totalnegative_body_steps = m*n) -> exists fs_a_dst_product_prefix_totalnegative_body_steps fs_r_dst_product_prefix_totalnegative_body_steps fs_s_dst_product_prefix_totalnegative_body_steps. ((((exists fs_h_dst_product_prefix_totalnegative_body_steps_summand. fs_h_dst_product_prefix_totalnegative_body_steps_summand + S (fs_a_dst_product_prefix_totalnegative_body_steps) = S ((S (fs_i_dst_product_prefix_totalnegative_body_steps)) * dst_negative_scale_product_prefix_total)) /\ exists fs_q_dst_product_prefix_totalnegative_body_steps_summand. dst_negative_code_product_prefix_total = fs_q_dst_product_prefix_totalnegative_body_steps_summand * S ((S (fs_i_dst_product_prefix_totalnegative_body_steps)) * dst_negative_scale_product_prefix_total) + (fs_a_dst_product_prefix_totalnegative_body_steps))) /\ ((((exists fs_h_dst_product_prefix_totalnegative_body_steps_partial. fs_h_dst_product_prefix_totalnegative_body_steps_partial + S (fs_r_dst_product_prefix_totalnegative_body_steps) = S ((S (fs_i_dst_product_prefix_totalnegative_body_steps)) * fs_v_dst_product_prefix_totalnegative)) /\ exists fs_q_dst_product_prefix_totalnegative_body_steps_partial. fs_u_dst_product_prefix_totalnegative = fs_q_dst_product_prefix_totalnegative_body_steps_partial * S ((S (fs_i_dst_product_prefix_totalnegative_body_steps)) * fs_v_dst_product_prefix_totalnegative) + (fs_r_dst_product_prefix_totalnegative_body_steps))) /\ ((((exists fs_h_dst_product_prefix_totalnegative_body_steps_successor. fs_h_dst_product_prefix_totalnegative_body_steps_successor + S (fs_s_dst_product_prefix_totalnegative_body_steps) = S ((S (S fs_i_dst_product_prefix_totalnegative_body_steps)) * fs_v_dst_product_prefix_totalnegative)) /\ exists fs_q_dst_product_prefix_totalnegative_body_steps_successor. fs_u_dst_product_prefix_totalnegative = fs_q_dst_product_prefix_totalnegative_body_steps_successor * S ((S (S fs_i_dst_product_prefix_totalnegative_body_steps)) * fs_v_dst_product_prefix_totalnegative) + (fs_s_dst_product_prefix_totalnegative_body_steps))) /\ fs_s_dst_product_prefix_totalnegative_body_steps = fs_r_dst_product_prefix_totalnegative_body_steps + fs_a_dst_product_prefix_totalnegative_body_steps)))))) /\ (exists ge_balance_positive_product_prefix_totalresult ge_balance_negative_product_prefix_totalresult. (((((c) = 2 * (ge_balance_positive_product_prefix_totalresult) /\ (ge_balance_negative_product_prefix_totalresult) = 0) \/ exists ge_signed_half_product_prefix_totalresultdecode. (((c) = 2 * ge_signed_half_product_prefix_totalresultdecode + 1 /\ (ge_balance_positive_product_prefix_totalresult) = 0) /\ (ge_balance_negative_product_prefix_totalresult) = S ge_signed_half_product_prefix_totalresultdecode))) /\ ((dst_positive_sum_product_prefix_total) + ge_balance_negative_product_prefix_totalresult = (dst_negative_sum_product_prefix_total) + ge_balance_positive_product_prefix_totalresult))))))))) -> (exists sto_ap_product_prefix_result sto_an_product_prefix_result sto_bp_product_prefix_result sto_bn_product_prefix_result sto_cp_product_prefix_result sto_cn_product_prefix_result. (((((a) = 2 * (sto_ap_product_prefix_result) /\ (sto_an_product_prefix_result) = 0) \/ exists ge_signed_half_product_prefix_resultleft. (((a) = 2 * ge_signed_half_product_prefix_resultleft + 1 /\ (sto_ap_product_prefix_result) = 0) /\ (sto_an_product_prefix_result) = S ge_signed_half_product_prefix_resultleft))) /\ ((((((b) = 2 * (sto_bp_product_prefix_result) /\ (sto_bn_product_prefix_result) = 0) \/ exists ge_signed_half_product_prefix_resultright. (((b) = 2 * ge_signed_half_product_prefix_resultright + 1 /\ (sto_bp_product_prefix_result) = 0) /\ (sto_bn_product_prefix_result) = S ge_signed_half_product_prefix_resultright))) /\ ((((((c) = 2 * (sto_cp_product_prefix_result) /\ (sto_cn_product_prefix_result) = 0) \/ exists ge_signed_half_product_prefix_resultoutput. (((c) = 2 * ge_signed_half_product_prefix_resultoutput + 1 /\ (sto_cp_product_prefix_result) = 0) /\ (sto_cn_product_prefix_result) = S ge_signed_half_product_prefix_resultoutput))) /\ ((sto_ap_product_prefix_result * sto_bp_product_prefix_result + sto_an_product_prefix_result * sto_bn_product_prefix_result) + sto_cn_product_prefix_result = (sto_ap_product_prefix_result * sto_bn_product_prefix_result + sto_an_product_prefix_result * sto_bp_product_prefix_result) + sto_cp_product_prefix_result)))))))

Constructive proof overview

Generated structural guide

The actual flattened product prefix sums to the canonical signed product, using the separately proved flattening bridge; both zero dimensions are included.

The unchanged tactic script uses 3 declared prerequisites and contains 41 exact native proof lines.

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

Proof neighborhood

Direct dependencies

MX002A signed_cartesian_product_rectangular_sum MX001D signed_prefix_sum_row_major_iff signed_table_domain_resize 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

41 script commands · 9 reading checkpoints · 1 local claims

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

Named ingredients (2)

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–10

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

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro T
  4. L4
    intro m
  5. L5
    intro n
  6. L6
    intro a
  7. L7
    intro b
  8. L8
    intro c
  9. L9
    intro hp
  10. L10
    intro ha
02Fix variables and assumptionsL11–12

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

  1. L11
    intro hb
  2. L12
    intro hc
03Use earlier factsL13–22

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

  1. L13
    specialize signed_cartesian_product_rectangular_sum (F)
  2. L14
    specialize signed_cartesian_product_rectangular_sum (G)
  3. L15
    specialize signed_cartesian_product_rectangular_sum (T)
  4. L16
    specialize signed_cartesian_product_rectangular_sum (m)
  5. L17
    specialize signed_cartesian_product_rectangular_sum (n)
  6. L18
    specialize signed_cartesian_product_rectangular_sum (a)
  7. L19
    specialize signed_cartesian_product_rectangular_sum (b)
  8. L20
    specialize signed_cartesian_product_rectangular_sum (c)
  9. L21
    apply signed_cartesian_product_rectangular_sum
  10. L22
    exact hp
04Use earlier factsL23–24

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

  1. L23
    exact ha
  2. L24
    exact hb
05Establish hiL25–34

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed prefix sum row major iff.

  1. L25
    have hi : (SignedPrefixSum(T,m · n,c) → SignedRectangularSum(T,0,n,1,m,n,c)) ∧ (SignedRectangularSum(T,0,n,1,m,n,c) → SignedPrefixSum(T,m · n,c))Definitions: SignedPrefixSumSignedRectangularSum
  2. L26
    specialize signed_prefix_sum_row_major_iff (T)
  3. L27
    specialize signed_prefix_sum_row_major_iff (m)
  4. L28
    specialize signed_prefix_sum_row_major_iff (n)
  5. L29
    specialize signed_prefix_sum_row_major_iff (c)
  6. L30
    apply signed_prefix_sum_row_major_iff
  7. L31
    specialize signed_table_domain_resize (m*n)
  8. L32
    specialize signed_table_domain_resize (0)
  9. L33
    specialize signed_table_domain_resize (T)
  10. L34
    apply signed_table_domain_resize
06Separate the logical casesL35–37

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

  1. L35
    cases hp
  2. L36
    cases hp_right
  3. L37
    cases hp_right_right
07Use earlier factsL38–38

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

  1. L38
    exact hp_right_right_left
08Separate the logical casesL39–39

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

  1. L39
    cases hi
09Use earlier factsL40–41

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

  1. L40
    apply hi_left
  2. L41
    exact hc

Library-wide reading audit

Original exact command ledger · 41 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro T
  4. 0004intro m
  5. 0005intro n
  6. 0006intro a
  7. 0007intro b
  8. 0008intro c
  9. 0009intro hp
  10. 0010intro ha
  11. 0011intro hb
  12. 0012intro hc
  13. 0013specialize signed_cartesian_product_rectangular_sum (F)
  14. 0014specialize signed_cartesian_product_rectangular_sum (G)
  15. 0015specialize signed_cartesian_product_rectangular_sum (T)
  16. 0016specialize signed_cartesian_product_rectangular_sum (m)
  17. 0017specialize signed_cartesian_product_rectangular_sum (n)
  18. 0018specialize signed_cartesian_product_rectangular_sum (a)
  19. 0019specialize signed_cartesian_product_rectangular_sum (b)
  20. 0020specialize signed_cartesian_product_rectangular_sum (c)
  21. 0021apply signed_cartesian_product_rectangular_sum
  22. 0022exact hp
  23. 0023exact ha
  24. 0024exact hb
  25. 0025have hi : (((exists dst_positive_code_product_flat_prefix dst_positive_scale_product_flat_prefix dst_negative_code_product_flat_prefix dst_negative_scale_product_flat_prefix dst_positive_sum_product_flat_prefix dst_negative_sum_product_flat_prefix. (((T) = (((((dst_positive_code_product_flat_prefix) + (dst_positive_scale_product_flat_prefix)) * S ((dst_positive_code_product_flat_prefix) + (dst_positive_scale_product_flat_prefix)) + ((dst_positive_scale_product_flat_prefix) + (dst_positive_scale_product_flat_prefix))) + (((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) * S ((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) + ((dst_negative_scale_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)))) * S ((((dst_positive_code_product_flat_prefix) + (dst_positive_scale_product_flat_prefix)) * S ((dst_positive_code_product_flat_prefix) + (dst_positive_scale_product_flat_prefix)) + ((dst_positive_scale_product_flat_prefix) + (dst_positive_scale_product_flat_prefix))) + (((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) * S ((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) + ((dst_negative_scale_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)))) + ((((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) * S ((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) + ((dst_negative_scale_product_flat_prefix) + (dst_negative_scale_product_flat_prefix))) + (((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) * S ((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) + ((dst_negative_scale_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)))))) /\ (((exists fs_u_dst_product_flat_prefixpositive fs_v_dst_product_flat_prefixpositive. ((((exists fs_h_dst_product_flat_prefixpositive_body_start. fs_h_dst_product_flat_prefixpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_prefixpositive)) /\ exists fs_q_dst_product_flat_prefixpositive_body_start. fs_u_dst_product_flat_prefixpositive = fs_q_dst_product_flat_prefixpositive_body_start * S ((S (0)) * fs_v_dst_product_flat_prefixpositive) + (0))) /\ ((((exists fs_h_dst_product_flat_prefixpositive_body_terminal. fs_h_dst_product_flat_prefixpositive_body_terminal + S (dst_positive_sum_product_flat_prefix) = S ((S (m*n)) * fs_v_dst_product_flat_prefixpositive)) /\ exists fs_q_dst_product_flat_prefixpositive_body_terminal. fs_u_dst_product_flat_prefixpositive = fs_q_dst_product_flat_prefixpositive_body_terminal * S ((S (m*n)) * fs_v_dst_product_flat_prefixpositive) + (dst_positive_sum_product_flat_prefix))) /\ forall fs_i_dst_product_flat_prefixpositive_body_steps. (exists fs_lt_dst_product_flat_prefixpositive_body_steps_bound. fs_lt_dst_product_flat_prefixpositive_body_steps_bound + S fs_i_dst_product_flat_prefixpositive_body_steps = m*n) -> exists fs_a_dst_product_flat_prefixpositive_body_steps fs_r_dst_product_flat_prefixpositive_body_steps fs_s_dst_product_flat_prefixpositive_body_steps. ((((exists fs_h_dst_product_flat_prefixpositive_body_steps_summand. fs_h_dst_product_flat_prefixpositive_body_steps_summand + S (fs_a_dst_product_flat_prefixpositive_body_steps) = S ((S (fs_i_dst_product_flat_prefixpositive_body_steps)) * dst_positive_scale_product_flat_prefix)) /\ exists fs_q_dst_product_flat_prefixpositive_body_steps_summand. dst_positive_code_product_flat_prefix = fs_q_dst_product_flat_prefixpositive_body_steps_summand * S ((S (fs_i_dst_product_flat_prefixpositive_body_steps)) * dst_positive_scale_product_flat_prefix) + (fs_a_dst_product_flat_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_prefixpositive_body_steps_partial. fs_h_dst_product_flat_prefixpositive_body_steps_partial + S (fs_r_dst_product_flat_prefixpositive_body_steps) = S ((S (fs_i_dst_product_flat_prefixpositive_body_steps)) * fs_v_dst_product_flat_prefixpositive)) /\ exists fs_q_dst_product_flat_prefixpositive_body_steps_partial. fs_u_dst_product_flat_prefixpositive = fs_q_dst_product_flat_prefixpositive_body_steps_partial * S ((S (fs_i_dst_product_flat_prefixpositive_body_steps)) * fs_v_dst_product_flat_prefixpositive) + (fs_r_dst_product_flat_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_prefixpositive_body_steps_successor. fs_h_dst_product_flat_prefixpositive_body_steps_successor + S (fs_s_dst_product_flat_prefixpositive_body_steps) = S ((S (S fs_i_dst_product_flat_prefixpositive_body_steps)) * fs_v_dst_product_flat_prefixpositive)) /\ exists fs_q_dst_product_flat_prefixpositive_body_steps_successor. fs_u_dst_product_flat_prefixpositive = fs_q_dst_product_flat_prefixpositive_body_steps_successor * S ((S (S fs_i_dst_product_flat_prefixpositive_body_steps)) * fs_v_dst_product_flat_prefixpositive) + (fs_s_dst_product_flat_prefixpositive_body_steps))) /\ fs_s_dst_product_flat_prefixpositive_body_steps = fs_r_dst_product_flat_prefixpositive_body_steps + fs_a_dst_product_flat_prefixpositive_body_steps)))))) /\ (((exists fs_u_dst_product_flat_prefixnegative fs_v_dst_product_flat_prefixnegative. ((((exists fs_h_dst_product_flat_prefixnegative_body_start. fs_h_dst_product_flat_prefixnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_prefixnegative)) /\ exists fs_q_dst_product_flat_prefixnegative_body_start. fs_u_dst_product_flat_prefixnegative = fs_q_dst_product_flat_prefixnegative_body_start * S ((S (0)) * fs_v_dst_product_flat_prefixnegative) + (0))) /\ ((((exists fs_h_dst_product_flat_prefixnegative_body_terminal. fs_h_dst_product_flat_prefixnegative_body_terminal + S (dst_negative_sum_product_flat_prefix) = S ((S (m*n)) * fs_v_dst_product_flat_prefixnegative)) /\ exists fs_q_dst_product_flat_prefixnegative_body_terminal. fs_u_dst_product_flat_prefixnegative = fs_q_dst_product_flat_prefixnegative_body_terminal * S ((S (m*n)) * fs_v_dst_product_flat_prefixnegative) + (dst_negative_sum_product_flat_prefix))) /\ forall fs_i_dst_product_flat_prefixnegative_body_steps. (exists fs_lt_dst_product_flat_prefixnegative_body_steps_bound. fs_lt_dst_product_flat_prefixnegative_body_steps_bound + S fs_i_dst_product_flat_prefixnegative_body_steps = m*n) -> exists fs_a_dst_product_flat_prefixnegative_body_steps fs_r_dst_product_flat_prefixnegative_body_steps fs_s_dst_product_flat_prefixnegative_body_steps. ((((exists fs_h_dst_product_flat_prefixnegative_body_steps_summand. fs_h_dst_product_flat_prefixnegative_body_steps_summand + S (fs_a_dst_product_flat_prefixnegative_body_steps) = S ((S (fs_i_dst_product_flat_prefixnegative_body_steps)) * dst_negative_scale_product_flat_prefix)) /\ exists fs_q_dst_product_flat_prefixnegative_body_steps_summand. dst_negative_code_product_flat_prefix = fs_q_dst_product_flat_prefixnegative_body_steps_summand * S ((S (fs_i_dst_product_flat_prefixnegative_body_steps)) * dst_negative_scale_product_flat_prefix) + (fs_a_dst_product_flat_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_prefixnegative_body_steps_partial. fs_h_dst_product_flat_prefixnegative_body_steps_partial + S (fs_r_dst_product_flat_prefixnegative_body_steps) = S ((S (fs_i_dst_product_flat_prefixnegative_body_steps)) * fs_v_dst_product_flat_prefixnegative)) /\ exists fs_q_dst_product_flat_prefixnegative_body_steps_partial. fs_u_dst_product_flat_prefixnegative = fs_q_dst_product_flat_prefixnegative_body_steps_partial * S ((S (fs_i_dst_product_flat_prefixnegative_body_steps)) * fs_v_dst_product_flat_prefixnegative) + (fs_r_dst_product_flat_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_prefixnegative_body_steps_successor. fs_h_dst_product_flat_prefixnegative_body_steps_successor + S (fs_s_dst_product_flat_prefixnegative_body_steps) = S ((S (S fs_i_dst_product_flat_prefixnegative_body_steps)) * fs_v_dst_product_flat_prefixnegative)) /\ exists fs_q_dst_product_flat_prefixnegative_body_steps_successor. fs_u_dst_product_flat_prefixnegative = fs_q_dst_product_flat_prefixnegative_body_steps_successor * S ((S (S fs_i_dst_product_flat_prefixnegative_body_steps)) * fs_v_dst_product_flat_prefixnegative) + (fs_s_dst_product_flat_prefixnegative_body_steps))) /\ fs_s_dst_product_flat_prefixnegative_body_steps = fs_r_dst_product_flat_prefixnegative_body_steps + fs_a_dst_product_flat_prefixnegative_body_steps)))))) /\ (exists ge_balance_positive_product_flat_prefixresult ge_balance_negative_product_flat_prefixresult. (((((c) = 2 * (ge_balance_positive_product_flat_prefixresult) /\ (ge_balance_negative_product_flat_prefixresult) = 0) \/ exists ge_signed_half_product_flat_prefixresultdecode. (((c) = 2 * ge_signed_half_product_flat_prefixresultdecode + 1 /\ (ge_balance_positive_product_flat_prefixresult) = 0) /\ (ge_balance_negative_product_flat_prefixresult) = S ge_signed_half_product_flat_prefixresultdecode))) /\ ((dst_positive_sum_product_flat_prefix) + ge_balance_negative_product_flat_prefixresult = (dst_negative_sum_product_flat_prefix) + ge_balance_positive_product_flat_prefixresult))))))))) -> (exists srt_rows_product_flat_rectangle. ((((exists dst_positive_code_product_flat_rectanglerowssource_table dst_positive_scale_product_flat_rectanglerowssource_table dst_negative_code_product_flat_rectanglerowssource_table dst_negative_scale_product_flat_rectanglerowssource_table. (((T) = (((((dst_positive_code_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table)) * S ((dst_positive_code_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table)) + ((dst_positive_scale_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table))) + (((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) * S ((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) + ((dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)))) * S ((((dst_positive_code_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table)) * S ((dst_positive_code_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table)) + ((dst_positive_scale_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table))) + (((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) * S ((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) + ((dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)))) + ((((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) * S ((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) + ((dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table))) + (((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) * S ((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) + ((dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)))))) /\ (forall dst_index_product_flat_rectanglerowssource_table. (exists pvs_le_gap_product_flat_rectanglerowssource_tabledomain. pvs_le_gap_product_flat_rectanglerowssource_tabledomain + (dst_index_product_flat_rectanglerowssource_table) = (0)) -> exists dst_positive_product_flat_rectanglerowssource_table dst_negative_product_flat_rectanglerowssource_table dst_value_product_flat_rectanglerowssource_table. ((((exists ff_h_pvs_product_flat_rectanglerowssource_tableentrypositive. ff_h_pvs_product_flat_rectanglerowssource_tableentrypositive + S (dst_positive_product_flat_rectanglerowssource_table) = S ((S (dst_index_product_flat_rectanglerowssource_table)) * dst_positive_scale_product_flat_rectanglerowssource_table)) /\ exists ff_q_pvs_product_flat_rectanglerowssource_tableentrypositive. dst_positive_code_product_flat_rectanglerowssource_table = ff_q_pvs_product_flat_rectanglerowssource_tableentrypositive * S ((S (dst_index_product_flat_rectanglerowssource_table)) * dst_positive_scale_product_flat_rectanglerowssource_table) + (dst_positive_product_flat_rectanglerowssource_table))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowssource_tableentrynegative. ff_h_pvs_product_flat_rectanglerowssource_tableentrynegative + S (dst_negative_product_flat_rectanglerowssource_table) = S ((S (dst_index_product_flat_rectanglerowssource_table)) * dst_negative_scale_product_flat_rectanglerowssource_table)) /\ exists ff_q_pvs_product_flat_rectanglerowssource_tableentrynegative. dst_negative_code_product_flat_rectanglerowssource_table = ff_q_pvs_product_flat_rectanglerowssource_tableentrynegative * S ((S (dst_index_product_flat_rectanglerowssource_table)) * dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_product_flat_rectanglerowssource_table))) /\ (exists ge_balance_positive_product_flat_rectanglerowssource_tableentryvalue ge_balance_negative_product_flat_rectanglerowssource_tableentryvalue. (((((dst_value_product_flat_rectanglerowssource_table) = 2 * (ge_balance_positive_product_flat_rectanglerowssource_tableentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowssource_tableentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowssource_tableentryvaluedecode. (((dst_value_product_flat_rectanglerowssource_table) = 2 * ge_signed_half_product_flat_rectanglerowssource_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowssource_tableentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowssource_tableentryvalue) = S ge_signed_half_product_flat_rectanglerowssource_tableentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowssource_table) + ge_balance_negative_product_flat_rectanglerowssource_tableentryvalue = (dst_negative_product_flat_rectanglerowssource_table) + ge_balance_positive_product_flat_rectanglerowssource_tableentryvalue))))))))) /\ (((exists dst_positive_code_product_flat_rectanglerowsrow_table dst_positive_scale_product_flat_rectanglerowsrow_table dst_negative_code_product_flat_rectanglerowsrow_table dst_negative_scale_product_flat_rectanglerowsrow_table. (((srt_rows_product_flat_rectangle) = (((((dst_positive_code_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table)) * S ((dst_positive_code_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table)) + ((dst_positive_scale_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table))) + (((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) * S ((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) + ((dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)))) * S ((((dst_positive_code_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table)) * S ((dst_positive_code_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table)) + ((dst_positive_scale_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table))) + (((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) * S ((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) + ((dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)))) + ((((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) * S ((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) + ((dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table))) + (((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) * S ((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) + ((dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)))))) /\ (forall dst_index_product_flat_rectanglerowsrow_table. (exists pvs_le_gap_product_flat_rectanglerowsrow_tabledomain. pvs_le_gap_product_flat_rectanglerowsrow_tabledomain + (dst_index_product_flat_rectanglerowsrow_table) = (m)) -> exists dst_positive_product_flat_rectanglerowsrow_table dst_negative_product_flat_rectanglerowsrow_table dst_value_product_flat_rectanglerowsrow_table. ((((exists ff_h_pvs_product_flat_rectanglerowsrow_tableentrypositive. ff_h_pvs_product_flat_rectanglerowsrow_tableentrypositive + S (dst_positive_product_flat_rectanglerowsrow_table) = S ((S (dst_index_product_flat_rectanglerowsrow_table)) * dst_positive_scale_product_flat_rectanglerowsrow_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrow_tableentrypositive. dst_positive_code_product_flat_rectanglerowsrow_table = ff_q_pvs_product_flat_rectanglerowsrow_tableentrypositive * S ((S (dst_index_product_flat_rectanglerowsrow_table)) * dst_positive_scale_product_flat_rectanglerowsrow_table) + (dst_positive_product_flat_rectanglerowsrow_table))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrow_tableentrynegative. ff_h_pvs_product_flat_rectanglerowsrow_tableentrynegative + S (dst_negative_product_flat_rectanglerowsrow_table) = S ((S (dst_index_product_flat_rectanglerowsrow_table)) * dst_negative_scale_product_flat_rectanglerowsrow_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrow_tableentrynegative. dst_negative_code_product_flat_rectanglerowsrow_table = ff_q_pvs_product_flat_rectanglerowsrow_tableentrynegative * S ((S (dst_index_product_flat_rectanglerowsrow_table)) * dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_product_flat_rectanglerowsrow_table))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrow_tableentryvalue ge_balance_negative_product_flat_rectanglerowsrow_tableentryvalue. (((((dst_value_product_flat_rectanglerowsrow_table) = 2 * (ge_balance_positive_product_flat_rectanglerowsrow_tableentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrow_tableentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrow_tableentryvaluedecode. (((dst_value_product_flat_rectanglerowsrow_table) = 2 * ge_signed_half_product_flat_rectanglerowsrow_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrow_tableentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrow_tableentryvalue) = S ge_signed_half_product_flat_rectanglerowsrow_tableentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrow_table) + ge_balance_negative_product_flat_rectanglerowsrow_tableentryvalue = (dst_negative_product_flat_rectanglerowsrow_table) + ge_balance_positive_product_flat_rectanglerowsrow_tableentryvalue))))))))) /\ (forall srt_index_product_flat_rectanglerows. (exists pvs_gap_product_flat_rectanglerowsbound. pvs_gap_product_flat_rectanglerowsbound + S (srt_index_product_flat_rectanglerows) = (m)) -> exists srt_value_product_flat_rectanglerows. (((exists dst_positive_code_product_flat_rectanglerowsrowentry dst_positive_scale_product_flat_rectanglerowsrowentry dst_negative_code_product_flat_rectanglerowsrowentry dst_negative_scale_product_flat_rectanglerowsrowentry dst_positive_product_flat_rectanglerowsrowentry dst_negative_product_flat_rectanglerowsrowentry. (((srt_rows_product_flat_rectangle) = (((((dst_positive_code_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry)) * S ((dst_positive_code_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry)) + ((dst_positive_scale_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry))) + (((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) * S ((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) + ((dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry)) * S ((dst_positive_code_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry)) + ((dst_positive_scale_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry))) + (((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) * S ((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) + ((dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)))) + ((((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) * S ((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) + ((dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry))) + (((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) * S ((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) + ((dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)))))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowentrypositive. ff_h_pvs_product_flat_rectanglerowsrowentrypositive + S (dst_positive_product_flat_rectanglerowsrowentry) = S ((S (srt_index_product_flat_rectanglerows)) * dst_positive_scale_product_flat_rectanglerowsrowentry)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowentrypositive. dst_positive_code_product_flat_rectanglerowsrowentry = ff_q_pvs_product_flat_rectanglerowsrowentrypositive * S ((S (srt_index_product_flat_rectanglerows)) * dst_positive_scale_product_flat_rectanglerowsrowentry) + (dst_positive_product_flat_rectanglerowsrowentry))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowentrynegative. ff_h_pvs_product_flat_rectanglerowsrowentrynegative + S (dst_negative_product_flat_rectanglerowsrowentry) = S ((S (srt_index_product_flat_rectanglerows)) * dst_negative_scale_product_flat_rectanglerowsrowentry)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowentrynegative. dst_negative_code_product_flat_rectanglerowsrowentry = ff_q_pvs_product_flat_rectanglerowsrowentrynegative * S ((S (srt_index_product_flat_rectanglerows)) * dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_product_flat_rectanglerowsrowentry))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowentryvalue ge_balance_negative_product_flat_rectanglerowsrowentryvalue. (((((srt_value_product_flat_rectanglerows) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowentryvaluedecode. (((srt_value_product_flat_rectanglerows) = 2 * ge_signed_half_product_flat_rectanglerowsrowentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowentryvalue) = S ge_signed_half_product_flat_rectanglerowsrowentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowentry) + ge_balance_negative_product_flat_rectanglerowsrowentryvalue = (dst_negative_product_flat_rectanglerowsrowentry) + ge_balance_positive_product_flat_rectanglerowsrowentryvalue))))))))) /\ (exists srs_slice_product_flat_rectanglerowsrowrow_sum. ((((exists dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table. (((T) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)))))) /\ (forall dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table. (exists pvs_le_gap_product_flat_rectanglerowsrowrow_sumslicesource_tabledomain. pvs_le_gap_product_flat_rectanglerowsrowrow_sumslicesource_tabledomain + (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table) = (0)) -> exists dst_positive_product_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_product_flat_rectanglerowsrowrow_sumslicesource_table dst_value_product_flat_rectanglerowsrowrow_sumslicesource_table. ((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive. ff_h_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive + S (dst_positive_product_flat_rectanglerowsrowrow_sumslicesource_table) = S ((S (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive. dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table = ff_q_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive * S ((S (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_product_flat_rectanglerowsrowrow_sumslicesource_table))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative. ff_h_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative + S (dst_negative_product_flat_rectanglerowsrowrow_sumslicesource_table) = S ((S (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative. dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table = ff_q_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative * S ((S (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_product_flat_rectanglerowsrowrow_sumslicesource_table))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue ge_balance_negative_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue. (((((dst_value_product_flat_rectanglerowsrowrow_sumslicesource_table) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode. (((dst_value_product_flat_rectanglerowsrowrow_sumslicesource_table) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowrow_sumslicesource_table) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue = (dst_negative_product_flat_rectanglerowsrowrow_sumslicesource_table) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table. (((srs_slice_product_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)))))) /\ (forall dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table. (exists pvs_le_gap_product_flat_rectanglerowsrowrow_sumsliceoutput_tabledomain. pvs_le_gap_product_flat_rectanglerowsrowrow_sumsliceoutput_tabledomain + (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = (n)) -> exists dst_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_value_product_flat_rectanglerowsrowrow_sumsliceoutput_table. ((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive + S (dst_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = S ((S (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive. dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive * S ((S (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative + S (dst_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = S ((S (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative. dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative * S ((S (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue. (((((dst_value_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode. (((dst_value_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue = (dst_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_product_flat_rectanglerowsrowrow_sumslice. (exists pvs_gap_product_flat_rectanglerowsrowrow_sumslicebound. pvs_gap_product_flat_rectanglerowsrowrow_sumslicebound + S (srs_index_product_flat_rectanglerowsrowrow_sumslice) = (n)) -> exists srs_value_product_flat_rectanglerowsrowrow_sumslice. (((exists dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_positive_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_product_flat_rectanglerowsrowrow_sumsliceentrysource. (((T) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)))))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcepositive. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcepositive + S (dst_positive_product_flat_rectanglerowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_product_flat_rectanglerows)))) + ((1) * (srs_index_product_flat_rectanglerowsrowrow_sumslice))))) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcepositive. dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcepositive * S ((S (((((0) + ((n) * (srt_index_product_flat_rectanglerows)))) + ((1) * (srs_index_product_flat_rectanglerowsrowrow_sumslice))))) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_product_flat_rectanglerowsrowrow_sumsliceentrysource))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcenegative. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcenegative + S (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_product_flat_rectanglerows)))) + ((1) * (srs_index_product_flat_rectanglerowsrowrow_sumslice))))) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcenegative. dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcenegative * S ((S (((((0) + ((n) * (srt_index_product_flat_rectanglerows)))) + ((1) * (srs_index_product_flat_rectanglerowsrowrow_sumslice))))) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentrysource))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue. (((((srs_value_product_flat_rectanglerowsrowrow_sumslice) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode. (((srs_value_product_flat_rectanglerowsrowrow_sumslice) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowrow_sumsliceentrysource) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue = (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentrysource) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutput. (((srs_slice_product_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)))))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputpositive. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputpositive + S (dst_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutput) = S ((S (srs_index_product_flat_rectanglerowsrowrow_sumslice)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputpositive. dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputpositive * S ((S (srs_index_product_flat_rectanglerowsrowrow_sumslice)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputnegative. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputnegative + S (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutput) = S ((S (srs_index_product_flat_rectanglerowsrowrow_sumslice)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputnegative. dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputnegative * S ((S (srs_index_product_flat_rectanglerowsrowrow_sumslice)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue. (((((srs_value_product_flat_rectanglerowsrowrow_sumslice) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode. (((srs_value_product_flat_rectanglerowsrowrow_sumslice) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue = (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_product_flat_rectanglerowsrowrow_sumsum dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum dst_negative_code_product_flat_rectanglerowsrowrow_sumsum dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum dst_positive_sum_product_flat_rectanglerowsrowrow_sumsum dst_negative_sum_product_flat_rectanglerowsrowrow_sumsum. (((srs_slice_product_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)))))) /\ (((exists fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive. ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_start. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_start. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_start * S ((S (0)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive) + (0))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_terminal. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_terminal + S (dst_positive_sum_product_flat_rectanglerowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_terminal. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_terminal * S ((S (n)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive) + (dst_positive_sum_product_flat_rectanglerowsrowrow_sumsum))) /\ forall fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps. (exists fs_lt_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_bound. fs_lt_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_bound + S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps = n) -> exists fs_a_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps fs_r_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps fs_s_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps. ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand + S (fs_a_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand. dst_positive_code_product_flat_rectanglerowsrowrow_sumsum = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand * S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum) + (fs_a_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial + S (fs_r_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial * S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive) + (fs_r_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor + S (fs_s_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor * S ((S (S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive) + (fs_s_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ fs_s_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps = fs_r_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps + fs_a_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)))))) /\ (((exists fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative. ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_start. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_start. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_start * S ((S (0)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative) + (0))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_terminal. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_terminal + S (dst_negative_sum_product_flat_rectanglerowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_terminal. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_terminal * S ((S (n)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative) + (dst_negative_sum_product_flat_rectanglerowsrowrow_sumsum))) /\ forall fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps. (exists fs_lt_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_bound. fs_lt_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_bound + S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps = n) -> exists fs_a_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps fs_r_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps fs_s_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps. ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand + S (fs_a_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand. dst_negative_code_product_flat_rectanglerowsrowrow_sumsum = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand * S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (fs_a_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial + S (fs_r_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial * S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative) + (fs_r_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor + S (fs_s_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor * S ((S (S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative) + (fs_s_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ fs_s_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps = fs_r_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps + fs_a_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)))))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumsumresult ge_balance_negative_product_flat_rectanglerowsrowrow_sumsumresult. (((((srt_value_product_flat_rectanglerows) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsumresult) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsumresult) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumsumresultdecode. (((srt_value_product_flat_rectanglerows) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumsumresultdecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsumresult) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsumresult) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumsumresultdecode))) /\ ((dst_positive_sum_product_flat_rectanglerowsrowrow_sumsum) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumsumresult = (dst_negative_sum_product_flat_rectanglerowsrowrow_sumsum) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumsumresult)))))))))))))))))) /\ (exists dst_positive_code_product_flat_rectangletotal dst_positive_scale_product_flat_rectangletotal dst_negative_code_product_flat_rectangletotal dst_negative_scale_product_flat_rectangletotal dst_positive_sum_product_flat_rectangletotal dst_negative_sum_product_flat_rectangletotal. (((srt_rows_product_flat_rectangle) = (((((dst_positive_code_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal)) * S ((dst_positive_code_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal)) + ((dst_positive_scale_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal))) + (((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) * S ((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) + ((dst_negative_scale_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)))) * S ((((dst_positive_code_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal)) * S ((dst_positive_code_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal)) + ((dst_positive_scale_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal))) + (((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) * S ((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) + ((dst_negative_scale_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)))) + ((((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) * S ((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) + ((dst_negative_scale_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal))) + (((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) * S ((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) + ((dst_negative_scale_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)))))) /\ (((exists fs_u_dst_product_flat_rectangletotalpositive fs_v_dst_product_flat_rectangletotalpositive. ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_start. fs_h_dst_product_flat_rectangletotalpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_rectangletotalpositive)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_start. fs_u_dst_product_flat_rectangletotalpositive = fs_q_dst_product_flat_rectangletotalpositive_body_start * S ((S (0)) * fs_v_dst_product_flat_rectangletotalpositive) + (0))) /\ ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_terminal. fs_h_dst_product_flat_rectangletotalpositive_body_terminal + S (dst_positive_sum_product_flat_rectangletotal) = S ((S (m)) * fs_v_dst_product_flat_rectangletotalpositive)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_terminal. fs_u_dst_product_flat_rectangletotalpositive = fs_q_dst_product_flat_rectangletotalpositive_body_terminal * S ((S (m)) * fs_v_dst_product_flat_rectangletotalpositive) + (dst_positive_sum_product_flat_rectangletotal))) /\ forall fs_i_dst_product_flat_rectangletotalpositive_body_steps. (exists fs_lt_dst_product_flat_rectangletotalpositive_body_steps_bound. fs_lt_dst_product_flat_rectangletotalpositive_body_steps_bound + S fs_i_dst_product_flat_rectangletotalpositive_body_steps = m) -> exists fs_a_dst_product_flat_rectangletotalpositive_body_steps fs_r_dst_product_flat_rectangletotalpositive_body_steps fs_s_dst_product_flat_rectangletotalpositive_body_steps. ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_steps_summand. fs_h_dst_product_flat_rectangletotalpositive_body_steps_summand + S (fs_a_dst_product_flat_rectangletotalpositive_body_steps) = S ((S (fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * dst_positive_scale_product_flat_rectangletotal)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_steps_summand. dst_positive_code_product_flat_rectangletotal = fs_q_dst_product_flat_rectangletotalpositive_body_steps_summand * S ((S (fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * dst_positive_scale_product_flat_rectangletotal) + (fs_a_dst_product_flat_rectangletotalpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_steps_partial. fs_h_dst_product_flat_rectangletotalpositive_body_steps_partial + S (fs_r_dst_product_flat_rectangletotalpositive_body_steps) = S ((S (fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * fs_v_dst_product_flat_rectangletotalpositive)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_steps_partial. fs_u_dst_product_flat_rectangletotalpositive = fs_q_dst_product_flat_rectangletotalpositive_body_steps_partial * S ((S (fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * fs_v_dst_product_flat_rectangletotalpositive) + (fs_r_dst_product_flat_rectangletotalpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_steps_successor. fs_h_dst_product_flat_rectangletotalpositive_body_steps_successor + S (fs_s_dst_product_flat_rectangletotalpositive_body_steps) = S ((S (S fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * fs_v_dst_product_flat_rectangletotalpositive)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_steps_successor. fs_u_dst_product_flat_rectangletotalpositive = fs_q_dst_product_flat_rectangletotalpositive_body_steps_successor * S ((S (S fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * fs_v_dst_product_flat_rectangletotalpositive) + (fs_s_dst_product_flat_rectangletotalpositive_body_steps))) /\ fs_s_dst_product_flat_rectangletotalpositive_body_steps = fs_r_dst_product_flat_rectangletotalpositive_body_steps + fs_a_dst_product_flat_rectangletotalpositive_body_steps)))))) /\ (((exists fs_u_dst_product_flat_rectangletotalnegative fs_v_dst_product_flat_rectangletotalnegative. ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_start. fs_h_dst_product_flat_rectangletotalnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_rectangletotalnegative)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_start. fs_u_dst_product_flat_rectangletotalnegative = fs_q_dst_product_flat_rectangletotalnegative_body_start * S ((S (0)) * fs_v_dst_product_flat_rectangletotalnegative) + (0))) /\ ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_terminal. fs_h_dst_product_flat_rectangletotalnegative_body_terminal + S (dst_negative_sum_product_flat_rectangletotal) = S ((S (m)) * fs_v_dst_product_flat_rectangletotalnegative)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_terminal. fs_u_dst_product_flat_rectangletotalnegative = fs_q_dst_product_flat_rectangletotalnegative_body_terminal * S ((S (m)) * fs_v_dst_product_flat_rectangletotalnegative) + (dst_negative_sum_product_flat_rectangletotal))) /\ forall fs_i_dst_product_flat_rectangletotalnegative_body_steps. (exists fs_lt_dst_product_flat_rectangletotalnegative_body_steps_bound. fs_lt_dst_product_flat_rectangletotalnegative_body_steps_bound + S fs_i_dst_product_flat_rectangletotalnegative_body_steps = m) -> exists fs_a_dst_product_flat_rectangletotalnegative_body_steps fs_r_dst_product_flat_rectangletotalnegative_body_steps fs_s_dst_product_flat_rectangletotalnegative_body_steps. ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_steps_summand. fs_h_dst_product_flat_rectangletotalnegative_body_steps_summand + S (fs_a_dst_product_flat_rectangletotalnegative_body_steps) = S ((S (fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * dst_negative_scale_product_flat_rectangletotal)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_steps_summand. dst_negative_code_product_flat_rectangletotal = fs_q_dst_product_flat_rectangletotalnegative_body_steps_summand * S ((S (fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * dst_negative_scale_product_flat_rectangletotal) + (fs_a_dst_product_flat_rectangletotalnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_steps_partial. fs_h_dst_product_flat_rectangletotalnegative_body_steps_partial + S (fs_r_dst_product_flat_rectangletotalnegative_body_steps) = S ((S (fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * fs_v_dst_product_flat_rectangletotalnegative)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_steps_partial. fs_u_dst_product_flat_rectangletotalnegative = fs_q_dst_product_flat_rectangletotalnegative_body_steps_partial * S ((S (fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * fs_v_dst_product_flat_rectangletotalnegative) + (fs_r_dst_product_flat_rectangletotalnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_steps_successor. fs_h_dst_product_flat_rectangletotalnegative_body_steps_successor + S (fs_s_dst_product_flat_rectangletotalnegative_body_steps) = S ((S (S fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * fs_v_dst_product_flat_rectangletotalnegative)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_steps_successor. fs_u_dst_product_flat_rectangletotalnegative = fs_q_dst_product_flat_rectangletotalnegative_body_steps_successor * S ((S (S fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * fs_v_dst_product_flat_rectangletotalnegative) + (fs_s_dst_product_flat_rectangletotalnegative_body_steps))) /\ fs_s_dst_product_flat_rectangletotalnegative_body_steps = fs_r_dst_product_flat_rectangletotalnegative_body_steps + fs_a_dst_product_flat_rectangletotalnegative_body_steps)))))) /\ (exists ge_balance_positive_product_flat_rectangletotalresult ge_balance_negative_product_flat_rectangletotalresult. (((((c) = 2 * (ge_balance_positive_product_flat_rectangletotalresult) /\ (ge_balance_negative_product_flat_rectangletotalresult) = 0) \/ exists ge_signed_half_product_flat_rectangletotalresultdecode. (((c) = 2 * ge_signed_half_product_flat_rectangletotalresultdecode + 1 /\ (ge_balance_positive_product_flat_rectangletotalresult) = 0) /\ (ge_balance_negative_product_flat_rectangletotalresult) = S ge_signed_half_product_flat_rectangletotalresultdecode))) /\ ((dst_positive_sum_product_flat_rectangletotal) + ge_balance_negative_product_flat_rectangletotalresult = (dst_negative_sum_product_flat_rectangletotal) + ge_balance_positive_product_flat_rectangletotalresult)))))))))))) /\ ((exists srt_rows_product_flat_rectangle. ((((exists dst_positive_code_product_flat_rectanglerowssource_table dst_positive_scale_product_flat_rectanglerowssource_table dst_negative_code_product_flat_rectanglerowssource_table dst_negative_scale_product_flat_rectanglerowssource_table. (((T) = (((((dst_positive_code_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table)) * S ((dst_positive_code_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table)) + ((dst_positive_scale_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table))) + (((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) * S ((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) + ((dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)))) * S ((((dst_positive_code_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table)) * S ((dst_positive_code_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table)) + ((dst_positive_scale_product_flat_rectanglerowssource_table) + (dst_positive_scale_product_flat_rectanglerowssource_table))) + (((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) * S ((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) + ((dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)))) + ((((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) * S ((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) + ((dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table))) + (((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) * S ((dst_negative_code_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)) + ((dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_scale_product_flat_rectanglerowssource_table)))))) /\ (forall dst_index_product_flat_rectanglerowssource_table. (exists pvs_le_gap_product_flat_rectanglerowssource_tabledomain. pvs_le_gap_product_flat_rectanglerowssource_tabledomain + (dst_index_product_flat_rectanglerowssource_table) = (0)) -> exists dst_positive_product_flat_rectanglerowssource_table dst_negative_product_flat_rectanglerowssource_table dst_value_product_flat_rectanglerowssource_table. ((((exists ff_h_pvs_product_flat_rectanglerowssource_tableentrypositive. ff_h_pvs_product_flat_rectanglerowssource_tableentrypositive + S (dst_positive_product_flat_rectanglerowssource_table) = S ((S (dst_index_product_flat_rectanglerowssource_table)) * dst_positive_scale_product_flat_rectanglerowssource_table)) /\ exists ff_q_pvs_product_flat_rectanglerowssource_tableentrypositive. dst_positive_code_product_flat_rectanglerowssource_table = ff_q_pvs_product_flat_rectanglerowssource_tableentrypositive * S ((S (dst_index_product_flat_rectanglerowssource_table)) * dst_positive_scale_product_flat_rectanglerowssource_table) + (dst_positive_product_flat_rectanglerowssource_table))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowssource_tableentrynegative. ff_h_pvs_product_flat_rectanglerowssource_tableentrynegative + S (dst_negative_product_flat_rectanglerowssource_table) = S ((S (dst_index_product_flat_rectanglerowssource_table)) * dst_negative_scale_product_flat_rectanglerowssource_table)) /\ exists ff_q_pvs_product_flat_rectanglerowssource_tableentrynegative. dst_negative_code_product_flat_rectanglerowssource_table = ff_q_pvs_product_flat_rectanglerowssource_tableentrynegative * S ((S (dst_index_product_flat_rectanglerowssource_table)) * dst_negative_scale_product_flat_rectanglerowssource_table) + (dst_negative_product_flat_rectanglerowssource_table))) /\ (exists ge_balance_positive_product_flat_rectanglerowssource_tableentryvalue ge_balance_negative_product_flat_rectanglerowssource_tableentryvalue. (((((dst_value_product_flat_rectanglerowssource_table) = 2 * (ge_balance_positive_product_flat_rectanglerowssource_tableentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowssource_tableentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowssource_tableentryvaluedecode. (((dst_value_product_flat_rectanglerowssource_table) = 2 * ge_signed_half_product_flat_rectanglerowssource_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowssource_tableentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowssource_tableentryvalue) = S ge_signed_half_product_flat_rectanglerowssource_tableentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowssource_table) + ge_balance_negative_product_flat_rectanglerowssource_tableentryvalue = (dst_negative_product_flat_rectanglerowssource_table) + ge_balance_positive_product_flat_rectanglerowssource_tableentryvalue))))))))) /\ (((exists dst_positive_code_product_flat_rectanglerowsrow_table dst_positive_scale_product_flat_rectanglerowsrow_table dst_negative_code_product_flat_rectanglerowsrow_table dst_negative_scale_product_flat_rectanglerowsrow_table. (((srt_rows_product_flat_rectangle) = (((((dst_positive_code_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table)) * S ((dst_positive_code_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table)) + ((dst_positive_scale_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table))) + (((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) * S ((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) + ((dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)))) * S ((((dst_positive_code_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table)) * S ((dst_positive_code_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table)) + ((dst_positive_scale_product_flat_rectanglerowsrow_table) + (dst_positive_scale_product_flat_rectanglerowsrow_table))) + (((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) * S ((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) + ((dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)))) + ((((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) * S ((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) + ((dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table))) + (((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) * S ((dst_negative_code_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)) + ((dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_scale_product_flat_rectanglerowsrow_table)))))) /\ (forall dst_index_product_flat_rectanglerowsrow_table. (exists pvs_le_gap_product_flat_rectanglerowsrow_tabledomain. pvs_le_gap_product_flat_rectanglerowsrow_tabledomain + (dst_index_product_flat_rectanglerowsrow_table) = (m)) -> exists dst_positive_product_flat_rectanglerowsrow_table dst_negative_product_flat_rectanglerowsrow_table dst_value_product_flat_rectanglerowsrow_table. ((((exists ff_h_pvs_product_flat_rectanglerowsrow_tableentrypositive. ff_h_pvs_product_flat_rectanglerowsrow_tableentrypositive + S (dst_positive_product_flat_rectanglerowsrow_table) = S ((S (dst_index_product_flat_rectanglerowsrow_table)) * dst_positive_scale_product_flat_rectanglerowsrow_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrow_tableentrypositive. dst_positive_code_product_flat_rectanglerowsrow_table = ff_q_pvs_product_flat_rectanglerowsrow_tableentrypositive * S ((S (dst_index_product_flat_rectanglerowsrow_table)) * dst_positive_scale_product_flat_rectanglerowsrow_table) + (dst_positive_product_flat_rectanglerowsrow_table))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrow_tableentrynegative. ff_h_pvs_product_flat_rectanglerowsrow_tableentrynegative + S (dst_negative_product_flat_rectanglerowsrow_table) = S ((S (dst_index_product_flat_rectanglerowsrow_table)) * dst_negative_scale_product_flat_rectanglerowsrow_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrow_tableentrynegative. dst_negative_code_product_flat_rectanglerowsrow_table = ff_q_pvs_product_flat_rectanglerowsrow_tableentrynegative * S ((S (dst_index_product_flat_rectanglerowsrow_table)) * dst_negative_scale_product_flat_rectanglerowsrow_table) + (dst_negative_product_flat_rectanglerowsrow_table))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrow_tableentryvalue ge_balance_negative_product_flat_rectanglerowsrow_tableentryvalue. (((((dst_value_product_flat_rectanglerowsrow_table) = 2 * (ge_balance_positive_product_flat_rectanglerowsrow_tableentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrow_tableentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrow_tableentryvaluedecode. (((dst_value_product_flat_rectanglerowsrow_table) = 2 * ge_signed_half_product_flat_rectanglerowsrow_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrow_tableentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrow_tableentryvalue) = S ge_signed_half_product_flat_rectanglerowsrow_tableentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrow_table) + ge_balance_negative_product_flat_rectanglerowsrow_tableentryvalue = (dst_negative_product_flat_rectanglerowsrow_table) + ge_balance_positive_product_flat_rectanglerowsrow_tableentryvalue))))))))) /\ (forall srt_index_product_flat_rectanglerows. (exists pvs_gap_product_flat_rectanglerowsbound. pvs_gap_product_flat_rectanglerowsbound + S (srt_index_product_flat_rectanglerows) = (m)) -> exists srt_value_product_flat_rectanglerows. (((exists dst_positive_code_product_flat_rectanglerowsrowentry dst_positive_scale_product_flat_rectanglerowsrowentry dst_negative_code_product_flat_rectanglerowsrowentry dst_negative_scale_product_flat_rectanglerowsrowentry dst_positive_product_flat_rectanglerowsrowentry dst_negative_product_flat_rectanglerowsrowentry. (((srt_rows_product_flat_rectangle) = (((((dst_positive_code_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry)) * S ((dst_positive_code_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry)) + ((dst_positive_scale_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry))) + (((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) * S ((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) + ((dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry)) * S ((dst_positive_code_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry)) + ((dst_positive_scale_product_flat_rectanglerowsrowentry) + (dst_positive_scale_product_flat_rectanglerowsrowentry))) + (((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) * S ((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) + ((dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)))) + ((((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) * S ((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) + ((dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry))) + (((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) * S ((dst_negative_code_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)) + ((dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_scale_product_flat_rectanglerowsrowentry)))))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowentrypositive. ff_h_pvs_product_flat_rectanglerowsrowentrypositive + S (dst_positive_product_flat_rectanglerowsrowentry) = S ((S (srt_index_product_flat_rectanglerows)) * dst_positive_scale_product_flat_rectanglerowsrowentry)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowentrypositive. dst_positive_code_product_flat_rectanglerowsrowentry = ff_q_pvs_product_flat_rectanglerowsrowentrypositive * S ((S (srt_index_product_flat_rectanglerows)) * dst_positive_scale_product_flat_rectanglerowsrowentry) + (dst_positive_product_flat_rectanglerowsrowentry))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowentrynegative. ff_h_pvs_product_flat_rectanglerowsrowentrynegative + S (dst_negative_product_flat_rectanglerowsrowentry) = S ((S (srt_index_product_flat_rectanglerows)) * dst_negative_scale_product_flat_rectanglerowsrowentry)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowentrynegative. dst_negative_code_product_flat_rectanglerowsrowentry = ff_q_pvs_product_flat_rectanglerowsrowentrynegative * S ((S (srt_index_product_flat_rectanglerows)) * dst_negative_scale_product_flat_rectanglerowsrowentry) + (dst_negative_product_flat_rectanglerowsrowentry))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowentryvalue ge_balance_negative_product_flat_rectanglerowsrowentryvalue. (((((srt_value_product_flat_rectanglerows) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowentryvaluedecode. (((srt_value_product_flat_rectanglerows) = 2 * ge_signed_half_product_flat_rectanglerowsrowentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowentryvalue) = S ge_signed_half_product_flat_rectanglerowsrowentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowentry) + ge_balance_negative_product_flat_rectanglerowsrowentryvalue = (dst_negative_product_flat_rectanglerowsrowentry) + ge_balance_positive_product_flat_rectanglerowsrowentryvalue))))))))) /\ (exists srs_slice_product_flat_rectanglerowsrowrow_sum. ((((exists dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table. (((T) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)))))) /\ (forall dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table. (exists pvs_le_gap_product_flat_rectanglerowsrowrow_sumslicesource_tabledomain. pvs_le_gap_product_flat_rectanglerowsrowrow_sumslicesource_tabledomain + (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table) = (0)) -> exists dst_positive_product_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_product_flat_rectanglerowsrowrow_sumslicesource_table dst_value_product_flat_rectanglerowsrowrow_sumslicesource_table. ((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive. ff_h_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive + S (dst_positive_product_flat_rectanglerowsrowrow_sumslicesource_table) = S ((S (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive. dst_positive_code_product_flat_rectanglerowsrowrow_sumslicesource_table = ff_q_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive * S ((S (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_product_flat_rectanglerowsrowrow_sumslicesource_table))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative. ff_h_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative + S (dst_negative_product_flat_rectanglerowsrowrow_sumslicesource_table) = S ((S (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative. dst_negative_code_product_flat_rectanglerowsrowrow_sumslicesource_table = ff_q_pvs_product_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative * S ((S (dst_index_product_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_product_flat_rectanglerowsrowrow_sumslicesource_table))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue ge_balance_negative_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue. (((((dst_value_product_flat_rectanglerowsrowrow_sumslicesource_table) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode. (((dst_value_product_flat_rectanglerowsrowrow_sumslicesource_table) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowrow_sumslicesource_table) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue = (dst_negative_product_flat_rectanglerowsrowrow_sumslicesource_table) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table. (((srs_slice_product_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)))))) /\ (forall dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table. (exists pvs_le_gap_product_flat_rectanglerowsrowrow_sumsliceoutput_tabledomain. pvs_le_gap_product_flat_rectanglerowsrowrow_sumsliceoutput_tabledomain + (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = (n)) -> exists dst_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_table dst_value_product_flat_rectanglerowsrowrow_sumsliceoutput_table. ((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive + S (dst_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = S ((S (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive. dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive * S ((S (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative + S (dst_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = S ((S (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative. dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceoutput_table = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative * S ((S (dst_index_product_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_table))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue. (((((dst_value_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode. (((dst_value_product_flat_rectanglerowsrowrow_sumsliceoutput_table) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue = (dst_negative_product_flat_rectanglerowsrowrow_sumsliceoutput_table) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_product_flat_rectanglerowsrowrow_sumslice. (exists pvs_gap_product_flat_rectanglerowsrowrow_sumslicebound. pvs_gap_product_flat_rectanglerowsrowrow_sumslicebound + S (srs_index_product_flat_rectanglerowsrowrow_sumslice) = (n)) -> exists srs_value_product_flat_rectanglerowsrowrow_sumslice. (((exists dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_positive_product_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_product_flat_rectanglerowsrowrow_sumsliceentrysource. (((T) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)))))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcepositive. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcepositive + S (dst_positive_product_flat_rectanglerowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_product_flat_rectanglerows)))) + ((1) * (srs_index_product_flat_rectanglerowsrowrow_sumslice))))) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcepositive. dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentrysource = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcepositive * S ((S (((((0) + ((n) * (srt_index_product_flat_rectanglerows)))) + ((1) * (srs_index_product_flat_rectanglerowsrowrow_sumslice))))) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_product_flat_rectanglerowsrowrow_sumsliceentrysource))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcenegative. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcenegative + S (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_product_flat_rectanglerows)))) + ((1) * (srs_index_product_flat_rectanglerowsrowrow_sumslice))))) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcenegative. dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentrysource = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentrysourcenegative * S ((S (((((0) + ((n) * (srt_index_product_flat_rectanglerows)))) + ((1) * (srs_index_product_flat_rectanglerowsrowrow_sumslice))))) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentrysource))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue. (((((srs_value_product_flat_rectanglerowsrowrow_sumslice) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode. (((srs_value_product_flat_rectanglerowsrowrow_sumslice) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowrow_sumsliceentrysource) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue = (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentrysource) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutput. (((srs_slice_product_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)))))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputpositive. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputpositive + S (dst_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutput) = S ((S (srs_index_product_flat_rectanglerowsrowrow_sumslice)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputpositive. dst_positive_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputpositive * S ((S (srs_index_product_flat_rectanglerowsrowrow_sumslice)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) /\ (((((exists ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputnegative. ff_h_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputnegative + S (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutput) = S ((S (srs_index_product_flat_rectanglerowsrowrow_sumslice)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputnegative. dst_negative_code_product_flat_rectanglerowsrowrow_sumsliceentryoutput = ff_q_pvs_product_flat_rectanglerowsrowrow_sumsliceentryoutputnegative * S ((S (srs_index_product_flat_rectanglerowsrowrow_sumslice)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutput))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue. (((((srs_value_product_flat_rectanglerowsrowrow_sumslice) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode. (((srs_value_product_flat_rectanglerowsrowrow_sumslice) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode))) /\ ((dst_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue = (dst_negative_product_flat_rectanglerowsrowrow_sumsliceentryoutput) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_product_flat_rectanglerowsrowrow_sumsum dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum dst_negative_code_product_flat_rectanglerowsrowrow_sumsum dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum dst_positive_sum_product_flat_rectanglerowsrowrow_sumsum dst_negative_sum_product_flat_rectanglerowsrowrow_sumsum. (((srs_slice_product_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)))) * S ((((dst_positive_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_positive_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)))) + ((((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)))))) /\ (((exists fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive. ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_start. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_start. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_start * S ((S (0)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive) + (0))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_terminal. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_terminal + S (dst_positive_sum_product_flat_rectanglerowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_terminal. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_terminal * S ((S (n)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive) + (dst_positive_sum_product_flat_rectanglerowsrowrow_sumsum))) /\ forall fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps. (exists fs_lt_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_bound. fs_lt_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_bound + S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps = n) -> exists fs_a_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps fs_r_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps fs_s_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps. ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand + S (fs_a_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand. dst_positive_code_product_flat_rectanglerowsrowrow_sumsum = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand * S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_product_flat_rectanglerowsrowrow_sumsum) + (fs_a_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial + S (fs_r_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial * S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive) + (fs_r_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor + S (fs_s_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor * S ((S (S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumpositive) + (fs_s_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ fs_s_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps = fs_r_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps + fs_a_dst_product_flat_rectanglerowsrowrow_sumsumpositive_body_steps)))))) /\ (((exists fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative. ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_start. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_start. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_start * S ((S (0)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative) + (0))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_terminal. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_terminal + S (dst_negative_sum_product_flat_rectanglerowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_terminal. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_terminal * S ((S (n)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative) + (dst_negative_sum_product_flat_rectanglerowsrowrow_sumsum))) /\ forall fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps. (exists fs_lt_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_bound. fs_lt_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_bound + S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps = n) -> exists fs_a_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps fs_r_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps fs_s_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps. ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand + S (fs_a_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand. dst_negative_code_product_flat_rectanglerowsrowrow_sumsum = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand * S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_product_flat_rectanglerowsrowrow_sumsum) + (fs_a_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial + S (fs_r_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial * S ((S (fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative) + (fs_r_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor. fs_h_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor + S (fs_s_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor. fs_u_dst_product_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor * S ((S (S fs_i_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_product_flat_rectanglerowsrowrow_sumsumnegative) + (fs_s_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ fs_s_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps = fs_r_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps + fs_a_dst_product_flat_rectanglerowsrowrow_sumsumnegative_body_steps)))))) /\ (exists ge_balance_positive_product_flat_rectanglerowsrowrow_sumsumresult ge_balance_negative_product_flat_rectanglerowsrowrow_sumsumresult. (((((srt_value_product_flat_rectanglerows) = 2 * (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsumresult) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsumresult) = 0) \/ exists ge_signed_half_product_flat_rectanglerowsrowrow_sumsumresultdecode. (((srt_value_product_flat_rectanglerows) = 2 * ge_signed_half_product_flat_rectanglerowsrowrow_sumsumresultdecode + 1 /\ (ge_balance_positive_product_flat_rectanglerowsrowrow_sumsumresult) = 0) /\ (ge_balance_negative_product_flat_rectanglerowsrowrow_sumsumresult) = S ge_signed_half_product_flat_rectanglerowsrowrow_sumsumresultdecode))) /\ ((dst_positive_sum_product_flat_rectanglerowsrowrow_sumsum) + ge_balance_negative_product_flat_rectanglerowsrowrow_sumsumresult = (dst_negative_sum_product_flat_rectanglerowsrowrow_sumsum) + ge_balance_positive_product_flat_rectanglerowsrowrow_sumsumresult)))))))))))))))))) /\ (exists dst_positive_code_product_flat_rectangletotal dst_positive_scale_product_flat_rectangletotal dst_negative_code_product_flat_rectangletotal dst_negative_scale_product_flat_rectangletotal dst_positive_sum_product_flat_rectangletotal dst_negative_sum_product_flat_rectangletotal. (((srt_rows_product_flat_rectangle) = (((((dst_positive_code_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal)) * S ((dst_positive_code_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal)) + ((dst_positive_scale_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal))) + (((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) * S ((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) + ((dst_negative_scale_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)))) * S ((((dst_positive_code_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal)) * S ((dst_positive_code_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal)) + ((dst_positive_scale_product_flat_rectangletotal) + (dst_positive_scale_product_flat_rectangletotal))) + (((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) * S ((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) + ((dst_negative_scale_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)))) + ((((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) * S ((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) + ((dst_negative_scale_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal))) + (((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) * S ((dst_negative_code_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)) + ((dst_negative_scale_product_flat_rectangletotal) + (dst_negative_scale_product_flat_rectangletotal)))))) /\ (((exists fs_u_dst_product_flat_rectangletotalpositive fs_v_dst_product_flat_rectangletotalpositive. ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_start. fs_h_dst_product_flat_rectangletotalpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_rectangletotalpositive)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_start. fs_u_dst_product_flat_rectangletotalpositive = fs_q_dst_product_flat_rectangletotalpositive_body_start * S ((S (0)) * fs_v_dst_product_flat_rectangletotalpositive) + (0))) /\ ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_terminal. fs_h_dst_product_flat_rectangletotalpositive_body_terminal + S (dst_positive_sum_product_flat_rectangletotal) = S ((S (m)) * fs_v_dst_product_flat_rectangletotalpositive)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_terminal. fs_u_dst_product_flat_rectangletotalpositive = fs_q_dst_product_flat_rectangletotalpositive_body_terminal * S ((S (m)) * fs_v_dst_product_flat_rectangletotalpositive) + (dst_positive_sum_product_flat_rectangletotal))) /\ forall fs_i_dst_product_flat_rectangletotalpositive_body_steps. (exists fs_lt_dst_product_flat_rectangletotalpositive_body_steps_bound. fs_lt_dst_product_flat_rectangletotalpositive_body_steps_bound + S fs_i_dst_product_flat_rectangletotalpositive_body_steps = m) -> exists fs_a_dst_product_flat_rectangletotalpositive_body_steps fs_r_dst_product_flat_rectangletotalpositive_body_steps fs_s_dst_product_flat_rectangletotalpositive_body_steps. ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_steps_summand. fs_h_dst_product_flat_rectangletotalpositive_body_steps_summand + S (fs_a_dst_product_flat_rectangletotalpositive_body_steps) = S ((S (fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * dst_positive_scale_product_flat_rectangletotal)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_steps_summand. dst_positive_code_product_flat_rectangletotal = fs_q_dst_product_flat_rectangletotalpositive_body_steps_summand * S ((S (fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * dst_positive_scale_product_flat_rectangletotal) + (fs_a_dst_product_flat_rectangletotalpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_steps_partial. fs_h_dst_product_flat_rectangletotalpositive_body_steps_partial + S (fs_r_dst_product_flat_rectangletotalpositive_body_steps) = S ((S (fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * fs_v_dst_product_flat_rectangletotalpositive)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_steps_partial. fs_u_dst_product_flat_rectangletotalpositive = fs_q_dst_product_flat_rectangletotalpositive_body_steps_partial * S ((S (fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * fs_v_dst_product_flat_rectangletotalpositive) + (fs_r_dst_product_flat_rectangletotalpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectangletotalpositive_body_steps_successor. fs_h_dst_product_flat_rectangletotalpositive_body_steps_successor + S (fs_s_dst_product_flat_rectangletotalpositive_body_steps) = S ((S (S fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * fs_v_dst_product_flat_rectangletotalpositive)) /\ exists fs_q_dst_product_flat_rectangletotalpositive_body_steps_successor. fs_u_dst_product_flat_rectangletotalpositive = fs_q_dst_product_flat_rectangletotalpositive_body_steps_successor * S ((S (S fs_i_dst_product_flat_rectangletotalpositive_body_steps)) * fs_v_dst_product_flat_rectangletotalpositive) + (fs_s_dst_product_flat_rectangletotalpositive_body_steps))) /\ fs_s_dst_product_flat_rectangletotalpositive_body_steps = fs_r_dst_product_flat_rectangletotalpositive_body_steps + fs_a_dst_product_flat_rectangletotalpositive_body_steps)))))) /\ (((exists fs_u_dst_product_flat_rectangletotalnegative fs_v_dst_product_flat_rectangletotalnegative. ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_start. fs_h_dst_product_flat_rectangletotalnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_rectangletotalnegative)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_start. fs_u_dst_product_flat_rectangletotalnegative = fs_q_dst_product_flat_rectangletotalnegative_body_start * S ((S (0)) * fs_v_dst_product_flat_rectangletotalnegative) + (0))) /\ ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_terminal. fs_h_dst_product_flat_rectangletotalnegative_body_terminal + S (dst_negative_sum_product_flat_rectangletotal) = S ((S (m)) * fs_v_dst_product_flat_rectangletotalnegative)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_terminal. fs_u_dst_product_flat_rectangletotalnegative = fs_q_dst_product_flat_rectangletotalnegative_body_terminal * S ((S (m)) * fs_v_dst_product_flat_rectangletotalnegative) + (dst_negative_sum_product_flat_rectangletotal))) /\ forall fs_i_dst_product_flat_rectangletotalnegative_body_steps. (exists fs_lt_dst_product_flat_rectangletotalnegative_body_steps_bound. fs_lt_dst_product_flat_rectangletotalnegative_body_steps_bound + S fs_i_dst_product_flat_rectangletotalnegative_body_steps = m) -> exists fs_a_dst_product_flat_rectangletotalnegative_body_steps fs_r_dst_product_flat_rectangletotalnegative_body_steps fs_s_dst_product_flat_rectangletotalnegative_body_steps. ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_steps_summand. fs_h_dst_product_flat_rectangletotalnegative_body_steps_summand + S (fs_a_dst_product_flat_rectangletotalnegative_body_steps) = S ((S (fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * dst_negative_scale_product_flat_rectangletotal)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_steps_summand. dst_negative_code_product_flat_rectangletotal = fs_q_dst_product_flat_rectangletotalnegative_body_steps_summand * S ((S (fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * dst_negative_scale_product_flat_rectangletotal) + (fs_a_dst_product_flat_rectangletotalnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_steps_partial. fs_h_dst_product_flat_rectangletotalnegative_body_steps_partial + S (fs_r_dst_product_flat_rectangletotalnegative_body_steps) = S ((S (fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * fs_v_dst_product_flat_rectangletotalnegative)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_steps_partial. fs_u_dst_product_flat_rectangletotalnegative = fs_q_dst_product_flat_rectangletotalnegative_body_steps_partial * S ((S (fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * fs_v_dst_product_flat_rectangletotalnegative) + (fs_r_dst_product_flat_rectangletotalnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_rectangletotalnegative_body_steps_successor. fs_h_dst_product_flat_rectangletotalnegative_body_steps_successor + S (fs_s_dst_product_flat_rectangletotalnegative_body_steps) = S ((S (S fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * fs_v_dst_product_flat_rectangletotalnegative)) /\ exists fs_q_dst_product_flat_rectangletotalnegative_body_steps_successor. fs_u_dst_product_flat_rectangletotalnegative = fs_q_dst_product_flat_rectangletotalnegative_body_steps_successor * S ((S (S fs_i_dst_product_flat_rectangletotalnegative_body_steps)) * fs_v_dst_product_flat_rectangletotalnegative) + (fs_s_dst_product_flat_rectangletotalnegative_body_steps))) /\ fs_s_dst_product_flat_rectangletotalnegative_body_steps = fs_r_dst_product_flat_rectangletotalnegative_body_steps + fs_a_dst_product_flat_rectangletotalnegative_body_steps)))))) /\ (exists ge_balance_positive_product_flat_rectangletotalresult ge_balance_negative_product_flat_rectangletotalresult. (((((c) = 2 * (ge_balance_positive_product_flat_rectangletotalresult) /\ (ge_balance_negative_product_flat_rectangletotalresult) = 0) \/ exists ge_signed_half_product_flat_rectangletotalresultdecode. (((c) = 2 * ge_signed_half_product_flat_rectangletotalresultdecode + 1 /\ (ge_balance_positive_product_flat_rectangletotalresult) = 0) /\ (ge_balance_negative_product_flat_rectangletotalresult) = S ge_signed_half_product_flat_rectangletotalresultdecode))) /\ ((dst_positive_sum_product_flat_rectangletotal) + ge_balance_negative_product_flat_rectangletotalresult = (dst_negative_sum_product_flat_rectangletotal) + ge_balance_positive_product_flat_rectangletotalresult))))))))))) -> (exists dst_positive_code_product_flat_prefix dst_positive_scale_product_flat_prefix dst_negative_code_product_flat_prefix dst_negative_scale_product_flat_prefix dst_positive_sum_product_flat_prefix dst_negative_sum_product_flat_prefix. (((T) = (((((dst_positive_code_product_flat_prefix) + (dst_positive_scale_product_flat_prefix)) * S ((dst_positive_code_product_flat_prefix) + (dst_positive_scale_product_flat_prefix)) + ((dst_positive_scale_product_flat_prefix) + (dst_positive_scale_product_flat_prefix))) + (((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) * S ((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) + ((dst_negative_scale_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)))) * S ((((dst_positive_code_product_flat_prefix) + (dst_positive_scale_product_flat_prefix)) * S ((dst_positive_code_product_flat_prefix) + (dst_positive_scale_product_flat_prefix)) + ((dst_positive_scale_product_flat_prefix) + (dst_positive_scale_product_flat_prefix))) + (((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) * S ((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) + ((dst_negative_scale_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)))) + ((((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) * S ((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) + ((dst_negative_scale_product_flat_prefix) + (dst_negative_scale_product_flat_prefix))) + (((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) * S ((dst_negative_code_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)) + ((dst_negative_scale_product_flat_prefix) + (dst_negative_scale_product_flat_prefix)))))) /\ (((exists fs_u_dst_product_flat_prefixpositive fs_v_dst_product_flat_prefixpositive. ((((exists fs_h_dst_product_flat_prefixpositive_body_start. fs_h_dst_product_flat_prefixpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_prefixpositive)) /\ exists fs_q_dst_product_flat_prefixpositive_body_start. fs_u_dst_product_flat_prefixpositive = fs_q_dst_product_flat_prefixpositive_body_start * S ((S (0)) * fs_v_dst_product_flat_prefixpositive) + (0))) /\ ((((exists fs_h_dst_product_flat_prefixpositive_body_terminal. fs_h_dst_product_flat_prefixpositive_body_terminal + S (dst_positive_sum_product_flat_prefix) = S ((S (m*n)) * fs_v_dst_product_flat_prefixpositive)) /\ exists fs_q_dst_product_flat_prefixpositive_body_terminal. fs_u_dst_product_flat_prefixpositive = fs_q_dst_product_flat_prefixpositive_body_terminal * S ((S (m*n)) * fs_v_dst_product_flat_prefixpositive) + (dst_positive_sum_product_flat_prefix))) /\ forall fs_i_dst_product_flat_prefixpositive_body_steps. (exists fs_lt_dst_product_flat_prefixpositive_body_steps_bound. fs_lt_dst_product_flat_prefixpositive_body_steps_bound + S fs_i_dst_product_flat_prefixpositive_body_steps = m*n) -> exists fs_a_dst_product_flat_prefixpositive_body_steps fs_r_dst_product_flat_prefixpositive_body_steps fs_s_dst_product_flat_prefixpositive_body_steps. ((((exists fs_h_dst_product_flat_prefixpositive_body_steps_summand. fs_h_dst_product_flat_prefixpositive_body_steps_summand + S (fs_a_dst_product_flat_prefixpositive_body_steps) = S ((S (fs_i_dst_product_flat_prefixpositive_body_steps)) * dst_positive_scale_product_flat_prefix)) /\ exists fs_q_dst_product_flat_prefixpositive_body_steps_summand. dst_positive_code_product_flat_prefix = fs_q_dst_product_flat_prefixpositive_body_steps_summand * S ((S (fs_i_dst_product_flat_prefixpositive_body_steps)) * dst_positive_scale_product_flat_prefix) + (fs_a_dst_product_flat_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_prefixpositive_body_steps_partial. fs_h_dst_product_flat_prefixpositive_body_steps_partial + S (fs_r_dst_product_flat_prefixpositive_body_steps) = S ((S (fs_i_dst_product_flat_prefixpositive_body_steps)) * fs_v_dst_product_flat_prefixpositive)) /\ exists fs_q_dst_product_flat_prefixpositive_body_steps_partial. fs_u_dst_product_flat_prefixpositive = fs_q_dst_product_flat_prefixpositive_body_steps_partial * S ((S (fs_i_dst_product_flat_prefixpositive_body_steps)) * fs_v_dst_product_flat_prefixpositive) + (fs_r_dst_product_flat_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_product_flat_prefixpositive_body_steps_successor. fs_h_dst_product_flat_prefixpositive_body_steps_successor + S (fs_s_dst_product_flat_prefixpositive_body_steps) = S ((S (S fs_i_dst_product_flat_prefixpositive_body_steps)) * fs_v_dst_product_flat_prefixpositive)) /\ exists fs_q_dst_product_flat_prefixpositive_body_steps_successor. fs_u_dst_product_flat_prefixpositive = fs_q_dst_product_flat_prefixpositive_body_steps_successor * S ((S (S fs_i_dst_product_flat_prefixpositive_body_steps)) * fs_v_dst_product_flat_prefixpositive) + (fs_s_dst_product_flat_prefixpositive_body_steps))) /\ fs_s_dst_product_flat_prefixpositive_body_steps = fs_r_dst_product_flat_prefixpositive_body_steps + fs_a_dst_product_flat_prefixpositive_body_steps)))))) /\ (((exists fs_u_dst_product_flat_prefixnegative fs_v_dst_product_flat_prefixnegative. ((((exists fs_h_dst_product_flat_prefixnegative_body_start. fs_h_dst_product_flat_prefixnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_product_flat_prefixnegative)) /\ exists fs_q_dst_product_flat_prefixnegative_body_start. fs_u_dst_product_flat_prefixnegative = fs_q_dst_product_flat_prefixnegative_body_start * S ((S (0)) * fs_v_dst_product_flat_prefixnegative) + (0))) /\ ((((exists fs_h_dst_product_flat_prefixnegative_body_terminal. fs_h_dst_product_flat_prefixnegative_body_terminal + S (dst_negative_sum_product_flat_prefix) = S ((S (m*n)) * fs_v_dst_product_flat_prefixnegative)) /\ exists fs_q_dst_product_flat_prefixnegative_body_terminal. fs_u_dst_product_flat_prefixnegative = fs_q_dst_product_flat_prefixnegative_body_terminal * S ((S (m*n)) * fs_v_dst_product_flat_prefixnegative) + (dst_negative_sum_product_flat_prefix))) /\ forall fs_i_dst_product_flat_prefixnegative_body_steps. (exists fs_lt_dst_product_flat_prefixnegative_body_steps_bound. fs_lt_dst_product_flat_prefixnegative_body_steps_bound + S fs_i_dst_product_flat_prefixnegative_body_steps = m*n) -> exists fs_a_dst_product_flat_prefixnegative_body_steps fs_r_dst_product_flat_prefixnegative_body_steps fs_s_dst_product_flat_prefixnegative_body_steps. ((((exists fs_h_dst_product_flat_prefixnegative_body_steps_summand. fs_h_dst_product_flat_prefixnegative_body_steps_summand + S (fs_a_dst_product_flat_prefixnegative_body_steps) = S ((S (fs_i_dst_product_flat_prefixnegative_body_steps)) * dst_negative_scale_product_flat_prefix)) /\ exists fs_q_dst_product_flat_prefixnegative_body_steps_summand. dst_negative_code_product_flat_prefix = fs_q_dst_product_flat_prefixnegative_body_steps_summand * S ((S (fs_i_dst_product_flat_prefixnegative_body_steps)) * dst_negative_scale_product_flat_prefix) + (fs_a_dst_product_flat_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_prefixnegative_body_steps_partial. fs_h_dst_product_flat_prefixnegative_body_steps_partial + S (fs_r_dst_product_flat_prefixnegative_body_steps) = S ((S (fs_i_dst_product_flat_prefixnegative_body_steps)) * fs_v_dst_product_flat_prefixnegative)) /\ exists fs_q_dst_product_flat_prefixnegative_body_steps_partial. fs_u_dst_product_flat_prefixnegative = fs_q_dst_product_flat_prefixnegative_body_steps_partial * S ((S (fs_i_dst_product_flat_prefixnegative_body_steps)) * fs_v_dst_product_flat_prefixnegative) + (fs_r_dst_product_flat_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_product_flat_prefixnegative_body_steps_successor. fs_h_dst_product_flat_prefixnegative_body_steps_successor + S (fs_s_dst_product_flat_prefixnegative_body_steps) = S ((S (S fs_i_dst_product_flat_prefixnegative_body_steps)) * fs_v_dst_product_flat_prefixnegative)) /\ exists fs_q_dst_product_flat_prefixnegative_body_steps_successor. fs_u_dst_product_flat_prefixnegative = fs_q_dst_product_flat_prefixnegative_body_steps_successor * S ((S (S fs_i_dst_product_flat_prefixnegative_body_steps)) * fs_v_dst_product_flat_prefixnegative) + (fs_s_dst_product_flat_prefixnegative_body_steps))) /\ fs_s_dst_product_flat_prefixnegative_body_steps = fs_r_dst_product_flat_prefixnegative_body_steps + fs_a_dst_product_flat_prefixnegative_body_steps)))))) /\ (exists ge_balance_positive_product_flat_prefixresult ge_balance_negative_product_flat_prefixresult. (((((c) = 2 * (ge_balance_positive_product_flat_prefixresult) /\ (ge_balance_negative_product_flat_prefixresult) = 0) \/ exists ge_signed_half_product_flat_prefixresultdecode. (((c) = 2 * ge_signed_half_product_flat_prefixresultdecode + 1 /\ (ge_balance_positive_product_flat_prefixresult) = 0) /\ (ge_balance_negative_product_flat_prefixresult) = S ge_signed_half_product_flat_prefixresultdecode))) /\ ((dst_positive_sum_product_flat_prefix) + ge_balance_negative_product_flat_prefixresult = (dst_negative_sum_product_flat_prefix) + ge_balance_positive_product_flat_prefixresult)))))))))))
  26. 0026specialize signed_prefix_sum_row_major_iff (T)
  27. 0027specialize signed_prefix_sum_row_major_iff (m)
  28. 0028specialize signed_prefix_sum_row_major_iff (n)
  29. 0029specialize signed_prefix_sum_row_major_iff (c)
  30. 0030apply signed_prefix_sum_row_major_iff
  31. 0031specialize signed_table_domain_resize (m*n)
  32. 0032specialize signed_table_domain_resize (0)
  33. 0033specialize signed_table_domain_resize (T)
  34. 0034apply signed_table_domain_resize
  35. 0035cases hp
  36. 0036cases hp_right
  37. 0037cases hp_right_right
  38. 0038exact hp_right_right_left
  39. 0039cases hi
  40. 0040apply hi_left
  41. 0041exact hc