MX001D

signed_prefix_sum_row_major_iff

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

The actual flattened signed prefix and actual row-major rectangle are equivalent, not merely two transposed rectangular folds.

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 m n z. (exists dst_positive_code_flat_source dst_positive_scale_flat_source dst_negative_code_flat_source dst_negative_scale_flat_source. (((F) = (((((dst_positive_code_flat_source) + (dst_positive_scale_flat_source)) * S ((dst_positive_code_flat_source) + (dst_positive_scale_flat_source)) + ((dst_positive_scale_flat_source) + (dst_positive_scale_flat_source))) + (((dst_negative_code_flat_source) + (dst_negative_scale_flat_source)) * S ((dst_negative_code_flat_source) + (dst_negative_scale_flat_source)) + ((dst_negative_scale_flat_source) + (dst_negative_scale_flat_source)))) * S ((((dst_positive_code_flat_source) + (dst_positive_scale_flat_source)) * S ((dst_positive_code_flat_source) + (dst_positive_scale_flat_source)) + ((dst_positive_scale_flat_source) + (dst_positive_scale_flat_source))) + (((dst_negative_code_flat_source) + (dst_negative_scale_flat_source)) * S ((dst_negative_code_flat_source) + (dst_negative_scale_flat_source)) + ((dst_negative_scale_flat_source) + (dst_negative_scale_flat_source)))) + ((((dst_negative_code_flat_source) + (dst_negative_scale_flat_source)) * S ((dst_negative_code_flat_source) + (dst_negative_scale_flat_source)) + ((dst_negative_scale_flat_source) + (dst_negative_scale_flat_source))) + (((dst_negative_code_flat_source) + (dst_negative_scale_flat_source)) * S ((dst_negative_code_flat_source) + (dst_negative_scale_flat_source)) + ((dst_negative_scale_flat_source) + (dst_negative_scale_flat_source)))))) /\ (forall dst_index_flat_source. (exists pvs_le_gap_flat_sourcedomain. pvs_le_gap_flat_sourcedomain + (dst_index_flat_source) = (0)) -> exists dst_positive_flat_source dst_negative_flat_source dst_value_flat_source. ((((exists ff_h_pvs_flat_sourceentrypositive. ff_h_pvs_flat_sourceentrypositive + S (dst_positive_flat_source) = S ((S (dst_index_flat_source)) * dst_positive_scale_flat_source)) /\ exists ff_q_pvs_flat_sourceentrypositive. dst_positive_code_flat_source = ff_q_pvs_flat_sourceentrypositive * S ((S (dst_index_flat_source)) * dst_positive_scale_flat_source) + (dst_positive_flat_source))) /\ (((((exists ff_h_pvs_flat_sourceentrynegative. ff_h_pvs_flat_sourceentrynegative + S (dst_negative_flat_source) = S ((S (dst_index_flat_source)) * dst_negative_scale_flat_source)) /\ exists ff_q_pvs_flat_sourceentrynegative. dst_negative_code_flat_source = ff_q_pvs_flat_sourceentrynegative * S ((S (dst_index_flat_source)) * dst_negative_scale_flat_source) + (dst_negative_flat_source))) /\ (exists ge_balance_positive_flat_sourceentryvalue ge_balance_negative_flat_sourceentryvalue. (((((dst_value_flat_source) = 2 * (ge_balance_positive_flat_sourceentryvalue) /\ (ge_balance_negative_flat_sourceentryvalue) = 0) \/ exists ge_signed_half_flat_sourceentryvaluedecode. (((dst_value_flat_source) = 2 * ge_signed_half_flat_sourceentryvaluedecode + 1 /\ (ge_balance_positive_flat_sourceentryvalue) = 0) /\ (ge_balance_negative_flat_sourceentryvalue) = S ge_signed_half_flat_sourceentryvaluedecode))) /\ ((dst_positive_flat_source) + ge_balance_negative_flat_sourceentryvalue = (dst_negative_flat_source) + ge_balance_positive_flat_sourceentryvalue))))))))) -> (((exists dst_positive_code_flat_prefix dst_positive_scale_flat_prefix dst_negative_code_flat_prefix dst_negative_scale_flat_prefix dst_positive_sum_flat_prefix dst_negative_sum_flat_prefix. (((F) = (((((dst_positive_code_flat_prefix) + (dst_positive_scale_flat_prefix)) * S ((dst_positive_code_flat_prefix) + (dst_positive_scale_flat_prefix)) + ((dst_positive_scale_flat_prefix) + (dst_positive_scale_flat_prefix))) + (((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) * S ((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) + ((dst_negative_scale_flat_prefix) + (dst_negative_scale_flat_prefix)))) * S ((((dst_positive_code_flat_prefix) + (dst_positive_scale_flat_prefix)) * S ((dst_positive_code_flat_prefix) + (dst_positive_scale_flat_prefix)) + ((dst_positive_scale_flat_prefix) + (dst_positive_scale_flat_prefix))) + (((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) * S ((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) + ((dst_negative_scale_flat_prefix) + (dst_negative_scale_flat_prefix)))) + ((((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) * S ((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) + ((dst_negative_scale_flat_prefix) + (dst_negative_scale_flat_prefix))) + (((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) * S ((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) + ((dst_negative_scale_flat_prefix) + (dst_negative_scale_flat_prefix)))))) /\ (((exists fs_u_dst_flat_prefixpositive fs_v_dst_flat_prefixpositive. ((((exists fs_h_dst_flat_prefixpositive_body_start. fs_h_dst_flat_prefixpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_prefixpositive)) /\ exists fs_q_dst_flat_prefixpositive_body_start. fs_u_dst_flat_prefixpositive = fs_q_dst_flat_prefixpositive_body_start * S ((S (0)) * fs_v_dst_flat_prefixpositive) + (0))) /\ ((((exists fs_h_dst_flat_prefixpositive_body_terminal. fs_h_dst_flat_prefixpositive_body_terminal + S (dst_positive_sum_flat_prefix) = S ((S (m*n)) * fs_v_dst_flat_prefixpositive)) /\ exists fs_q_dst_flat_prefixpositive_body_terminal. fs_u_dst_flat_prefixpositive = fs_q_dst_flat_prefixpositive_body_terminal * S ((S (m*n)) * fs_v_dst_flat_prefixpositive) + (dst_positive_sum_flat_prefix))) /\ forall fs_i_dst_flat_prefixpositive_body_steps. (exists fs_lt_dst_flat_prefixpositive_body_steps_bound. fs_lt_dst_flat_prefixpositive_body_steps_bound + S fs_i_dst_flat_prefixpositive_body_steps = m*n) -> exists fs_a_dst_flat_prefixpositive_body_steps fs_r_dst_flat_prefixpositive_body_steps fs_s_dst_flat_prefixpositive_body_steps. ((((exists fs_h_dst_flat_prefixpositive_body_steps_summand. fs_h_dst_flat_prefixpositive_body_steps_summand + S (fs_a_dst_flat_prefixpositive_body_steps) = S ((S (fs_i_dst_flat_prefixpositive_body_steps)) * dst_positive_scale_flat_prefix)) /\ exists fs_q_dst_flat_prefixpositive_body_steps_summand. dst_positive_code_flat_prefix = fs_q_dst_flat_prefixpositive_body_steps_summand * S ((S (fs_i_dst_flat_prefixpositive_body_steps)) * dst_positive_scale_flat_prefix) + (fs_a_dst_flat_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_flat_prefixpositive_body_steps_partial. fs_h_dst_flat_prefixpositive_body_steps_partial + S (fs_r_dst_flat_prefixpositive_body_steps) = S ((S (fs_i_dst_flat_prefixpositive_body_steps)) * fs_v_dst_flat_prefixpositive)) /\ exists fs_q_dst_flat_prefixpositive_body_steps_partial. fs_u_dst_flat_prefixpositive = fs_q_dst_flat_prefixpositive_body_steps_partial * S ((S (fs_i_dst_flat_prefixpositive_body_steps)) * fs_v_dst_flat_prefixpositive) + (fs_r_dst_flat_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_flat_prefixpositive_body_steps_successor. fs_h_dst_flat_prefixpositive_body_steps_successor + S (fs_s_dst_flat_prefixpositive_body_steps) = S ((S (S fs_i_dst_flat_prefixpositive_body_steps)) * fs_v_dst_flat_prefixpositive)) /\ exists fs_q_dst_flat_prefixpositive_body_steps_successor. fs_u_dst_flat_prefixpositive = fs_q_dst_flat_prefixpositive_body_steps_successor * S ((S (S fs_i_dst_flat_prefixpositive_body_steps)) * fs_v_dst_flat_prefixpositive) + (fs_s_dst_flat_prefixpositive_body_steps))) /\ fs_s_dst_flat_prefixpositive_body_steps = fs_r_dst_flat_prefixpositive_body_steps + fs_a_dst_flat_prefixpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_prefixnegative fs_v_dst_flat_prefixnegative. ((((exists fs_h_dst_flat_prefixnegative_body_start. fs_h_dst_flat_prefixnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_prefixnegative)) /\ exists fs_q_dst_flat_prefixnegative_body_start. fs_u_dst_flat_prefixnegative = fs_q_dst_flat_prefixnegative_body_start * S ((S (0)) * fs_v_dst_flat_prefixnegative) + (0))) /\ ((((exists fs_h_dst_flat_prefixnegative_body_terminal. fs_h_dst_flat_prefixnegative_body_terminal + S (dst_negative_sum_flat_prefix) = S ((S (m*n)) * fs_v_dst_flat_prefixnegative)) /\ exists fs_q_dst_flat_prefixnegative_body_terminal. fs_u_dst_flat_prefixnegative = fs_q_dst_flat_prefixnegative_body_terminal * S ((S (m*n)) * fs_v_dst_flat_prefixnegative) + (dst_negative_sum_flat_prefix))) /\ forall fs_i_dst_flat_prefixnegative_body_steps. (exists fs_lt_dst_flat_prefixnegative_body_steps_bound. fs_lt_dst_flat_prefixnegative_body_steps_bound + S fs_i_dst_flat_prefixnegative_body_steps = m*n) -> exists fs_a_dst_flat_prefixnegative_body_steps fs_r_dst_flat_prefixnegative_body_steps fs_s_dst_flat_prefixnegative_body_steps. ((((exists fs_h_dst_flat_prefixnegative_body_steps_summand. fs_h_dst_flat_prefixnegative_body_steps_summand + S (fs_a_dst_flat_prefixnegative_body_steps) = S ((S (fs_i_dst_flat_prefixnegative_body_steps)) * dst_negative_scale_flat_prefix)) /\ exists fs_q_dst_flat_prefixnegative_body_steps_summand. dst_negative_code_flat_prefix = fs_q_dst_flat_prefixnegative_body_steps_summand * S ((S (fs_i_dst_flat_prefixnegative_body_steps)) * dst_negative_scale_flat_prefix) + (fs_a_dst_flat_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_flat_prefixnegative_body_steps_partial. fs_h_dst_flat_prefixnegative_body_steps_partial + S (fs_r_dst_flat_prefixnegative_body_steps) = S ((S (fs_i_dst_flat_prefixnegative_body_steps)) * fs_v_dst_flat_prefixnegative)) /\ exists fs_q_dst_flat_prefixnegative_body_steps_partial. fs_u_dst_flat_prefixnegative = fs_q_dst_flat_prefixnegative_body_steps_partial * S ((S (fs_i_dst_flat_prefixnegative_body_steps)) * fs_v_dst_flat_prefixnegative) + (fs_r_dst_flat_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_flat_prefixnegative_body_steps_successor. fs_h_dst_flat_prefixnegative_body_steps_successor + S (fs_s_dst_flat_prefixnegative_body_steps) = S ((S (S fs_i_dst_flat_prefixnegative_body_steps)) * fs_v_dst_flat_prefixnegative)) /\ exists fs_q_dst_flat_prefixnegative_body_steps_successor. fs_u_dst_flat_prefixnegative = fs_q_dst_flat_prefixnegative_body_steps_successor * S ((S (S fs_i_dst_flat_prefixnegative_body_steps)) * fs_v_dst_flat_prefixnegative) + (fs_s_dst_flat_prefixnegative_body_steps))) /\ fs_s_dst_flat_prefixnegative_body_steps = fs_r_dst_flat_prefixnegative_body_steps + fs_a_dst_flat_prefixnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_prefixresult ge_balance_negative_flat_prefixresult. (((((z) = 2 * (ge_balance_positive_flat_prefixresult) /\ (ge_balance_negative_flat_prefixresult) = 0) \/ exists ge_signed_half_flat_prefixresultdecode. (((z) = 2 * ge_signed_half_flat_prefixresultdecode + 1 /\ (ge_balance_positive_flat_prefixresult) = 0) /\ (ge_balance_negative_flat_prefixresult) = S ge_signed_half_flat_prefixresultdecode))) /\ ((dst_positive_sum_flat_prefix) + ge_balance_negative_flat_prefixresult = (dst_negative_sum_flat_prefix) + ge_balance_positive_flat_prefixresult))))))))) -> (exists srt_rows_flat_rectangle. ((((exists dst_positive_code_flat_rectanglerowssource_table dst_positive_scale_flat_rectanglerowssource_table dst_negative_code_flat_rectanglerowssource_table dst_negative_scale_flat_rectanglerowssource_table. (((F) = (((((dst_positive_code_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table)) * S ((dst_positive_code_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table)) + ((dst_positive_scale_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table))) + (((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) * S ((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) + ((dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)))) * S ((((dst_positive_code_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table)) * S ((dst_positive_code_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table)) + ((dst_positive_scale_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table))) + (((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) * S ((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) + ((dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)))) + ((((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) * S ((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) + ((dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table))) + (((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) * S ((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) + ((dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)))))) /\ (forall dst_index_flat_rectanglerowssource_table. (exists pvs_le_gap_flat_rectanglerowssource_tabledomain. pvs_le_gap_flat_rectanglerowssource_tabledomain + (dst_index_flat_rectanglerowssource_table) = (0)) -> exists dst_positive_flat_rectanglerowssource_table dst_negative_flat_rectanglerowssource_table dst_value_flat_rectanglerowssource_table. ((((exists ff_h_pvs_flat_rectanglerowssource_tableentrypositive. ff_h_pvs_flat_rectanglerowssource_tableentrypositive + S (dst_positive_flat_rectanglerowssource_table) = S ((S (dst_index_flat_rectanglerowssource_table)) * dst_positive_scale_flat_rectanglerowssource_table)) /\ exists ff_q_pvs_flat_rectanglerowssource_tableentrypositive. dst_positive_code_flat_rectanglerowssource_table = ff_q_pvs_flat_rectanglerowssource_tableentrypositive * S ((S (dst_index_flat_rectanglerowssource_table)) * dst_positive_scale_flat_rectanglerowssource_table) + (dst_positive_flat_rectanglerowssource_table))) /\ (((((exists ff_h_pvs_flat_rectanglerowssource_tableentrynegative. ff_h_pvs_flat_rectanglerowssource_tableentrynegative + S (dst_negative_flat_rectanglerowssource_table) = S ((S (dst_index_flat_rectanglerowssource_table)) * dst_negative_scale_flat_rectanglerowssource_table)) /\ exists ff_q_pvs_flat_rectanglerowssource_tableentrynegative. dst_negative_code_flat_rectanglerowssource_table = ff_q_pvs_flat_rectanglerowssource_tableentrynegative * S ((S (dst_index_flat_rectanglerowssource_table)) * dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_flat_rectanglerowssource_table))) /\ (exists ge_balance_positive_flat_rectanglerowssource_tableentryvalue ge_balance_negative_flat_rectanglerowssource_tableentryvalue. (((((dst_value_flat_rectanglerowssource_table) = 2 * (ge_balance_positive_flat_rectanglerowssource_tableentryvalue) /\ (ge_balance_negative_flat_rectanglerowssource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowssource_tableentryvaluedecode. (((dst_value_flat_rectanglerowssource_table) = 2 * ge_signed_half_flat_rectanglerowssource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowssource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowssource_tableentryvalue) = S ge_signed_half_flat_rectanglerowssource_tableentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowssource_table) + ge_balance_negative_flat_rectanglerowssource_tableentryvalue = (dst_negative_flat_rectanglerowssource_table) + ge_balance_positive_flat_rectanglerowssource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_rectanglerowsrow_table dst_positive_scale_flat_rectanglerowsrow_table dst_negative_code_flat_rectanglerowsrow_table dst_negative_scale_flat_rectanglerowsrow_table. (((srt_rows_flat_rectangle) = (((((dst_positive_code_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table)) * S ((dst_positive_code_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table)) + ((dst_positive_scale_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table))) + (((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) * S ((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) + ((dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)))) * S ((((dst_positive_code_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table)) * S ((dst_positive_code_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table)) + ((dst_positive_scale_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table))) + (((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) * S ((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) + ((dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)))) + ((((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) * S ((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) + ((dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table))) + (((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) * S ((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) + ((dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)))))) /\ (forall dst_index_flat_rectanglerowsrow_table. (exists pvs_le_gap_flat_rectanglerowsrow_tabledomain. pvs_le_gap_flat_rectanglerowsrow_tabledomain + (dst_index_flat_rectanglerowsrow_table) = (m)) -> exists dst_positive_flat_rectanglerowsrow_table dst_negative_flat_rectanglerowsrow_table dst_value_flat_rectanglerowsrow_table. ((((exists ff_h_pvs_flat_rectanglerowsrow_tableentrypositive. ff_h_pvs_flat_rectanglerowsrow_tableentrypositive + S (dst_positive_flat_rectanglerowsrow_table) = S ((S (dst_index_flat_rectanglerowsrow_table)) * dst_positive_scale_flat_rectanglerowsrow_table)) /\ exists ff_q_pvs_flat_rectanglerowsrow_tableentrypositive. dst_positive_code_flat_rectanglerowsrow_table = ff_q_pvs_flat_rectanglerowsrow_tableentrypositive * S ((S (dst_index_flat_rectanglerowsrow_table)) * dst_positive_scale_flat_rectanglerowsrow_table) + (dst_positive_flat_rectanglerowsrow_table))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrow_tableentrynegative. ff_h_pvs_flat_rectanglerowsrow_tableentrynegative + S (dst_negative_flat_rectanglerowsrow_table) = S ((S (dst_index_flat_rectanglerowsrow_table)) * dst_negative_scale_flat_rectanglerowsrow_table)) /\ exists ff_q_pvs_flat_rectanglerowsrow_tableentrynegative. dst_negative_code_flat_rectanglerowsrow_table = ff_q_pvs_flat_rectanglerowsrow_tableentrynegative * S ((S (dst_index_flat_rectanglerowsrow_table)) * dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_flat_rectanglerowsrow_table))) /\ (exists ge_balance_positive_flat_rectanglerowsrow_tableentryvalue ge_balance_negative_flat_rectanglerowsrow_tableentryvalue. (((((dst_value_flat_rectanglerowsrow_table) = 2 * (ge_balance_positive_flat_rectanglerowsrow_tableentryvalue) /\ (ge_balance_negative_flat_rectanglerowsrow_tableentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrow_tableentryvaluedecode. (((dst_value_flat_rectanglerowsrow_table) = 2 * ge_signed_half_flat_rectanglerowsrow_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrow_tableentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrow_tableentryvalue) = S ge_signed_half_flat_rectanglerowsrow_tableentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrow_table) + ge_balance_negative_flat_rectanglerowsrow_tableentryvalue = (dst_negative_flat_rectanglerowsrow_table) + ge_balance_positive_flat_rectanglerowsrow_tableentryvalue))))))))) /\ (forall srt_index_flat_rectanglerows. (exists pvs_gap_flat_rectanglerowsbound. pvs_gap_flat_rectanglerowsbound + S (srt_index_flat_rectanglerows) = (m)) -> exists srt_value_flat_rectanglerows. (((exists dst_positive_code_flat_rectanglerowsrowentry dst_positive_scale_flat_rectanglerowsrowentry dst_negative_code_flat_rectanglerowsrowentry dst_negative_scale_flat_rectanglerowsrowentry dst_positive_flat_rectanglerowsrowentry dst_negative_flat_rectanglerowsrowentry. (((srt_rows_flat_rectangle) = (((((dst_positive_code_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry)) * S ((dst_positive_code_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry)) + ((dst_positive_scale_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry))) + (((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) * S ((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) + ((dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)))) * S ((((dst_positive_code_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry)) * S ((dst_positive_code_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry)) + ((dst_positive_scale_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry))) + (((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) * S ((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) + ((dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)))) + ((((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) * S ((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) + ((dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry))) + (((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) * S ((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) + ((dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)))))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowentrypositive. ff_h_pvs_flat_rectanglerowsrowentrypositive + S (dst_positive_flat_rectanglerowsrowentry) = S ((S (srt_index_flat_rectanglerows)) * dst_positive_scale_flat_rectanglerowsrowentry)) /\ exists ff_q_pvs_flat_rectanglerowsrowentrypositive. dst_positive_code_flat_rectanglerowsrowentry = ff_q_pvs_flat_rectanglerowsrowentrypositive * S ((S (srt_index_flat_rectanglerows)) * dst_positive_scale_flat_rectanglerowsrowentry) + (dst_positive_flat_rectanglerowsrowentry))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowentrynegative. ff_h_pvs_flat_rectanglerowsrowentrynegative + S (dst_negative_flat_rectanglerowsrowentry) = S ((S (srt_index_flat_rectanglerows)) * dst_negative_scale_flat_rectanglerowsrowentry)) /\ exists ff_q_pvs_flat_rectanglerowsrowentrynegative. dst_negative_code_flat_rectanglerowsrowentry = ff_q_pvs_flat_rectanglerowsrowentrynegative * S ((S (srt_index_flat_rectanglerows)) * dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_flat_rectanglerowsrowentry))) /\ (exists ge_balance_positive_flat_rectanglerowsrowentryvalue ge_balance_negative_flat_rectanglerowsrowentryvalue. (((((srt_value_flat_rectanglerows) = 2 * (ge_balance_positive_flat_rectanglerowsrowentryvalue) /\ (ge_balance_negative_flat_rectanglerowsrowentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowentryvaluedecode. (((srt_value_flat_rectanglerows) = 2 * ge_signed_half_flat_rectanglerowsrowentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowentryvalue) = S ge_signed_half_flat_rectanglerowsrowentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowentry) + ge_balance_negative_flat_rectanglerowsrowentryvalue = (dst_negative_flat_rectanglerowsrowentry) + ge_balance_positive_flat_rectanglerowsrowentryvalue))))))))) /\ (exists srs_slice_flat_rectanglerowsrowrow_sum. ((((exists dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table. (((F) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)))))) /\ (forall dst_index_flat_rectanglerowsrowrow_sumslicesource_table. (exists pvs_le_gap_flat_rectanglerowsrowrow_sumslicesource_tabledomain. pvs_le_gap_flat_rectanglerowsrowrow_sumslicesource_tabledomain + (dst_index_flat_rectanglerowsrowrow_sumslicesource_table) = (0)) -> exists dst_positive_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_flat_rectanglerowsrowrow_sumslicesource_table dst_value_flat_rectanglerowsrowrow_sumslicesource_table. ((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive. ff_h_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive + S (dst_positive_flat_rectanglerowsrowrow_sumslicesource_table) = S ((S (dst_index_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive. dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table = ff_q_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive * S ((S (dst_index_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_flat_rectanglerowsrowrow_sumslicesource_table))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative. ff_h_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative + S (dst_negative_flat_rectanglerowsrowrow_sumslicesource_table) = S ((S (dst_index_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative. dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table = ff_q_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative * S ((S (dst_index_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_flat_rectanglerowsrowrow_sumslicesource_table))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue ge_balance_negative_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue. (((((dst_value_flat_rectanglerowsrowrow_sumslicesource_table) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode. (((dst_value_flat_rectanglerowsrowrow_sumslicesource_table) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = S ge_signed_half_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowrow_sumslicesource_table) + ge_balance_negative_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue = (dst_negative_flat_rectanglerowsrowrow_sumslicesource_table) + ge_balance_positive_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table. (((srs_slice_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)))))) /\ (forall dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table. (exists pvs_le_gap_flat_rectanglerowsrowrow_sumsliceoutput_tabledomain. pvs_le_gap_flat_rectanglerowsrowrow_sumsliceoutput_tabledomain + (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table) = (n)) -> exists dst_positive_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_flat_rectanglerowsrowrow_sumsliceoutput_table dst_value_flat_rectanglerowsrowrow_sumsliceoutput_table. ((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive + S (dst_positive_flat_rectanglerowsrowrow_sumsliceoutput_table) = S ((S (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive. dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive * S ((S (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_flat_rectanglerowsrowrow_sumsliceoutput_table))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative + S (dst_negative_flat_rectanglerowsrowrow_sumsliceoutput_table) = S ((S (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative. dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative * S ((S (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_flat_rectanglerowsrowrow_sumsliceoutput_table))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue ge_balance_negative_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue. (((((dst_value_flat_rectanglerowsrowrow_sumsliceoutput_table) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode. (((dst_value_flat_rectanglerowsrowrow_sumsliceoutput_table) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = S ge_signed_half_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowrow_sumsliceoutput_table) + ge_balance_negative_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue = (dst_negative_flat_rectanglerowsrowrow_sumsliceoutput_table) + ge_balance_positive_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_flat_rectanglerowsrowrow_sumslice. (exists pvs_gap_flat_rectanglerowsrowrow_sumslicebound. pvs_gap_flat_rectanglerowsrowrow_sumslicebound + S (srs_index_flat_rectanglerowsrowrow_sumslice) = (n)) -> exists srs_value_flat_rectanglerowsrowrow_sumslice. (((exists dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource dst_positive_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_flat_rectanglerowsrowrow_sumsliceentrysource. (((F) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)))))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcepositive. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcepositive + S (dst_positive_flat_rectanglerowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_flat_rectanglerows)))) + ((1) * (srs_index_flat_rectanglerowsrowrow_sumslice))))) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcepositive. dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcepositive * S ((S (((((0) + ((n) * (srt_index_flat_rectanglerows)))) + ((1) * (srs_index_flat_rectanglerowsrowrow_sumslice))))) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_flat_rectanglerowsrowrow_sumsliceentrysource))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcenegative. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcenegative + S (dst_negative_flat_rectanglerowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_flat_rectanglerows)))) + ((1) * (srs_index_flat_rectanglerowsrowrow_sumslice))))) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcenegative. dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcenegative * S ((S (((((0) + ((n) * (srt_index_flat_rectanglerows)))) + ((1) * (srs_index_flat_rectanglerowsrowrow_sumslice))))) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_flat_rectanglerowsrowrow_sumsliceentrysource))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentrysourcevalue ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentrysourcevalue. (((((srs_value_flat_rectanglerowsrowrow_sumslice) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode. (((srs_value_flat_rectanglerowsrowrow_sumslice) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = S ge_signed_half_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowrow_sumsliceentrysource) + ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentrysourcevalue = (dst_negative_flat_rectanglerowsrowrow_sumsliceentrysource) + ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput dst_positive_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_flat_rectanglerowsrowrow_sumsliceentryoutput. (((srs_slice_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)))))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputpositive. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputpositive + S (dst_positive_flat_rectanglerowsrowrow_sumsliceentryoutput) = S ((S (srs_index_flat_rectanglerowsrowrow_sumslice)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputpositive. dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputpositive * S ((S (srs_index_flat_rectanglerowsrowrow_sumslice)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_flat_rectanglerowsrowrow_sumsliceentryoutput))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputnegative. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputnegative + S (dst_negative_flat_rectanglerowsrowrow_sumsliceentryoutput) = S ((S (srs_index_flat_rectanglerowsrowrow_sumslice)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputnegative. dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputnegative * S ((S (srs_index_flat_rectanglerowsrowrow_sumslice)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_flat_rectanglerowsrowrow_sumsliceentryoutput))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentryoutputvalue ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentryoutputvalue. (((((srs_value_flat_rectanglerowsrowrow_sumslice) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode. (((srs_value_flat_rectanglerowsrowrow_sumslice) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = S ge_signed_half_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowrow_sumsliceentryoutput) + ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentryoutputvalue = (dst_negative_flat_rectanglerowsrowrow_sumsliceentryoutput) + ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_flat_rectanglerowsrowrow_sumsum dst_positive_scale_flat_rectanglerowsrowrow_sumsum dst_negative_code_flat_rectanglerowsrowrow_sumsum dst_negative_scale_flat_rectanglerowsrowrow_sumsum dst_positive_sum_flat_rectanglerowsrowrow_sumsum dst_negative_sum_flat_rectanglerowsrowrow_sumsum. (((srs_slice_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)))))) /\ (((exists fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive. ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_start. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_start. fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_start * S ((S (0)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive) + (0))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_terminal. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_terminal + S (dst_positive_sum_flat_rectanglerowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_terminal. fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_terminal * S ((S (n)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive) + (dst_positive_sum_flat_rectanglerowsrowrow_sumsum))) /\ forall fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps. (exists fs_lt_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_bound. fs_lt_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_bound + S fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps = n) -> exists fs_a_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps fs_r_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps fs_s_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps. ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand + S (fs_a_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand. dst_positive_code_flat_rectanglerowsrowrow_sumsum = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand * S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsum) + (fs_a_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial + S (fs_r_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial. fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial * S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive) + (fs_r_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor + S (fs_s_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (S fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor. fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor * S ((S (S fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive) + (fs_s_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ fs_s_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps = fs_r_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps + fs_a_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative. ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_start. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_start. fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_start * S ((S (0)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative) + (0))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_terminal. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_terminal + S (dst_negative_sum_flat_rectanglerowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_terminal. fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_terminal * S ((S (n)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative) + (dst_negative_sum_flat_rectanglerowsrowrow_sumsum))) /\ forall fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps. (exists fs_lt_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_bound. fs_lt_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_bound + S fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps = n) -> exists fs_a_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps fs_r_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps fs_s_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps. ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand + S (fs_a_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand. dst_negative_code_flat_rectanglerowsrowrow_sumsum = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand * S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (fs_a_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial + S (fs_r_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial. fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial * S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative) + (fs_r_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor + S (fs_s_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (S fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor. fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor * S ((S (S fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative) + (fs_s_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ fs_s_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps = fs_r_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps + fs_a_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumsumresult ge_balance_negative_flat_rectanglerowsrowrow_sumsumresult. (((((srt_value_flat_rectanglerows) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumsumresult) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsumresult) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumsumresultdecode. (((srt_value_flat_rectanglerows) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumsumresultdecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumsumresult) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsumresult) = S ge_signed_half_flat_rectanglerowsrowrow_sumsumresultdecode))) /\ ((dst_positive_sum_flat_rectanglerowsrowrow_sumsum) + ge_balance_negative_flat_rectanglerowsrowrow_sumsumresult = (dst_negative_sum_flat_rectanglerowsrowrow_sumsum) + ge_balance_positive_flat_rectanglerowsrowrow_sumsumresult)))))))))))))))))) /\ (exists dst_positive_code_flat_rectangletotal dst_positive_scale_flat_rectangletotal dst_negative_code_flat_rectangletotal dst_negative_scale_flat_rectangletotal dst_positive_sum_flat_rectangletotal dst_negative_sum_flat_rectangletotal. (((srt_rows_flat_rectangle) = (((((dst_positive_code_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal)) * S ((dst_positive_code_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal)) + ((dst_positive_scale_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal))) + (((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) * S ((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) + ((dst_negative_scale_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)))) * S ((((dst_positive_code_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal)) * S ((dst_positive_code_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal)) + ((dst_positive_scale_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal))) + (((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) * S ((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) + ((dst_negative_scale_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)))) + ((((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) * S ((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) + ((dst_negative_scale_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal))) + (((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) * S ((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) + ((dst_negative_scale_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)))))) /\ (((exists fs_u_dst_flat_rectangletotalpositive fs_v_dst_flat_rectangletotalpositive. ((((exists fs_h_dst_flat_rectangletotalpositive_body_start. fs_h_dst_flat_rectangletotalpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_rectangletotalpositive)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_start. fs_u_dst_flat_rectangletotalpositive = fs_q_dst_flat_rectangletotalpositive_body_start * S ((S (0)) * fs_v_dst_flat_rectangletotalpositive) + (0))) /\ ((((exists fs_h_dst_flat_rectangletotalpositive_body_terminal. fs_h_dst_flat_rectangletotalpositive_body_terminal + S (dst_positive_sum_flat_rectangletotal) = S ((S (m)) * fs_v_dst_flat_rectangletotalpositive)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_terminal. fs_u_dst_flat_rectangletotalpositive = fs_q_dst_flat_rectangletotalpositive_body_terminal * S ((S (m)) * fs_v_dst_flat_rectangletotalpositive) + (dst_positive_sum_flat_rectangletotal))) /\ forall fs_i_dst_flat_rectangletotalpositive_body_steps. (exists fs_lt_dst_flat_rectangletotalpositive_body_steps_bound. fs_lt_dst_flat_rectangletotalpositive_body_steps_bound + S fs_i_dst_flat_rectangletotalpositive_body_steps = m) -> exists fs_a_dst_flat_rectangletotalpositive_body_steps fs_r_dst_flat_rectangletotalpositive_body_steps fs_s_dst_flat_rectangletotalpositive_body_steps. ((((exists fs_h_dst_flat_rectangletotalpositive_body_steps_summand. fs_h_dst_flat_rectangletotalpositive_body_steps_summand + S (fs_a_dst_flat_rectangletotalpositive_body_steps) = S ((S (fs_i_dst_flat_rectangletotalpositive_body_steps)) * dst_positive_scale_flat_rectangletotal)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_steps_summand. dst_positive_code_flat_rectangletotal = fs_q_dst_flat_rectangletotalpositive_body_steps_summand * S ((S (fs_i_dst_flat_rectangletotalpositive_body_steps)) * dst_positive_scale_flat_rectangletotal) + (fs_a_dst_flat_rectangletotalpositive_body_steps))) /\ ((((exists fs_h_dst_flat_rectangletotalpositive_body_steps_partial. fs_h_dst_flat_rectangletotalpositive_body_steps_partial + S (fs_r_dst_flat_rectangletotalpositive_body_steps) = S ((S (fs_i_dst_flat_rectangletotalpositive_body_steps)) * fs_v_dst_flat_rectangletotalpositive)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_steps_partial. fs_u_dst_flat_rectangletotalpositive = fs_q_dst_flat_rectangletotalpositive_body_steps_partial * S ((S (fs_i_dst_flat_rectangletotalpositive_body_steps)) * fs_v_dst_flat_rectangletotalpositive) + (fs_r_dst_flat_rectangletotalpositive_body_steps))) /\ ((((exists fs_h_dst_flat_rectangletotalpositive_body_steps_successor. fs_h_dst_flat_rectangletotalpositive_body_steps_successor + S (fs_s_dst_flat_rectangletotalpositive_body_steps) = S ((S (S fs_i_dst_flat_rectangletotalpositive_body_steps)) * fs_v_dst_flat_rectangletotalpositive)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_steps_successor. fs_u_dst_flat_rectangletotalpositive = fs_q_dst_flat_rectangletotalpositive_body_steps_successor * S ((S (S fs_i_dst_flat_rectangletotalpositive_body_steps)) * fs_v_dst_flat_rectangletotalpositive) + (fs_s_dst_flat_rectangletotalpositive_body_steps))) /\ fs_s_dst_flat_rectangletotalpositive_body_steps = fs_r_dst_flat_rectangletotalpositive_body_steps + fs_a_dst_flat_rectangletotalpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_rectangletotalnegative fs_v_dst_flat_rectangletotalnegative. ((((exists fs_h_dst_flat_rectangletotalnegative_body_start. fs_h_dst_flat_rectangletotalnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_rectangletotalnegative)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_start. fs_u_dst_flat_rectangletotalnegative = fs_q_dst_flat_rectangletotalnegative_body_start * S ((S (0)) * fs_v_dst_flat_rectangletotalnegative) + (0))) /\ ((((exists fs_h_dst_flat_rectangletotalnegative_body_terminal. fs_h_dst_flat_rectangletotalnegative_body_terminal + S (dst_negative_sum_flat_rectangletotal) = S ((S (m)) * fs_v_dst_flat_rectangletotalnegative)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_terminal. fs_u_dst_flat_rectangletotalnegative = fs_q_dst_flat_rectangletotalnegative_body_terminal * S ((S (m)) * fs_v_dst_flat_rectangletotalnegative) + (dst_negative_sum_flat_rectangletotal))) /\ forall fs_i_dst_flat_rectangletotalnegative_body_steps. (exists fs_lt_dst_flat_rectangletotalnegative_body_steps_bound. fs_lt_dst_flat_rectangletotalnegative_body_steps_bound + S fs_i_dst_flat_rectangletotalnegative_body_steps = m) -> exists fs_a_dst_flat_rectangletotalnegative_body_steps fs_r_dst_flat_rectangletotalnegative_body_steps fs_s_dst_flat_rectangletotalnegative_body_steps. ((((exists fs_h_dst_flat_rectangletotalnegative_body_steps_summand. fs_h_dst_flat_rectangletotalnegative_body_steps_summand + S (fs_a_dst_flat_rectangletotalnegative_body_steps) = S ((S (fs_i_dst_flat_rectangletotalnegative_body_steps)) * dst_negative_scale_flat_rectangletotal)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_steps_summand. dst_negative_code_flat_rectangletotal = fs_q_dst_flat_rectangletotalnegative_body_steps_summand * S ((S (fs_i_dst_flat_rectangletotalnegative_body_steps)) * dst_negative_scale_flat_rectangletotal) + (fs_a_dst_flat_rectangletotalnegative_body_steps))) /\ ((((exists fs_h_dst_flat_rectangletotalnegative_body_steps_partial. fs_h_dst_flat_rectangletotalnegative_body_steps_partial + S (fs_r_dst_flat_rectangletotalnegative_body_steps) = S ((S (fs_i_dst_flat_rectangletotalnegative_body_steps)) * fs_v_dst_flat_rectangletotalnegative)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_steps_partial. fs_u_dst_flat_rectangletotalnegative = fs_q_dst_flat_rectangletotalnegative_body_steps_partial * S ((S (fs_i_dst_flat_rectangletotalnegative_body_steps)) * fs_v_dst_flat_rectangletotalnegative) + (fs_r_dst_flat_rectangletotalnegative_body_steps))) /\ ((((exists fs_h_dst_flat_rectangletotalnegative_body_steps_successor. fs_h_dst_flat_rectangletotalnegative_body_steps_successor + S (fs_s_dst_flat_rectangletotalnegative_body_steps) = S ((S (S fs_i_dst_flat_rectangletotalnegative_body_steps)) * fs_v_dst_flat_rectangletotalnegative)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_steps_successor. fs_u_dst_flat_rectangletotalnegative = fs_q_dst_flat_rectangletotalnegative_body_steps_successor * S ((S (S fs_i_dst_flat_rectangletotalnegative_body_steps)) * fs_v_dst_flat_rectangletotalnegative) + (fs_s_dst_flat_rectangletotalnegative_body_steps))) /\ fs_s_dst_flat_rectangletotalnegative_body_steps = fs_r_dst_flat_rectangletotalnegative_body_steps + fs_a_dst_flat_rectangletotalnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_rectangletotalresult ge_balance_negative_flat_rectangletotalresult. (((((z) = 2 * (ge_balance_positive_flat_rectangletotalresult) /\ (ge_balance_negative_flat_rectangletotalresult) = 0) \/ exists ge_signed_half_flat_rectangletotalresultdecode. (((z) = 2 * ge_signed_half_flat_rectangletotalresultdecode + 1 /\ (ge_balance_positive_flat_rectangletotalresult) = 0) /\ (ge_balance_negative_flat_rectangletotalresult) = S ge_signed_half_flat_rectangletotalresultdecode))) /\ ((dst_positive_sum_flat_rectangletotal) + ge_balance_negative_flat_rectangletotalresult = (dst_negative_sum_flat_rectangletotal) + ge_balance_positive_flat_rectangletotalresult)))))))))))) /\ ((exists srt_rows_flat_rectangle. ((((exists dst_positive_code_flat_rectanglerowssource_table dst_positive_scale_flat_rectanglerowssource_table dst_negative_code_flat_rectanglerowssource_table dst_negative_scale_flat_rectanglerowssource_table. (((F) = (((((dst_positive_code_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table)) * S ((dst_positive_code_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table)) + ((dst_positive_scale_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table))) + (((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) * S ((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) + ((dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)))) * S ((((dst_positive_code_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table)) * S ((dst_positive_code_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table)) + ((dst_positive_scale_flat_rectanglerowssource_table) + (dst_positive_scale_flat_rectanglerowssource_table))) + (((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) * S ((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) + ((dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)))) + ((((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) * S ((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) + ((dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table))) + (((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) * S ((dst_negative_code_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)) + ((dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_scale_flat_rectanglerowssource_table)))))) /\ (forall dst_index_flat_rectanglerowssource_table. (exists pvs_le_gap_flat_rectanglerowssource_tabledomain. pvs_le_gap_flat_rectanglerowssource_tabledomain + (dst_index_flat_rectanglerowssource_table) = (0)) -> exists dst_positive_flat_rectanglerowssource_table dst_negative_flat_rectanglerowssource_table dst_value_flat_rectanglerowssource_table. ((((exists ff_h_pvs_flat_rectanglerowssource_tableentrypositive. ff_h_pvs_flat_rectanglerowssource_tableentrypositive + S (dst_positive_flat_rectanglerowssource_table) = S ((S (dst_index_flat_rectanglerowssource_table)) * dst_positive_scale_flat_rectanglerowssource_table)) /\ exists ff_q_pvs_flat_rectanglerowssource_tableentrypositive. dst_positive_code_flat_rectanglerowssource_table = ff_q_pvs_flat_rectanglerowssource_tableentrypositive * S ((S (dst_index_flat_rectanglerowssource_table)) * dst_positive_scale_flat_rectanglerowssource_table) + (dst_positive_flat_rectanglerowssource_table))) /\ (((((exists ff_h_pvs_flat_rectanglerowssource_tableentrynegative. ff_h_pvs_flat_rectanglerowssource_tableentrynegative + S (dst_negative_flat_rectanglerowssource_table) = S ((S (dst_index_flat_rectanglerowssource_table)) * dst_negative_scale_flat_rectanglerowssource_table)) /\ exists ff_q_pvs_flat_rectanglerowssource_tableentrynegative. dst_negative_code_flat_rectanglerowssource_table = ff_q_pvs_flat_rectanglerowssource_tableentrynegative * S ((S (dst_index_flat_rectanglerowssource_table)) * dst_negative_scale_flat_rectanglerowssource_table) + (dst_negative_flat_rectanglerowssource_table))) /\ (exists ge_balance_positive_flat_rectanglerowssource_tableentryvalue ge_balance_negative_flat_rectanglerowssource_tableentryvalue. (((((dst_value_flat_rectanglerowssource_table) = 2 * (ge_balance_positive_flat_rectanglerowssource_tableentryvalue) /\ (ge_balance_negative_flat_rectanglerowssource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowssource_tableentryvaluedecode. (((dst_value_flat_rectanglerowssource_table) = 2 * ge_signed_half_flat_rectanglerowssource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowssource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowssource_tableentryvalue) = S ge_signed_half_flat_rectanglerowssource_tableentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowssource_table) + ge_balance_negative_flat_rectanglerowssource_tableentryvalue = (dst_negative_flat_rectanglerowssource_table) + ge_balance_positive_flat_rectanglerowssource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_rectanglerowsrow_table dst_positive_scale_flat_rectanglerowsrow_table dst_negative_code_flat_rectanglerowsrow_table dst_negative_scale_flat_rectanglerowsrow_table. (((srt_rows_flat_rectangle) = (((((dst_positive_code_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table)) * S ((dst_positive_code_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table)) + ((dst_positive_scale_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table))) + (((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) * S ((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) + ((dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)))) * S ((((dst_positive_code_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table)) * S ((dst_positive_code_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table)) + ((dst_positive_scale_flat_rectanglerowsrow_table) + (dst_positive_scale_flat_rectanglerowsrow_table))) + (((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) * S ((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) + ((dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)))) + ((((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) * S ((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) + ((dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table))) + (((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) * S ((dst_negative_code_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)) + ((dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_scale_flat_rectanglerowsrow_table)))))) /\ (forall dst_index_flat_rectanglerowsrow_table. (exists pvs_le_gap_flat_rectanglerowsrow_tabledomain. pvs_le_gap_flat_rectanglerowsrow_tabledomain + (dst_index_flat_rectanglerowsrow_table) = (m)) -> exists dst_positive_flat_rectanglerowsrow_table dst_negative_flat_rectanglerowsrow_table dst_value_flat_rectanglerowsrow_table. ((((exists ff_h_pvs_flat_rectanglerowsrow_tableentrypositive. ff_h_pvs_flat_rectanglerowsrow_tableentrypositive + S (dst_positive_flat_rectanglerowsrow_table) = S ((S (dst_index_flat_rectanglerowsrow_table)) * dst_positive_scale_flat_rectanglerowsrow_table)) /\ exists ff_q_pvs_flat_rectanglerowsrow_tableentrypositive. dst_positive_code_flat_rectanglerowsrow_table = ff_q_pvs_flat_rectanglerowsrow_tableentrypositive * S ((S (dst_index_flat_rectanglerowsrow_table)) * dst_positive_scale_flat_rectanglerowsrow_table) + (dst_positive_flat_rectanglerowsrow_table))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrow_tableentrynegative. ff_h_pvs_flat_rectanglerowsrow_tableentrynegative + S (dst_negative_flat_rectanglerowsrow_table) = S ((S (dst_index_flat_rectanglerowsrow_table)) * dst_negative_scale_flat_rectanglerowsrow_table)) /\ exists ff_q_pvs_flat_rectanglerowsrow_tableentrynegative. dst_negative_code_flat_rectanglerowsrow_table = ff_q_pvs_flat_rectanglerowsrow_tableentrynegative * S ((S (dst_index_flat_rectanglerowsrow_table)) * dst_negative_scale_flat_rectanglerowsrow_table) + (dst_negative_flat_rectanglerowsrow_table))) /\ (exists ge_balance_positive_flat_rectanglerowsrow_tableentryvalue ge_balance_negative_flat_rectanglerowsrow_tableentryvalue. (((((dst_value_flat_rectanglerowsrow_table) = 2 * (ge_balance_positive_flat_rectanglerowsrow_tableentryvalue) /\ (ge_balance_negative_flat_rectanglerowsrow_tableentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrow_tableentryvaluedecode. (((dst_value_flat_rectanglerowsrow_table) = 2 * ge_signed_half_flat_rectanglerowsrow_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrow_tableentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrow_tableentryvalue) = S ge_signed_half_flat_rectanglerowsrow_tableentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrow_table) + ge_balance_negative_flat_rectanglerowsrow_tableentryvalue = (dst_negative_flat_rectanglerowsrow_table) + ge_balance_positive_flat_rectanglerowsrow_tableentryvalue))))))))) /\ (forall srt_index_flat_rectanglerows. (exists pvs_gap_flat_rectanglerowsbound. pvs_gap_flat_rectanglerowsbound + S (srt_index_flat_rectanglerows) = (m)) -> exists srt_value_flat_rectanglerows. (((exists dst_positive_code_flat_rectanglerowsrowentry dst_positive_scale_flat_rectanglerowsrowentry dst_negative_code_flat_rectanglerowsrowentry dst_negative_scale_flat_rectanglerowsrowentry dst_positive_flat_rectanglerowsrowentry dst_negative_flat_rectanglerowsrowentry. (((srt_rows_flat_rectangle) = (((((dst_positive_code_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry)) * S ((dst_positive_code_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry)) + ((dst_positive_scale_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry))) + (((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) * S ((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) + ((dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)))) * S ((((dst_positive_code_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry)) * S ((dst_positive_code_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry)) + ((dst_positive_scale_flat_rectanglerowsrowentry) + (dst_positive_scale_flat_rectanglerowsrowentry))) + (((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) * S ((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) + ((dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)))) + ((((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) * S ((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) + ((dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry))) + (((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) * S ((dst_negative_code_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)) + ((dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_scale_flat_rectanglerowsrowentry)))))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowentrypositive. ff_h_pvs_flat_rectanglerowsrowentrypositive + S (dst_positive_flat_rectanglerowsrowentry) = S ((S (srt_index_flat_rectanglerows)) * dst_positive_scale_flat_rectanglerowsrowentry)) /\ exists ff_q_pvs_flat_rectanglerowsrowentrypositive. dst_positive_code_flat_rectanglerowsrowentry = ff_q_pvs_flat_rectanglerowsrowentrypositive * S ((S (srt_index_flat_rectanglerows)) * dst_positive_scale_flat_rectanglerowsrowentry) + (dst_positive_flat_rectanglerowsrowentry))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowentrynegative. ff_h_pvs_flat_rectanglerowsrowentrynegative + S (dst_negative_flat_rectanglerowsrowentry) = S ((S (srt_index_flat_rectanglerows)) * dst_negative_scale_flat_rectanglerowsrowentry)) /\ exists ff_q_pvs_flat_rectanglerowsrowentrynegative. dst_negative_code_flat_rectanglerowsrowentry = ff_q_pvs_flat_rectanglerowsrowentrynegative * S ((S (srt_index_flat_rectanglerows)) * dst_negative_scale_flat_rectanglerowsrowentry) + (dst_negative_flat_rectanglerowsrowentry))) /\ (exists ge_balance_positive_flat_rectanglerowsrowentryvalue ge_balance_negative_flat_rectanglerowsrowentryvalue. (((((srt_value_flat_rectanglerows) = 2 * (ge_balance_positive_flat_rectanglerowsrowentryvalue) /\ (ge_balance_negative_flat_rectanglerowsrowentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowentryvaluedecode. (((srt_value_flat_rectanglerows) = 2 * ge_signed_half_flat_rectanglerowsrowentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowentryvalue) = S ge_signed_half_flat_rectanglerowsrowentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowentry) + ge_balance_negative_flat_rectanglerowsrowentryvalue = (dst_negative_flat_rectanglerowsrowentry) + ge_balance_positive_flat_rectanglerowsrowentryvalue))))))))) /\ (exists srs_slice_flat_rectanglerowsrowrow_sum. ((((exists dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table. (((F) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)))))) /\ (forall dst_index_flat_rectanglerowsrowrow_sumslicesource_table. (exists pvs_le_gap_flat_rectanglerowsrowrow_sumslicesource_tabledomain. pvs_le_gap_flat_rectanglerowsrowrow_sumslicesource_tabledomain + (dst_index_flat_rectanglerowsrowrow_sumslicesource_table) = (0)) -> exists dst_positive_flat_rectanglerowsrowrow_sumslicesource_table dst_negative_flat_rectanglerowsrowrow_sumslicesource_table dst_value_flat_rectanglerowsrowrow_sumslicesource_table. ((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive. ff_h_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive + S (dst_positive_flat_rectanglerowsrowrow_sumslicesource_table) = S ((S (dst_index_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive. dst_positive_code_flat_rectanglerowsrowrow_sumslicesource_table = ff_q_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrypositive * S ((S (dst_index_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_positive_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_positive_flat_rectanglerowsrowrow_sumslicesource_table))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative. ff_h_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative + S (dst_negative_flat_rectanglerowsrowrow_sumslicesource_table) = S ((S (dst_index_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative. dst_negative_code_flat_rectanglerowsrowrow_sumslicesource_table = ff_q_pvs_flat_rectanglerowsrowrow_sumslicesource_tableentrynegative * S ((S (dst_index_flat_rectanglerowsrowrow_sumslicesource_table)) * dst_negative_scale_flat_rectanglerowsrowrow_sumslicesource_table) + (dst_negative_flat_rectanglerowsrowrow_sumslicesource_table))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue ge_balance_negative_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue. (((((dst_value_flat_rectanglerowsrowrow_sumslicesource_table) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode. (((dst_value_flat_rectanglerowsrowrow_sumslicesource_table) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue) = S ge_signed_half_flat_rectanglerowsrowrow_sumslicesource_tableentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowrow_sumslicesource_table) + ge_balance_negative_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue = (dst_negative_flat_rectanglerowsrowrow_sumslicesource_table) + ge_balance_positive_flat_rectanglerowsrowrow_sumslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table. (((srs_slice_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)))))) /\ (forall dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table. (exists pvs_le_gap_flat_rectanglerowsrowrow_sumsliceoutput_tabledomain. pvs_le_gap_flat_rectanglerowsrowrow_sumsliceoutput_tabledomain + (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table) = (n)) -> exists dst_positive_flat_rectanglerowsrowrow_sumsliceoutput_table dst_negative_flat_rectanglerowsrowrow_sumsliceoutput_table dst_value_flat_rectanglerowsrowrow_sumsliceoutput_table. ((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive + S (dst_positive_flat_rectanglerowsrowrow_sumsliceoutput_table) = S ((S (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive. dst_positive_code_flat_rectanglerowsrowrow_sumsliceoutput_table = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrypositive * S ((S (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_positive_flat_rectanglerowsrowrow_sumsliceoutput_table))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative + S (dst_negative_flat_rectanglerowsrowrow_sumsliceoutput_table) = S ((S (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative. dst_negative_code_flat_rectanglerowsrowrow_sumsliceoutput_table = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceoutput_tableentrynegative * S ((S (dst_index_flat_rectanglerowsrowrow_sumsliceoutput_table)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceoutput_table) + (dst_negative_flat_rectanglerowsrowrow_sumsliceoutput_table))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue ge_balance_negative_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue. (((((dst_value_flat_rectanglerowsrowrow_sumsliceoutput_table) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode. (((dst_value_flat_rectanglerowsrowrow_sumsliceoutput_table) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue) = S ge_signed_half_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowrow_sumsliceoutput_table) + ge_balance_negative_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue = (dst_negative_flat_rectanglerowsrowrow_sumsliceoutput_table) + ge_balance_positive_flat_rectanglerowsrowrow_sumsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_flat_rectanglerowsrowrow_sumslice. (exists pvs_gap_flat_rectanglerowsrowrow_sumslicebound. pvs_gap_flat_rectanglerowsrowrow_sumslicebound + S (srs_index_flat_rectanglerowsrowrow_sumslice) = (n)) -> exists srs_value_flat_rectanglerowsrowrow_sumslice. (((exists dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource dst_positive_flat_rectanglerowsrowrow_sumsliceentrysource dst_negative_flat_rectanglerowsrowrow_sumsliceentrysource. (((F) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)))))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcepositive. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcepositive + S (dst_positive_flat_rectanglerowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_flat_rectanglerows)))) + ((1) * (srs_index_flat_rectanglerowsrowrow_sumslice))))) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcepositive. dst_positive_code_flat_rectanglerowsrowrow_sumsliceentrysource = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcepositive * S ((S (((((0) + ((n) * (srt_index_flat_rectanglerows)))) + ((1) * (srs_index_flat_rectanglerowsrowrow_sumslice))))) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_positive_flat_rectanglerowsrowrow_sumsliceentrysource))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcenegative. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcenegative + S (dst_negative_flat_rectanglerowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_flat_rectanglerows)))) + ((1) * (srs_index_flat_rectanglerowsrowrow_sumslice))))) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcenegative. dst_negative_code_flat_rectanglerowsrowrow_sumsliceentrysource = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentrysourcenegative * S ((S (((((0) + ((n) * (srt_index_flat_rectanglerows)))) + ((1) * (srs_index_flat_rectanglerowsrowrow_sumslice))))) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentrysource) + (dst_negative_flat_rectanglerowsrowrow_sumsliceentrysource))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentrysourcevalue ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentrysourcevalue. (((((srs_value_flat_rectanglerowsrowrow_sumslice) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode. (((srs_value_flat_rectanglerowsrowrow_sumslice) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentrysourcevalue) = S ge_signed_half_flat_rectanglerowsrowrow_sumsliceentrysourcevaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowrow_sumsliceentrysource) + ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentrysourcevalue = (dst_negative_flat_rectanglerowsrowrow_sumsliceentrysource) + ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput dst_positive_flat_rectanglerowsrowrow_sumsliceentryoutput dst_negative_flat_rectanglerowsrowrow_sumsliceentryoutput. (((srs_slice_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)))))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputpositive. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputpositive + S (dst_positive_flat_rectanglerowsrowrow_sumsliceentryoutput) = S ((S (srs_index_flat_rectanglerowsrowrow_sumslice)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputpositive. dst_positive_code_flat_rectanglerowsrowrow_sumsliceentryoutput = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputpositive * S ((S (srs_index_flat_rectanglerowsrowrow_sumslice)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_positive_flat_rectanglerowsrowrow_sumsliceentryoutput))) /\ (((((exists ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputnegative. ff_h_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputnegative + S (dst_negative_flat_rectanglerowsrowrow_sumsliceentryoutput) = S ((S (srs_index_flat_rectanglerowsrowrow_sumslice)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputnegative. dst_negative_code_flat_rectanglerowsrowrow_sumsliceentryoutput = ff_q_pvs_flat_rectanglerowsrowrow_sumsliceentryoutputnegative * S ((S (srs_index_flat_rectanglerowsrowrow_sumslice)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsliceentryoutput) + (dst_negative_flat_rectanglerowsrowrow_sumsliceentryoutput))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentryoutputvalue ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentryoutputvalue. (((((srs_value_flat_rectanglerowsrowrow_sumslice) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode. (((srs_value_flat_rectanglerowsrowrow_sumslice) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentryoutputvalue) = S ge_signed_half_flat_rectanglerowsrowrow_sumsliceentryoutputvaluedecode))) /\ ((dst_positive_flat_rectanglerowsrowrow_sumsliceentryoutput) + ge_balance_negative_flat_rectanglerowsrowrow_sumsliceentryoutputvalue = (dst_negative_flat_rectanglerowsrowrow_sumsliceentryoutput) + ge_balance_positive_flat_rectanglerowsrowrow_sumsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_flat_rectanglerowsrowrow_sumsum dst_positive_scale_flat_rectanglerowsrowrow_sumsum dst_negative_code_flat_rectanglerowsrowrow_sumsum dst_negative_scale_flat_rectanglerowsrowrow_sumsum dst_positive_sum_flat_rectanglerowsrowrow_sumsum dst_negative_sum_flat_rectanglerowsrowrow_sumsum. (((srs_slice_flat_rectanglerowsrowrow_sum) = (((((dst_positive_code_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)))) * S ((((dst_positive_code_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_positive_code_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_positive_scale_flat_rectanglerowsrowrow_sumsum) + (dst_positive_scale_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)))) + ((((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum))) + (((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) * S ((dst_negative_code_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) + ((dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (dst_negative_scale_flat_rectanglerowsrowrow_sumsum)))))) /\ (((exists fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive. ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_start. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_start. fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_start * S ((S (0)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive) + (0))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_terminal. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_terminal + S (dst_positive_sum_flat_rectanglerowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_terminal. fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_terminal * S ((S (n)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive) + (dst_positive_sum_flat_rectanglerowsrowrow_sumsum))) /\ forall fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps. (exists fs_lt_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_bound. fs_lt_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_bound + S fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps = n) -> exists fs_a_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps fs_r_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps fs_s_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps. ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand + S (fs_a_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsum)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand. dst_positive_code_flat_rectanglerowsrowrow_sumsum = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_summand * S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_flat_rectanglerowsrowrow_sumsum) + (fs_a_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial + S (fs_r_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial. fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_partial * S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive) + (fs_r_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor. fs_h_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor + S (fs_s_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps) = S ((S (S fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor. fs_u_dst_flat_rectanglerowsrowrow_sumsumpositive = fs_q_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps_successor * S ((S (S fs_i_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumpositive) + (fs_s_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps))) /\ fs_s_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps = fs_r_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps + fs_a_dst_flat_rectanglerowsrowrow_sumsumpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative. ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_start. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_start. fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_start * S ((S (0)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative) + (0))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_terminal. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_terminal + S (dst_negative_sum_flat_rectanglerowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_terminal. fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_terminal * S ((S (n)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative) + (dst_negative_sum_flat_rectanglerowsrowrow_sumsum))) /\ forall fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps. (exists fs_lt_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_bound. fs_lt_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_bound + S fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps = n) -> exists fs_a_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps fs_r_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps fs_s_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps. ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand + S (fs_a_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsum)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand. dst_negative_code_flat_rectanglerowsrowrow_sumsum = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_summand * S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_flat_rectanglerowsrowrow_sumsum) + (fs_a_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial + S (fs_r_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial. fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_partial * S ((S (fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative) + (fs_r_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor. fs_h_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor + S (fs_s_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps) = S ((S (S fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor. fs_u_dst_flat_rectanglerowsrowrow_sumsumnegative = fs_q_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps_successor * S ((S (S fs_i_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_rectanglerowsrowrow_sumsumnegative) + (fs_s_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps))) /\ fs_s_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps = fs_r_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps + fs_a_dst_flat_rectanglerowsrowrow_sumsumnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_rectanglerowsrowrow_sumsumresult ge_balance_negative_flat_rectanglerowsrowrow_sumsumresult. (((((srt_value_flat_rectanglerows) = 2 * (ge_balance_positive_flat_rectanglerowsrowrow_sumsumresult) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsumresult) = 0) \/ exists ge_signed_half_flat_rectanglerowsrowrow_sumsumresultdecode. (((srt_value_flat_rectanglerows) = 2 * ge_signed_half_flat_rectanglerowsrowrow_sumsumresultdecode + 1 /\ (ge_balance_positive_flat_rectanglerowsrowrow_sumsumresult) = 0) /\ (ge_balance_negative_flat_rectanglerowsrowrow_sumsumresult) = S ge_signed_half_flat_rectanglerowsrowrow_sumsumresultdecode))) /\ ((dst_positive_sum_flat_rectanglerowsrowrow_sumsum) + ge_balance_negative_flat_rectanglerowsrowrow_sumsumresult = (dst_negative_sum_flat_rectanglerowsrowrow_sumsum) + ge_balance_positive_flat_rectanglerowsrowrow_sumsumresult)))))))))))))))))) /\ (exists dst_positive_code_flat_rectangletotal dst_positive_scale_flat_rectangletotal dst_negative_code_flat_rectangletotal dst_negative_scale_flat_rectangletotal dst_positive_sum_flat_rectangletotal dst_negative_sum_flat_rectangletotal. (((srt_rows_flat_rectangle) = (((((dst_positive_code_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal)) * S ((dst_positive_code_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal)) + ((dst_positive_scale_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal))) + (((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) * S ((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) + ((dst_negative_scale_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)))) * S ((((dst_positive_code_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal)) * S ((dst_positive_code_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal)) + ((dst_positive_scale_flat_rectangletotal) + (dst_positive_scale_flat_rectangletotal))) + (((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) * S ((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) + ((dst_negative_scale_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)))) + ((((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) * S ((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) + ((dst_negative_scale_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal))) + (((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) * S ((dst_negative_code_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)) + ((dst_negative_scale_flat_rectangletotal) + (dst_negative_scale_flat_rectangletotal)))))) /\ (((exists fs_u_dst_flat_rectangletotalpositive fs_v_dst_flat_rectangletotalpositive. ((((exists fs_h_dst_flat_rectangletotalpositive_body_start. fs_h_dst_flat_rectangletotalpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_rectangletotalpositive)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_start. fs_u_dst_flat_rectangletotalpositive = fs_q_dst_flat_rectangletotalpositive_body_start * S ((S (0)) * fs_v_dst_flat_rectangletotalpositive) + (0))) /\ ((((exists fs_h_dst_flat_rectangletotalpositive_body_terminal. fs_h_dst_flat_rectangletotalpositive_body_terminal + S (dst_positive_sum_flat_rectangletotal) = S ((S (m)) * fs_v_dst_flat_rectangletotalpositive)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_terminal. fs_u_dst_flat_rectangletotalpositive = fs_q_dst_flat_rectangletotalpositive_body_terminal * S ((S (m)) * fs_v_dst_flat_rectangletotalpositive) + (dst_positive_sum_flat_rectangletotal))) /\ forall fs_i_dst_flat_rectangletotalpositive_body_steps. (exists fs_lt_dst_flat_rectangletotalpositive_body_steps_bound. fs_lt_dst_flat_rectangletotalpositive_body_steps_bound + S fs_i_dst_flat_rectangletotalpositive_body_steps = m) -> exists fs_a_dst_flat_rectangletotalpositive_body_steps fs_r_dst_flat_rectangletotalpositive_body_steps fs_s_dst_flat_rectangletotalpositive_body_steps. ((((exists fs_h_dst_flat_rectangletotalpositive_body_steps_summand. fs_h_dst_flat_rectangletotalpositive_body_steps_summand + S (fs_a_dst_flat_rectangletotalpositive_body_steps) = S ((S (fs_i_dst_flat_rectangletotalpositive_body_steps)) * dst_positive_scale_flat_rectangletotal)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_steps_summand. dst_positive_code_flat_rectangletotal = fs_q_dst_flat_rectangletotalpositive_body_steps_summand * S ((S (fs_i_dst_flat_rectangletotalpositive_body_steps)) * dst_positive_scale_flat_rectangletotal) + (fs_a_dst_flat_rectangletotalpositive_body_steps))) /\ ((((exists fs_h_dst_flat_rectangletotalpositive_body_steps_partial. fs_h_dst_flat_rectangletotalpositive_body_steps_partial + S (fs_r_dst_flat_rectangletotalpositive_body_steps) = S ((S (fs_i_dst_flat_rectangletotalpositive_body_steps)) * fs_v_dst_flat_rectangletotalpositive)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_steps_partial. fs_u_dst_flat_rectangletotalpositive = fs_q_dst_flat_rectangletotalpositive_body_steps_partial * S ((S (fs_i_dst_flat_rectangletotalpositive_body_steps)) * fs_v_dst_flat_rectangletotalpositive) + (fs_r_dst_flat_rectangletotalpositive_body_steps))) /\ ((((exists fs_h_dst_flat_rectangletotalpositive_body_steps_successor. fs_h_dst_flat_rectangletotalpositive_body_steps_successor + S (fs_s_dst_flat_rectangletotalpositive_body_steps) = S ((S (S fs_i_dst_flat_rectangletotalpositive_body_steps)) * fs_v_dst_flat_rectangletotalpositive)) /\ exists fs_q_dst_flat_rectangletotalpositive_body_steps_successor. fs_u_dst_flat_rectangletotalpositive = fs_q_dst_flat_rectangletotalpositive_body_steps_successor * S ((S (S fs_i_dst_flat_rectangletotalpositive_body_steps)) * fs_v_dst_flat_rectangletotalpositive) + (fs_s_dst_flat_rectangletotalpositive_body_steps))) /\ fs_s_dst_flat_rectangletotalpositive_body_steps = fs_r_dst_flat_rectangletotalpositive_body_steps + fs_a_dst_flat_rectangletotalpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_rectangletotalnegative fs_v_dst_flat_rectangletotalnegative. ((((exists fs_h_dst_flat_rectangletotalnegative_body_start. fs_h_dst_flat_rectangletotalnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_rectangletotalnegative)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_start. fs_u_dst_flat_rectangletotalnegative = fs_q_dst_flat_rectangletotalnegative_body_start * S ((S (0)) * fs_v_dst_flat_rectangletotalnegative) + (0))) /\ ((((exists fs_h_dst_flat_rectangletotalnegative_body_terminal. fs_h_dst_flat_rectangletotalnegative_body_terminal + S (dst_negative_sum_flat_rectangletotal) = S ((S (m)) * fs_v_dst_flat_rectangletotalnegative)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_terminal. fs_u_dst_flat_rectangletotalnegative = fs_q_dst_flat_rectangletotalnegative_body_terminal * S ((S (m)) * fs_v_dst_flat_rectangletotalnegative) + (dst_negative_sum_flat_rectangletotal))) /\ forall fs_i_dst_flat_rectangletotalnegative_body_steps. (exists fs_lt_dst_flat_rectangletotalnegative_body_steps_bound. fs_lt_dst_flat_rectangletotalnegative_body_steps_bound + S fs_i_dst_flat_rectangletotalnegative_body_steps = m) -> exists fs_a_dst_flat_rectangletotalnegative_body_steps fs_r_dst_flat_rectangletotalnegative_body_steps fs_s_dst_flat_rectangletotalnegative_body_steps. ((((exists fs_h_dst_flat_rectangletotalnegative_body_steps_summand. fs_h_dst_flat_rectangletotalnegative_body_steps_summand + S (fs_a_dst_flat_rectangletotalnegative_body_steps) = S ((S (fs_i_dst_flat_rectangletotalnegative_body_steps)) * dst_negative_scale_flat_rectangletotal)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_steps_summand. dst_negative_code_flat_rectangletotal = fs_q_dst_flat_rectangletotalnegative_body_steps_summand * S ((S (fs_i_dst_flat_rectangletotalnegative_body_steps)) * dst_negative_scale_flat_rectangletotal) + (fs_a_dst_flat_rectangletotalnegative_body_steps))) /\ ((((exists fs_h_dst_flat_rectangletotalnegative_body_steps_partial. fs_h_dst_flat_rectangletotalnegative_body_steps_partial + S (fs_r_dst_flat_rectangletotalnegative_body_steps) = S ((S (fs_i_dst_flat_rectangletotalnegative_body_steps)) * fs_v_dst_flat_rectangletotalnegative)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_steps_partial. fs_u_dst_flat_rectangletotalnegative = fs_q_dst_flat_rectangletotalnegative_body_steps_partial * S ((S (fs_i_dst_flat_rectangletotalnegative_body_steps)) * fs_v_dst_flat_rectangletotalnegative) + (fs_r_dst_flat_rectangletotalnegative_body_steps))) /\ ((((exists fs_h_dst_flat_rectangletotalnegative_body_steps_successor. fs_h_dst_flat_rectangletotalnegative_body_steps_successor + S (fs_s_dst_flat_rectangletotalnegative_body_steps) = S ((S (S fs_i_dst_flat_rectangletotalnegative_body_steps)) * fs_v_dst_flat_rectangletotalnegative)) /\ exists fs_q_dst_flat_rectangletotalnegative_body_steps_successor. fs_u_dst_flat_rectangletotalnegative = fs_q_dst_flat_rectangletotalnegative_body_steps_successor * S ((S (S fs_i_dst_flat_rectangletotalnegative_body_steps)) * fs_v_dst_flat_rectangletotalnegative) + (fs_s_dst_flat_rectangletotalnegative_body_steps))) /\ fs_s_dst_flat_rectangletotalnegative_body_steps = fs_r_dst_flat_rectangletotalnegative_body_steps + fs_a_dst_flat_rectangletotalnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_rectangletotalresult ge_balance_negative_flat_rectangletotalresult. (((((z) = 2 * (ge_balance_positive_flat_rectangletotalresult) /\ (ge_balance_negative_flat_rectangletotalresult) = 0) \/ exists ge_signed_half_flat_rectangletotalresultdecode. (((z) = 2 * ge_signed_half_flat_rectangletotalresultdecode + 1 /\ (ge_balance_positive_flat_rectangletotalresult) = 0) /\ (ge_balance_negative_flat_rectangletotalresult) = S ge_signed_half_flat_rectangletotalresultdecode))) /\ ((dst_positive_sum_flat_rectangletotal) + ge_balance_negative_flat_rectangletotalresult = (dst_negative_sum_flat_rectangletotal) + ge_balance_positive_flat_rectangletotalresult))))))))))) -> (exists dst_positive_code_flat_prefix dst_positive_scale_flat_prefix dst_negative_code_flat_prefix dst_negative_scale_flat_prefix dst_positive_sum_flat_prefix dst_negative_sum_flat_prefix. (((F) = (((((dst_positive_code_flat_prefix) + (dst_positive_scale_flat_prefix)) * S ((dst_positive_code_flat_prefix) + (dst_positive_scale_flat_prefix)) + ((dst_positive_scale_flat_prefix) + (dst_positive_scale_flat_prefix))) + (((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) * S ((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) + ((dst_negative_scale_flat_prefix) + (dst_negative_scale_flat_prefix)))) * S ((((dst_positive_code_flat_prefix) + (dst_positive_scale_flat_prefix)) * S ((dst_positive_code_flat_prefix) + (dst_positive_scale_flat_prefix)) + ((dst_positive_scale_flat_prefix) + (dst_positive_scale_flat_prefix))) + (((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) * S ((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) + ((dst_negative_scale_flat_prefix) + (dst_negative_scale_flat_prefix)))) + ((((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) * S ((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) + ((dst_negative_scale_flat_prefix) + (dst_negative_scale_flat_prefix))) + (((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) * S ((dst_negative_code_flat_prefix) + (dst_negative_scale_flat_prefix)) + ((dst_negative_scale_flat_prefix) + (dst_negative_scale_flat_prefix)))))) /\ (((exists fs_u_dst_flat_prefixpositive fs_v_dst_flat_prefixpositive. ((((exists fs_h_dst_flat_prefixpositive_body_start. fs_h_dst_flat_prefixpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_prefixpositive)) /\ exists fs_q_dst_flat_prefixpositive_body_start. fs_u_dst_flat_prefixpositive = fs_q_dst_flat_prefixpositive_body_start * S ((S (0)) * fs_v_dst_flat_prefixpositive) + (0))) /\ ((((exists fs_h_dst_flat_prefixpositive_body_terminal. fs_h_dst_flat_prefixpositive_body_terminal + S (dst_positive_sum_flat_prefix) = S ((S (m*n)) * fs_v_dst_flat_prefixpositive)) /\ exists fs_q_dst_flat_prefixpositive_body_terminal. fs_u_dst_flat_prefixpositive = fs_q_dst_flat_prefixpositive_body_terminal * S ((S (m*n)) * fs_v_dst_flat_prefixpositive) + (dst_positive_sum_flat_prefix))) /\ forall fs_i_dst_flat_prefixpositive_body_steps. (exists fs_lt_dst_flat_prefixpositive_body_steps_bound. fs_lt_dst_flat_prefixpositive_body_steps_bound + S fs_i_dst_flat_prefixpositive_body_steps = m*n) -> exists fs_a_dst_flat_prefixpositive_body_steps fs_r_dst_flat_prefixpositive_body_steps fs_s_dst_flat_prefixpositive_body_steps. ((((exists fs_h_dst_flat_prefixpositive_body_steps_summand. fs_h_dst_flat_prefixpositive_body_steps_summand + S (fs_a_dst_flat_prefixpositive_body_steps) = S ((S (fs_i_dst_flat_prefixpositive_body_steps)) * dst_positive_scale_flat_prefix)) /\ exists fs_q_dst_flat_prefixpositive_body_steps_summand. dst_positive_code_flat_prefix = fs_q_dst_flat_prefixpositive_body_steps_summand * S ((S (fs_i_dst_flat_prefixpositive_body_steps)) * dst_positive_scale_flat_prefix) + (fs_a_dst_flat_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_flat_prefixpositive_body_steps_partial. fs_h_dst_flat_prefixpositive_body_steps_partial + S (fs_r_dst_flat_prefixpositive_body_steps) = S ((S (fs_i_dst_flat_prefixpositive_body_steps)) * fs_v_dst_flat_prefixpositive)) /\ exists fs_q_dst_flat_prefixpositive_body_steps_partial. fs_u_dst_flat_prefixpositive = fs_q_dst_flat_prefixpositive_body_steps_partial * S ((S (fs_i_dst_flat_prefixpositive_body_steps)) * fs_v_dst_flat_prefixpositive) + (fs_r_dst_flat_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_flat_prefixpositive_body_steps_successor. fs_h_dst_flat_prefixpositive_body_steps_successor + S (fs_s_dst_flat_prefixpositive_body_steps) = S ((S (S fs_i_dst_flat_prefixpositive_body_steps)) * fs_v_dst_flat_prefixpositive)) /\ exists fs_q_dst_flat_prefixpositive_body_steps_successor. fs_u_dst_flat_prefixpositive = fs_q_dst_flat_prefixpositive_body_steps_successor * S ((S (S fs_i_dst_flat_prefixpositive_body_steps)) * fs_v_dst_flat_prefixpositive) + (fs_s_dst_flat_prefixpositive_body_steps))) /\ fs_s_dst_flat_prefixpositive_body_steps = fs_r_dst_flat_prefixpositive_body_steps + fs_a_dst_flat_prefixpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_prefixnegative fs_v_dst_flat_prefixnegative. ((((exists fs_h_dst_flat_prefixnegative_body_start. fs_h_dst_flat_prefixnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_prefixnegative)) /\ exists fs_q_dst_flat_prefixnegative_body_start. fs_u_dst_flat_prefixnegative = fs_q_dst_flat_prefixnegative_body_start * S ((S (0)) * fs_v_dst_flat_prefixnegative) + (0))) /\ ((((exists fs_h_dst_flat_prefixnegative_body_terminal. fs_h_dst_flat_prefixnegative_body_terminal + S (dst_negative_sum_flat_prefix) = S ((S (m*n)) * fs_v_dst_flat_prefixnegative)) /\ exists fs_q_dst_flat_prefixnegative_body_terminal. fs_u_dst_flat_prefixnegative = fs_q_dst_flat_prefixnegative_body_terminal * S ((S (m*n)) * fs_v_dst_flat_prefixnegative) + (dst_negative_sum_flat_prefix))) /\ forall fs_i_dst_flat_prefixnegative_body_steps. (exists fs_lt_dst_flat_prefixnegative_body_steps_bound. fs_lt_dst_flat_prefixnegative_body_steps_bound + S fs_i_dst_flat_prefixnegative_body_steps = m*n) -> exists fs_a_dst_flat_prefixnegative_body_steps fs_r_dst_flat_prefixnegative_body_steps fs_s_dst_flat_prefixnegative_body_steps. ((((exists fs_h_dst_flat_prefixnegative_body_steps_summand. fs_h_dst_flat_prefixnegative_body_steps_summand + S (fs_a_dst_flat_prefixnegative_body_steps) = S ((S (fs_i_dst_flat_prefixnegative_body_steps)) * dst_negative_scale_flat_prefix)) /\ exists fs_q_dst_flat_prefixnegative_body_steps_summand. dst_negative_code_flat_prefix = fs_q_dst_flat_prefixnegative_body_steps_summand * S ((S (fs_i_dst_flat_prefixnegative_body_steps)) * dst_negative_scale_flat_prefix) + (fs_a_dst_flat_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_flat_prefixnegative_body_steps_partial. fs_h_dst_flat_prefixnegative_body_steps_partial + S (fs_r_dst_flat_prefixnegative_body_steps) = S ((S (fs_i_dst_flat_prefixnegative_body_steps)) * fs_v_dst_flat_prefixnegative)) /\ exists fs_q_dst_flat_prefixnegative_body_steps_partial. fs_u_dst_flat_prefixnegative = fs_q_dst_flat_prefixnegative_body_steps_partial * S ((S (fs_i_dst_flat_prefixnegative_body_steps)) * fs_v_dst_flat_prefixnegative) + (fs_r_dst_flat_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_flat_prefixnegative_body_steps_successor. fs_h_dst_flat_prefixnegative_body_steps_successor + S (fs_s_dst_flat_prefixnegative_body_steps) = S ((S (S fs_i_dst_flat_prefixnegative_body_steps)) * fs_v_dst_flat_prefixnegative)) /\ exists fs_q_dst_flat_prefixnegative_body_steps_successor. fs_u_dst_flat_prefixnegative = fs_q_dst_flat_prefixnegative_body_steps_successor * S ((S (S fs_i_dst_flat_prefixnegative_body_steps)) * fs_v_dst_flat_prefixnegative) + (fs_s_dst_flat_prefixnegative_body_steps))) /\ fs_s_dst_flat_prefixnegative_body_steps = fs_r_dst_flat_prefixnegative_body_steps + fs_a_dst_flat_prefixnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_prefixresult ge_balance_negative_flat_prefixresult. (((((z) = 2 * (ge_balance_positive_flat_prefixresult) /\ (ge_balance_negative_flat_prefixresult) = 0) \/ exists ge_signed_half_flat_prefixresultdecode. (((z) = 2 * ge_signed_half_flat_prefixresultdecode + 1 /\ (ge_balance_positive_flat_prefixresult) = 0) /\ (ge_balance_negative_flat_prefixresult) = S ge_signed_half_flat_prefixresultdecode))) /\ ((dst_positive_sum_flat_prefix) + ge_balance_negative_flat_prefixresult = (dst_negative_sum_flat_prefix) + ge_balance_positive_flat_prefixresult)))))))))))

Constructive proof overview

Generated structural guide

The actual flattened signed prefix and actual row-major rectangle are equivalent, not merely two transposed rectangular folds.

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

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

Proof neighborhood

Direct dependencies

MX0019 signed_slice_sum_unit_prefix_iff signed_rectangular_row_sums_exists Alpha theorem; checked-use authorized arithmetic_signed_sum_exists Alpha theorem; checked-use authorized MX001C signed_row_sums_flatten signed_rectangular_slice_sum_functional 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

71 script commands · 20 reading checkpoints · 5 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–5

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

  1. L1
    intro F
  2. L2
    intro m
  3. L3
    intro n
  4. L4
    intro z
  5. L5
    intro hF
02Establish hiL6–11

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

  1. L6
    have hi : (SignedSliceSum(F,0,1,m · n,z) → SignedPrefixSum(F,m · n,z)) ∧ (SignedPrefixSum(F,m · n,z) → SignedSliceSum(F,0,1,m · n,z))Definitions: SignedPrefixSumSignedSliceSum
  2. L7
    specialize signed_slice_sum_unit_prefix_iff (F)
  3. L8
    specialize signed_slice_sum_unit_prefix_iff (m*n)
  4. L9
    specialize signed_slice_sum_unit_prefix_iff (z)
  5. L10
    apply signed_slice_sum_unit_prefix_iff
  6. L11
    exact hF
03Separate the logical casesL12–13

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

  1. L12
    cases hi
  2. L13
    split
04Fix variables and assumptionsL14–14

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

  1. L14
    intro hs
05Establish hrL15–23

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

  1. L15
    have hr : ∃ R. ArithRowSums(F,R,0,n,1,m,n)Definitions: ArithRowSums
  2. L16
    specialize signed_rectangular_row_sums_exists (m)
  3. L17
    specialize signed_rectangular_row_sums_exists (F)
  4. L18
    specialize signed_rectangular_row_sums_exists (0)
  5. L19
    specialize signed_rectangular_row_sums_exists (n)
  6. L20
    specialize signed_rectangular_row_sums_exists (1)
  7. L21
    specialize signed_rectangular_row_sums_exists (n)
  8. L22
    apply signed_rectangular_row_sums_exists
  9. L23
    exact hF
06Separate the logical casesL24–24

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

  1. L24
    cases hr
07Establish hvL25–29

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

  1. L25
    have hv : ∃ v. SignedPrefixSum(x,m,v)Definitions: SignedPrefixSum
  2. L26
    specialize arithmetic_signed_sum_exists (m)
  3. L27
    specialize arithmetic_signed_sum_exists (x)
  4. L28
    specialize arithmetic_signed_sum_exists (m)
  5. L29
    apply arithmetic_signed_sum_exists
08Separate the logical casesL30–31

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

  1. L30
    cases hr_witness
  2. L31
    cases hr_witness_right
09Use earlier factsL32–32

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

  1. L32
    exact hr_witness_right_left
10Separate the logical casesL33–33

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

  1. L33
    cases hv
11Establish hflatL34–42

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed row sums flatten.

  1. L34
    have hflat : SignedSliceSum(F,0,1,m · n,x1)Definitions: SignedSliceSum
  2. L35
    specialize signed_row_sums_flatten (m)
  3. L36
    specialize signed_row_sums_flatten (F)
  4. L37
    specialize signed_row_sums_flatten (x)
  5. L38
    specialize signed_row_sums_flatten (n)
  6. L39
    specialize signed_row_sums_flatten (x1)
  7. L40
    apply signed_row_sums_flatten
  8. L41
    exact hr_witness
  9. L42
    exact hv_witness
12Establish heqL43–52

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

  1. L43
    have heq : x1=z
  2. L44
    specialize signed_rectangular_slice_sum_functional (F)
  3. L45
    specialize signed_rectangular_slice_sum_functional (0)
  4. L46
    specialize signed_rectangular_slice_sum_functional (1)
  5. L47
    specialize signed_rectangular_slice_sum_functional (m*n)
  6. L48
    specialize signed_rectangular_slice_sum_functional (x1)
  7. L49
    specialize signed_rectangular_slice_sum_functional (z)
  8. L50
    apply signed_rectangular_slice_sum_functional
  9. L51
    exact hflat
  10. L52
    apply hi_right
13Use earlier factsL53–53

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

  1. L53
    exact hs
14Calculate and transport equalitiesL54–55

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L54
    rewrite heq at hv_witness
  2. L55
    rewrite heq at hv_witness
15Construct an explicit witnessL56–56

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

  1. L56
    exists x
16Separate the logical casesL57–57

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

  1. L57
    split
17Use earlier factsL58–59

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

  1. L58
    exact hr_witness
  2. L59
    exact hv_witness
18Fix variables and assumptionsL60–60

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

  1. L60
    intro hr
19Separate the logical casesL61–62

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

  1. L61
    cases hr
  2. L62
    cases hr_witness
20Use earlier factsL63–71

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

  1. L63
    apply hi_left
  2. L64
    specialize signed_row_sums_flatten (m)
  3. L65
    specialize signed_row_sums_flatten (F)
  4. L66
    specialize signed_row_sums_flatten (x)
  5. L67
    specialize signed_row_sums_flatten (n)
  6. L68
    specialize signed_row_sums_flatten (z)
  7. L69
    apply signed_row_sums_flatten
  8. L70
    exact hr_witness_left
  9. L71
    exact hr_witness_right

Library-wide reading audit

Original exact command ledger · 71 lines
  1. 0001intro F
  2. 0002intro m
  3. 0003intro n
  4. 0004intro z
  5. 0005intro hF
  6. 0006have hi : (((exists srs_slice_flat_unit_slice. ((((exists dst_positive_code_flat_unit_sliceslicesource_table dst_positive_scale_flat_unit_sliceslicesource_table dst_negative_code_flat_unit_sliceslicesource_table dst_negative_scale_flat_unit_sliceslicesource_table. (((F) = (((((dst_positive_code_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table)) * S ((dst_positive_code_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table)) + ((dst_positive_scale_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table))) + (((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) * S ((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) + ((dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)))) * S ((((dst_positive_code_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table)) * S ((dst_positive_code_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table)) + ((dst_positive_scale_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table))) + (((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) * S ((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) + ((dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)))) + ((((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) * S ((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) + ((dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table))) + (((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) * S ((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) + ((dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)))))) /\ (forall dst_index_flat_unit_sliceslicesource_table. (exists pvs_le_gap_flat_unit_sliceslicesource_tabledomain. pvs_le_gap_flat_unit_sliceslicesource_tabledomain + (dst_index_flat_unit_sliceslicesource_table) = (0)) -> exists dst_positive_flat_unit_sliceslicesource_table dst_negative_flat_unit_sliceslicesource_table dst_value_flat_unit_sliceslicesource_table. ((((exists ff_h_pvs_flat_unit_sliceslicesource_tableentrypositive. ff_h_pvs_flat_unit_sliceslicesource_tableentrypositive + S (dst_positive_flat_unit_sliceslicesource_table) = S ((S (dst_index_flat_unit_sliceslicesource_table)) * dst_positive_scale_flat_unit_sliceslicesource_table)) /\ exists ff_q_pvs_flat_unit_sliceslicesource_tableentrypositive. dst_positive_code_flat_unit_sliceslicesource_table = ff_q_pvs_flat_unit_sliceslicesource_tableentrypositive * S ((S (dst_index_flat_unit_sliceslicesource_table)) * dst_positive_scale_flat_unit_sliceslicesource_table) + (dst_positive_flat_unit_sliceslicesource_table))) /\ (((((exists ff_h_pvs_flat_unit_sliceslicesource_tableentrynegative. ff_h_pvs_flat_unit_sliceslicesource_tableentrynegative + S (dst_negative_flat_unit_sliceslicesource_table) = S ((S (dst_index_flat_unit_sliceslicesource_table)) * dst_negative_scale_flat_unit_sliceslicesource_table)) /\ exists ff_q_pvs_flat_unit_sliceslicesource_tableentrynegative. dst_negative_code_flat_unit_sliceslicesource_table = ff_q_pvs_flat_unit_sliceslicesource_tableentrynegative * S ((S (dst_index_flat_unit_sliceslicesource_table)) * dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_flat_unit_sliceslicesource_table))) /\ (exists ge_balance_positive_flat_unit_sliceslicesource_tableentryvalue ge_balance_negative_flat_unit_sliceslicesource_tableentryvalue. (((((dst_value_flat_unit_sliceslicesource_table) = 2 * (ge_balance_positive_flat_unit_sliceslicesource_tableentryvalue) /\ (ge_balance_negative_flat_unit_sliceslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_unit_sliceslicesource_tableentryvaluedecode. (((dst_value_flat_unit_sliceslicesource_table) = 2 * ge_signed_half_flat_unit_sliceslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_unit_sliceslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_unit_sliceslicesource_tableentryvalue) = S ge_signed_half_flat_unit_sliceslicesource_tableentryvaluedecode))) /\ ((dst_positive_flat_unit_sliceslicesource_table) + ge_balance_negative_flat_unit_sliceslicesource_tableentryvalue = (dst_negative_flat_unit_sliceslicesource_table) + ge_balance_positive_flat_unit_sliceslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_unit_slicesliceoutput_table dst_positive_scale_flat_unit_slicesliceoutput_table dst_negative_code_flat_unit_slicesliceoutput_table dst_negative_scale_flat_unit_slicesliceoutput_table. (((srs_slice_flat_unit_slice) = (((((dst_positive_code_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table)) * S ((dst_positive_code_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table)) + ((dst_positive_scale_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table))) + (((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) * S ((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) + ((dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)))) * S ((((dst_positive_code_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table)) * S ((dst_positive_code_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table)) + ((dst_positive_scale_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table))) + (((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) * S ((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) + ((dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)))) + ((((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) * S ((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) + ((dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table))) + (((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) * S ((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) + ((dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)))))) /\ (forall dst_index_flat_unit_slicesliceoutput_table. (exists pvs_le_gap_flat_unit_slicesliceoutput_tabledomain. pvs_le_gap_flat_unit_slicesliceoutput_tabledomain + (dst_index_flat_unit_slicesliceoutput_table) = (m*n)) -> exists dst_positive_flat_unit_slicesliceoutput_table dst_negative_flat_unit_slicesliceoutput_table dst_value_flat_unit_slicesliceoutput_table. ((((exists ff_h_pvs_flat_unit_slicesliceoutput_tableentrypositive. ff_h_pvs_flat_unit_slicesliceoutput_tableentrypositive + S (dst_positive_flat_unit_slicesliceoutput_table) = S ((S (dst_index_flat_unit_slicesliceoutput_table)) * dst_positive_scale_flat_unit_slicesliceoutput_table)) /\ exists ff_q_pvs_flat_unit_slicesliceoutput_tableentrypositive. dst_positive_code_flat_unit_slicesliceoutput_table = ff_q_pvs_flat_unit_slicesliceoutput_tableentrypositive * S ((S (dst_index_flat_unit_slicesliceoutput_table)) * dst_positive_scale_flat_unit_slicesliceoutput_table) + (dst_positive_flat_unit_slicesliceoutput_table))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceoutput_tableentrynegative. ff_h_pvs_flat_unit_slicesliceoutput_tableentrynegative + S (dst_negative_flat_unit_slicesliceoutput_table) = S ((S (dst_index_flat_unit_slicesliceoutput_table)) * dst_negative_scale_flat_unit_slicesliceoutput_table)) /\ exists ff_q_pvs_flat_unit_slicesliceoutput_tableentrynegative. dst_negative_code_flat_unit_slicesliceoutput_table = ff_q_pvs_flat_unit_slicesliceoutput_tableentrynegative * S ((S (dst_index_flat_unit_slicesliceoutput_table)) * dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_flat_unit_slicesliceoutput_table))) /\ (exists ge_balance_positive_flat_unit_slicesliceoutput_tableentryvalue ge_balance_negative_flat_unit_slicesliceoutput_tableentryvalue. (((((dst_value_flat_unit_slicesliceoutput_table) = 2 * (ge_balance_positive_flat_unit_slicesliceoutput_tableentryvalue) /\ (ge_balance_negative_flat_unit_slicesliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_flat_unit_slicesliceoutput_tableentryvaluedecode. (((dst_value_flat_unit_slicesliceoutput_table) = 2 * ge_signed_half_flat_unit_slicesliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_unit_slicesliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_flat_unit_slicesliceoutput_tableentryvalue) = S ge_signed_half_flat_unit_slicesliceoutput_tableentryvaluedecode))) /\ ((dst_positive_flat_unit_slicesliceoutput_table) + ge_balance_negative_flat_unit_slicesliceoutput_tableentryvalue = (dst_negative_flat_unit_slicesliceoutput_table) + ge_balance_positive_flat_unit_slicesliceoutput_tableentryvalue))))))))) /\ (forall srs_index_flat_unit_sliceslice. (exists pvs_gap_flat_unit_sliceslicebound. pvs_gap_flat_unit_sliceslicebound + S (srs_index_flat_unit_sliceslice) = (m*n)) -> exists srs_value_flat_unit_sliceslice. (((exists dst_positive_code_flat_unit_slicesliceentrysource dst_positive_scale_flat_unit_slicesliceentrysource dst_negative_code_flat_unit_slicesliceentrysource dst_negative_scale_flat_unit_slicesliceentrysource dst_positive_flat_unit_slicesliceentrysource dst_negative_flat_unit_slicesliceentrysource. (((F) = (((((dst_positive_code_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource)) * S ((dst_positive_code_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource)) + ((dst_positive_scale_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource))) + (((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) * S ((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) + ((dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)))) * S ((((dst_positive_code_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource)) * S ((dst_positive_code_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource)) + ((dst_positive_scale_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource))) + (((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) * S ((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) + ((dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)))) + ((((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) * S ((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) + ((dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource))) + (((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) * S ((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) + ((dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)))))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceentrysourcepositive. ff_h_pvs_flat_unit_slicesliceentrysourcepositive + S (dst_positive_flat_unit_slicesliceentrysource) = S ((S (((0) + ((1) * (srs_index_flat_unit_sliceslice))))) * dst_positive_scale_flat_unit_slicesliceentrysource)) /\ exists ff_q_pvs_flat_unit_slicesliceentrysourcepositive. dst_positive_code_flat_unit_slicesliceentrysource = ff_q_pvs_flat_unit_slicesliceentrysourcepositive * S ((S (((0) + ((1) * (srs_index_flat_unit_sliceslice))))) * dst_positive_scale_flat_unit_slicesliceentrysource) + (dst_positive_flat_unit_slicesliceentrysource))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceentrysourcenegative. ff_h_pvs_flat_unit_slicesliceentrysourcenegative + S (dst_negative_flat_unit_slicesliceentrysource) = S ((S (((0) + ((1) * (srs_index_flat_unit_sliceslice))))) * dst_negative_scale_flat_unit_slicesliceentrysource)) /\ exists ff_q_pvs_flat_unit_slicesliceentrysourcenegative. dst_negative_code_flat_unit_slicesliceentrysource = ff_q_pvs_flat_unit_slicesliceentrysourcenegative * S ((S (((0) + ((1) * (srs_index_flat_unit_sliceslice))))) * dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_flat_unit_slicesliceentrysource))) /\ (exists ge_balance_positive_flat_unit_slicesliceentrysourcevalue ge_balance_negative_flat_unit_slicesliceentrysourcevalue. (((((srs_value_flat_unit_sliceslice) = 2 * (ge_balance_positive_flat_unit_slicesliceentrysourcevalue) /\ (ge_balance_negative_flat_unit_slicesliceentrysourcevalue) = 0) \/ exists ge_signed_half_flat_unit_slicesliceentrysourcevaluedecode. (((srs_value_flat_unit_sliceslice) = 2 * ge_signed_half_flat_unit_slicesliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_flat_unit_slicesliceentrysourcevalue) = 0) /\ (ge_balance_negative_flat_unit_slicesliceentrysourcevalue) = S ge_signed_half_flat_unit_slicesliceentrysourcevaluedecode))) /\ ((dst_positive_flat_unit_slicesliceentrysource) + ge_balance_negative_flat_unit_slicesliceentrysourcevalue = (dst_negative_flat_unit_slicesliceentrysource) + ge_balance_positive_flat_unit_slicesliceentrysourcevalue))))))))) /\ (exists dst_positive_code_flat_unit_slicesliceentryoutput dst_positive_scale_flat_unit_slicesliceentryoutput dst_negative_code_flat_unit_slicesliceentryoutput dst_negative_scale_flat_unit_slicesliceentryoutput dst_positive_flat_unit_slicesliceentryoutput dst_negative_flat_unit_slicesliceentryoutput. (((srs_slice_flat_unit_slice) = (((((dst_positive_code_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput)) * S ((dst_positive_code_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput)) + ((dst_positive_scale_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput))) + (((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) * S ((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) + ((dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)))) * S ((((dst_positive_code_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput)) * S ((dst_positive_code_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput)) + ((dst_positive_scale_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput))) + (((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) * S ((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) + ((dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)))) + ((((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) * S ((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) + ((dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput))) + (((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) * S ((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) + ((dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)))))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceentryoutputpositive. ff_h_pvs_flat_unit_slicesliceentryoutputpositive + S (dst_positive_flat_unit_slicesliceentryoutput) = S ((S (srs_index_flat_unit_sliceslice)) * dst_positive_scale_flat_unit_slicesliceentryoutput)) /\ exists ff_q_pvs_flat_unit_slicesliceentryoutputpositive. dst_positive_code_flat_unit_slicesliceentryoutput = ff_q_pvs_flat_unit_slicesliceentryoutputpositive * S ((S (srs_index_flat_unit_sliceslice)) * dst_positive_scale_flat_unit_slicesliceentryoutput) + (dst_positive_flat_unit_slicesliceentryoutput))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceentryoutputnegative. ff_h_pvs_flat_unit_slicesliceentryoutputnegative + S (dst_negative_flat_unit_slicesliceentryoutput) = S ((S (srs_index_flat_unit_sliceslice)) * dst_negative_scale_flat_unit_slicesliceentryoutput)) /\ exists ff_q_pvs_flat_unit_slicesliceentryoutputnegative. dst_negative_code_flat_unit_slicesliceentryoutput = ff_q_pvs_flat_unit_slicesliceentryoutputnegative * S ((S (srs_index_flat_unit_sliceslice)) * dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_flat_unit_slicesliceentryoutput))) /\ (exists ge_balance_positive_flat_unit_slicesliceentryoutputvalue ge_balance_negative_flat_unit_slicesliceentryoutputvalue. (((((srs_value_flat_unit_sliceslice) = 2 * (ge_balance_positive_flat_unit_slicesliceentryoutputvalue) /\ (ge_balance_negative_flat_unit_slicesliceentryoutputvalue) = 0) \/ exists ge_signed_half_flat_unit_slicesliceentryoutputvaluedecode. (((srs_value_flat_unit_sliceslice) = 2 * ge_signed_half_flat_unit_slicesliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_flat_unit_slicesliceentryoutputvalue) = 0) /\ (ge_balance_negative_flat_unit_slicesliceentryoutputvalue) = S ge_signed_half_flat_unit_slicesliceentryoutputvaluedecode))) /\ ((dst_positive_flat_unit_slicesliceentryoutput) + ge_balance_negative_flat_unit_slicesliceentryoutputvalue = (dst_negative_flat_unit_slicesliceentryoutput) + ge_balance_positive_flat_unit_slicesliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_flat_unit_slicesum dst_positive_scale_flat_unit_slicesum dst_negative_code_flat_unit_slicesum dst_negative_scale_flat_unit_slicesum dst_positive_sum_flat_unit_slicesum dst_negative_sum_flat_unit_slicesum. (((srs_slice_flat_unit_slice) = (((((dst_positive_code_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum)) * S ((dst_positive_code_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum)) + ((dst_positive_scale_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum))) + (((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) * S ((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) + ((dst_negative_scale_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)))) * S ((((dst_positive_code_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum)) * S ((dst_positive_code_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum)) + ((dst_positive_scale_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum))) + (((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) * S ((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) + ((dst_negative_scale_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)))) + ((((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) * S ((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) + ((dst_negative_scale_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum))) + (((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) * S ((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) + ((dst_negative_scale_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)))))) /\ (((exists fs_u_dst_flat_unit_slicesumpositive fs_v_dst_flat_unit_slicesumpositive. ((((exists fs_h_dst_flat_unit_slicesumpositive_body_start. fs_h_dst_flat_unit_slicesumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_unit_slicesumpositive)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_start. fs_u_dst_flat_unit_slicesumpositive = fs_q_dst_flat_unit_slicesumpositive_body_start * S ((S (0)) * fs_v_dst_flat_unit_slicesumpositive) + (0))) /\ ((((exists fs_h_dst_flat_unit_slicesumpositive_body_terminal. fs_h_dst_flat_unit_slicesumpositive_body_terminal + S (dst_positive_sum_flat_unit_slicesum) = S ((S (m*n)) * fs_v_dst_flat_unit_slicesumpositive)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_terminal. fs_u_dst_flat_unit_slicesumpositive = fs_q_dst_flat_unit_slicesumpositive_body_terminal * S ((S (m*n)) * fs_v_dst_flat_unit_slicesumpositive) + (dst_positive_sum_flat_unit_slicesum))) /\ forall fs_i_dst_flat_unit_slicesumpositive_body_steps. (exists fs_lt_dst_flat_unit_slicesumpositive_body_steps_bound. fs_lt_dst_flat_unit_slicesumpositive_body_steps_bound + S fs_i_dst_flat_unit_slicesumpositive_body_steps = m*n) -> exists fs_a_dst_flat_unit_slicesumpositive_body_steps fs_r_dst_flat_unit_slicesumpositive_body_steps fs_s_dst_flat_unit_slicesumpositive_body_steps. ((((exists fs_h_dst_flat_unit_slicesumpositive_body_steps_summand. fs_h_dst_flat_unit_slicesumpositive_body_steps_summand + S (fs_a_dst_flat_unit_slicesumpositive_body_steps) = S ((S (fs_i_dst_flat_unit_slicesumpositive_body_steps)) * dst_positive_scale_flat_unit_slicesum)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_steps_summand. dst_positive_code_flat_unit_slicesum = fs_q_dst_flat_unit_slicesumpositive_body_steps_summand * S ((S (fs_i_dst_flat_unit_slicesumpositive_body_steps)) * dst_positive_scale_flat_unit_slicesum) + (fs_a_dst_flat_unit_slicesumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_unit_slicesumpositive_body_steps_partial. fs_h_dst_flat_unit_slicesumpositive_body_steps_partial + S (fs_r_dst_flat_unit_slicesumpositive_body_steps) = S ((S (fs_i_dst_flat_unit_slicesumpositive_body_steps)) * fs_v_dst_flat_unit_slicesumpositive)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_steps_partial. fs_u_dst_flat_unit_slicesumpositive = fs_q_dst_flat_unit_slicesumpositive_body_steps_partial * S ((S (fs_i_dst_flat_unit_slicesumpositive_body_steps)) * fs_v_dst_flat_unit_slicesumpositive) + (fs_r_dst_flat_unit_slicesumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_unit_slicesumpositive_body_steps_successor. fs_h_dst_flat_unit_slicesumpositive_body_steps_successor + S (fs_s_dst_flat_unit_slicesumpositive_body_steps) = S ((S (S fs_i_dst_flat_unit_slicesumpositive_body_steps)) * fs_v_dst_flat_unit_slicesumpositive)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_steps_successor. fs_u_dst_flat_unit_slicesumpositive = fs_q_dst_flat_unit_slicesumpositive_body_steps_successor * S ((S (S fs_i_dst_flat_unit_slicesumpositive_body_steps)) * fs_v_dst_flat_unit_slicesumpositive) + (fs_s_dst_flat_unit_slicesumpositive_body_steps))) /\ fs_s_dst_flat_unit_slicesumpositive_body_steps = fs_r_dst_flat_unit_slicesumpositive_body_steps + fs_a_dst_flat_unit_slicesumpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_unit_slicesumnegative fs_v_dst_flat_unit_slicesumnegative. ((((exists fs_h_dst_flat_unit_slicesumnegative_body_start. fs_h_dst_flat_unit_slicesumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_unit_slicesumnegative)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_start. fs_u_dst_flat_unit_slicesumnegative = fs_q_dst_flat_unit_slicesumnegative_body_start * S ((S (0)) * fs_v_dst_flat_unit_slicesumnegative) + (0))) /\ ((((exists fs_h_dst_flat_unit_slicesumnegative_body_terminal. fs_h_dst_flat_unit_slicesumnegative_body_terminal + S (dst_negative_sum_flat_unit_slicesum) = S ((S (m*n)) * fs_v_dst_flat_unit_slicesumnegative)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_terminal. fs_u_dst_flat_unit_slicesumnegative = fs_q_dst_flat_unit_slicesumnegative_body_terminal * S ((S (m*n)) * fs_v_dst_flat_unit_slicesumnegative) + (dst_negative_sum_flat_unit_slicesum))) /\ forall fs_i_dst_flat_unit_slicesumnegative_body_steps. (exists fs_lt_dst_flat_unit_slicesumnegative_body_steps_bound. fs_lt_dst_flat_unit_slicesumnegative_body_steps_bound + S fs_i_dst_flat_unit_slicesumnegative_body_steps = m*n) -> exists fs_a_dst_flat_unit_slicesumnegative_body_steps fs_r_dst_flat_unit_slicesumnegative_body_steps fs_s_dst_flat_unit_slicesumnegative_body_steps. ((((exists fs_h_dst_flat_unit_slicesumnegative_body_steps_summand. fs_h_dst_flat_unit_slicesumnegative_body_steps_summand + S (fs_a_dst_flat_unit_slicesumnegative_body_steps) = S ((S (fs_i_dst_flat_unit_slicesumnegative_body_steps)) * dst_negative_scale_flat_unit_slicesum)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_steps_summand. dst_negative_code_flat_unit_slicesum = fs_q_dst_flat_unit_slicesumnegative_body_steps_summand * S ((S (fs_i_dst_flat_unit_slicesumnegative_body_steps)) * dst_negative_scale_flat_unit_slicesum) + (fs_a_dst_flat_unit_slicesumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_unit_slicesumnegative_body_steps_partial. fs_h_dst_flat_unit_slicesumnegative_body_steps_partial + S (fs_r_dst_flat_unit_slicesumnegative_body_steps) = S ((S (fs_i_dst_flat_unit_slicesumnegative_body_steps)) * fs_v_dst_flat_unit_slicesumnegative)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_steps_partial. fs_u_dst_flat_unit_slicesumnegative = fs_q_dst_flat_unit_slicesumnegative_body_steps_partial * S ((S (fs_i_dst_flat_unit_slicesumnegative_body_steps)) * fs_v_dst_flat_unit_slicesumnegative) + (fs_r_dst_flat_unit_slicesumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_unit_slicesumnegative_body_steps_successor. fs_h_dst_flat_unit_slicesumnegative_body_steps_successor + S (fs_s_dst_flat_unit_slicesumnegative_body_steps) = S ((S (S fs_i_dst_flat_unit_slicesumnegative_body_steps)) * fs_v_dst_flat_unit_slicesumnegative)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_steps_successor. fs_u_dst_flat_unit_slicesumnegative = fs_q_dst_flat_unit_slicesumnegative_body_steps_successor * S ((S (S fs_i_dst_flat_unit_slicesumnegative_body_steps)) * fs_v_dst_flat_unit_slicesumnegative) + (fs_s_dst_flat_unit_slicesumnegative_body_steps))) /\ fs_s_dst_flat_unit_slicesumnegative_body_steps = fs_r_dst_flat_unit_slicesumnegative_body_steps + fs_a_dst_flat_unit_slicesumnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_unit_slicesumresult ge_balance_negative_flat_unit_slicesumresult. (((((z) = 2 * (ge_balance_positive_flat_unit_slicesumresult) /\ (ge_balance_negative_flat_unit_slicesumresult) = 0) \/ exists ge_signed_half_flat_unit_slicesumresultdecode. (((z) = 2 * ge_signed_half_flat_unit_slicesumresultdecode + 1 /\ (ge_balance_positive_flat_unit_slicesumresult) = 0) /\ (ge_balance_negative_flat_unit_slicesumresult) = S ge_signed_half_flat_unit_slicesumresultdecode))) /\ ((dst_positive_sum_flat_unit_slicesum) + ge_balance_negative_flat_unit_slicesumresult = (dst_negative_sum_flat_unit_slicesum) + ge_balance_positive_flat_unit_slicesumresult))))))))))) -> (exists dst_positive_code_flat_unit_prefix dst_positive_scale_flat_unit_prefix dst_negative_code_flat_unit_prefix dst_negative_scale_flat_unit_prefix dst_positive_sum_flat_unit_prefix dst_negative_sum_flat_unit_prefix. (((F) = (((((dst_positive_code_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix)) * S ((dst_positive_code_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix)) + ((dst_positive_scale_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix))) + (((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) * S ((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) + ((dst_negative_scale_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)))) * S ((((dst_positive_code_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix)) * S ((dst_positive_code_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix)) + ((dst_positive_scale_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix))) + (((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) * S ((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) + ((dst_negative_scale_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)))) + ((((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) * S ((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) + ((dst_negative_scale_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix))) + (((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) * S ((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) + ((dst_negative_scale_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)))))) /\ (((exists fs_u_dst_flat_unit_prefixpositive fs_v_dst_flat_unit_prefixpositive. ((((exists fs_h_dst_flat_unit_prefixpositive_body_start. fs_h_dst_flat_unit_prefixpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_unit_prefixpositive)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_start. fs_u_dst_flat_unit_prefixpositive = fs_q_dst_flat_unit_prefixpositive_body_start * S ((S (0)) * fs_v_dst_flat_unit_prefixpositive) + (0))) /\ ((((exists fs_h_dst_flat_unit_prefixpositive_body_terminal. fs_h_dst_flat_unit_prefixpositive_body_terminal + S (dst_positive_sum_flat_unit_prefix) = S ((S (m*n)) * fs_v_dst_flat_unit_prefixpositive)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_terminal. fs_u_dst_flat_unit_prefixpositive = fs_q_dst_flat_unit_prefixpositive_body_terminal * S ((S (m*n)) * fs_v_dst_flat_unit_prefixpositive) + (dst_positive_sum_flat_unit_prefix))) /\ forall fs_i_dst_flat_unit_prefixpositive_body_steps. (exists fs_lt_dst_flat_unit_prefixpositive_body_steps_bound. fs_lt_dst_flat_unit_prefixpositive_body_steps_bound + S fs_i_dst_flat_unit_prefixpositive_body_steps = m*n) -> exists fs_a_dst_flat_unit_prefixpositive_body_steps fs_r_dst_flat_unit_prefixpositive_body_steps fs_s_dst_flat_unit_prefixpositive_body_steps. ((((exists fs_h_dst_flat_unit_prefixpositive_body_steps_summand. fs_h_dst_flat_unit_prefixpositive_body_steps_summand + S (fs_a_dst_flat_unit_prefixpositive_body_steps) = S ((S (fs_i_dst_flat_unit_prefixpositive_body_steps)) * dst_positive_scale_flat_unit_prefix)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_steps_summand. dst_positive_code_flat_unit_prefix = fs_q_dst_flat_unit_prefixpositive_body_steps_summand * S ((S (fs_i_dst_flat_unit_prefixpositive_body_steps)) * dst_positive_scale_flat_unit_prefix) + (fs_a_dst_flat_unit_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_flat_unit_prefixpositive_body_steps_partial. fs_h_dst_flat_unit_prefixpositive_body_steps_partial + S (fs_r_dst_flat_unit_prefixpositive_body_steps) = S ((S (fs_i_dst_flat_unit_prefixpositive_body_steps)) * fs_v_dst_flat_unit_prefixpositive)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_steps_partial. fs_u_dst_flat_unit_prefixpositive = fs_q_dst_flat_unit_prefixpositive_body_steps_partial * S ((S (fs_i_dst_flat_unit_prefixpositive_body_steps)) * fs_v_dst_flat_unit_prefixpositive) + (fs_r_dst_flat_unit_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_flat_unit_prefixpositive_body_steps_successor. fs_h_dst_flat_unit_prefixpositive_body_steps_successor + S (fs_s_dst_flat_unit_prefixpositive_body_steps) = S ((S (S fs_i_dst_flat_unit_prefixpositive_body_steps)) * fs_v_dst_flat_unit_prefixpositive)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_steps_successor. fs_u_dst_flat_unit_prefixpositive = fs_q_dst_flat_unit_prefixpositive_body_steps_successor * S ((S (S fs_i_dst_flat_unit_prefixpositive_body_steps)) * fs_v_dst_flat_unit_prefixpositive) + (fs_s_dst_flat_unit_prefixpositive_body_steps))) /\ fs_s_dst_flat_unit_prefixpositive_body_steps = fs_r_dst_flat_unit_prefixpositive_body_steps + fs_a_dst_flat_unit_prefixpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_unit_prefixnegative fs_v_dst_flat_unit_prefixnegative. ((((exists fs_h_dst_flat_unit_prefixnegative_body_start. fs_h_dst_flat_unit_prefixnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_unit_prefixnegative)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_start. fs_u_dst_flat_unit_prefixnegative = fs_q_dst_flat_unit_prefixnegative_body_start * S ((S (0)) * fs_v_dst_flat_unit_prefixnegative) + (0))) /\ ((((exists fs_h_dst_flat_unit_prefixnegative_body_terminal. fs_h_dst_flat_unit_prefixnegative_body_terminal + S (dst_negative_sum_flat_unit_prefix) = S ((S (m*n)) * fs_v_dst_flat_unit_prefixnegative)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_terminal. fs_u_dst_flat_unit_prefixnegative = fs_q_dst_flat_unit_prefixnegative_body_terminal * S ((S (m*n)) * fs_v_dst_flat_unit_prefixnegative) + (dst_negative_sum_flat_unit_prefix))) /\ forall fs_i_dst_flat_unit_prefixnegative_body_steps. (exists fs_lt_dst_flat_unit_prefixnegative_body_steps_bound. fs_lt_dst_flat_unit_prefixnegative_body_steps_bound + S fs_i_dst_flat_unit_prefixnegative_body_steps = m*n) -> exists fs_a_dst_flat_unit_prefixnegative_body_steps fs_r_dst_flat_unit_prefixnegative_body_steps fs_s_dst_flat_unit_prefixnegative_body_steps. ((((exists fs_h_dst_flat_unit_prefixnegative_body_steps_summand. fs_h_dst_flat_unit_prefixnegative_body_steps_summand + S (fs_a_dst_flat_unit_prefixnegative_body_steps) = S ((S (fs_i_dst_flat_unit_prefixnegative_body_steps)) * dst_negative_scale_flat_unit_prefix)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_steps_summand. dst_negative_code_flat_unit_prefix = fs_q_dst_flat_unit_prefixnegative_body_steps_summand * S ((S (fs_i_dst_flat_unit_prefixnegative_body_steps)) * dst_negative_scale_flat_unit_prefix) + (fs_a_dst_flat_unit_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_flat_unit_prefixnegative_body_steps_partial. fs_h_dst_flat_unit_prefixnegative_body_steps_partial + S (fs_r_dst_flat_unit_prefixnegative_body_steps) = S ((S (fs_i_dst_flat_unit_prefixnegative_body_steps)) * fs_v_dst_flat_unit_prefixnegative)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_steps_partial. fs_u_dst_flat_unit_prefixnegative = fs_q_dst_flat_unit_prefixnegative_body_steps_partial * S ((S (fs_i_dst_flat_unit_prefixnegative_body_steps)) * fs_v_dst_flat_unit_prefixnegative) + (fs_r_dst_flat_unit_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_flat_unit_prefixnegative_body_steps_successor. fs_h_dst_flat_unit_prefixnegative_body_steps_successor + S (fs_s_dst_flat_unit_prefixnegative_body_steps) = S ((S (S fs_i_dst_flat_unit_prefixnegative_body_steps)) * fs_v_dst_flat_unit_prefixnegative)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_steps_successor. fs_u_dst_flat_unit_prefixnegative = fs_q_dst_flat_unit_prefixnegative_body_steps_successor * S ((S (S fs_i_dst_flat_unit_prefixnegative_body_steps)) * fs_v_dst_flat_unit_prefixnegative) + (fs_s_dst_flat_unit_prefixnegative_body_steps))) /\ fs_s_dst_flat_unit_prefixnegative_body_steps = fs_r_dst_flat_unit_prefixnegative_body_steps + fs_a_dst_flat_unit_prefixnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_unit_prefixresult ge_balance_negative_flat_unit_prefixresult. (((((z) = 2 * (ge_balance_positive_flat_unit_prefixresult) /\ (ge_balance_negative_flat_unit_prefixresult) = 0) \/ exists ge_signed_half_flat_unit_prefixresultdecode. (((z) = 2 * ge_signed_half_flat_unit_prefixresultdecode + 1 /\ (ge_balance_positive_flat_unit_prefixresult) = 0) /\ (ge_balance_negative_flat_unit_prefixresult) = S ge_signed_half_flat_unit_prefixresultdecode))) /\ ((dst_positive_sum_flat_unit_prefix) + ge_balance_negative_flat_unit_prefixresult = (dst_negative_sum_flat_unit_prefix) + ge_balance_positive_flat_unit_prefixresult)))))))))) /\ ((exists dst_positive_code_flat_unit_prefix dst_positive_scale_flat_unit_prefix dst_negative_code_flat_unit_prefix dst_negative_scale_flat_unit_prefix dst_positive_sum_flat_unit_prefix dst_negative_sum_flat_unit_prefix. (((F) = (((((dst_positive_code_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix)) * S ((dst_positive_code_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix)) + ((dst_positive_scale_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix))) + (((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) * S ((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) + ((dst_negative_scale_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)))) * S ((((dst_positive_code_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix)) * S ((dst_positive_code_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix)) + ((dst_positive_scale_flat_unit_prefix) + (dst_positive_scale_flat_unit_prefix))) + (((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) * S ((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) + ((dst_negative_scale_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)))) + ((((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) * S ((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) + ((dst_negative_scale_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix))) + (((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) * S ((dst_negative_code_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)) + ((dst_negative_scale_flat_unit_prefix) + (dst_negative_scale_flat_unit_prefix)))))) /\ (((exists fs_u_dst_flat_unit_prefixpositive fs_v_dst_flat_unit_prefixpositive. ((((exists fs_h_dst_flat_unit_prefixpositive_body_start. fs_h_dst_flat_unit_prefixpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_unit_prefixpositive)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_start. fs_u_dst_flat_unit_prefixpositive = fs_q_dst_flat_unit_prefixpositive_body_start * S ((S (0)) * fs_v_dst_flat_unit_prefixpositive) + (0))) /\ ((((exists fs_h_dst_flat_unit_prefixpositive_body_terminal. fs_h_dst_flat_unit_prefixpositive_body_terminal + S (dst_positive_sum_flat_unit_prefix) = S ((S (m*n)) * fs_v_dst_flat_unit_prefixpositive)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_terminal. fs_u_dst_flat_unit_prefixpositive = fs_q_dst_flat_unit_prefixpositive_body_terminal * S ((S (m*n)) * fs_v_dst_flat_unit_prefixpositive) + (dst_positive_sum_flat_unit_prefix))) /\ forall fs_i_dst_flat_unit_prefixpositive_body_steps. (exists fs_lt_dst_flat_unit_prefixpositive_body_steps_bound. fs_lt_dst_flat_unit_prefixpositive_body_steps_bound + S fs_i_dst_flat_unit_prefixpositive_body_steps = m*n) -> exists fs_a_dst_flat_unit_prefixpositive_body_steps fs_r_dst_flat_unit_prefixpositive_body_steps fs_s_dst_flat_unit_prefixpositive_body_steps. ((((exists fs_h_dst_flat_unit_prefixpositive_body_steps_summand. fs_h_dst_flat_unit_prefixpositive_body_steps_summand + S (fs_a_dst_flat_unit_prefixpositive_body_steps) = S ((S (fs_i_dst_flat_unit_prefixpositive_body_steps)) * dst_positive_scale_flat_unit_prefix)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_steps_summand. dst_positive_code_flat_unit_prefix = fs_q_dst_flat_unit_prefixpositive_body_steps_summand * S ((S (fs_i_dst_flat_unit_prefixpositive_body_steps)) * dst_positive_scale_flat_unit_prefix) + (fs_a_dst_flat_unit_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_flat_unit_prefixpositive_body_steps_partial. fs_h_dst_flat_unit_prefixpositive_body_steps_partial + S (fs_r_dst_flat_unit_prefixpositive_body_steps) = S ((S (fs_i_dst_flat_unit_prefixpositive_body_steps)) * fs_v_dst_flat_unit_prefixpositive)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_steps_partial. fs_u_dst_flat_unit_prefixpositive = fs_q_dst_flat_unit_prefixpositive_body_steps_partial * S ((S (fs_i_dst_flat_unit_prefixpositive_body_steps)) * fs_v_dst_flat_unit_prefixpositive) + (fs_r_dst_flat_unit_prefixpositive_body_steps))) /\ ((((exists fs_h_dst_flat_unit_prefixpositive_body_steps_successor. fs_h_dst_flat_unit_prefixpositive_body_steps_successor + S (fs_s_dst_flat_unit_prefixpositive_body_steps) = S ((S (S fs_i_dst_flat_unit_prefixpositive_body_steps)) * fs_v_dst_flat_unit_prefixpositive)) /\ exists fs_q_dst_flat_unit_prefixpositive_body_steps_successor. fs_u_dst_flat_unit_prefixpositive = fs_q_dst_flat_unit_prefixpositive_body_steps_successor * S ((S (S fs_i_dst_flat_unit_prefixpositive_body_steps)) * fs_v_dst_flat_unit_prefixpositive) + (fs_s_dst_flat_unit_prefixpositive_body_steps))) /\ fs_s_dst_flat_unit_prefixpositive_body_steps = fs_r_dst_flat_unit_prefixpositive_body_steps + fs_a_dst_flat_unit_prefixpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_unit_prefixnegative fs_v_dst_flat_unit_prefixnegative. ((((exists fs_h_dst_flat_unit_prefixnegative_body_start. fs_h_dst_flat_unit_prefixnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_unit_prefixnegative)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_start. fs_u_dst_flat_unit_prefixnegative = fs_q_dst_flat_unit_prefixnegative_body_start * S ((S (0)) * fs_v_dst_flat_unit_prefixnegative) + (0))) /\ ((((exists fs_h_dst_flat_unit_prefixnegative_body_terminal. fs_h_dst_flat_unit_prefixnegative_body_terminal + S (dst_negative_sum_flat_unit_prefix) = S ((S (m*n)) * fs_v_dst_flat_unit_prefixnegative)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_terminal. fs_u_dst_flat_unit_prefixnegative = fs_q_dst_flat_unit_prefixnegative_body_terminal * S ((S (m*n)) * fs_v_dst_flat_unit_prefixnegative) + (dst_negative_sum_flat_unit_prefix))) /\ forall fs_i_dst_flat_unit_prefixnegative_body_steps. (exists fs_lt_dst_flat_unit_prefixnegative_body_steps_bound. fs_lt_dst_flat_unit_prefixnegative_body_steps_bound + S fs_i_dst_flat_unit_prefixnegative_body_steps = m*n) -> exists fs_a_dst_flat_unit_prefixnegative_body_steps fs_r_dst_flat_unit_prefixnegative_body_steps fs_s_dst_flat_unit_prefixnegative_body_steps. ((((exists fs_h_dst_flat_unit_prefixnegative_body_steps_summand. fs_h_dst_flat_unit_prefixnegative_body_steps_summand + S (fs_a_dst_flat_unit_prefixnegative_body_steps) = S ((S (fs_i_dst_flat_unit_prefixnegative_body_steps)) * dst_negative_scale_flat_unit_prefix)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_steps_summand. dst_negative_code_flat_unit_prefix = fs_q_dst_flat_unit_prefixnegative_body_steps_summand * S ((S (fs_i_dst_flat_unit_prefixnegative_body_steps)) * dst_negative_scale_flat_unit_prefix) + (fs_a_dst_flat_unit_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_flat_unit_prefixnegative_body_steps_partial. fs_h_dst_flat_unit_prefixnegative_body_steps_partial + S (fs_r_dst_flat_unit_prefixnegative_body_steps) = S ((S (fs_i_dst_flat_unit_prefixnegative_body_steps)) * fs_v_dst_flat_unit_prefixnegative)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_steps_partial. fs_u_dst_flat_unit_prefixnegative = fs_q_dst_flat_unit_prefixnegative_body_steps_partial * S ((S (fs_i_dst_flat_unit_prefixnegative_body_steps)) * fs_v_dst_flat_unit_prefixnegative) + (fs_r_dst_flat_unit_prefixnegative_body_steps))) /\ ((((exists fs_h_dst_flat_unit_prefixnegative_body_steps_successor. fs_h_dst_flat_unit_prefixnegative_body_steps_successor + S (fs_s_dst_flat_unit_prefixnegative_body_steps) = S ((S (S fs_i_dst_flat_unit_prefixnegative_body_steps)) * fs_v_dst_flat_unit_prefixnegative)) /\ exists fs_q_dst_flat_unit_prefixnegative_body_steps_successor. fs_u_dst_flat_unit_prefixnegative = fs_q_dst_flat_unit_prefixnegative_body_steps_successor * S ((S (S fs_i_dst_flat_unit_prefixnegative_body_steps)) * fs_v_dst_flat_unit_prefixnegative) + (fs_s_dst_flat_unit_prefixnegative_body_steps))) /\ fs_s_dst_flat_unit_prefixnegative_body_steps = fs_r_dst_flat_unit_prefixnegative_body_steps + fs_a_dst_flat_unit_prefixnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_unit_prefixresult ge_balance_negative_flat_unit_prefixresult. (((((z) = 2 * (ge_balance_positive_flat_unit_prefixresult) /\ (ge_balance_negative_flat_unit_prefixresult) = 0) \/ exists ge_signed_half_flat_unit_prefixresultdecode. (((z) = 2 * ge_signed_half_flat_unit_prefixresultdecode + 1 /\ (ge_balance_positive_flat_unit_prefixresult) = 0) /\ (ge_balance_negative_flat_unit_prefixresult) = S ge_signed_half_flat_unit_prefixresultdecode))) /\ ((dst_positive_sum_flat_unit_prefix) + ge_balance_negative_flat_unit_prefixresult = (dst_negative_sum_flat_unit_prefix) + ge_balance_positive_flat_unit_prefixresult))))))))) -> (exists srs_slice_flat_unit_slice. ((((exists dst_positive_code_flat_unit_sliceslicesource_table dst_positive_scale_flat_unit_sliceslicesource_table dst_negative_code_flat_unit_sliceslicesource_table dst_negative_scale_flat_unit_sliceslicesource_table. (((F) = (((((dst_positive_code_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table)) * S ((dst_positive_code_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table)) + ((dst_positive_scale_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table))) + (((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) * S ((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) + ((dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)))) * S ((((dst_positive_code_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table)) * S ((dst_positive_code_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table)) + ((dst_positive_scale_flat_unit_sliceslicesource_table) + (dst_positive_scale_flat_unit_sliceslicesource_table))) + (((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) * S ((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) + ((dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)))) + ((((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) * S ((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) + ((dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table))) + (((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) * S ((dst_negative_code_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)) + ((dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_scale_flat_unit_sliceslicesource_table)))))) /\ (forall dst_index_flat_unit_sliceslicesource_table. (exists pvs_le_gap_flat_unit_sliceslicesource_tabledomain. pvs_le_gap_flat_unit_sliceslicesource_tabledomain + (dst_index_flat_unit_sliceslicesource_table) = (0)) -> exists dst_positive_flat_unit_sliceslicesource_table dst_negative_flat_unit_sliceslicesource_table dst_value_flat_unit_sliceslicesource_table. ((((exists ff_h_pvs_flat_unit_sliceslicesource_tableentrypositive. ff_h_pvs_flat_unit_sliceslicesource_tableentrypositive + S (dst_positive_flat_unit_sliceslicesource_table) = S ((S (dst_index_flat_unit_sliceslicesource_table)) * dst_positive_scale_flat_unit_sliceslicesource_table)) /\ exists ff_q_pvs_flat_unit_sliceslicesource_tableentrypositive. dst_positive_code_flat_unit_sliceslicesource_table = ff_q_pvs_flat_unit_sliceslicesource_tableentrypositive * S ((S (dst_index_flat_unit_sliceslicesource_table)) * dst_positive_scale_flat_unit_sliceslicesource_table) + (dst_positive_flat_unit_sliceslicesource_table))) /\ (((((exists ff_h_pvs_flat_unit_sliceslicesource_tableentrynegative. ff_h_pvs_flat_unit_sliceslicesource_tableentrynegative + S (dst_negative_flat_unit_sliceslicesource_table) = S ((S (dst_index_flat_unit_sliceslicesource_table)) * dst_negative_scale_flat_unit_sliceslicesource_table)) /\ exists ff_q_pvs_flat_unit_sliceslicesource_tableentrynegative. dst_negative_code_flat_unit_sliceslicesource_table = ff_q_pvs_flat_unit_sliceslicesource_tableentrynegative * S ((S (dst_index_flat_unit_sliceslicesource_table)) * dst_negative_scale_flat_unit_sliceslicesource_table) + (dst_negative_flat_unit_sliceslicesource_table))) /\ (exists ge_balance_positive_flat_unit_sliceslicesource_tableentryvalue ge_balance_negative_flat_unit_sliceslicesource_tableentryvalue. (((((dst_value_flat_unit_sliceslicesource_table) = 2 * (ge_balance_positive_flat_unit_sliceslicesource_tableentryvalue) /\ (ge_balance_negative_flat_unit_sliceslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_unit_sliceslicesource_tableentryvaluedecode. (((dst_value_flat_unit_sliceslicesource_table) = 2 * ge_signed_half_flat_unit_sliceslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_unit_sliceslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_unit_sliceslicesource_tableentryvalue) = S ge_signed_half_flat_unit_sliceslicesource_tableentryvaluedecode))) /\ ((dst_positive_flat_unit_sliceslicesource_table) + ge_balance_negative_flat_unit_sliceslicesource_tableentryvalue = (dst_negative_flat_unit_sliceslicesource_table) + ge_balance_positive_flat_unit_sliceslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_unit_slicesliceoutput_table dst_positive_scale_flat_unit_slicesliceoutput_table dst_negative_code_flat_unit_slicesliceoutput_table dst_negative_scale_flat_unit_slicesliceoutput_table. (((srs_slice_flat_unit_slice) = (((((dst_positive_code_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table)) * S ((dst_positive_code_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table)) + ((dst_positive_scale_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table))) + (((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) * S ((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) + ((dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)))) * S ((((dst_positive_code_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table)) * S ((dst_positive_code_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table)) + ((dst_positive_scale_flat_unit_slicesliceoutput_table) + (dst_positive_scale_flat_unit_slicesliceoutput_table))) + (((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) * S ((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) + ((dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)))) + ((((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) * S ((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) + ((dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table))) + (((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) * S ((dst_negative_code_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)) + ((dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_scale_flat_unit_slicesliceoutput_table)))))) /\ (forall dst_index_flat_unit_slicesliceoutput_table. (exists pvs_le_gap_flat_unit_slicesliceoutput_tabledomain. pvs_le_gap_flat_unit_slicesliceoutput_tabledomain + (dst_index_flat_unit_slicesliceoutput_table) = (m*n)) -> exists dst_positive_flat_unit_slicesliceoutput_table dst_negative_flat_unit_slicesliceoutput_table dst_value_flat_unit_slicesliceoutput_table. ((((exists ff_h_pvs_flat_unit_slicesliceoutput_tableentrypositive. ff_h_pvs_flat_unit_slicesliceoutput_tableentrypositive + S (dst_positive_flat_unit_slicesliceoutput_table) = S ((S (dst_index_flat_unit_slicesliceoutput_table)) * dst_positive_scale_flat_unit_slicesliceoutput_table)) /\ exists ff_q_pvs_flat_unit_slicesliceoutput_tableentrypositive. dst_positive_code_flat_unit_slicesliceoutput_table = ff_q_pvs_flat_unit_slicesliceoutput_tableentrypositive * S ((S (dst_index_flat_unit_slicesliceoutput_table)) * dst_positive_scale_flat_unit_slicesliceoutput_table) + (dst_positive_flat_unit_slicesliceoutput_table))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceoutput_tableentrynegative. ff_h_pvs_flat_unit_slicesliceoutput_tableentrynegative + S (dst_negative_flat_unit_slicesliceoutput_table) = S ((S (dst_index_flat_unit_slicesliceoutput_table)) * dst_negative_scale_flat_unit_slicesliceoutput_table)) /\ exists ff_q_pvs_flat_unit_slicesliceoutput_tableentrynegative. dst_negative_code_flat_unit_slicesliceoutput_table = ff_q_pvs_flat_unit_slicesliceoutput_tableentrynegative * S ((S (dst_index_flat_unit_slicesliceoutput_table)) * dst_negative_scale_flat_unit_slicesliceoutput_table) + (dst_negative_flat_unit_slicesliceoutput_table))) /\ (exists ge_balance_positive_flat_unit_slicesliceoutput_tableentryvalue ge_balance_negative_flat_unit_slicesliceoutput_tableentryvalue. (((((dst_value_flat_unit_slicesliceoutput_table) = 2 * (ge_balance_positive_flat_unit_slicesliceoutput_tableentryvalue) /\ (ge_balance_negative_flat_unit_slicesliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_flat_unit_slicesliceoutput_tableentryvaluedecode. (((dst_value_flat_unit_slicesliceoutput_table) = 2 * ge_signed_half_flat_unit_slicesliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_unit_slicesliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_flat_unit_slicesliceoutput_tableentryvalue) = S ge_signed_half_flat_unit_slicesliceoutput_tableentryvaluedecode))) /\ ((dst_positive_flat_unit_slicesliceoutput_table) + ge_balance_negative_flat_unit_slicesliceoutput_tableentryvalue = (dst_negative_flat_unit_slicesliceoutput_table) + ge_balance_positive_flat_unit_slicesliceoutput_tableentryvalue))))))))) /\ (forall srs_index_flat_unit_sliceslice. (exists pvs_gap_flat_unit_sliceslicebound. pvs_gap_flat_unit_sliceslicebound + S (srs_index_flat_unit_sliceslice) = (m*n)) -> exists srs_value_flat_unit_sliceslice. (((exists dst_positive_code_flat_unit_slicesliceentrysource dst_positive_scale_flat_unit_slicesliceentrysource dst_negative_code_flat_unit_slicesliceentrysource dst_negative_scale_flat_unit_slicesliceentrysource dst_positive_flat_unit_slicesliceentrysource dst_negative_flat_unit_slicesliceentrysource. (((F) = (((((dst_positive_code_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource)) * S ((dst_positive_code_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource)) + ((dst_positive_scale_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource))) + (((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) * S ((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) + ((dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)))) * S ((((dst_positive_code_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource)) * S ((dst_positive_code_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource)) + ((dst_positive_scale_flat_unit_slicesliceentrysource) + (dst_positive_scale_flat_unit_slicesliceentrysource))) + (((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) * S ((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) + ((dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)))) + ((((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) * S ((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) + ((dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource))) + (((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) * S ((dst_negative_code_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)) + ((dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_scale_flat_unit_slicesliceentrysource)))))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceentrysourcepositive. ff_h_pvs_flat_unit_slicesliceentrysourcepositive + S (dst_positive_flat_unit_slicesliceentrysource) = S ((S (((0) + ((1) * (srs_index_flat_unit_sliceslice))))) * dst_positive_scale_flat_unit_slicesliceentrysource)) /\ exists ff_q_pvs_flat_unit_slicesliceentrysourcepositive. dst_positive_code_flat_unit_slicesliceentrysource = ff_q_pvs_flat_unit_slicesliceentrysourcepositive * S ((S (((0) + ((1) * (srs_index_flat_unit_sliceslice))))) * dst_positive_scale_flat_unit_slicesliceentrysource) + (dst_positive_flat_unit_slicesliceentrysource))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceentrysourcenegative. ff_h_pvs_flat_unit_slicesliceentrysourcenegative + S (dst_negative_flat_unit_slicesliceentrysource) = S ((S (((0) + ((1) * (srs_index_flat_unit_sliceslice))))) * dst_negative_scale_flat_unit_slicesliceentrysource)) /\ exists ff_q_pvs_flat_unit_slicesliceentrysourcenegative. dst_negative_code_flat_unit_slicesliceentrysource = ff_q_pvs_flat_unit_slicesliceentrysourcenegative * S ((S (((0) + ((1) * (srs_index_flat_unit_sliceslice))))) * dst_negative_scale_flat_unit_slicesliceentrysource) + (dst_negative_flat_unit_slicesliceentrysource))) /\ (exists ge_balance_positive_flat_unit_slicesliceentrysourcevalue ge_balance_negative_flat_unit_slicesliceentrysourcevalue. (((((srs_value_flat_unit_sliceslice) = 2 * (ge_balance_positive_flat_unit_slicesliceentrysourcevalue) /\ (ge_balance_negative_flat_unit_slicesliceentrysourcevalue) = 0) \/ exists ge_signed_half_flat_unit_slicesliceentrysourcevaluedecode. (((srs_value_flat_unit_sliceslice) = 2 * ge_signed_half_flat_unit_slicesliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_flat_unit_slicesliceentrysourcevalue) = 0) /\ (ge_balance_negative_flat_unit_slicesliceentrysourcevalue) = S ge_signed_half_flat_unit_slicesliceentrysourcevaluedecode))) /\ ((dst_positive_flat_unit_slicesliceentrysource) + ge_balance_negative_flat_unit_slicesliceentrysourcevalue = (dst_negative_flat_unit_slicesliceentrysource) + ge_balance_positive_flat_unit_slicesliceentrysourcevalue))))))))) /\ (exists dst_positive_code_flat_unit_slicesliceentryoutput dst_positive_scale_flat_unit_slicesliceentryoutput dst_negative_code_flat_unit_slicesliceentryoutput dst_negative_scale_flat_unit_slicesliceentryoutput dst_positive_flat_unit_slicesliceentryoutput dst_negative_flat_unit_slicesliceentryoutput. (((srs_slice_flat_unit_slice) = (((((dst_positive_code_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput)) * S ((dst_positive_code_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput)) + ((dst_positive_scale_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput))) + (((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) * S ((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) + ((dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)))) * S ((((dst_positive_code_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput)) * S ((dst_positive_code_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput)) + ((dst_positive_scale_flat_unit_slicesliceentryoutput) + (dst_positive_scale_flat_unit_slicesliceentryoutput))) + (((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) * S ((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) + ((dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)))) + ((((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) * S ((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) + ((dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput))) + (((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) * S ((dst_negative_code_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)) + ((dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_scale_flat_unit_slicesliceentryoutput)))))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceentryoutputpositive. ff_h_pvs_flat_unit_slicesliceentryoutputpositive + S (dst_positive_flat_unit_slicesliceentryoutput) = S ((S (srs_index_flat_unit_sliceslice)) * dst_positive_scale_flat_unit_slicesliceentryoutput)) /\ exists ff_q_pvs_flat_unit_slicesliceentryoutputpositive. dst_positive_code_flat_unit_slicesliceentryoutput = ff_q_pvs_flat_unit_slicesliceentryoutputpositive * S ((S (srs_index_flat_unit_sliceslice)) * dst_positive_scale_flat_unit_slicesliceentryoutput) + (dst_positive_flat_unit_slicesliceentryoutput))) /\ (((((exists ff_h_pvs_flat_unit_slicesliceentryoutputnegative. ff_h_pvs_flat_unit_slicesliceentryoutputnegative + S (dst_negative_flat_unit_slicesliceentryoutput) = S ((S (srs_index_flat_unit_sliceslice)) * dst_negative_scale_flat_unit_slicesliceentryoutput)) /\ exists ff_q_pvs_flat_unit_slicesliceentryoutputnegative. dst_negative_code_flat_unit_slicesliceentryoutput = ff_q_pvs_flat_unit_slicesliceentryoutputnegative * S ((S (srs_index_flat_unit_sliceslice)) * dst_negative_scale_flat_unit_slicesliceentryoutput) + (dst_negative_flat_unit_slicesliceentryoutput))) /\ (exists ge_balance_positive_flat_unit_slicesliceentryoutputvalue ge_balance_negative_flat_unit_slicesliceentryoutputvalue. (((((srs_value_flat_unit_sliceslice) = 2 * (ge_balance_positive_flat_unit_slicesliceentryoutputvalue) /\ (ge_balance_negative_flat_unit_slicesliceentryoutputvalue) = 0) \/ exists ge_signed_half_flat_unit_slicesliceentryoutputvaluedecode. (((srs_value_flat_unit_sliceslice) = 2 * ge_signed_half_flat_unit_slicesliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_flat_unit_slicesliceentryoutputvalue) = 0) /\ (ge_balance_negative_flat_unit_slicesliceentryoutputvalue) = S ge_signed_half_flat_unit_slicesliceentryoutputvaluedecode))) /\ ((dst_positive_flat_unit_slicesliceentryoutput) + ge_balance_negative_flat_unit_slicesliceentryoutputvalue = (dst_negative_flat_unit_slicesliceentryoutput) + ge_balance_positive_flat_unit_slicesliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_flat_unit_slicesum dst_positive_scale_flat_unit_slicesum dst_negative_code_flat_unit_slicesum dst_negative_scale_flat_unit_slicesum dst_positive_sum_flat_unit_slicesum dst_negative_sum_flat_unit_slicesum. (((srs_slice_flat_unit_slice) = (((((dst_positive_code_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum)) * S ((dst_positive_code_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum)) + ((dst_positive_scale_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum))) + (((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) * S ((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) + ((dst_negative_scale_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)))) * S ((((dst_positive_code_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum)) * S ((dst_positive_code_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum)) + ((dst_positive_scale_flat_unit_slicesum) + (dst_positive_scale_flat_unit_slicesum))) + (((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) * S ((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) + ((dst_negative_scale_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)))) + ((((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) * S ((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) + ((dst_negative_scale_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum))) + (((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) * S ((dst_negative_code_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)) + ((dst_negative_scale_flat_unit_slicesum) + (dst_negative_scale_flat_unit_slicesum)))))) /\ (((exists fs_u_dst_flat_unit_slicesumpositive fs_v_dst_flat_unit_slicesumpositive. ((((exists fs_h_dst_flat_unit_slicesumpositive_body_start. fs_h_dst_flat_unit_slicesumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_unit_slicesumpositive)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_start. fs_u_dst_flat_unit_slicesumpositive = fs_q_dst_flat_unit_slicesumpositive_body_start * S ((S (0)) * fs_v_dst_flat_unit_slicesumpositive) + (0))) /\ ((((exists fs_h_dst_flat_unit_slicesumpositive_body_terminal. fs_h_dst_flat_unit_slicesumpositive_body_terminal + S (dst_positive_sum_flat_unit_slicesum) = S ((S (m*n)) * fs_v_dst_flat_unit_slicesumpositive)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_terminal. fs_u_dst_flat_unit_slicesumpositive = fs_q_dst_flat_unit_slicesumpositive_body_terminal * S ((S (m*n)) * fs_v_dst_flat_unit_slicesumpositive) + (dst_positive_sum_flat_unit_slicesum))) /\ forall fs_i_dst_flat_unit_slicesumpositive_body_steps. (exists fs_lt_dst_flat_unit_slicesumpositive_body_steps_bound. fs_lt_dst_flat_unit_slicesumpositive_body_steps_bound + S fs_i_dst_flat_unit_slicesumpositive_body_steps = m*n) -> exists fs_a_dst_flat_unit_slicesumpositive_body_steps fs_r_dst_flat_unit_slicesumpositive_body_steps fs_s_dst_flat_unit_slicesumpositive_body_steps. ((((exists fs_h_dst_flat_unit_slicesumpositive_body_steps_summand. fs_h_dst_flat_unit_slicesumpositive_body_steps_summand + S (fs_a_dst_flat_unit_slicesumpositive_body_steps) = S ((S (fs_i_dst_flat_unit_slicesumpositive_body_steps)) * dst_positive_scale_flat_unit_slicesum)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_steps_summand. dst_positive_code_flat_unit_slicesum = fs_q_dst_flat_unit_slicesumpositive_body_steps_summand * S ((S (fs_i_dst_flat_unit_slicesumpositive_body_steps)) * dst_positive_scale_flat_unit_slicesum) + (fs_a_dst_flat_unit_slicesumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_unit_slicesumpositive_body_steps_partial. fs_h_dst_flat_unit_slicesumpositive_body_steps_partial + S (fs_r_dst_flat_unit_slicesumpositive_body_steps) = S ((S (fs_i_dst_flat_unit_slicesumpositive_body_steps)) * fs_v_dst_flat_unit_slicesumpositive)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_steps_partial. fs_u_dst_flat_unit_slicesumpositive = fs_q_dst_flat_unit_slicesumpositive_body_steps_partial * S ((S (fs_i_dst_flat_unit_slicesumpositive_body_steps)) * fs_v_dst_flat_unit_slicesumpositive) + (fs_r_dst_flat_unit_slicesumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_unit_slicesumpositive_body_steps_successor. fs_h_dst_flat_unit_slicesumpositive_body_steps_successor + S (fs_s_dst_flat_unit_slicesumpositive_body_steps) = S ((S (S fs_i_dst_flat_unit_slicesumpositive_body_steps)) * fs_v_dst_flat_unit_slicesumpositive)) /\ exists fs_q_dst_flat_unit_slicesumpositive_body_steps_successor. fs_u_dst_flat_unit_slicesumpositive = fs_q_dst_flat_unit_slicesumpositive_body_steps_successor * S ((S (S fs_i_dst_flat_unit_slicesumpositive_body_steps)) * fs_v_dst_flat_unit_slicesumpositive) + (fs_s_dst_flat_unit_slicesumpositive_body_steps))) /\ fs_s_dst_flat_unit_slicesumpositive_body_steps = fs_r_dst_flat_unit_slicesumpositive_body_steps + fs_a_dst_flat_unit_slicesumpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_unit_slicesumnegative fs_v_dst_flat_unit_slicesumnegative. ((((exists fs_h_dst_flat_unit_slicesumnegative_body_start. fs_h_dst_flat_unit_slicesumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_unit_slicesumnegative)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_start. fs_u_dst_flat_unit_slicesumnegative = fs_q_dst_flat_unit_slicesumnegative_body_start * S ((S (0)) * fs_v_dst_flat_unit_slicesumnegative) + (0))) /\ ((((exists fs_h_dst_flat_unit_slicesumnegative_body_terminal. fs_h_dst_flat_unit_slicesumnegative_body_terminal + S (dst_negative_sum_flat_unit_slicesum) = S ((S (m*n)) * fs_v_dst_flat_unit_slicesumnegative)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_terminal. fs_u_dst_flat_unit_slicesumnegative = fs_q_dst_flat_unit_slicesumnegative_body_terminal * S ((S (m*n)) * fs_v_dst_flat_unit_slicesumnegative) + (dst_negative_sum_flat_unit_slicesum))) /\ forall fs_i_dst_flat_unit_slicesumnegative_body_steps. (exists fs_lt_dst_flat_unit_slicesumnegative_body_steps_bound. fs_lt_dst_flat_unit_slicesumnegative_body_steps_bound + S fs_i_dst_flat_unit_slicesumnegative_body_steps = m*n) -> exists fs_a_dst_flat_unit_slicesumnegative_body_steps fs_r_dst_flat_unit_slicesumnegative_body_steps fs_s_dst_flat_unit_slicesumnegative_body_steps. ((((exists fs_h_dst_flat_unit_slicesumnegative_body_steps_summand. fs_h_dst_flat_unit_slicesumnegative_body_steps_summand + S (fs_a_dst_flat_unit_slicesumnegative_body_steps) = S ((S (fs_i_dst_flat_unit_slicesumnegative_body_steps)) * dst_negative_scale_flat_unit_slicesum)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_steps_summand. dst_negative_code_flat_unit_slicesum = fs_q_dst_flat_unit_slicesumnegative_body_steps_summand * S ((S (fs_i_dst_flat_unit_slicesumnegative_body_steps)) * dst_negative_scale_flat_unit_slicesum) + (fs_a_dst_flat_unit_slicesumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_unit_slicesumnegative_body_steps_partial. fs_h_dst_flat_unit_slicesumnegative_body_steps_partial + S (fs_r_dst_flat_unit_slicesumnegative_body_steps) = S ((S (fs_i_dst_flat_unit_slicesumnegative_body_steps)) * fs_v_dst_flat_unit_slicesumnegative)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_steps_partial. fs_u_dst_flat_unit_slicesumnegative = fs_q_dst_flat_unit_slicesumnegative_body_steps_partial * S ((S (fs_i_dst_flat_unit_slicesumnegative_body_steps)) * fs_v_dst_flat_unit_slicesumnegative) + (fs_r_dst_flat_unit_slicesumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_unit_slicesumnegative_body_steps_successor. fs_h_dst_flat_unit_slicesumnegative_body_steps_successor + S (fs_s_dst_flat_unit_slicesumnegative_body_steps) = S ((S (S fs_i_dst_flat_unit_slicesumnegative_body_steps)) * fs_v_dst_flat_unit_slicesumnegative)) /\ exists fs_q_dst_flat_unit_slicesumnegative_body_steps_successor. fs_u_dst_flat_unit_slicesumnegative = fs_q_dst_flat_unit_slicesumnegative_body_steps_successor * S ((S (S fs_i_dst_flat_unit_slicesumnegative_body_steps)) * fs_v_dst_flat_unit_slicesumnegative) + (fs_s_dst_flat_unit_slicesumnegative_body_steps))) /\ fs_s_dst_flat_unit_slicesumnegative_body_steps = fs_r_dst_flat_unit_slicesumnegative_body_steps + fs_a_dst_flat_unit_slicesumnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_unit_slicesumresult ge_balance_negative_flat_unit_slicesumresult. (((((z) = 2 * (ge_balance_positive_flat_unit_slicesumresult) /\ (ge_balance_negative_flat_unit_slicesumresult) = 0) \/ exists ge_signed_half_flat_unit_slicesumresultdecode. (((z) = 2 * ge_signed_half_flat_unit_slicesumresultdecode + 1 /\ (ge_balance_positive_flat_unit_slicesumresult) = 0) /\ (ge_balance_negative_flat_unit_slicesumresult) = S ge_signed_half_flat_unit_slicesumresultdecode))) /\ ((dst_positive_sum_flat_unit_slicesum) + ge_balance_negative_flat_unit_slicesumresult = (dst_negative_sum_flat_unit_slicesum) + ge_balance_positive_flat_unit_slicesumresult)))))))))))))
  7. 0007specialize signed_slice_sum_unit_prefix_iff (F)
  8. 0008specialize signed_slice_sum_unit_prefix_iff (m*n)
  9. 0009specialize signed_slice_sum_unit_prefix_iff (z)
  10. 0010apply signed_slice_sum_unit_prefix_iff
  11. 0011exact hF
  12. 0012cases hi
  13. 0013split
  14. 0014intro hs
  15. 0015have hr : exists R. (((exists dst_positive_code_flat_construct_rowssource_table dst_positive_scale_flat_construct_rowssource_table dst_negative_code_flat_construct_rowssource_table dst_negative_scale_flat_construct_rowssource_table. (((F) = (((((dst_positive_code_flat_construct_rowssource_table) + (dst_positive_scale_flat_construct_rowssource_table)) * S ((dst_positive_code_flat_construct_rowssource_table) + (dst_positive_scale_flat_construct_rowssource_table)) + ((dst_positive_scale_flat_construct_rowssource_table) + (dst_positive_scale_flat_construct_rowssource_table))) + (((dst_negative_code_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)) * S ((dst_negative_code_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)) + ((dst_negative_scale_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)))) * S ((((dst_positive_code_flat_construct_rowssource_table) + (dst_positive_scale_flat_construct_rowssource_table)) * S ((dst_positive_code_flat_construct_rowssource_table) + (dst_positive_scale_flat_construct_rowssource_table)) + ((dst_positive_scale_flat_construct_rowssource_table) + (dst_positive_scale_flat_construct_rowssource_table))) + (((dst_negative_code_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)) * S ((dst_negative_code_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)) + ((dst_negative_scale_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)))) + ((((dst_negative_code_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)) * S ((dst_negative_code_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)) + ((dst_negative_scale_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table))) + (((dst_negative_code_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)) * S ((dst_negative_code_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)) + ((dst_negative_scale_flat_construct_rowssource_table) + (dst_negative_scale_flat_construct_rowssource_table)))))) /\ (forall dst_index_flat_construct_rowssource_table. (exists pvs_le_gap_flat_construct_rowssource_tabledomain. pvs_le_gap_flat_construct_rowssource_tabledomain + (dst_index_flat_construct_rowssource_table) = (0)) -> exists dst_positive_flat_construct_rowssource_table dst_negative_flat_construct_rowssource_table dst_value_flat_construct_rowssource_table. ((((exists ff_h_pvs_flat_construct_rowssource_tableentrypositive. ff_h_pvs_flat_construct_rowssource_tableentrypositive + S (dst_positive_flat_construct_rowssource_table) = S ((S (dst_index_flat_construct_rowssource_table)) * dst_positive_scale_flat_construct_rowssource_table)) /\ exists ff_q_pvs_flat_construct_rowssource_tableentrypositive. dst_positive_code_flat_construct_rowssource_table = ff_q_pvs_flat_construct_rowssource_tableentrypositive * S ((S (dst_index_flat_construct_rowssource_table)) * dst_positive_scale_flat_construct_rowssource_table) + (dst_positive_flat_construct_rowssource_table))) /\ (((((exists ff_h_pvs_flat_construct_rowssource_tableentrynegative. ff_h_pvs_flat_construct_rowssource_tableentrynegative + S (dst_negative_flat_construct_rowssource_table) = S ((S (dst_index_flat_construct_rowssource_table)) * dst_negative_scale_flat_construct_rowssource_table)) /\ exists ff_q_pvs_flat_construct_rowssource_tableentrynegative. dst_negative_code_flat_construct_rowssource_table = ff_q_pvs_flat_construct_rowssource_tableentrynegative * S ((S (dst_index_flat_construct_rowssource_table)) * dst_negative_scale_flat_construct_rowssource_table) + (dst_negative_flat_construct_rowssource_table))) /\ (exists ge_balance_positive_flat_construct_rowssource_tableentryvalue ge_balance_negative_flat_construct_rowssource_tableentryvalue. (((((dst_value_flat_construct_rowssource_table) = 2 * (ge_balance_positive_flat_construct_rowssource_tableentryvalue) /\ (ge_balance_negative_flat_construct_rowssource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_construct_rowssource_tableentryvaluedecode. (((dst_value_flat_construct_rowssource_table) = 2 * ge_signed_half_flat_construct_rowssource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_construct_rowssource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_construct_rowssource_tableentryvalue) = S ge_signed_half_flat_construct_rowssource_tableentryvaluedecode))) /\ ((dst_positive_flat_construct_rowssource_table) + ge_balance_negative_flat_construct_rowssource_tableentryvalue = (dst_negative_flat_construct_rowssource_table) + ge_balance_positive_flat_construct_rowssource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_construct_rowsrow_table dst_positive_scale_flat_construct_rowsrow_table dst_negative_code_flat_construct_rowsrow_table dst_negative_scale_flat_construct_rowsrow_table. (((R) = (((((dst_positive_code_flat_construct_rowsrow_table) + (dst_positive_scale_flat_construct_rowsrow_table)) * S ((dst_positive_code_flat_construct_rowsrow_table) + (dst_positive_scale_flat_construct_rowsrow_table)) + ((dst_positive_scale_flat_construct_rowsrow_table) + (dst_positive_scale_flat_construct_rowsrow_table))) + (((dst_negative_code_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)) * S ((dst_negative_code_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)) + ((dst_negative_scale_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)))) * S ((((dst_positive_code_flat_construct_rowsrow_table) + (dst_positive_scale_flat_construct_rowsrow_table)) * S ((dst_positive_code_flat_construct_rowsrow_table) + (dst_positive_scale_flat_construct_rowsrow_table)) + ((dst_positive_scale_flat_construct_rowsrow_table) + (dst_positive_scale_flat_construct_rowsrow_table))) + (((dst_negative_code_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)) * S ((dst_negative_code_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)) + ((dst_negative_scale_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)))) + ((((dst_negative_code_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)) * S ((dst_negative_code_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)) + ((dst_negative_scale_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table))) + (((dst_negative_code_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)) * S ((dst_negative_code_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)) + ((dst_negative_scale_flat_construct_rowsrow_table) + (dst_negative_scale_flat_construct_rowsrow_table)))))) /\ (forall dst_index_flat_construct_rowsrow_table. (exists pvs_le_gap_flat_construct_rowsrow_tabledomain. pvs_le_gap_flat_construct_rowsrow_tabledomain + (dst_index_flat_construct_rowsrow_table) = (m)) -> exists dst_positive_flat_construct_rowsrow_table dst_negative_flat_construct_rowsrow_table dst_value_flat_construct_rowsrow_table. ((((exists ff_h_pvs_flat_construct_rowsrow_tableentrypositive. ff_h_pvs_flat_construct_rowsrow_tableentrypositive + S (dst_positive_flat_construct_rowsrow_table) = S ((S (dst_index_flat_construct_rowsrow_table)) * dst_positive_scale_flat_construct_rowsrow_table)) /\ exists ff_q_pvs_flat_construct_rowsrow_tableentrypositive. dst_positive_code_flat_construct_rowsrow_table = ff_q_pvs_flat_construct_rowsrow_tableentrypositive * S ((S (dst_index_flat_construct_rowsrow_table)) * dst_positive_scale_flat_construct_rowsrow_table) + (dst_positive_flat_construct_rowsrow_table))) /\ (((((exists ff_h_pvs_flat_construct_rowsrow_tableentrynegative. ff_h_pvs_flat_construct_rowsrow_tableentrynegative + S (dst_negative_flat_construct_rowsrow_table) = S ((S (dst_index_flat_construct_rowsrow_table)) * dst_negative_scale_flat_construct_rowsrow_table)) /\ exists ff_q_pvs_flat_construct_rowsrow_tableentrynegative. dst_negative_code_flat_construct_rowsrow_table = ff_q_pvs_flat_construct_rowsrow_tableentrynegative * S ((S (dst_index_flat_construct_rowsrow_table)) * dst_negative_scale_flat_construct_rowsrow_table) + (dst_negative_flat_construct_rowsrow_table))) /\ (exists ge_balance_positive_flat_construct_rowsrow_tableentryvalue ge_balance_negative_flat_construct_rowsrow_tableentryvalue. (((((dst_value_flat_construct_rowsrow_table) = 2 * (ge_balance_positive_flat_construct_rowsrow_tableentryvalue) /\ (ge_balance_negative_flat_construct_rowsrow_tableentryvalue) = 0) \/ exists ge_signed_half_flat_construct_rowsrow_tableentryvaluedecode. (((dst_value_flat_construct_rowsrow_table) = 2 * ge_signed_half_flat_construct_rowsrow_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_construct_rowsrow_tableentryvalue) = 0) /\ (ge_balance_negative_flat_construct_rowsrow_tableentryvalue) = S ge_signed_half_flat_construct_rowsrow_tableentryvaluedecode))) /\ ((dst_positive_flat_construct_rowsrow_table) + ge_balance_negative_flat_construct_rowsrow_tableentryvalue = (dst_negative_flat_construct_rowsrow_table) + ge_balance_positive_flat_construct_rowsrow_tableentryvalue))))))))) /\ (forall srt_index_flat_construct_rows. (exists pvs_gap_flat_construct_rowsbound. pvs_gap_flat_construct_rowsbound + S (srt_index_flat_construct_rows) = (m)) -> exists srt_value_flat_construct_rows. (((exists dst_positive_code_flat_construct_rowsrowentry dst_positive_scale_flat_construct_rowsrowentry dst_negative_code_flat_construct_rowsrowentry dst_negative_scale_flat_construct_rowsrowentry dst_positive_flat_construct_rowsrowentry dst_negative_flat_construct_rowsrowentry. (((R) = (((((dst_positive_code_flat_construct_rowsrowentry) + (dst_positive_scale_flat_construct_rowsrowentry)) * S ((dst_positive_code_flat_construct_rowsrowentry) + (dst_positive_scale_flat_construct_rowsrowentry)) + ((dst_positive_scale_flat_construct_rowsrowentry) + (dst_positive_scale_flat_construct_rowsrowentry))) + (((dst_negative_code_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)) * S ((dst_negative_code_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)) + ((dst_negative_scale_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)))) * S ((((dst_positive_code_flat_construct_rowsrowentry) + (dst_positive_scale_flat_construct_rowsrowentry)) * S ((dst_positive_code_flat_construct_rowsrowentry) + (dst_positive_scale_flat_construct_rowsrowentry)) + ((dst_positive_scale_flat_construct_rowsrowentry) + (dst_positive_scale_flat_construct_rowsrowentry))) + (((dst_negative_code_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)) * S ((dst_negative_code_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)) + ((dst_negative_scale_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)))) + ((((dst_negative_code_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)) * S ((dst_negative_code_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)) + ((dst_negative_scale_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry))) + (((dst_negative_code_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)) * S ((dst_negative_code_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)) + ((dst_negative_scale_flat_construct_rowsrowentry) + (dst_negative_scale_flat_construct_rowsrowentry)))))) /\ (((((exists ff_h_pvs_flat_construct_rowsrowentrypositive. ff_h_pvs_flat_construct_rowsrowentrypositive + S (dst_positive_flat_construct_rowsrowentry) = S ((S (srt_index_flat_construct_rows)) * dst_positive_scale_flat_construct_rowsrowentry)) /\ exists ff_q_pvs_flat_construct_rowsrowentrypositive. dst_positive_code_flat_construct_rowsrowentry = ff_q_pvs_flat_construct_rowsrowentrypositive * S ((S (srt_index_flat_construct_rows)) * dst_positive_scale_flat_construct_rowsrowentry) + (dst_positive_flat_construct_rowsrowentry))) /\ (((((exists ff_h_pvs_flat_construct_rowsrowentrynegative. ff_h_pvs_flat_construct_rowsrowentrynegative + S (dst_negative_flat_construct_rowsrowentry) = S ((S (srt_index_flat_construct_rows)) * dst_negative_scale_flat_construct_rowsrowentry)) /\ exists ff_q_pvs_flat_construct_rowsrowentrynegative. dst_negative_code_flat_construct_rowsrowentry = ff_q_pvs_flat_construct_rowsrowentrynegative * S ((S (srt_index_flat_construct_rows)) * dst_negative_scale_flat_construct_rowsrowentry) + (dst_negative_flat_construct_rowsrowentry))) /\ (exists ge_balance_positive_flat_construct_rowsrowentryvalue ge_balance_negative_flat_construct_rowsrowentryvalue. (((((srt_value_flat_construct_rows) = 2 * (ge_balance_positive_flat_construct_rowsrowentryvalue) /\ (ge_balance_negative_flat_construct_rowsrowentryvalue) = 0) \/ exists ge_signed_half_flat_construct_rowsrowentryvaluedecode. (((srt_value_flat_construct_rows) = 2 * ge_signed_half_flat_construct_rowsrowentryvaluedecode + 1 /\ (ge_balance_positive_flat_construct_rowsrowentryvalue) = 0) /\ (ge_balance_negative_flat_construct_rowsrowentryvalue) = S ge_signed_half_flat_construct_rowsrowentryvaluedecode))) /\ ((dst_positive_flat_construct_rowsrowentry) + ge_balance_negative_flat_construct_rowsrowentryvalue = (dst_negative_flat_construct_rowsrowentry) + ge_balance_positive_flat_construct_rowsrowentryvalue))))))))) /\ (exists srs_slice_flat_construct_rowsrowrow_sum. ((((exists dst_positive_code_flat_construct_rowsrowrow_sumslicesource_table dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table. (((F) = (((((dst_positive_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)))) * S ((((dst_positive_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)))) + ((((dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table))) + (((dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)))))) /\ (forall dst_index_flat_construct_rowsrowrow_sumslicesource_table. (exists pvs_le_gap_flat_construct_rowsrowrow_sumslicesource_tabledomain. pvs_le_gap_flat_construct_rowsrowrow_sumslicesource_tabledomain + (dst_index_flat_construct_rowsrowrow_sumslicesource_table) = (0)) -> exists dst_positive_flat_construct_rowsrowrow_sumslicesource_table dst_negative_flat_construct_rowsrowrow_sumslicesource_table dst_value_flat_construct_rowsrowrow_sumslicesource_table. ((((exists ff_h_pvs_flat_construct_rowsrowrow_sumslicesource_tableentrypositive. ff_h_pvs_flat_construct_rowsrowrow_sumslicesource_tableentrypositive + S (dst_positive_flat_construct_rowsrowrow_sumslicesource_table) = S ((S (dst_index_flat_construct_rowsrowrow_sumslicesource_table)) * dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_flat_construct_rowsrowrow_sumslicesource_tableentrypositive. dst_positive_code_flat_construct_rowsrowrow_sumslicesource_table = ff_q_pvs_flat_construct_rowsrowrow_sumslicesource_tableentrypositive * S ((S (dst_index_flat_construct_rowsrowrow_sumslicesource_table)) * dst_positive_scale_flat_construct_rowsrowrow_sumslicesource_table) + (dst_positive_flat_construct_rowsrowrow_sumslicesource_table))) /\ (((((exists ff_h_pvs_flat_construct_rowsrowrow_sumslicesource_tableentrynegative. ff_h_pvs_flat_construct_rowsrowrow_sumslicesource_tableentrynegative + S (dst_negative_flat_construct_rowsrowrow_sumslicesource_table) = S ((S (dst_index_flat_construct_rowsrowrow_sumslicesource_table)) * dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table)) /\ exists ff_q_pvs_flat_construct_rowsrowrow_sumslicesource_tableentrynegative. dst_negative_code_flat_construct_rowsrowrow_sumslicesource_table = ff_q_pvs_flat_construct_rowsrowrow_sumslicesource_tableentrynegative * S ((S (dst_index_flat_construct_rowsrowrow_sumslicesource_table)) * dst_negative_scale_flat_construct_rowsrowrow_sumslicesource_table) + (dst_negative_flat_construct_rowsrowrow_sumslicesource_table))) /\ (exists ge_balance_positive_flat_construct_rowsrowrow_sumslicesource_tableentryvalue ge_balance_negative_flat_construct_rowsrowrow_sumslicesource_tableentryvalue. (((((dst_value_flat_construct_rowsrowrow_sumslicesource_table) = 2 * (ge_balance_positive_flat_construct_rowsrowrow_sumslicesource_tableentryvalue) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_construct_rowsrowrow_sumslicesource_tableentryvaluedecode. (((dst_value_flat_construct_rowsrowrow_sumslicesource_table) = 2 * ge_signed_half_flat_construct_rowsrowrow_sumslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_construct_rowsrowrow_sumslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumslicesource_tableentryvalue) = S ge_signed_half_flat_construct_rowsrowrow_sumslicesource_tableentryvaluedecode))) /\ ((dst_positive_flat_construct_rowsrowrow_sumslicesource_table) + ge_balance_negative_flat_construct_rowsrowrow_sumslicesource_tableentryvalue = (dst_negative_flat_construct_rowsrowrow_sumslicesource_table) + ge_balance_positive_flat_construct_rowsrowrow_sumslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_construct_rowsrowrow_sumsliceoutput_table dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table. (((srs_slice_flat_construct_rowsrowrow_sum) = (((((dst_positive_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)))) * S ((((dst_positive_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)))) + ((((dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)))))) /\ (forall dst_index_flat_construct_rowsrowrow_sumsliceoutput_table. (exists pvs_le_gap_flat_construct_rowsrowrow_sumsliceoutput_tabledomain. pvs_le_gap_flat_construct_rowsrowrow_sumsliceoutput_tabledomain + (dst_index_flat_construct_rowsrowrow_sumsliceoutput_table) = (n)) -> exists dst_positive_flat_construct_rowsrowrow_sumsliceoutput_table dst_negative_flat_construct_rowsrowrow_sumsliceoutput_table dst_value_flat_construct_rowsrowrow_sumsliceoutput_table. ((((exists ff_h_pvs_flat_construct_rowsrowrow_sumsliceoutput_tableentrypositive. ff_h_pvs_flat_construct_rowsrowrow_sumsliceoutput_tableentrypositive + S (dst_positive_flat_construct_rowsrowrow_sumsliceoutput_table) = S ((S (dst_index_flat_construct_rowsrowrow_sumsliceoutput_table)) * dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_flat_construct_rowsrowrow_sumsliceoutput_tableentrypositive. dst_positive_code_flat_construct_rowsrowrow_sumsliceoutput_table = ff_q_pvs_flat_construct_rowsrowrow_sumsliceoutput_tableentrypositive * S ((S (dst_index_flat_construct_rowsrowrow_sumsliceoutput_table)) * dst_positive_scale_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_positive_flat_construct_rowsrowrow_sumsliceoutput_table))) /\ (((((exists ff_h_pvs_flat_construct_rowsrowrow_sumsliceoutput_tableentrynegative. ff_h_pvs_flat_construct_rowsrowrow_sumsliceoutput_tableentrynegative + S (dst_negative_flat_construct_rowsrowrow_sumsliceoutput_table) = S ((S (dst_index_flat_construct_rowsrowrow_sumsliceoutput_table)) * dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table)) /\ exists ff_q_pvs_flat_construct_rowsrowrow_sumsliceoutput_tableentrynegative. dst_negative_code_flat_construct_rowsrowrow_sumsliceoutput_table = ff_q_pvs_flat_construct_rowsrowrow_sumsliceoutput_tableentrynegative * S ((S (dst_index_flat_construct_rowsrowrow_sumsliceoutput_table)) * dst_negative_scale_flat_construct_rowsrowrow_sumsliceoutput_table) + (dst_negative_flat_construct_rowsrowrow_sumsliceoutput_table))) /\ (exists ge_balance_positive_flat_construct_rowsrowrow_sumsliceoutput_tableentryvalue ge_balance_negative_flat_construct_rowsrowrow_sumsliceoutput_tableentryvalue. (((((dst_value_flat_construct_rowsrowrow_sumsliceoutput_table) = 2 * (ge_balance_positive_flat_construct_rowsrowrow_sumsliceoutput_tableentryvalue) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_flat_construct_rowsrowrow_sumsliceoutput_tableentryvaluedecode. (((dst_value_flat_construct_rowsrowrow_sumsliceoutput_table) = 2 * ge_signed_half_flat_construct_rowsrowrow_sumsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_construct_rowsrowrow_sumsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumsliceoutput_tableentryvalue) = S ge_signed_half_flat_construct_rowsrowrow_sumsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_flat_construct_rowsrowrow_sumsliceoutput_table) + ge_balance_negative_flat_construct_rowsrowrow_sumsliceoutput_tableentryvalue = (dst_negative_flat_construct_rowsrowrow_sumsliceoutput_table) + ge_balance_positive_flat_construct_rowsrowrow_sumsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_flat_construct_rowsrowrow_sumslice. (exists pvs_gap_flat_construct_rowsrowrow_sumslicebound. pvs_gap_flat_construct_rowsrowrow_sumslicebound + S (srs_index_flat_construct_rowsrowrow_sumslice) = (n)) -> exists srs_value_flat_construct_rowsrowrow_sumslice. (((exists dst_positive_code_flat_construct_rowsrowrow_sumsliceentrysource dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource dst_positive_flat_construct_rowsrowrow_sumsliceentrysource dst_negative_flat_construct_rowsrowrow_sumsliceentrysource. (((F) = (((((dst_positive_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)))) * S ((((dst_positive_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)))) + ((((dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)))))) /\ (((((exists ff_h_pvs_flat_construct_rowsrowrow_sumsliceentrysourcepositive. ff_h_pvs_flat_construct_rowsrowrow_sumsliceentrysourcepositive + S (dst_positive_flat_construct_rowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_flat_construct_rows)))) + ((1) * (srs_index_flat_construct_rowsrowrow_sumslice))))) * dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_flat_construct_rowsrowrow_sumsliceentrysourcepositive. dst_positive_code_flat_construct_rowsrowrow_sumsliceentrysource = ff_q_pvs_flat_construct_rowsrowrow_sumsliceentrysourcepositive * S ((S (((((0) + ((n) * (srt_index_flat_construct_rows)))) + ((1) * (srs_index_flat_construct_rowsrowrow_sumslice))))) * dst_positive_scale_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_positive_flat_construct_rowsrowrow_sumsliceentrysource))) /\ (((((exists ff_h_pvs_flat_construct_rowsrowrow_sumsliceentrysourcenegative. ff_h_pvs_flat_construct_rowsrowrow_sumsliceentrysourcenegative + S (dst_negative_flat_construct_rowsrowrow_sumsliceentrysource) = S ((S (((((0) + ((n) * (srt_index_flat_construct_rows)))) + ((1) * (srs_index_flat_construct_rowsrowrow_sumslice))))) * dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource)) /\ exists ff_q_pvs_flat_construct_rowsrowrow_sumsliceentrysourcenegative. dst_negative_code_flat_construct_rowsrowrow_sumsliceentrysource = ff_q_pvs_flat_construct_rowsrowrow_sumsliceentrysourcenegative * S ((S (((((0) + ((n) * (srt_index_flat_construct_rows)))) + ((1) * (srs_index_flat_construct_rowsrowrow_sumslice))))) * dst_negative_scale_flat_construct_rowsrowrow_sumsliceentrysource) + (dst_negative_flat_construct_rowsrowrow_sumsliceentrysource))) /\ (exists ge_balance_positive_flat_construct_rowsrowrow_sumsliceentrysourcevalue ge_balance_negative_flat_construct_rowsrowrow_sumsliceentrysourcevalue. (((((srs_value_flat_construct_rowsrowrow_sumslice) = 2 * (ge_balance_positive_flat_construct_rowsrowrow_sumsliceentrysourcevalue) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumsliceentrysourcevalue) = 0) \/ exists ge_signed_half_flat_construct_rowsrowrow_sumsliceentrysourcevaluedecode. (((srs_value_flat_construct_rowsrowrow_sumslice) = 2 * ge_signed_half_flat_construct_rowsrowrow_sumsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_flat_construct_rowsrowrow_sumsliceentrysourcevalue) = 0) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumsliceentrysourcevalue) = S ge_signed_half_flat_construct_rowsrowrow_sumsliceentrysourcevaluedecode))) /\ ((dst_positive_flat_construct_rowsrowrow_sumsliceentrysource) + ge_balance_negative_flat_construct_rowsrowrow_sumsliceentrysourcevalue = (dst_negative_flat_construct_rowsrowrow_sumsliceentrysource) + ge_balance_positive_flat_construct_rowsrowrow_sumsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_flat_construct_rowsrowrow_sumsliceentryoutput dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput dst_positive_flat_construct_rowsrowrow_sumsliceentryoutput dst_negative_flat_construct_rowsrowrow_sumsliceentryoutput. (((srs_slice_flat_construct_rowsrowrow_sum) = (((((dst_positive_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)))) * S ((((dst_positive_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)))) + ((((dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)))))) /\ (((((exists ff_h_pvs_flat_construct_rowsrowrow_sumsliceentryoutputpositive. ff_h_pvs_flat_construct_rowsrowrow_sumsliceentryoutputpositive + S (dst_positive_flat_construct_rowsrowrow_sumsliceentryoutput) = S ((S (srs_index_flat_construct_rowsrowrow_sumslice)) * dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_flat_construct_rowsrowrow_sumsliceentryoutputpositive. dst_positive_code_flat_construct_rowsrowrow_sumsliceentryoutput = ff_q_pvs_flat_construct_rowsrowrow_sumsliceentryoutputpositive * S ((S (srs_index_flat_construct_rowsrowrow_sumslice)) * dst_positive_scale_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_positive_flat_construct_rowsrowrow_sumsliceentryoutput))) /\ (((((exists ff_h_pvs_flat_construct_rowsrowrow_sumsliceentryoutputnegative. ff_h_pvs_flat_construct_rowsrowrow_sumsliceentryoutputnegative + S (dst_negative_flat_construct_rowsrowrow_sumsliceentryoutput) = S ((S (srs_index_flat_construct_rowsrowrow_sumslice)) * dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput)) /\ exists ff_q_pvs_flat_construct_rowsrowrow_sumsliceentryoutputnegative. dst_negative_code_flat_construct_rowsrowrow_sumsliceentryoutput = ff_q_pvs_flat_construct_rowsrowrow_sumsliceentryoutputnegative * S ((S (srs_index_flat_construct_rowsrowrow_sumslice)) * dst_negative_scale_flat_construct_rowsrowrow_sumsliceentryoutput) + (dst_negative_flat_construct_rowsrowrow_sumsliceentryoutput))) /\ (exists ge_balance_positive_flat_construct_rowsrowrow_sumsliceentryoutputvalue ge_balance_negative_flat_construct_rowsrowrow_sumsliceentryoutputvalue. (((((srs_value_flat_construct_rowsrowrow_sumslice) = 2 * (ge_balance_positive_flat_construct_rowsrowrow_sumsliceentryoutputvalue) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumsliceentryoutputvalue) = 0) \/ exists ge_signed_half_flat_construct_rowsrowrow_sumsliceentryoutputvaluedecode. (((srs_value_flat_construct_rowsrowrow_sumslice) = 2 * ge_signed_half_flat_construct_rowsrowrow_sumsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_flat_construct_rowsrowrow_sumsliceentryoutputvalue) = 0) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumsliceentryoutputvalue) = S ge_signed_half_flat_construct_rowsrowrow_sumsliceentryoutputvaluedecode))) /\ ((dst_positive_flat_construct_rowsrowrow_sumsliceentryoutput) + ge_balance_negative_flat_construct_rowsrowrow_sumsliceentryoutputvalue = (dst_negative_flat_construct_rowsrowrow_sumsliceentryoutput) + ge_balance_positive_flat_construct_rowsrowrow_sumsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_flat_construct_rowsrowrow_sumsum dst_positive_scale_flat_construct_rowsrowrow_sumsum dst_negative_code_flat_construct_rowsrowrow_sumsum dst_negative_scale_flat_construct_rowsrowrow_sumsum dst_positive_sum_flat_construct_rowsrowrow_sumsum dst_negative_sum_flat_construct_rowsrowrow_sumsum. (((srs_slice_flat_construct_rowsrowrow_sum) = (((((dst_positive_code_flat_construct_rowsrowrow_sumsum) + (dst_positive_scale_flat_construct_rowsrowrow_sumsum)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumsum) + (dst_positive_scale_flat_construct_rowsrowrow_sumsum)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumsum) + (dst_positive_scale_flat_construct_rowsrowrow_sumsum))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)))) * S ((((dst_positive_code_flat_construct_rowsrowrow_sumsum) + (dst_positive_scale_flat_construct_rowsrowrow_sumsum)) * S ((dst_positive_code_flat_construct_rowsrowrow_sumsum) + (dst_positive_scale_flat_construct_rowsrowrow_sumsum)) + ((dst_positive_scale_flat_construct_rowsrowrow_sumsum) + (dst_positive_scale_flat_construct_rowsrowrow_sumsum))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)))) + ((((dst_negative_code_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum))) + (((dst_negative_code_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)) * S ((dst_negative_code_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)) + ((dst_negative_scale_flat_construct_rowsrowrow_sumsum) + (dst_negative_scale_flat_construct_rowsrowrow_sumsum)))))) /\ (((exists fs_u_dst_flat_construct_rowsrowrow_sumsumpositive fs_v_dst_flat_construct_rowsrowrow_sumsumpositive. ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_start. fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_construct_rowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_start. fs_u_dst_flat_construct_rowsrowrow_sumsumpositive = fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_start * S ((S (0)) * fs_v_dst_flat_construct_rowsrowrow_sumsumpositive) + (0))) /\ ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_terminal. fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_terminal + S (dst_positive_sum_flat_construct_rowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_flat_construct_rowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_terminal. fs_u_dst_flat_construct_rowsrowrow_sumsumpositive = fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_terminal * S ((S (n)) * fs_v_dst_flat_construct_rowsrowrow_sumsumpositive) + (dst_positive_sum_flat_construct_rowsrowrow_sumsum))) /\ forall fs_i_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps. (exists fs_lt_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_bound. fs_lt_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_bound + S fs_i_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps = n) -> exists fs_a_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps fs_r_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps fs_s_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps. ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_summand. fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_summand + S (fs_a_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_flat_construct_rowsrowrow_sumsum)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_summand. dst_positive_code_flat_construct_rowsrowrow_sumsum = fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_summand * S ((S (fs_i_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps)) * dst_positive_scale_flat_construct_rowsrowrow_sumsum) + (fs_a_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_partial. fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_partial + S (fs_r_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps) = S ((S (fs_i_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_construct_rowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_partial. fs_u_dst_flat_construct_rowsrowrow_sumsumpositive = fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_partial * S ((S (fs_i_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_construct_rowsrowrow_sumsumpositive) + (fs_r_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_successor. fs_h_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_successor + S (fs_s_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps) = S ((S (S fs_i_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_construct_rowsrowrow_sumsumpositive)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_successor. fs_u_dst_flat_construct_rowsrowrow_sumsumpositive = fs_q_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps_successor * S ((S (S fs_i_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps)) * fs_v_dst_flat_construct_rowsrowrow_sumsumpositive) + (fs_s_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps))) /\ fs_s_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps = fs_r_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps + fs_a_dst_flat_construct_rowsrowrow_sumsumpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_construct_rowsrowrow_sumsumnegative fs_v_dst_flat_construct_rowsrowrow_sumsumnegative. ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_start. fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_construct_rowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_start. fs_u_dst_flat_construct_rowsrowrow_sumsumnegative = fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_start * S ((S (0)) * fs_v_dst_flat_construct_rowsrowrow_sumsumnegative) + (0))) /\ ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_terminal. fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_terminal + S (dst_negative_sum_flat_construct_rowsrowrow_sumsum) = S ((S (n)) * fs_v_dst_flat_construct_rowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_terminal. fs_u_dst_flat_construct_rowsrowrow_sumsumnegative = fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_terminal * S ((S (n)) * fs_v_dst_flat_construct_rowsrowrow_sumsumnegative) + (dst_negative_sum_flat_construct_rowsrowrow_sumsum))) /\ forall fs_i_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps. (exists fs_lt_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_bound. fs_lt_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_bound + S fs_i_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps = n) -> exists fs_a_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps fs_r_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps fs_s_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps. ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_summand. fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_summand + S (fs_a_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_flat_construct_rowsrowrow_sumsum)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_summand. dst_negative_code_flat_construct_rowsrowrow_sumsum = fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_summand * S ((S (fs_i_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps)) * dst_negative_scale_flat_construct_rowsrowrow_sumsum) + (fs_a_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_partial. fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_partial + S (fs_r_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps) = S ((S (fs_i_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_construct_rowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_partial. fs_u_dst_flat_construct_rowsrowrow_sumsumnegative = fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_partial * S ((S (fs_i_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_construct_rowsrowrow_sumsumnegative) + (fs_r_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_successor. fs_h_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_successor + S (fs_s_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps) = S ((S (S fs_i_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_construct_rowsrowrow_sumsumnegative)) /\ exists fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_successor. fs_u_dst_flat_construct_rowsrowrow_sumsumnegative = fs_q_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps_successor * S ((S (S fs_i_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps)) * fs_v_dst_flat_construct_rowsrowrow_sumsumnegative) + (fs_s_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps))) /\ fs_s_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps = fs_r_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps + fs_a_dst_flat_construct_rowsrowrow_sumsumnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_construct_rowsrowrow_sumsumresult ge_balance_negative_flat_construct_rowsrowrow_sumsumresult. (((((srt_value_flat_construct_rows) = 2 * (ge_balance_positive_flat_construct_rowsrowrow_sumsumresult) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumsumresult) = 0) \/ exists ge_signed_half_flat_construct_rowsrowrow_sumsumresultdecode. (((srt_value_flat_construct_rows) = 2 * ge_signed_half_flat_construct_rowsrowrow_sumsumresultdecode + 1 /\ (ge_balance_positive_flat_construct_rowsrowrow_sumsumresult) = 0) /\ (ge_balance_negative_flat_construct_rowsrowrow_sumsumresult) = S ge_signed_half_flat_construct_rowsrowrow_sumsumresultdecode))) /\ ((dst_positive_sum_flat_construct_rowsrowrow_sumsum) + ge_balance_negative_flat_construct_rowsrowrow_sumsumresult = (dst_negative_sum_flat_construct_rowsrowrow_sumsum) + ge_balance_positive_flat_construct_rowsrowrow_sumsumresult))))))))))))))))))
  16. 0016specialize signed_rectangular_row_sums_exists (m)
  17. 0017specialize signed_rectangular_row_sums_exists (F)
  18. 0018specialize signed_rectangular_row_sums_exists (0)
  19. 0019specialize signed_rectangular_row_sums_exists (n)
  20. 0020specialize signed_rectangular_row_sums_exists (1)
  21. 0021specialize signed_rectangular_row_sums_exists (n)
  22. 0022apply signed_rectangular_row_sums_exists
  23. 0023exact hF
  24. 0024cases hr
  25. 0025have hv : exists v. (exists dst_positive_code_flat_construct_sum dst_positive_scale_flat_construct_sum dst_negative_code_flat_construct_sum dst_negative_scale_flat_construct_sum dst_positive_sum_flat_construct_sum dst_negative_sum_flat_construct_sum. (((x) = (((((dst_positive_code_flat_construct_sum) + (dst_positive_scale_flat_construct_sum)) * S ((dst_positive_code_flat_construct_sum) + (dst_positive_scale_flat_construct_sum)) + ((dst_positive_scale_flat_construct_sum) + (dst_positive_scale_flat_construct_sum))) + (((dst_negative_code_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)) * S ((dst_negative_code_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)) + ((dst_negative_scale_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)))) * S ((((dst_positive_code_flat_construct_sum) + (dst_positive_scale_flat_construct_sum)) * S ((dst_positive_code_flat_construct_sum) + (dst_positive_scale_flat_construct_sum)) + ((dst_positive_scale_flat_construct_sum) + (dst_positive_scale_flat_construct_sum))) + (((dst_negative_code_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)) * S ((dst_negative_code_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)) + ((dst_negative_scale_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)))) + ((((dst_negative_code_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)) * S ((dst_negative_code_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)) + ((dst_negative_scale_flat_construct_sum) + (dst_negative_scale_flat_construct_sum))) + (((dst_negative_code_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)) * S ((dst_negative_code_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)) + ((dst_negative_scale_flat_construct_sum) + (dst_negative_scale_flat_construct_sum)))))) /\ (((exists fs_u_dst_flat_construct_sumpositive fs_v_dst_flat_construct_sumpositive. ((((exists fs_h_dst_flat_construct_sumpositive_body_start. fs_h_dst_flat_construct_sumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_construct_sumpositive)) /\ exists fs_q_dst_flat_construct_sumpositive_body_start. fs_u_dst_flat_construct_sumpositive = fs_q_dst_flat_construct_sumpositive_body_start * S ((S (0)) * fs_v_dst_flat_construct_sumpositive) + (0))) /\ ((((exists fs_h_dst_flat_construct_sumpositive_body_terminal. fs_h_dst_flat_construct_sumpositive_body_terminal + S (dst_positive_sum_flat_construct_sum) = S ((S (m)) * fs_v_dst_flat_construct_sumpositive)) /\ exists fs_q_dst_flat_construct_sumpositive_body_terminal. fs_u_dst_flat_construct_sumpositive = fs_q_dst_flat_construct_sumpositive_body_terminal * S ((S (m)) * fs_v_dst_flat_construct_sumpositive) + (dst_positive_sum_flat_construct_sum))) /\ forall fs_i_dst_flat_construct_sumpositive_body_steps. (exists fs_lt_dst_flat_construct_sumpositive_body_steps_bound. fs_lt_dst_flat_construct_sumpositive_body_steps_bound + S fs_i_dst_flat_construct_sumpositive_body_steps = m) -> exists fs_a_dst_flat_construct_sumpositive_body_steps fs_r_dst_flat_construct_sumpositive_body_steps fs_s_dst_flat_construct_sumpositive_body_steps. ((((exists fs_h_dst_flat_construct_sumpositive_body_steps_summand. fs_h_dst_flat_construct_sumpositive_body_steps_summand + S (fs_a_dst_flat_construct_sumpositive_body_steps) = S ((S (fs_i_dst_flat_construct_sumpositive_body_steps)) * dst_positive_scale_flat_construct_sum)) /\ exists fs_q_dst_flat_construct_sumpositive_body_steps_summand. dst_positive_code_flat_construct_sum = fs_q_dst_flat_construct_sumpositive_body_steps_summand * S ((S (fs_i_dst_flat_construct_sumpositive_body_steps)) * dst_positive_scale_flat_construct_sum) + (fs_a_dst_flat_construct_sumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_construct_sumpositive_body_steps_partial. fs_h_dst_flat_construct_sumpositive_body_steps_partial + S (fs_r_dst_flat_construct_sumpositive_body_steps) = S ((S (fs_i_dst_flat_construct_sumpositive_body_steps)) * fs_v_dst_flat_construct_sumpositive)) /\ exists fs_q_dst_flat_construct_sumpositive_body_steps_partial. fs_u_dst_flat_construct_sumpositive = fs_q_dst_flat_construct_sumpositive_body_steps_partial * S ((S (fs_i_dst_flat_construct_sumpositive_body_steps)) * fs_v_dst_flat_construct_sumpositive) + (fs_r_dst_flat_construct_sumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_construct_sumpositive_body_steps_successor. fs_h_dst_flat_construct_sumpositive_body_steps_successor + S (fs_s_dst_flat_construct_sumpositive_body_steps) = S ((S (S fs_i_dst_flat_construct_sumpositive_body_steps)) * fs_v_dst_flat_construct_sumpositive)) /\ exists fs_q_dst_flat_construct_sumpositive_body_steps_successor. fs_u_dst_flat_construct_sumpositive = fs_q_dst_flat_construct_sumpositive_body_steps_successor * S ((S (S fs_i_dst_flat_construct_sumpositive_body_steps)) * fs_v_dst_flat_construct_sumpositive) + (fs_s_dst_flat_construct_sumpositive_body_steps))) /\ fs_s_dst_flat_construct_sumpositive_body_steps = fs_r_dst_flat_construct_sumpositive_body_steps + fs_a_dst_flat_construct_sumpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_construct_sumnegative fs_v_dst_flat_construct_sumnegative. ((((exists fs_h_dst_flat_construct_sumnegative_body_start. fs_h_dst_flat_construct_sumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_construct_sumnegative)) /\ exists fs_q_dst_flat_construct_sumnegative_body_start. fs_u_dst_flat_construct_sumnegative = fs_q_dst_flat_construct_sumnegative_body_start * S ((S (0)) * fs_v_dst_flat_construct_sumnegative) + (0))) /\ ((((exists fs_h_dst_flat_construct_sumnegative_body_terminal. fs_h_dst_flat_construct_sumnegative_body_terminal + S (dst_negative_sum_flat_construct_sum) = S ((S (m)) * fs_v_dst_flat_construct_sumnegative)) /\ exists fs_q_dst_flat_construct_sumnegative_body_terminal. fs_u_dst_flat_construct_sumnegative = fs_q_dst_flat_construct_sumnegative_body_terminal * S ((S (m)) * fs_v_dst_flat_construct_sumnegative) + (dst_negative_sum_flat_construct_sum))) /\ forall fs_i_dst_flat_construct_sumnegative_body_steps. (exists fs_lt_dst_flat_construct_sumnegative_body_steps_bound. fs_lt_dst_flat_construct_sumnegative_body_steps_bound + S fs_i_dst_flat_construct_sumnegative_body_steps = m) -> exists fs_a_dst_flat_construct_sumnegative_body_steps fs_r_dst_flat_construct_sumnegative_body_steps fs_s_dst_flat_construct_sumnegative_body_steps. ((((exists fs_h_dst_flat_construct_sumnegative_body_steps_summand. fs_h_dst_flat_construct_sumnegative_body_steps_summand + S (fs_a_dst_flat_construct_sumnegative_body_steps) = S ((S (fs_i_dst_flat_construct_sumnegative_body_steps)) * dst_negative_scale_flat_construct_sum)) /\ exists fs_q_dst_flat_construct_sumnegative_body_steps_summand. dst_negative_code_flat_construct_sum = fs_q_dst_flat_construct_sumnegative_body_steps_summand * S ((S (fs_i_dst_flat_construct_sumnegative_body_steps)) * dst_negative_scale_flat_construct_sum) + (fs_a_dst_flat_construct_sumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_construct_sumnegative_body_steps_partial. fs_h_dst_flat_construct_sumnegative_body_steps_partial + S (fs_r_dst_flat_construct_sumnegative_body_steps) = S ((S (fs_i_dst_flat_construct_sumnegative_body_steps)) * fs_v_dst_flat_construct_sumnegative)) /\ exists fs_q_dst_flat_construct_sumnegative_body_steps_partial. fs_u_dst_flat_construct_sumnegative = fs_q_dst_flat_construct_sumnegative_body_steps_partial * S ((S (fs_i_dst_flat_construct_sumnegative_body_steps)) * fs_v_dst_flat_construct_sumnegative) + (fs_r_dst_flat_construct_sumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_construct_sumnegative_body_steps_successor. fs_h_dst_flat_construct_sumnegative_body_steps_successor + S (fs_s_dst_flat_construct_sumnegative_body_steps) = S ((S (S fs_i_dst_flat_construct_sumnegative_body_steps)) * fs_v_dst_flat_construct_sumnegative)) /\ exists fs_q_dst_flat_construct_sumnegative_body_steps_successor. fs_u_dst_flat_construct_sumnegative = fs_q_dst_flat_construct_sumnegative_body_steps_successor * S ((S (S fs_i_dst_flat_construct_sumnegative_body_steps)) * fs_v_dst_flat_construct_sumnegative) + (fs_s_dst_flat_construct_sumnegative_body_steps))) /\ fs_s_dst_flat_construct_sumnegative_body_steps = fs_r_dst_flat_construct_sumnegative_body_steps + fs_a_dst_flat_construct_sumnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_construct_sumresult ge_balance_negative_flat_construct_sumresult. (((((v) = 2 * (ge_balance_positive_flat_construct_sumresult) /\ (ge_balance_negative_flat_construct_sumresult) = 0) \/ exists ge_signed_half_flat_construct_sumresultdecode. (((v) = 2 * ge_signed_half_flat_construct_sumresultdecode + 1 /\ (ge_balance_positive_flat_construct_sumresult) = 0) /\ (ge_balance_negative_flat_construct_sumresult) = S ge_signed_half_flat_construct_sumresultdecode))) /\ ((dst_positive_sum_flat_construct_sum) + ge_balance_negative_flat_construct_sumresult = (dst_negative_sum_flat_construct_sum) + ge_balance_positive_flat_construct_sumresult)))))))))
  26. 0026specialize arithmetic_signed_sum_exists (m)
  27. 0027specialize arithmetic_signed_sum_exists (x)
  28. 0028specialize arithmetic_signed_sum_exists (m)
  29. 0029apply arithmetic_signed_sum_exists
  30. 0030cases hr_witness
  31. 0031cases hr_witness_right
  32. 0032exact hr_witness_right_left
  33. 0033cases hv
  34. 0034have hflat : exists srs_slice_flat_construct_flat. ((((exists dst_positive_code_flat_construct_flatslicesource_table dst_positive_scale_flat_construct_flatslicesource_table dst_negative_code_flat_construct_flatslicesource_table dst_negative_scale_flat_construct_flatslicesource_table. (((F) = (((((dst_positive_code_flat_construct_flatslicesource_table) + (dst_positive_scale_flat_construct_flatslicesource_table)) * S ((dst_positive_code_flat_construct_flatslicesource_table) + (dst_positive_scale_flat_construct_flatslicesource_table)) + ((dst_positive_scale_flat_construct_flatslicesource_table) + (dst_positive_scale_flat_construct_flatslicesource_table))) + (((dst_negative_code_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)) * S ((dst_negative_code_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)) + ((dst_negative_scale_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)))) * S ((((dst_positive_code_flat_construct_flatslicesource_table) + (dst_positive_scale_flat_construct_flatslicesource_table)) * S ((dst_positive_code_flat_construct_flatslicesource_table) + (dst_positive_scale_flat_construct_flatslicesource_table)) + ((dst_positive_scale_flat_construct_flatslicesource_table) + (dst_positive_scale_flat_construct_flatslicesource_table))) + (((dst_negative_code_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)) * S ((dst_negative_code_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)) + ((dst_negative_scale_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)))) + ((((dst_negative_code_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)) * S ((dst_negative_code_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)) + ((dst_negative_scale_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table))) + (((dst_negative_code_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)) * S ((dst_negative_code_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)) + ((dst_negative_scale_flat_construct_flatslicesource_table) + (dst_negative_scale_flat_construct_flatslicesource_table)))))) /\ (forall dst_index_flat_construct_flatslicesource_table. (exists pvs_le_gap_flat_construct_flatslicesource_tabledomain. pvs_le_gap_flat_construct_flatslicesource_tabledomain + (dst_index_flat_construct_flatslicesource_table) = (0)) -> exists dst_positive_flat_construct_flatslicesource_table dst_negative_flat_construct_flatslicesource_table dst_value_flat_construct_flatslicesource_table. ((((exists ff_h_pvs_flat_construct_flatslicesource_tableentrypositive. ff_h_pvs_flat_construct_flatslicesource_tableentrypositive + S (dst_positive_flat_construct_flatslicesource_table) = S ((S (dst_index_flat_construct_flatslicesource_table)) * dst_positive_scale_flat_construct_flatslicesource_table)) /\ exists ff_q_pvs_flat_construct_flatslicesource_tableentrypositive. dst_positive_code_flat_construct_flatslicesource_table = ff_q_pvs_flat_construct_flatslicesource_tableentrypositive * S ((S (dst_index_flat_construct_flatslicesource_table)) * dst_positive_scale_flat_construct_flatslicesource_table) + (dst_positive_flat_construct_flatslicesource_table))) /\ (((((exists ff_h_pvs_flat_construct_flatslicesource_tableentrynegative. ff_h_pvs_flat_construct_flatslicesource_tableentrynegative + S (dst_negative_flat_construct_flatslicesource_table) = S ((S (dst_index_flat_construct_flatslicesource_table)) * dst_negative_scale_flat_construct_flatslicesource_table)) /\ exists ff_q_pvs_flat_construct_flatslicesource_tableentrynegative. dst_negative_code_flat_construct_flatslicesource_table = ff_q_pvs_flat_construct_flatslicesource_tableentrynegative * S ((S (dst_index_flat_construct_flatslicesource_table)) * dst_negative_scale_flat_construct_flatslicesource_table) + (dst_negative_flat_construct_flatslicesource_table))) /\ (exists ge_balance_positive_flat_construct_flatslicesource_tableentryvalue ge_balance_negative_flat_construct_flatslicesource_tableentryvalue. (((((dst_value_flat_construct_flatslicesource_table) = 2 * (ge_balance_positive_flat_construct_flatslicesource_tableentryvalue) /\ (ge_balance_negative_flat_construct_flatslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_flat_construct_flatslicesource_tableentryvaluedecode. (((dst_value_flat_construct_flatslicesource_table) = 2 * ge_signed_half_flat_construct_flatslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_construct_flatslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_flat_construct_flatslicesource_tableentryvalue) = S ge_signed_half_flat_construct_flatslicesource_tableentryvaluedecode))) /\ ((dst_positive_flat_construct_flatslicesource_table) + ge_balance_negative_flat_construct_flatslicesource_tableentryvalue = (dst_negative_flat_construct_flatslicesource_table) + ge_balance_positive_flat_construct_flatslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_flat_construct_flatsliceoutput_table dst_positive_scale_flat_construct_flatsliceoutput_table dst_negative_code_flat_construct_flatsliceoutput_table dst_negative_scale_flat_construct_flatsliceoutput_table. (((srs_slice_flat_construct_flat) = (((((dst_positive_code_flat_construct_flatsliceoutput_table) + (dst_positive_scale_flat_construct_flatsliceoutput_table)) * S ((dst_positive_code_flat_construct_flatsliceoutput_table) + (dst_positive_scale_flat_construct_flatsliceoutput_table)) + ((dst_positive_scale_flat_construct_flatsliceoutput_table) + (dst_positive_scale_flat_construct_flatsliceoutput_table))) + (((dst_negative_code_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)) * S ((dst_negative_code_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)) + ((dst_negative_scale_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)))) * S ((((dst_positive_code_flat_construct_flatsliceoutput_table) + (dst_positive_scale_flat_construct_flatsliceoutput_table)) * S ((dst_positive_code_flat_construct_flatsliceoutput_table) + (dst_positive_scale_flat_construct_flatsliceoutput_table)) + ((dst_positive_scale_flat_construct_flatsliceoutput_table) + (dst_positive_scale_flat_construct_flatsliceoutput_table))) + (((dst_negative_code_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)) * S ((dst_negative_code_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)) + ((dst_negative_scale_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)))) + ((((dst_negative_code_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)) * S ((dst_negative_code_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)) + ((dst_negative_scale_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table))) + (((dst_negative_code_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)) * S ((dst_negative_code_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)) + ((dst_negative_scale_flat_construct_flatsliceoutput_table) + (dst_negative_scale_flat_construct_flatsliceoutput_table)))))) /\ (forall dst_index_flat_construct_flatsliceoutput_table. (exists pvs_le_gap_flat_construct_flatsliceoutput_tabledomain. pvs_le_gap_flat_construct_flatsliceoutput_tabledomain + (dst_index_flat_construct_flatsliceoutput_table) = (m*n)) -> exists dst_positive_flat_construct_flatsliceoutput_table dst_negative_flat_construct_flatsliceoutput_table dst_value_flat_construct_flatsliceoutput_table. ((((exists ff_h_pvs_flat_construct_flatsliceoutput_tableentrypositive. ff_h_pvs_flat_construct_flatsliceoutput_tableentrypositive + S (dst_positive_flat_construct_flatsliceoutput_table) = S ((S (dst_index_flat_construct_flatsliceoutput_table)) * dst_positive_scale_flat_construct_flatsliceoutput_table)) /\ exists ff_q_pvs_flat_construct_flatsliceoutput_tableentrypositive. dst_positive_code_flat_construct_flatsliceoutput_table = ff_q_pvs_flat_construct_flatsliceoutput_tableentrypositive * S ((S (dst_index_flat_construct_flatsliceoutput_table)) * dst_positive_scale_flat_construct_flatsliceoutput_table) + (dst_positive_flat_construct_flatsliceoutput_table))) /\ (((((exists ff_h_pvs_flat_construct_flatsliceoutput_tableentrynegative. ff_h_pvs_flat_construct_flatsliceoutput_tableentrynegative + S (dst_negative_flat_construct_flatsliceoutput_table) = S ((S (dst_index_flat_construct_flatsliceoutput_table)) * dst_negative_scale_flat_construct_flatsliceoutput_table)) /\ exists ff_q_pvs_flat_construct_flatsliceoutput_tableentrynegative. dst_negative_code_flat_construct_flatsliceoutput_table = ff_q_pvs_flat_construct_flatsliceoutput_tableentrynegative * S ((S (dst_index_flat_construct_flatsliceoutput_table)) * dst_negative_scale_flat_construct_flatsliceoutput_table) + (dst_negative_flat_construct_flatsliceoutput_table))) /\ (exists ge_balance_positive_flat_construct_flatsliceoutput_tableentryvalue ge_balance_negative_flat_construct_flatsliceoutput_tableentryvalue. (((((dst_value_flat_construct_flatsliceoutput_table) = 2 * (ge_balance_positive_flat_construct_flatsliceoutput_tableentryvalue) /\ (ge_balance_negative_flat_construct_flatsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_flat_construct_flatsliceoutput_tableentryvaluedecode. (((dst_value_flat_construct_flatsliceoutput_table) = 2 * ge_signed_half_flat_construct_flatsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_flat_construct_flatsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_flat_construct_flatsliceoutput_tableentryvalue) = S ge_signed_half_flat_construct_flatsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_flat_construct_flatsliceoutput_table) + ge_balance_negative_flat_construct_flatsliceoutput_tableentryvalue = (dst_negative_flat_construct_flatsliceoutput_table) + ge_balance_positive_flat_construct_flatsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_flat_construct_flatslice. (exists pvs_gap_flat_construct_flatslicebound. pvs_gap_flat_construct_flatslicebound + S (srs_index_flat_construct_flatslice) = (m*n)) -> exists srs_value_flat_construct_flatslice. (((exists dst_positive_code_flat_construct_flatsliceentrysource dst_positive_scale_flat_construct_flatsliceentrysource dst_negative_code_flat_construct_flatsliceentrysource dst_negative_scale_flat_construct_flatsliceentrysource dst_positive_flat_construct_flatsliceentrysource dst_negative_flat_construct_flatsliceentrysource. (((F) = (((((dst_positive_code_flat_construct_flatsliceentrysource) + (dst_positive_scale_flat_construct_flatsliceentrysource)) * S ((dst_positive_code_flat_construct_flatsliceentrysource) + (dst_positive_scale_flat_construct_flatsliceentrysource)) + ((dst_positive_scale_flat_construct_flatsliceentrysource) + (dst_positive_scale_flat_construct_flatsliceentrysource))) + (((dst_negative_code_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)) * S ((dst_negative_code_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)) + ((dst_negative_scale_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)))) * S ((((dst_positive_code_flat_construct_flatsliceentrysource) + (dst_positive_scale_flat_construct_flatsliceentrysource)) * S ((dst_positive_code_flat_construct_flatsliceentrysource) + (dst_positive_scale_flat_construct_flatsliceentrysource)) + ((dst_positive_scale_flat_construct_flatsliceentrysource) + (dst_positive_scale_flat_construct_flatsliceentrysource))) + (((dst_negative_code_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)) * S ((dst_negative_code_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)) + ((dst_negative_scale_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)))) + ((((dst_negative_code_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)) * S ((dst_negative_code_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)) + ((dst_negative_scale_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource))) + (((dst_negative_code_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)) * S ((dst_negative_code_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)) + ((dst_negative_scale_flat_construct_flatsliceentrysource) + (dst_negative_scale_flat_construct_flatsliceentrysource)))))) /\ (((((exists ff_h_pvs_flat_construct_flatsliceentrysourcepositive. ff_h_pvs_flat_construct_flatsliceentrysourcepositive + S (dst_positive_flat_construct_flatsliceentrysource) = S ((S (((0) + ((1) * (srs_index_flat_construct_flatslice))))) * dst_positive_scale_flat_construct_flatsliceentrysource)) /\ exists ff_q_pvs_flat_construct_flatsliceentrysourcepositive. dst_positive_code_flat_construct_flatsliceentrysource = ff_q_pvs_flat_construct_flatsliceentrysourcepositive * S ((S (((0) + ((1) * (srs_index_flat_construct_flatslice))))) * dst_positive_scale_flat_construct_flatsliceentrysource) + (dst_positive_flat_construct_flatsliceentrysource))) /\ (((((exists ff_h_pvs_flat_construct_flatsliceentrysourcenegative. ff_h_pvs_flat_construct_flatsliceentrysourcenegative + S (dst_negative_flat_construct_flatsliceentrysource) = S ((S (((0) + ((1) * (srs_index_flat_construct_flatslice))))) * dst_negative_scale_flat_construct_flatsliceentrysource)) /\ exists ff_q_pvs_flat_construct_flatsliceentrysourcenegative. dst_negative_code_flat_construct_flatsliceentrysource = ff_q_pvs_flat_construct_flatsliceentrysourcenegative * S ((S (((0) + ((1) * (srs_index_flat_construct_flatslice))))) * dst_negative_scale_flat_construct_flatsliceentrysource) + (dst_negative_flat_construct_flatsliceentrysource))) /\ (exists ge_balance_positive_flat_construct_flatsliceentrysourcevalue ge_balance_negative_flat_construct_flatsliceentrysourcevalue. (((((srs_value_flat_construct_flatslice) = 2 * (ge_balance_positive_flat_construct_flatsliceentrysourcevalue) /\ (ge_balance_negative_flat_construct_flatsliceentrysourcevalue) = 0) \/ exists ge_signed_half_flat_construct_flatsliceentrysourcevaluedecode. (((srs_value_flat_construct_flatslice) = 2 * ge_signed_half_flat_construct_flatsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_flat_construct_flatsliceentrysourcevalue) = 0) /\ (ge_balance_negative_flat_construct_flatsliceentrysourcevalue) = S ge_signed_half_flat_construct_flatsliceentrysourcevaluedecode))) /\ ((dst_positive_flat_construct_flatsliceentrysource) + ge_balance_negative_flat_construct_flatsliceentrysourcevalue = (dst_negative_flat_construct_flatsliceentrysource) + ge_balance_positive_flat_construct_flatsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_flat_construct_flatsliceentryoutput dst_positive_scale_flat_construct_flatsliceentryoutput dst_negative_code_flat_construct_flatsliceentryoutput dst_negative_scale_flat_construct_flatsliceentryoutput dst_positive_flat_construct_flatsliceentryoutput dst_negative_flat_construct_flatsliceentryoutput. (((srs_slice_flat_construct_flat) = (((((dst_positive_code_flat_construct_flatsliceentryoutput) + (dst_positive_scale_flat_construct_flatsliceentryoutput)) * S ((dst_positive_code_flat_construct_flatsliceentryoutput) + (dst_positive_scale_flat_construct_flatsliceentryoutput)) + ((dst_positive_scale_flat_construct_flatsliceentryoutput) + (dst_positive_scale_flat_construct_flatsliceentryoutput))) + (((dst_negative_code_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)) * S ((dst_negative_code_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)) + ((dst_negative_scale_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)))) * S ((((dst_positive_code_flat_construct_flatsliceentryoutput) + (dst_positive_scale_flat_construct_flatsliceentryoutput)) * S ((dst_positive_code_flat_construct_flatsliceentryoutput) + (dst_positive_scale_flat_construct_flatsliceentryoutput)) + ((dst_positive_scale_flat_construct_flatsliceentryoutput) + (dst_positive_scale_flat_construct_flatsliceentryoutput))) + (((dst_negative_code_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)) * S ((dst_negative_code_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)) + ((dst_negative_scale_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)))) + ((((dst_negative_code_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)) * S ((dst_negative_code_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)) + ((dst_negative_scale_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput))) + (((dst_negative_code_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)) * S ((dst_negative_code_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)) + ((dst_negative_scale_flat_construct_flatsliceentryoutput) + (dst_negative_scale_flat_construct_flatsliceentryoutput)))))) /\ (((((exists ff_h_pvs_flat_construct_flatsliceentryoutputpositive. ff_h_pvs_flat_construct_flatsliceentryoutputpositive + S (dst_positive_flat_construct_flatsliceentryoutput) = S ((S (srs_index_flat_construct_flatslice)) * dst_positive_scale_flat_construct_flatsliceentryoutput)) /\ exists ff_q_pvs_flat_construct_flatsliceentryoutputpositive. dst_positive_code_flat_construct_flatsliceentryoutput = ff_q_pvs_flat_construct_flatsliceentryoutputpositive * S ((S (srs_index_flat_construct_flatslice)) * dst_positive_scale_flat_construct_flatsliceentryoutput) + (dst_positive_flat_construct_flatsliceentryoutput))) /\ (((((exists ff_h_pvs_flat_construct_flatsliceentryoutputnegative. ff_h_pvs_flat_construct_flatsliceentryoutputnegative + S (dst_negative_flat_construct_flatsliceentryoutput) = S ((S (srs_index_flat_construct_flatslice)) * dst_negative_scale_flat_construct_flatsliceentryoutput)) /\ exists ff_q_pvs_flat_construct_flatsliceentryoutputnegative. dst_negative_code_flat_construct_flatsliceentryoutput = ff_q_pvs_flat_construct_flatsliceentryoutputnegative * S ((S (srs_index_flat_construct_flatslice)) * dst_negative_scale_flat_construct_flatsliceentryoutput) + (dst_negative_flat_construct_flatsliceentryoutput))) /\ (exists ge_balance_positive_flat_construct_flatsliceentryoutputvalue ge_balance_negative_flat_construct_flatsliceentryoutputvalue. (((((srs_value_flat_construct_flatslice) = 2 * (ge_balance_positive_flat_construct_flatsliceentryoutputvalue) /\ (ge_balance_negative_flat_construct_flatsliceentryoutputvalue) = 0) \/ exists ge_signed_half_flat_construct_flatsliceentryoutputvaluedecode. (((srs_value_flat_construct_flatslice) = 2 * ge_signed_half_flat_construct_flatsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_flat_construct_flatsliceentryoutputvalue) = 0) /\ (ge_balance_negative_flat_construct_flatsliceentryoutputvalue) = S ge_signed_half_flat_construct_flatsliceentryoutputvaluedecode))) /\ ((dst_positive_flat_construct_flatsliceentryoutput) + ge_balance_negative_flat_construct_flatsliceentryoutputvalue = (dst_negative_flat_construct_flatsliceentryoutput) + ge_balance_positive_flat_construct_flatsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_flat_construct_flatsum dst_positive_scale_flat_construct_flatsum dst_negative_code_flat_construct_flatsum dst_negative_scale_flat_construct_flatsum dst_positive_sum_flat_construct_flatsum dst_negative_sum_flat_construct_flatsum. (((srs_slice_flat_construct_flat) = (((((dst_positive_code_flat_construct_flatsum) + (dst_positive_scale_flat_construct_flatsum)) * S ((dst_positive_code_flat_construct_flatsum) + (dst_positive_scale_flat_construct_flatsum)) + ((dst_positive_scale_flat_construct_flatsum) + (dst_positive_scale_flat_construct_flatsum))) + (((dst_negative_code_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)) * S ((dst_negative_code_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)) + ((dst_negative_scale_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)))) * S ((((dst_positive_code_flat_construct_flatsum) + (dst_positive_scale_flat_construct_flatsum)) * S ((dst_positive_code_flat_construct_flatsum) + (dst_positive_scale_flat_construct_flatsum)) + ((dst_positive_scale_flat_construct_flatsum) + (dst_positive_scale_flat_construct_flatsum))) + (((dst_negative_code_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)) * S ((dst_negative_code_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)) + ((dst_negative_scale_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)))) + ((((dst_negative_code_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)) * S ((dst_negative_code_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)) + ((dst_negative_scale_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum))) + (((dst_negative_code_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)) * S ((dst_negative_code_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)) + ((dst_negative_scale_flat_construct_flatsum) + (dst_negative_scale_flat_construct_flatsum)))))) /\ (((exists fs_u_dst_flat_construct_flatsumpositive fs_v_dst_flat_construct_flatsumpositive. ((((exists fs_h_dst_flat_construct_flatsumpositive_body_start. fs_h_dst_flat_construct_flatsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_construct_flatsumpositive)) /\ exists fs_q_dst_flat_construct_flatsumpositive_body_start. fs_u_dst_flat_construct_flatsumpositive = fs_q_dst_flat_construct_flatsumpositive_body_start * S ((S (0)) * fs_v_dst_flat_construct_flatsumpositive) + (0))) /\ ((((exists fs_h_dst_flat_construct_flatsumpositive_body_terminal. fs_h_dst_flat_construct_flatsumpositive_body_terminal + S (dst_positive_sum_flat_construct_flatsum) = S ((S (m*n)) * fs_v_dst_flat_construct_flatsumpositive)) /\ exists fs_q_dst_flat_construct_flatsumpositive_body_terminal. fs_u_dst_flat_construct_flatsumpositive = fs_q_dst_flat_construct_flatsumpositive_body_terminal * S ((S (m*n)) * fs_v_dst_flat_construct_flatsumpositive) + (dst_positive_sum_flat_construct_flatsum))) /\ forall fs_i_dst_flat_construct_flatsumpositive_body_steps. (exists fs_lt_dst_flat_construct_flatsumpositive_body_steps_bound. fs_lt_dst_flat_construct_flatsumpositive_body_steps_bound + S fs_i_dst_flat_construct_flatsumpositive_body_steps = m*n) -> exists fs_a_dst_flat_construct_flatsumpositive_body_steps fs_r_dst_flat_construct_flatsumpositive_body_steps fs_s_dst_flat_construct_flatsumpositive_body_steps. ((((exists fs_h_dst_flat_construct_flatsumpositive_body_steps_summand. fs_h_dst_flat_construct_flatsumpositive_body_steps_summand + S (fs_a_dst_flat_construct_flatsumpositive_body_steps) = S ((S (fs_i_dst_flat_construct_flatsumpositive_body_steps)) * dst_positive_scale_flat_construct_flatsum)) /\ exists fs_q_dst_flat_construct_flatsumpositive_body_steps_summand. dst_positive_code_flat_construct_flatsum = fs_q_dst_flat_construct_flatsumpositive_body_steps_summand * S ((S (fs_i_dst_flat_construct_flatsumpositive_body_steps)) * dst_positive_scale_flat_construct_flatsum) + (fs_a_dst_flat_construct_flatsumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_construct_flatsumpositive_body_steps_partial. fs_h_dst_flat_construct_flatsumpositive_body_steps_partial + S (fs_r_dst_flat_construct_flatsumpositive_body_steps) = S ((S (fs_i_dst_flat_construct_flatsumpositive_body_steps)) * fs_v_dst_flat_construct_flatsumpositive)) /\ exists fs_q_dst_flat_construct_flatsumpositive_body_steps_partial. fs_u_dst_flat_construct_flatsumpositive = fs_q_dst_flat_construct_flatsumpositive_body_steps_partial * S ((S (fs_i_dst_flat_construct_flatsumpositive_body_steps)) * fs_v_dst_flat_construct_flatsumpositive) + (fs_r_dst_flat_construct_flatsumpositive_body_steps))) /\ ((((exists fs_h_dst_flat_construct_flatsumpositive_body_steps_successor. fs_h_dst_flat_construct_flatsumpositive_body_steps_successor + S (fs_s_dst_flat_construct_flatsumpositive_body_steps) = S ((S (S fs_i_dst_flat_construct_flatsumpositive_body_steps)) * fs_v_dst_flat_construct_flatsumpositive)) /\ exists fs_q_dst_flat_construct_flatsumpositive_body_steps_successor. fs_u_dst_flat_construct_flatsumpositive = fs_q_dst_flat_construct_flatsumpositive_body_steps_successor * S ((S (S fs_i_dst_flat_construct_flatsumpositive_body_steps)) * fs_v_dst_flat_construct_flatsumpositive) + (fs_s_dst_flat_construct_flatsumpositive_body_steps))) /\ fs_s_dst_flat_construct_flatsumpositive_body_steps = fs_r_dst_flat_construct_flatsumpositive_body_steps + fs_a_dst_flat_construct_flatsumpositive_body_steps)))))) /\ (((exists fs_u_dst_flat_construct_flatsumnegative fs_v_dst_flat_construct_flatsumnegative. ((((exists fs_h_dst_flat_construct_flatsumnegative_body_start. fs_h_dst_flat_construct_flatsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_flat_construct_flatsumnegative)) /\ exists fs_q_dst_flat_construct_flatsumnegative_body_start. fs_u_dst_flat_construct_flatsumnegative = fs_q_dst_flat_construct_flatsumnegative_body_start * S ((S (0)) * fs_v_dst_flat_construct_flatsumnegative) + (0))) /\ ((((exists fs_h_dst_flat_construct_flatsumnegative_body_terminal. fs_h_dst_flat_construct_flatsumnegative_body_terminal + S (dst_negative_sum_flat_construct_flatsum) = S ((S (m*n)) * fs_v_dst_flat_construct_flatsumnegative)) /\ exists fs_q_dst_flat_construct_flatsumnegative_body_terminal. fs_u_dst_flat_construct_flatsumnegative = fs_q_dst_flat_construct_flatsumnegative_body_terminal * S ((S (m*n)) * fs_v_dst_flat_construct_flatsumnegative) + (dst_negative_sum_flat_construct_flatsum))) /\ forall fs_i_dst_flat_construct_flatsumnegative_body_steps. (exists fs_lt_dst_flat_construct_flatsumnegative_body_steps_bound. fs_lt_dst_flat_construct_flatsumnegative_body_steps_bound + S fs_i_dst_flat_construct_flatsumnegative_body_steps = m*n) -> exists fs_a_dst_flat_construct_flatsumnegative_body_steps fs_r_dst_flat_construct_flatsumnegative_body_steps fs_s_dst_flat_construct_flatsumnegative_body_steps. ((((exists fs_h_dst_flat_construct_flatsumnegative_body_steps_summand. fs_h_dst_flat_construct_flatsumnegative_body_steps_summand + S (fs_a_dst_flat_construct_flatsumnegative_body_steps) = S ((S (fs_i_dst_flat_construct_flatsumnegative_body_steps)) * dst_negative_scale_flat_construct_flatsum)) /\ exists fs_q_dst_flat_construct_flatsumnegative_body_steps_summand. dst_negative_code_flat_construct_flatsum = fs_q_dst_flat_construct_flatsumnegative_body_steps_summand * S ((S (fs_i_dst_flat_construct_flatsumnegative_body_steps)) * dst_negative_scale_flat_construct_flatsum) + (fs_a_dst_flat_construct_flatsumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_construct_flatsumnegative_body_steps_partial. fs_h_dst_flat_construct_flatsumnegative_body_steps_partial + S (fs_r_dst_flat_construct_flatsumnegative_body_steps) = S ((S (fs_i_dst_flat_construct_flatsumnegative_body_steps)) * fs_v_dst_flat_construct_flatsumnegative)) /\ exists fs_q_dst_flat_construct_flatsumnegative_body_steps_partial. fs_u_dst_flat_construct_flatsumnegative = fs_q_dst_flat_construct_flatsumnegative_body_steps_partial * S ((S (fs_i_dst_flat_construct_flatsumnegative_body_steps)) * fs_v_dst_flat_construct_flatsumnegative) + (fs_r_dst_flat_construct_flatsumnegative_body_steps))) /\ ((((exists fs_h_dst_flat_construct_flatsumnegative_body_steps_successor. fs_h_dst_flat_construct_flatsumnegative_body_steps_successor + S (fs_s_dst_flat_construct_flatsumnegative_body_steps) = S ((S (S fs_i_dst_flat_construct_flatsumnegative_body_steps)) * fs_v_dst_flat_construct_flatsumnegative)) /\ exists fs_q_dst_flat_construct_flatsumnegative_body_steps_successor. fs_u_dst_flat_construct_flatsumnegative = fs_q_dst_flat_construct_flatsumnegative_body_steps_successor * S ((S (S fs_i_dst_flat_construct_flatsumnegative_body_steps)) * fs_v_dst_flat_construct_flatsumnegative) + (fs_s_dst_flat_construct_flatsumnegative_body_steps))) /\ fs_s_dst_flat_construct_flatsumnegative_body_steps = fs_r_dst_flat_construct_flatsumnegative_body_steps + fs_a_dst_flat_construct_flatsumnegative_body_steps)))))) /\ (exists ge_balance_positive_flat_construct_flatsumresult ge_balance_negative_flat_construct_flatsumresult. (((((x1) = 2 * (ge_balance_positive_flat_construct_flatsumresult) /\ (ge_balance_negative_flat_construct_flatsumresult) = 0) \/ exists ge_signed_half_flat_construct_flatsumresultdecode. (((x1) = 2 * ge_signed_half_flat_construct_flatsumresultdecode + 1 /\ (ge_balance_positive_flat_construct_flatsumresult) = 0) /\ (ge_balance_negative_flat_construct_flatsumresult) = S ge_signed_half_flat_construct_flatsumresultdecode))) /\ ((dst_positive_sum_flat_construct_flatsum) + ge_balance_negative_flat_construct_flatsumresult = (dst_negative_sum_flat_construct_flatsum) + ge_balance_positive_flat_construct_flatsumresult))))))))))
  35. 0035specialize signed_row_sums_flatten (m)
  36. 0036specialize signed_row_sums_flatten (F)
  37. 0037specialize signed_row_sums_flatten (x)
  38. 0038specialize signed_row_sums_flatten (n)
  39. 0039specialize signed_row_sums_flatten (x1)
  40. 0040apply signed_row_sums_flatten
  41. 0041exact hr_witness
  42. 0042exact hv_witness
  43. 0043have heq : x1=z
  44. 0044specialize signed_rectangular_slice_sum_functional (F)
  45. 0045specialize signed_rectangular_slice_sum_functional (0)
  46. 0046specialize signed_rectangular_slice_sum_functional (1)
  47. 0047specialize signed_rectangular_slice_sum_functional (m*n)
  48. 0048specialize signed_rectangular_slice_sum_functional (x1)
  49. 0049specialize signed_rectangular_slice_sum_functional (z)
  50. 0050apply signed_rectangular_slice_sum_functional
  51. 0051exact hflat
  52. 0052apply hi_right
  53. 0053exact hs
  54. 0054rewrite heq at hv_witness
  55. 0055rewrite heq at hv_witness
  56. 0056exists x
  57. 0057split
  58. 0058exact hr_witness
  59. 0059exact hv_witness
  60. 0060intro hr
  61. 0061cases hr
  62. 0062cases hr_witness
  63. 0063apply hi_left
  64. 0064specialize signed_row_sums_flatten (m)
  65. 0065specialize signed_row_sums_flatten (F)
  66. 0066specialize signed_row_sums_flatten (x)
  67. 0067specialize signed_row_sums_flatten (n)
  68. 0068specialize signed_row_sums_flatten (z)
  69. 0069apply signed_row_sums_flatten
  70. 0070exact hr_witness_left
  71. 0071exact hr_witness_right