Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Exact expanded first-order arithmetic statement
forall F o s l. (exists dst_positive_code_sum_exists_input dst_positive_scale_sum_exists_input dst_negative_code_sum_exists_input dst_negative_scale_sum_exists_input. (((F) = (((((dst_positive_code_sum_exists_input) + (dst_positive_scale_sum_exists_input)) * S ((dst_positive_code_sum_exists_input) + (dst_positive_scale_sum_exists_input)) + ((dst_positive_scale_sum_exists_input) + (dst_positive_scale_sum_exists_input))) + (((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) * S ((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) + ((dst_negative_scale_sum_exists_input) + (dst_negative_scale_sum_exists_input)))) * S ((((dst_positive_code_sum_exists_input) + (dst_positive_scale_sum_exists_input)) * S ((dst_positive_code_sum_exists_input) + (dst_positive_scale_sum_exists_input)) + ((dst_positive_scale_sum_exists_input) + (dst_positive_scale_sum_exists_input))) + (((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) * S ((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) + ((dst_negative_scale_sum_exists_input) + (dst_negative_scale_sum_exists_input)))) + ((((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) * S ((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) + ((dst_negative_scale_sum_exists_input) + (dst_negative_scale_sum_exists_input))) + (((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) * S ((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) + ((dst_negative_scale_sum_exists_input) + (dst_negative_scale_sum_exists_input)))))) /\ (forall dst_index_sum_exists_input. (exists pvs_le_gap_sum_exists_inputdomain. pvs_le_gap_sum_exists_inputdomain + (dst_index_sum_exists_input) = (0)) -> exists dst_positive_sum_exists_input dst_negative_sum_exists_input dst_value_sum_exists_input. ((((exists ff_h_pvs_sum_exists_inputentrypositive. ff_h_pvs_sum_exists_inputentrypositive + S (dst_positive_sum_exists_input) = S ((S (dst_index_sum_exists_input)) * dst_positive_scale_sum_exists_input)) /\ exists ff_q_pvs_sum_exists_inputentrypositive. dst_positive_code_sum_exists_input = ff_q_pvs_sum_exists_inputentrypositive * S ((S (dst_index_sum_exists_input)) * dst_positive_scale_sum_exists_input) + (dst_positive_sum_exists_input))) /\ (((((exists ff_h_pvs_sum_exists_inputentrynegative. ff_h_pvs_sum_exists_inputentrynegative + S (dst_negative_sum_exists_input) = S ((S (dst_index_sum_exists_input)) * dst_negative_scale_sum_exists_input)) /\ exists ff_q_pvs_sum_exists_inputentrynegative. dst_negative_code_sum_exists_input = ff_q_pvs_sum_exists_inputentrynegative * S ((S (dst_index_sum_exists_input)) * dst_negative_scale_sum_exists_input) + (dst_negative_sum_exists_input))) /\ (exists ge_balance_positive_sum_exists_inputentryvalue ge_balance_negative_sum_exists_inputentryvalue. (((((dst_value_sum_exists_input) = 2 * (ge_balance_positive_sum_exists_inputentryvalue) /\ (ge_balance_negative_sum_exists_inputentryvalue) = 0) \/ exists ge_signed_half_sum_exists_inputentryvaluedecode. (((dst_value_sum_exists_input) = 2 * ge_signed_half_sum_exists_inputentryvaluedecode + 1 /\ (ge_balance_positive_sum_exists_inputentryvalue) = 0) /\ (ge_balance_negative_sum_exists_inputentryvalue) = S ge_signed_half_sum_exists_inputentryvaluedecode))) /\ ((dst_positive_sum_exists_input) + ge_balance_negative_sum_exists_inputentryvalue = (dst_negative_sum_exists_input) + ge_balance_positive_sum_exists_inputentryvalue))))))))) -> exists z. (exists srs_slice_sum_exists_result. ((((exists dst_positive_code_sum_exists_resultslicesource_table dst_positive_scale_sum_exists_resultslicesource_table dst_negative_code_sum_exists_resultslicesource_table dst_negative_scale_sum_exists_resultslicesource_table. (((F) = (((((dst_positive_code_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table)) * S ((dst_positive_code_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table)) + ((dst_positive_scale_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table))) + (((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) * S ((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) + ((dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)))) * S ((((dst_positive_code_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table)) * S ((dst_positive_code_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table)) + ((dst_positive_scale_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table))) + (((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) * S ((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) + ((dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)))) + ((((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) * S ((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) + ((dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table))) + (((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) * S ((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) + ((dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)))))) /\ (forall dst_index_sum_exists_resultslicesource_table. (exists pvs_le_gap_sum_exists_resultslicesource_tabledomain. pvs_le_gap_sum_exists_resultslicesource_tabledomain + (dst_index_sum_exists_resultslicesource_table) = (0)) -> exists dst_positive_sum_exists_resultslicesource_table dst_negative_sum_exists_resultslicesource_table dst_value_sum_exists_resultslicesource_table. ((((exists ff_h_pvs_sum_exists_resultslicesource_tableentrypositive. ff_h_pvs_sum_exists_resultslicesource_tableentrypositive + S (dst_positive_sum_exists_resultslicesource_table) = S ((S (dst_index_sum_exists_resultslicesource_table)) * dst_positive_scale_sum_exists_resultslicesource_table)) /\ exists ff_q_pvs_sum_exists_resultslicesource_tableentrypositive. dst_positive_code_sum_exists_resultslicesource_table = ff_q_pvs_sum_exists_resultslicesource_tableentrypositive * S ((S (dst_index_sum_exists_resultslicesource_table)) * dst_positive_scale_sum_exists_resultslicesource_table) + (dst_positive_sum_exists_resultslicesource_table))) /\ (((((exists ff_h_pvs_sum_exists_resultslicesource_tableentrynegative. ff_h_pvs_sum_exists_resultslicesource_tableentrynegative + S (dst_negative_sum_exists_resultslicesource_table) = S ((S (dst_index_sum_exists_resultslicesource_table)) * dst_negative_scale_sum_exists_resultslicesource_table)) /\ exists ff_q_pvs_sum_exists_resultslicesource_tableentrynegative. dst_negative_code_sum_exists_resultslicesource_table = ff_q_pvs_sum_exists_resultslicesource_tableentrynegative * S ((S (dst_index_sum_exists_resultslicesource_table)) * dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_sum_exists_resultslicesource_table))) /\ (exists ge_balance_positive_sum_exists_resultslicesource_tableentryvalue ge_balance_negative_sum_exists_resultslicesource_tableentryvalue. (((((dst_value_sum_exists_resultslicesource_table) = 2 * (ge_balance_positive_sum_exists_resultslicesource_tableentryvalue) /\ (ge_balance_negative_sum_exists_resultslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_sum_exists_resultslicesource_tableentryvaluedecode. (((dst_value_sum_exists_resultslicesource_table) = 2 * ge_signed_half_sum_exists_resultslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_sum_exists_resultslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_sum_exists_resultslicesource_tableentryvalue) = S ge_signed_half_sum_exists_resultslicesource_tableentryvaluedecode))) /\ ((dst_positive_sum_exists_resultslicesource_table) + ge_balance_negative_sum_exists_resultslicesource_tableentryvalue = (dst_negative_sum_exists_resultslicesource_table) + ge_balance_positive_sum_exists_resultslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_sum_exists_resultsliceoutput_table dst_positive_scale_sum_exists_resultsliceoutput_table dst_negative_code_sum_exists_resultsliceoutput_table dst_negative_scale_sum_exists_resultsliceoutput_table. (((srs_slice_sum_exists_result) = (((((dst_positive_code_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table)) * S ((dst_positive_code_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table)) + ((dst_positive_scale_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table))) + (((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) * S ((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) + ((dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)))) * S ((((dst_positive_code_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table)) * S ((dst_positive_code_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table)) + ((dst_positive_scale_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table))) + (((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) * S ((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) + ((dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)))) + ((((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) * S ((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) + ((dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table))) + (((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) * S ((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) + ((dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)))))) /\ (forall dst_index_sum_exists_resultsliceoutput_table. (exists pvs_le_gap_sum_exists_resultsliceoutput_tabledomain. pvs_le_gap_sum_exists_resultsliceoutput_tabledomain + (dst_index_sum_exists_resultsliceoutput_table) = (l)) -> exists dst_positive_sum_exists_resultsliceoutput_table dst_negative_sum_exists_resultsliceoutput_table dst_value_sum_exists_resultsliceoutput_table. ((((exists ff_h_pvs_sum_exists_resultsliceoutput_tableentrypositive. ff_h_pvs_sum_exists_resultsliceoutput_tableentrypositive + S (dst_positive_sum_exists_resultsliceoutput_table) = S ((S (dst_index_sum_exists_resultsliceoutput_table)) * dst_positive_scale_sum_exists_resultsliceoutput_table)) /\ exists ff_q_pvs_sum_exists_resultsliceoutput_tableentrypositive. dst_positive_code_sum_exists_resultsliceoutput_table = ff_q_pvs_sum_exists_resultsliceoutput_tableentrypositive * S ((S (dst_index_sum_exists_resultsliceoutput_table)) * dst_positive_scale_sum_exists_resultsliceoutput_table) + (dst_positive_sum_exists_resultsliceoutput_table))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceoutput_tableentrynegative. ff_h_pvs_sum_exists_resultsliceoutput_tableentrynegative + S (dst_negative_sum_exists_resultsliceoutput_table) = S ((S (dst_index_sum_exists_resultsliceoutput_table)) * dst_negative_scale_sum_exists_resultsliceoutput_table)) /\ exists ff_q_pvs_sum_exists_resultsliceoutput_tableentrynegative. dst_negative_code_sum_exists_resultsliceoutput_table = ff_q_pvs_sum_exists_resultsliceoutput_tableentrynegative * S ((S (dst_index_sum_exists_resultsliceoutput_table)) * dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_sum_exists_resultsliceoutput_table))) /\ (exists ge_balance_positive_sum_exists_resultsliceoutput_tableentryvalue ge_balance_negative_sum_exists_resultsliceoutput_tableentryvalue. (((((dst_value_sum_exists_resultsliceoutput_table) = 2 * (ge_balance_positive_sum_exists_resultsliceoutput_tableentryvalue) /\ (ge_balance_negative_sum_exists_resultsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_sum_exists_resultsliceoutput_tableentryvaluedecode. (((dst_value_sum_exists_resultsliceoutput_table) = 2 * ge_signed_half_sum_exists_resultsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_sum_exists_resultsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_sum_exists_resultsliceoutput_tableentryvalue) = S ge_signed_half_sum_exists_resultsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_sum_exists_resultsliceoutput_table) + ge_balance_negative_sum_exists_resultsliceoutput_tableentryvalue = (dst_negative_sum_exists_resultsliceoutput_table) + ge_balance_positive_sum_exists_resultsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_sum_exists_resultslice. (exists pvs_gap_sum_exists_resultslicebound. pvs_gap_sum_exists_resultslicebound + S (srs_index_sum_exists_resultslice) = (l)) -> exists srs_value_sum_exists_resultslice. (((exists dst_positive_code_sum_exists_resultsliceentrysource dst_positive_scale_sum_exists_resultsliceentrysource dst_negative_code_sum_exists_resultsliceentrysource dst_negative_scale_sum_exists_resultsliceentrysource dst_positive_sum_exists_resultsliceentrysource dst_negative_sum_exists_resultsliceentrysource. (((F) = (((((dst_positive_code_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource)) * S ((dst_positive_code_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource)) + ((dst_positive_scale_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource))) + (((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) * S ((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) + ((dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)))) * S ((((dst_positive_code_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource)) * S ((dst_positive_code_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource)) + ((dst_positive_scale_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource))) + (((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) * S ((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) + ((dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)))) + ((((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) * S ((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) + ((dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource))) + (((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) * S ((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) + ((dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)))))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceentrysourcepositive. ff_h_pvs_sum_exists_resultsliceentrysourcepositive + S (dst_positive_sum_exists_resultsliceentrysource) = S ((S (((o) + ((s) * (srs_index_sum_exists_resultslice))))) * dst_positive_scale_sum_exists_resultsliceentrysource)) /\ exists ff_q_pvs_sum_exists_resultsliceentrysourcepositive. dst_positive_code_sum_exists_resultsliceentrysource = ff_q_pvs_sum_exists_resultsliceentrysourcepositive * S ((S (((o) + ((s) * (srs_index_sum_exists_resultslice))))) * dst_positive_scale_sum_exists_resultsliceentrysource) + (dst_positive_sum_exists_resultsliceentrysource))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceentrysourcenegative. ff_h_pvs_sum_exists_resultsliceentrysourcenegative + S (dst_negative_sum_exists_resultsliceentrysource) = S ((S (((o) + ((s) * (srs_index_sum_exists_resultslice))))) * dst_negative_scale_sum_exists_resultsliceentrysource)) /\ exists ff_q_pvs_sum_exists_resultsliceentrysourcenegative. dst_negative_code_sum_exists_resultsliceentrysource = ff_q_pvs_sum_exists_resultsliceentrysourcenegative * S ((S (((o) + ((s) * (srs_index_sum_exists_resultslice))))) * dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_sum_exists_resultsliceentrysource))) /\ (exists ge_balance_positive_sum_exists_resultsliceentrysourcevalue ge_balance_negative_sum_exists_resultsliceentrysourcevalue. (((((srs_value_sum_exists_resultslice) = 2 * (ge_balance_positive_sum_exists_resultsliceentrysourcevalue) /\ (ge_balance_negative_sum_exists_resultsliceentrysourcevalue) = 0) \/ exists ge_signed_half_sum_exists_resultsliceentrysourcevaluedecode. (((srs_value_sum_exists_resultslice) = 2 * ge_signed_half_sum_exists_resultsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_sum_exists_resultsliceentrysourcevalue) = 0) /\ (ge_balance_negative_sum_exists_resultsliceentrysourcevalue) = S ge_signed_half_sum_exists_resultsliceentrysourcevaluedecode))) /\ ((dst_positive_sum_exists_resultsliceentrysource) + ge_balance_negative_sum_exists_resultsliceentrysourcevalue = (dst_negative_sum_exists_resultsliceentrysource) + ge_balance_positive_sum_exists_resultsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_sum_exists_resultsliceentryoutput dst_positive_scale_sum_exists_resultsliceentryoutput dst_negative_code_sum_exists_resultsliceentryoutput dst_negative_scale_sum_exists_resultsliceentryoutput dst_positive_sum_exists_resultsliceentryoutput dst_negative_sum_exists_resultsliceentryoutput. (((srs_slice_sum_exists_result) = (((((dst_positive_code_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput)) * S ((dst_positive_code_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput)) + ((dst_positive_scale_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput))) + (((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) * S ((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) + ((dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)))) * S ((((dst_positive_code_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput)) * S ((dst_positive_code_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput)) + ((dst_positive_scale_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput))) + (((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) * S ((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) + ((dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)))) + ((((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) * S ((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) + ((dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput))) + (((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) * S ((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) + ((dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)))))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceentryoutputpositive. ff_h_pvs_sum_exists_resultsliceentryoutputpositive + S (dst_positive_sum_exists_resultsliceentryoutput) = S ((S (srs_index_sum_exists_resultslice)) * dst_positive_scale_sum_exists_resultsliceentryoutput)) /\ exists ff_q_pvs_sum_exists_resultsliceentryoutputpositive. dst_positive_code_sum_exists_resultsliceentryoutput = ff_q_pvs_sum_exists_resultsliceentryoutputpositive * S ((S (srs_index_sum_exists_resultslice)) * dst_positive_scale_sum_exists_resultsliceentryoutput) + (dst_positive_sum_exists_resultsliceentryoutput))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceentryoutputnegative. ff_h_pvs_sum_exists_resultsliceentryoutputnegative + S (dst_negative_sum_exists_resultsliceentryoutput) = S ((S (srs_index_sum_exists_resultslice)) * dst_negative_scale_sum_exists_resultsliceentryoutput)) /\ exists ff_q_pvs_sum_exists_resultsliceentryoutputnegative. dst_negative_code_sum_exists_resultsliceentryoutput = ff_q_pvs_sum_exists_resultsliceentryoutputnegative * S ((S (srs_index_sum_exists_resultslice)) * dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_sum_exists_resultsliceentryoutput))) /\ (exists ge_balance_positive_sum_exists_resultsliceentryoutputvalue ge_balance_negative_sum_exists_resultsliceentryoutputvalue. (((((srs_value_sum_exists_resultslice) = 2 * (ge_balance_positive_sum_exists_resultsliceentryoutputvalue) /\ (ge_balance_negative_sum_exists_resultsliceentryoutputvalue) = 0) \/ exists ge_signed_half_sum_exists_resultsliceentryoutputvaluedecode. (((srs_value_sum_exists_resultslice) = 2 * ge_signed_half_sum_exists_resultsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_sum_exists_resultsliceentryoutputvalue) = 0) /\ (ge_balance_negative_sum_exists_resultsliceentryoutputvalue) = S ge_signed_half_sum_exists_resultsliceentryoutputvaluedecode))) /\ ((dst_positive_sum_exists_resultsliceentryoutput) + ge_balance_negative_sum_exists_resultsliceentryoutputvalue = (dst_negative_sum_exists_resultsliceentryoutput) + ge_balance_positive_sum_exists_resultsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_sum_exists_resultsum dst_positive_scale_sum_exists_resultsum dst_negative_code_sum_exists_resultsum dst_negative_scale_sum_exists_resultsum dst_positive_sum_sum_exists_resultsum dst_negative_sum_sum_exists_resultsum. (((srs_slice_sum_exists_result) = (((((dst_positive_code_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum)) * S ((dst_positive_code_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum)) + ((dst_positive_scale_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum))) + (((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) * S ((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) + ((dst_negative_scale_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)))) * S ((((dst_positive_code_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum)) * S ((dst_positive_code_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum)) + ((dst_positive_scale_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum))) + (((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) * S ((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) + ((dst_negative_scale_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)))) + ((((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) * S ((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) + ((dst_negative_scale_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum))) + (((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) * S ((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) + ((dst_negative_scale_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)))))) /\ (((exists fs_u_dst_sum_exists_resultsumpositive fs_v_dst_sum_exists_resultsumpositive. ((((exists fs_h_dst_sum_exists_resultsumpositive_body_start. fs_h_dst_sum_exists_resultsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_exists_resultsumpositive)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_start. fs_u_dst_sum_exists_resultsumpositive = fs_q_dst_sum_exists_resultsumpositive_body_start * S ((S (0)) * fs_v_dst_sum_exists_resultsumpositive) + (0))) /\ ((((exists fs_h_dst_sum_exists_resultsumpositive_body_terminal. fs_h_dst_sum_exists_resultsumpositive_body_terminal + S (dst_positive_sum_sum_exists_resultsum) = S ((S (l)) * fs_v_dst_sum_exists_resultsumpositive)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_terminal. fs_u_dst_sum_exists_resultsumpositive = fs_q_dst_sum_exists_resultsumpositive_body_terminal * S ((S (l)) * fs_v_dst_sum_exists_resultsumpositive) + (dst_positive_sum_sum_exists_resultsum))) /\ forall fs_i_dst_sum_exists_resultsumpositive_body_steps. (exists fs_lt_dst_sum_exists_resultsumpositive_body_steps_bound. fs_lt_dst_sum_exists_resultsumpositive_body_steps_bound + S fs_i_dst_sum_exists_resultsumpositive_body_steps = l) -> exists fs_a_dst_sum_exists_resultsumpositive_body_steps fs_r_dst_sum_exists_resultsumpositive_body_steps fs_s_dst_sum_exists_resultsumpositive_body_steps. ((((exists fs_h_dst_sum_exists_resultsumpositive_body_steps_summand. fs_h_dst_sum_exists_resultsumpositive_body_steps_summand + S (fs_a_dst_sum_exists_resultsumpositive_body_steps) = S ((S (fs_i_dst_sum_exists_resultsumpositive_body_steps)) * dst_positive_scale_sum_exists_resultsum)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_steps_summand. dst_positive_code_sum_exists_resultsum = fs_q_dst_sum_exists_resultsumpositive_body_steps_summand * S ((S (fs_i_dst_sum_exists_resultsumpositive_body_steps)) * dst_positive_scale_sum_exists_resultsum) + (fs_a_dst_sum_exists_resultsumpositive_body_steps))) /\ ((((exists fs_h_dst_sum_exists_resultsumpositive_body_steps_partial. fs_h_dst_sum_exists_resultsumpositive_body_steps_partial + S (fs_r_dst_sum_exists_resultsumpositive_body_steps) = S ((S (fs_i_dst_sum_exists_resultsumpositive_body_steps)) * fs_v_dst_sum_exists_resultsumpositive)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_steps_partial. fs_u_dst_sum_exists_resultsumpositive = fs_q_dst_sum_exists_resultsumpositive_body_steps_partial * S ((S (fs_i_dst_sum_exists_resultsumpositive_body_steps)) * fs_v_dst_sum_exists_resultsumpositive) + (fs_r_dst_sum_exists_resultsumpositive_body_steps))) /\ ((((exists fs_h_dst_sum_exists_resultsumpositive_body_steps_successor. fs_h_dst_sum_exists_resultsumpositive_body_steps_successor + S (fs_s_dst_sum_exists_resultsumpositive_body_steps) = S ((S (S fs_i_dst_sum_exists_resultsumpositive_body_steps)) * fs_v_dst_sum_exists_resultsumpositive)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_steps_successor. fs_u_dst_sum_exists_resultsumpositive = fs_q_dst_sum_exists_resultsumpositive_body_steps_successor * S ((S (S fs_i_dst_sum_exists_resultsumpositive_body_steps)) * fs_v_dst_sum_exists_resultsumpositive) + (fs_s_dst_sum_exists_resultsumpositive_body_steps))) /\ fs_s_dst_sum_exists_resultsumpositive_body_steps = fs_r_dst_sum_exists_resultsumpositive_body_steps + fs_a_dst_sum_exists_resultsumpositive_body_steps)))))) /\ (((exists fs_u_dst_sum_exists_resultsumnegative fs_v_dst_sum_exists_resultsumnegative. ((((exists fs_h_dst_sum_exists_resultsumnegative_body_start. fs_h_dst_sum_exists_resultsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_exists_resultsumnegative)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_start. fs_u_dst_sum_exists_resultsumnegative = fs_q_dst_sum_exists_resultsumnegative_body_start * S ((S (0)) * fs_v_dst_sum_exists_resultsumnegative) + (0))) /\ ((((exists fs_h_dst_sum_exists_resultsumnegative_body_terminal. fs_h_dst_sum_exists_resultsumnegative_body_terminal + S (dst_negative_sum_sum_exists_resultsum) = S ((S (l)) * fs_v_dst_sum_exists_resultsumnegative)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_terminal. fs_u_dst_sum_exists_resultsumnegative = fs_q_dst_sum_exists_resultsumnegative_body_terminal * S ((S (l)) * fs_v_dst_sum_exists_resultsumnegative) + (dst_negative_sum_sum_exists_resultsum))) /\ forall fs_i_dst_sum_exists_resultsumnegative_body_steps. (exists fs_lt_dst_sum_exists_resultsumnegative_body_steps_bound. fs_lt_dst_sum_exists_resultsumnegative_body_steps_bound + S fs_i_dst_sum_exists_resultsumnegative_body_steps = l) -> exists fs_a_dst_sum_exists_resultsumnegative_body_steps fs_r_dst_sum_exists_resultsumnegative_body_steps fs_s_dst_sum_exists_resultsumnegative_body_steps. ((((exists fs_h_dst_sum_exists_resultsumnegative_body_steps_summand. fs_h_dst_sum_exists_resultsumnegative_body_steps_summand + S (fs_a_dst_sum_exists_resultsumnegative_body_steps) = S ((S (fs_i_dst_sum_exists_resultsumnegative_body_steps)) * dst_negative_scale_sum_exists_resultsum)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_steps_summand. dst_negative_code_sum_exists_resultsum = fs_q_dst_sum_exists_resultsumnegative_body_steps_summand * S ((S (fs_i_dst_sum_exists_resultsumnegative_body_steps)) * dst_negative_scale_sum_exists_resultsum) + (fs_a_dst_sum_exists_resultsumnegative_body_steps))) /\ ((((exists fs_h_dst_sum_exists_resultsumnegative_body_steps_partial. fs_h_dst_sum_exists_resultsumnegative_body_steps_partial + S (fs_r_dst_sum_exists_resultsumnegative_body_steps) = S ((S (fs_i_dst_sum_exists_resultsumnegative_body_steps)) * fs_v_dst_sum_exists_resultsumnegative)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_steps_partial. fs_u_dst_sum_exists_resultsumnegative = fs_q_dst_sum_exists_resultsumnegative_body_steps_partial * S ((S (fs_i_dst_sum_exists_resultsumnegative_body_steps)) * fs_v_dst_sum_exists_resultsumnegative) + (fs_r_dst_sum_exists_resultsumnegative_body_steps))) /\ ((((exists fs_h_dst_sum_exists_resultsumnegative_body_steps_successor. fs_h_dst_sum_exists_resultsumnegative_body_steps_successor + S (fs_s_dst_sum_exists_resultsumnegative_body_steps) = S ((S (S fs_i_dst_sum_exists_resultsumnegative_body_steps)) * fs_v_dst_sum_exists_resultsumnegative)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_steps_successor. fs_u_dst_sum_exists_resultsumnegative = fs_q_dst_sum_exists_resultsumnegative_body_steps_successor * S ((S (S fs_i_dst_sum_exists_resultsumnegative_body_steps)) * fs_v_dst_sum_exists_resultsumnegative) + (fs_s_dst_sum_exists_resultsumnegative_body_steps))) /\ fs_s_dst_sum_exists_resultsumnegative_body_steps = fs_r_dst_sum_exists_resultsumnegative_body_steps + fs_a_dst_sum_exists_resultsumnegative_body_steps)))))) /\ (exists ge_balance_positive_sum_exists_resultsumresult ge_balance_negative_sum_exists_resultsumresult. (((((z) = 2 * (ge_balance_positive_sum_exists_resultsumresult) /\ (ge_balance_negative_sum_exists_resultsumresult) = 0) \/ exists ge_signed_half_sum_exists_resultsumresultdecode. (((z) = 2 * ge_signed_half_sum_exists_resultsumresultdecode + 1 /\ (ge_balance_positive_sum_exists_resultsumresult) = 0) /\ (ge_balance_negative_sum_exists_resultsumresult) = S ge_signed_half_sum_exists_resultsumresultdecode))) /\ ((dst_positive_sum_sum_exists_resultsum) + ge_balance_negative_sum_exists_resultsumresult = (dst_negative_sum_sum_exists_resultsum) + ge_balance_positive_sum_exists_resultsumresult)))))))))))Constructive proof overview
Generated structural guide
Construct an actual affine slice and actual positive/negative prefix-sum traces; the result is not a supplied sum oracle.
The unchanged tactic script uses 2 declared prerequisites and contains 27 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
RS0006 signed_rectangular_slice_exists arithmetic_signed_sum_exists 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.
Named ingredients (1)
01Fix variables and assumptionsL1–5
02Establish hgL6–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed rectangular slice exists.
- L6
have hg : ∃ G. ArithSlice(F,G,o,s,l)Definitions: ArithSlice - L7
specialize signed_rectangular_slice_exists (l) - L8
specialize signed_rectangular_slice_exists (F) - L9
specialize signed_rectangular_slice_exists (o) - L10
specialize signed_rectangular_slice_exists (s) - L11
apply signed_rectangular_slice_exists - L12
exact hF
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hg
04Establish hzL14–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed sum exists.
05Separate the logical casesL19–20
06Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact hg_witness_right_left
07Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hz
08Construct an explicit witnessL23–24
09Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
split
Original exact command ledger · 27 lines
- 0001
intro F - 0002
intro o - 0003
intro s - 0004
intro l - 0005
intro hF - 0006
have hg : exists G. (((exists dst_positive_code_sum_exists_slicesource_table dst_positive_scale_sum_exists_slicesource_table dst_negative_code_sum_exists_slicesource_table dst_negative_scale_sum_exists_slicesource_table. (((F) = (((((dst_positive_code_sum_exists_slicesource_table) + (dst_positive_scale_sum_exists_slicesource_table)) * S ((dst_positive_code_sum_exists_slicesource_table) + (dst_positive_scale_sum_exists_slicesource_table)) + ((dst_positive_scale_sum_exists_slicesource_table) + (dst_positive_scale_sum_exists_slicesource_table))) + (((dst_negative_code_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)) * S ((dst_negative_code_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)) + ((dst_negative_scale_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)))) * S ((((dst_positive_code_sum_exists_slicesource_table) + (dst_positive_scale_sum_exists_slicesource_table)) * S ((dst_positive_code_sum_exists_slicesource_table) + (dst_positive_scale_sum_exists_slicesource_table)) + ((dst_positive_scale_sum_exists_slicesource_table) + (dst_positive_scale_sum_exists_slicesource_table))) + (((dst_negative_code_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)) * S ((dst_negative_code_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)) + ((dst_negative_scale_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)))) + ((((dst_negative_code_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)) * S ((dst_negative_code_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)) + ((dst_negative_scale_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table))) + (((dst_negative_code_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)) * S ((dst_negative_code_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)) + ((dst_negative_scale_sum_exists_slicesource_table) + (dst_negative_scale_sum_exists_slicesource_table)))))) /\ (forall dst_index_sum_exists_slicesource_table. (exists pvs_le_gap_sum_exists_slicesource_tabledomain. pvs_le_gap_sum_exists_slicesource_tabledomain + (dst_index_sum_exists_slicesource_table) = (0)) -> exists dst_positive_sum_exists_slicesource_table dst_negative_sum_exists_slicesource_table dst_value_sum_exists_slicesource_table. ((((exists ff_h_pvs_sum_exists_slicesource_tableentrypositive. ff_h_pvs_sum_exists_slicesource_tableentrypositive + S (dst_positive_sum_exists_slicesource_table) = S ((S (dst_index_sum_exists_slicesource_table)) * dst_positive_scale_sum_exists_slicesource_table)) /\ exists ff_q_pvs_sum_exists_slicesource_tableentrypositive. dst_positive_code_sum_exists_slicesource_table = ff_q_pvs_sum_exists_slicesource_tableentrypositive * S ((S (dst_index_sum_exists_slicesource_table)) * dst_positive_scale_sum_exists_slicesource_table) + (dst_positive_sum_exists_slicesource_table))) /\ (((((exists ff_h_pvs_sum_exists_slicesource_tableentrynegative. ff_h_pvs_sum_exists_slicesource_tableentrynegative + S (dst_negative_sum_exists_slicesource_table) = S ((S (dst_index_sum_exists_slicesource_table)) * dst_negative_scale_sum_exists_slicesource_table)) /\ exists ff_q_pvs_sum_exists_slicesource_tableentrynegative. dst_negative_code_sum_exists_slicesource_table = ff_q_pvs_sum_exists_slicesource_tableentrynegative * S ((S (dst_index_sum_exists_slicesource_table)) * dst_negative_scale_sum_exists_slicesource_table) + (dst_negative_sum_exists_slicesource_table))) /\ (exists ge_balance_positive_sum_exists_slicesource_tableentryvalue ge_balance_negative_sum_exists_slicesource_tableentryvalue. (((((dst_value_sum_exists_slicesource_table) = 2 * (ge_balance_positive_sum_exists_slicesource_tableentryvalue) /\ (ge_balance_negative_sum_exists_slicesource_tableentryvalue) = 0) \/ exists ge_signed_half_sum_exists_slicesource_tableentryvaluedecode. (((dst_value_sum_exists_slicesource_table) = 2 * ge_signed_half_sum_exists_slicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_sum_exists_slicesource_tableentryvalue) = 0) /\ (ge_balance_negative_sum_exists_slicesource_tableentryvalue) = S ge_signed_half_sum_exists_slicesource_tableentryvaluedecode))) /\ ((dst_positive_sum_exists_slicesource_table) + ge_balance_negative_sum_exists_slicesource_tableentryvalue = (dst_negative_sum_exists_slicesource_table) + ge_balance_positive_sum_exists_slicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_sum_exists_sliceoutput_table dst_positive_scale_sum_exists_sliceoutput_table dst_negative_code_sum_exists_sliceoutput_table dst_negative_scale_sum_exists_sliceoutput_table. (((G) = (((((dst_positive_code_sum_exists_sliceoutput_table) + (dst_positive_scale_sum_exists_sliceoutput_table)) * S ((dst_positive_code_sum_exists_sliceoutput_table) + (dst_positive_scale_sum_exists_sliceoutput_table)) + ((dst_positive_scale_sum_exists_sliceoutput_table) + (dst_positive_scale_sum_exists_sliceoutput_table))) + (((dst_negative_code_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)) * S ((dst_negative_code_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)) + ((dst_negative_scale_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)))) * S ((((dst_positive_code_sum_exists_sliceoutput_table) + (dst_positive_scale_sum_exists_sliceoutput_table)) * S ((dst_positive_code_sum_exists_sliceoutput_table) + (dst_positive_scale_sum_exists_sliceoutput_table)) + ((dst_positive_scale_sum_exists_sliceoutput_table) + (dst_positive_scale_sum_exists_sliceoutput_table))) + (((dst_negative_code_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)) * S ((dst_negative_code_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)) + ((dst_negative_scale_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)))) + ((((dst_negative_code_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)) * S ((dst_negative_code_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)) + ((dst_negative_scale_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table))) + (((dst_negative_code_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)) * S ((dst_negative_code_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)) + ((dst_negative_scale_sum_exists_sliceoutput_table) + (dst_negative_scale_sum_exists_sliceoutput_table)))))) /\ (forall dst_index_sum_exists_sliceoutput_table. (exists pvs_le_gap_sum_exists_sliceoutput_tabledomain. pvs_le_gap_sum_exists_sliceoutput_tabledomain + (dst_index_sum_exists_sliceoutput_table) = (l)) -> exists dst_positive_sum_exists_sliceoutput_table dst_negative_sum_exists_sliceoutput_table dst_value_sum_exists_sliceoutput_table. ((((exists ff_h_pvs_sum_exists_sliceoutput_tableentrypositive. ff_h_pvs_sum_exists_sliceoutput_tableentrypositive + S (dst_positive_sum_exists_sliceoutput_table) = S ((S (dst_index_sum_exists_sliceoutput_table)) * dst_positive_scale_sum_exists_sliceoutput_table)) /\ exists ff_q_pvs_sum_exists_sliceoutput_tableentrypositive. dst_positive_code_sum_exists_sliceoutput_table = ff_q_pvs_sum_exists_sliceoutput_tableentrypositive * S ((S (dst_index_sum_exists_sliceoutput_table)) * dst_positive_scale_sum_exists_sliceoutput_table) + (dst_positive_sum_exists_sliceoutput_table))) /\ (((((exists ff_h_pvs_sum_exists_sliceoutput_tableentrynegative. ff_h_pvs_sum_exists_sliceoutput_tableentrynegative + S (dst_negative_sum_exists_sliceoutput_table) = S ((S (dst_index_sum_exists_sliceoutput_table)) * dst_negative_scale_sum_exists_sliceoutput_table)) /\ exists ff_q_pvs_sum_exists_sliceoutput_tableentrynegative. dst_negative_code_sum_exists_sliceoutput_table = ff_q_pvs_sum_exists_sliceoutput_tableentrynegative * S ((S (dst_index_sum_exists_sliceoutput_table)) * dst_negative_scale_sum_exists_sliceoutput_table) + (dst_negative_sum_exists_sliceoutput_table))) /\ (exists ge_balance_positive_sum_exists_sliceoutput_tableentryvalue ge_balance_negative_sum_exists_sliceoutput_tableentryvalue. (((((dst_value_sum_exists_sliceoutput_table) = 2 * (ge_balance_positive_sum_exists_sliceoutput_tableentryvalue) /\ (ge_balance_negative_sum_exists_sliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_sum_exists_sliceoutput_tableentryvaluedecode. (((dst_value_sum_exists_sliceoutput_table) = 2 * ge_signed_half_sum_exists_sliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_sum_exists_sliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_sum_exists_sliceoutput_tableentryvalue) = S ge_signed_half_sum_exists_sliceoutput_tableentryvaluedecode))) /\ ((dst_positive_sum_exists_sliceoutput_table) + ge_balance_negative_sum_exists_sliceoutput_tableentryvalue = (dst_negative_sum_exists_sliceoutput_table) + ge_balance_positive_sum_exists_sliceoutput_tableentryvalue))))))))) /\ (forall srs_index_sum_exists_slice. (exists pvs_gap_sum_exists_slicebound. pvs_gap_sum_exists_slicebound + S (srs_index_sum_exists_slice) = (l)) -> exists srs_value_sum_exists_slice. (((exists dst_positive_code_sum_exists_sliceentrysource dst_positive_scale_sum_exists_sliceentrysource dst_negative_code_sum_exists_sliceentrysource dst_negative_scale_sum_exists_sliceentrysource dst_positive_sum_exists_sliceentrysource dst_negative_sum_exists_sliceentrysource. (((F) = (((((dst_positive_code_sum_exists_sliceentrysource) + (dst_positive_scale_sum_exists_sliceentrysource)) * S ((dst_positive_code_sum_exists_sliceentrysource) + (dst_positive_scale_sum_exists_sliceentrysource)) + ((dst_positive_scale_sum_exists_sliceentrysource) + (dst_positive_scale_sum_exists_sliceentrysource))) + (((dst_negative_code_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)) * S ((dst_negative_code_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)) + ((dst_negative_scale_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)))) * S ((((dst_positive_code_sum_exists_sliceentrysource) + (dst_positive_scale_sum_exists_sliceentrysource)) * S ((dst_positive_code_sum_exists_sliceentrysource) + (dst_positive_scale_sum_exists_sliceentrysource)) + ((dst_positive_scale_sum_exists_sliceentrysource) + (dst_positive_scale_sum_exists_sliceentrysource))) + (((dst_negative_code_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)) * S ((dst_negative_code_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)) + ((dst_negative_scale_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)))) + ((((dst_negative_code_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)) * S ((dst_negative_code_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)) + ((dst_negative_scale_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource))) + (((dst_negative_code_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)) * S ((dst_negative_code_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)) + ((dst_negative_scale_sum_exists_sliceentrysource) + (dst_negative_scale_sum_exists_sliceentrysource)))))) /\ (((((exists ff_h_pvs_sum_exists_sliceentrysourcepositive. ff_h_pvs_sum_exists_sliceentrysourcepositive + S (dst_positive_sum_exists_sliceentrysource) = S ((S (((o) + ((s) * (srs_index_sum_exists_slice))))) * dst_positive_scale_sum_exists_sliceentrysource)) /\ exists ff_q_pvs_sum_exists_sliceentrysourcepositive. dst_positive_code_sum_exists_sliceentrysource = ff_q_pvs_sum_exists_sliceentrysourcepositive * S ((S (((o) + ((s) * (srs_index_sum_exists_slice))))) * dst_positive_scale_sum_exists_sliceentrysource) + (dst_positive_sum_exists_sliceentrysource))) /\ (((((exists ff_h_pvs_sum_exists_sliceentrysourcenegative. ff_h_pvs_sum_exists_sliceentrysourcenegative + S (dst_negative_sum_exists_sliceentrysource) = S ((S (((o) + ((s) * (srs_index_sum_exists_slice))))) * dst_negative_scale_sum_exists_sliceentrysource)) /\ exists ff_q_pvs_sum_exists_sliceentrysourcenegative. dst_negative_code_sum_exists_sliceentrysource = ff_q_pvs_sum_exists_sliceentrysourcenegative * S ((S (((o) + ((s) * (srs_index_sum_exists_slice))))) * dst_negative_scale_sum_exists_sliceentrysource) + (dst_negative_sum_exists_sliceentrysource))) /\ (exists ge_balance_positive_sum_exists_sliceentrysourcevalue ge_balance_negative_sum_exists_sliceentrysourcevalue. (((((srs_value_sum_exists_slice) = 2 * (ge_balance_positive_sum_exists_sliceentrysourcevalue) /\ (ge_balance_negative_sum_exists_sliceentrysourcevalue) = 0) \/ exists ge_signed_half_sum_exists_sliceentrysourcevaluedecode. (((srs_value_sum_exists_slice) = 2 * ge_signed_half_sum_exists_sliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_sum_exists_sliceentrysourcevalue) = 0) /\ (ge_balance_negative_sum_exists_sliceentrysourcevalue) = S ge_signed_half_sum_exists_sliceentrysourcevaluedecode))) /\ ((dst_positive_sum_exists_sliceentrysource) + ge_balance_negative_sum_exists_sliceentrysourcevalue = (dst_negative_sum_exists_sliceentrysource) + ge_balance_positive_sum_exists_sliceentrysourcevalue))))))))) /\ (exists dst_positive_code_sum_exists_sliceentryoutput dst_positive_scale_sum_exists_sliceentryoutput dst_negative_code_sum_exists_sliceentryoutput dst_negative_scale_sum_exists_sliceentryoutput dst_positive_sum_exists_sliceentryoutput dst_negative_sum_exists_sliceentryoutput. (((G) = (((((dst_positive_code_sum_exists_sliceentryoutput) + (dst_positive_scale_sum_exists_sliceentryoutput)) * S ((dst_positive_code_sum_exists_sliceentryoutput) + (dst_positive_scale_sum_exists_sliceentryoutput)) + ((dst_positive_scale_sum_exists_sliceentryoutput) + (dst_positive_scale_sum_exists_sliceentryoutput))) + (((dst_negative_code_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)) * S ((dst_negative_code_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)) + ((dst_negative_scale_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)))) * S ((((dst_positive_code_sum_exists_sliceentryoutput) + (dst_positive_scale_sum_exists_sliceentryoutput)) * S ((dst_positive_code_sum_exists_sliceentryoutput) + (dst_positive_scale_sum_exists_sliceentryoutput)) + ((dst_positive_scale_sum_exists_sliceentryoutput) + (dst_positive_scale_sum_exists_sliceentryoutput))) + (((dst_negative_code_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)) * S ((dst_negative_code_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)) + ((dst_negative_scale_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)))) + ((((dst_negative_code_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)) * S ((dst_negative_code_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)) + ((dst_negative_scale_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput))) + (((dst_negative_code_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)) * S ((dst_negative_code_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)) + ((dst_negative_scale_sum_exists_sliceentryoutput) + (dst_negative_scale_sum_exists_sliceentryoutput)))))) /\ (((((exists ff_h_pvs_sum_exists_sliceentryoutputpositive. ff_h_pvs_sum_exists_sliceentryoutputpositive + S (dst_positive_sum_exists_sliceentryoutput) = S ((S (srs_index_sum_exists_slice)) * dst_positive_scale_sum_exists_sliceentryoutput)) /\ exists ff_q_pvs_sum_exists_sliceentryoutputpositive. dst_positive_code_sum_exists_sliceentryoutput = ff_q_pvs_sum_exists_sliceentryoutputpositive * S ((S (srs_index_sum_exists_slice)) * dst_positive_scale_sum_exists_sliceentryoutput) + (dst_positive_sum_exists_sliceentryoutput))) /\ (((((exists ff_h_pvs_sum_exists_sliceentryoutputnegative. ff_h_pvs_sum_exists_sliceentryoutputnegative + S (dst_negative_sum_exists_sliceentryoutput) = S ((S (srs_index_sum_exists_slice)) * dst_negative_scale_sum_exists_sliceentryoutput)) /\ exists ff_q_pvs_sum_exists_sliceentryoutputnegative. dst_negative_code_sum_exists_sliceentryoutput = ff_q_pvs_sum_exists_sliceentryoutputnegative * S ((S (srs_index_sum_exists_slice)) * dst_negative_scale_sum_exists_sliceentryoutput) + (dst_negative_sum_exists_sliceentryoutput))) /\ (exists ge_balance_positive_sum_exists_sliceentryoutputvalue ge_balance_negative_sum_exists_sliceentryoutputvalue. (((((srs_value_sum_exists_slice) = 2 * (ge_balance_positive_sum_exists_sliceentryoutputvalue) /\ (ge_balance_negative_sum_exists_sliceentryoutputvalue) = 0) \/ exists ge_signed_half_sum_exists_sliceentryoutputvaluedecode. (((srs_value_sum_exists_slice) = 2 * ge_signed_half_sum_exists_sliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_sum_exists_sliceentryoutputvalue) = 0) /\ (ge_balance_negative_sum_exists_sliceentryoutputvalue) = S ge_signed_half_sum_exists_sliceentryoutputvaluedecode))) /\ ((dst_positive_sum_exists_sliceentryoutput) + ge_balance_negative_sum_exists_sliceentryoutputvalue = (dst_negative_sum_exists_sliceentryoutput) + ge_balance_positive_sum_exists_sliceentryoutputvalue)))))))))))))))) - 0007
specialize signed_rectangular_slice_exists (l) - 0008
specialize signed_rectangular_slice_exists (F) - 0009
specialize signed_rectangular_slice_exists (o) - 0010
specialize signed_rectangular_slice_exists (s) - 0011
apply signed_rectangular_slice_exists - 0012
exact hF - 0013
cases hg - 0014
have hz : exists z. (exists dst_positive_code_sum_exists_value dst_positive_scale_sum_exists_value dst_negative_code_sum_exists_value dst_negative_scale_sum_exists_value dst_positive_sum_sum_exists_value dst_negative_sum_sum_exists_value. (((x) = (((((dst_positive_code_sum_exists_value) + (dst_positive_scale_sum_exists_value)) * S ((dst_positive_code_sum_exists_value) + (dst_positive_scale_sum_exists_value)) + ((dst_positive_scale_sum_exists_value) + (dst_positive_scale_sum_exists_value))) + (((dst_negative_code_sum_exists_value) + (dst_negative_scale_sum_exists_value)) * S ((dst_negative_code_sum_exists_value) + (dst_negative_scale_sum_exists_value)) + ((dst_negative_scale_sum_exists_value) + (dst_negative_scale_sum_exists_value)))) * S ((((dst_positive_code_sum_exists_value) + (dst_positive_scale_sum_exists_value)) * S ((dst_positive_code_sum_exists_value) + (dst_positive_scale_sum_exists_value)) + ((dst_positive_scale_sum_exists_value) + (dst_positive_scale_sum_exists_value))) + (((dst_negative_code_sum_exists_value) + (dst_negative_scale_sum_exists_value)) * S ((dst_negative_code_sum_exists_value) + (dst_negative_scale_sum_exists_value)) + ((dst_negative_scale_sum_exists_value) + (dst_negative_scale_sum_exists_value)))) + ((((dst_negative_code_sum_exists_value) + (dst_negative_scale_sum_exists_value)) * S ((dst_negative_code_sum_exists_value) + (dst_negative_scale_sum_exists_value)) + ((dst_negative_scale_sum_exists_value) + (dst_negative_scale_sum_exists_value))) + (((dst_negative_code_sum_exists_value) + (dst_negative_scale_sum_exists_value)) * S ((dst_negative_code_sum_exists_value) + (dst_negative_scale_sum_exists_value)) + ((dst_negative_scale_sum_exists_value) + (dst_negative_scale_sum_exists_value)))))) /\ (((exists fs_u_dst_sum_exists_valuepositive fs_v_dst_sum_exists_valuepositive. ((((exists fs_h_dst_sum_exists_valuepositive_body_start. fs_h_dst_sum_exists_valuepositive_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_exists_valuepositive)) /\ exists fs_q_dst_sum_exists_valuepositive_body_start. fs_u_dst_sum_exists_valuepositive = fs_q_dst_sum_exists_valuepositive_body_start * S ((S (0)) * fs_v_dst_sum_exists_valuepositive) + (0))) /\ ((((exists fs_h_dst_sum_exists_valuepositive_body_terminal. fs_h_dst_sum_exists_valuepositive_body_terminal + S (dst_positive_sum_sum_exists_value) = S ((S (l)) * fs_v_dst_sum_exists_valuepositive)) /\ exists fs_q_dst_sum_exists_valuepositive_body_terminal. fs_u_dst_sum_exists_valuepositive = fs_q_dst_sum_exists_valuepositive_body_terminal * S ((S (l)) * fs_v_dst_sum_exists_valuepositive) + (dst_positive_sum_sum_exists_value))) /\ forall fs_i_dst_sum_exists_valuepositive_body_steps. (exists fs_lt_dst_sum_exists_valuepositive_body_steps_bound. fs_lt_dst_sum_exists_valuepositive_body_steps_bound + S fs_i_dst_sum_exists_valuepositive_body_steps = l) -> exists fs_a_dst_sum_exists_valuepositive_body_steps fs_r_dst_sum_exists_valuepositive_body_steps fs_s_dst_sum_exists_valuepositive_body_steps. ((((exists fs_h_dst_sum_exists_valuepositive_body_steps_summand. fs_h_dst_sum_exists_valuepositive_body_steps_summand + S (fs_a_dst_sum_exists_valuepositive_body_steps) = S ((S (fs_i_dst_sum_exists_valuepositive_body_steps)) * dst_positive_scale_sum_exists_value)) /\ exists fs_q_dst_sum_exists_valuepositive_body_steps_summand. dst_positive_code_sum_exists_value = fs_q_dst_sum_exists_valuepositive_body_steps_summand * S ((S (fs_i_dst_sum_exists_valuepositive_body_steps)) * dst_positive_scale_sum_exists_value) + (fs_a_dst_sum_exists_valuepositive_body_steps))) /\ ((((exists fs_h_dst_sum_exists_valuepositive_body_steps_partial. fs_h_dst_sum_exists_valuepositive_body_steps_partial + S (fs_r_dst_sum_exists_valuepositive_body_steps) = S ((S (fs_i_dst_sum_exists_valuepositive_body_steps)) * fs_v_dst_sum_exists_valuepositive)) /\ exists fs_q_dst_sum_exists_valuepositive_body_steps_partial. fs_u_dst_sum_exists_valuepositive = fs_q_dst_sum_exists_valuepositive_body_steps_partial * S ((S (fs_i_dst_sum_exists_valuepositive_body_steps)) * fs_v_dst_sum_exists_valuepositive) + (fs_r_dst_sum_exists_valuepositive_body_steps))) /\ ((((exists fs_h_dst_sum_exists_valuepositive_body_steps_successor. fs_h_dst_sum_exists_valuepositive_body_steps_successor + S (fs_s_dst_sum_exists_valuepositive_body_steps) = S ((S (S fs_i_dst_sum_exists_valuepositive_body_steps)) * fs_v_dst_sum_exists_valuepositive)) /\ exists fs_q_dst_sum_exists_valuepositive_body_steps_successor. fs_u_dst_sum_exists_valuepositive = fs_q_dst_sum_exists_valuepositive_body_steps_successor * S ((S (S fs_i_dst_sum_exists_valuepositive_body_steps)) * fs_v_dst_sum_exists_valuepositive) + (fs_s_dst_sum_exists_valuepositive_body_steps))) /\ fs_s_dst_sum_exists_valuepositive_body_steps = fs_r_dst_sum_exists_valuepositive_body_steps + fs_a_dst_sum_exists_valuepositive_body_steps)))))) /\ (((exists fs_u_dst_sum_exists_valuenegative fs_v_dst_sum_exists_valuenegative. ((((exists fs_h_dst_sum_exists_valuenegative_body_start. fs_h_dst_sum_exists_valuenegative_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_exists_valuenegative)) /\ exists fs_q_dst_sum_exists_valuenegative_body_start. fs_u_dst_sum_exists_valuenegative = fs_q_dst_sum_exists_valuenegative_body_start * S ((S (0)) * fs_v_dst_sum_exists_valuenegative) + (0))) /\ ((((exists fs_h_dst_sum_exists_valuenegative_body_terminal. fs_h_dst_sum_exists_valuenegative_body_terminal + S (dst_negative_sum_sum_exists_value) = S ((S (l)) * fs_v_dst_sum_exists_valuenegative)) /\ exists fs_q_dst_sum_exists_valuenegative_body_terminal. fs_u_dst_sum_exists_valuenegative = fs_q_dst_sum_exists_valuenegative_body_terminal * S ((S (l)) * fs_v_dst_sum_exists_valuenegative) + (dst_negative_sum_sum_exists_value))) /\ forall fs_i_dst_sum_exists_valuenegative_body_steps. (exists fs_lt_dst_sum_exists_valuenegative_body_steps_bound. fs_lt_dst_sum_exists_valuenegative_body_steps_bound + S fs_i_dst_sum_exists_valuenegative_body_steps = l) -> exists fs_a_dst_sum_exists_valuenegative_body_steps fs_r_dst_sum_exists_valuenegative_body_steps fs_s_dst_sum_exists_valuenegative_body_steps. ((((exists fs_h_dst_sum_exists_valuenegative_body_steps_summand. fs_h_dst_sum_exists_valuenegative_body_steps_summand + S (fs_a_dst_sum_exists_valuenegative_body_steps) = S ((S (fs_i_dst_sum_exists_valuenegative_body_steps)) * dst_negative_scale_sum_exists_value)) /\ exists fs_q_dst_sum_exists_valuenegative_body_steps_summand. dst_negative_code_sum_exists_value = fs_q_dst_sum_exists_valuenegative_body_steps_summand * S ((S (fs_i_dst_sum_exists_valuenegative_body_steps)) * dst_negative_scale_sum_exists_value) + (fs_a_dst_sum_exists_valuenegative_body_steps))) /\ ((((exists fs_h_dst_sum_exists_valuenegative_body_steps_partial. fs_h_dst_sum_exists_valuenegative_body_steps_partial + S (fs_r_dst_sum_exists_valuenegative_body_steps) = S ((S (fs_i_dst_sum_exists_valuenegative_body_steps)) * fs_v_dst_sum_exists_valuenegative)) /\ exists fs_q_dst_sum_exists_valuenegative_body_steps_partial. fs_u_dst_sum_exists_valuenegative = fs_q_dst_sum_exists_valuenegative_body_steps_partial * S ((S (fs_i_dst_sum_exists_valuenegative_body_steps)) * fs_v_dst_sum_exists_valuenegative) + (fs_r_dst_sum_exists_valuenegative_body_steps))) /\ ((((exists fs_h_dst_sum_exists_valuenegative_body_steps_successor. fs_h_dst_sum_exists_valuenegative_body_steps_successor + S (fs_s_dst_sum_exists_valuenegative_body_steps) = S ((S (S fs_i_dst_sum_exists_valuenegative_body_steps)) * fs_v_dst_sum_exists_valuenegative)) /\ exists fs_q_dst_sum_exists_valuenegative_body_steps_successor. fs_u_dst_sum_exists_valuenegative = fs_q_dst_sum_exists_valuenegative_body_steps_successor * S ((S (S fs_i_dst_sum_exists_valuenegative_body_steps)) * fs_v_dst_sum_exists_valuenegative) + (fs_s_dst_sum_exists_valuenegative_body_steps))) /\ fs_s_dst_sum_exists_valuenegative_body_steps = fs_r_dst_sum_exists_valuenegative_body_steps + fs_a_dst_sum_exists_valuenegative_body_steps)))))) /\ (exists ge_balance_positive_sum_exists_valueresult ge_balance_negative_sum_exists_valueresult. (((((z) = 2 * (ge_balance_positive_sum_exists_valueresult) /\ (ge_balance_negative_sum_exists_valueresult) = 0) \/ exists ge_signed_half_sum_exists_valueresultdecode. (((z) = 2 * ge_signed_half_sum_exists_valueresultdecode + 1 /\ (ge_balance_positive_sum_exists_valueresult) = 0) /\ (ge_balance_negative_sum_exists_valueresult) = S ge_signed_half_sum_exists_valueresultdecode))) /\ ((dst_positive_sum_sum_exists_value) + ge_balance_negative_sum_exists_valueresult = (dst_negative_sum_sum_exists_value) + ge_balance_positive_sum_exists_valueresult))))))))) - 0015
specialize arithmetic_signed_sum_exists (l) - 0016
specialize arithmetic_signed_sum_exists (x) - 0017
specialize arithmetic_signed_sum_exists (l) - 0018
apply arithmetic_signed_sum_exists - 0019
cases hg_witness - 0020
cases hg_witness_right - 0021
exact hg_witness_right_left - 0022
cases hz - 0023
exists x1 - 0024
exists x - 0025
split - 0026
exact hg_witness - 0027
exact hz_witness