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 q F o s p a b c. (exists srs_slice_concat_first. ((((exists dst_positive_code_concat_firstslicesource_table dst_positive_scale_concat_firstslicesource_table dst_negative_code_concat_firstslicesource_table dst_negative_scale_concat_firstslicesource_table. (((F) = (((((dst_positive_code_concat_firstslicesource_table) + (dst_positive_scale_concat_firstslicesource_table)) * S ((dst_positive_code_concat_firstslicesource_table) + (dst_positive_scale_concat_firstslicesource_table)) + ((dst_positive_scale_concat_firstslicesource_table) + (dst_positive_scale_concat_firstslicesource_table))) + (((dst_negative_code_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)) * S ((dst_negative_code_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)) + ((dst_negative_scale_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)))) * S ((((dst_positive_code_concat_firstslicesource_table) + (dst_positive_scale_concat_firstslicesource_table)) * S ((dst_positive_code_concat_firstslicesource_table) + (dst_positive_scale_concat_firstslicesource_table)) + ((dst_positive_scale_concat_firstslicesource_table) + (dst_positive_scale_concat_firstslicesource_table))) + (((dst_negative_code_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)) * S ((dst_negative_code_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)) + ((dst_negative_scale_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)))) + ((((dst_negative_code_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)) * S ((dst_negative_code_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)) + ((dst_negative_scale_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table))) + (((dst_negative_code_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)) * S ((dst_negative_code_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)) + ((dst_negative_scale_concat_firstslicesource_table) + (dst_negative_scale_concat_firstslicesource_table)))))) /\ (forall dst_index_concat_firstslicesource_table. (exists pvs_le_gap_concat_firstslicesource_tabledomain. pvs_le_gap_concat_firstslicesource_tabledomain + (dst_index_concat_firstslicesource_table) = (0)) -> exists dst_positive_concat_firstslicesource_table dst_negative_concat_firstslicesource_table dst_value_concat_firstslicesource_table. ((((exists ff_h_pvs_concat_firstslicesource_tableentrypositive. ff_h_pvs_concat_firstslicesource_tableentrypositive + S (dst_positive_concat_firstslicesource_table) = S ((S (dst_index_concat_firstslicesource_table)) * dst_positive_scale_concat_firstslicesource_table)) /\ exists ff_q_pvs_concat_firstslicesource_tableentrypositive. dst_positive_code_concat_firstslicesource_table = ff_q_pvs_concat_firstslicesource_tableentrypositive * S ((S (dst_index_concat_firstslicesource_table)) * dst_positive_scale_concat_firstslicesource_table) + (dst_positive_concat_firstslicesource_table))) /\ (((((exists ff_h_pvs_concat_firstslicesource_tableentrynegative. ff_h_pvs_concat_firstslicesource_tableentrynegative + S (dst_negative_concat_firstslicesource_table) = S ((S (dst_index_concat_firstslicesource_table)) * dst_negative_scale_concat_firstslicesource_table)) /\ exists ff_q_pvs_concat_firstslicesource_tableentrynegative. dst_negative_code_concat_firstslicesource_table = ff_q_pvs_concat_firstslicesource_tableentrynegative * S ((S (dst_index_concat_firstslicesource_table)) * dst_negative_scale_concat_firstslicesource_table) + (dst_negative_concat_firstslicesource_table))) /\ (exists ge_balance_positive_concat_firstslicesource_tableentryvalue ge_balance_negative_concat_firstslicesource_tableentryvalue. (((((dst_value_concat_firstslicesource_table) = 2 * (ge_balance_positive_concat_firstslicesource_tableentryvalue) /\ (ge_balance_negative_concat_firstslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_concat_firstslicesource_tableentryvaluedecode. (((dst_value_concat_firstslicesource_table) = 2 * ge_signed_half_concat_firstslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_firstslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_concat_firstslicesource_tableentryvalue) = S ge_signed_half_concat_firstslicesource_tableentryvaluedecode))) /\ ((dst_positive_concat_firstslicesource_table) + ge_balance_negative_concat_firstslicesource_tableentryvalue = (dst_negative_concat_firstslicesource_table) + ge_balance_positive_concat_firstslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_concat_firstsliceoutput_table dst_positive_scale_concat_firstsliceoutput_table dst_negative_code_concat_firstsliceoutput_table dst_negative_scale_concat_firstsliceoutput_table. (((srs_slice_concat_first) = (((((dst_positive_code_concat_firstsliceoutput_table) + (dst_positive_scale_concat_firstsliceoutput_table)) * S ((dst_positive_code_concat_firstsliceoutput_table) + (dst_positive_scale_concat_firstsliceoutput_table)) + ((dst_positive_scale_concat_firstsliceoutput_table) + (dst_positive_scale_concat_firstsliceoutput_table))) + (((dst_negative_code_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)) * S ((dst_negative_code_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)) + ((dst_negative_scale_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)))) * S ((((dst_positive_code_concat_firstsliceoutput_table) + (dst_positive_scale_concat_firstsliceoutput_table)) * S ((dst_positive_code_concat_firstsliceoutput_table) + (dst_positive_scale_concat_firstsliceoutput_table)) + ((dst_positive_scale_concat_firstsliceoutput_table) + (dst_positive_scale_concat_firstsliceoutput_table))) + (((dst_negative_code_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)) * S ((dst_negative_code_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)) + ((dst_negative_scale_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)))) + ((((dst_negative_code_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)) * S ((dst_negative_code_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)) + ((dst_negative_scale_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table))) + (((dst_negative_code_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)) * S ((dst_negative_code_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)) + ((dst_negative_scale_concat_firstsliceoutput_table) + (dst_negative_scale_concat_firstsliceoutput_table)))))) /\ (forall dst_index_concat_firstsliceoutput_table. (exists pvs_le_gap_concat_firstsliceoutput_tabledomain. pvs_le_gap_concat_firstsliceoutput_tabledomain + (dst_index_concat_firstsliceoutput_table) = (p)) -> exists dst_positive_concat_firstsliceoutput_table dst_negative_concat_firstsliceoutput_table dst_value_concat_firstsliceoutput_table. ((((exists ff_h_pvs_concat_firstsliceoutput_tableentrypositive. ff_h_pvs_concat_firstsliceoutput_tableentrypositive + S (dst_positive_concat_firstsliceoutput_table) = S ((S (dst_index_concat_firstsliceoutput_table)) * dst_positive_scale_concat_firstsliceoutput_table)) /\ exists ff_q_pvs_concat_firstsliceoutput_tableentrypositive. dst_positive_code_concat_firstsliceoutput_table = ff_q_pvs_concat_firstsliceoutput_tableentrypositive * S ((S (dst_index_concat_firstsliceoutput_table)) * dst_positive_scale_concat_firstsliceoutput_table) + (dst_positive_concat_firstsliceoutput_table))) /\ (((((exists ff_h_pvs_concat_firstsliceoutput_tableentrynegative. ff_h_pvs_concat_firstsliceoutput_tableentrynegative + S (dst_negative_concat_firstsliceoutput_table) = S ((S (dst_index_concat_firstsliceoutput_table)) * dst_negative_scale_concat_firstsliceoutput_table)) /\ exists ff_q_pvs_concat_firstsliceoutput_tableentrynegative. dst_negative_code_concat_firstsliceoutput_table = ff_q_pvs_concat_firstsliceoutput_tableentrynegative * S ((S (dst_index_concat_firstsliceoutput_table)) * dst_negative_scale_concat_firstsliceoutput_table) + (dst_negative_concat_firstsliceoutput_table))) /\ (exists ge_balance_positive_concat_firstsliceoutput_tableentryvalue ge_balance_negative_concat_firstsliceoutput_tableentryvalue. (((((dst_value_concat_firstsliceoutput_table) = 2 * (ge_balance_positive_concat_firstsliceoutput_tableentryvalue) /\ (ge_balance_negative_concat_firstsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_concat_firstsliceoutput_tableentryvaluedecode. (((dst_value_concat_firstsliceoutput_table) = 2 * ge_signed_half_concat_firstsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_firstsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_concat_firstsliceoutput_tableentryvalue) = S ge_signed_half_concat_firstsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_concat_firstsliceoutput_table) + ge_balance_negative_concat_firstsliceoutput_tableentryvalue = (dst_negative_concat_firstsliceoutput_table) + ge_balance_positive_concat_firstsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_concat_firstslice. (exists pvs_gap_concat_firstslicebound. pvs_gap_concat_firstslicebound + S (srs_index_concat_firstslice) = (p)) -> exists srs_value_concat_firstslice. (((exists dst_positive_code_concat_firstsliceentrysource dst_positive_scale_concat_firstsliceentrysource dst_negative_code_concat_firstsliceentrysource dst_negative_scale_concat_firstsliceentrysource dst_positive_concat_firstsliceentrysource dst_negative_concat_firstsliceentrysource. (((F) = (((((dst_positive_code_concat_firstsliceentrysource) + (dst_positive_scale_concat_firstsliceentrysource)) * S ((dst_positive_code_concat_firstsliceentrysource) + (dst_positive_scale_concat_firstsliceentrysource)) + ((dst_positive_scale_concat_firstsliceentrysource) + (dst_positive_scale_concat_firstsliceentrysource))) + (((dst_negative_code_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)) * S ((dst_negative_code_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)) + ((dst_negative_scale_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)))) * S ((((dst_positive_code_concat_firstsliceentrysource) + (dst_positive_scale_concat_firstsliceentrysource)) * S ((dst_positive_code_concat_firstsliceentrysource) + (dst_positive_scale_concat_firstsliceentrysource)) + ((dst_positive_scale_concat_firstsliceentrysource) + (dst_positive_scale_concat_firstsliceentrysource))) + (((dst_negative_code_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)) * S ((dst_negative_code_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)) + ((dst_negative_scale_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)))) + ((((dst_negative_code_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)) * S ((dst_negative_code_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)) + ((dst_negative_scale_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource))) + (((dst_negative_code_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)) * S ((dst_negative_code_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)) + ((dst_negative_scale_concat_firstsliceentrysource) + (dst_negative_scale_concat_firstsliceentrysource)))))) /\ (((((exists ff_h_pvs_concat_firstsliceentrysourcepositive. ff_h_pvs_concat_firstsliceentrysourcepositive + S (dst_positive_concat_firstsliceentrysource) = S ((S (((o) + ((s) * (srs_index_concat_firstslice))))) * dst_positive_scale_concat_firstsliceentrysource)) /\ exists ff_q_pvs_concat_firstsliceentrysourcepositive. dst_positive_code_concat_firstsliceentrysource = ff_q_pvs_concat_firstsliceentrysourcepositive * S ((S (((o) + ((s) * (srs_index_concat_firstslice))))) * dst_positive_scale_concat_firstsliceentrysource) + (dst_positive_concat_firstsliceentrysource))) /\ (((((exists ff_h_pvs_concat_firstsliceentrysourcenegative. ff_h_pvs_concat_firstsliceentrysourcenegative + S (dst_negative_concat_firstsliceentrysource) = S ((S (((o) + ((s) * (srs_index_concat_firstslice))))) * dst_negative_scale_concat_firstsliceentrysource)) /\ exists ff_q_pvs_concat_firstsliceentrysourcenegative. dst_negative_code_concat_firstsliceentrysource = ff_q_pvs_concat_firstsliceentrysourcenegative * S ((S (((o) + ((s) * (srs_index_concat_firstslice))))) * dst_negative_scale_concat_firstsliceentrysource) + (dst_negative_concat_firstsliceentrysource))) /\ (exists ge_balance_positive_concat_firstsliceentrysourcevalue ge_balance_negative_concat_firstsliceentrysourcevalue. (((((srs_value_concat_firstslice) = 2 * (ge_balance_positive_concat_firstsliceentrysourcevalue) /\ (ge_balance_negative_concat_firstsliceentrysourcevalue) = 0) \/ exists ge_signed_half_concat_firstsliceentrysourcevaluedecode. (((srs_value_concat_firstslice) = 2 * ge_signed_half_concat_firstsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_concat_firstsliceentrysourcevalue) = 0) /\ (ge_balance_negative_concat_firstsliceentrysourcevalue) = S ge_signed_half_concat_firstsliceentrysourcevaluedecode))) /\ ((dst_positive_concat_firstsliceentrysource) + ge_balance_negative_concat_firstsliceentrysourcevalue = (dst_negative_concat_firstsliceentrysource) + ge_balance_positive_concat_firstsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_concat_firstsliceentryoutput dst_positive_scale_concat_firstsliceentryoutput dst_negative_code_concat_firstsliceentryoutput dst_negative_scale_concat_firstsliceentryoutput dst_positive_concat_firstsliceentryoutput dst_negative_concat_firstsliceentryoutput. (((srs_slice_concat_first) = (((((dst_positive_code_concat_firstsliceentryoutput) + (dst_positive_scale_concat_firstsliceentryoutput)) * S ((dst_positive_code_concat_firstsliceentryoutput) + (dst_positive_scale_concat_firstsliceentryoutput)) + ((dst_positive_scale_concat_firstsliceentryoutput) + (dst_positive_scale_concat_firstsliceentryoutput))) + (((dst_negative_code_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)) * S ((dst_negative_code_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)) + ((dst_negative_scale_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)))) * S ((((dst_positive_code_concat_firstsliceentryoutput) + (dst_positive_scale_concat_firstsliceentryoutput)) * S ((dst_positive_code_concat_firstsliceentryoutput) + (dst_positive_scale_concat_firstsliceentryoutput)) + ((dst_positive_scale_concat_firstsliceentryoutput) + (dst_positive_scale_concat_firstsliceentryoutput))) + (((dst_negative_code_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)) * S ((dst_negative_code_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)) + ((dst_negative_scale_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)))) + ((((dst_negative_code_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)) * S ((dst_negative_code_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)) + ((dst_negative_scale_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput))) + (((dst_negative_code_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)) * S ((dst_negative_code_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)) + ((dst_negative_scale_concat_firstsliceentryoutput) + (dst_negative_scale_concat_firstsliceentryoutput)))))) /\ (((((exists ff_h_pvs_concat_firstsliceentryoutputpositive. ff_h_pvs_concat_firstsliceentryoutputpositive + S (dst_positive_concat_firstsliceentryoutput) = S ((S (srs_index_concat_firstslice)) * dst_positive_scale_concat_firstsliceentryoutput)) /\ exists ff_q_pvs_concat_firstsliceentryoutputpositive. dst_positive_code_concat_firstsliceentryoutput = ff_q_pvs_concat_firstsliceentryoutputpositive * S ((S (srs_index_concat_firstslice)) * dst_positive_scale_concat_firstsliceentryoutput) + (dst_positive_concat_firstsliceentryoutput))) /\ (((((exists ff_h_pvs_concat_firstsliceentryoutputnegative. ff_h_pvs_concat_firstsliceentryoutputnegative + S (dst_negative_concat_firstsliceentryoutput) = S ((S (srs_index_concat_firstslice)) * dst_negative_scale_concat_firstsliceentryoutput)) /\ exists ff_q_pvs_concat_firstsliceentryoutputnegative. dst_negative_code_concat_firstsliceentryoutput = ff_q_pvs_concat_firstsliceentryoutputnegative * S ((S (srs_index_concat_firstslice)) * dst_negative_scale_concat_firstsliceentryoutput) + (dst_negative_concat_firstsliceentryoutput))) /\ (exists ge_balance_positive_concat_firstsliceentryoutputvalue ge_balance_negative_concat_firstsliceentryoutputvalue. (((((srs_value_concat_firstslice) = 2 * (ge_balance_positive_concat_firstsliceentryoutputvalue) /\ (ge_balance_negative_concat_firstsliceentryoutputvalue) = 0) \/ exists ge_signed_half_concat_firstsliceentryoutputvaluedecode. (((srs_value_concat_firstslice) = 2 * ge_signed_half_concat_firstsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_concat_firstsliceentryoutputvalue) = 0) /\ (ge_balance_negative_concat_firstsliceentryoutputvalue) = S ge_signed_half_concat_firstsliceentryoutputvaluedecode))) /\ ((dst_positive_concat_firstsliceentryoutput) + ge_balance_negative_concat_firstsliceentryoutputvalue = (dst_negative_concat_firstsliceentryoutput) + ge_balance_positive_concat_firstsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_concat_firstsum dst_positive_scale_concat_firstsum dst_negative_code_concat_firstsum dst_negative_scale_concat_firstsum dst_positive_sum_concat_firstsum dst_negative_sum_concat_firstsum. (((srs_slice_concat_first) = (((((dst_positive_code_concat_firstsum) + (dst_positive_scale_concat_firstsum)) * S ((dst_positive_code_concat_firstsum) + (dst_positive_scale_concat_firstsum)) + ((dst_positive_scale_concat_firstsum) + (dst_positive_scale_concat_firstsum))) + (((dst_negative_code_concat_firstsum) + (dst_negative_scale_concat_firstsum)) * S ((dst_negative_code_concat_firstsum) + (dst_negative_scale_concat_firstsum)) + ((dst_negative_scale_concat_firstsum) + (dst_negative_scale_concat_firstsum)))) * S ((((dst_positive_code_concat_firstsum) + (dst_positive_scale_concat_firstsum)) * S ((dst_positive_code_concat_firstsum) + (dst_positive_scale_concat_firstsum)) + ((dst_positive_scale_concat_firstsum) + (dst_positive_scale_concat_firstsum))) + (((dst_negative_code_concat_firstsum) + (dst_negative_scale_concat_firstsum)) * S ((dst_negative_code_concat_firstsum) + (dst_negative_scale_concat_firstsum)) + ((dst_negative_scale_concat_firstsum) + (dst_negative_scale_concat_firstsum)))) + ((((dst_negative_code_concat_firstsum) + (dst_negative_scale_concat_firstsum)) * S ((dst_negative_code_concat_firstsum) + (dst_negative_scale_concat_firstsum)) + ((dst_negative_scale_concat_firstsum) + (dst_negative_scale_concat_firstsum))) + (((dst_negative_code_concat_firstsum) + (dst_negative_scale_concat_firstsum)) * S ((dst_negative_code_concat_firstsum) + (dst_negative_scale_concat_firstsum)) + ((dst_negative_scale_concat_firstsum) + (dst_negative_scale_concat_firstsum)))))) /\ (((exists fs_u_dst_concat_firstsumpositive fs_v_dst_concat_firstsumpositive. ((((exists fs_h_dst_concat_firstsumpositive_body_start. fs_h_dst_concat_firstsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_firstsumpositive)) /\ exists fs_q_dst_concat_firstsumpositive_body_start. fs_u_dst_concat_firstsumpositive = fs_q_dst_concat_firstsumpositive_body_start * S ((S (0)) * fs_v_dst_concat_firstsumpositive) + (0))) /\ ((((exists fs_h_dst_concat_firstsumpositive_body_terminal. fs_h_dst_concat_firstsumpositive_body_terminal + S (dst_positive_sum_concat_firstsum) = S ((S (p)) * fs_v_dst_concat_firstsumpositive)) /\ exists fs_q_dst_concat_firstsumpositive_body_terminal. fs_u_dst_concat_firstsumpositive = fs_q_dst_concat_firstsumpositive_body_terminal * S ((S (p)) * fs_v_dst_concat_firstsumpositive) + (dst_positive_sum_concat_firstsum))) /\ forall fs_i_dst_concat_firstsumpositive_body_steps. (exists fs_lt_dst_concat_firstsumpositive_body_steps_bound. fs_lt_dst_concat_firstsumpositive_body_steps_bound + S fs_i_dst_concat_firstsumpositive_body_steps = p) -> exists fs_a_dst_concat_firstsumpositive_body_steps fs_r_dst_concat_firstsumpositive_body_steps fs_s_dst_concat_firstsumpositive_body_steps. ((((exists fs_h_dst_concat_firstsumpositive_body_steps_summand. fs_h_dst_concat_firstsumpositive_body_steps_summand + S (fs_a_dst_concat_firstsumpositive_body_steps) = S ((S (fs_i_dst_concat_firstsumpositive_body_steps)) * dst_positive_scale_concat_firstsum)) /\ exists fs_q_dst_concat_firstsumpositive_body_steps_summand. dst_positive_code_concat_firstsum = fs_q_dst_concat_firstsumpositive_body_steps_summand * S ((S (fs_i_dst_concat_firstsumpositive_body_steps)) * dst_positive_scale_concat_firstsum) + (fs_a_dst_concat_firstsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_firstsumpositive_body_steps_partial. fs_h_dst_concat_firstsumpositive_body_steps_partial + S (fs_r_dst_concat_firstsumpositive_body_steps) = S ((S (fs_i_dst_concat_firstsumpositive_body_steps)) * fs_v_dst_concat_firstsumpositive)) /\ exists fs_q_dst_concat_firstsumpositive_body_steps_partial. fs_u_dst_concat_firstsumpositive = fs_q_dst_concat_firstsumpositive_body_steps_partial * S ((S (fs_i_dst_concat_firstsumpositive_body_steps)) * fs_v_dst_concat_firstsumpositive) + (fs_r_dst_concat_firstsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_firstsumpositive_body_steps_successor. fs_h_dst_concat_firstsumpositive_body_steps_successor + S (fs_s_dst_concat_firstsumpositive_body_steps) = S ((S (S fs_i_dst_concat_firstsumpositive_body_steps)) * fs_v_dst_concat_firstsumpositive)) /\ exists fs_q_dst_concat_firstsumpositive_body_steps_successor. fs_u_dst_concat_firstsumpositive = fs_q_dst_concat_firstsumpositive_body_steps_successor * S ((S (S fs_i_dst_concat_firstsumpositive_body_steps)) * fs_v_dst_concat_firstsumpositive) + (fs_s_dst_concat_firstsumpositive_body_steps))) /\ fs_s_dst_concat_firstsumpositive_body_steps = fs_r_dst_concat_firstsumpositive_body_steps + fs_a_dst_concat_firstsumpositive_body_steps)))))) /\ (((exists fs_u_dst_concat_firstsumnegative fs_v_dst_concat_firstsumnegative. ((((exists fs_h_dst_concat_firstsumnegative_body_start. fs_h_dst_concat_firstsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_firstsumnegative)) /\ exists fs_q_dst_concat_firstsumnegative_body_start. fs_u_dst_concat_firstsumnegative = fs_q_dst_concat_firstsumnegative_body_start * S ((S (0)) * fs_v_dst_concat_firstsumnegative) + (0))) /\ ((((exists fs_h_dst_concat_firstsumnegative_body_terminal. fs_h_dst_concat_firstsumnegative_body_terminal + S (dst_negative_sum_concat_firstsum) = S ((S (p)) * fs_v_dst_concat_firstsumnegative)) /\ exists fs_q_dst_concat_firstsumnegative_body_terminal. fs_u_dst_concat_firstsumnegative = fs_q_dst_concat_firstsumnegative_body_terminal * S ((S (p)) * fs_v_dst_concat_firstsumnegative) + (dst_negative_sum_concat_firstsum))) /\ forall fs_i_dst_concat_firstsumnegative_body_steps. (exists fs_lt_dst_concat_firstsumnegative_body_steps_bound. fs_lt_dst_concat_firstsumnegative_body_steps_bound + S fs_i_dst_concat_firstsumnegative_body_steps = p) -> exists fs_a_dst_concat_firstsumnegative_body_steps fs_r_dst_concat_firstsumnegative_body_steps fs_s_dst_concat_firstsumnegative_body_steps. ((((exists fs_h_dst_concat_firstsumnegative_body_steps_summand. fs_h_dst_concat_firstsumnegative_body_steps_summand + S (fs_a_dst_concat_firstsumnegative_body_steps) = S ((S (fs_i_dst_concat_firstsumnegative_body_steps)) * dst_negative_scale_concat_firstsum)) /\ exists fs_q_dst_concat_firstsumnegative_body_steps_summand. dst_negative_code_concat_firstsum = fs_q_dst_concat_firstsumnegative_body_steps_summand * S ((S (fs_i_dst_concat_firstsumnegative_body_steps)) * dst_negative_scale_concat_firstsum) + (fs_a_dst_concat_firstsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_firstsumnegative_body_steps_partial. fs_h_dst_concat_firstsumnegative_body_steps_partial + S (fs_r_dst_concat_firstsumnegative_body_steps) = S ((S (fs_i_dst_concat_firstsumnegative_body_steps)) * fs_v_dst_concat_firstsumnegative)) /\ exists fs_q_dst_concat_firstsumnegative_body_steps_partial. fs_u_dst_concat_firstsumnegative = fs_q_dst_concat_firstsumnegative_body_steps_partial * S ((S (fs_i_dst_concat_firstsumnegative_body_steps)) * fs_v_dst_concat_firstsumnegative) + (fs_r_dst_concat_firstsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_firstsumnegative_body_steps_successor. fs_h_dst_concat_firstsumnegative_body_steps_successor + S (fs_s_dst_concat_firstsumnegative_body_steps) = S ((S (S fs_i_dst_concat_firstsumnegative_body_steps)) * fs_v_dst_concat_firstsumnegative)) /\ exists fs_q_dst_concat_firstsumnegative_body_steps_successor. fs_u_dst_concat_firstsumnegative = fs_q_dst_concat_firstsumnegative_body_steps_successor * S ((S (S fs_i_dst_concat_firstsumnegative_body_steps)) * fs_v_dst_concat_firstsumnegative) + (fs_s_dst_concat_firstsumnegative_body_steps))) /\ fs_s_dst_concat_firstsumnegative_body_steps = fs_r_dst_concat_firstsumnegative_body_steps + fs_a_dst_concat_firstsumnegative_body_steps)))))) /\ (exists ge_balance_positive_concat_firstsumresult ge_balance_negative_concat_firstsumresult. (((((a) = 2 * (ge_balance_positive_concat_firstsumresult) /\ (ge_balance_negative_concat_firstsumresult) = 0) \/ exists ge_signed_half_concat_firstsumresultdecode. (((a) = 2 * ge_signed_half_concat_firstsumresultdecode + 1 /\ (ge_balance_positive_concat_firstsumresult) = 0) /\ (ge_balance_negative_concat_firstsumresult) = S ge_signed_half_concat_firstsumresultdecode))) /\ ((dst_positive_sum_concat_firstsum) + ge_balance_negative_concat_firstsumresult = (dst_negative_sum_concat_firstsum) + ge_balance_positive_concat_firstsumresult))))))))))) -> (exists srs_slice_concat_second. ((((exists dst_positive_code_concat_secondslicesource_table dst_positive_scale_concat_secondslicesource_table dst_negative_code_concat_secondslicesource_table dst_negative_scale_concat_secondslicesource_table. (((F) = (((((dst_positive_code_concat_secondslicesource_table) + (dst_positive_scale_concat_secondslicesource_table)) * S ((dst_positive_code_concat_secondslicesource_table) + (dst_positive_scale_concat_secondslicesource_table)) + ((dst_positive_scale_concat_secondslicesource_table) + (dst_positive_scale_concat_secondslicesource_table))) + (((dst_negative_code_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)) * S ((dst_negative_code_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)) + ((dst_negative_scale_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)))) * S ((((dst_positive_code_concat_secondslicesource_table) + (dst_positive_scale_concat_secondslicesource_table)) * S ((dst_positive_code_concat_secondslicesource_table) + (dst_positive_scale_concat_secondslicesource_table)) + ((dst_positive_scale_concat_secondslicesource_table) + (dst_positive_scale_concat_secondslicesource_table))) + (((dst_negative_code_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)) * S ((dst_negative_code_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)) + ((dst_negative_scale_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)))) + ((((dst_negative_code_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)) * S ((dst_negative_code_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)) + ((dst_negative_scale_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table))) + (((dst_negative_code_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)) * S ((dst_negative_code_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)) + ((dst_negative_scale_concat_secondslicesource_table) + (dst_negative_scale_concat_secondslicesource_table)))))) /\ (forall dst_index_concat_secondslicesource_table. (exists pvs_le_gap_concat_secondslicesource_tabledomain. pvs_le_gap_concat_secondslicesource_tabledomain + (dst_index_concat_secondslicesource_table) = (0)) -> exists dst_positive_concat_secondslicesource_table dst_negative_concat_secondslicesource_table dst_value_concat_secondslicesource_table. ((((exists ff_h_pvs_concat_secondslicesource_tableentrypositive. ff_h_pvs_concat_secondslicesource_tableentrypositive + S (dst_positive_concat_secondslicesource_table) = S ((S (dst_index_concat_secondslicesource_table)) * dst_positive_scale_concat_secondslicesource_table)) /\ exists ff_q_pvs_concat_secondslicesource_tableentrypositive. dst_positive_code_concat_secondslicesource_table = ff_q_pvs_concat_secondslicesource_tableentrypositive * S ((S (dst_index_concat_secondslicesource_table)) * dst_positive_scale_concat_secondslicesource_table) + (dst_positive_concat_secondslicesource_table))) /\ (((((exists ff_h_pvs_concat_secondslicesource_tableentrynegative. ff_h_pvs_concat_secondslicesource_tableentrynegative + S (dst_negative_concat_secondslicesource_table) = S ((S (dst_index_concat_secondslicesource_table)) * dst_negative_scale_concat_secondslicesource_table)) /\ exists ff_q_pvs_concat_secondslicesource_tableentrynegative. dst_negative_code_concat_secondslicesource_table = ff_q_pvs_concat_secondslicesource_tableentrynegative * S ((S (dst_index_concat_secondslicesource_table)) * dst_negative_scale_concat_secondslicesource_table) + (dst_negative_concat_secondslicesource_table))) /\ (exists ge_balance_positive_concat_secondslicesource_tableentryvalue ge_balance_negative_concat_secondslicesource_tableentryvalue. (((((dst_value_concat_secondslicesource_table) = 2 * (ge_balance_positive_concat_secondslicesource_tableentryvalue) /\ (ge_balance_negative_concat_secondslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_concat_secondslicesource_tableentryvaluedecode. (((dst_value_concat_secondslicesource_table) = 2 * ge_signed_half_concat_secondslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_secondslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_concat_secondslicesource_tableentryvalue) = S ge_signed_half_concat_secondslicesource_tableentryvaluedecode))) /\ ((dst_positive_concat_secondslicesource_table) + ge_balance_negative_concat_secondslicesource_tableentryvalue = (dst_negative_concat_secondslicesource_table) + ge_balance_positive_concat_secondslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_concat_secondsliceoutput_table dst_positive_scale_concat_secondsliceoutput_table dst_negative_code_concat_secondsliceoutput_table dst_negative_scale_concat_secondsliceoutput_table. (((srs_slice_concat_second) = (((((dst_positive_code_concat_secondsliceoutput_table) + (dst_positive_scale_concat_secondsliceoutput_table)) * S ((dst_positive_code_concat_secondsliceoutput_table) + (dst_positive_scale_concat_secondsliceoutput_table)) + ((dst_positive_scale_concat_secondsliceoutput_table) + (dst_positive_scale_concat_secondsliceoutput_table))) + (((dst_negative_code_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)) * S ((dst_negative_code_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)) + ((dst_negative_scale_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)))) * S ((((dst_positive_code_concat_secondsliceoutput_table) + (dst_positive_scale_concat_secondsliceoutput_table)) * S ((dst_positive_code_concat_secondsliceoutput_table) + (dst_positive_scale_concat_secondsliceoutput_table)) + ((dst_positive_scale_concat_secondsliceoutput_table) + (dst_positive_scale_concat_secondsliceoutput_table))) + (((dst_negative_code_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)) * S ((dst_negative_code_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)) + ((dst_negative_scale_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)))) + ((((dst_negative_code_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)) * S ((dst_negative_code_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)) + ((dst_negative_scale_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table))) + (((dst_negative_code_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)) * S ((dst_negative_code_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)) + ((dst_negative_scale_concat_secondsliceoutput_table) + (dst_negative_scale_concat_secondsliceoutput_table)))))) /\ (forall dst_index_concat_secondsliceoutput_table. (exists pvs_le_gap_concat_secondsliceoutput_tabledomain. pvs_le_gap_concat_secondsliceoutput_tabledomain + (dst_index_concat_secondsliceoutput_table) = (q)) -> exists dst_positive_concat_secondsliceoutput_table dst_negative_concat_secondsliceoutput_table dst_value_concat_secondsliceoutput_table. ((((exists ff_h_pvs_concat_secondsliceoutput_tableentrypositive. ff_h_pvs_concat_secondsliceoutput_tableentrypositive + S (dst_positive_concat_secondsliceoutput_table) = S ((S (dst_index_concat_secondsliceoutput_table)) * dst_positive_scale_concat_secondsliceoutput_table)) /\ exists ff_q_pvs_concat_secondsliceoutput_tableentrypositive. dst_positive_code_concat_secondsliceoutput_table = ff_q_pvs_concat_secondsliceoutput_tableentrypositive * S ((S (dst_index_concat_secondsliceoutput_table)) * dst_positive_scale_concat_secondsliceoutput_table) + (dst_positive_concat_secondsliceoutput_table))) /\ (((((exists ff_h_pvs_concat_secondsliceoutput_tableentrynegative. ff_h_pvs_concat_secondsliceoutput_tableentrynegative + S (dst_negative_concat_secondsliceoutput_table) = S ((S (dst_index_concat_secondsliceoutput_table)) * dst_negative_scale_concat_secondsliceoutput_table)) /\ exists ff_q_pvs_concat_secondsliceoutput_tableentrynegative. dst_negative_code_concat_secondsliceoutput_table = ff_q_pvs_concat_secondsliceoutput_tableentrynegative * S ((S (dst_index_concat_secondsliceoutput_table)) * dst_negative_scale_concat_secondsliceoutput_table) + (dst_negative_concat_secondsliceoutput_table))) /\ (exists ge_balance_positive_concat_secondsliceoutput_tableentryvalue ge_balance_negative_concat_secondsliceoutput_tableentryvalue. (((((dst_value_concat_secondsliceoutput_table) = 2 * (ge_balance_positive_concat_secondsliceoutput_tableentryvalue) /\ (ge_balance_negative_concat_secondsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_concat_secondsliceoutput_tableentryvaluedecode. (((dst_value_concat_secondsliceoutput_table) = 2 * ge_signed_half_concat_secondsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_secondsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_concat_secondsliceoutput_tableentryvalue) = S ge_signed_half_concat_secondsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_concat_secondsliceoutput_table) + ge_balance_negative_concat_secondsliceoutput_tableentryvalue = (dst_negative_concat_secondsliceoutput_table) + ge_balance_positive_concat_secondsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_concat_secondslice. (exists pvs_gap_concat_secondslicebound. pvs_gap_concat_secondslicebound + S (srs_index_concat_secondslice) = (q)) -> exists srs_value_concat_secondslice. (((exists dst_positive_code_concat_secondsliceentrysource dst_positive_scale_concat_secondsliceentrysource dst_negative_code_concat_secondsliceentrysource dst_negative_scale_concat_secondsliceentrysource dst_positive_concat_secondsliceentrysource dst_negative_concat_secondsliceentrysource. (((F) = (((((dst_positive_code_concat_secondsliceentrysource) + (dst_positive_scale_concat_secondsliceentrysource)) * S ((dst_positive_code_concat_secondsliceentrysource) + (dst_positive_scale_concat_secondsliceentrysource)) + ((dst_positive_scale_concat_secondsliceentrysource) + (dst_positive_scale_concat_secondsliceentrysource))) + (((dst_negative_code_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)) * S ((dst_negative_code_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)) + ((dst_negative_scale_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)))) * S ((((dst_positive_code_concat_secondsliceentrysource) + (dst_positive_scale_concat_secondsliceentrysource)) * S ((dst_positive_code_concat_secondsliceentrysource) + (dst_positive_scale_concat_secondsliceentrysource)) + ((dst_positive_scale_concat_secondsliceentrysource) + (dst_positive_scale_concat_secondsliceentrysource))) + (((dst_negative_code_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)) * S ((dst_negative_code_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)) + ((dst_negative_scale_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)))) + ((((dst_negative_code_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)) * S ((dst_negative_code_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)) + ((dst_negative_scale_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource))) + (((dst_negative_code_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)) * S ((dst_negative_code_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)) + ((dst_negative_scale_concat_secondsliceentrysource) + (dst_negative_scale_concat_secondsliceentrysource)))))) /\ (((((exists ff_h_pvs_concat_secondsliceentrysourcepositive. ff_h_pvs_concat_secondsliceentrysourcepositive + S (dst_positive_concat_secondsliceentrysource) = S ((S (((((o) + ((s) * (p)))) + ((s) * (srs_index_concat_secondslice))))) * dst_positive_scale_concat_secondsliceentrysource)) /\ exists ff_q_pvs_concat_secondsliceentrysourcepositive. dst_positive_code_concat_secondsliceentrysource = ff_q_pvs_concat_secondsliceentrysourcepositive * S ((S (((((o) + ((s) * (p)))) + ((s) * (srs_index_concat_secondslice))))) * dst_positive_scale_concat_secondsliceentrysource) + (dst_positive_concat_secondsliceentrysource))) /\ (((((exists ff_h_pvs_concat_secondsliceentrysourcenegative. ff_h_pvs_concat_secondsliceentrysourcenegative + S (dst_negative_concat_secondsliceentrysource) = S ((S (((((o) + ((s) * (p)))) + ((s) * (srs_index_concat_secondslice))))) * dst_negative_scale_concat_secondsliceentrysource)) /\ exists ff_q_pvs_concat_secondsliceentrysourcenegative. dst_negative_code_concat_secondsliceentrysource = ff_q_pvs_concat_secondsliceentrysourcenegative * S ((S (((((o) + ((s) * (p)))) + ((s) * (srs_index_concat_secondslice))))) * dst_negative_scale_concat_secondsliceentrysource) + (dst_negative_concat_secondsliceentrysource))) /\ (exists ge_balance_positive_concat_secondsliceentrysourcevalue ge_balance_negative_concat_secondsliceentrysourcevalue. (((((srs_value_concat_secondslice) = 2 * (ge_balance_positive_concat_secondsliceentrysourcevalue) /\ (ge_balance_negative_concat_secondsliceentrysourcevalue) = 0) \/ exists ge_signed_half_concat_secondsliceentrysourcevaluedecode. (((srs_value_concat_secondslice) = 2 * ge_signed_half_concat_secondsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_concat_secondsliceentrysourcevalue) = 0) /\ (ge_balance_negative_concat_secondsliceentrysourcevalue) = S ge_signed_half_concat_secondsliceentrysourcevaluedecode))) /\ ((dst_positive_concat_secondsliceentrysource) + ge_balance_negative_concat_secondsliceentrysourcevalue = (dst_negative_concat_secondsliceentrysource) + ge_balance_positive_concat_secondsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_concat_secondsliceentryoutput dst_positive_scale_concat_secondsliceentryoutput dst_negative_code_concat_secondsliceentryoutput dst_negative_scale_concat_secondsliceentryoutput dst_positive_concat_secondsliceentryoutput dst_negative_concat_secondsliceentryoutput. (((srs_slice_concat_second) = (((((dst_positive_code_concat_secondsliceentryoutput) + (dst_positive_scale_concat_secondsliceentryoutput)) * S ((dst_positive_code_concat_secondsliceentryoutput) + (dst_positive_scale_concat_secondsliceentryoutput)) + ((dst_positive_scale_concat_secondsliceentryoutput) + (dst_positive_scale_concat_secondsliceentryoutput))) + (((dst_negative_code_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)) * S ((dst_negative_code_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)) + ((dst_negative_scale_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)))) * S ((((dst_positive_code_concat_secondsliceentryoutput) + (dst_positive_scale_concat_secondsliceentryoutput)) * S ((dst_positive_code_concat_secondsliceentryoutput) + (dst_positive_scale_concat_secondsliceentryoutput)) + ((dst_positive_scale_concat_secondsliceentryoutput) + (dst_positive_scale_concat_secondsliceentryoutput))) + (((dst_negative_code_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)) * S ((dst_negative_code_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)) + ((dst_negative_scale_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)))) + ((((dst_negative_code_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)) * S ((dst_negative_code_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)) + ((dst_negative_scale_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput))) + (((dst_negative_code_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)) * S ((dst_negative_code_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)) + ((dst_negative_scale_concat_secondsliceentryoutput) + (dst_negative_scale_concat_secondsliceentryoutput)))))) /\ (((((exists ff_h_pvs_concat_secondsliceentryoutputpositive. ff_h_pvs_concat_secondsliceentryoutputpositive + S (dst_positive_concat_secondsliceentryoutput) = S ((S (srs_index_concat_secondslice)) * dst_positive_scale_concat_secondsliceentryoutput)) /\ exists ff_q_pvs_concat_secondsliceentryoutputpositive. dst_positive_code_concat_secondsliceentryoutput = ff_q_pvs_concat_secondsliceentryoutputpositive * S ((S (srs_index_concat_secondslice)) * dst_positive_scale_concat_secondsliceentryoutput) + (dst_positive_concat_secondsliceentryoutput))) /\ (((((exists ff_h_pvs_concat_secondsliceentryoutputnegative. ff_h_pvs_concat_secondsliceentryoutputnegative + S (dst_negative_concat_secondsliceentryoutput) = S ((S (srs_index_concat_secondslice)) * dst_negative_scale_concat_secondsliceentryoutput)) /\ exists ff_q_pvs_concat_secondsliceentryoutputnegative. dst_negative_code_concat_secondsliceentryoutput = ff_q_pvs_concat_secondsliceentryoutputnegative * S ((S (srs_index_concat_secondslice)) * dst_negative_scale_concat_secondsliceentryoutput) + (dst_negative_concat_secondsliceentryoutput))) /\ (exists ge_balance_positive_concat_secondsliceentryoutputvalue ge_balance_negative_concat_secondsliceentryoutputvalue. (((((srs_value_concat_secondslice) = 2 * (ge_balance_positive_concat_secondsliceentryoutputvalue) /\ (ge_balance_negative_concat_secondsliceentryoutputvalue) = 0) \/ exists ge_signed_half_concat_secondsliceentryoutputvaluedecode. (((srs_value_concat_secondslice) = 2 * ge_signed_half_concat_secondsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_concat_secondsliceentryoutputvalue) = 0) /\ (ge_balance_negative_concat_secondsliceentryoutputvalue) = S ge_signed_half_concat_secondsliceentryoutputvaluedecode))) /\ ((dst_positive_concat_secondsliceentryoutput) + ge_balance_negative_concat_secondsliceentryoutputvalue = (dst_negative_concat_secondsliceentryoutput) + ge_balance_positive_concat_secondsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_concat_secondsum dst_positive_scale_concat_secondsum dst_negative_code_concat_secondsum dst_negative_scale_concat_secondsum dst_positive_sum_concat_secondsum dst_negative_sum_concat_secondsum. (((srs_slice_concat_second) = (((((dst_positive_code_concat_secondsum) + (dst_positive_scale_concat_secondsum)) * S ((dst_positive_code_concat_secondsum) + (dst_positive_scale_concat_secondsum)) + ((dst_positive_scale_concat_secondsum) + (dst_positive_scale_concat_secondsum))) + (((dst_negative_code_concat_secondsum) + (dst_negative_scale_concat_secondsum)) * S ((dst_negative_code_concat_secondsum) + (dst_negative_scale_concat_secondsum)) + ((dst_negative_scale_concat_secondsum) + (dst_negative_scale_concat_secondsum)))) * S ((((dst_positive_code_concat_secondsum) + (dst_positive_scale_concat_secondsum)) * S ((dst_positive_code_concat_secondsum) + (dst_positive_scale_concat_secondsum)) + ((dst_positive_scale_concat_secondsum) + (dst_positive_scale_concat_secondsum))) + (((dst_negative_code_concat_secondsum) + (dst_negative_scale_concat_secondsum)) * S ((dst_negative_code_concat_secondsum) + (dst_negative_scale_concat_secondsum)) + ((dst_negative_scale_concat_secondsum) + (dst_negative_scale_concat_secondsum)))) + ((((dst_negative_code_concat_secondsum) + (dst_negative_scale_concat_secondsum)) * S ((dst_negative_code_concat_secondsum) + (dst_negative_scale_concat_secondsum)) + ((dst_negative_scale_concat_secondsum) + (dst_negative_scale_concat_secondsum))) + (((dst_negative_code_concat_secondsum) + (dst_negative_scale_concat_secondsum)) * S ((dst_negative_code_concat_secondsum) + (dst_negative_scale_concat_secondsum)) + ((dst_negative_scale_concat_secondsum) + (dst_negative_scale_concat_secondsum)))))) /\ (((exists fs_u_dst_concat_secondsumpositive fs_v_dst_concat_secondsumpositive. ((((exists fs_h_dst_concat_secondsumpositive_body_start. fs_h_dst_concat_secondsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_secondsumpositive)) /\ exists fs_q_dst_concat_secondsumpositive_body_start. fs_u_dst_concat_secondsumpositive = fs_q_dst_concat_secondsumpositive_body_start * S ((S (0)) * fs_v_dst_concat_secondsumpositive) + (0))) /\ ((((exists fs_h_dst_concat_secondsumpositive_body_terminal. fs_h_dst_concat_secondsumpositive_body_terminal + S (dst_positive_sum_concat_secondsum) = S ((S (q)) * fs_v_dst_concat_secondsumpositive)) /\ exists fs_q_dst_concat_secondsumpositive_body_terminal. fs_u_dst_concat_secondsumpositive = fs_q_dst_concat_secondsumpositive_body_terminal * S ((S (q)) * fs_v_dst_concat_secondsumpositive) + (dst_positive_sum_concat_secondsum))) /\ forall fs_i_dst_concat_secondsumpositive_body_steps. (exists fs_lt_dst_concat_secondsumpositive_body_steps_bound. fs_lt_dst_concat_secondsumpositive_body_steps_bound + S fs_i_dst_concat_secondsumpositive_body_steps = q) -> exists fs_a_dst_concat_secondsumpositive_body_steps fs_r_dst_concat_secondsumpositive_body_steps fs_s_dst_concat_secondsumpositive_body_steps. ((((exists fs_h_dst_concat_secondsumpositive_body_steps_summand. fs_h_dst_concat_secondsumpositive_body_steps_summand + S (fs_a_dst_concat_secondsumpositive_body_steps) = S ((S (fs_i_dst_concat_secondsumpositive_body_steps)) * dst_positive_scale_concat_secondsum)) /\ exists fs_q_dst_concat_secondsumpositive_body_steps_summand. dst_positive_code_concat_secondsum = fs_q_dst_concat_secondsumpositive_body_steps_summand * S ((S (fs_i_dst_concat_secondsumpositive_body_steps)) * dst_positive_scale_concat_secondsum) + (fs_a_dst_concat_secondsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_secondsumpositive_body_steps_partial. fs_h_dst_concat_secondsumpositive_body_steps_partial + S (fs_r_dst_concat_secondsumpositive_body_steps) = S ((S (fs_i_dst_concat_secondsumpositive_body_steps)) * fs_v_dst_concat_secondsumpositive)) /\ exists fs_q_dst_concat_secondsumpositive_body_steps_partial. fs_u_dst_concat_secondsumpositive = fs_q_dst_concat_secondsumpositive_body_steps_partial * S ((S (fs_i_dst_concat_secondsumpositive_body_steps)) * fs_v_dst_concat_secondsumpositive) + (fs_r_dst_concat_secondsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_secondsumpositive_body_steps_successor. fs_h_dst_concat_secondsumpositive_body_steps_successor + S (fs_s_dst_concat_secondsumpositive_body_steps) = S ((S (S fs_i_dst_concat_secondsumpositive_body_steps)) * fs_v_dst_concat_secondsumpositive)) /\ exists fs_q_dst_concat_secondsumpositive_body_steps_successor. fs_u_dst_concat_secondsumpositive = fs_q_dst_concat_secondsumpositive_body_steps_successor * S ((S (S fs_i_dst_concat_secondsumpositive_body_steps)) * fs_v_dst_concat_secondsumpositive) + (fs_s_dst_concat_secondsumpositive_body_steps))) /\ fs_s_dst_concat_secondsumpositive_body_steps = fs_r_dst_concat_secondsumpositive_body_steps + fs_a_dst_concat_secondsumpositive_body_steps)))))) /\ (((exists fs_u_dst_concat_secondsumnegative fs_v_dst_concat_secondsumnegative. ((((exists fs_h_dst_concat_secondsumnegative_body_start. fs_h_dst_concat_secondsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_secondsumnegative)) /\ exists fs_q_dst_concat_secondsumnegative_body_start. fs_u_dst_concat_secondsumnegative = fs_q_dst_concat_secondsumnegative_body_start * S ((S (0)) * fs_v_dst_concat_secondsumnegative) + (0))) /\ ((((exists fs_h_dst_concat_secondsumnegative_body_terminal. fs_h_dst_concat_secondsumnegative_body_terminal + S (dst_negative_sum_concat_secondsum) = S ((S (q)) * fs_v_dst_concat_secondsumnegative)) /\ exists fs_q_dst_concat_secondsumnegative_body_terminal. fs_u_dst_concat_secondsumnegative = fs_q_dst_concat_secondsumnegative_body_terminal * S ((S (q)) * fs_v_dst_concat_secondsumnegative) + (dst_negative_sum_concat_secondsum))) /\ forall fs_i_dst_concat_secondsumnegative_body_steps. (exists fs_lt_dst_concat_secondsumnegative_body_steps_bound. fs_lt_dst_concat_secondsumnegative_body_steps_bound + S fs_i_dst_concat_secondsumnegative_body_steps = q) -> exists fs_a_dst_concat_secondsumnegative_body_steps fs_r_dst_concat_secondsumnegative_body_steps fs_s_dst_concat_secondsumnegative_body_steps. ((((exists fs_h_dst_concat_secondsumnegative_body_steps_summand. fs_h_dst_concat_secondsumnegative_body_steps_summand + S (fs_a_dst_concat_secondsumnegative_body_steps) = S ((S (fs_i_dst_concat_secondsumnegative_body_steps)) * dst_negative_scale_concat_secondsum)) /\ exists fs_q_dst_concat_secondsumnegative_body_steps_summand. dst_negative_code_concat_secondsum = fs_q_dst_concat_secondsumnegative_body_steps_summand * S ((S (fs_i_dst_concat_secondsumnegative_body_steps)) * dst_negative_scale_concat_secondsum) + (fs_a_dst_concat_secondsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_secondsumnegative_body_steps_partial. fs_h_dst_concat_secondsumnegative_body_steps_partial + S (fs_r_dst_concat_secondsumnegative_body_steps) = S ((S (fs_i_dst_concat_secondsumnegative_body_steps)) * fs_v_dst_concat_secondsumnegative)) /\ exists fs_q_dst_concat_secondsumnegative_body_steps_partial. fs_u_dst_concat_secondsumnegative = fs_q_dst_concat_secondsumnegative_body_steps_partial * S ((S (fs_i_dst_concat_secondsumnegative_body_steps)) * fs_v_dst_concat_secondsumnegative) + (fs_r_dst_concat_secondsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_secondsumnegative_body_steps_successor. fs_h_dst_concat_secondsumnegative_body_steps_successor + S (fs_s_dst_concat_secondsumnegative_body_steps) = S ((S (S fs_i_dst_concat_secondsumnegative_body_steps)) * fs_v_dst_concat_secondsumnegative)) /\ exists fs_q_dst_concat_secondsumnegative_body_steps_successor. fs_u_dst_concat_secondsumnegative = fs_q_dst_concat_secondsumnegative_body_steps_successor * S ((S (S fs_i_dst_concat_secondsumnegative_body_steps)) * fs_v_dst_concat_secondsumnegative) + (fs_s_dst_concat_secondsumnegative_body_steps))) /\ fs_s_dst_concat_secondsumnegative_body_steps = fs_r_dst_concat_secondsumnegative_body_steps + fs_a_dst_concat_secondsumnegative_body_steps)))))) /\ (exists ge_balance_positive_concat_secondsumresult ge_balance_negative_concat_secondsumresult. (((((b) = 2 * (ge_balance_positive_concat_secondsumresult) /\ (ge_balance_negative_concat_secondsumresult) = 0) \/ exists ge_signed_half_concat_secondsumresultdecode. (((b) = 2 * ge_signed_half_concat_secondsumresultdecode + 1 /\ (ge_balance_positive_concat_secondsumresult) = 0) /\ (ge_balance_negative_concat_secondsumresult) = S ge_signed_half_concat_secondsumresultdecode))) /\ ((dst_positive_sum_concat_secondsum) + ge_balance_negative_concat_secondsumresult = (dst_negative_sum_concat_secondsum) + ge_balance_positive_concat_secondsumresult))))))))))) -> (exists dsa_ap_concat_add dsa_an_concat_add dsa_bp_concat_add dsa_bn_concat_add dsa_cp_concat_add dsa_cn_concat_add. (((((a) = 2 * (dsa_ap_concat_add) /\ (dsa_an_concat_add) = 0) \/ exists ge_signed_half_concat_addleft. (((a) = 2 * ge_signed_half_concat_addleft + 1 /\ (dsa_ap_concat_add) = 0) /\ (dsa_an_concat_add) = S ge_signed_half_concat_addleft))) /\ ((((((b) = 2 * (dsa_bp_concat_add) /\ (dsa_bn_concat_add) = 0) \/ exists ge_signed_half_concat_addright. (((b) = 2 * ge_signed_half_concat_addright + 1 /\ (dsa_bp_concat_add) = 0) /\ (dsa_bn_concat_add) = S ge_signed_half_concat_addright))) /\ ((((((c) = 2 * (dsa_cp_concat_add) /\ (dsa_cn_concat_add) = 0) \/ exists ge_signed_half_concat_addoutput. (((c) = 2 * ge_signed_half_concat_addoutput + 1 /\ (dsa_cp_concat_add) = 0) /\ (dsa_cn_concat_add) = S ge_signed_half_concat_addoutput))) /\ ((dsa_ap_concat_add + dsa_bp_concat_add) + dsa_cn_concat_add = (dsa_an_concat_add + dsa_bn_concat_add) + dsa_cp_concat_add))))))) -> (exists srs_slice_concat_result. ((((exists dst_positive_code_concat_resultslicesource_table dst_positive_scale_concat_resultslicesource_table dst_negative_code_concat_resultslicesource_table dst_negative_scale_concat_resultslicesource_table. (((F) = (((((dst_positive_code_concat_resultslicesource_table) + (dst_positive_scale_concat_resultslicesource_table)) * S ((dst_positive_code_concat_resultslicesource_table) + (dst_positive_scale_concat_resultslicesource_table)) + ((dst_positive_scale_concat_resultslicesource_table) + (dst_positive_scale_concat_resultslicesource_table))) + (((dst_negative_code_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)) * S ((dst_negative_code_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)) + ((dst_negative_scale_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)))) * S ((((dst_positive_code_concat_resultslicesource_table) + (dst_positive_scale_concat_resultslicesource_table)) * S ((dst_positive_code_concat_resultslicesource_table) + (dst_positive_scale_concat_resultslicesource_table)) + ((dst_positive_scale_concat_resultslicesource_table) + (dst_positive_scale_concat_resultslicesource_table))) + (((dst_negative_code_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)) * S ((dst_negative_code_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)) + ((dst_negative_scale_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)))) + ((((dst_negative_code_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)) * S ((dst_negative_code_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)) + ((dst_negative_scale_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table))) + (((dst_negative_code_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)) * S ((dst_negative_code_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)) + ((dst_negative_scale_concat_resultslicesource_table) + (dst_negative_scale_concat_resultslicesource_table)))))) /\ (forall dst_index_concat_resultslicesource_table. (exists pvs_le_gap_concat_resultslicesource_tabledomain. pvs_le_gap_concat_resultslicesource_tabledomain + (dst_index_concat_resultslicesource_table) = (0)) -> exists dst_positive_concat_resultslicesource_table dst_negative_concat_resultslicesource_table dst_value_concat_resultslicesource_table. ((((exists ff_h_pvs_concat_resultslicesource_tableentrypositive. ff_h_pvs_concat_resultslicesource_tableentrypositive + S (dst_positive_concat_resultslicesource_table) = S ((S (dst_index_concat_resultslicesource_table)) * dst_positive_scale_concat_resultslicesource_table)) /\ exists ff_q_pvs_concat_resultslicesource_tableentrypositive. dst_positive_code_concat_resultslicesource_table = ff_q_pvs_concat_resultslicesource_tableentrypositive * S ((S (dst_index_concat_resultslicesource_table)) * dst_positive_scale_concat_resultslicesource_table) + (dst_positive_concat_resultslicesource_table))) /\ (((((exists ff_h_pvs_concat_resultslicesource_tableentrynegative. ff_h_pvs_concat_resultslicesource_tableentrynegative + S (dst_negative_concat_resultslicesource_table) = S ((S (dst_index_concat_resultslicesource_table)) * dst_negative_scale_concat_resultslicesource_table)) /\ exists ff_q_pvs_concat_resultslicesource_tableentrynegative. dst_negative_code_concat_resultslicesource_table = ff_q_pvs_concat_resultslicesource_tableentrynegative * S ((S (dst_index_concat_resultslicesource_table)) * dst_negative_scale_concat_resultslicesource_table) + (dst_negative_concat_resultslicesource_table))) /\ (exists ge_balance_positive_concat_resultslicesource_tableentryvalue ge_balance_negative_concat_resultslicesource_tableentryvalue. (((((dst_value_concat_resultslicesource_table) = 2 * (ge_balance_positive_concat_resultslicesource_tableentryvalue) /\ (ge_balance_negative_concat_resultslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_concat_resultslicesource_tableentryvaluedecode. (((dst_value_concat_resultslicesource_table) = 2 * ge_signed_half_concat_resultslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_resultslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_concat_resultslicesource_tableentryvalue) = S ge_signed_half_concat_resultslicesource_tableentryvaluedecode))) /\ ((dst_positive_concat_resultslicesource_table) + ge_balance_negative_concat_resultslicesource_tableentryvalue = (dst_negative_concat_resultslicesource_table) + ge_balance_positive_concat_resultslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_concat_resultsliceoutput_table dst_positive_scale_concat_resultsliceoutput_table dst_negative_code_concat_resultsliceoutput_table dst_negative_scale_concat_resultsliceoutput_table. (((srs_slice_concat_result) = (((((dst_positive_code_concat_resultsliceoutput_table) + (dst_positive_scale_concat_resultsliceoutput_table)) * S ((dst_positive_code_concat_resultsliceoutput_table) + (dst_positive_scale_concat_resultsliceoutput_table)) + ((dst_positive_scale_concat_resultsliceoutput_table) + (dst_positive_scale_concat_resultsliceoutput_table))) + (((dst_negative_code_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)) * S ((dst_negative_code_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)) + ((dst_negative_scale_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)))) * S ((((dst_positive_code_concat_resultsliceoutput_table) + (dst_positive_scale_concat_resultsliceoutput_table)) * S ((dst_positive_code_concat_resultsliceoutput_table) + (dst_positive_scale_concat_resultsliceoutput_table)) + ((dst_positive_scale_concat_resultsliceoutput_table) + (dst_positive_scale_concat_resultsliceoutput_table))) + (((dst_negative_code_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)) * S ((dst_negative_code_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)) + ((dst_negative_scale_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)))) + ((((dst_negative_code_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)) * S ((dst_negative_code_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)) + ((dst_negative_scale_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table))) + (((dst_negative_code_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)) * S ((dst_negative_code_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)) + ((dst_negative_scale_concat_resultsliceoutput_table) + (dst_negative_scale_concat_resultsliceoutput_table)))))) /\ (forall dst_index_concat_resultsliceoutput_table. (exists pvs_le_gap_concat_resultsliceoutput_tabledomain. pvs_le_gap_concat_resultsliceoutput_tabledomain + (dst_index_concat_resultsliceoutput_table) = (p+q)) -> exists dst_positive_concat_resultsliceoutput_table dst_negative_concat_resultsliceoutput_table dst_value_concat_resultsliceoutput_table. ((((exists ff_h_pvs_concat_resultsliceoutput_tableentrypositive. ff_h_pvs_concat_resultsliceoutput_tableentrypositive + S (dst_positive_concat_resultsliceoutput_table) = S ((S (dst_index_concat_resultsliceoutput_table)) * dst_positive_scale_concat_resultsliceoutput_table)) /\ exists ff_q_pvs_concat_resultsliceoutput_tableentrypositive. dst_positive_code_concat_resultsliceoutput_table = ff_q_pvs_concat_resultsliceoutput_tableentrypositive * S ((S (dst_index_concat_resultsliceoutput_table)) * dst_positive_scale_concat_resultsliceoutput_table) + (dst_positive_concat_resultsliceoutput_table))) /\ (((((exists ff_h_pvs_concat_resultsliceoutput_tableentrynegative. ff_h_pvs_concat_resultsliceoutput_tableentrynegative + S (dst_negative_concat_resultsliceoutput_table) = S ((S (dst_index_concat_resultsliceoutput_table)) * dst_negative_scale_concat_resultsliceoutput_table)) /\ exists ff_q_pvs_concat_resultsliceoutput_tableentrynegative. dst_negative_code_concat_resultsliceoutput_table = ff_q_pvs_concat_resultsliceoutput_tableentrynegative * S ((S (dst_index_concat_resultsliceoutput_table)) * dst_negative_scale_concat_resultsliceoutput_table) + (dst_negative_concat_resultsliceoutput_table))) /\ (exists ge_balance_positive_concat_resultsliceoutput_tableentryvalue ge_balance_negative_concat_resultsliceoutput_tableentryvalue. (((((dst_value_concat_resultsliceoutput_table) = 2 * (ge_balance_positive_concat_resultsliceoutput_tableentryvalue) /\ (ge_balance_negative_concat_resultsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_concat_resultsliceoutput_tableentryvaluedecode. (((dst_value_concat_resultsliceoutput_table) = 2 * ge_signed_half_concat_resultsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_resultsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_concat_resultsliceoutput_tableentryvalue) = S ge_signed_half_concat_resultsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_concat_resultsliceoutput_table) + ge_balance_negative_concat_resultsliceoutput_tableentryvalue = (dst_negative_concat_resultsliceoutput_table) + ge_balance_positive_concat_resultsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_concat_resultslice. (exists pvs_gap_concat_resultslicebound. pvs_gap_concat_resultslicebound + S (srs_index_concat_resultslice) = (p+q)) -> exists srs_value_concat_resultslice. (((exists dst_positive_code_concat_resultsliceentrysource dst_positive_scale_concat_resultsliceentrysource dst_negative_code_concat_resultsliceentrysource dst_negative_scale_concat_resultsliceentrysource dst_positive_concat_resultsliceentrysource dst_negative_concat_resultsliceentrysource. (((F) = (((((dst_positive_code_concat_resultsliceentrysource) + (dst_positive_scale_concat_resultsliceentrysource)) * S ((dst_positive_code_concat_resultsliceentrysource) + (dst_positive_scale_concat_resultsliceentrysource)) + ((dst_positive_scale_concat_resultsliceentrysource) + (dst_positive_scale_concat_resultsliceentrysource))) + (((dst_negative_code_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)) * S ((dst_negative_code_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)) + ((dst_negative_scale_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)))) * S ((((dst_positive_code_concat_resultsliceentrysource) + (dst_positive_scale_concat_resultsliceentrysource)) * S ((dst_positive_code_concat_resultsliceentrysource) + (dst_positive_scale_concat_resultsliceentrysource)) + ((dst_positive_scale_concat_resultsliceentrysource) + (dst_positive_scale_concat_resultsliceentrysource))) + (((dst_negative_code_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)) * S ((dst_negative_code_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)) + ((dst_negative_scale_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)))) + ((((dst_negative_code_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)) * S ((dst_negative_code_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)) + ((dst_negative_scale_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource))) + (((dst_negative_code_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)) * S ((dst_negative_code_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)) + ((dst_negative_scale_concat_resultsliceentrysource) + (dst_negative_scale_concat_resultsliceentrysource)))))) /\ (((((exists ff_h_pvs_concat_resultsliceentrysourcepositive. ff_h_pvs_concat_resultsliceentrysourcepositive + S (dst_positive_concat_resultsliceentrysource) = S ((S (((o) + ((s) * (srs_index_concat_resultslice))))) * dst_positive_scale_concat_resultsliceentrysource)) /\ exists ff_q_pvs_concat_resultsliceentrysourcepositive. dst_positive_code_concat_resultsliceentrysource = ff_q_pvs_concat_resultsliceentrysourcepositive * S ((S (((o) + ((s) * (srs_index_concat_resultslice))))) * dst_positive_scale_concat_resultsliceentrysource) + (dst_positive_concat_resultsliceentrysource))) /\ (((((exists ff_h_pvs_concat_resultsliceentrysourcenegative. ff_h_pvs_concat_resultsliceentrysourcenegative + S (dst_negative_concat_resultsliceentrysource) = S ((S (((o) + ((s) * (srs_index_concat_resultslice))))) * dst_negative_scale_concat_resultsliceentrysource)) /\ exists ff_q_pvs_concat_resultsliceentrysourcenegative. dst_negative_code_concat_resultsliceentrysource = ff_q_pvs_concat_resultsliceentrysourcenegative * S ((S (((o) + ((s) * (srs_index_concat_resultslice))))) * dst_negative_scale_concat_resultsliceentrysource) + (dst_negative_concat_resultsliceentrysource))) /\ (exists ge_balance_positive_concat_resultsliceentrysourcevalue ge_balance_negative_concat_resultsliceentrysourcevalue. (((((srs_value_concat_resultslice) = 2 * (ge_balance_positive_concat_resultsliceentrysourcevalue) /\ (ge_balance_negative_concat_resultsliceentrysourcevalue) = 0) \/ exists ge_signed_half_concat_resultsliceentrysourcevaluedecode. (((srs_value_concat_resultslice) = 2 * ge_signed_half_concat_resultsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_concat_resultsliceentrysourcevalue) = 0) /\ (ge_balance_negative_concat_resultsliceentrysourcevalue) = S ge_signed_half_concat_resultsliceentrysourcevaluedecode))) /\ ((dst_positive_concat_resultsliceentrysource) + ge_balance_negative_concat_resultsliceentrysourcevalue = (dst_negative_concat_resultsliceentrysource) + ge_balance_positive_concat_resultsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_concat_resultsliceentryoutput dst_positive_scale_concat_resultsliceentryoutput dst_negative_code_concat_resultsliceentryoutput dst_negative_scale_concat_resultsliceentryoutput dst_positive_concat_resultsliceentryoutput dst_negative_concat_resultsliceentryoutput. (((srs_slice_concat_result) = (((((dst_positive_code_concat_resultsliceentryoutput) + (dst_positive_scale_concat_resultsliceentryoutput)) * S ((dst_positive_code_concat_resultsliceentryoutput) + (dst_positive_scale_concat_resultsliceentryoutput)) + ((dst_positive_scale_concat_resultsliceentryoutput) + (dst_positive_scale_concat_resultsliceentryoutput))) + (((dst_negative_code_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)) * S ((dst_negative_code_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)) + ((dst_negative_scale_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)))) * S ((((dst_positive_code_concat_resultsliceentryoutput) + (dst_positive_scale_concat_resultsliceentryoutput)) * S ((dst_positive_code_concat_resultsliceentryoutput) + (dst_positive_scale_concat_resultsliceentryoutput)) + ((dst_positive_scale_concat_resultsliceentryoutput) + (dst_positive_scale_concat_resultsliceentryoutput))) + (((dst_negative_code_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)) * S ((dst_negative_code_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)) + ((dst_negative_scale_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)))) + ((((dst_negative_code_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)) * S ((dst_negative_code_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)) + ((dst_negative_scale_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput))) + (((dst_negative_code_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)) * S ((dst_negative_code_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)) + ((dst_negative_scale_concat_resultsliceentryoutput) + (dst_negative_scale_concat_resultsliceentryoutput)))))) /\ (((((exists ff_h_pvs_concat_resultsliceentryoutputpositive. ff_h_pvs_concat_resultsliceentryoutputpositive + S (dst_positive_concat_resultsliceentryoutput) = S ((S (srs_index_concat_resultslice)) * dst_positive_scale_concat_resultsliceentryoutput)) /\ exists ff_q_pvs_concat_resultsliceentryoutputpositive. dst_positive_code_concat_resultsliceentryoutput = ff_q_pvs_concat_resultsliceentryoutputpositive * S ((S (srs_index_concat_resultslice)) * dst_positive_scale_concat_resultsliceentryoutput) + (dst_positive_concat_resultsliceentryoutput))) /\ (((((exists ff_h_pvs_concat_resultsliceentryoutputnegative. ff_h_pvs_concat_resultsliceentryoutputnegative + S (dst_negative_concat_resultsliceentryoutput) = S ((S (srs_index_concat_resultslice)) * dst_negative_scale_concat_resultsliceentryoutput)) /\ exists ff_q_pvs_concat_resultsliceentryoutputnegative. dst_negative_code_concat_resultsliceentryoutput = ff_q_pvs_concat_resultsliceentryoutputnegative * S ((S (srs_index_concat_resultslice)) * dst_negative_scale_concat_resultsliceentryoutput) + (dst_negative_concat_resultsliceentryoutput))) /\ (exists ge_balance_positive_concat_resultsliceentryoutputvalue ge_balance_negative_concat_resultsliceentryoutputvalue. (((((srs_value_concat_resultslice) = 2 * (ge_balance_positive_concat_resultsliceentryoutputvalue) /\ (ge_balance_negative_concat_resultsliceentryoutputvalue) = 0) \/ exists ge_signed_half_concat_resultsliceentryoutputvaluedecode. (((srs_value_concat_resultslice) = 2 * ge_signed_half_concat_resultsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_concat_resultsliceentryoutputvalue) = 0) /\ (ge_balance_negative_concat_resultsliceentryoutputvalue) = S ge_signed_half_concat_resultsliceentryoutputvaluedecode))) /\ ((dst_positive_concat_resultsliceentryoutput) + ge_balance_negative_concat_resultsliceentryoutputvalue = (dst_negative_concat_resultsliceentryoutput) + ge_balance_positive_concat_resultsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_concat_resultsum dst_positive_scale_concat_resultsum dst_negative_code_concat_resultsum dst_negative_scale_concat_resultsum dst_positive_sum_concat_resultsum dst_negative_sum_concat_resultsum. (((srs_slice_concat_result) = (((((dst_positive_code_concat_resultsum) + (dst_positive_scale_concat_resultsum)) * S ((dst_positive_code_concat_resultsum) + (dst_positive_scale_concat_resultsum)) + ((dst_positive_scale_concat_resultsum) + (dst_positive_scale_concat_resultsum))) + (((dst_negative_code_concat_resultsum) + (dst_negative_scale_concat_resultsum)) * S ((dst_negative_code_concat_resultsum) + (dst_negative_scale_concat_resultsum)) + ((dst_negative_scale_concat_resultsum) + (dst_negative_scale_concat_resultsum)))) * S ((((dst_positive_code_concat_resultsum) + (dst_positive_scale_concat_resultsum)) * S ((dst_positive_code_concat_resultsum) + (dst_positive_scale_concat_resultsum)) + ((dst_positive_scale_concat_resultsum) + (dst_positive_scale_concat_resultsum))) + (((dst_negative_code_concat_resultsum) + (dst_negative_scale_concat_resultsum)) * S ((dst_negative_code_concat_resultsum) + (dst_negative_scale_concat_resultsum)) + ((dst_negative_scale_concat_resultsum) + (dst_negative_scale_concat_resultsum)))) + ((((dst_negative_code_concat_resultsum) + (dst_negative_scale_concat_resultsum)) * S ((dst_negative_code_concat_resultsum) + (dst_negative_scale_concat_resultsum)) + ((dst_negative_scale_concat_resultsum) + (dst_negative_scale_concat_resultsum))) + (((dst_negative_code_concat_resultsum) + (dst_negative_scale_concat_resultsum)) * S ((dst_negative_code_concat_resultsum) + (dst_negative_scale_concat_resultsum)) + ((dst_negative_scale_concat_resultsum) + (dst_negative_scale_concat_resultsum)))))) /\ (((exists fs_u_dst_concat_resultsumpositive fs_v_dst_concat_resultsumpositive. ((((exists fs_h_dst_concat_resultsumpositive_body_start. fs_h_dst_concat_resultsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_resultsumpositive)) /\ exists fs_q_dst_concat_resultsumpositive_body_start. fs_u_dst_concat_resultsumpositive = fs_q_dst_concat_resultsumpositive_body_start * S ((S (0)) * fs_v_dst_concat_resultsumpositive) + (0))) /\ ((((exists fs_h_dst_concat_resultsumpositive_body_terminal. fs_h_dst_concat_resultsumpositive_body_terminal + S (dst_positive_sum_concat_resultsum) = S ((S (p+q)) * fs_v_dst_concat_resultsumpositive)) /\ exists fs_q_dst_concat_resultsumpositive_body_terminal. fs_u_dst_concat_resultsumpositive = fs_q_dst_concat_resultsumpositive_body_terminal * S ((S (p+q)) * fs_v_dst_concat_resultsumpositive) + (dst_positive_sum_concat_resultsum))) /\ forall fs_i_dst_concat_resultsumpositive_body_steps. (exists fs_lt_dst_concat_resultsumpositive_body_steps_bound. fs_lt_dst_concat_resultsumpositive_body_steps_bound + S fs_i_dst_concat_resultsumpositive_body_steps = p+q) -> exists fs_a_dst_concat_resultsumpositive_body_steps fs_r_dst_concat_resultsumpositive_body_steps fs_s_dst_concat_resultsumpositive_body_steps. ((((exists fs_h_dst_concat_resultsumpositive_body_steps_summand. fs_h_dst_concat_resultsumpositive_body_steps_summand + S (fs_a_dst_concat_resultsumpositive_body_steps) = S ((S (fs_i_dst_concat_resultsumpositive_body_steps)) * dst_positive_scale_concat_resultsum)) /\ exists fs_q_dst_concat_resultsumpositive_body_steps_summand. dst_positive_code_concat_resultsum = fs_q_dst_concat_resultsumpositive_body_steps_summand * S ((S (fs_i_dst_concat_resultsumpositive_body_steps)) * dst_positive_scale_concat_resultsum) + (fs_a_dst_concat_resultsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_resultsumpositive_body_steps_partial. fs_h_dst_concat_resultsumpositive_body_steps_partial + S (fs_r_dst_concat_resultsumpositive_body_steps) = S ((S (fs_i_dst_concat_resultsumpositive_body_steps)) * fs_v_dst_concat_resultsumpositive)) /\ exists fs_q_dst_concat_resultsumpositive_body_steps_partial. fs_u_dst_concat_resultsumpositive = fs_q_dst_concat_resultsumpositive_body_steps_partial * S ((S (fs_i_dst_concat_resultsumpositive_body_steps)) * fs_v_dst_concat_resultsumpositive) + (fs_r_dst_concat_resultsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_resultsumpositive_body_steps_successor. fs_h_dst_concat_resultsumpositive_body_steps_successor + S (fs_s_dst_concat_resultsumpositive_body_steps) = S ((S (S fs_i_dst_concat_resultsumpositive_body_steps)) * fs_v_dst_concat_resultsumpositive)) /\ exists fs_q_dst_concat_resultsumpositive_body_steps_successor. fs_u_dst_concat_resultsumpositive = fs_q_dst_concat_resultsumpositive_body_steps_successor * S ((S (S fs_i_dst_concat_resultsumpositive_body_steps)) * fs_v_dst_concat_resultsumpositive) + (fs_s_dst_concat_resultsumpositive_body_steps))) /\ fs_s_dst_concat_resultsumpositive_body_steps = fs_r_dst_concat_resultsumpositive_body_steps + fs_a_dst_concat_resultsumpositive_body_steps)))))) /\ (((exists fs_u_dst_concat_resultsumnegative fs_v_dst_concat_resultsumnegative. ((((exists fs_h_dst_concat_resultsumnegative_body_start. fs_h_dst_concat_resultsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_resultsumnegative)) /\ exists fs_q_dst_concat_resultsumnegative_body_start. fs_u_dst_concat_resultsumnegative = fs_q_dst_concat_resultsumnegative_body_start * S ((S (0)) * fs_v_dst_concat_resultsumnegative) + (0))) /\ ((((exists fs_h_dst_concat_resultsumnegative_body_terminal. fs_h_dst_concat_resultsumnegative_body_terminal + S (dst_negative_sum_concat_resultsum) = S ((S (p+q)) * fs_v_dst_concat_resultsumnegative)) /\ exists fs_q_dst_concat_resultsumnegative_body_terminal. fs_u_dst_concat_resultsumnegative = fs_q_dst_concat_resultsumnegative_body_terminal * S ((S (p+q)) * fs_v_dst_concat_resultsumnegative) + (dst_negative_sum_concat_resultsum))) /\ forall fs_i_dst_concat_resultsumnegative_body_steps. (exists fs_lt_dst_concat_resultsumnegative_body_steps_bound. fs_lt_dst_concat_resultsumnegative_body_steps_bound + S fs_i_dst_concat_resultsumnegative_body_steps = p+q) -> exists fs_a_dst_concat_resultsumnegative_body_steps fs_r_dst_concat_resultsumnegative_body_steps fs_s_dst_concat_resultsumnegative_body_steps. ((((exists fs_h_dst_concat_resultsumnegative_body_steps_summand. fs_h_dst_concat_resultsumnegative_body_steps_summand + S (fs_a_dst_concat_resultsumnegative_body_steps) = S ((S (fs_i_dst_concat_resultsumnegative_body_steps)) * dst_negative_scale_concat_resultsum)) /\ exists fs_q_dst_concat_resultsumnegative_body_steps_summand. dst_negative_code_concat_resultsum = fs_q_dst_concat_resultsumnegative_body_steps_summand * S ((S (fs_i_dst_concat_resultsumnegative_body_steps)) * dst_negative_scale_concat_resultsum) + (fs_a_dst_concat_resultsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_resultsumnegative_body_steps_partial. fs_h_dst_concat_resultsumnegative_body_steps_partial + S (fs_r_dst_concat_resultsumnegative_body_steps) = S ((S (fs_i_dst_concat_resultsumnegative_body_steps)) * fs_v_dst_concat_resultsumnegative)) /\ exists fs_q_dst_concat_resultsumnegative_body_steps_partial. fs_u_dst_concat_resultsumnegative = fs_q_dst_concat_resultsumnegative_body_steps_partial * S ((S (fs_i_dst_concat_resultsumnegative_body_steps)) * fs_v_dst_concat_resultsumnegative) + (fs_r_dst_concat_resultsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_resultsumnegative_body_steps_successor. fs_h_dst_concat_resultsumnegative_body_steps_successor + S (fs_s_dst_concat_resultsumnegative_body_steps) = S ((S (S fs_i_dst_concat_resultsumnegative_body_steps)) * fs_v_dst_concat_resultsumnegative)) /\ exists fs_q_dst_concat_resultsumnegative_body_steps_successor. fs_u_dst_concat_resultsumnegative = fs_q_dst_concat_resultsumnegative_body_steps_successor * S ((S (S fs_i_dst_concat_resultsumnegative_body_steps)) * fs_v_dst_concat_resultsumnegative) + (fs_s_dst_concat_resultsumnegative_body_steps))) /\ fs_s_dst_concat_resultsumnegative_body_steps = fs_r_dst_concat_resultsumnegative_body_steps + fs_a_dst_concat_resultsumnegative_body_steps)))))) /\ (exists ge_balance_positive_concat_resultsumresult ge_balance_negative_concat_resultsumresult. (((((c) = 2 * (ge_balance_positive_concat_resultsumresult) /\ (ge_balance_negative_concat_resultsumresult) = 0) \/ exists ge_signed_half_concat_resultsumresultdecode. (((c) = 2 * ge_signed_half_concat_resultsumresultdecode + 1 /\ (ge_balance_positive_concat_resultsumresult) = 0) /\ (ge_balance_negative_concat_resultsumresult) = S ge_signed_half_concat_resultsumresultdecode))) /\ ((dst_positive_sum_concat_resultsum) + ge_balance_negative_concat_resultsumresult = (dst_negative_sum_concat_resultsum) + ge_balance_positive_concat_resultsumresult)))))))))))Constructive proof overview
Generated structural guide
Ordinary length induction concatenates actual affine sum traces at offset o+s*p, including zero length and zero stride.
The unchanged tactic script uses 9 declared prerequisites and contains 130 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
signed_rectangular_slice_sum_empty_value Alpha theorem; checked-use authorized signed_add_functional Alpha theorem; checked-use authorized signed_add_zero_right Alpha theorem; checked-use authorized signed_rectangular_slice_sum_successor_decompose Alpha theorem; checked-use authorized signed_add_total Alpha theorem; checked-use authorized signed_table_add_reassociate Alpha theorem; checked-use authorized add_assoc Stable theorem; checked-use authorized mul_add Stable theorem; checked-use authorized signed_rectangular_slice_sum_successor_intro Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
01Induction on qL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hadd
03Establish hb0L12–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed rectangular slice sum empty value.
- L12
have hb0 : b=0 - L13
specialize signed_rectangular_slice_sum_empty_value (F) - L14
specialize signed_rectangular_slice_sum_empty_value (((o) + ((s) * (p)))) - L15
specialize signed_rectangular_slice_sum_empty_value (s) - L16
specialize signed_rectangular_slice_sum_empty_value (b) - L17
apply signed_rectangular_slice_sum_empty_value - L18
exact hb - L19
rewrite hb0 at hadd - L20
rewrite hb0 at hadd
04Establish hcaL21–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed add functional.
05Calculate and transport equalitiesL31–31
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L31
rewrite hca
06Establish hlengthL32–41
07Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
exact ha
08Fix variables and assumptionsL43–52
09Establish hdL53–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed rectangular slice sum successor decompose.
- L53
have hd : ∃ u. ∃ v. SignedSliceSum(F,o + s · p,s,q,u) ∧ (ArithAt(F,o + s · p + s · q,v) ∧ SignedAdd(u,v,b))Definitions: SignedAddArithAtSignedSliceSum - L54
specialize signed_rectangular_slice_sum_successor_decompose (F) - L55
specialize signed_rectangular_slice_sum_successor_decompose (((o) + ((s) * (p)))) - L56
specialize signed_rectangular_slice_sum_successor_decompose (s) - L57
specialize signed_rectangular_slice_sum_successor_decompose (q) - L58
specialize signed_rectangular_slice_sum_successor_decompose (b) - L59
apply signed_rectangular_slice_sum_successor_decompose - L60
exact hb
10Separate the logical casesL61–64
11Establish htL65–68
12Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
cases ht
13Establish hpL70–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
14Use earlier factsL80–81
15Establish hnextL82–91
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed table add reassociate.
- L82
have hnext : SignedAdd(x2,x1,c)Definitions: SignedAdd - L83
specialize signed_table_add_reassociate (a) - L84
specialize signed_table_add_reassociate (x) - L85
specialize signed_table_add_reassociate (x1) - L86
specialize signed_table_add_reassociate (x2) - L87
specialize signed_table_add_reassociate (b) - L88
specialize signed_table_add_reassociate (c) - L89
apply signed_table_add_reassociate - L90
exact ht_witness - L91
exact hd_witness_witness_right_right
16Use earlier factsL92–92
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L92
exact hadd
17Establish hindexL93–102
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add assoc.
18Use earlier factsL103–105
19Calculate and transport equalitiesL106–109
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
20Establish hlengthL110–119
21Use earlier factsL120–129
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L120
specialize signed_rectangular_slice_sum_successor_intro (F) - L121
specialize signed_rectangular_slice_sum_successor_intro (o) - L122
specialize signed_rectangular_slice_sum_successor_intro (s) - L123
specialize signed_rectangular_slice_sum_successor_intro (p+q) - L124
specialize signed_rectangular_slice_sum_successor_intro (x2) - L125
specialize signed_rectangular_slice_sum_successor_intro (x1) - L126
specialize signed_rectangular_slice_sum_successor_intro (c) - L127
apply signed_rectangular_slice_sum_successor_intro - L128
exact hp - L129
exact hd_witness_witness_right_left
22Use earlier factsL130–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L130
exact hnext
Original exact command ledger · 130 lines
- 0001
induction q - 0002
intro F - 0003
intro o - 0004
intro s - 0005
intro p - 0006
intro a - 0007
intro b - 0008
intro c - 0009
intro ha - 0010
intro hb - 0011
intro hadd - 0012
have hb0 : b=0 - 0013
specialize signed_rectangular_slice_sum_empty_value (F) - 0014
specialize signed_rectangular_slice_sum_empty_value (((o) + ((s) * (p)))) - 0015
specialize signed_rectangular_slice_sum_empty_value (s) - 0016
specialize signed_rectangular_slice_sum_empty_value (b) - 0017
apply signed_rectangular_slice_sum_empty_value - 0018
exact hb - 0019
rewrite hb0 at hadd - 0020
rewrite hb0 at hadd - 0021
have hca : c=a - 0022
specialize signed_add_functional (a) - 0023
specialize signed_add_functional (0) - 0024
specialize signed_add_functional (c) - 0025
specialize signed_add_functional (a) - 0026
apply signed_add_functional - 0027
exact hadd - 0028
specialize signed_add_zero_right (a) - 0029
apply signed_add_zero_right - 0030
rewrite hca - 0031
rewrite hca - 0032
have hlength : p+0=p - 0033
simp - 0034
rewrite hlength - 0035
rewrite hlength - 0036
rewrite hlength - 0037
rewrite hlength - 0038
rewrite hlength - 0039
rewrite hlength - 0040
rewrite hlength - 0041
rewrite hlength - 0042
exact ha - 0043
intro F - 0044
intro o - 0045
intro s - 0046
intro p - 0047
intro a - 0048
intro b - 0049
intro c - 0050
intro ha - 0051
intro hb - 0052
intro hadd - 0053
have hd : exists u v. (((exists srs_slice_concat_tail_prefix. ((((exists dst_positive_code_concat_tail_prefixslicesource_table dst_positive_scale_concat_tail_prefixslicesource_table dst_negative_code_concat_tail_prefixslicesource_table dst_negative_scale_concat_tail_prefixslicesource_table. (((F) = (((((dst_positive_code_concat_tail_prefixslicesource_table) + (dst_positive_scale_concat_tail_prefixslicesource_table)) * S ((dst_positive_code_concat_tail_prefixslicesource_table) + (dst_positive_scale_concat_tail_prefixslicesource_table)) + ((dst_positive_scale_concat_tail_prefixslicesource_table) + (dst_positive_scale_concat_tail_prefixslicesource_table))) + (((dst_negative_code_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)) * S ((dst_negative_code_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)) + ((dst_negative_scale_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)))) * S ((((dst_positive_code_concat_tail_prefixslicesource_table) + (dst_positive_scale_concat_tail_prefixslicesource_table)) * S ((dst_positive_code_concat_tail_prefixslicesource_table) + (dst_positive_scale_concat_tail_prefixslicesource_table)) + ((dst_positive_scale_concat_tail_prefixslicesource_table) + (dst_positive_scale_concat_tail_prefixslicesource_table))) + (((dst_negative_code_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)) * S ((dst_negative_code_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)) + ((dst_negative_scale_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)))) + ((((dst_negative_code_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)) * S ((dst_negative_code_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)) + ((dst_negative_scale_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table))) + (((dst_negative_code_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)) * S ((dst_negative_code_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)) + ((dst_negative_scale_concat_tail_prefixslicesource_table) + (dst_negative_scale_concat_tail_prefixslicesource_table)))))) /\ (forall dst_index_concat_tail_prefixslicesource_table. (exists pvs_le_gap_concat_tail_prefixslicesource_tabledomain. pvs_le_gap_concat_tail_prefixslicesource_tabledomain + (dst_index_concat_tail_prefixslicesource_table) = (0)) -> exists dst_positive_concat_tail_prefixslicesource_table dst_negative_concat_tail_prefixslicesource_table dst_value_concat_tail_prefixslicesource_table. ((((exists ff_h_pvs_concat_tail_prefixslicesource_tableentrypositive. ff_h_pvs_concat_tail_prefixslicesource_tableentrypositive + S (dst_positive_concat_tail_prefixslicesource_table) = S ((S (dst_index_concat_tail_prefixslicesource_table)) * dst_positive_scale_concat_tail_prefixslicesource_table)) /\ exists ff_q_pvs_concat_tail_prefixslicesource_tableentrypositive. dst_positive_code_concat_tail_prefixslicesource_table = ff_q_pvs_concat_tail_prefixslicesource_tableentrypositive * S ((S (dst_index_concat_tail_prefixslicesource_table)) * dst_positive_scale_concat_tail_prefixslicesource_table) + (dst_positive_concat_tail_prefixslicesource_table))) /\ (((((exists ff_h_pvs_concat_tail_prefixslicesource_tableentrynegative. ff_h_pvs_concat_tail_prefixslicesource_tableentrynegative + S (dst_negative_concat_tail_prefixslicesource_table) = S ((S (dst_index_concat_tail_prefixslicesource_table)) * dst_negative_scale_concat_tail_prefixslicesource_table)) /\ exists ff_q_pvs_concat_tail_prefixslicesource_tableentrynegative. dst_negative_code_concat_tail_prefixslicesource_table = ff_q_pvs_concat_tail_prefixslicesource_tableentrynegative * S ((S (dst_index_concat_tail_prefixslicesource_table)) * dst_negative_scale_concat_tail_prefixslicesource_table) + (dst_negative_concat_tail_prefixslicesource_table))) /\ (exists ge_balance_positive_concat_tail_prefixslicesource_tableentryvalue ge_balance_negative_concat_tail_prefixslicesource_tableentryvalue. (((((dst_value_concat_tail_prefixslicesource_table) = 2 * (ge_balance_positive_concat_tail_prefixslicesource_tableentryvalue) /\ (ge_balance_negative_concat_tail_prefixslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_concat_tail_prefixslicesource_tableentryvaluedecode. (((dst_value_concat_tail_prefixslicesource_table) = 2 * ge_signed_half_concat_tail_prefixslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_tail_prefixslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_concat_tail_prefixslicesource_tableentryvalue) = S ge_signed_half_concat_tail_prefixslicesource_tableentryvaluedecode))) /\ ((dst_positive_concat_tail_prefixslicesource_table) + ge_balance_negative_concat_tail_prefixslicesource_tableentryvalue = (dst_negative_concat_tail_prefixslicesource_table) + ge_balance_positive_concat_tail_prefixslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_concat_tail_prefixsliceoutput_table dst_positive_scale_concat_tail_prefixsliceoutput_table dst_negative_code_concat_tail_prefixsliceoutput_table dst_negative_scale_concat_tail_prefixsliceoutput_table. (((srs_slice_concat_tail_prefix) = (((((dst_positive_code_concat_tail_prefixsliceoutput_table) + (dst_positive_scale_concat_tail_prefixsliceoutput_table)) * S ((dst_positive_code_concat_tail_prefixsliceoutput_table) + (dst_positive_scale_concat_tail_prefixsliceoutput_table)) + ((dst_positive_scale_concat_tail_prefixsliceoutput_table) + (dst_positive_scale_concat_tail_prefixsliceoutput_table))) + (((dst_negative_code_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)) * S ((dst_negative_code_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)) + ((dst_negative_scale_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)))) * S ((((dst_positive_code_concat_tail_prefixsliceoutput_table) + (dst_positive_scale_concat_tail_prefixsliceoutput_table)) * S ((dst_positive_code_concat_tail_prefixsliceoutput_table) + (dst_positive_scale_concat_tail_prefixsliceoutput_table)) + ((dst_positive_scale_concat_tail_prefixsliceoutput_table) + (dst_positive_scale_concat_tail_prefixsliceoutput_table))) + (((dst_negative_code_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)) * S ((dst_negative_code_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)) + ((dst_negative_scale_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)))) + ((((dst_negative_code_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)) * S ((dst_negative_code_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)) + ((dst_negative_scale_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table))) + (((dst_negative_code_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)) * S ((dst_negative_code_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)) + ((dst_negative_scale_concat_tail_prefixsliceoutput_table) + (dst_negative_scale_concat_tail_prefixsliceoutput_table)))))) /\ (forall dst_index_concat_tail_prefixsliceoutput_table. (exists pvs_le_gap_concat_tail_prefixsliceoutput_tabledomain. pvs_le_gap_concat_tail_prefixsliceoutput_tabledomain + (dst_index_concat_tail_prefixsliceoutput_table) = (q)) -> exists dst_positive_concat_tail_prefixsliceoutput_table dst_negative_concat_tail_prefixsliceoutput_table dst_value_concat_tail_prefixsliceoutput_table. ((((exists ff_h_pvs_concat_tail_prefixsliceoutput_tableentrypositive. ff_h_pvs_concat_tail_prefixsliceoutput_tableentrypositive + S (dst_positive_concat_tail_prefixsliceoutput_table) = S ((S (dst_index_concat_tail_prefixsliceoutput_table)) * dst_positive_scale_concat_tail_prefixsliceoutput_table)) /\ exists ff_q_pvs_concat_tail_prefixsliceoutput_tableentrypositive. dst_positive_code_concat_tail_prefixsliceoutput_table = ff_q_pvs_concat_tail_prefixsliceoutput_tableentrypositive * S ((S (dst_index_concat_tail_prefixsliceoutput_table)) * dst_positive_scale_concat_tail_prefixsliceoutput_table) + (dst_positive_concat_tail_prefixsliceoutput_table))) /\ (((((exists ff_h_pvs_concat_tail_prefixsliceoutput_tableentrynegative. ff_h_pvs_concat_tail_prefixsliceoutput_tableentrynegative + S (dst_negative_concat_tail_prefixsliceoutput_table) = S ((S (dst_index_concat_tail_prefixsliceoutput_table)) * dst_negative_scale_concat_tail_prefixsliceoutput_table)) /\ exists ff_q_pvs_concat_tail_prefixsliceoutput_tableentrynegative. dst_negative_code_concat_tail_prefixsliceoutput_table = ff_q_pvs_concat_tail_prefixsliceoutput_tableentrynegative * S ((S (dst_index_concat_tail_prefixsliceoutput_table)) * dst_negative_scale_concat_tail_prefixsliceoutput_table) + (dst_negative_concat_tail_prefixsliceoutput_table))) /\ (exists ge_balance_positive_concat_tail_prefixsliceoutput_tableentryvalue ge_balance_negative_concat_tail_prefixsliceoutput_tableentryvalue. (((((dst_value_concat_tail_prefixsliceoutput_table) = 2 * (ge_balance_positive_concat_tail_prefixsliceoutput_tableentryvalue) /\ (ge_balance_negative_concat_tail_prefixsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_concat_tail_prefixsliceoutput_tableentryvaluedecode. (((dst_value_concat_tail_prefixsliceoutput_table) = 2 * ge_signed_half_concat_tail_prefixsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_tail_prefixsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_concat_tail_prefixsliceoutput_tableentryvalue) = S ge_signed_half_concat_tail_prefixsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_concat_tail_prefixsliceoutput_table) + ge_balance_negative_concat_tail_prefixsliceoutput_tableentryvalue = (dst_negative_concat_tail_prefixsliceoutput_table) + ge_balance_positive_concat_tail_prefixsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_concat_tail_prefixslice. (exists pvs_gap_concat_tail_prefixslicebound. pvs_gap_concat_tail_prefixslicebound + S (srs_index_concat_tail_prefixslice) = (q)) -> exists srs_value_concat_tail_prefixslice. (((exists dst_positive_code_concat_tail_prefixsliceentrysource dst_positive_scale_concat_tail_prefixsliceentrysource dst_negative_code_concat_tail_prefixsliceentrysource dst_negative_scale_concat_tail_prefixsliceentrysource dst_positive_concat_tail_prefixsliceentrysource dst_negative_concat_tail_prefixsliceentrysource. (((F) = (((((dst_positive_code_concat_tail_prefixsliceentrysource) + (dst_positive_scale_concat_tail_prefixsliceentrysource)) * S ((dst_positive_code_concat_tail_prefixsliceentrysource) + (dst_positive_scale_concat_tail_prefixsliceentrysource)) + ((dst_positive_scale_concat_tail_prefixsliceentrysource) + (dst_positive_scale_concat_tail_prefixsliceentrysource))) + (((dst_negative_code_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)) * S ((dst_negative_code_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)) + ((dst_negative_scale_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)))) * S ((((dst_positive_code_concat_tail_prefixsliceentrysource) + (dst_positive_scale_concat_tail_prefixsliceentrysource)) * S ((dst_positive_code_concat_tail_prefixsliceentrysource) + (dst_positive_scale_concat_tail_prefixsliceentrysource)) + ((dst_positive_scale_concat_tail_prefixsliceentrysource) + (dst_positive_scale_concat_tail_prefixsliceentrysource))) + (((dst_negative_code_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)) * S ((dst_negative_code_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)) + ((dst_negative_scale_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)))) + ((((dst_negative_code_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)) * S ((dst_negative_code_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)) + ((dst_negative_scale_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource))) + (((dst_negative_code_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)) * S ((dst_negative_code_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)) + ((dst_negative_scale_concat_tail_prefixsliceentrysource) + (dst_negative_scale_concat_tail_prefixsliceentrysource)))))) /\ (((((exists ff_h_pvs_concat_tail_prefixsliceentrysourcepositive. ff_h_pvs_concat_tail_prefixsliceentrysourcepositive + S (dst_positive_concat_tail_prefixsliceentrysource) = S ((S (((((o) + ((s) * (p)))) + ((s) * (srs_index_concat_tail_prefixslice))))) * dst_positive_scale_concat_tail_prefixsliceentrysource)) /\ exists ff_q_pvs_concat_tail_prefixsliceentrysourcepositive. dst_positive_code_concat_tail_prefixsliceentrysource = ff_q_pvs_concat_tail_prefixsliceentrysourcepositive * S ((S (((((o) + ((s) * (p)))) + ((s) * (srs_index_concat_tail_prefixslice))))) * dst_positive_scale_concat_tail_prefixsliceentrysource) + (dst_positive_concat_tail_prefixsliceentrysource))) /\ (((((exists ff_h_pvs_concat_tail_prefixsliceentrysourcenegative. ff_h_pvs_concat_tail_prefixsliceentrysourcenegative + S (dst_negative_concat_tail_prefixsliceentrysource) = S ((S (((((o) + ((s) * (p)))) + ((s) * (srs_index_concat_tail_prefixslice))))) * dst_negative_scale_concat_tail_prefixsliceentrysource)) /\ exists ff_q_pvs_concat_tail_prefixsliceentrysourcenegative. dst_negative_code_concat_tail_prefixsliceentrysource = ff_q_pvs_concat_tail_prefixsliceentrysourcenegative * S ((S (((((o) + ((s) * (p)))) + ((s) * (srs_index_concat_tail_prefixslice))))) * dst_negative_scale_concat_tail_prefixsliceentrysource) + (dst_negative_concat_tail_prefixsliceentrysource))) /\ (exists ge_balance_positive_concat_tail_prefixsliceentrysourcevalue ge_balance_negative_concat_tail_prefixsliceentrysourcevalue. (((((srs_value_concat_tail_prefixslice) = 2 * (ge_balance_positive_concat_tail_prefixsliceentrysourcevalue) /\ (ge_balance_negative_concat_tail_prefixsliceentrysourcevalue) = 0) \/ exists ge_signed_half_concat_tail_prefixsliceentrysourcevaluedecode. (((srs_value_concat_tail_prefixslice) = 2 * ge_signed_half_concat_tail_prefixsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_concat_tail_prefixsliceentrysourcevalue) = 0) /\ (ge_balance_negative_concat_tail_prefixsliceentrysourcevalue) = S ge_signed_half_concat_tail_prefixsliceentrysourcevaluedecode))) /\ ((dst_positive_concat_tail_prefixsliceentrysource) + ge_balance_negative_concat_tail_prefixsliceentrysourcevalue = (dst_negative_concat_tail_prefixsliceentrysource) + ge_balance_positive_concat_tail_prefixsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_concat_tail_prefixsliceentryoutput dst_positive_scale_concat_tail_prefixsliceentryoutput dst_negative_code_concat_tail_prefixsliceentryoutput dst_negative_scale_concat_tail_prefixsliceentryoutput dst_positive_concat_tail_prefixsliceentryoutput dst_negative_concat_tail_prefixsliceentryoutput. (((srs_slice_concat_tail_prefix) = (((((dst_positive_code_concat_tail_prefixsliceentryoutput) + (dst_positive_scale_concat_tail_prefixsliceentryoutput)) * S ((dst_positive_code_concat_tail_prefixsliceentryoutput) + (dst_positive_scale_concat_tail_prefixsliceentryoutput)) + ((dst_positive_scale_concat_tail_prefixsliceentryoutput) + (dst_positive_scale_concat_tail_prefixsliceentryoutput))) + (((dst_negative_code_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)) * S ((dst_negative_code_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)) + ((dst_negative_scale_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)))) * S ((((dst_positive_code_concat_tail_prefixsliceentryoutput) + (dst_positive_scale_concat_tail_prefixsliceentryoutput)) * S ((dst_positive_code_concat_tail_prefixsliceentryoutput) + (dst_positive_scale_concat_tail_prefixsliceentryoutput)) + ((dst_positive_scale_concat_tail_prefixsliceentryoutput) + (dst_positive_scale_concat_tail_prefixsliceentryoutput))) + (((dst_negative_code_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)) * S ((dst_negative_code_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)) + ((dst_negative_scale_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)))) + ((((dst_negative_code_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)) * S ((dst_negative_code_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)) + ((dst_negative_scale_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput))) + (((dst_negative_code_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)) * S ((dst_negative_code_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)) + ((dst_negative_scale_concat_tail_prefixsliceentryoutput) + (dst_negative_scale_concat_tail_prefixsliceentryoutput)))))) /\ (((((exists ff_h_pvs_concat_tail_prefixsliceentryoutputpositive. ff_h_pvs_concat_tail_prefixsliceentryoutputpositive + S (dst_positive_concat_tail_prefixsliceentryoutput) = S ((S (srs_index_concat_tail_prefixslice)) * dst_positive_scale_concat_tail_prefixsliceentryoutput)) /\ exists ff_q_pvs_concat_tail_prefixsliceentryoutputpositive. dst_positive_code_concat_tail_prefixsliceentryoutput = ff_q_pvs_concat_tail_prefixsliceentryoutputpositive * S ((S (srs_index_concat_tail_prefixslice)) * dst_positive_scale_concat_tail_prefixsliceentryoutput) + (dst_positive_concat_tail_prefixsliceentryoutput))) /\ (((((exists ff_h_pvs_concat_tail_prefixsliceentryoutputnegative. ff_h_pvs_concat_tail_prefixsliceentryoutputnegative + S (dst_negative_concat_tail_prefixsliceentryoutput) = S ((S (srs_index_concat_tail_prefixslice)) * dst_negative_scale_concat_tail_prefixsliceentryoutput)) /\ exists ff_q_pvs_concat_tail_prefixsliceentryoutputnegative. dst_negative_code_concat_tail_prefixsliceentryoutput = ff_q_pvs_concat_tail_prefixsliceentryoutputnegative * S ((S (srs_index_concat_tail_prefixslice)) * dst_negative_scale_concat_tail_prefixsliceentryoutput) + (dst_negative_concat_tail_prefixsliceentryoutput))) /\ (exists ge_balance_positive_concat_tail_prefixsliceentryoutputvalue ge_balance_negative_concat_tail_prefixsliceentryoutputvalue. (((((srs_value_concat_tail_prefixslice) = 2 * (ge_balance_positive_concat_tail_prefixsliceentryoutputvalue) /\ (ge_balance_negative_concat_tail_prefixsliceentryoutputvalue) = 0) \/ exists ge_signed_half_concat_tail_prefixsliceentryoutputvaluedecode. (((srs_value_concat_tail_prefixslice) = 2 * ge_signed_half_concat_tail_prefixsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_concat_tail_prefixsliceentryoutputvalue) = 0) /\ (ge_balance_negative_concat_tail_prefixsliceentryoutputvalue) = S ge_signed_half_concat_tail_prefixsliceentryoutputvaluedecode))) /\ ((dst_positive_concat_tail_prefixsliceentryoutput) + ge_balance_negative_concat_tail_prefixsliceentryoutputvalue = (dst_negative_concat_tail_prefixsliceentryoutput) + ge_balance_positive_concat_tail_prefixsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_concat_tail_prefixsum dst_positive_scale_concat_tail_prefixsum dst_negative_code_concat_tail_prefixsum dst_negative_scale_concat_tail_prefixsum dst_positive_sum_concat_tail_prefixsum dst_negative_sum_concat_tail_prefixsum. (((srs_slice_concat_tail_prefix) = (((((dst_positive_code_concat_tail_prefixsum) + (dst_positive_scale_concat_tail_prefixsum)) * S ((dst_positive_code_concat_tail_prefixsum) + (dst_positive_scale_concat_tail_prefixsum)) + ((dst_positive_scale_concat_tail_prefixsum) + (dst_positive_scale_concat_tail_prefixsum))) + (((dst_negative_code_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)) * S ((dst_negative_code_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)) + ((dst_negative_scale_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)))) * S ((((dst_positive_code_concat_tail_prefixsum) + (dst_positive_scale_concat_tail_prefixsum)) * S ((dst_positive_code_concat_tail_prefixsum) + (dst_positive_scale_concat_tail_prefixsum)) + ((dst_positive_scale_concat_tail_prefixsum) + (dst_positive_scale_concat_tail_prefixsum))) + (((dst_negative_code_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)) * S ((dst_negative_code_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)) + ((dst_negative_scale_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)))) + ((((dst_negative_code_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)) * S ((dst_negative_code_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)) + ((dst_negative_scale_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum))) + (((dst_negative_code_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)) * S ((dst_negative_code_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)) + ((dst_negative_scale_concat_tail_prefixsum) + (dst_negative_scale_concat_tail_prefixsum)))))) /\ (((exists fs_u_dst_concat_tail_prefixsumpositive fs_v_dst_concat_tail_prefixsumpositive. ((((exists fs_h_dst_concat_tail_prefixsumpositive_body_start. fs_h_dst_concat_tail_prefixsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_tail_prefixsumpositive)) /\ exists fs_q_dst_concat_tail_prefixsumpositive_body_start. fs_u_dst_concat_tail_prefixsumpositive = fs_q_dst_concat_tail_prefixsumpositive_body_start * S ((S (0)) * fs_v_dst_concat_tail_prefixsumpositive) + (0))) /\ ((((exists fs_h_dst_concat_tail_prefixsumpositive_body_terminal. fs_h_dst_concat_tail_prefixsumpositive_body_terminal + S (dst_positive_sum_concat_tail_prefixsum) = S ((S (q)) * fs_v_dst_concat_tail_prefixsumpositive)) /\ exists fs_q_dst_concat_tail_prefixsumpositive_body_terminal. fs_u_dst_concat_tail_prefixsumpositive = fs_q_dst_concat_tail_prefixsumpositive_body_terminal * S ((S (q)) * fs_v_dst_concat_tail_prefixsumpositive) + (dst_positive_sum_concat_tail_prefixsum))) /\ forall fs_i_dst_concat_tail_prefixsumpositive_body_steps. (exists fs_lt_dst_concat_tail_prefixsumpositive_body_steps_bound. fs_lt_dst_concat_tail_prefixsumpositive_body_steps_bound + S fs_i_dst_concat_tail_prefixsumpositive_body_steps = q) -> exists fs_a_dst_concat_tail_prefixsumpositive_body_steps fs_r_dst_concat_tail_prefixsumpositive_body_steps fs_s_dst_concat_tail_prefixsumpositive_body_steps. ((((exists fs_h_dst_concat_tail_prefixsumpositive_body_steps_summand. fs_h_dst_concat_tail_prefixsumpositive_body_steps_summand + S (fs_a_dst_concat_tail_prefixsumpositive_body_steps) = S ((S (fs_i_dst_concat_tail_prefixsumpositive_body_steps)) * dst_positive_scale_concat_tail_prefixsum)) /\ exists fs_q_dst_concat_tail_prefixsumpositive_body_steps_summand. dst_positive_code_concat_tail_prefixsum = fs_q_dst_concat_tail_prefixsumpositive_body_steps_summand * S ((S (fs_i_dst_concat_tail_prefixsumpositive_body_steps)) * dst_positive_scale_concat_tail_prefixsum) + (fs_a_dst_concat_tail_prefixsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_tail_prefixsumpositive_body_steps_partial. fs_h_dst_concat_tail_prefixsumpositive_body_steps_partial + S (fs_r_dst_concat_tail_prefixsumpositive_body_steps) = S ((S (fs_i_dst_concat_tail_prefixsumpositive_body_steps)) * fs_v_dst_concat_tail_prefixsumpositive)) /\ exists fs_q_dst_concat_tail_prefixsumpositive_body_steps_partial. fs_u_dst_concat_tail_prefixsumpositive = fs_q_dst_concat_tail_prefixsumpositive_body_steps_partial * S ((S (fs_i_dst_concat_tail_prefixsumpositive_body_steps)) * fs_v_dst_concat_tail_prefixsumpositive) + (fs_r_dst_concat_tail_prefixsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_tail_prefixsumpositive_body_steps_successor. fs_h_dst_concat_tail_prefixsumpositive_body_steps_successor + S (fs_s_dst_concat_tail_prefixsumpositive_body_steps) = S ((S (S fs_i_dst_concat_tail_prefixsumpositive_body_steps)) * fs_v_dst_concat_tail_prefixsumpositive)) /\ exists fs_q_dst_concat_tail_prefixsumpositive_body_steps_successor. fs_u_dst_concat_tail_prefixsumpositive = fs_q_dst_concat_tail_prefixsumpositive_body_steps_successor * S ((S (S fs_i_dst_concat_tail_prefixsumpositive_body_steps)) * fs_v_dst_concat_tail_prefixsumpositive) + (fs_s_dst_concat_tail_prefixsumpositive_body_steps))) /\ fs_s_dst_concat_tail_prefixsumpositive_body_steps = fs_r_dst_concat_tail_prefixsumpositive_body_steps + fs_a_dst_concat_tail_prefixsumpositive_body_steps)))))) /\ (((exists fs_u_dst_concat_tail_prefixsumnegative fs_v_dst_concat_tail_prefixsumnegative. ((((exists fs_h_dst_concat_tail_prefixsumnegative_body_start. fs_h_dst_concat_tail_prefixsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_tail_prefixsumnegative)) /\ exists fs_q_dst_concat_tail_prefixsumnegative_body_start. fs_u_dst_concat_tail_prefixsumnegative = fs_q_dst_concat_tail_prefixsumnegative_body_start * S ((S (0)) * fs_v_dst_concat_tail_prefixsumnegative) + (0))) /\ ((((exists fs_h_dst_concat_tail_prefixsumnegative_body_terminal. fs_h_dst_concat_tail_prefixsumnegative_body_terminal + S (dst_negative_sum_concat_tail_prefixsum) = S ((S (q)) * fs_v_dst_concat_tail_prefixsumnegative)) /\ exists fs_q_dst_concat_tail_prefixsumnegative_body_terminal. fs_u_dst_concat_tail_prefixsumnegative = fs_q_dst_concat_tail_prefixsumnegative_body_terminal * S ((S (q)) * fs_v_dst_concat_tail_prefixsumnegative) + (dst_negative_sum_concat_tail_prefixsum))) /\ forall fs_i_dst_concat_tail_prefixsumnegative_body_steps. (exists fs_lt_dst_concat_tail_prefixsumnegative_body_steps_bound. fs_lt_dst_concat_tail_prefixsumnegative_body_steps_bound + S fs_i_dst_concat_tail_prefixsumnegative_body_steps = q) -> exists fs_a_dst_concat_tail_prefixsumnegative_body_steps fs_r_dst_concat_tail_prefixsumnegative_body_steps fs_s_dst_concat_tail_prefixsumnegative_body_steps. ((((exists fs_h_dst_concat_tail_prefixsumnegative_body_steps_summand. fs_h_dst_concat_tail_prefixsumnegative_body_steps_summand + S (fs_a_dst_concat_tail_prefixsumnegative_body_steps) = S ((S (fs_i_dst_concat_tail_prefixsumnegative_body_steps)) * dst_negative_scale_concat_tail_prefixsum)) /\ exists fs_q_dst_concat_tail_prefixsumnegative_body_steps_summand. dst_negative_code_concat_tail_prefixsum = fs_q_dst_concat_tail_prefixsumnegative_body_steps_summand * S ((S (fs_i_dst_concat_tail_prefixsumnegative_body_steps)) * dst_negative_scale_concat_tail_prefixsum) + (fs_a_dst_concat_tail_prefixsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_tail_prefixsumnegative_body_steps_partial. fs_h_dst_concat_tail_prefixsumnegative_body_steps_partial + S (fs_r_dst_concat_tail_prefixsumnegative_body_steps) = S ((S (fs_i_dst_concat_tail_prefixsumnegative_body_steps)) * fs_v_dst_concat_tail_prefixsumnegative)) /\ exists fs_q_dst_concat_tail_prefixsumnegative_body_steps_partial. fs_u_dst_concat_tail_prefixsumnegative = fs_q_dst_concat_tail_prefixsumnegative_body_steps_partial * S ((S (fs_i_dst_concat_tail_prefixsumnegative_body_steps)) * fs_v_dst_concat_tail_prefixsumnegative) + (fs_r_dst_concat_tail_prefixsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_tail_prefixsumnegative_body_steps_successor. fs_h_dst_concat_tail_prefixsumnegative_body_steps_successor + S (fs_s_dst_concat_tail_prefixsumnegative_body_steps) = S ((S (S fs_i_dst_concat_tail_prefixsumnegative_body_steps)) * fs_v_dst_concat_tail_prefixsumnegative)) /\ exists fs_q_dst_concat_tail_prefixsumnegative_body_steps_successor. fs_u_dst_concat_tail_prefixsumnegative = fs_q_dst_concat_tail_prefixsumnegative_body_steps_successor * S ((S (S fs_i_dst_concat_tail_prefixsumnegative_body_steps)) * fs_v_dst_concat_tail_prefixsumnegative) + (fs_s_dst_concat_tail_prefixsumnegative_body_steps))) /\ fs_s_dst_concat_tail_prefixsumnegative_body_steps = fs_r_dst_concat_tail_prefixsumnegative_body_steps + fs_a_dst_concat_tail_prefixsumnegative_body_steps)))))) /\ (exists ge_balance_positive_concat_tail_prefixsumresult ge_balance_negative_concat_tail_prefixsumresult. (((((u) = 2 * (ge_balance_positive_concat_tail_prefixsumresult) /\ (ge_balance_negative_concat_tail_prefixsumresult) = 0) \/ exists ge_signed_half_concat_tail_prefixsumresultdecode. (((u) = 2 * ge_signed_half_concat_tail_prefixsumresultdecode + 1 /\ (ge_balance_positive_concat_tail_prefixsumresult) = 0) /\ (ge_balance_negative_concat_tail_prefixsumresult) = S ge_signed_half_concat_tail_prefixsumresultdecode))) /\ ((dst_positive_sum_concat_tail_prefixsum) + ge_balance_negative_concat_tail_prefixsumresult = (dst_negative_sum_concat_tail_prefixsum) + ge_balance_positive_concat_tail_prefixsumresult))))))))))) /\ (((exists dst_positive_code_concat_tail_last dst_positive_scale_concat_tail_last dst_negative_code_concat_tail_last dst_negative_scale_concat_tail_last dst_positive_concat_tail_last dst_negative_concat_tail_last. (((F) = (((((dst_positive_code_concat_tail_last) + (dst_positive_scale_concat_tail_last)) * S ((dst_positive_code_concat_tail_last) + (dst_positive_scale_concat_tail_last)) + ((dst_positive_scale_concat_tail_last) + (dst_positive_scale_concat_tail_last))) + (((dst_negative_code_concat_tail_last) + (dst_negative_scale_concat_tail_last)) * S ((dst_negative_code_concat_tail_last) + (dst_negative_scale_concat_tail_last)) + ((dst_negative_scale_concat_tail_last) + (dst_negative_scale_concat_tail_last)))) * S ((((dst_positive_code_concat_tail_last) + (dst_positive_scale_concat_tail_last)) * S ((dst_positive_code_concat_tail_last) + (dst_positive_scale_concat_tail_last)) + ((dst_positive_scale_concat_tail_last) + (dst_positive_scale_concat_tail_last))) + (((dst_negative_code_concat_tail_last) + (dst_negative_scale_concat_tail_last)) * S ((dst_negative_code_concat_tail_last) + (dst_negative_scale_concat_tail_last)) + ((dst_negative_scale_concat_tail_last) + (dst_negative_scale_concat_tail_last)))) + ((((dst_negative_code_concat_tail_last) + (dst_negative_scale_concat_tail_last)) * S ((dst_negative_code_concat_tail_last) + (dst_negative_scale_concat_tail_last)) + ((dst_negative_scale_concat_tail_last) + (dst_negative_scale_concat_tail_last))) + (((dst_negative_code_concat_tail_last) + (dst_negative_scale_concat_tail_last)) * S ((dst_negative_code_concat_tail_last) + (dst_negative_scale_concat_tail_last)) + ((dst_negative_scale_concat_tail_last) + (dst_negative_scale_concat_tail_last)))))) /\ (((((exists ff_h_pvs_concat_tail_lastpositive. ff_h_pvs_concat_tail_lastpositive + S (dst_positive_concat_tail_last) = S ((S (((((o) + ((s) * (p)))) + ((s) * (q))))) * dst_positive_scale_concat_tail_last)) /\ exists ff_q_pvs_concat_tail_lastpositive. dst_positive_code_concat_tail_last = ff_q_pvs_concat_tail_lastpositive * S ((S (((((o) + ((s) * (p)))) + ((s) * (q))))) * dst_positive_scale_concat_tail_last) + (dst_positive_concat_tail_last))) /\ (((((exists ff_h_pvs_concat_tail_lastnegative. ff_h_pvs_concat_tail_lastnegative + S (dst_negative_concat_tail_last) = S ((S (((((o) + ((s) * (p)))) + ((s) * (q))))) * dst_negative_scale_concat_tail_last)) /\ exists ff_q_pvs_concat_tail_lastnegative. dst_negative_code_concat_tail_last = ff_q_pvs_concat_tail_lastnegative * S ((S (((((o) + ((s) * (p)))) + ((s) * (q))))) * dst_negative_scale_concat_tail_last) + (dst_negative_concat_tail_last))) /\ (exists ge_balance_positive_concat_tail_lastvalue ge_balance_negative_concat_tail_lastvalue. (((((v) = 2 * (ge_balance_positive_concat_tail_lastvalue) /\ (ge_balance_negative_concat_tail_lastvalue) = 0) \/ exists ge_signed_half_concat_tail_lastvaluedecode. (((v) = 2 * ge_signed_half_concat_tail_lastvaluedecode + 1 /\ (ge_balance_positive_concat_tail_lastvalue) = 0) /\ (ge_balance_negative_concat_tail_lastvalue) = S ge_signed_half_concat_tail_lastvaluedecode))) /\ ((dst_positive_concat_tail_last) + ge_balance_negative_concat_tail_lastvalue = (dst_negative_concat_tail_last) + ge_balance_positive_concat_tail_lastvalue))))))))) /\ (exists dsa_ap_concat_tail_add dsa_an_concat_tail_add dsa_bp_concat_tail_add dsa_bn_concat_tail_add dsa_cp_concat_tail_add dsa_cn_concat_tail_add. (((((u) = 2 * (dsa_ap_concat_tail_add) /\ (dsa_an_concat_tail_add) = 0) \/ exists ge_signed_half_concat_tail_addleft. (((u) = 2 * ge_signed_half_concat_tail_addleft + 1 /\ (dsa_ap_concat_tail_add) = 0) /\ (dsa_an_concat_tail_add) = S ge_signed_half_concat_tail_addleft))) /\ ((((((v) = 2 * (dsa_bp_concat_tail_add) /\ (dsa_bn_concat_tail_add) = 0) \/ exists ge_signed_half_concat_tail_addright. (((v) = 2 * ge_signed_half_concat_tail_addright + 1 /\ (dsa_bp_concat_tail_add) = 0) /\ (dsa_bn_concat_tail_add) = S ge_signed_half_concat_tail_addright))) /\ ((((((b) = 2 * (dsa_cp_concat_tail_add) /\ (dsa_cn_concat_tail_add) = 0) \/ exists ge_signed_half_concat_tail_addoutput. (((b) = 2 * ge_signed_half_concat_tail_addoutput + 1 /\ (dsa_cp_concat_tail_add) = 0) /\ (dsa_cn_concat_tail_add) = S ge_signed_half_concat_tail_addoutput))) /\ ((dsa_ap_concat_tail_add + dsa_bp_concat_tail_add) + dsa_cn_concat_tail_add = (dsa_an_concat_tail_add + dsa_bn_concat_tail_add) + dsa_cp_concat_tail_add))))))))))) - 0054
specialize signed_rectangular_slice_sum_successor_decompose (F) - 0055
specialize signed_rectangular_slice_sum_successor_decompose (((o) + ((s) * (p)))) - 0056
specialize signed_rectangular_slice_sum_successor_decompose (s) - 0057
specialize signed_rectangular_slice_sum_successor_decompose (q) - 0058
specialize signed_rectangular_slice_sum_successor_decompose (b) - 0059
apply signed_rectangular_slice_sum_successor_decompose - 0060
exact hb - 0061
cases hd - 0062
cases hd_witness - 0063
cases hd_witness_witness - 0064
cases hd_witness_witness_right - 0065
have ht : exists t. (exists dsa_ap_concat_intermediate dsa_an_concat_intermediate dsa_bp_concat_intermediate dsa_bn_concat_intermediate dsa_cp_concat_intermediate dsa_cn_concat_intermediate. (((((a) = 2 * (dsa_ap_concat_intermediate) /\ (dsa_an_concat_intermediate) = 0) \/ exists ge_signed_half_concat_intermediateleft. (((a) = 2 * ge_signed_half_concat_intermediateleft + 1 /\ (dsa_ap_concat_intermediate) = 0) /\ (dsa_an_concat_intermediate) = S ge_signed_half_concat_intermediateleft))) /\ ((((((x) = 2 * (dsa_bp_concat_intermediate) /\ (dsa_bn_concat_intermediate) = 0) \/ exists ge_signed_half_concat_intermediateright. (((x) = 2 * ge_signed_half_concat_intermediateright + 1 /\ (dsa_bp_concat_intermediate) = 0) /\ (dsa_bn_concat_intermediate) = S ge_signed_half_concat_intermediateright))) /\ ((((((t) = 2 * (dsa_cp_concat_intermediate) /\ (dsa_cn_concat_intermediate) = 0) \/ exists ge_signed_half_concat_intermediateoutput. (((t) = 2 * ge_signed_half_concat_intermediateoutput + 1 /\ (dsa_cp_concat_intermediate) = 0) /\ (dsa_cn_concat_intermediate) = S ge_signed_half_concat_intermediateoutput))) /\ ((dsa_ap_concat_intermediate + dsa_bp_concat_intermediate) + dsa_cn_concat_intermediate = (dsa_an_concat_intermediate + dsa_bn_concat_intermediate) + dsa_cp_concat_intermediate))))))) - 0066
specialize signed_add_total (a) - 0067
specialize signed_add_total (x) - 0068
apply signed_add_total - 0069
cases ht - 0070
have hp : exists srs_slice_concat_prefix. ((((exists dst_positive_code_concat_prefixslicesource_table dst_positive_scale_concat_prefixslicesource_table dst_negative_code_concat_prefixslicesource_table dst_negative_scale_concat_prefixslicesource_table. (((F) = (((((dst_positive_code_concat_prefixslicesource_table) + (dst_positive_scale_concat_prefixslicesource_table)) * S ((dst_positive_code_concat_prefixslicesource_table) + (dst_positive_scale_concat_prefixslicesource_table)) + ((dst_positive_scale_concat_prefixslicesource_table) + (dst_positive_scale_concat_prefixslicesource_table))) + (((dst_negative_code_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)) * S ((dst_negative_code_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)) + ((dst_negative_scale_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)))) * S ((((dst_positive_code_concat_prefixslicesource_table) + (dst_positive_scale_concat_prefixslicesource_table)) * S ((dst_positive_code_concat_prefixslicesource_table) + (dst_positive_scale_concat_prefixslicesource_table)) + ((dst_positive_scale_concat_prefixslicesource_table) + (dst_positive_scale_concat_prefixslicesource_table))) + (((dst_negative_code_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)) * S ((dst_negative_code_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)) + ((dst_negative_scale_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)))) + ((((dst_negative_code_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)) * S ((dst_negative_code_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)) + ((dst_negative_scale_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table))) + (((dst_negative_code_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)) * S ((dst_negative_code_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)) + ((dst_negative_scale_concat_prefixslicesource_table) + (dst_negative_scale_concat_prefixslicesource_table)))))) /\ (forall dst_index_concat_prefixslicesource_table. (exists pvs_le_gap_concat_prefixslicesource_tabledomain. pvs_le_gap_concat_prefixslicesource_tabledomain + (dst_index_concat_prefixslicesource_table) = (0)) -> exists dst_positive_concat_prefixslicesource_table dst_negative_concat_prefixslicesource_table dst_value_concat_prefixslicesource_table. ((((exists ff_h_pvs_concat_prefixslicesource_tableentrypositive. ff_h_pvs_concat_prefixslicesource_tableentrypositive + S (dst_positive_concat_prefixslicesource_table) = S ((S (dst_index_concat_prefixslicesource_table)) * dst_positive_scale_concat_prefixslicesource_table)) /\ exists ff_q_pvs_concat_prefixslicesource_tableentrypositive. dst_positive_code_concat_prefixslicesource_table = ff_q_pvs_concat_prefixslicesource_tableentrypositive * S ((S (dst_index_concat_prefixslicesource_table)) * dst_positive_scale_concat_prefixslicesource_table) + (dst_positive_concat_prefixslicesource_table))) /\ (((((exists ff_h_pvs_concat_prefixslicesource_tableentrynegative. ff_h_pvs_concat_prefixslicesource_tableentrynegative + S (dst_negative_concat_prefixslicesource_table) = S ((S (dst_index_concat_prefixslicesource_table)) * dst_negative_scale_concat_prefixslicesource_table)) /\ exists ff_q_pvs_concat_prefixslicesource_tableentrynegative. dst_negative_code_concat_prefixslicesource_table = ff_q_pvs_concat_prefixslicesource_tableentrynegative * S ((S (dst_index_concat_prefixslicesource_table)) * dst_negative_scale_concat_prefixslicesource_table) + (dst_negative_concat_prefixslicesource_table))) /\ (exists ge_balance_positive_concat_prefixslicesource_tableentryvalue ge_balance_negative_concat_prefixslicesource_tableentryvalue. (((((dst_value_concat_prefixslicesource_table) = 2 * (ge_balance_positive_concat_prefixslicesource_tableentryvalue) /\ (ge_balance_negative_concat_prefixslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_concat_prefixslicesource_tableentryvaluedecode. (((dst_value_concat_prefixslicesource_table) = 2 * ge_signed_half_concat_prefixslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_prefixslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_concat_prefixslicesource_tableentryvalue) = S ge_signed_half_concat_prefixslicesource_tableentryvaluedecode))) /\ ((dst_positive_concat_prefixslicesource_table) + ge_balance_negative_concat_prefixslicesource_tableentryvalue = (dst_negative_concat_prefixslicesource_table) + ge_balance_positive_concat_prefixslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_concat_prefixsliceoutput_table dst_positive_scale_concat_prefixsliceoutput_table dst_negative_code_concat_prefixsliceoutput_table dst_negative_scale_concat_prefixsliceoutput_table. (((srs_slice_concat_prefix) = (((((dst_positive_code_concat_prefixsliceoutput_table) + (dst_positive_scale_concat_prefixsliceoutput_table)) * S ((dst_positive_code_concat_prefixsliceoutput_table) + (dst_positive_scale_concat_prefixsliceoutput_table)) + ((dst_positive_scale_concat_prefixsliceoutput_table) + (dst_positive_scale_concat_prefixsliceoutput_table))) + (((dst_negative_code_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)) * S ((dst_negative_code_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)) + ((dst_negative_scale_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)))) * S ((((dst_positive_code_concat_prefixsliceoutput_table) + (dst_positive_scale_concat_prefixsliceoutput_table)) * S ((dst_positive_code_concat_prefixsliceoutput_table) + (dst_positive_scale_concat_prefixsliceoutput_table)) + ((dst_positive_scale_concat_prefixsliceoutput_table) + (dst_positive_scale_concat_prefixsliceoutput_table))) + (((dst_negative_code_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)) * S ((dst_negative_code_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)) + ((dst_negative_scale_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)))) + ((((dst_negative_code_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)) * S ((dst_negative_code_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)) + ((dst_negative_scale_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table))) + (((dst_negative_code_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)) * S ((dst_negative_code_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)) + ((dst_negative_scale_concat_prefixsliceoutput_table) + (dst_negative_scale_concat_prefixsliceoutput_table)))))) /\ (forall dst_index_concat_prefixsliceoutput_table. (exists pvs_le_gap_concat_prefixsliceoutput_tabledomain. pvs_le_gap_concat_prefixsliceoutput_tabledomain + (dst_index_concat_prefixsliceoutput_table) = (p+q)) -> exists dst_positive_concat_prefixsliceoutput_table dst_negative_concat_prefixsliceoutput_table dst_value_concat_prefixsliceoutput_table. ((((exists ff_h_pvs_concat_prefixsliceoutput_tableentrypositive. ff_h_pvs_concat_prefixsliceoutput_tableentrypositive + S (dst_positive_concat_prefixsliceoutput_table) = S ((S (dst_index_concat_prefixsliceoutput_table)) * dst_positive_scale_concat_prefixsliceoutput_table)) /\ exists ff_q_pvs_concat_prefixsliceoutput_tableentrypositive. dst_positive_code_concat_prefixsliceoutput_table = ff_q_pvs_concat_prefixsliceoutput_tableentrypositive * S ((S (dst_index_concat_prefixsliceoutput_table)) * dst_positive_scale_concat_prefixsliceoutput_table) + (dst_positive_concat_prefixsliceoutput_table))) /\ (((((exists ff_h_pvs_concat_prefixsliceoutput_tableentrynegative. ff_h_pvs_concat_prefixsliceoutput_tableentrynegative + S (dst_negative_concat_prefixsliceoutput_table) = S ((S (dst_index_concat_prefixsliceoutput_table)) * dst_negative_scale_concat_prefixsliceoutput_table)) /\ exists ff_q_pvs_concat_prefixsliceoutput_tableentrynegative. dst_negative_code_concat_prefixsliceoutput_table = ff_q_pvs_concat_prefixsliceoutput_tableentrynegative * S ((S (dst_index_concat_prefixsliceoutput_table)) * dst_negative_scale_concat_prefixsliceoutput_table) + (dst_negative_concat_prefixsliceoutput_table))) /\ (exists ge_balance_positive_concat_prefixsliceoutput_tableentryvalue ge_balance_negative_concat_prefixsliceoutput_tableentryvalue. (((((dst_value_concat_prefixsliceoutput_table) = 2 * (ge_balance_positive_concat_prefixsliceoutput_tableentryvalue) /\ (ge_balance_negative_concat_prefixsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_concat_prefixsliceoutput_tableentryvaluedecode. (((dst_value_concat_prefixsliceoutput_table) = 2 * ge_signed_half_concat_prefixsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_concat_prefixsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_concat_prefixsliceoutput_tableentryvalue) = S ge_signed_half_concat_prefixsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_concat_prefixsliceoutput_table) + ge_balance_negative_concat_prefixsliceoutput_tableentryvalue = (dst_negative_concat_prefixsliceoutput_table) + ge_balance_positive_concat_prefixsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_concat_prefixslice. (exists pvs_gap_concat_prefixslicebound. pvs_gap_concat_prefixslicebound + S (srs_index_concat_prefixslice) = (p+q)) -> exists srs_value_concat_prefixslice. (((exists dst_positive_code_concat_prefixsliceentrysource dst_positive_scale_concat_prefixsliceentrysource dst_negative_code_concat_prefixsliceentrysource dst_negative_scale_concat_prefixsliceentrysource dst_positive_concat_prefixsliceentrysource dst_negative_concat_prefixsliceentrysource. (((F) = (((((dst_positive_code_concat_prefixsliceentrysource) + (dst_positive_scale_concat_prefixsliceentrysource)) * S ((dst_positive_code_concat_prefixsliceentrysource) + (dst_positive_scale_concat_prefixsliceentrysource)) + ((dst_positive_scale_concat_prefixsliceentrysource) + (dst_positive_scale_concat_prefixsliceentrysource))) + (((dst_negative_code_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)) * S ((dst_negative_code_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)) + ((dst_negative_scale_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)))) * S ((((dst_positive_code_concat_prefixsliceentrysource) + (dst_positive_scale_concat_prefixsliceentrysource)) * S ((dst_positive_code_concat_prefixsliceentrysource) + (dst_positive_scale_concat_prefixsliceentrysource)) + ((dst_positive_scale_concat_prefixsliceentrysource) + (dst_positive_scale_concat_prefixsliceentrysource))) + (((dst_negative_code_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)) * S ((dst_negative_code_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)) + ((dst_negative_scale_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)))) + ((((dst_negative_code_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)) * S ((dst_negative_code_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)) + ((dst_negative_scale_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource))) + (((dst_negative_code_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)) * S ((dst_negative_code_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)) + ((dst_negative_scale_concat_prefixsliceentrysource) + (dst_negative_scale_concat_prefixsliceentrysource)))))) /\ (((((exists ff_h_pvs_concat_prefixsliceentrysourcepositive. ff_h_pvs_concat_prefixsliceentrysourcepositive + S (dst_positive_concat_prefixsliceentrysource) = S ((S (((o) + ((s) * (srs_index_concat_prefixslice))))) * dst_positive_scale_concat_prefixsliceentrysource)) /\ exists ff_q_pvs_concat_prefixsliceentrysourcepositive. dst_positive_code_concat_prefixsliceentrysource = ff_q_pvs_concat_prefixsliceentrysourcepositive * S ((S (((o) + ((s) * (srs_index_concat_prefixslice))))) * dst_positive_scale_concat_prefixsliceentrysource) + (dst_positive_concat_prefixsliceentrysource))) /\ (((((exists ff_h_pvs_concat_prefixsliceentrysourcenegative. ff_h_pvs_concat_prefixsliceentrysourcenegative + S (dst_negative_concat_prefixsliceentrysource) = S ((S (((o) + ((s) * (srs_index_concat_prefixslice))))) * dst_negative_scale_concat_prefixsliceentrysource)) /\ exists ff_q_pvs_concat_prefixsliceentrysourcenegative. dst_negative_code_concat_prefixsliceentrysource = ff_q_pvs_concat_prefixsliceentrysourcenegative * S ((S (((o) + ((s) * (srs_index_concat_prefixslice))))) * dst_negative_scale_concat_prefixsliceentrysource) + (dst_negative_concat_prefixsliceentrysource))) /\ (exists ge_balance_positive_concat_prefixsliceentrysourcevalue ge_balance_negative_concat_prefixsliceentrysourcevalue. (((((srs_value_concat_prefixslice) = 2 * (ge_balance_positive_concat_prefixsliceentrysourcevalue) /\ (ge_balance_negative_concat_prefixsliceentrysourcevalue) = 0) \/ exists ge_signed_half_concat_prefixsliceentrysourcevaluedecode. (((srs_value_concat_prefixslice) = 2 * ge_signed_half_concat_prefixsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_concat_prefixsliceentrysourcevalue) = 0) /\ (ge_balance_negative_concat_prefixsliceentrysourcevalue) = S ge_signed_half_concat_prefixsliceentrysourcevaluedecode))) /\ ((dst_positive_concat_prefixsliceentrysource) + ge_balance_negative_concat_prefixsliceentrysourcevalue = (dst_negative_concat_prefixsliceentrysource) + ge_balance_positive_concat_prefixsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_concat_prefixsliceentryoutput dst_positive_scale_concat_prefixsliceentryoutput dst_negative_code_concat_prefixsliceentryoutput dst_negative_scale_concat_prefixsliceentryoutput dst_positive_concat_prefixsliceentryoutput dst_negative_concat_prefixsliceentryoutput. (((srs_slice_concat_prefix) = (((((dst_positive_code_concat_prefixsliceentryoutput) + (dst_positive_scale_concat_prefixsliceentryoutput)) * S ((dst_positive_code_concat_prefixsliceentryoutput) + (dst_positive_scale_concat_prefixsliceentryoutput)) + ((dst_positive_scale_concat_prefixsliceentryoutput) + (dst_positive_scale_concat_prefixsliceentryoutput))) + (((dst_negative_code_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)) * S ((dst_negative_code_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)) + ((dst_negative_scale_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)))) * S ((((dst_positive_code_concat_prefixsliceentryoutput) + (dst_positive_scale_concat_prefixsliceentryoutput)) * S ((dst_positive_code_concat_prefixsliceentryoutput) + (dst_positive_scale_concat_prefixsliceentryoutput)) + ((dst_positive_scale_concat_prefixsliceentryoutput) + (dst_positive_scale_concat_prefixsliceentryoutput))) + (((dst_negative_code_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)) * S ((dst_negative_code_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)) + ((dst_negative_scale_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)))) + ((((dst_negative_code_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)) * S ((dst_negative_code_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)) + ((dst_negative_scale_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput))) + (((dst_negative_code_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)) * S ((dst_negative_code_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)) + ((dst_negative_scale_concat_prefixsliceentryoutput) + (dst_negative_scale_concat_prefixsliceentryoutput)))))) /\ (((((exists ff_h_pvs_concat_prefixsliceentryoutputpositive. ff_h_pvs_concat_prefixsliceentryoutputpositive + S (dst_positive_concat_prefixsliceentryoutput) = S ((S (srs_index_concat_prefixslice)) * dst_positive_scale_concat_prefixsliceentryoutput)) /\ exists ff_q_pvs_concat_prefixsliceentryoutputpositive. dst_positive_code_concat_prefixsliceentryoutput = ff_q_pvs_concat_prefixsliceentryoutputpositive * S ((S (srs_index_concat_prefixslice)) * dst_positive_scale_concat_prefixsliceentryoutput) + (dst_positive_concat_prefixsliceentryoutput))) /\ (((((exists ff_h_pvs_concat_prefixsliceentryoutputnegative. ff_h_pvs_concat_prefixsliceentryoutputnegative + S (dst_negative_concat_prefixsliceentryoutput) = S ((S (srs_index_concat_prefixslice)) * dst_negative_scale_concat_prefixsliceentryoutput)) /\ exists ff_q_pvs_concat_prefixsliceentryoutputnegative. dst_negative_code_concat_prefixsliceentryoutput = ff_q_pvs_concat_prefixsliceentryoutputnegative * S ((S (srs_index_concat_prefixslice)) * dst_negative_scale_concat_prefixsliceentryoutput) + (dst_negative_concat_prefixsliceentryoutput))) /\ (exists ge_balance_positive_concat_prefixsliceentryoutputvalue ge_balance_negative_concat_prefixsliceentryoutputvalue. (((((srs_value_concat_prefixslice) = 2 * (ge_balance_positive_concat_prefixsliceentryoutputvalue) /\ (ge_balance_negative_concat_prefixsliceentryoutputvalue) = 0) \/ exists ge_signed_half_concat_prefixsliceentryoutputvaluedecode. (((srs_value_concat_prefixslice) = 2 * ge_signed_half_concat_prefixsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_concat_prefixsliceentryoutputvalue) = 0) /\ (ge_balance_negative_concat_prefixsliceentryoutputvalue) = S ge_signed_half_concat_prefixsliceentryoutputvaluedecode))) /\ ((dst_positive_concat_prefixsliceentryoutput) + ge_balance_negative_concat_prefixsliceentryoutputvalue = (dst_negative_concat_prefixsliceentryoutput) + ge_balance_positive_concat_prefixsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_concat_prefixsum dst_positive_scale_concat_prefixsum dst_negative_code_concat_prefixsum dst_negative_scale_concat_prefixsum dst_positive_sum_concat_prefixsum dst_negative_sum_concat_prefixsum. (((srs_slice_concat_prefix) = (((((dst_positive_code_concat_prefixsum) + (dst_positive_scale_concat_prefixsum)) * S ((dst_positive_code_concat_prefixsum) + (dst_positive_scale_concat_prefixsum)) + ((dst_positive_scale_concat_prefixsum) + (dst_positive_scale_concat_prefixsum))) + (((dst_negative_code_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)) * S ((dst_negative_code_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)) + ((dst_negative_scale_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)))) * S ((((dst_positive_code_concat_prefixsum) + (dst_positive_scale_concat_prefixsum)) * S ((dst_positive_code_concat_prefixsum) + (dst_positive_scale_concat_prefixsum)) + ((dst_positive_scale_concat_prefixsum) + (dst_positive_scale_concat_prefixsum))) + (((dst_negative_code_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)) * S ((dst_negative_code_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)) + ((dst_negative_scale_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)))) + ((((dst_negative_code_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)) * S ((dst_negative_code_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)) + ((dst_negative_scale_concat_prefixsum) + (dst_negative_scale_concat_prefixsum))) + (((dst_negative_code_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)) * S ((dst_negative_code_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)) + ((dst_negative_scale_concat_prefixsum) + (dst_negative_scale_concat_prefixsum)))))) /\ (((exists fs_u_dst_concat_prefixsumpositive fs_v_dst_concat_prefixsumpositive. ((((exists fs_h_dst_concat_prefixsumpositive_body_start. fs_h_dst_concat_prefixsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_prefixsumpositive)) /\ exists fs_q_dst_concat_prefixsumpositive_body_start. fs_u_dst_concat_prefixsumpositive = fs_q_dst_concat_prefixsumpositive_body_start * S ((S (0)) * fs_v_dst_concat_prefixsumpositive) + (0))) /\ ((((exists fs_h_dst_concat_prefixsumpositive_body_terminal. fs_h_dst_concat_prefixsumpositive_body_terminal + S (dst_positive_sum_concat_prefixsum) = S ((S (p+q)) * fs_v_dst_concat_prefixsumpositive)) /\ exists fs_q_dst_concat_prefixsumpositive_body_terminal. fs_u_dst_concat_prefixsumpositive = fs_q_dst_concat_prefixsumpositive_body_terminal * S ((S (p+q)) * fs_v_dst_concat_prefixsumpositive) + (dst_positive_sum_concat_prefixsum))) /\ forall fs_i_dst_concat_prefixsumpositive_body_steps. (exists fs_lt_dst_concat_prefixsumpositive_body_steps_bound. fs_lt_dst_concat_prefixsumpositive_body_steps_bound + S fs_i_dst_concat_prefixsumpositive_body_steps = p+q) -> exists fs_a_dst_concat_prefixsumpositive_body_steps fs_r_dst_concat_prefixsumpositive_body_steps fs_s_dst_concat_prefixsumpositive_body_steps. ((((exists fs_h_dst_concat_prefixsumpositive_body_steps_summand. fs_h_dst_concat_prefixsumpositive_body_steps_summand + S (fs_a_dst_concat_prefixsumpositive_body_steps) = S ((S (fs_i_dst_concat_prefixsumpositive_body_steps)) * dst_positive_scale_concat_prefixsum)) /\ exists fs_q_dst_concat_prefixsumpositive_body_steps_summand. dst_positive_code_concat_prefixsum = fs_q_dst_concat_prefixsumpositive_body_steps_summand * S ((S (fs_i_dst_concat_prefixsumpositive_body_steps)) * dst_positive_scale_concat_prefixsum) + (fs_a_dst_concat_prefixsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_prefixsumpositive_body_steps_partial. fs_h_dst_concat_prefixsumpositive_body_steps_partial + S (fs_r_dst_concat_prefixsumpositive_body_steps) = S ((S (fs_i_dst_concat_prefixsumpositive_body_steps)) * fs_v_dst_concat_prefixsumpositive)) /\ exists fs_q_dst_concat_prefixsumpositive_body_steps_partial. fs_u_dst_concat_prefixsumpositive = fs_q_dst_concat_prefixsumpositive_body_steps_partial * S ((S (fs_i_dst_concat_prefixsumpositive_body_steps)) * fs_v_dst_concat_prefixsumpositive) + (fs_r_dst_concat_prefixsumpositive_body_steps))) /\ ((((exists fs_h_dst_concat_prefixsumpositive_body_steps_successor. fs_h_dst_concat_prefixsumpositive_body_steps_successor + S (fs_s_dst_concat_prefixsumpositive_body_steps) = S ((S (S fs_i_dst_concat_prefixsumpositive_body_steps)) * fs_v_dst_concat_prefixsumpositive)) /\ exists fs_q_dst_concat_prefixsumpositive_body_steps_successor. fs_u_dst_concat_prefixsumpositive = fs_q_dst_concat_prefixsumpositive_body_steps_successor * S ((S (S fs_i_dst_concat_prefixsumpositive_body_steps)) * fs_v_dst_concat_prefixsumpositive) + (fs_s_dst_concat_prefixsumpositive_body_steps))) /\ fs_s_dst_concat_prefixsumpositive_body_steps = fs_r_dst_concat_prefixsumpositive_body_steps + fs_a_dst_concat_prefixsumpositive_body_steps)))))) /\ (((exists fs_u_dst_concat_prefixsumnegative fs_v_dst_concat_prefixsumnegative. ((((exists fs_h_dst_concat_prefixsumnegative_body_start. fs_h_dst_concat_prefixsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_concat_prefixsumnegative)) /\ exists fs_q_dst_concat_prefixsumnegative_body_start. fs_u_dst_concat_prefixsumnegative = fs_q_dst_concat_prefixsumnegative_body_start * S ((S (0)) * fs_v_dst_concat_prefixsumnegative) + (0))) /\ ((((exists fs_h_dst_concat_prefixsumnegative_body_terminal. fs_h_dst_concat_prefixsumnegative_body_terminal + S (dst_negative_sum_concat_prefixsum) = S ((S (p+q)) * fs_v_dst_concat_prefixsumnegative)) /\ exists fs_q_dst_concat_prefixsumnegative_body_terminal. fs_u_dst_concat_prefixsumnegative = fs_q_dst_concat_prefixsumnegative_body_terminal * S ((S (p+q)) * fs_v_dst_concat_prefixsumnegative) + (dst_negative_sum_concat_prefixsum))) /\ forall fs_i_dst_concat_prefixsumnegative_body_steps. (exists fs_lt_dst_concat_prefixsumnegative_body_steps_bound. fs_lt_dst_concat_prefixsumnegative_body_steps_bound + S fs_i_dst_concat_prefixsumnegative_body_steps = p+q) -> exists fs_a_dst_concat_prefixsumnegative_body_steps fs_r_dst_concat_prefixsumnegative_body_steps fs_s_dst_concat_prefixsumnegative_body_steps. ((((exists fs_h_dst_concat_prefixsumnegative_body_steps_summand. fs_h_dst_concat_prefixsumnegative_body_steps_summand + S (fs_a_dst_concat_prefixsumnegative_body_steps) = S ((S (fs_i_dst_concat_prefixsumnegative_body_steps)) * dst_negative_scale_concat_prefixsum)) /\ exists fs_q_dst_concat_prefixsumnegative_body_steps_summand. dst_negative_code_concat_prefixsum = fs_q_dst_concat_prefixsumnegative_body_steps_summand * S ((S (fs_i_dst_concat_prefixsumnegative_body_steps)) * dst_negative_scale_concat_prefixsum) + (fs_a_dst_concat_prefixsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_prefixsumnegative_body_steps_partial. fs_h_dst_concat_prefixsumnegative_body_steps_partial + S (fs_r_dst_concat_prefixsumnegative_body_steps) = S ((S (fs_i_dst_concat_prefixsumnegative_body_steps)) * fs_v_dst_concat_prefixsumnegative)) /\ exists fs_q_dst_concat_prefixsumnegative_body_steps_partial. fs_u_dst_concat_prefixsumnegative = fs_q_dst_concat_prefixsumnegative_body_steps_partial * S ((S (fs_i_dst_concat_prefixsumnegative_body_steps)) * fs_v_dst_concat_prefixsumnegative) + (fs_r_dst_concat_prefixsumnegative_body_steps))) /\ ((((exists fs_h_dst_concat_prefixsumnegative_body_steps_successor. fs_h_dst_concat_prefixsumnegative_body_steps_successor + S (fs_s_dst_concat_prefixsumnegative_body_steps) = S ((S (S fs_i_dst_concat_prefixsumnegative_body_steps)) * fs_v_dst_concat_prefixsumnegative)) /\ exists fs_q_dst_concat_prefixsumnegative_body_steps_successor. fs_u_dst_concat_prefixsumnegative = fs_q_dst_concat_prefixsumnegative_body_steps_successor * S ((S (S fs_i_dst_concat_prefixsumnegative_body_steps)) * fs_v_dst_concat_prefixsumnegative) + (fs_s_dst_concat_prefixsumnegative_body_steps))) /\ fs_s_dst_concat_prefixsumnegative_body_steps = fs_r_dst_concat_prefixsumnegative_body_steps + fs_a_dst_concat_prefixsumnegative_body_steps)))))) /\ (exists ge_balance_positive_concat_prefixsumresult ge_balance_negative_concat_prefixsumresult. (((((x2) = 2 * (ge_balance_positive_concat_prefixsumresult) /\ (ge_balance_negative_concat_prefixsumresult) = 0) \/ exists ge_signed_half_concat_prefixsumresultdecode. (((x2) = 2 * ge_signed_half_concat_prefixsumresultdecode + 1 /\ (ge_balance_positive_concat_prefixsumresult) = 0) /\ (ge_balance_negative_concat_prefixsumresult) = S ge_signed_half_concat_prefixsumresultdecode))) /\ ((dst_positive_sum_concat_prefixsum) + ge_balance_negative_concat_prefixsumresult = (dst_negative_sum_concat_prefixsum) + ge_balance_positive_concat_prefixsumresult)))))))))) - 0071
specialize IH (F) - 0072
specialize IH (o) - 0073
specialize IH (s) - 0074
specialize IH (p) - 0075
specialize IH (a) - 0076
specialize IH (x) - 0077
specialize IH (x2) - 0078
apply IH - 0079
exact ha - 0080
exact hd_witness_witness_left - 0081
exact ht_witness - 0082
have hnext : exists dsa_ap_concat_next_add dsa_an_concat_next_add dsa_bp_concat_next_add dsa_bn_concat_next_add dsa_cp_concat_next_add dsa_cn_concat_next_add. (((((x2) = 2 * (dsa_ap_concat_next_add) /\ (dsa_an_concat_next_add) = 0) \/ exists ge_signed_half_concat_next_addleft. (((x2) = 2 * ge_signed_half_concat_next_addleft + 1 /\ (dsa_ap_concat_next_add) = 0) /\ (dsa_an_concat_next_add) = S ge_signed_half_concat_next_addleft))) /\ ((((((x1) = 2 * (dsa_bp_concat_next_add) /\ (dsa_bn_concat_next_add) = 0) \/ exists ge_signed_half_concat_next_addright. (((x1) = 2 * ge_signed_half_concat_next_addright + 1 /\ (dsa_bp_concat_next_add) = 0) /\ (dsa_bn_concat_next_add) = S ge_signed_half_concat_next_addright))) /\ ((((((c) = 2 * (dsa_cp_concat_next_add) /\ (dsa_cn_concat_next_add) = 0) \/ exists ge_signed_half_concat_next_addoutput. (((c) = 2 * ge_signed_half_concat_next_addoutput + 1 /\ (dsa_cp_concat_next_add) = 0) /\ (dsa_cn_concat_next_add) = S ge_signed_half_concat_next_addoutput))) /\ ((dsa_ap_concat_next_add + dsa_bp_concat_next_add) + dsa_cn_concat_next_add = (dsa_an_concat_next_add + dsa_bn_concat_next_add) + dsa_cp_concat_next_add)))))) - 0083
specialize signed_table_add_reassociate (a) - 0084
specialize signed_table_add_reassociate (x) - 0085
specialize signed_table_add_reassociate (x1) - 0086
specialize signed_table_add_reassociate (x2) - 0087
specialize signed_table_add_reassociate (b) - 0088
specialize signed_table_add_reassociate (c) - 0089
apply signed_table_add_reassociate - 0090
exact ht_witness - 0091
exact hd_witness_witness_right_right - 0092
exact hadd - 0093
have hindex : ((((o) + ((s) * (p)))) + ((s) * (q))) = ((o) + ((s) * (p+q))) - 0094
trans o+(s*p+s*q) - 0095
specialize add_assoc (o) - 0096
specialize add_assoc (s*p) - 0097
specialize add_assoc (s*q) - 0098
apply add_assoc - 0099
congr - 0100
refl - 0101
symm - 0102
specialize mul_add (s) - 0103
specialize mul_add (p) - 0104
specialize mul_add (q) - 0105
apply mul_add - 0106
rewrite hindex at hd_witness_witness_right_left - 0107
rewrite hindex at hd_witness_witness_right_left - 0108
rewrite hindex at hd_witness_witness_right_left - 0109
rewrite hindex at hd_witness_witness_right_left - 0110
have hlength : p+S q=S(p+q) - 0111
simp - 0112
rewrite hlength - 0113
rewrite hlength - 0114
rewrite hlength - 0115
rewrite hlength - 0116
rewrite hlength - 0117
rewrite hlength - 0118
rewrite hlength - 0119
rewrite hlength - 0120
specialize signed_rectangular_slice_sum_successor_intro (F) - 0121
specialize signed_rectangular_slice_sum_successor_intro (o) - 0122
specialize signed_rectangular_slice_sum_successor_intro (s) - 0123
specialize signed_rectangular_slice_sum_successor_intro (p+q) - 0124
specialize signed_rectangular_slice_sum_successor_intro (x2) - 0125
specialize signed_rectangular_slice_sum_successor_intro (x1) - 0126
specialize signed_rectangular_slice_sum_successor_intro (c) - 0127
apply signed_rectangular_slice_sum_successor_intro - 0128
exact hp - 0129
exact hd_witness_witness_right_left - 0130
exact hnext