RS0005

signed_rectangular_slice_extend

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

A preserved actual prefix and one real source lookup extend the slice without changing any earlier represented value.

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

Exact expanded first-order arithmetic statement

forall F G H o s l a. (((exists dst_positive_code_extend_prefixsource_table dst_positive_scale_extend_prefixsource_table dst_negative_code_extend_prefixsource_table dst_negative_scale_extend_prefixsource_table. (((F) = (((((dst_positive_code_extend_prefixsource_table) + (dst_positive_scale_extend_prefixsource_table)) * S ((dst_positive_code_extend_prefixsource_table) + (dst_positive_scale_extend_prefixsource_table)) + ((dst_positive_scale_extend_prefixsource_table) + (dst_positive_scale_extend_prefixsource_table))) + (((dst_negative_code_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)) * S ((dst_negative_code_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)) + ((dst_negative_scale_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)))) * S ((((dst_positive_code_extend_prefixsource_table) + (dst_positive_scale_extend_prefixsource_table)) * S ((dst_positive_code_extend_prefixsource_table) + (dst_positive_scale_extend_prefixsource_table)) + ((dst_positive_scale_extend_prefixsource_table) + (dst_positive_scale_extend_prefixsource_table))) + (((dst_negative_code_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)) * S ((dst_negative_code_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)) + ((dst_negative_scale_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)))) + ((((dst_negative_code_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)) * S ((dst_negative_code_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)) + ((dst_negative_scale_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table))) + (((dst_negative_code_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)) * S ((dst_negative_code_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)) + ((dst_negative_scale_extend_prefixsource_table) + (dst_negative_scale_extend_prefixsource_table)))))) /\ (forall dst_index_extend_prefixsource_table. (exists pvs_le_gap_extend_prefixsource_tabledomain. pvs_le_gap_extend_prefixsource_tabledomain + (dst_index_extend_prefixsource_table) = (0)) -> exists dst_positive_extend_prefixsource_table dst_negative_extend_prefixsource_table dst_value_extend_prefixsource_table. ((((exists ff_h_pvs_extend_prefixsource_tableentrypositive. ff_h_pvs_extend_prefixsource_tableentrypositive + S (dst_positive_extend_prefixsource_table) = S ((S (dst_index_extend_prefixsource_table)) * dst_positive_scale_extend_prefixsource_table)) /\ exists ff_q_pvs_extend_prefixsource_tableentrypositive. dst_positive_code_extend_prefixsource_table = ff_q_pvs_extend_prefixsource_tableentrypositive * S ((S (dst_index_extend_prefixsource_table)) * dst_positive_scale_extend_prefixsource_table) + (dst_positive_extend_prefixsource_table))) /\ (((((exists ff_h_pvs_extend_prefixsource_tableentrynegative. ff_h_pvs_extend_prefixsource_tableentrynegative + S (dst_negative_extend_prefixsource_table) = S ((S (dst_index_extend_prefixsource_table)) * dst_negative_scale_extend_prefixsource_table)) /\ exists ff_q_pvs_extend_prefixsource_tableentrynegative. dst_negative_code_extend_prefixsource_table = ff_q_pvs_extend_prefixsource_tableentrynegative * S ((S (dst_index_extend_prefixsource_table)) * dst_negative_scale_extend_prefixsource_table) + (dst_negative_extend_prefixsource_table))) /\ (exists ge_balance_positive_extend_prefixsource_tableentryvalue ge_balance_negative_extend_prefixsource_tableentryvalue. (((((dst_value_extend_prefixsource_table) = 2 * (ge_balance_positive_extend_prefixsource_tableentryvalue) /\ (ge_balance_negative_extend_prefixsource_tableentryvalue) = 0) \/ exists ge_signed_half_extend_prefixsource_tableentryvaluedecode. (((dst_value_extend_prefixsource_table) = 2 * ge_signed_half_extend_prefixsource_tableentryvaluedecode + 1 /\ (ge_balance_positive_extend_prefixsource_tableentryvalue) = 0) /\ (ge_balance_negative_extend_prefixsource_tableentryvalue) = S ge_signed_half_extend_prefixsource_tableentryvaluedecode))) /\ ((dst_positive_extend_prefixsource_table) + ge_balance_negative_extend_prefixsource_tableentryvalue = (dst_negative_extend_prefixsource_table) + ge_balance_positive_extend_prefixsource_tableentryvalue))))))))) /\ (((exists dst_positive_code_extend_prefixoutput_table dst_positive_scale_extend_prefixoutput_table dst_negative_code_extend_prefixoutput_table dst_negative_scale_extend_prefixoutput_table. (((G) = (((((dst_positive_code_extend_prefixoutput_table) + (dst_positive_scale_extend_prefixoutput_table)) * S ((dst_positive_code_extend_prefixoutput_table) + (dst_positive_scale_extend_prefixoutput_table)) + ((dst_positive_scale_extend_prefixoutput_table) + (dst_positive_scale_extend_prefixoutput_table))) + (((dst_negative_code_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)) * S ((dst_negative_code_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)) + ((dst_negative_scale_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)))) * S ((((dst_positive_code_extend_prefixoutput_table) + (dst_positive_scale_extend_prefixoutput_table)) * S ((dst_positive_code_extend_prefixoutput_table) + (dst_positive_scale_extend_prefixoutput_table)) + ((dst_positive_scale_extend_prefixoutput_table) + (dst_positive_scale_extend_prefixoutput_table))) + (((dst_negative_code_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)) * S ((dst_negative_code_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)) + ((dst_negative_scale_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)))) + ((((dst_negative_code_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)) * S ((dst_negative_code_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)) + ((dst_negative_scale_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table))) + (((dst_negative_code_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)) * S ((dst_negative_code_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)) + ((dst_negative_scale_extend_prefixoutput_table) + (dst_negative_scale_extend_prefixoutput_table)))))) /\ (forall dst_index_extend_prefixoutput_table. (exists pvs_le_gap_extend_prefixoutput_tabledomain. pvs_le_gap_extend_prefixoutput_tabledomain + (dst_index_extend_prefixoutput_table) = (l)) -> exists dst_positive_extend_prefixoutput_table dst_negative_extend_prefixoutput_table dst_value_extend_prefixoutput_table. ((((exists ff_h_pvs_extend_prefixoutput_tableentrypositive. ff_h_pvs_extend_prefixoutput_tableentrypositive + S (dst_positive_extend_prefixoutput_table) = S ((S (dst_index_extend_prefixoutput_table)) * dst_positive_scale_extend_prefixoutput_table)) /\ exists ff_q_pvs_extend_prefixoutput_tableentrypositive. dst_positive_code_extend_prefixoutput_table = ff_q_pvs_extend_prefixoutput_tableentrypositive * S ((S (dst_index_extend_prefixoutput_table)) * dst_positive_scale_extend_prefixoutput_table) + (dst_positive_extend_prefixoutput_table))) /\ (((((exists ff_h_pvs_extend_prefixoutput_tableentrynegative. ff_h_pvs_extend_prefixoutput_tableentrynegative + S (dst_negative_extend_prefixoutput_table) = S ((S (dst_index_extend_prefixoutput_table)) * dst_negative_scale_extend_prefixoutput_table)) /\ exists ff_q_pvs_extend_prefixoutput_tableentrynegative. dst_negative_code_extend_prefixoutput_table = ff_q_pvs_extend_prefixoutput_tableentrynegative * S ((S (dst_index_extend_prefixoutput_table)) * dst_negative_scale_extend_prefixoutput_table) + (dst_negative_extend_prefixoutput_table))) /\ (exists ge_balance_positive_extend_prefixoutput_tableentryvalue ge_balance_negative_extend_prefixoutput_tableentryvalue. (((((dst_value_extend_prefixoutput_table) = 2 * (ge_balance_positive_extend_prefixoutput_tableentryvalue) /\ (ge_balance_negative_extend_prefixoutput_tableentryvalue) = 0) \/ exists ge_signed_half_extend_prefixoutput_tableentryvaluedecode. (((dst_value_extend_prefixoutput_table) = 2 * ge_signed_half_extend_prefixoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_extend_prefixoutput_tableentryvalue) = 0) /\ (ge_balance_negative_extend_prefixoutput_tableentryvalue) = S ge_signed_half_extend_prefixoutput_tableentryvaluedecode))) /\ ((dst_positive_extend_prefixoutput_table) + ge_balance_negative_extend_prefixoutput_tableentryvalue = (dst_negative_extend_prefixoutput_table) + ge_balance_positive_extend_prefixoutput_tableentryvalue))))))))) /\ (forall srs_index_extend_prefix. (exists pvs_gap_extend_prefixbound. pvs_gap_extend_prefixbound + S (srs_index_extend_prefix) = (l)) -> exists srs_value_extend_prefix. (((exists dst_positive_code_extend_prefixentrysource dst_positive_scale_extend_prefixentrysource dst_negative_code_extend_prefixentrysource dst_negative_scale_extend_prefixentrysource dst_positive_extend_prefixentrysource dst_negative_extend_prefixentrysource. (((F) = (((((dst_positive_code_extend_prefixentrysource) + (dst_positive_scale_extend_prefixentrysource)) * S ((dst_positive_code_extend_prefixentrysource) + (dst_positive_scale_extend_prefixentrysource)) + ((dst_positive_scale_extend_prefixentrysource) + (dst_positive_scale_extend_prefixentrysource))) + (((dst_negative_code_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)) * S ((dst_negative_code_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)) + ((dst_negative_scale_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)))) * S ((((dst_positive_code_extend_prefixentrysource) + (dst_positive_scale_extend_prefixentrysource)) * S ((dst_positive_code_extend_prefixentrysource) + (dst_positive_scale_extend_prefixentrysource)) + ((dst_positive_scale_extend_prefixentrysource) + (dst_positive_scale_extend_prefixentrysource))) + (((dst_negative_code_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)) * S ((dst_negative_code_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)) + ((dst_negative_scale_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)))) + ((((dst_negative_code_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)) * S ((dst_negative_code_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)) + ((dst_negative_scale_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource))) + (((dst_negative_code_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)) * S ((dst_negative_code_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)) + ((dst_negative_scale_extend_prefixentrysource) + (dst_negative_scale_extend_prefixentrysource)))))) /\ (((((exists ff_h_pvs_extend_prefixentrysourcepositive. ff_h_pvs_extend_prefixentrysourcepositive + S (dst_positive_extend_prefixentrysource) = S ((S (((o) + ((s) * (srs_index_extend_prefix))))) * dst_positive_scale_extend_prefixentrysource)) /\ exists ff_q_pvs_extend_prefixentrysourcepositive. dst_positive_code_extend_prefixentrysource = ff_q_pvs_extend_prefixentrysourcepositive * S ((S (((o) + ((s) * (srs_index_extend_prefix))))) * dst_positive_scale_extend_prefixentrysource) + (dst_positive_extend_prefixentrysource))) /\ (((((exists ff_h_pvs_extend_prefixentrysourcenegative. ff_h_pvs_extend_prefixentrysourcenegative + S (dst_negative_extend_prefixentrysource) = S ((S (((o) + ((s) * (srs_index_extend_prefix))))) * dst_negative_scale_extend_prefixentrysource)) /\ exists ff_q_pvs_extend_prefixentrysourcenegative. dst_negative_code_extend_prefixentrysource = ff_q_pvs_extend_prefixentrysourcenegative * S ((S (((o) + ((s) * (srs_index_extend_prefix))))) * dst_negative_scale_extend_prefixentrysource) + (dst_negative_extend_prefixentrysource))) /\ (exists ge_balance_positive_extend_prefixentrysourcevalue ge_balance_negative_extend_prefixentrysourcevalue. (((((srs_value_extend_prefix) = 2 * (ge_balance_positive_extend_prefixentrysourcevalue) /\ (ge_balance_negative_extend_prefixentrysourcevalue) = 0) \/ exists ge_signed_half_extend_prefixentrysourcevaluedecode. (((srs_value_extend_prefix) = 2 * ge_signed_half_extend_prefixentrysourcevaluedecode + 1 /\ (ge_balance_positive_extend_prefixentrysourcevalue) = 0) /\ (ge_balance_negative_extend_prefixentrysourcevalue) = S ge_signed_half_extend_prefixentrysourcevaluedecode))) /\ ((dst_positive_extend_prefixentrysource) + ge_balance_negative_extend_prefixentrysourcevalue = (dst_negative_extend_prefixentrysource) + ge_balance_positive_extend_prefixentrysourcevalue))))))))) /\ (exists dst_positive_code_extend_prefixentryoutput dst_positive_scale_extend_prefixentryoutput dst_negative_code_extend_prefixentryoutput dst_negative_scale_extend_prefixentryoutput dst_positive_extend_prefixentryoutput dst_negative_extend_prefixentryoutput. (((G) = (((((dst_positive_code_extend_prefixentryoutput) + (dst_positive_scale_extend_prefixentryoutput)) * S ((dst_positive_code_extend_prefixentryoutput) + (dst_positive_scale_extend_prefixentryoutput)) + ((dst_positive_scale_extend_prefixentryoutput) + (dst_positive_scale_extend_prefixentryoutput))) + (((dst_negative_code_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)) * S ((dst_negative_code_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)) + ((dst_negative_scale_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)))) * S ((((dst_positive_code_extend_prefixentryoutput) + (dst_positive_scale_extend_prefixentryoutput)) * S ((dst_positive_code_extend_prefixentryoutput) + (dst_positive_scale_extend_prefixentryoutput)) + ((dst_positive_scale_extend_prefixentryoutput) + (dst_positive_scale_extend_prefixentryoutput))) + (((dst_negative_code_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)) * S ((dst_negative_code_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)) + ((dst_negative_scale_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)))) + ((((dst_negative_code_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)) * S ((dst_negative_code_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)) + ((dst_negative_scale_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput))) + (((dst_negative_code_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)) * S ((dst_negative_code_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)) + ((dst_negative_scale_extend_prefixentryoutput) + (dst_negative_scale_extend_prefixentryoutput)))))) /\ (((((exists ff_h_pvs_extend_prefixentryoutputpositive. ff_h_pvs_extend_prefixentryoutputpositive + S (dst_positive_extend_prefixentryoutput) = S ((S (srs_index_extend_prefix)) * dst_positive_scale_extend_prefixentryoutput)) /\ exists ff_q_pvs_extend_prefixentryoutputpositive. dst_positive_code_extend_prefixentryoutput = ff_q_pvs_extend_prefixentryoutputpositive * S ((S (srs_index_extend_prefix)) * dst_positive_scale_extend_prefixentryoutput) + (dst_positive_extend_prefixentryoutput))) /\ (((((exists ff_h_pvs_extend_prefixentryoutputnegative. ff_h_pvs_extend_prefixentryoutputnegative + S (dst_negative_extend_prefixentryoutput) = S ((S (srs_index_extend_prefix)) * dst_negative_scale_extend_prefixentryoutput)) /\ exists ff_q_pvs_extend_prefixentryoutputnegative. dst_negative_code_extend_prefixentryoutput = ff_q_pvs_extend_prefixentryoutputnegative * S ((S (srs_index_extend_prefix)) * dst_negative_scale_extend_prefixentryoutput) + (dst_negative_extend_prefixentryoutput))) /\ (exists ge_balance_positive_extend_prefixentryoutputvalue ge_balance_negative_extend_prefixentryoutputvalue. (((((srs_value_extend_prefix) = 2 * (ge_balance_positive_extend_prefixentryoutputvalue) /\ (ge_balance_negative_extend_prefixentryoutputvalue) = 0) \/ exists ge_signed_half_extend_prefixentryoutputvaluedecode. (((srs_value_extend_prefix) = 2 * ge_signed_half_extend_prefixentryoutputvaluedecode + 1 /\ (ge_balance_positive_extend_prefixentryoutputvalue) = 0) /\ (ge_balance_negative_extend_prefixentryoutputvalue) = S ge_signed_half_extend_prefixentryoutputvaluedecode))) /\ ((dst_positive_extend_prefixentryoutput) + ge_balance_negative_extend_prefixentryoutputvalue = (dst_negative_extend_prefixentryoutput) + ge_balance_positive_extend_prefixentryoutputvalue)))))))))))))))) -> (exists dst_positive_code_extend_table dst_positive_scale_extend_table dst_negative_code_extend_table dst_negative_scale_extend_table. (((H) = (((((dst_positive_code_extend_table) + (dst_positive_scale_extend_table)) * S ((dst_positive_code_extend_table) + (dst_positive_scale_extend_table)) + ((dst_positive_scale_extend_table) + (dst_positive_scale_extend_table))) + (((dst_negative_code_extend_table) + (dst_negative_scale_extend_table)) * S ((dst_negative_code_extend_table) + (dst_negative_scale_extend_table)) + ((dst_negative_scale_extend_table) + (dst_negative_scale_extend_table)))) * S ((((dst_positive_code_extend_table) + (dst_positive_scale_extend_table)) * S ((dst_positive_code_extend_table) + (dst_positive_scale_extend_table)) + ((dst_positive_scale_extend_table) + (dst_positive_scale_extend_table))) + (((dst_negative_code_extend_table) + (dst_negative_scale_extend_table)) * S ((dst_negative_code_extend_table) + (dst_negative_scale_extend_table)) + ((dst_negative_scale_extend_table) + (dst_negative_scale_extend_table)))) + ((((dst_negative_code_extend_table) + (dst_negative_scale_extend_table)) * S ((dst_negative_code_extend_table) + (dst_negative_scale_extend_table)) + ((dst_negative_scale_extend_table) + (dst_negative_scale_extend_table))) + (((dst_negative_code_extend_table) + (dst_negative_scale_extend_table)) * S ((dst_negative_code_extend_table) + (dst_negative_scale_extend_table)) + ((dst_negative_scale_extend_table) + (dst_negative_scale_extend_table)))))) /\ (forall dst_index_extend_table. (exists pvs_le_gap_extend_tabledomain. pvs_le_gap_extend_tabledomain + (dst_index_extend_table) = (l)) -> exists dst_positive_extend_table dst_negative_extend_table dst_value_extend_table. ((((exists ff_h_pvs_extend_tableentrypositive. ff_h_pvs_extend_tableentrypositive + S (dst_positive_extend_table) = S ((S (dst_index_extend_table)) * dst_positive_scale_extend_table)) /\ exists ff_q_pvs_extend_tableentrypositive. dst_positive_code_extend_table = ff_q_pvs_extend_tableentrypositive * S ((S (dst_index_extend_table)) * dst_positive_scale_extend_table) + (dst_positive_extend_table))) /\ (((((exists ff_h_pvs_extend_tableentrynegative. ff_h_pvs_extend_tableentrynegative + S (dst_negative_extend_table) = S ((S (dst_index_extend_table)) * dst_negative_scale_extend_table)) /\ exists ff_q_pvs_extend_tableentrynegative. dst_negative_code_extend_table = ff_q_pvs_extend_tableentrynegative * S ((S (dst_index_extend_table)) * dst_negative_scale_extend_table) + (dst_negative_extend_table))) /\ (exists ge_balance_positive_extend_tableentryvalue ge_balance_negative_extend_tableentryvalue. (((((dst_value_extend_table) = 2 * (ge_balance_positive_extend_tableentryvalue) /\ (ge_balance_negative_extend_tableentryvalue) = 0) \/ exists ge_signed_half_extend_tableentryvaluedecode. (((dst_value_extend_table) = 2 * ge_signed_half_extend_tableentryvaluedecode + 1 /\ (ge_balance_positive_extend_tableentryvalue) = 0) /\ (ge_balance_negative_extend_tableentryvalue) = S ge_signed_half_extend_tableentryvaluedecode))) /\ ((dst_positive_extend_table) + ge_balance_negative_extend_tableentryvalue = (dst_negative_extend_table) + ge_balance_positive_extend_tableentryvalue))))))))) -> (forall dst_index_extend_preserved dst_first_extend_preserved dst_second_extend_preserved. (exists pvs_gap_extend_preservedbound. pvs_gap_extend_preservedbound + S (dst_index_extend_preserved) = (l)) -> (exists dst_positive_code_extend_preservedfirst dst_positive_scale_extend_preservedfirst dst_negative_code_extend_preservedfirst dst_negative_scale_extend_preservedfirst dst_positive_extend_preservedfirst dst_negative_extend_preservedfirst. (((G) = (((((dst_positive_code_extend_preservedfirst) + (dst_positive_scale_extend_preservedfirst)) * S ((dst_positive_code_extend_preservedfirst) + (dst_positive_scale_extend_preservedfirst)) + ((dst_positive_scale_extend_preservedfirst) + (dst_positive_scale_extend_preservedfirst))) + (((dst_negative_code_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)) * S ((dst_negative_code_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)) + ((dst_negative_scale_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)))) * S ((((dst_positive_code_extend_preservedfirst) + (dst_positive_scale_extend_preservedfirst)) * S ((dst_positive_code_extend_preservedfirst) + (dst_positive_scale_extend_preservedfirst)) + ((dst_positive_scale_extend_preservedfirst) + (dst_positive_scale_extend_preservedfirst))) + (((dst_negative_code_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)) * S ((dst_negative_code_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)) + ((dst_negative_scale_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)))) + ((((dst_negative_code_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)) * S ((dst_negative_code_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)) + ((dst_negative_scale_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst))) + (((dst_negative_code_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)) * S ((dst_negative_code_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)) + ((dst_negative_scale_extend_preservedfirst) + (dst_negative_scale_extend_preservedfirst)))))) /\ (((((exists ff_h_pvs_extend_preservedfirstpositive. ff_h_pvs_extend_preservedfirstpositive + S (dst_positive_extend_preservedfirst) = S ((S (dst_index_extend_preserved)) * dst_positive_scale_extend_preservedfirst)) /\ exists ff_q_pvs_extend_preservedfirstpositive. dst_positive_code_extend_preservedfirst = ff_q_pvs_extend_preservedfirstpositive * S ((S (dst_index_extend_preserved)) * dst_positive_scale_extend_preservedfirst) + (dst_positive_extend_preservedfirst))) /\ (((((exists ff_h_pvs_extend_preservedfirstnegative. ff_h_pvs_extend_preservedfirstnegative + S (dst_negative_extend_preservedfirst) = S ((S (dst_index_extend_preserved)) * dst_negative_scale_extend_preservedfirst)) /\ exists ff_q_pvs_extend_preservedfirstnegative. dst_negative_code_extend_preservedfirst = ff_q_pvs_extend_preservedfirstnegative * S ((S (dst_index_extend_preserved)) * dst_negative_scale_extend_preservedfirst) + (dst_negative_extend_preservedfirst))) /\ (exists ge_balance_positive_extend_preservedfirstvalue ge_balance_negative_extend_preservedfirstvalue. (((((dst_first_extend_preserved) = 2 * (ge_balance_positive_extend_preservedfirstvalue) /\ (ge_balance_negative_extend_preservedfirstvalue) = 0) \/ exists ge_signed_half_extend_preservedfirstvaluedecode. (((dst_first_extend_preserved) = 2 * ge_signed_half_extend_preservedfirstvaluedecode + 1 /\ (ge_balance_positive_extend_preservedfirstvalue) = 0) /\ (ge_balance_negative_extend_preservedfirstvalue) = S ge_signed_half_extend_preservedfirstvaluedecode))) /\ ((dst_positive_extend_preservedfirst) + ge_balance_negative_extend_preservedfirstvalue = (dst_negative_extend_preservedfirst) + ge_balance_positive_extend_preservedfirstvalue))))))))) -> (exists dst_positive_code_extend_preservedsecond dst_positive_scale_extend_preservedsecond dst_negative_code_extend_preservedsecond dst_negative_scale_extend_preservedsecond dst_positive_extend_preservedsecond dst_negative_extend_preservedsecond. (((H) = (((((dst_positive_code_extend_preservedsecond) + (dst_positive_scale_extend_preservedsecond)) * S ((dst_positive_code_extend_preservedsecond) + (dst_positive_scale_extend_preservedsecond)) + ((dst_positive_scale_extend_preservedsecond) + (dst_positive_scale_extend_preservedsecond))) + (((dst_negative_code_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)) * S ((dst_negative_code_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)) + ((dst_negative_scale_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)))) * S ((((dst_positive_code_extend_preservedsecond) + (dst_positive_scale_extend_preservedsecond)) * S ((dst_positive_code_extend_preservedsecond) + (dst_positive_scale_extend_preservedsecond)) + ((dst_positive_scale_extend_preservedsecond) + (dst_positive_scale_extend_preservedsecond))) + (((dst_negative_code_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)) * S ((dst_negative_code_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)) + ((dst_negative_scale_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)))) + ((((dst_negative_code_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)) * S ((dst_negative_code_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)) + ((dst_negative_scale_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond))) + (((dst_negative_code_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)) * S ((dst_negative_code_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)) + ((dst_negative_scale_extend_preservedsecond) + (dst_negative_scale_extend_preservedsecond)))))) /\ (((((exists ff_h_pvs_extend_preservedsecondpositive. ff_h_pvs_extend_preservedsecondpositive + S (dst_positive_extend_preservedsecond) = S ((S (dst_index_extend_preserved)) * dst_positive_scale_extend_preservedsecond)) /\ exists ff_q_pvs_extend_preservedsecondpositive. dst_positive_code_extend_preservedsecond = ff_q_pvs_extend_preservedsecondpositive * S ((S (dst_index_extend_preserved)) * dst_positive_scale_extend_preservedsecond) + (dst_positive_extend_preservedsecond))) /\ (((((exists ff_h_pvs_extend_preservedsecondnegative. ff_h_pvs_extend_preservedsecondnegative + S (dst_negative_extend_preservedsecond) = S ((S (dst_index_extend_preserved)) * dst_negative_scale_extend_preservedsecond)) /\ exists ff_q_pvs_extend_preservedsecondnegative. dst_negative_code_extend_preservedsecond = ff_q_pvs_extend_preservedsecondnegative * S ((S (dst_index_extend_preserved)) * dst_negative_scale_extend_preservedsecond) + (dst_negative_extend_preservedsecond))) /\ (exists ge_balance_positive_extend_preservedsecondvalue ge_balance_negative_extend_preservedsecondvalue. (((((dst_second_extend_preserved) = 2 * (ge_balance_positive_extend_preservedsecondvalue) /\ (ge_balance_negative_extend_preservedsecondvalue) = 0) \/ exists ge_signed_half_extend_preservedsecondvaluedecode. (((dst_second_extend_preserved) = 2 * ge_signed_half_extend_preservedsecondvaluedecode + 1 /\ (ge_balance_positive_extend_preservedsecondvalue) = 0) /\ (ge_balance_negative_extend_preservedsecondvalue) = S ge_signed_half_extend_preservedsecondvaluedecode))) /\ ((dst_positive_extend_preservedsecond) + ge_balance_negative_extend_preservedsecondvalue = (dst_negative_extend_preservedsecond) + ge_balance_positive_extend_preservedsecondvalue))))))))) -> dst_first_extend_preserved = dst_second_extend_preserved) -> (exists dst_positive_code_extend_source dst_positive_scale_extend_source dst_negative_code_extend_source dst_negative_scale_extend_source dst_positive_extend_source dst_negative_extend_source. (((F) = (((((dst_positive_code_extend_source) + (dst_positive_scale_extend_source)) * S ((dst_positive_code_extend_source) + (dst_positive_scale_extend_source)) + ((dst_positive_scale_extend_source) + (dst_positive_scale_extend_source))) + (((dst_negative_code_extend_source) + (dst_negative_scale_extend_source)) * S ((dst_negative_code_extend_source) + (dst_negative_scale_extend_source)) + ((dst_negative_scale_extend_source) + (dst_negative_scale_extend_source)))) * S ((((dst_positive_code_extend_source) + (dst_positive_scale_extend_source)) * S ((dst_positive_code_extend_source) + (dst_positive_scale_extend_source)) + ((dst_positive_scale_extend_source) + (dst_positive_scale_extend_source))) + (((dst_negative_code_extend_source) + (dst_negative_scale_extend_source)) * S ((dst_negative_code_extend_source) + (dst_negative_scale_extend_source)) + ((dst_negative_scale_extend_source) + (dst_negative_scale_extend_source)))) + ((((dst_negative_code_extend_source) + (dst_negative_scale_extend_source)) * S ((dst_negative_code_extend_source) + (dst_negative_scale_extend_source)) + ((dst_negative_scale_extend_source) + (dst_negative_scale_extend_source))) + (((dst_negative_code_extend_source) + (dst_negative_scale_extend_source)) * S ((dst_negative_code_extend_source) + (dst_negative_scale_extend_source)) + ((dst_negative_scale_extend_source) + (dst_negative_scale_extend_source)))))) /\ (((((exists ff_h_pvs_extend_sourcepositive. ff_h_pvs_extend_sourcepositive + S (dst_positive_extend_source) = S ((S (((o) + ((s) * (l))))) * dst_positive_scale_extend_source)) /\ exists ff_q_pvs_extend_sourcepositive. dst_positive_code_extend_source = ff_q_pvs_extend_sourcepositive * S ((S (((o) + ((s) * (l))))) * dst_positive_scale_extend_source) + (dst_positive_extend_source))) /\ (((((exists ff_h_pvs_extend_sourcenegative. ff_h_pvs_extend_sourcenegative + S (dst_negative_extend_source) = S ((S (((o) + ((s) * (l))))) * dst_negative_scale_extend_source)) /\ exists ff_q_pvs_extend_sourcenegative. dst_negative_code_extend_source = ff_q_pvs_extend_sourcenegative * S ((S (((o) + ((s) * (l))))) * dst_negative_scale_extend_source) + (dst_negative_extend_source))) /\ (exists ge_balance_positive_extend_sourcevalue ge_balance_negative_extend_sourcevalue. (((((a) = 2 * (ge_balance_positive_extend_sourcevalue) /\ (ge_balance_negative_extend_sourcevalue) = 0) \/ exists ge_signed_half_extend_sourcevaluedecode. (((a) = 2 * ge_signed_half_extend_sourcevaluedecode + 1 /\ (ge_balance_positive_extend_sourcevalue) = 0) /\ (ge_balance_negative_extend_sourcevalue) = S ge_signed_half_extend_sourcevaluedecode))) /\ ((dst_positive_extend_source) + ge_balance_negative_extend_sourcevalue = (dst_negative_extend_source) + ge_balance_positive_extend_sourcevalue))))))))) -> (exists dst_positive_code_extend_value dst_positive_scale_extend_value dst_negative_code_extend_value dst_negative_scale_extend_value dst_positive_extend_value dst_negative_extend_value. (((H) = (((((dst_positive_code_extend_value) + (dst_positive_scale_extend_value)) * S ((dst_positive_code_extend_value) + (dst_positive_scale_extend_value)) + ((dst_positive_scale_extend_value) + (dst_positive_scale_extend_value))) + (((dst_negative_code_extend_value) + (dst_negative_scale_extend_value)) * S ((dst_negative_code_extend_value) + (dst_negative_scale_extend_value)) + ((dst_negative_scale_extend_value) + (dst_negative_scale_extend_value)))) * S ((((dst_positive_code_extend_value) + (dst_positive_scale_extend_value)) * S ((dst_positive_code_extend_value) + (dst_positive_scale_extend_value)) + ((dst_positive_scale_extend_value) + (dst_positive_scale_extend_value))) + (((dst_negative_code_extend_value) + (dst_negative_scale_extend_value)) * S ((dst_negative_code_extend_value) + (dst_negative_scale_extend_value)) + ((dst_negative_scale_extend_value) + (dst_negative_scale_extend_value)))) + ((((dst_negative_code_extend_value) + (dst_negative_scale_extend_value)) * S ((dst_negative_code_extend_value) + (dst_negative_scale_extend_value)) + ((dst_negative_scale_extend_value) + (dst_negative_scale_extend_value))) + (((dst_negative_code_extend_value) + (dst_negative_scale_extend_value)) * S ((dst_negative_code_extend_value) + (dst_negative_scale_extend_value)) + ((dst_negative_scale_extend_value) + (dst_negative_scale_extend_value)))))) /\ (((((exists ff_h_pvs_extend_valuepositive. ff_h_pvs_extend_valuepositive + S (dst_positive_extend_value) = S ((S (l)) * dst_positive_scale_extend_value)) /\ exists ff_q_pvs_extend_valuepositive. dst_positive_code_extend_value = ff_q_pvs_extend_valuepositive * S ((S (l)) * dst_positive_scale_extend_value) + (dst_positive_extend_value))) /\ (((((exists ff_h_pvs_extend_valuenegative. ff_h_pvs_extend_valuenegative + S (dst_negative_extend_value) = S ((S (l)) * dst_negative_scale_extend_value)) /\ exists ff_q_pvs_extend_valuenegative. dst_negative_code_extend_value = ff_q_pvs_extend_valuenegative * S ((S (l)) * dst_negative_scale_extend_value) + (dst_negative_extend_value))) /\ (exists ge_balance_positive_extend_valuevalue ge_balance_negative_extend_valuevalue. (((((a) = 2 * (ge_balance_positive_extend_valuevalue) /\ (ge_balance_negative_extend_valuevalue) = 0) \/ exists ge_signed_half_extend_valuevaluedecode. (((a) = 2 * ge_signed_half_extend_valuevaluedecode + 1 /\ (ge_balance_positive_extend_valuevalue) = 0) /\ (ge_balance_negative_extend_valuevalue) = S ge_signed_half_extend_valuevaluedecode))) /\ ((dst_positive_extend_value) + ge_balance_negative_extend_valuevalue = (dst_negative_extend_value) + ge_balance_positive_extend_valuevalue))))))))) -> (((exists dst_positive_code_extend_resultsource_table dst_positive_scale_extend_resultsource_table dst_negative_code_extend_resultsource_table dst_negative_scale_extend_resultsource_table. (((F) = (((((dst_positive_code_extend_resultsource_table) + (dst_positive_scale_extend_resultsource_table)) * S ((dst_positive_code_extend_resultsource_table) + (dst_positive_scale_extend_resultsource_table)) + ((dst_positive_scale_extend_resultsource_table) + (dst_positive_scale_extend_resultsource_table))) + (((dst_negative_code_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)) * S ((dst_negative_code_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)) + ((dst_negative_scale_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)))) * S ((((dst_positive_code_extend_resultsource_table) + (dst_positive_scale_extend_resultsource_table)) * S ((dst_positive_code_extend_resultsource_table) + (dst_positive_scale_extend_resultsource_table)) + ((dst_positive_scale_extend_resultsource_table) + (dst_positive_scale_extend_resultsource_table))) + (((dst_negative_code_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)) * S ((dst_negative_code_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)) + ((dst_negative_scale_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)))) + ((((dst_negative_code_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)) * S ((dst_negative_code_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)) + ((dst_negative_scale_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table))) + (((dst_negative_code_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)) * S ((dst_negative_code_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)) + ((dst_negative_scale_extend_resultsource_table) + (dst_negative_scale_extend_resultsource_table)))))) /\ (forall dst_index_extend_resultsource_table. (exists pvs_le_gap_extend_resultsource_tabledomain. pvs_le_gap_extend_resultsource_tabledomain + (dst_index_extend_resultsource_table) = (0)) -> exists dst_positive_extend_resultsource_table dst_negative_extend_resultsource_table dst_value_extend_resultsource_table. ((((exists ff_h_pvs_extend_resultsource_tableentrypositive. ff_h_pvs_extend_resultsource_tableentrypositive + S (dst_positive_extend_resultsource_table) = S ((S (dst_index_extend_resultsource_table)) * dst_positive_scale_extend_resultsource_table)) /\ exists ff_q_pvs_extend_resultsource_tableentrypositive. dst_positive_code_extend_resultsource_table = ff_q_pvs_extend_resultsource_tableentrypositive * S ((S (dst_index_extend_resultsource_table)) * dst_positive_scale_extend_resultsource_table) + (dst_positive_extend_resultsource_table))) /\ (((((exists ff_h_pvs_extend_resultsource_tableentrynegative. ff_h_pvs_extend_resultsource_tableentrynegative + S (dst_negative_extend_resultsource_table) = S ((S (dst_index_extend_resultsource_table)) * dst_negative_scale_extend_resultsource_table)) /\ exists ff_q_pvs_extend_resultsource_tableentrynegative. dst_negative_code_extend_resultsource_table = ff_q_pvs_extend_resultsource_tableentrynegative * S ((S (dst_index_extend_resultsource_table)) * dst_negative_scale_extend_resultsource_table) + (dst_negative_extend_resultsource_table))) /\ (exists ge_balance_positive_extend_resultsource_tableentryvalue ge_balance_negative_extend_resultsource_tableentryvalue. (((((dst_value_extend_resultsource_table) = 2 * (ge_balance_positive_extend_resultsource_tableentryvalue) /\ (ge_balance_negative_extend_resultsource_tableentryvalue) = 0) \/ exists ge_signed_half_extend_resultsource_tableentryvaluedecode. (((dst_value_extend_resultsource_table) = 2 * ge_signed_half_extend_resultsource_tableentryvaluedecode + 1 /\ (ge_balance_positive_extend_resultsource_tableentryvalue) = 0) /\ (ge_balance_negative_extend_resultsource_tableentryvalue) = S ge_signed_half_extend_resultsource_tableentryvaluedecode))) /\ ((dst_positive_extend_resultsource_table) + ge_balance_negative_extend_resultsource_tableentryvalue = (dst_negative_extend_resultsource_table) + ge_balance_positive_extend_resultsource_tableentryvalue))))))))) /\ (((exists dst_positive_code_extend_resultoutput_table dst_positive_scale_extend_resultoutput_table dst_negative_code_extend_resultoutput_table dst_negative_scale_extend_resultoutput_table. (((H) = (((((dst_positive_code_extend_resultoutput_table) + (dst_positive_scale_extend_resultoutput_table)) * S ((dst_positive_code_extend_resultoutput_table) + (dst_positive_scale_extend_resultoutput_table)) + ((dst_positive_scale_extend_resultoutput_table) + (dst_positive_scale_extend_resultoutput_table))) + (((dst_negative_code_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)) * S ((dst_negative_code_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)) + ((dst_negative_scale_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)))) * S ((((dst_positive_code_extend_resultoutput_table) + (dst_positive_scale_extend_resultoutput_table)) * S ((dst_positive_code_extend_resultoutput_table) + (dst_positive_scale_extend_resultoutput_table)) + ((dst_positive_scale_extend_resultoutput_table) + (dst_positive_scale_extend_resultoutput_table))) + (((dst_negative_code_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)) * S ((dst_negative_code_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)) + ((dst_negative_scale_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)))) + ((((dst_negative_code_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)) * S ((dst_negative_code_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)) + ((dst_negative_scale_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table))) + (((dst_negative_code_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)) * S ((dst_negative_code_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)) + ((dst_negative_scale_extend_resultoutput_table) + (dst_negative_scale_extend_resultoutput_table)))))) /\ (forall dst_index_extend_resultoutput_table. (exists pvs_le_gap_extend_resultoutput_tabledomain. pvs_le_gap_extend_resultoutput_tabledomain + (dst_index_extend_resultoutput_table) = (S l)) -> exists dst_positive_extend_resultoutput_table dst_negative_extend_resultoutput_table dst_value_extend_resultoutput_table. ((((exists ff_h_pvs_extend_resultoutput_tableentrypositive. ff_h_pvs_extend_resultoutput_tableentrypositive + S (dst_positive_extend_resultoutput_table) = S ((S (dst_index_extend_resultoutput_table)) * dst_positive_scale_extend_resultoutput_table)) /\ exists ff_q_pvs_extend_resultoutput_tableentrypositive. dst_positive_code_extend_resultoutput_table = ff_q_pvs_extend_resultoutput_tableentrypositive * S ((S (dst_index_extend_resultoutput_table)) * dst_positive_scale_extend_resultoutput_table) + (dst_positive_extend_resultoutput_table))) /\ (((((exists ff_h_pvs_extend_resultoutput_tableentrynegative. ff_h_pvs_extend_resultoutput_tableentrynegative + S (dst_negative_extend_resultoutput_table) = S ((S (dst_index_extend_resultoutput_table)) * dst_negative_scale_extend_resultoutput_table)) /\ exists ff_q_pvs_extend_resultoutput_tableentrynegative. dst_negative_code_extend_resultoutput_table = ff_q_pvs_extend_resultoutput_tableentrynegative * S ((S (dst_index_extend_resultoutput_table)) * dst_negative_scale_extend_resultoutput_table) + (dst_negative_extend_resultoutput_table))) /\ (exists ge_balance_positive_extend_resultoutput_tableentryvalue ge_balance_negative_extend_resultoutput_tableentryvalue. (((((dst_value_extend_resultoutput_table) = 2 * (ge_balance_positive_extend_resultoutput_tableentryvalue) /\ (ge_balance_negative_extend_resultoutput_tableentryvalue) = 0) \/ exists ge_signed_half_extend_resultoutput_tableentryvaluedecode. (((dst_value_extend_resultoutput_table) = 2 * ge_signed_half_extend_resultoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_extend_resultoutput_tableentryvalue) = 0) /\ (ge_balance_negative_extend_resultoutput_tableentryvalue) = S ge_signed_half_extend_resultoutput_tableentryvaluedecode))) /\ ((dst_positive_extend_resultoutput_table) + ge_balance_negative_extend_resultoutput_tableentryvalue = (dst_negative_extend_resultoutput_table) + ge_balance_positive_extend_resultoutput_tableentryvalue))))))))) /\ (forall srs_index_extend_result. (exists pvs_gap_extend_resultbound. pvs_gap_extend_resultbound + S (srs_index_extend_result) = (S l)) -> exists srs_value_extend_result. (((exists dst_positive_code_extend_resultentrysource dst_positive_scale_extend_resultentrysource dst_negative_code_extend_resultentrysource dst_negative_scale_extend_resultentrysource dst_positive_extend_resultentrysource dst_negative_extend_resultentrysource. (((F) = (((((dst_positive_code_extend_resultentrysource) + (dst_positive_scale_extend_resultentrysource)) * S ((dst_positive_code_extend_resultentrysource) + (dst_positive_scale_extend_resultentrysource)) + ((dst_positive_scale_extend_resultentrysource) + (dst_positive_scale_extend_resultentrysource))) + (((dst_negative_code_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)) * S ((dst_negative_code_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)) + ((dst_negative_scale_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)))) * S ((((dst_positive_code_extend_resultentrysource) + (dst_positive_scale_extend_resultentrysource)) * S ((dst_positive_code_extend_resultentrysource) + (dst_positive_scale_extend_resultentrysource)) + ((dst_positive_scale_extend_resultentrysource) + (dst_positive_scale_extend_resultentrysource))) + (((dst_negative_code_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)) * S ((dst_negative_code_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)) + ((dst_negative_scale_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)))) + ((((dst_negative_code_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)) * S ((dst_negative_code_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)) + ((dst_negative_scale_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource))) + (((dst_negative_code_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)) * S ((dst_negative_code_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)) + ((dst_negative_scale_extend_resultentrysource) + (dst_negative_scale_extend_resultentrysource)))))) /\ (((((exists ff_h_pvs_extend_resultentrysourcepositive. ff_h_pvs_extend_resultentrysourcepositive + S (dst_positive_extend_resultentrysource) = S ((S (((o) + ((s) * (srs_index_extend_result))))) * dst_positive_scale_extend_resultentrysource)) /\ exists ff_q_pvs_extend_resultentrysourcepositive. dst_positive_code_extend_resultentrysource = ff_q_pvs_extend_resultentrysourcepositive * S ((S (((o) + ((s) * (srs_index_extend_result))))) * dst_positive_scale_extend_resultentrysource) + (dst_positive_extend_resultentrysource))) /\ (((((exists ff_h_pvs_extend_resultentrysourcenegative. ff_h_pvs_extend_resultentrysourcenegative + S (dst_negative_extend_resultentrysource) = S ((S (((o) + ((s) * (srs_index_extend_result))))) * dst_negative_scale_extend_resultentrysource)) /\ exists ff_q_pvs_extend_resultentrysourcenegative. dst_negative_code_extend_resultentrysource = ff_q_pvs_extend_resultentrysourcenegative * S ((S (((o) + ((s) * (srs_index_extend_result))))) * dst_negative_scale_extend_resultentrysource) + (dst_negative_extend_resultentrysource))) /\ (exists ge_balance_positive_extend_resultentrysourcevalue ge_balance_negative_extend_resultentrysourcevalue. (((((srs_value_extend_result) = 2 * (ge_balance_positive_extend_resultentrysourcevalue) /\ (ge_balance_negative_extend_resultentrysourcevalue) = 0) \/ exists ge_signed_half_extend_resultentrysourcevaluedecode. (((srs_value_extend_result) = 2 * ge_signed_half_extend_resultentrysourcevaluedecode + 1 /\ (ge_balance_positive_extend_resultentrysourcevalue) = 0) /\ (ge_balance_negative_extend_resultentrysourcevalue) = S ge_signed_half_extend_resultentrysourcevaluedecode))) /\ ((dst_positive_extend_resultentrysource) + ge_balance_negative_extend_resultentrysourcevalue = (dst_negative_extend_resultentrysource) + ge_balance_positive_extend_resultentrysourcevalue))))))))) /\ (exists dst_positive_code_extend_resultentryoutput dst_positive_scale_extend_resultentryoutput dst_negative_code_extend_resultentryoutput dst_negative_scale_extend_resultentryoutput dst_positive_extend_resultentryoutput dst_negative_extend_resultentryoutput. (((H) = (((((dst_positive_code_extend_resultentryoutput) + (dst_positive_scale_extend_resultentryoutput)) * S ((dst_positive_code_extend_resultentryoutput) + (dst_positive_scale_extend_resultentryoutput)) + ((dst_positive_scale_extend_resultentryoutput) + (dst_positive_scale_extend_resultentryoutput))) + (((dst_negative_code_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)) * S ((dst_negative_code_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)) + ((dst_negative_scale_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)))) * S ((((dst_positive_code_extend_resultentryoutput) + (dst_positive_scale_extend_resultentryoutput)) * S ((dst_positive_code_extend_resultentryoutput) + (dst_positive_scale_extend_resultentryoutput)) + ((dst_positive_scale_extend_resultentryoutput) + (dst_positive_scale_extend_resultentryoutput))) + (((dst_negative_code_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)) * S ((dst_negative_code_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)) + ((dst_negative_scale_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)))) + ((((dst_negative_code_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)) * S ((dst_negative_code_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)) + ((dst_negative_scale_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput))) + (((dst_negative_code_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)) * S ((dst_negative_code_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)) + ((dst_negative_scale_extend_resultentryoutput) + (dst_negative_scale_extend_resultentryoutput)))))) /\ (((((exists ff_h_pvs_extend_resultentryoutputpositive. ff_h_pvs_extend_resultentryoutputpositive + S (dst_positive_extend_resultentryoutput) = S ((S (srs_index_extend_result)) * dst_positive_scale_extend_resultentryoutput)) /\ exists ff_q_pvs_extend_resultentryoutputpositive. dst_positive_code_extend_resultentryoutput = ff_q_pvs_extend_resultentryoutputpositive * S ((S (srs_index_extend_result)) * dst_positive_scale_extend_resultentryoutput) + (dst_positive_extend_resultentryoutput))) /\ (((((exists ff_h_pvs_extend_resultentryoutputnegative. ff_h_pvs_extend_resultentryoutputnegative + S (dst_negative_extend_resultentryoutput) = S ((S (srs_index_extend_result)) * dst_negative_scale_extend_resultentryoutput)) /\ exists ff_q_pvs_extend_resultentryoutputnegative. dst_negative_code_extend_resultentryoutput = ff_q_pvs_extend_resultentryoutputnegative * S ((S (srs_index_extend_result)) * dst_negative_scale_extend_resultentryoutput) + (dst_negative_extend_resultentryoutput))) /\ (exists ge_balance_positive_extend_resultentryoutputvalue ge_balance_negative_extend_resultentryoutputvalue. (((((srs_value_extend_result) = 2 * (ge_balance_positive_extend_resultentryoutputvalue) /\ (ge_balance_negative_extend_resultentryoutputvalue) = 0) \/ exists ge_signed_half_extend_resultentryoutputvaluedecode. (((srs_value_extend_result) = 2 * ge_signed_half_extend_resultentryoutputvaluedecode + 1 /\ (ge_balance_positive_extend_resultentryoutputvalue) = 0) /\ (ge_balance_negative_extend_resultentryoutputvalue) = S ge_signed_half_extend_resultentryoutputvaluedecode))) /\ ((dst_positive_extend_resultentryoutput) + ge_balance_negative_extend_resultentryoutputvalue = (dst_negative_extend_resultentryoutput) + ge_balance_positive_extend_resultentryoutputvalue))))))))))))))))

Constructive proof overview

Generated structural guide

A preserved actual prefix and one real source lookup extend the slice without changing any earlier represented value.

The unchanged tactic script uses 4 declared prerequisites and contains 68 exact native proof lines.

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

Proof neighborhood

Direct dependencies

signed_table_domain_resize Alpha theorem; checked-use authorized finite_lt_succ_eq_or_lt Stable theorem; checked-use authorized arithmetic_signed_table_equal_entry_transport Alpha theorem; checked-use authorized le_refl Stable theorem; checked-use authorized

Direct dependents

Formal native tactic body

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

Read the argument

Proof checkpoints

68 script commands · 19 reading checkpoints · 2 local claims

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

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

01Fix variables and assumptionsL1–10

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

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro H
  4. L4
    intro o
  5. L5
    intro s
  6. L6
    intro l
  7. L7
    intro a
  8. L8
    intro hs
  9. L9
    intro hH
  10. L10
    intro hequal
02Fix variables and assumptionsL11–12

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

  1. L11
    intro hsource
  2. L12
    intro hentry
03Separate the logical casesL13–15

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

  1. L13
    cases hs
  2. L14
    cases hs_right
  3. L15
    split
04Use earlier factsL16–16

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

  1. L16
    exact hs_left
05Separate the logical casesL17–17

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

  1. L17
    split
06Use earlier factsL18–22

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

  1. L18
    specialize signed_table_domain_resize (l)
  2. L19
    specialize signed_table_domain_resize (S l)
  3. L20
    specialize signed_table_domain_resize (H)
  4. L21
    apply signed_table_domain_resize
  5. L22
    exact hH
07Fix variables and assumptionsL23–24

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

  1. L23
    intro i
  2. L24
    intro hi
08Establish hcaseL25–29

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.

  1. L25
    have hcase : i = l \/ (exists pvs_gap_extend_split. pvs_gap_extend_split + S (i) = (l))
  2. L26
    specialize finite_lt_succ_eq_or_lt (l)
  3. L27
    specialize finite_lt_succ_eq_or_lt (i)
  4. L28
    apply finite_lt_succ_eq_or_lt
  5. L29
    exact hi
09Separate the logical casesL30–30

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

  1. L30
    cases hcase
10Calculate and transport equalitiesL31–38

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

  1. L31
    rewrite hcase_left
  2. L32
    rewrite hcase_left
  3. L33
    rewrite hcase_left
  4. L34
    rewrite hcase_left
  5. L35
    rewrite hcase_left
  6. L36
    rewrite hcase_left
  7. L37
    rewrite hcase_left
  8. L38
    rewrite hcase_left
11Construct an explicit witnessL39–39

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

  1. L39
    exists a
12Separate the logical casesL40–40

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

  1. L40
    split
13Use earlier factsL41–42

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

  1. L41
    exact hsource
  2. L42
    exact hentry
14Establish holdL43–46

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hs right right.

  1. L43
    have hold : ∃ z. ArithAt(F,o + s · i,z) ∧ ArithAt(G,i,z)Definitions: ArithAt
  2. L44
    specialize hs_right_right (i)
  3. L45
    apply hs_right_right
  4. L46
    exact hcase_right
15Separate the logical casesL47–48

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

  1. L47
    cases hold
  2. L48
    cases hold_witness
16Construct an explicit witnessL49–49

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

  1. L49
    exists x
17Separate the logical casesL50–50

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

  1. L50
    split
18Use earlier factsL51–60

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

  1. L51
    exact hold_witness_left
  2. L52
    specialize arithmetic_signed_table_equal_entry_transport (i)
  3. L53
    specialize arithmetic_signed_table_equal_entry_transport (G)
  4. L54
    specialize arithmetic_signed_table_equal_entry_transport (H)
  5. L55
    specialize arithmetic_signed_table_equal_entry_transport (l)
  6. L56
    specialize arithmetic_signed_table_equal_entry_transport (i)
  7. L57
    specialize arithmetic_signed_table_equal_entry_transport (x)
  8. L58
    apply arithmetic_signed_table_equal_entry_transport
  9. L59
    specialize signed_table_domain_resize (l)
  10. L60
    specialize signed_table_domain_resize (i)
19Use earlier factsL61–68

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

  1. L61
    specialize signed_table_domain_resize (H)
  2. L62
    apply signed_table_domain_resize
  3. L63
    exact hH
  4. L64
    exact hequal
  5. L65
    specialize le_refl (i)
  6. L66
    apply le_refl
  7. L67
    exact hcase_right
  8. L68
    exact hold_witness_right

Library-wide reading audit

Original exact command ledger · 68 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro H
  4. 0004intro o
  5. 0005intro s
  6. 0006intro l
  7. 0007intro a
  8. 0008intro hs
  9. 0009intro hH
  10. 0010intro hequal
  11. 0011intro hsource
  12. 0012intro hentry
  13. 0013cases hs
  14. 0014cases hs_right
  15. 0015split
  16. 0016exact hs_left
  17. 0017split
  18. 0018specialize signed_table_domain_resize (l)
  19. 0019specialize signed_table_domain_resize (S l)
  20. 0020specialize signed_table_domain_resize (H)
  21. 0021apply signed_table_domain_resize
  22. 0022exact hH
  23. 0023intro i
  24. 0024intro hi
  25. 0025have hcase : i = l \/ (exists pvs_gap_extend_split. pvs_gap_extend_split + S (i) = (l))
  26. 0026specialize finite_lt_succ_eq_or_lt (l)
  27. 0027specialize finite_lt_succ_eq_or_lt (i)
  28. 0028apply finite_lt_succ_eq_or_lt
  29. 0029exact hi
  30. 0030cases hcase
  31. 0031rewrite hcase_left
  32. 0032rewrite hcase_left
  33. 0033rewrite hcase_left
  34. 0034rewrite hcase_left
  35. 0035rewrite hcase_left
  36. 0036rewrite hcase_left
  37. 0037rewrite hcase_left
  38. 0038rewrite hcase_left
  39. 0039exists a
  40. 0040split
  41. 0041exact hsource
  42. 0042exact hentry
  43. 0043have hold : exists z. (((exists dst_positive_code_extend_oldsource dst_positive_scale_extend_oldsource dst_negative_code_extend_oldsource dst_negative_scale_extend_oldsource dst_positive_extend_oldsource dst_negative_extend_oldsource. (((F) = (((((dst_positive_code_extend_oldsource) + (dst_positive_scale_extend_oldsource)) * S ((dst_positive_code_extend_oldsource) + (dst_positive_scale_extend_oldsource)) + ((dst_positive_scale_extend_oldsource) + (dst_positive_scale_extend_oldsource))) + (((dst_negative_code_extend_oldsource) + (dst_negative_scale_extend_oldsource)) * S ((dst_negative_code_extend_oldsource) + (dst_negative_scale_extend_oldsource)) + ((dst_negative_scale_extend_oldsource) + (dst_negative_scale_extend_oldsource)))) * S ((((dst_positive_code_extend_oldsource) + (dst_positive_scale_extend_oldsource)) * S ((dst_positive_code_extend_oldsource) + (dst_positive_scale_extend_oldsource)) + ((dst_positive_scale_extend_oldsource) + (dst_positive_scale_extend_oldsource))) + (((dst_negative_code_extend_oldsource) + (dst_negative_scale_extend_oldsource)) * S ((dst_negative_code_extend_oldsource) + (dst_negative_scale_extend_oldsource)) + ((dst_negative_scale_extend_oldsource) + (dst_negative_scale_extend_oldsource)))) + ((((dst_negative_code_extend_oldsource) + (dst_negative_scale_extend_oldsource)) * S ((dst_negative_code_extend_oldsource) + (dst_negative_scale_extend_oldsource)) + ((dst_negative_scale_extend_oldsource) + (dst_negative_scale_extend_oldsource))) + (((dst_negative_code_extend_oldsource) + (dst_negative_scale_extend_oldsource)) * S ((dst_negative_code_extend_oldsource) + (dst_negative_scale_extend_oldsource)) + ((dst_negative_scale_extend_oldsource) + (dst_negative_scale_extend_oldsource)))))) /\ (((((exists ff_h_pvs_extend_oldsourcepositive. ff_h_pvs_extend_oldsourcepositive + S (dst_positive_extend_oldsource) = S ((S (((o) + ((s) * (i))))) * dst_positive_scale_extend_oldsource)) /\ exists ff_q_pvs_extend_oldsourcepositive. dst_positive_code_extend_oldsource = ff_q_pvs_extend_oldsourcepositive * S ((S (((o) + ((s) * (i))))) * dst_positive_scale_extend_oldsource) + (dst_positive_extend_oldsource))) /\ (((((exists ff_h_pvs_extend_oldsourcenegative. ff_h_pvs_extend_oldsourcenegative + S (dst_negative_extend_oldsource) = S ((S (((o) + ((s) * (i))))) * dst_negative_scale_extend_oldsource)) /\ exists ff_q_pvs_extend_oldsourcenegative. dst_negative_code_extend_oldsource = ff_q_pvs_extend_oldsourcenegative * S ((S (((o) + ((s) * (i))))) * dst_negative_scale_extend_oldsource) + (dst_negative_extend_oldsource))) /\ (exists ge_balance_positive_extend_oldsourcevalue ge_balance_negative_extend_oldsourcevalue. (((((z) = 2 * (ge_balance_positive_extend_oldsourcevalue) /\ (ge_balance_negative_extend_oldsourcevalue) = 0) \/ exists ge_signed_half_extend_oldsourcevaluedecode. (((z) = 2 * ge_signed_half_extend_oldsourcevaluedecode + 1 /\ (ge_balance_positive_extend_oldsourcevalue) = 0) /\ (ge_balance_negative_extend_oldsourcevalue) = S ge_signed_half_extend_oldsourcevaluedecode))) /\ ((dst_positive_extend_oldsource) + ge_balance_negative_extend_oldsourcevalue = (dst_negative_extend_oldsource) + ge_balance_positive_extend_oldsourcevalue))))))))) /\ (exists dst_positive_code_extend_oldoutput dst_positive_scale_extend_oldoutput dst_negative_code_extend_oldoutput dst_negative_scale_extend_oldoutput dst_positive_extend_oldoutput dst_negative_extend_oldoutput. (((G) = (((((dst_positive_code_extend_oldoutput) + (dst_positive_scale_extend_oldoutput)) * S ((dst_positive_code_extend_oldoutput) + (dst_positive_scale_extend_oldoutput)) + ((dst_positive_scale_extend_oldoutput) + (dst_positive_scale_extend_oldoutput))) + (((dst_negative_code_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)) * S ((dst_negative_code_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)) + ((dst_negative_scale_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)))) * S ((((dst_positive_code_extend_oldoutput) + (dst_positive_scale_extend_oldoutput)) * S ((dst_positive_code_extend_oldoutput) + (dst_positive_scale_extend_oldoutput)) + ((dst_positive_scale_extend_oldoutput) + (dst_positive_scale_extend_oldoutput))) + (((dst_negative_code_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)) * S ((dst_negative_code_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)) + ((dst_negative_scale_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)))) + ((((dst_negative_code_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)) * S ((dst_negative_code_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)) + ((dst_negative_scale_extend_oldoutput) + (dst_negative_scale_extend_oldoutput))) + (((dst_negative_code_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)) * S ((dst_negative_code_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)) + ((dst_negative_scale_extend_oldoutput) + (dst_negative_scale_extend_oldoutput)))))) /\ (((((exists ff_h_pvs_extend_oldoutputpositive. ff_h_pvs_extend_oldoutputpositive + S (dst_positive_extend_oldoutput) = S ((S (i)) * dst_positive_scale_extend_oldoutput)) /\ exists ff_q_pvs_extend_oldoutputpositive. dst_positive_code_extend_oldoutput = ff_q_pvs_extend_oldoutputpositive * S ((S (i)) * dst_positive_scale_extend_oldoutput) + (dst_positive_extend_oldoutput))) /\ (((((exists ff_h_pvs_extend_oldoutputnegative. ff_h_pvs_extend_oldoutputnegative + S (dst_negative_extend_oldoutput) = S ((S (i)) * dst_negative_scale_extend_oldoutput)) /\ exists ff_q_pvs_extend_oldoutputnegative. dst_negative_code_extend_oldoutput = ff_q_pvs_extend_oldoutputnegative * S ((S (i)) * dst_negative_scale_extend_oldoutput) + (dst_negative_extend_oldoutput))) /\ (exists ge_balance_positive_extend_oldoutputvalue ge_balance_negative_extend_oldoutputvalue. (((((z) = 2 * (ge_balance_positive_extend_oldoutputvalue) /\ (ge_balance_negative_extend_oldoutputvalue) = 0) \/ exists ge_signed_half_extend_oldoutputvaluedecode. (((z) = 2 * ge_signed_half_extend_oldoutputvaluedecode + 1 /\ (ge_balance_positive_extend_oldoutputvalue) = 0) /\ (ge_balance_negative_extend_oldoutputvalue) = S ge_signed_half_extend_oldoutputvaluedecode))) /\ ((dst_positive_extend_oldoutput) + ge_balance_negative_extend_oldoutputvalue = (dst_negative_extend_oldoutput) + ge_balance_positive_extend_oldoutputvalue)))))))))))
  44. 0044specialize hs_right_right (i)
  45. 0045apply hs_right_right
  46. 0046exact hcase_right
  47. 0047cases hold
  48. 0048cases hold_witness
  49. 0049exists x
  50. 0050split
  51. 0051exact hold_witness_left
  52. 0052specialize arithmetic_signed_table_equal_entry_transport (i)
  53. 0053specialize arithmetic_signed_table_equal_entry_transport (G)
  54. 0054specialize arithmetic_signed_table_equal_entry_transport (H)
  55. 0055specialize arithmetic_signed_table_equal_entry_transport (l)
  56. 0056specialize arithmetic_signed_table_equal_entry_transport (i)
  57. 0057specialize arithmetic_signed_table_equal_entry_transport (x)
  58. 0058apply arithmetic_signed_table_equal_entry_transport
  59. 0059specialize signed_table_domain_resize (l)
  60. 0060specialize signed_table_domain_resize (i)
  61. 0061specialize signed_table_domain_resize (H)
  62. 0062apply signed_table_domain_resize
  63. 0063exact hH
  64. 0064exact hequal
  65. 0065specialize le_refl (i)
  66. 0066apply le_refl
  67. 0067exact hcase_right
  68. 0068exact hold_witness_right