MX0044

signed_support_incidence_row_lookup

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

An actual affine row-slice entry is the incidence cell at the same strict row and column indices.

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 A r s L M T V i j z. (((exists dst_positive_code_row_lookup_gridsource dst_positive_scale_row_lookup_gridsource dst_negative_code_row_lookup_gridsource dst_negative_scale_row_lookup_gridsource. (((A) = (((((dst_positive_code_row_lookup_gridsource) + (dst_positive_scale_row_lookup_gridsource)) * S ((dst_positive_code_row_lookup_gridsource) + (dst_positive_scale_row_lookup_gridsource)) + ((dst_positive_scale_row_lookup_gridsource) + (dst_positive_scale_row_lookup_gridsource))) + (((dst_negative_code_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)) * S ((dst_negative_code_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)) + ((dst_negative_scale_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)))) * S ((((dst_positive_code_row_lookup_gridsource) + (dst_positive_scale_row_lookup_gridsource)) * S ((dst_positive_code_row_lookup_gridsource) + (dst_positive_scale_row_lookup_gridsource)) + ((dst_positive_scale_row_lookup_gridsource) + (dst_positive_scale_row_lookup_gridsource))) + (((dst_negative_code_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)) * S ((dst_negative_code_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)) + ((dst_negative_scale_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)))) + ((((dst_negative_code_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)) * S ((dst_negative_code_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)) + ((dst_negative_scale_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource))) + (((dst_negative_code_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)) * S ((dst_negative_code_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)) + ((dst_negative_scale_row_lookup_gridsource) + (dst_negative_scale_row_lookup_gridsource)))))) /\ (forall dst_index_row_lookup_gridsource. (exists pvs_le_gap_row_lookup_gridsourcedomain. pvs_le_gap_row_lookup_gridsourcedomain + (dst_index_row_lookup_gridsource) = (0)) -> exists dst_positive_row_lookup_gridsource dst_negative_row_lookup_gridsource dst_value_row_lookup_gridsource. ((((exists ff_h_pvs_row_lookup_gridsourceentrypositive. ff_h_pvs_row_lookup_gridsourceentrypositive + S (dst_positive_row_lookup_gridsource) = S ((S (dst_index_row_lookup_gridsource)) * dst_positive_scale_row_lookup_gridsource)) /\ exists ff_q_pvs_row_lookup_gridsourceentrypositive. dst_positive_code_row_lookup_gridsource = ff_q_pvs_row_lookup_gridsourceentrypositive * S ((S (dst_index_row_lookup_gridsource)) * dst_positive_scale_row_lookup_gridsource) + (dst_positive_row_lookup_gridsource))) /\ (((((exists ff_h_pvs_row_lookup_gridsourceentrynegative. ff_h_pvs_row_lookup_gridsourceentrynegative + S (dst_negative_row_lookup_gridsource) = S ((S (dst_index_row_lookup_gridsource)) * dst_negative_scale_row_lookup_gridsource)) /\ exists ff_q_pvs_row_lookup_gridsourceentrynegative. dst_negative_code_row_lookup_gridsource = ff_q_pvs_row_lookup_gridsourceentrynegative * S ((S (dst_index_row_lookup_gridsource)) * dst_negative_scale_row_lookup_gridsource) + (dst_negative_row_lookup_gridsource))) /\ (exists ge_balance_positive_row_lookup_gridsourceentryvalue ge_balance_negative_row_lookup_gridsourceentryvalue. (((((dst_value_row_lookup_gridsource) = 2 * (ge_balance_positive_row_lookup_gridsourceentryvalue) /\ (ge_balance_negative_row_lookup_gridsourceentryvalue) = 0) \/ exists ge_signed_half_row_lookup_gridsourceentryvaluedecode. (((dst_value_row_lookup_gridsource) = 2 * ge_signed_half_row_lookup_gridsourceentryvaluedecode + 1 /\ (ge_balance_positive_row_lookup_gridsourceentryvalue) = 0) /\ (ge_balance_negative_row_lookup_gridsourceentryvalue) = S ge_signed_half_row_lookup_gridsourceentryvaluedecode))) /\ ((dst_positive_row_lookup_gridsource) + ge_balance_negative_row_lookup_gridsourceentryvalue = (dst_negative_row_lookup_gridsource) + ge_balance_positive_row_lookup_gridsourceentryvalue))))))))) /\ (((exists dst_positive_code_row_lookup_gridtable dst_positive_scale_row_lookup_gridtable dst_negative_code_row_lookup_gridtable dst_negative_scale_row_lookup_gridtable. (((T) = (((((dst_positive_code_row_lookup_gridtable) + (dst_positive_scale_row_lookup_gridtable)) * S ((dst_positive_code_row_lookup_gridtable) + (dst_positive_scale_row_lookup_gridtable)) + ((dst_positive_scale_row_lookup_gridtable) + (dst_positive_scale_row_lookup_gridtable))) + (((dst_negative_code_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)) * S ((dst_negative_code_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)) + ((dst_negative_scale_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)))) * S ((((dst_positive_code_row_lookup_gridtable) + (dst_positive_scale_row_lookup_gridtable)) * S ((dst_positive_code_row_lookup_gridtable) + (dst_positive_scale_row_lookup_gridtable)) + ((dst_positive_scale_row_lookup_gridtable) + (dst_positive_scale_row_lookup_gridtable))) + (((dst_negative_code_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)) * S ((dst_negative_code_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)) + ((dst_negative_scale_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)))) + ((((dst_negative_code_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)) * S ((dst_negative_code_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)) + ((dst_negative_scale_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable))) + (((dst_negative_code_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)) * S ((dst_negative_code_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)) + ((dst_negative_scale_row_lookup_gridtable) + (dst_negative_scale_row_lookup_gridtable)))))) /\ (forall dst_index_row_lookup_gridtable. (exists pvs_le_gap_row_lookup_gridtabledomain. pvs_le_gap_row_lookup_gridtabledomain + (dst_index_row_lookup_gridtable) = ((L)*(S (M)))) -> exists dst_positive_row_lookup_gridtable dst_negative_row_lookup_gridtable dst_value_row_lookup_gridtable. ((((exists ff_h_pvs_row_lookup_gridtableentrypositive. ff_h_pvs_row_lookup_gridtableentrypositive + S (dst_positive_row_lookup_gridtable) = S ((S (dst_index_row_lookup_gridtable)) * dst_positive_scale_row_lookup_gridtable)) /\ exists ff_q_pvs_row_lookup_gridtableentrypositive. dst_positive_code_row_lookup_gridtable = ff_q_pvs_row_lookup_gridtableentrypositive * S ((S (dst_index_row_lookup_gridtable)) * dst_positive_scale_row_lookup_gridtable) + (dst_positive_row_lookup_gridtable))) /\ (((((exists ff_h_pvs_row_lookup_gridtableentrynegative. ff_h_pvs_row_lookup_gridtableentrynegative + S (dst_negative_row_lookup_gridtable) = S ((S (dst_index_row_lookup_gridtable)) * dst_negative_scale_row_lookup_gridtable)) /\ exists ff_q_pvs_row_lookup_gridtableentrynegative. dst_negative_code_row_lookup_gridtable = ff_q_pvs_row_lookup_gridtableentrynegative * S ((S (dst_index_row_lookup_gridtable)) * dst_negative_scale_row_lookup_gridtable) + (dst_negative_row_lookup_gridtable))) /\ (exists ge_balance_positive_row_lookup_gridtableentryvalue ge_balance_negative_row_lookup_gridtableentryvalue. (((((dst_value_row_lookup_gridtable) = 2 * (ge_balance_positive_row_lookup_gridtableentryvalue) /\ (ge_balance_negative_row_lookup_gridtableentryvalue) = 0) \/ exists ge_signed_half_row_lookup_gridtableentryvaluedecode. (((dst_value_row_lookup_gridtable) = 2 * ge_signed_half_row_lookup_gridtableentryvaluedecode + 1 /\ (ge_balance_positive_row_lookup_gridtableentryvalue) = 0) /\ (ge_balance_negative_row_lookup_gridtableentryvalue) = S ge_signed_half_row_lookup_gridtableentryvaluedecode))) /\ ((dst_positive_row_lookup_gridtable) + ge_balance_negative_row_lookup_gridtableentryvalue = (dst_negative_row_lookup_gridtable) + ge_balance_positive_row_lookup_gridtableentryvalue))))))))) /\ (forall ssr_grid_row_row_lookup_grid ssr_grid_column_row_lookup_grid ssr_grid_value_row_lookup_grid. (exists pvs_gap_row_lookup_gridrow_bound. pvs_gap_row_lookup_gridrow_bound + S (ssr_grid_row_row_lookup_grid) = (L)) -> (exists pvs_gap_row_lookup_gridcolumn_bound. pvs_gap_row_lookup_gridcolumn_bound + S (ssr_grid_column_row_lookup_grid) = (M)) -> (exists dst_positive_code_row_lookup_gridlookup dst_positive_scale_row_lookup_gridlookup dst_negative_code_row_lookup_gridlookup dst_negative_scale_row_lookup_gridlookup dst_positive_row_lookup_gridlookup dst_negative_row_lookup_gridlookup. (((T) = (((((dst_positive_code_row_lookup_gridlookup) + (dst_positive_scale_row_lookup_gridlookup)) * S ((dst_positive_code_row_lookup_gridlookup) + (dst_positive_scale_row_lookup_gridlookup)) + ((dst_positive_scale_row_lookup_gridlookup) + (dst_positive_scale_row_lookup_gridlookup))) + (((dst_negative_code_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)) * S ((dst_negative_code_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)) + ((dst_negative_scale_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)))) * S ((((dst_positive_code_row_lookup_gridlookup) + (dst_positive_scale_row_lookup_gridlookup)) * S ((dst_positive_code_row_lookup_gridlookup) + (dst_positive_scale_row_lookup_gridlookup)) + ((dst_positive_scale_row_lookup_gridlookup) + (dst_positive_scale_row_lookup_gridlookup))) + (((dst_negative_code_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)) * S ((dst_negative_code_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)) + ((dst_negative_scale_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)))) + ((((dst_negative_code_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)) * S ((dst_negative_code_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)) + ((dst_negative_scale_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup))) + (((dst_negative_code_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)) * S ((dst_negative_code_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)) + ((dst_negative_scale_row_lookup_gridlookup) + (dst_negative_scale_row_lookup_gridlookup)))))) /\ (((((exists ff_h_pvs_row_lookup_gridlookuppositive. ff_h_pvs_row_lookup_gridlookuppositive + S (dst_positive_row_lookup_gridlookup) = S ((S (((S (M))*(ssr_grid_row_row_lookup_grid)+(ssr_grid_column_row_lookup_grid)))) * dst_positive_scale_row_lookup_gridlookup)) /\ exists ff_q_pvs_row_lookup_gridlookuppositive. dst_positive_code_row_lookup_gridlookup = ff_q_pvs_row_lookup_gridlookuppositive * S ((S (((S (M))*(ssr_grid_row_row_lookup_grid)+(ssr_grid_column_row_lookup_grid)))) * dst_positive_scale_row_lookup_gridlookup) + (dst_positive_row_lookup_gridlookup))) /\ (((((exists ff_h_pvs_row_lookup_gridlookupnegative. ff_h_pvs_row_lookup_gridlookupnegative + S (dst_negative_row_lookup_gridlookup) = S ((S (((S (M))*(ssr_grid_row_row_lookup_grid)+(ssr_grid_column_row_lookup_grid)))) * dst_negative_scale_row_lookup_gridlookup)) /\ exists ff_q_pvs_row_lookup_gridlookupnegative. dst_negative_code_row_lookup_gridlookup = ff_q_pvs_row_lookup_gridlookupnegative * S ((S (((S (M))*(ssr_grid_row_row_lookup_grid)+(ssr_grid_column_row_lookup_grid)))) * dst_negative_scale_row_lookup_gridlookup) + (dst_negative_row_lookup_gridlookup))) /\ (exists ge_balance_positive_row_lookup_gridlookupvalue ge_balance_negative_row_lookup_gridlookupvalue. (((((ssr_grid_value_row_lookup_grid) = 2 * (ge_balance_positive_row_lookup_gridlookupvalue) /\ (ge_balance_negative_row_lookup_gridlookupvalue) = 0) \/ exists ge_signed_half_row_lookup_gridlookupvaluedecode. (((ssr_grid_value_row_lookup_grid) = 2 * ge_signed_half_row_lookup_gridlookupvaluedecode + 1 /\ (ge_balance_positive_row_lookup_gridlookupvalue) = 0) /\ (ge_balance_negative_row_lookup_gridlookupvalue) = S ge_signed_half_row_lookup_gridlookupvaluedecode))) /\ ((dst_positive_row_lookup_gridlookup) + ge_balance_negative_row_lookup_gridlookupvalue = (dst_negative_row_lookup_gridlookup) + ge_balance_positive_row_lookup_gridlookupvalue))))))))) -> (exists ssr_entry_value_row_lookup_gridentry ssr_entry_image_row_lookup_gridentry. ((exists dst_positive_code_row_lookup_gridentrysource dst_positive_scale_row_lookup_gridentrysource dst_negative_code_row_lookup_gridentrysource dst_negative_scale_row_lookup_gridentrysource dst_positive_row_lookup_gridentrysource dst_negative_row_lookup_gridentrysource. (((A) = (((((dst_positive_code_row_lookup_gridentrysource) + (dst_positive_scale_row_lookup_gridentrysource)) * S ((dst_positive_code_row_lookup_gridentrysource) + (dst_positive_scale_row_lookup_gridentrysource)) + ((dst_positive_scale_row_lookup_gridentrysource) + (dst_positive_scale_row_lookup_gridentrysource))) + (((dst_negative_code_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)) * S ((dst_negative_code_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)) + ((dst_negative_scale_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)))) * S ((((dst_positive_code_row_lookup_gridentrysource) + (dst_positive_scale_row_lookup_gridentrysource)) * S ((dst_positive_code_row_lookup_gridentrysource) + (dst_positive_scale_row_lookup_gridentrysource)) + ((dst_positive_scale_row_lookup_gridentrysource) + (dst_positive_scale_row_lookup_gridentrysource))) + (((dst_negative_code_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)) * S ((dst_negative_code_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)) + ((dst_negative_scale_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)))) + ((((dst_negative_code_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)) * S ((dst_negative_code_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)) + ((dst_negative_scale_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource))) + (((dst_negative_code_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)) * S ((dst_negative_code_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)) + ((dst_negative_scale_row_lookup_gridentrysource) + (dst_negative_scale_row_lookup_gridentrysource)))))) /\ (((((exists ff_h_pvs_row_lookup_gridentrysourcepositive. ff_h_pvs_row_lookup_gridentrysourcepositive + S (dst_positive_row_lookup_gridentrysource) = S ((S (ssr_grid_row_row_lookup_grid)) * dst_positive_scale_row_lookup_gridentrysource)) /\ exists ff_q_pvs_row_lookup_gridentrysourcepositive. dst_positive_code_row_lookup_gridentrysource = ff_q_pvs_row_lookup_gridentrysourcepositive * S ((S (ssr_grid_row_row_lookup_grid)) * dst_positive_scale_row_lookup_gridentrysource) + (dst_positive_row_lookup_gridentrysource))) /\ (((((exists ff_h_pvs_row_lookup_gridentrysourcenegative. ff_h_pvs_row_lookup_gridentrysourcenegative + S (dst_negative_row_lookup_gridentrysource) = S ((S (ssr_grid_row_row_lookup_grid)) * dst_negative_scale_row_lookup_gridentrysource)) /\ exists ff_q_pvs_row_lookup_gridentrysourcenegative. dst_negative_code_row_lookup_gridentrysource = ff_q_pvs_row_lookup_gridentrysourcenegative * S ((S (ssr_grid_row_row_lookup_grid)) * dst_negative_scale_row_lookup_gridentrysource) + (dst_negative_row_lookup_gridentrysource))) /\ (exists ge_balance_positive_row_lookup_gridentrysourcevalue ge_balance_negative_row_lookup_gridentrysourcevalue. (((((ssr_entry_value_row_lookup_gridentry) = 2 * (ge_balance_positive_row_lookup_gridentrysourcevalue) /\ (ge_balance_negative_row_lookup_gridentrysourcevalue) = 0) \/ exists ge_signed_half_row_lookup_gridentrysourcevaluedecode. (((ssr_entry_value_row_lookup_gridentry) = 2 * ge_signed_half_row_lookup_gridentrysourcevaluedecode + 1 /\ (ge_balance_positive_row_lookup_gridentrysourcevalue) = 0) /\ (ge_balance_negative_row_lookup_gridentrysourcevalue) = S ge_signed_half_row_lookup_gridentrysourcevaluedecode))) /\ ((dst_positive_row_lookup_gridentrysource) + ge_balance_negative_row_lookup_gridentrysourcevalue = (dst_negative_row_lookup_gridentrysource) + ge_balance_positive_row_lookup_gridentrysourcevalue))))))))) /\ (((((exists ff_h_pvs_row_lookup_gridentrymap. ff_h_pvs_row_lookup_gridentrymap + S (ssr_entry_image_row_lookup_gridentry) = S ((S (ssr_grid_row_row_lookup_grid)) * s)) /\ exists ff_q_pvs_row_lookup_gridentrymap. r = ff_q_pvs_row_lookup_gridentrymap * S ((S (ssr_grid_row_row_lookup_grid)) * s) + (ssr_entry_image_row_lookup_gridentry))) /\ (((((ssr_grid_column_row_lookup_grid)=(ssr_entry_image_row_lookup_gridentry)) /\ ((ssr_grid_value_row_lookup_grid)=(ssr_entry_value_row_lookup_gridentry)))) \/ (((~((ssr_grid_column_row_lookup_grid)=(ssr_entry_image_row_lookup_gridentry))) /\ ((ssr_grid_value_row_lookup_grid)=0))))))))))))) -> (((exists dst_positive_code_row_lookup_slicesource_table dst_positive_scale_row_lookup_slicesource_table dst_negative_code_row_lookup_slicesource_table dst_negative_scale_row_lookup_slicesource_table. (((T) = (((((dst_positive_code_row_lookup_slicesource_table) + (dst_positive_scale_row_lookup_slicesource_table)) * S ((dst_positive_code_row_lookup_slicesource_table) + (dst_positive_scale_row_lookup_slicesource_table)) + ((dst_positive_scale_row_lookup_slicesource_table) + (dst_positive_scale_row_lookup_slicesource_table))) + (((dst_negative_code_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)) * S ((dst_negative_code_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)) + ((dst_negative_scale_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)))) * S ((((dst_positive_code_row_lookup_slicesource_table) + (dst_positive_scale_row_lookup_slicesource_table)) * S ((dst_positive_code_row_lookup_slicesource_table) + (dst_positive_scale_row_lookup_slicesource_table)) + ((dst_positive_scale_row_lookup_slicesource_table) + (dst_positive_scale_row_lookup_slicesource_table))) + (((dst_negative_code_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)) * S ((dst_negative_code_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)) + ((dst_negative_scale_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)))) + ((((dst_negative_code_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)) * S ((dst_negative_code_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)) + ((dst_negative_scale_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table))) + (((dst_negative_code_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)) * S ((dst_negative_code_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)) + ((dst_negative_scale_row_lookup_slicesource_table) + (dst_negative_scale_row_lookup_slicesource_table)))))) /\ (forall dst_index_row_lookup_slicesource_table. (exists pvs_le_gap_row_lookup_slicesource_tabledomain. pvs_le_gap_row_lookup_slicesource_tabledomain + (dst_index_row_lookup_slicesource_table) = (0)) -> exists dst_positive_row_lookup_slicesource_table dst_negative_row_lookup_slicesource_table dst_value_row_lookup_slicesource_table. ((((exists ff_h_pvs_row_lookup_slicesource_tableentrypositive. ff_h_pvs_row_lookup_slicesource_tableentrypositive + S (dst_positive_row_lookup_slicesource_table) = S ((S (dst_index_row_lookup_slicesource_table)) * dst_positive_scale_row_lookup_slicesource_table)) /\ exists ff_q_pvs_row_lookup_slicesource_tableentrypositive. dst_positive_code_row_lookup_slicesource_table = ff_q_pvs_row_lookup_slicesource_tableentrypositive * S ((S (dst_index_row_lookup_slicesource_table)) * dst_positive_scale_row_lookup_slicesource_table) + (dst_positive_row_lookup_slicesource_table))) /\ (((((exists ff_h_pvs_row_lookup_slicesource_tableentrynegative. ff_h_pvs_row_lookup_slicesource_tableentrynegative + S (dst_negative_row_lookup_slicesource_table) = S ((S (dst_index_row_lookup_slicesource_table)) * dst_negative_scale_row_lookup_slicesource_table)) /\ exists ff_q_pvs_row_lookup_slicesource_tableentrynegative. dst_negative_code_row_lookup_slicesource_table = ff_q_pvs_row_lookup_slicesource_tableentrynegative * S ((S (dst_index_row_lookup_slicesource_table)) * dst_negative_scale_row_lookup_slicesource_table) + (dst_negative_row_lookup_slicesource_table))) /\ (exists ge_balance_positive_row_lookup_slicesource_tableentryvalue ge_balance_negative_row_lookup_slicesource_tableentryvalue. (((((dst_value_row_lookup_slicesource_table) = 2 * (ge_balance_positive_row_lookup_slicesource_tableentryvalue) /\ (ge_balance_negative_row_lookup_slicesource_tableentryvalue) = 0) \/ exists ge_signed_half_row_lookup_slicesource_tableentryvaluedecode. (((dst_value_row_lookup_slicesource_table) = 2 * ge_signed_half_row_lookup_slicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_row_lookup_slicesource_tableentryvalue) = 0) /\ (ge_balance_negative_row_lookup_slicesource_tableentryvalue) = S ge_signed_half_row_lookup_slicesource_tableentryvaluedecode))) /\ ((dst_positive_row_lookup_slicesource_table) + ge_balance_negative_row_lookup_slicesource_tableentryvalue = (dst_negative_row_lookup_slicesource_table) + ge_balance_positive_row_lookup_slicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_row_lookup_sliceoutput_table dst_positive_scale_row_lookup_sliceoutput_table dst_negative_code_row_lookup_sliceoutput_table dst_negative_scale_row_lookup_sliceoutput_table. (((V) = (((((dst_positive_code_row_lookup_sliceoutput_table) + (dst_positive_scale_row_lookup_sliceoutput_table)) * S ((dst_positive_code_row_lookup_sliceoutput_table) + (dst_positive_scale_row_lookup_sliceoutput_table)) + ((dst_positive_scale_row_lookup_sliceoutput_table) + (dst_positive_scale_row_lookup_sliceoutput_table))) + (((dst_negative_code_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)) * S ((dst_negative_code_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)) + ((dst_negative_scale_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)))) * S ((((dst_positive_code_row_lookup_sliceoutput_table) + (dst_positive_scale_row_lookup_sliceoutput_table)) * S ((dst_positive_code_row_lookup_sliceoutput_table) + (dst_positive_scale_row_lookup_sliceoutput_table)) + ((dst_positive_scale_row_lookup_sliceoutput_table) + (dst_positive_scale_row_lookup_sliceoutput_table))) + (((dst_negative_code_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)) * S ((dst_negative_code_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)) + ((dst_negative_scale_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)))) + ((((dst_negative_code_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)) * S ((dst_negative_code_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)) + ((dst_negative_scale_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table))) + (((dst_negative_code_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)) * S ((dst_negative_code_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)) + ((dst_negative_scale_row_lookup_sliceoutput_table) + (dst_negative_scale_row_lookup_sliceoutput_table)))))) /\ (forall dst_index_row_lookup_sliceoutput_table. (exists pvs_le_gap_row_lookup_sliceoutput_tabledomain. pvs_le_gap_row_lookup_sliceoutput_tabledomain + (dst_index_row_lookup_sliceoutput_table) = (M)) -> exists dst_positive_row_lookup_sliceoutput_table dst_negative_row_lookup_sliceoutput_table dst_value_row_lookup_sliceoutput_table. ((((exists ff_h_pvs_row_lookup_sliceoutput_tableentrypositive. ff_h_pvs_row_lookup_sliceoutput_tableentrypositive + S (dst_positive_row_lookup_sliceoutput_table) = S ((S (dst_index_row_lookup_sliceoutput_table)) * dst_positive_scale_row_lookup_sliceoutput_table)) /\ exists ff_q_pvs_row_lookup_sliceoutput_tableentrypositive. dst_positive_code_row_lookup_sliceoutput_table = ff_q_pvs_row_lookup_sliceoutput_tableentrypositive * S ((S (dst_index_row_lookup_sliceoutput_table)) * dst_positive_scale_row_lookup_sliceoutput_table) + (dst_positive_row_lookup_sliceoutput_table))) /\ (((((exists ff_h_pvs_row_lookup_sliceoutput_tableentrynegative. ff_h_pvs_row_lookup_sliceoutput_tableentrynegative + S (dst_negative_row_lookup_sliceoutput_table) = S ((S (dst_index_row_lookup_sliceoutput_table)) * dst_negative_scale_row_lookup_sliceoutput_table)) /\ exists ff_q_pvs_row_lookup_sliceoutput_tableentrynegative. dst_negative_code_row_lookup_sliceoutput_table = ff_q_pvs_row_lookup_sliceoutput_tableentrynegative * S ((S (dst_index_row_lookup_sliceoutput_table)) * dst_negative_scale_row_lookup_sliceoutput_table) + (dst_negative_row_lookup_sliceoutput_table))) /\ (exists ge_balance_positive_row_lookup_sliceoutput_tableentryvalue ge_balance_negative_row_lookup_sliceoutput_tableentryvalue. (((((dst_value_row_lookup_sliceoutput_table) = 2 * (ge_balance_positive_row_lookup_sliceoutput_tableentryvalue) /\ (ge_balance_negative_row_lookup_sliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_row_lookup_sliceoutput_tableentryvaluedecode. (((dst_value_row_lookup_sliceoutput_table) = 2 * ge_signed_half_row_lookup_sliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_row_lookup_sliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_row_lookup_sliceoutput_tableentryvalue) = S ge_signed_half_row_lookup_sliceoutput_tableentryvaluedecode))) /\ ((dst_positive_row_lookup_sliceoutput_table) + ge_balance_negative_row_lookup_sliceoutput_tableentryvalue = (dst_negative_row_lookup_sliceoutput_table) + ge_balance_positive_row_lookup_sliceoutput_tableentryvalue))))))))) /\ (forall srs_index_row_lookup_slice. (exists pvs_gap_row_lookup_slicebound. pvs_gap_row_lookup_slicebound + S (srs_index_row_lookup_slice) = (M)) -> exists srs_value_row_lookup_slice. (((exists dst_positive_code_row_lookup_sliceentrysource dst_positive_scale_row_lookup_sliceentrysource dst_negative_code_row_lookup_sliceentrysource dst_negative_scale_row_lookup_sliceentrysource dst_positive_row_lookup_sliceentrysource dst_negative_row_lookup_sliceentrysource. (((T) = (((((dst_positive_code_row_lookup_sliceentrysource) + (dst_positive_scale_row_lookup_sliceentrysource)) * S ((dst_positive_code_row_lookup_sliceentrysource) + (dst_positive_scale_row_lookup_sliceentrysource)) + ((dst_positive_scale_row_lookup_sliceentrysource) + (dst_positive_scale_row_lookup_sliceentrysource))) + (((dst_negative_code_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)) * S ((dst_negative_code_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)) + ((dst_negative_scale_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)))) * S ((((dst_positive_code_row_lookup_sliceentrysource) + (dst_positive_scale_row_lookup_sliceentrysource)) * S ((dst_positive_code_row_lookup_sliceentrysource) + (dst_positive_scale_row_lookup_sliceentrysource)) + ((dst_positive_scale_row_lookup_sliceentrysource) + (dst_positive_scale_row_lookup_sliceentrysource))) + (((dst_negative_code_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)) * S ((dst_negative_code_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)) + ((dst_negative_scale_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)))) + ((((dst_negative_code_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)) * S ((dst_negative_code_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)) + ((dst_negative_scale_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource))) + (((dst_negative_code_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)) * S ((dst_negative_code_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)) + ((dst_negative_scale_row_lookup_sliceentrysource) + (dst_negative_scale_row_lookup_sliceentrysource)))))) /\ (((((exists ff_h_pvs_row_lookup_sliceentrysourcepositive. ff_h_pvs_row_lookup_sliceentrysourcepositive + S (dst_positive_row_lookup_sliceentrysource) = S ((S (((((0) + ((S M) * (i)))) + ((1) * (srs_index_row_lookup_slice))))) * dst_positive_scale_row_lookup_sliceentrysource)) /\ exists ff_q_pvs_row_lookup_sliceentrysourcepositive. dst_positive_code_row_lookup_sliceentrysource = ff_q_pvs_row_lookup_sliceentrysourcepositive * S ((S (((((0) + ((S M) * (i)))) + ((1) * (srs_index_row_lookup_slice))))) * dst_positive_scale_row_lookup_sliceentrysource) + (dst_positive_row_lookup_sliceentrysource))) /\ (((((exists ff_h_pvs_row_lookup_sliceentrysourcenegative. ff_h_pvs_row_lookup_sliceentrysourcenegative + S (dst_negative_row_lookup_sliceentrysource) = S ((S (((((0) + ((S M) * (i)))) + ((1) * (srs_index_row_lookup_slice))))) * dst_negative_scale_row_lookup_sliceentrysource)) /\ exists ff_q_pvs_row_lookup_sliceentrysourcenegative. dst_negative_code_row_lookup_sliceentrysource = ff_q_pvs_row_lookup_sliceentrysourcenegative * S ((S (((((0) + ((S M) * (i)))) + ((1) * (srs_index_row_lookup_slice))))) * dst_negative_scale_row_lookup_sliceentrysource) + (dst_negative_row_lookup_sliceentrysource))) /\ (exists ge_balance_positive_row_lookup_sliceentrysourcevalue ge_balance_negative_row_lookup_sliceentrysourcevalue. (((((srs_value_row_lookup_slice) = 2 * (ge_balance_positive_row_lookup_sliceentrysourcevalue) /\ (ge_balance_negative_row_lookup_sliceentrysourcevalue) = 0) \/ exists ge_signed_half_row_lookup_sliceentrysourcevaluedecode. (((srs_value_row_lookup_slice) = 2 * ge_signed_half_row_lookup_sliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_row_lookup_sliceentrysourcevalue) = 0) /\ (ge_balance_negative_row_lookup_sliceentrysourcevalue) = S ge_signed_half_row_lookup_sliceentrysourcevaluedecode))) /\ ((dst_positive_row_lookup_sliceentrysource) + ge_balance_negative_row_lookup_sliceentrysourcevalue = (dst_negative_row_lookup_sliceentrysource) + ge_balance_positive_row_lookup_sliceentrysourcevalue))))))))) /\ (exists dst_positive_code_row_lookup_sliceentryoutput dst_positive_scale_row_lookup_sliceentryoutput dst_negative_code_row_lookup_sliceentryoutput dst_negative_scale_row_lookup_sliceentryoutput dst_positive_row_lookup_sliceentryoutput dst_negative_row_lookup_sliceentryoutput. (((V) = (((((dst_positive_code_row_lookup_sliceentryoutput) + (dst_positive_scale_row_lookup_sliceentryoutput)) * S ((dst_positive_code_row_lookup_sliceentryoutput) + (dst_positive_scale_row_lookup_sliceentryoutput)) + ((dst_positive_scale_row_lookup_sliceentryoutput) + (dst_positive_scale_row_lookup_sliceentryoutput))) + (((dst_negative_code_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)) * S ((dst_negative_code_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)) + ((dst_negative_scale_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)))) * S ((((dst_positive_code_row_lookup_sliceentryoutput) + (dst_positive_scale_row_lookup_sliceentryoutput)) * S ((dst_positive_code_row_lookup_sliceentryoutput) + (dst_positive_scale_row_lookup_sliceentryoutput)) + ((dst_positive_scale_row_lookup_sliceentryoutput) + (dst_positive_scale_row_lookup_sliceentryoutput))) + (((dst_negative_code_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)) * S ((dst_negative_code_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)) + ((dst_negative_scale_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)))) + ((((dst_negative_code_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)) * S ((dst_negative_code_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)) + ((dst_negative_scale_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput))) + (((dst_negative_code_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)) * S ((dst_negative_code_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)) + ((dst_negative_scale_row_lookup_sliceentryoutput) + (dst_negative_scale_row_lookup_sliceentryoutput)))))) /\ (((((exists ff_h_pvs_row_lookup_sliceentryoutputpositive. ff_h_pvs_row_lookup_sliceentryoutputpositive + S (dst_positive_row_lookup_sliceentryoutput) = S ((S (srs_index_row_lookup_slice)) * dst_positive_scale_row_lookup_sliceentryoutput)) /\ exists ff_q_pvs_row_lookup_sliceentryoutputpositive. dst_positive_code_row_lookup_sliceentryoutput = ff_q_pvs_row_lookup_sliceentryoutputpositive * S ((S (srs_index_row_lookup_slice)) * dst_positive_scale_row_lookup_sliceentryoutput) + (dst_positive_row_lookup_sliceentryoutput))) /\ (((((exists ff_h_pvs_row_lookup_sliceentryoutputnegative. ff_h_pvs_row_lookup_sliceentryoutputnegative + S (dst_negative_row_lookup_sliceentryoutput) = S ((S (srs_index_row_lookup_slice)) * dst_negative_scale_row_lookup_sliceentryoutput)) /\ exists ff_q_pvs_row_lookup_sliceentryoutputnegative. dst_negative_code_row_lookup_sliceentryoutput = ff_q_pvs_row_lookup_sliceentryoutputnegative * S ((S (srs_index_row_lookup_slice)) * dst_negative_scale_row_lookup_sliceentryoutput) + (dst_negative_row_lookup_sliceentryoutput))) /\ (exists ge_balance_positive_row_lookup_sliceentryoutputvalue ge_balance_negative_row_lookup_sliceentryoutputvalue. (((((srs_value_row_lookup_slice) = 2 * (ge_balance_positive_row_lookup_sliceentryoutputvalue) /\ (ge_balance_negative_row_lookup_sliceentryoutputvalue) = 0) \/ exists ge_signed_half_row_lookup_sliceentryoutputvaluedecode. (((srs_value_row_lookup_slice) = 2 * ge_signed_half_row_lookup_sliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_row_lookup_sliceentryoutputvalue) = 0) /\ (ge_balance_negative_row_lookup_sliceentryoutputvalue) = S ge_signed_half_row_lookup_sliceentryoutputvaluedecode))) /\ ((dst_positive_row_lookup_sliceentryoutput) + ge_balance_negative_row_lookup_sliceentryoutputvalue = (dst_negative_row_lookup_sliceentryoutput) + ge_balance_positive_row_lookup_sliceentryoutputvalue)))))))))))))))) -> (exists pvs_gap_row_lookup_bound. pvs_gap_row_lookup_bound + S (i) = (L)) -> (exists pvs_gap_row_lookup_column. pvs_gap_row_lookup_column + S (j) = (M)) -> (exists dst_positive_code_row_lookup_value dst_positive_scale_row_lookup_value dst_negative_code_row_lookup_value dst_negative_scale_row_lookup_value dst_positive_row_lookup_value dst_negative_row_lookup_value. (((V) = (((((dst_positive_code_row_lookup_value) + (dst_positive_scale_row_lookup_value)) * S ((dst_positive_code_row_lookup_value) + (dst_positive_scale_row_lookup_value)) + ((dst_positive_scale_row_lookup_value) + (dst_positive_scale_row_lookup_value))) + (((dst_negative_code_row_lookup_value) + (dst_negative_scale_row_lookup_value)) * S ((dst_negative_code_row_lookup_value) + (dst_negative_scale_row_lookup_value)) + ((dst_negative_scale_row_lookup_value) + (dst_negative_scale_row_lookup_value)))) * S ((((dst_positive_code_row_lookup_value) + (dst_positive_scale_row_lookup_value)) * S ((dst_positive_code_row_lookup_value) + (dst_positive_scale_row_lookup_value)) + ((dst_positive_scale_row_lookup_value) + (dst_positive_scale_row_lookup_value))) + (((dst_negative_code_row_lookup_value) + (dst_negative_scale_row_lookup_value)) * S ((dst_negative_code_row_lookup_value) + (dst_negative_scale_row_lookup_value)) + ((dst_negative_scale_row_lookup_value) + (dst_negative_scale_row_lookup_value)))) + ((((dst_negative_code_row_lookup_value) + (dst_negative_scale_row_lookup_value)) * S ((dst_negative_code_row_lookup_value) + (dst_negative_scale_row_lookup_value)) + ((dst_negative_scale_row_lookup_value) + (dst_negative_scale_row_lookup_value))) + (((dst_negative_code_row_lookup_value) + (dst_negative_scale_row_lookup_value)) * S ((dst_negative_code_row_lookup_value) + (dst_negative_scale_row_lookup_value)) + ((dst_negative_scale_row_lookup_value) + (dst_negative_scale_row_lookup_value)))))) /\ (((((exists ff_h_pvs_row_lookup_valuepositive. ff_h_pvs_row_lookup_valuepositive + S (dst_positive_row_lookup_value) = S ((S (j)) * dst_positive_scale_row_lookup_value)) /\ exists ff_q_pvs_row_lookup_valuepositive. dst_positive_code_row_lookup_value = ff_q_pvs_row_lookup_valuepositive * S ((S (j)) * dst_positive_scale_row_lookup_value) + (dst_positive_row_lookup_value))) /\ (((((exists ff_h_pvs_row_lookup_valuenegative. ff_h_pvs_row_lookup_valuenegative + S (dst_negative_row_lookup_value) = S ((S (j)) * dst_negative_scale_row_lookup_value)) /\ exists ff_q_pvs_row_lookup_valuenegative. dst_negative_code_row_lookup_value = ff_q_pvs_row_lookup_valuenegative * S ((S (j)) * dst_negative_scale_row_lookup_value) + (dst_negative_row_lookup_value))) /\ (exists ge_balance_positive_row_lookup_valuevalue ge_balance_negative_row_lookup_valuevalue. (((((z) = 2 * (ge_balance_positive_row_lookup_valuevalue) /\ (ge_balance_negative_row_lookup_valuevalue) = 0) \/ exists ge_signed_half_row_lookup_valuevaluedecode. (((z) = 2 * ge_signed_half_row_lookup_valuevaluedecode + 1 /\ (ge_balance_positive_row_lookup_valuevalue) = 0) /\ (ge_balance_negative_row_lookup_valuevalue) = S ge_signed_half_row_lookup_valuevaluedecode))) /\ ((dst_positive_row_lookup_value) + ge_balance_negative_row_lookup_valuevalue = (dst_negative_row_lookup_value) + ge_balance_positive_row_lookup_valuevalue))))))))) -> (exists ssr_entry_value_row_lookup_entry ssr_entry_image_row_lookup_entry. ((exists dst_positive_code_row_lookup_entrysource dst_positive_scale_row_lookup_entrysource dst_negative_code_row_lookup_entrysource dst_negative_scale_row_lookup_entrysource dst_positive_row_lookup_entrysource dst_negative_row_lookup_entrysource. (((A) = (((((dst_positive_code_row_lookup_entrysource) + (dst_positive_scale_row_lookup_entrysource)) * S ((dst_positive_code_row_lookup_entrysource) + (dst_positive_scale_row_lookup_entrysource)) + ((dst_positive_scale_row_lookup_entrysource) + (dst_positive_scale_row_lookup_entrysource))) + (((dst_negative_code_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)) * S ((dst_negative_code_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)) + ((dst_negative_scale_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)))) * S ((((dst_positive_code_row_lookup_entrysource) + (dst_positive_scale_row_lookup_entrysource)) * S ((dst_positive_code_row_lookup_entrysource) + (dst_positive_scale_row_lookup_entrysource)) + ((dst_positive_scale_row_lookup_entrysource) + (dst_positive_scale_row_lookup_entrysource))) + (((dst_negative_code_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)) * S ((dst_negative_code_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)) + ((dst_negative_scale_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)))) + ((((dst_negative_code_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)) * S ((dst_negative_code_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)) + ((dst_negative_scale_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource))) + (((dst_negative_code_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)) * S ((dst_negative_code_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)) + ((dst_negative_scale_row_lookup_entrysource) + (dst_negative_scale_row_lookup_entrysource)))))) /\ (((((exists ff_h_pvs_row_lookup_entrysourcepositive. ff_h_pvs_row_lookup_entrysourcepositive + S (dst_positive_row_lookup_entrysource) = S ((S (i)) * dst_positive_scale_row_lookup_entrysource)) /\ exists ff_q_pvs_row_lookup_entrysourcepositive. dst_positive_code_row_lookup_entrysource = ff_q_pvs_row_lookup_entrysourcepositive * S ((S (i)) * dst_positive_scale_row_lookup_entrysource) + (dst_positive_row_lookup_entrysource))) /\ (((((exists ff_h_pvs_row_lookup_entrysourcenegative. ff_h_pvs_row_lookup_entrysourcenegative + S (dst_negative_row_lookup_entrysource) = S ((S (i)) * dst_negative_scale_row_lookup_entrysource)) /\ exists ff_q_pvs_row_lookup_entrysourcenegative. dst_negative_code_row_lookup_entrysource = ff_q_pvs_row_lookup_entrysourcenegative * S ((S (i)) * dst_negative_scale_row_lookup_entrysource) + (dst_negative_row_lookup_entrysource))) /\ (exists ge_balance_positive_row_lookup_entrysourcevalue ge_balance_negative_row_lookup_entrysourcevalue. (((((ssr_entry_value_row_lookup_entry) = 2 * (ge_balance_positive_row_lookup_entrysourcevalue) /\ (ge_balance_negative_row_lookup_entrysourcevalue) = 0) \/ exists ge_signed_half_row_lookup_entrysourcevaluedecode. (((ssr_entry_value_row_lookup_entry) = 2 * ge_signed_half_row_lookup_entrysourcevaluedecode + 1 /\ (ge_balance_positive_row_lookup_entrysourcevalue) = 0) /\ (ge_balance_negative_row_lookup_entrysourcevalue) = S ge_signed_half_row_lookup_entrysourcevaluedecode))) /\ ((dst_positive_row_lookup_entrysource) + ge_balance_negative_row_lookup_entrysourcevalue = (dst_negative_row_lookup_entrysource) + ge_balance_positive_row_lookup_entrysourcevalue))))))))) /\ (((((exists ff_h_pvs_row_lookup_entrymap. ff_h_pvs_row_lookup_entrymap + S (ssr_entry_image_row_lookup_entry) = S ((S (i)) * s)) /\ exists ff_q_pvs_row_lookup_entrymap. r = ff_q_pvs_row_lookup_entrymap * S ((S (i)) * s) + (ssr_entry_image_row_lookup_entry))) /\ (((((j)=(ssr_entry_image_row_lookup_entry)) /\ ((z)=(ssr_entry_value_row_lookup_entry)))) \/ (((~((j)=(ssr_entry_image_row_lookup_entry))) /\ ((z)=0))))))))

Constructive proof overview

Generated structural guide

An actual affine row-slice entry is the incidence cell at the same strict row and column indices.

The unchanged tactic script uses 3 declared prerequisites and contains 46 exact native proof lines.

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

Proof neighborhood

Direct dependencies

signed_rectangular_slice_lookup Alpha theorem; checked-use authorized zero_add Stable theorem; checked-use authorized one_mul 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

46 script commands · 8 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 A
  2. L2
    intro r
  3. L3
    intro s
  4. L4
    intro L
  5. L5
    intro M
  6. L6
    intro T
  7. L7
    intro V
  8. L8
    intro i
  9. L9
    intro j
  10. L10
    intro z
02Fix variables and assumptionsL11–15

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

  1. L11
    intro hg
  2. L12
    intro hv
  3. L13
    intro hi
  4. L14
    intro hj
  5. L15
    intro hz
03Separate the logical casesL16–17

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

  1. L16
    cases hg
  2. L17
    cases hg_right
04Use earlier factsL18–23

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

  1. L18
    specialize hg_right_right (i)
  2. L19
    specialize hg_right_right (j)
  3. L20
    specialize hg_right_right (z)
  4. L21
    apply hg_right_right
  5. L22
    exact hi
  6. L23
    exact hj
05Establish hsL24–33

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

  1. L24
    have hs : ArithAt(T,0 + S M · i + 1 · j,z)Definitions: ArithAt
  2. L25
    specialize signed_rectangular_slice_lookup (T)
  3. L26
    specialize signed_rectangular_slice_lookup (V)
  4. L27
    specialize signed_rectangular_slice_lookup (((0) + ((S M) * (i))))
  5. L28
    specialize signed_rectangular_slice_lookup (1)
  6. L29
    specialize signed_rectangular_slice_lookup (M)
  7. L30
    specialize signed_rectangular_slice_lookup (j)
  8. L31
    specialize signed_rectangular_slice_lookup (z)
  9. L32
    apply signed_rectangular_slice_lookup
  10. L33
    exact hv
06Use earlier factsL34–35

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

  1. L34
    exact hj
  2. L35
    exact hz
07Establish heL36–45

Establish this local claim before using it. It is not an additional assumption.

  1. L36
    have he : ((((0) + ((S M) * (i)))) + ((1) * (j)))=((S (M))*(i)+(j))
  2. L37
    specialize zero_add ((S M)*i)
  3. L38
    rewrite zero_add
  4. L39
    specialize one_mul (j)
  5. L40
    rewrite one_mul
  6. L41
    refl
  7. L42
    rewrite he at hs
  8. L43
    rewrite he at hs
  9. L44
    rewrite he at hs
  10. L45
    rewrite he at hs
08Use earlier factsL46–46

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

  1. L46
    exact hs

Library-wide reading audit

Original exact command ledger · 46 lines
  1. 0001intro A
  2. 0002intro r
  3. 0003intro s
  4. 0004intro L
  5. 0005intro M
  6. 0006intro T
  7. 0007intro V
  8. 0008intro i
  9. 0009intro j
  10. 0010intro z
  11. 0011intro hg
  12. 0012intro hv
  13. 0013intro hi
  14. 0014intro hj
  15. 0015intro hz
  16. 0016cases hg
  17. 0017cases hg_right
  18. 0018specialize hg_right_right (i)
  19. 0019specialize hg_right_right (j)
  20. 0020specialize hg_right_right (z)
  21. 0021apply hg_right_right
  22. 0022exact hi
  23. 0023exact hj
  24. 0024have hs : exists dst_positive_code_row_actual_source dst_positive_scale_row_actual_source dst_negative_code_row_actual_source dst_negative_scale_row_actual_source dst_positive_row_actual_source dst_negative_row_actual_source. (((T) = (((((dst_positive_code_row_actual_source) + (dst_positive_scale_row_actual_source)) * S ((dst_positive_code_row_actual_source) + (dst_positive_scale_row_actual_source)) + ((dst_positive_scale_row_actual_source) + (dst_positive_scale_row_actual_source))) + (((dst_negative_code_row_actual_source) + (dst_negative_scale_row_actual_source)) * S ((dst_negative_code_row_actual_source) + (dst_negative_scale_row_actual_source)) + ((dst_negative_scale_row_actual_source) + (dst_negative_scale_row_actual_source)))) * S ((((dst_positive_code_row_actual_source) + (dst_positive_scale_row_actual_source)) * S ((dst_positive_code_row_actual_source) + (dst_positive_scale_row_actual_source)) + ((dst_positive_scale_row_actual_source) + (dst_positive_scale_row_actual_source))) + (((dst_negative_code_row_actual_source) + (dst_negative_scale_row_actual_source)) * S ((dst_negative_code_row_actual_source) + (dst_negative_scale_row_actual_source)) + ((dst_negative_scale_row_actual_source) + (dst_negative_scale_row_actual_source)))) + ((((dst_negative_code_row_actual_source) + (dst_negative_scale_row_actual_source)) * S ((dst_negative_code_row_actual_source) + (dst_negative_scale_row_actual_source)) + ((dst_negative_scale_row_actual_source) + (dst_negative_scale_row_actual_source))) + (((dst_negative_code_row_actual_source) + (dst_negative_scale_row_actual_source)) * S ((dst_negative_code_row_actual_source) + (dst_negative_scale_row_actual_source)) + ((dst_negative_scale_row_actual_source) + (dst_negative_scale_row_actual_source)))))) /\ (((((exists ff_h_pvs_row_actual_sourcepositive. ff_h_pvs_row_actual_sourcepositive + S (dst_positive_row_actual_source) = S ((S (((((0) + ((S M) * (i)))) + ((1) * (j))))) * dst_positive_scale_row_actual_source)) /\ exists ff_q_pvs_row_actual_sourcepositive. dst_positive_code_row_actual_source = ff_q_pvs_row_actual_sourcepositive * S ((S (((((0) + ((S M) * (i)))) + ((1) * (j))))) * dst_positive_scale_row_actual_source) + (dst_positive_row_actual_source))) /\ (((((exists ff_h_pvs_row_actual_sourcenegative. ff_h_pvs_row_actual_sourcenegative + S (dst_negative_row_actual_source) = S ((S (((((0) + ((S M) * (i)))) + ((1) * (j))))) * dst_negative_scale_row_actual_source)) /\ exists ff_q_pvs_row_actual_sourcenegative. dst_negative_code_row_actual_source = ff_q_pvs_row_actual_sourcenegative * S ((S (((((0) + ((S M) * (i)))) + ((1) * (j))))) * dst_negative_scale_row_actual_source) + (dst_negative_row_actual_source))) /\ (exists ge_balance_positive_row_actual_sourcevalue ge_balance_negative_row_actual_sourcevalue. (((((z) = 2 * (ge_balance_positive_row_actual_sourcevalue) /\ (ge_balance_negative_row_actual_sourcevalue) = 0) \/ exists ge_signed_half_row_actual_sourcevaluedecode. (((z) = 2 * ge_signed_half_row_actual_sourcevaluedecode + 1 /\ (ge_balance_positive_row_actual_sourcevalue) = 0) /\ (ge_balance_negative_row_actual_sourcevalue) = S ge_signed_half_row_actual_sourcevaluedecode))) /\ ((dst_positive_row_actual_source) + ge_balance_negative_row_actual_sourcevalue = (dst_negative_row_actual_source) + ge_balance_positive_row_actual_sourcevalue))))))))
  25. 0025specialize signed_rectangular_slice_lookup (T)
  26. 0026specialize signed_rectangular_slice_lookup (V)
  27. 0027specialize signed_rectangular_slice_lookup (((0) + ((S M) * (i))))
  28. 0028specialize signed_rectangular_slice_lookup (1)
  29. 0029specialize signed_rectangular_slice_lookup (M)
  30. 0030specialize signed_rectangular_slice_lookup (j)
  31. 0031specialize signed_rectangular_slice_lookup (z)
  32. 0032apply signed_rectangular_slice_lookup
  33. 0033exact hv
  34. 0034exact hj
  35. 0035exact hz
  36. 0036have he : ((((0) + ((S M) * (i)))) + ((1) * (j)))=((S (M))*(i)+(j))
  37. 0037specialize zero_add ((S M)*i)
  38. 0038rewrite zero_add
  39. 0039specialize one_mul (j)
  40. 0040rewrite one_mul
  41. 0041refl
  42. 0042rewrite he at hs
  43. 0043rewrite he at hs
  44. 0044rewrite he at hs
  45. 0045rewrite he at hs
  46. 0046exact hs