RS0002

signed_rectangular_slice_restrict

Restrict only the strict slice window, retaining the same actual output streams and source packing.

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. ∀ o. ∀ s. ∀ l. ArithSlice(F,G,o,s,S l)ArithSlice(F,G,o,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 o s l. (((exists dst_positive_code_restrict_sourcesource_table dst_positive_scale_restrict_sourcesource_table dst_negative_code_restrict_sourcesource_table dst_negative_scale_restrict_sourcesource_table. (((F) = (((((dst_positive_code_restrict_sourcesource_table) + (dst_positive_scale_restrict_sourcesource_table)) * S ((dst_positive_code_restrict_sourcesource_table) + (dst_positive_scale_restrict_sourcesource_table)) + ((dst_positive_scale_restrict_sourcesource_table) + (dst_positive_scale_restrict_sourcesource_table))) + (((dst_negative_code_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)) * S ((dst_negative_code_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)) + ((dst_negative_scale_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)))) * S ((((dst_positive_code_restrict_sourcesource_table) + (dst_positive_scale_restrict_sourcesource_table)) * S ((dst_positive_code_restrict_sourcesource_table) + (dst_positive_scale_restrict_sourcesource_table)) + ((dst_positive_scale_restrict_sourcesource_table) + (dst_positive_scale_restrict_sourcesource_table))) + (((dst_negative_code_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)) * S ((dst_negative_code_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)) + ((dst_negative_scale_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)))) + ((((dst_negative_code_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)) * S ((dst_negative_code_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)) + ((dst_negative_scale_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table))) + (((dst_negative_code_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)) * S ((dst_negative_code_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)) + ((dst_negative_scale_restrict_sourcesource_table) + (dst_negative_scale_restrict_sourcesource_table)))))) /\ (forall dst_index_restrict_sourcesource_table. (exists pvs_le_gap_restrict_sourcesource_tabledomain. pvs_le_gap_restrict_sourcesource_tabledomain + (dst_index_restrict_sourcesource_table) = (0)) -> exists dst_positive_restrict_sourcesource_table dst_negative_restrict_sourcesource_table dst_value_restrict_sourcesource_table. ((((exists ff_h_pvs_restrict_sourcesource_tableentrypositive. ff_h_pvs_restrict_sourcesource_tableentrypositive + S (dst_positive_restrict_sourcesource_table) = S ((S (dst_index_restrict_sourcesource_table)) * dst_positive_scale_restrict_sourcesource_table)) /\ exists ff_q_pvs_restrict_sourcesource_tableentrypositive. dst_positive_code_restrict_sourcesource_table = ff_q_pvs_restrict_sourcesource_tableentrypositive * S ((S (dst_index_restrict_sourcesource_table)) * dst_positive_scale_restrict_sourcesource_table) + (dst_positive_restrict_sourcesource_table))) /\ (((((exists ff_h_pvs_restrict_sourcesource_tableentrynegative. ff_h_pvs_restrict_sourcesource_tableentrynegative + S (dst_negative_restrict_sourcesource_table) = S ((S (dst_index_restrict_sourcesource_table)) * dst_negative_scale_restrict_sourcesource_table)) /\ exists ff_q_pvs_restrict_sourcesource_tableentrynegative. dst_negative_code_restrict_sourcesource_table = ff_q_pvs_restrict_sourcesource_tableentrynegative * S ((S (dst_index_restrict_sourcesource_table)) * dst_negative_scale_restrict_sourcesource_table) + (dst_negative_restrict_sourcesource_table))) /\ (exists ge_balance_positive_restrict_sourcesource_tableentryvalue ge_balance_negative_restrict_sourcesource_tableentryvalue. (((((dst_value_restrict_sourcesource_table) = 2 * (ge_balance_positive_restrict_sourcesource_tableentryvalue) /\ (ge_balance_negative_restrict_sourcesource_tableentryvalue) = 0) \/ exists ge_signed_half_restrict_sourcesource_tableentryvaluedecode. (((dst_value_restrict_sourcesource_table) = 2 * ge_signed_half_restrict_sourcesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_restrict_sourcesource_tableentryvalue) = 0) /\ (ge_balance_negative_restrict_sourcesource_tableentryvalue) = S ge_signed_half_restrict_sourcesource_tableentryvaluedecode))) /\ ((dst_positive_restrict_sourcesource_table) + ge_balance_negative_restrict_sourcesource_tableentryvalue = (dst_negative_restrict_sourcesource_table) + ge_balance_positive_restrict_sourcesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_restrict_sourceoutput_table dst_positive_scale_restrict_sourceoutput_table dst_negative_code_restrict_sourceoutput_table dst_negative_scale_restrict_sourceoutput_table. (((G) = (((((dst_positive_code_restrict_sourceoutput_table) + (dst_positive_scale_restrict_sourceoutput_table)) * S ((dst_positive_code_restrict_sourceoutput_table) + (dst_positive_scale_restrict_sourceoutput_table)) + ((dst_positive_scale_restrict_sourceoutput_table) + (dst_positive_scale_restrict_sourceoutput_table))) + (((dst_negative_code_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)) * S ((dst_negative_code_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)) + ((dst_negative_scale_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)))) * S ((((dst_positive_code_restrict_sourceoutput_table) + (dst_positive_scale_restrict_sourceoutput_table)) * S ((dst_positive_code_restrict_sourceoutput_table) + (dst_positive_scale_restrict_sourceoutput_table)) + ((dst_positive_scale_restrict_sourceoutput_table) + (dst_positive_scale_restrict_sourceoutput_table))) + (((dst_negative_code_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)) * S ((dst_negative_code_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)) + ((dst_negative_scale_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)))) + ((((dst_negative_code_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)) * S ((dst_negative_code_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)) + ((dst_negative_scale_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table))) + (((dst_negative_code_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)) * S ((dst_negative_code_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)) + ((dst_negative_scale_restrict_sourceoutput_table) + (dst_negative_scale_restrict_sourceoutput_table)))))) /\ (forall dst_index_restrict_sourceoutput_table. (exists pvs_le_gap_restrict_sourceoutput_tabledomain. pvs_le_gap_restrict_sourceoutput_tabledomain + (dst_index_restrict_sourceoutput_table) = (S l)) -> exists dst_positive_restrict_sourceoutput_table dst_negative_restrict_sourceoutput_table dst_value_restrict_sourceoutput_table. ((((exists ff_h_pvs_restrict_sourceoutput_tableentrypositive. ff_h_pvs_restrict_sourceoutput_tableentrypositive + S (dst_positive_restrict_sourceoutput_table) = S ((S (dst_index_restrict_sourceoutput_table)) * dst_positive_scale_restrict_sourceoutput_table)) /\ exists ff_q_pvs_restrict_sourceoutput_tableentrypositive. dst_positive_code_restrict_sourceoutput_table = ff_q_pvs_restrict_sourceoutput_tableentrypositive * S ((S (dst_index_restrict_sourceoutput_table)) * dst_positive_scale_restrict_sourceoutput_table) + (dst_positive_restrict_sourceoutput_table))) /\ (((((exists ff_h_pvs_restrict_sourceoutput_tableentrynegative. ff_h_pvs_restrict_sourceoutput_tableentrynegative + S (dst_negative_restrict_sourceoutput_table) = S ((S (dst_index_restrict_sourceoutput_table)) * dst_negative_scale_restrict_sourceoutput_table)) /\ exists ff_q_pvs_restrict_sourceoutput_tableentrynegative. dst_negative_code_restrict_sourceoutput_table = ff_q_pvs_restrict_sourceoutput_tableentrynegative * S ((S (dst_index_restrict_sourceoutput_table)) * dst_negative_scale_restrict_sourceoutput_table) + (dst_negative_restrict_sourceoutput_table))) /\ (exists ge_balance_positive_restrict_sourceoutput_tableentryvalue ge_balance_negative_restrict_sourceoutput_tableentryvalue. (((((dst_value_restrict_sourceoutput_table) = 2 * (ge_balance_positive_restrict_sourceoutput_tableentryvalue) /\ (ge_balance_negative_restrict_sourceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_restrict_sourceoutput_tableentryvaluedecode. (((dst_value_restrict_sourceoutput_table) = 2 * ge_signed_half_restrict_sourceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_restrict_sourceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_restrict_sourceoutput_tableentryvalue) = S ge_signed_half_restrict_sourceoutput_tableentryvaluedecode))) /\ ((dst_positive_restrict_sourceoutput_table) + ge_balance_negative_restrict_sourceoutput_tableentryvalue = (dst_negative_restrict_sourceoutput_table) + ge_balance_positive_restrict_sourceoutput_tableentryvalue))))))))) /\ (forall srs_index_restrict_source. (exists pvs_gap_restrict_sourcebound. pvs_gap_restrict_sourcebound + S (srs_index_restrict_source) = (S l)) -> exists srs_value_restrict_source. (((exists dst_positive_code_restrict_sourceentrysource dst_positive_scale_restrict_sourceentrysource dst_negative_code_restrict_sourceentrysource dst_negative_scale_restrict_sourceentrysource dst_positive_restrict_sourceentrysource dst_negative_restrict_sourceentrysource. (((F) = (((((dst_positive_code_restrict_sourceentrysource) + (dst_positive_scale_restrict_sourceentrysource)) * S ((dst_positive_code_restrict_sourceentrysource) + (dst_positive_scale_restrict_sourceentrysource)) + ((dst_positive_scale_restrict_sourceentrysource) + (dst_positive_scale_restrict_sourceentrysource))) + (((dst_negative_code_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)) * S ((dst_negative_code_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)) + ((dst_negative_scale_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)))) * S ((((dst_positive_code_restrict_sourceentrysource) + (dst_positive_scale_restrict_sourceentrysource)) * S ((dst_positive_code_restrict_sourceentrysource) + (dst_positive_scale_restrict_sourceentrysource)) + ((dst_positive_scale_restrict_sourceentrysource) + (dst_positive_scale_restrict_sourceentrysource))) + (((dst_negative_code_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)) * S ((dst_negative_code_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)) + ((dst_negative_scale_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)))) + ((((dst_negative_code_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)) * S ((dst_negative_code_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)) + ((dst_negative_scale_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource))) + (((dst_negative_code_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)) * S ((dst_negative_code_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)) + ((dst_negative_scale_restrict_sourceentrysource) + (dst_negative_scale_restrict_sourceentrysource)))))) /\ (((((exists ff_h_pvs_restrict_sourceentrysourcepositive. ff_h_pvs_restrict_sourceentrysourcepositive + S (dst_positive_restrict_sourceentrysource) = S ((S (((o) + ((s) * (srs_index_restrict_source))))) * dst_positive_scale_restrict_sourceentrysource)) /\ exists ff_q_pvs_restrict_sourceentrysourcepositive. dst_positive_code_restrict_sourceentrysource = ff_q_pvs_restrict_sourceentrysourcepositive * S ((S (((o) + ((s) * (srs_index_restrict_source))))) * dst_positive_scale_restrict_sourceentrysource) + (dst_positive_restrict_sourceentrysource))) /\ (((((exists ff_h_pvs_restrict_sourceentrysourcenegative. ff_h_pvs_restrict_sourceentrysourcenegative + S (dst_negative_restrict_sourceentrysource) = S ((S (((o) + ((s) * (srs_index_restrict_source))))) * dst_negative_scale_restrict_sourceentrysource)) /\ exists ff_q_pvs_restrict_sourceentrysourcenegative. dst_negative_code_restrict_sourceentrysource = ff_q_pvs_restrict_sourceentrysourcenegative * S ((S (((o) + ((s) * (srs_index_restrict_source))))) * dst_negative_scale_restrict_sourceentrysource) + (dst_negative_restrict_sourceentrysource))) /\ (exists ge_balance_positive_restrict_sourceentrysourcevalue ge_balance_negative_restrict_sourceentrysourcevalue. (((((srs_value_restrict_source) = 2 * (ge_balance_positive_restrict_sourceentrysourcevalue) /\ (ge_balance_negative_restrict_sourceentrysourcevalue) = 0) \/ exists ge_signed_half_restrict_sourceentrysourcevaluedecode. (((srs_value_restrict_source) = 2 * ge_signed_half_restrict_sourceentrysourcevaluedecode + 1 /\ (ge_balance_positive_restrict_sourceentrysourcevalue) = 0) /\ (ge_balance_negative_restrict_sourceentrysourcevalue) = S ge_signed_half_restrict_sourceentrysourcevaluedecode))) /\ ((dst_positive_restrict_sourceentrysource) + ge_balance_negative_restrict_sourceentrysourcevalue = (dst_negative_restrict_sourceentrysource) + ge_balance_positive_restrict_sourceentrysourcevalue))))))))) /\ (exists dst_positive_code_restrict_sourceentryoutput dst_positive_scale_restrict_sourceentryoutput dst_negative_code_restrict_sourceentryoutput dst_negative_scale_restrict_sourceentryoutput dst_positive_restrict_sourceentryoutput dst_negative_restrict_sourceentryoutput. (((G) = (((((dst_positive_code_restrict_sourceentryoutput) + (dst_positive_scale_restrict_sourceentryoutput)) * S ((dst_positive_code_restrict_sourceentryoutput) + (dst_positive_scale_restrict_sourceentryoutput)) + ((dst_positive_scale_restrict_sourceentryoutput) + (dst_positive_scale_restrict_sourceentryoutput))) + (((dst_negative_code_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)) * S ((dst_negative_code_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)) + ((dst_negative_scale_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)))) * S ((((dst_positive_code_restrict_sourceentryoutput) + (dst_positive_scale_restrict_sourceentryoutput)) * S ((dst_positive_code_restrict_sourceentryoutput) + (dst_positive_scale_restrict_sourceentryoutput)) + ((dst_positive_scale_restrict_sourceentryoutput) + (dst_positive_scale_restrict_sourceentryoutput))) + (((dst_negative_code_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)) * S ((dst_negative_code_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)) + ((dst_negative_scale_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)))) + ((((dst_negative_code_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)) * S ((dst_negative_code_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)) + ((dst_negative_scale_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput))) + (((dst_negative_code_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)) * S ((dst_negative_code_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)) + ((dst_negative_scale_restrict_sourceentryoutput) + (dst_negative_scale_restrict_sourceentryoutput)))))) /\ (((((exists ff_h_pvs_restrict_sourceentryoutputpositive. ff_h_pvs_restrict_sourceentryoutputpositive + S (dst_positive_restrict_sourceentryoutput) = S ((S (srs_index_restrict_source)) * dst_positive_scale_restrict_sourceentryoutput)) /\ exists ff_q_pvs_restrict_sourceentryoutputpositive. dst_positive_code_restrict_sourceentryoutput = ff_q_pvs_restrict_sourceentryoutputpositive * S ((S (srs_index_restrict_source)) * dst_positive_scale_restrict_sourceentryoutput) + (dst_positive_restrict_sourceentryoutput))) /\ (((((exists ff_h_pvs_restrict_sourceentryoutputnegative. ff_h_pvs_restrict_sourceentryoutputnegative + S (dst_negative_restrict_sourceentryoutput) = S ((S (srs_index_restrict_source)) * dst_negative_scale_restrict_sourceentryoutput)) /\ exists ff_q_pvs_restrict_sourceentryoutputnegative. dst_negative_code_restrict_sourceentryoutput = ff_q_pvs_restrict_sourceentryoutputnegative * S ((S (srs_index_restrict_source)) * dst_negative_scale_restrict_sourceentryoutput) + (dst_negative_restrict_sourceentryoutput))) /\ (exists ge_balance_positive_restrict_sourceentryoutputvalue ge_balance_negative_restrict_sourceentryoutputvalue. (((((srs_value_restrict_source) = 2 * (ge_balance_positive_restrict_sourceentryoutputvalue) /\ (ge_balance_negative_restrict_sourceentryoutputvalue) = 0) \/ exists ge_signed_half_restrict_sourceentryoutputvaluedecode. (((srs_value_restrict_source) = 2 * ge_signed_half_restrict_sourceentryoutputvaluedecode + 1 /\ (ge_balance_positive_restrict_sourceentryoutputvalue) = 0) /\ (ge_balance_negative_restrict_sourceentryoutputvalue) = S ge_signed_half_restrict_sourceentryoutputvaluedecode))) /\ ((dst_positive_restrict_sourceentryoutput) + ge_balance_negative_restrict_sourceentryoutputvalue = (dst_negative_restrict_sourceentryoutput) + ge_balance_positive_restrict_sourceentryoutputvalue)))))))))))))))) -> (((exists dst_positive_code_restrict_resultsource_table dst_positive_scale_restrict_resultsource_table dst_negative_code_restrict_resultsource_table dst_negative_scale_restrict_resultsource_table. (((F) = (((((dst_positive_code_restrict_resultsource_table) + (dst_positive_scale_restrict_resultsource_table)) * S ((dst_positive_code_restrict_resultsource_table) + (dst_positive_scale_restrict_resultsource_table)) + ((dst_positive_scale_restrict_resultsource_table) + (dst_positive_scale_restrict_resultsource_table))) + (((dst_negative_code_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)) * S ((dst_negative_code_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)) + ((dst_negative_scale_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)))) * S ((((dst_positive_code_restrict_resultsource_table) + (dst_positive_scale_restrict_resultsource_table)) * S ((dst_positive_code_restrict_resultsource_table) + (dst_positive_scale_restrict_resultsource_table)) + ((dst_positive_scale_restrict_resultsource_table) + (dst_positive_scale_restrict_resultsource_table))) + (((dst_negative_code_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)) * S ((dst_negative_code_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)) + ((dst_negative_scale_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)))) + ((((dst_negative_code_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)) * S ((dst_negative_code_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)) + ((dst_negative_scale_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table))) + (((dst_negative_code_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)) * S ((dst_negative_code_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)) + ((dst_negative_scale_restrict_resultsource_table) + (dst_negative_scale_restrict_resultsource_table)))))) /\ (forall dst_index_restrict_resultsource_table. (exists pvs_le_gap_restrict_resultsource_tabledomain. pvs_le_gap_restrict_resultsource_tabledomain + (dst_index_restrict_resultsource_table) = (0)) -> exists dst_positive_restrict_resultsource_table dst_negative_restrict_resultsource_table dst_value_restrict_resultsource_table. ((((exists ff_h_pvs_restrict_resultsource_tableentrypositive. ff_h_pvs_restrict_resultsource_tableentrypositive + S (dst_positive_restrict_resultsource_table) = S ((S (dst_index_restrict_resultsource_table)) * dst_positive_scale_restrict_resultsource_table)) /\ exists ff_q_pvs_restrict_resultsource_tableentrypositive. dst_positive_code_restrict_resultsource_table = ff_q_pvs_restrict_resultsource_tableentrypositive * S ((S (dst_index_restrict_resultsource_table)) * dst_positive_scale_restrict_resultsource_table) + (dst_positive_restrict_resultsource_table))) /\ (((((exists ff_h_pvs_restrict_resultsource_tableentrynegative. ff_h_pvs_restrict_resultsource_tableentrynegative + S (dst_negative_restrict_resultsource_table) = S ((S (dst_index_restrict_resultsource_table)) * dst_negative_scale_restrict_resultsource_table)) /\ exists ff_q_pvs_restrict_resultsource_tableentrynegative. dst_negative_code_restrict_resultsource_table = ff_q_pvs_restrict_resultsource_tableentrynegative * S ((S (dst_index_restrict_resultsource_table)) * dst_negative_scale_restrict_resultsource_table) + (dst_negative_restrict_resultsource_table))) /\ (exists ge_balance_positive_restrict_resultsource_tableentryvalue ge_balance_negative_restrict_resultsource_tableentryvalue. (((((dst_value_restrict_resultsource_table) = 2 * (ge_balance_positive_restrict_resultsource_tableentryvalue) /\ (ge_balance_negative_restrict_resultsource_tableentryvalue) = 0) \/ exists ge_signed_half_restrict_resultsource_tableentryvaluedecode. (((dst_value_restrict_resultsource_table) = 2 * ge_signed_half_restrict_resultsource_tableentryvaluedecode + 1 /\ (ge_balance_positive_restrict_resultsource_tableentryvalue) = 0) /\ (ge_balance_negative_restrict_resultsource_tableentryvalue) = S ge_signed_half_restrict_resultsource_tableentryvaluedecode))) /\ ((dst_positive_restrict_resultsource_table) + ge_balance_negative_restrict_resultsource_tableentryvalue = (dst_negative_restrict_resultsource_table) + ge_balance_positive_restrict_resultsource_tableentryvalue))))))))) /\ (((exists dst_positive_code_restrict_resultoutput_table dst_positive_scale_restrict_resultoutput_table dst_negative_code_restrict_resultoutput_table dst_negative_scale_restrict_resultoutput_table. (((G) = (((((dst_positive_code_restrict_resultoutput_table) + (dst_positive_scale_restrict_resultoutput_table)) * S ((dst_positive_code_restrict_resultoutput_table) + (dst_positive_scale_restrict_resultoutput_table)) + ((dst_positive_scale_restrict_resultoutput_table) + (dst_positive_scale_restrict_resultoutput_table))) + (((dst_negative_code_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)) * S ((dst_negative_code_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)) + ((dst_negative_scale_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)))) * S ((((dst_positive_code_restrict_resultoutput_table) + (dst_positive_scale_restrict_resultoutput_table)) * S ((dst_positive_code_restrict_resultoutput_table) + (dst_positive_scale_restrict_resultoutput_table)) + ((dst_positive_scale_restrict_resultoutput_table) + (dst_positive_scale_restrict_resultoutput_table))) + (((dst_negative_code_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)) * S ((dst_negative_code_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)) + ((dst_negative_scale_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)))) + ((((dst_negative_code_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)) * S ((dst_negative_code_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)) + ((dst_negative_scale_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table))) + (((dst_negative_code_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)) * S ((dst_negative_code_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)) + ((dst_negative_scale_restrict_resultoutput_table) + (dst_negative_scale_restrict_resultoutput_table)))))) /\ (forall dst_index_restrict_resultoutput_table. (exists pvs_le_gap_restrict_resultoutput_tabledomain. pvs_le_gap_restrict_resultoutput_tabledomain + (dst_index_restrict_resultoutput_table) = (l)) -> exists dst_positive_restrict_resultoutput_table dst_negative_restrict_resultoutput_table dst_value_restrict_resultoutput_table. ((((exists ff_h_pvs_restrict_resultoutput_tableentrypositive. ff_h_pvs_restrict_resultoutput_tableentrypositive + S (dst_positive_restrict_resultoutput_table) = S ((S (dst_index_restrict_resultoutput_table)) * dst_positive_scale_restrict_resultoutput_table)) /\ exists ff_q_pvs_restrict_resultoutput_tableentrypositive. dst_positive_code_restrict_resultoutput_table = ff_q_pvs_restrict_resultoutput_tableentrypositive * S ((S (dst_index_restrict_resultoutput_table)) * dst_positive_scale_restrict_resultoutput_table) + (dst_positive_restrict_resultoutput_table))) /\ (((((exists ff_h_pvs_restrict_resultoutput_tableentrynegative. ff_h_pvs_restrict_resultoutput_tableentrynegative + S (dst_negative_restrict_resultoutput_table) = S ((S (dst_index_restrict_resultoutput_table)) * dst_negative_scale_restrict_resultoutput_table)) /\ exists ff_q_pvs_restrict_resultoutput_tableentrynegative. dst_negative_code_restrict_resultoutput_table = ff_q_pvs_restrict_resultoutput_tableentrynegative * S ((S (dst_index_restrict_resultoutput_table)) * dst_negative_scale_restrict_resultoutput_table) + (dst_negative_restrict_resultoutput_table))) /\ (exists ge_balance_positive_restrict_resultoutput_tableentryvalue ge_balance_negative_restrict_resultoutput_tableentryvalue. (((((dst_value_restrict_resultoutput_table) = 2 * (ge_balance_positive_restrict_resultoutput_tableentryvalue) /\ (ge_balance_negative_restrict_resultoutput_tableentryvalue) = 0) \/ exists ge_signed_half_restrict_resultoutput_tableentryvaluedecode. (((dst_value_restrict_resultoutput_table) = 2 * ge_signed_half_restrict_resultoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_restrict_resultoutput_tableentryvalue) = 0) /\ (ge_balance_negative_restrict_resultoutput_tableentryvalue) = S ge_signed_half_restrict_resultoutput_tableentryvaluedecode))) /\ ((dst_positive_restrict_resultoutput_table) + ge_balance_negative_restrict_resultoutput_tableentryvalue = (dst_negative_restrict_resultoutput_table) + ge_balance_positive_restrict_resultoutput_tableentryvalue))))))))) /\ (forall srs_index_restrict_result. (exists pvs_gap_restrict_resultbound. pvs_gap_restrict_resultbound + S (srs_index_restrict_result) = (l)) -> exists srs_value_restrict_result. (((exists dst_positive_code_restrict_resultentrysource dst_positive_scale_restrict_resultentrysource dst_negative_code_restrict_resultentrysource dst_negative_scale_restrict_resultentrysource dst_positive_restrict_resultentrysource dst_negative_restrict_resultentrysource. (((F) = (((((dst_positive_code_restrict_resultentrysource) + (dst_positive_scale_restrict_resultentrysource)) * S ((dst_positive_code_restrict_resultentrysource) + (dst_positive_scale_restrict_resultentrysource)) + ((dst_positive_scale_restrict_resultentrysource) + (dst_positive_scale_restrict_resultentrysource))) + (((dst_negative_code_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)) * S ((dst_negative_code_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)) + ((dst_negative_scale_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)))) * S ((((dst_positive_code_restrict_resultentrysource) + (dst_positive_scale_restrict_resultentrysource)) * S ((dst_positive_code_restrict_resultentrysource) + (dst_positive_scale_restrict_resultentrysource)) + ((dst_positive_scale_restrict_resultentrysource) + (dst_positive_scale_restrict_resultentrysource))) + (((dst_negative_code_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)) * S ((dst_negative_code_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)) + ((dst_negative_scale_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)))) + ((((dst_negative_code_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)) * S ((dst_negative_code_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)) + ((dst_negative_scale_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource))) + (((dst_negative_code_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)) * S ((dst_negative_code_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)) + ((dst_negative_scale_restrict_resultentrysource) + (dst_negative_scale_restrict_resultentrysource)))))) /\ (((((exists ff_h_pvs_restrict_resultentrysourcepositive. ff_h_pvs_restrict_resultentrysourcepositive + S (dst_positive_restrict_resultentrysource) = S ((S (((o) + ((s) * (srs_index_restrict_result))))) * dst_positive_scale_restrict_resultentrysource)) /\ exists ff_q_pvs_restrict_resultentrysourcepositive. dst_positive_code_restrict_resultentrysource = ff_q_pvs_restrict_resultentrysourcepositive * S ((S (((o) + ((s) * (srs_index_restrict_result))))) * dst_positive_scale_restrict_resultentrysource) + (dst_positive_restrict_resultentrysource))) /\ (((((exists ff_h_pvs_restrict_resultentrysourcenegative. ff_h_pvs_restrict_resultentrysourcenegative + S (dst_negative_restrict_resultentrysource) = S ((S (((o) + ((s) * (srs_index_restrict_result))))) * dst_negative_scale_restrict_resultentrysource)) /\ exists ff_q_pvs_restrict_resultentrysourcenegative. dst_negative_code_restrict_resultentrysource = ff_q_pvs_restrict_resultentrysourcenegative * S ((S (((o) + ((s) * (srs_index_restrict_result))))) * dst_negative_scale_restrict_resultentrysource) + (dst_negative_restrict_resultentrysource))) /\ (exists ge_balance_positive_restrict_resultentrysourcevalue ge_balance_negative_restrict_resultentrysourcevalue. (((((srs_value_restrict_result) = 2 * (ge_balance_positive_restrict_resultentrysourcevalue) /\ (ge_balance_negative_restrict_resultentrysourcevalue) = 0) \/ exists ge_signed_half_restrict_resultentrysourcevaluedecode. (((srs_value_restrict_result) = 2 * ge_signed_half_restrict_resultentrysourcevaluedecode + 1 /\ (ge_balance_positive_restrict_resultentrysourcevalue) = 0) /\ (ge_balance_negative_restrict_resultentrysourcevalue) = S ge_signed_half_restrict_resultentrysourcevaluedecode))) /\ ((dst_positive_restrict_resultentrysource) + ge_balance_negative_restrict_resultentrysourcevalue = (dst_negative_restrict_resultentrysource) + ge_balance_positive_restrict_resultentrysourcevalue))))))))) /\ (exists dst_positive_code_restrict_resultentryoutput dst_positive_scale_restrict_resultentryoutput dst_negative_code_restrict_resultentryoutput dst_negative_scale_restrict_resultentryoutput dst_positive_restrict_resultentryoutput dst_negative_restrict_resultentryoutput. (((G) = (((((dst_positive_code_restrict_resultentryoutput) + (dst_positive_scale_restrict_resultentryoutput)) * S ((dst_positive_code_restrict_resultentryoutput) + (dst_positive_scale_restrict_resultentryoutput)) + ((dst_positive_scale_restrict_resultentryoutput) + (dst_positive_scale_restrict_resultentryoutput))) + (((dst_negative_code_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)) * S ((dst_negative_code_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)) + ((dst_negative_scale_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)))) * S ((((dst_positive_code_restrict_resultentryoutput) + (dst_positive_scale_restrict_resultentryoutput)) * S ((dst_positive_code_restrict_resultentryoutput) + (dst_positive_scale_restrict_resultentryoutput)) + ((dst_positive_scale_restrict_resultentryoutput) + (dst_positive_scale_restrict_resultentryoutput))) + (((dst_negative_code_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)) * S ((dst_negative_code_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)) + ((dst_negative_scale_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)))) + ((((dst_negative_code_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)) * S ((dst_negative_code_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)) + ((dst_negative_scale_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput))) + (((dst_negative_code_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)) * S ((dst_negative_code_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)) + ((dst_negative_scale_restrict_resultentryoutput) + (dst_negative_scale_restrict_resultentryoutput)))))) /\ (((((exists ff_h_pvs_restrict_resultentryoutputpositive. ff_h_pvs_restrict_resultentryoutputpositive + S (dst_positive_restrict_resultentryoutput) = S ((S (srs_index_restrict_result)) * dst_positive_scale_restrict_resultentryoutput)) /\ exists ff_q_pvs_restrict_resultentryoutputpositive. dst_positive_code_restrict_resultentryoutput = ff_q_pvs_restrict_resultentryoutputpositive * S ((S (srs_index_restrict_result)) * dst_positive_scale_restrict_resultentryoutput) + (dst_positive_restrict_resultentryoutput))) /\ (((((exists ff_h_pvs_restrict_resultentryoutputnegative. ff_h_pvs_restrict_resultentryoutputnegative + S (dst_negative_restrict_resultentryoutput) = S ((S (srs_index_restrict_result)) * dst_negative_scale_restrict_resultentryoutput)) /\ exists ff_q_pvs_restrict_resultentryoutputnegative. dst_negative_code_restrict_resultentryoutput = ff_q_pvs_restrict_resultentryoutputnegative * S ((S (srs_index_restrict_result)) * dst_negative_scale_restrict_resultentryoutput) + (dst_negative_restrict_resultentryoutput))) /\ (exists ge_balance_positive_restrict_resultentryoutputvalue ge_balance_negative_restrict_resultentryoutputvalue. (((((srs_value_restrict_result) = 2 * (ge_balance_positive_restrict_resultentryoutputvalue) /\ (ge_balance_negative_restrict_resultentryoutputvalue) = 0) \/ exists ge_signed_half_restrict_resultentryoutputvaluedecode. (((srs_value_restrict_result) = 2 * ge_signed_half_restrict_resultentryoutputvaluedecode + 1 /\ (ge_balance_positive_restrict_resultentryoutputvalue) = 0) /\ (ge_balance_negative_restrict_resultentryoutputvalue) = S ge_signed_half_restrict_resultentryoutputvaluedecode))) /\ ((dst_positive_restrict_resultentryoutput) + ge_balance_negative_restrict_resultentryoutputvalue = (dst_negative_restrict_resultentryoutput) + ge_balance_positive_restrict_resultentryoutputvalue))))))))))))))))

Complete tactic proof in conservative notation

All 24 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

24 script commands · 7 reading checkpoints · 0 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–6

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

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro o
  4. L4
    intro s
  5. L5
    intro l
  6. L6
    intro hs
02Separate the logical casesL7–9

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

  1. L7
    cases hs
  2. L8
    cases hs_right
  3. L9
    split
03Use earlier factsL10–10

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

  1. L10
    exact hs_left
04Separate the logical casesL11–11

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

  1. L11
    split
05Use earlier factsL12–16

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

  1. L12
    specialize signed_table_domain_resize (S l)
  2. L13
    specialize signed_table_domain_resize (l)
  3. L14
    specialize signed_table_domain_resize (G)
  4. L15
    apply signed_table_domain_resize
  5. L16
    exact hs_right_left
06Fix variables and assumptionsL17–18

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

  1. L17
    intro i
  2. L18
    intro hi
07Use earlier factsL19–24

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

  1. L19
    specialize hs_right_right (i)
  2. L20
    apply hs_right_right
  3. L21
    specialize le_succ (S i)
  4. L22
    specialize le_succ (l)
  5. L23
    apply le_succ
  6. L24
    exact hi

Library-wide reading audit

Original defined command ledger · 24 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro o
  4. 0004intro s
  5. 0005intro l
  6. 0006intro hs
  7. 0007cases hs
  8. 0008cases hs_right
  9. 0009split
  10. 0010exact hs_left
  11. 0011split
  12. 0012specialize signed_table_domain_resize (S l)
  13. 0013specialize signed_table_domain_resize (l)
  14. 0014specialize signed_table_domain_resize (G)
  15. 0015apply signed_table_domain_resize
  16. 0016exact hs_right_left
  17. 0017intro i
  18. 0018intro hi
  19. 0019specialize hs_right_right (i)
  20. 0020apply hs_right_right
  21. 0021specialize le_succ (S i)
  22. 0022specialize le_succ (l)
  23. 0023apply le_succ
  24. 0024exact hi