RS0005

signed_rectangular_slice_extend

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

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

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

Every slice, row table, column table and signed sum is an actual beta-coded witness. Entries are F((o+s*i)+t*j), for i<m and j<n. Zero dimensions and zero strides are allowed; separately certified endpoints are unused. Table uniqueness concerns values, not codes. No infinite-sum assertion is made.

Exact theorem in conservative defined notation

∀ F. ∀ G. ∀ H. ∀ o. ∀ s. ∀ l. ∀ a. ArithSlice(F,G,o,s,l)ArithTable(l,H)ArithTableEqual(G,H,l)ArithAt(F,o + s · l,a)ArithAt(H,l,a)ArithSlice(F,H,o,s,S l)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order 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))))))))))))))))

Complete tactic proof in conservative notation

All 68 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

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 ∨ Lt(i,l)Definitions: Lt(i,l)Original native command in the exact edition
  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(F,o + s · i,z)ArithAt(G,i,z)Original native command in the exact edition
  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 defined 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 ∨ Lt(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 : ∃ z. ArithAt(F,o + s · i,z)ArithAt(G,i,z)
  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