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. ∀ o. ∀ s. ∀ l. ArithTable(0,F) → ∃ x. SignedSliceSum(F,o,s,l,x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Original expanded first-order statement
forall F o s l. (exists dst_positive_code_sum_exists_input dst_positive_scale_sum_exists_input dst_negative_code_sum_exists_input dst_negative_scale_sum_exists_input. (((F) = (((((dst_positive_code_sum_exists_input) + (dst_positive_scale_sum_exists_input)) * S ((dst_positive_code_sum_exists_input) + (dst_positive_scale_sum_exists_input)) + ((dst_positive_scale_sum_exists_input) + (dst_positive_scale_sum_exists_input))) + (((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) * S ((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) + ((dst_negative_scale_sum_exists_input) + (dst_negative_scale_sum_exists_input)))) * S ((((dst_positive_code_sum_exists_input) + (dst_positive_scale_sum_exists_input)) * S ((dst_positive_code_sum_exists_input) + (dst_positive_scale_sum_exists_input)) + ((dst_positive_scale_sum_exists_input) + (dst_positive_scale_sum_exists_input))) + (((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) * S ((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) + ((dst_negative_scale_sum_exists_input) + (dst_negative_scale_sum_exists_input)))) + ((((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) * S ((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) + ((dst_negative_scale_sum_exists_input) + (dst_negative_scale_sum_exists_input))) + (((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) * S ((dst_negative_code_sum_exists_input) + (dst_negative_scale_sum_exists_input)) + ((dst_negative_scale_sum_exists_input) + (dst_negative_scale_sum_exists_input)))))) /\ (forall dst_index_sum_exists_input. (exists pvs_le_gap_sum_exists_inputdomain. pvs_le_gap_sum_exists_inputdomain + (dst_index_sum_exists_input) = (0)) -> exists dst_positive_sum_exists_input dst_negative_sum_exists_input dst_value_sum_exists_input. ((((exists ff_h_pvs_sum_exists_inputentrypositive. ff_h_pvs_sum_exists_inputentrypositive + S (dst_positive_sum_exists_input) = S ((S (dst_index_sum_exists_input)) * dst_positive_scale_sum_exists_input)) /\ exists ff_q_pvs_sum_exists_inputentrypositive. dst_positive_code_sum_exists_input = ff_q_pvs_sum_exists_inputentrypositive * S ((S (dst_index_sum_exists_input)) * dst_positive_scale_sum_exists_input) + (dst_positive_sum_exists_input))) /\ (((((exists ff_h_pvs_sum_exists_inputentrynegative. ff_h_pvs_sum_exists_inputentrynegative + S (dst_negative_sum_exists_input) = S ((S (dst_index_sum_exists_input)) * dst_negative_scale_sum_exists_input)) /\ exists ff_q_pvs_sum_exists_inputentrynegative. dst_negative_code_sum_exists_input = ff_q_pvs_sum_exists_inputentrynegative * S ((S (dst_index_sum_exists_input)) * dst_negative_scale_sum_exists_input) + (dst_negative_sum_exists_input))) /\ (exists ge_balance_positive_sum_exists_inputentryvalue ge_balance_negative_sum_exists_inputentryvalue. (((((dst_value_sum_exists_input) = 2 * (ge_balance_positive_sum_exists_inputentryvalue) /\ (ge_balance_negative_sum_exists_inputentryvalue) = 0) \/ exists ge_signed_half_sum_exists_inputentryvaluedecode. (((dst_value_sum_exists_input) = 2 * ge_signed_half_sum_exists_inputentryvaluedecode + 1 /\ (ge_balance_positive_sum_exists_inputentryvalue) = 0) /\ (ge_balance_negative_sum_exists_inputentryvalue) = S ge_signed_half_sum_exists_inputentryvaluedecode))) /\ ((dst_positive_sum_exists_input) + ge_balance_negative_sum_exists_inputentryvalue = (dst_negative_sum_exists_input) + ge_balance_positive_sum_exists_inputentryvalue))))))))) -> exists z. (exists srs_slice_sum_exists_result. ((((exists dst_positive_code_sum_exists_resultslicesource_table dst_positive_scale_sum_exists_resultslicesource_table dst_negative_code_sum_exists_resultslicesource_table dst_negative_scale_sum_exists_resultslicesource_table. (((F) = (((((dst_positive_code_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table)) * S ((dst_positive_code_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table)) + ((dst_positive_scale_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table))) + (((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) * S ((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) + ((dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)))) * S ((((dst_positive_code_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table)) * S ((dst_positive_code_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table)) + ((dst_positive_scale_sum_exists_resultslicesource_table) + (dst_positive_scale_sum_exists_resultslicesource_table))) + (((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) * S ((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) + ((dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)))) + ((((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) * S ((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) + ((dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table))) + (((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) * S ((dst_negative_code_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)) + ((dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_scale_sum_exists_resultslicesource_table)))))) /\ (forall dst_index_sum_exists_resultslicesource_table. (exists pvs_le_gap_sum_exists_resultslicesource_tabledomain. pvs_le_gap_sum_exists_resultslicesource_tabledomain + (dst_index_sum_exists_resultslicesource_table) = (0)) -> exists dst_positive_sum_exists_resultslicesource_table dst_negative_sum_exists_resultslicesource_table dst_value_sum_exists_resultslicesource_table. ((((exists ff_h_pvs_sum_exists_resultslicesource_tableentrypositive. ff_h_pvs_sum_exists_resultslicesource_tableentrypositive + S (dst_positive_sum_exists_resultslicesource_table) = S ((S (dst_index_sum_exists_resultslicesource_table)) * dst_positive_scale_sum_exists_resultslicesource_table)) /\ exists ff_q_pvs_sum_exists_resultslicesource_tableentrypositive. dst_positive_code_sum_exists_resultslicesource_table = ff_q_pvs_sum_exists_resultslicesource_tableentrypositive * S ((S (dst_index_sum_exists_resultslicesource_table)) * dst_positive_scale_sum_exists_resultslicesource_table) + (dst_positive_sum_exists_resultslicesource_table))) /\ (((((exists ff_h_pvs_sum_exists_resultslicesource_tableentrynegative. ff_h_pvs_sum_exists_resultslicesource_tableentrynegative + S (dst_negative_sum_exists_resultslicesource_table) = S ((S (dst_index_sum_exists_resultslicesource_table)) * dst_negative_scale_sum_exists_resultslicesource_table)) /\ exists ff_q_pvs_sum_exists_resultslicesource_tableentrynegative. dst_negative_code_sum_exists_resultslicesource_table = ff_q_pvs_sum_exists_resultslicesource_tableentrynegative * S ((S (dst_index_sum_exists_resultslicesource_table)) * dst_negative_scale_sum_exists_resultslicesource_table) + (dst_negative_sum_exists_resultslicesource_table))) /\ (exists ge_balance_positive_sum_exists_resultslicesource_tableentryvalue ge_balance_negative_sum_exists_resultslicesource_tableentryvalue. (((((dst_value_sum_exists_resultslicesource_table) = 2 * (ge_balance_positive_sum_exists_resultslicesource_tableentryvalue) /\ (ge_balance_negative_sum_exists_resultslicesource_tableentryvalue) = 0) \/ exists ge_signed_half_sum_exists_resultslicesource_tableentryvaluedecode. (((dst_value_sum_exists_resultslicesource_table) = 2 * ge_signed_half_sum_exists_resultslicesource_tableentryvaluedecode + 1 /\ (ge_balance_positive_sum_exists_resultslicesource_tableentryvalue) = 0) /\ (ge_balance_negative_sum_exists_resultslicesource_tableentryvalue) = S ge_signed_half_sum_exists_resultslicesource_tableentryvaluedecode))) /\ ((dst_positive_sum_exists_resultslicesource_table) + ge_balance_negative_sum_exists_resultslicesource_tableentryvalue = (dst_negative_sum_exists_resultslicesource_table) + ge_balance_positive_sum_exists_resultslicesource_tableentryvalue))))))))) /\ (((exists dst_positive_code_sum_exists_resultsliceoutput_table dst_positive_scale_sum_exists_resultsliceoutput_table dst_negative_code_sum_exists_resultsliceoutput_table dst_negative_scale_sum_exists_resultsliceoutput_table. (((srs_slice_sum_exists_result) = (((((dst_positive_code_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table)) * S ((dst_positive_code_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table)) + ((dst_positive_scale_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table))) + (((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) * S ((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) + ((dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)))) * S ((((dst_positive_code_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table)) * S ((dst_positive_code_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table)) + ((dst_positive_scale_sum_exists_resultsliceoutput_table) + (dst_positive_scale_sum_exists_resultsliceoutput_table))) + (((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) * S ((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) + ((dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)))) + ((((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) * S ((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) + ((dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table))) + (((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) * S ((dst_negative_code_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)) + ((dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_scale_sum_exists_resultsliceoutput_table)))))) /\ (forall dst_index_sum_exists_resultsliceoutput_table. (exists pvs_le_gap_sum_exists_resultsliceoutput_tabledomain. pvs_le_gap_sum_exists_resultsliceoutput_tabledomain + (dst_index_sum_exists_resultsliceoutput_table) = (l)) -> exists dst_positive_sum_exists_resultsliceoutput_table dst_negative_sum_exists_resultsliceoutput_table dst_value_sum_exists_resultsliceoutput_table. ((((exists ff_h_pvs_sum_exists_resultsliceoutput_tableentrypositive. ff_h_pvs_sum_exists_resultsliceoutput_tableentrypositive + S (dst_positive_sum_exists_resultsliceoutput_table) = S ((S (dst_index_sum_exists_resultsliceoutput_table)) * dst_positive_scale_sum_exists_resultsliceoutput_table)) /\ exists ff_q_pvs_sum_exists_resultsliceoutput_tableentrypositive. dst_positive_code_sum_exists_resultsliceoutput_table = ff_q_pvs_sum_exists_resultsliceoutput_tableentrypositive * S ((S (dst_index_sum_exists_resultsliceoutput_table)) * dst_positive_scale_sum_exists_resultsliceoutput_table) + (dst_positive_sum_exists_resultsliceoutput_table))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceoutput_tableentrynegative. ff_h_pvs_sum_exists_resultsliceoutput_tableentrynegative + S (dst_negative_sum_exists_resultsliceoutput_table) = S ((S (dst_index_sum_exists_resultsliceoutput_table)) * dst_negative_scale_sum_exists_resultsliceoutput_table)) /\ exists ff_q_pvs_sum_exists_resultsliceoutput_tableentrynegative. dst_negative_code_sum_exists_resultsliceoutput_table = ff_q_pvs_sum_exists_resultsliceoutput_tableentrynegative * S ((S (dst_index_sum_exists_resultsliceoutput_table)) * dst_negative_scale_sum_exists_resultsliceoutput_table) + (dst_negative_sum_exists_resultsliceoutput_table))) /\ (exists ge_balance_positive_sum_exists_resultsliceoutput_tableentryvalue ge_balance_negative_sum_exists_resultsliceoutput_tableentryvalue. (((((dst_value_sum_exists_resultsliceoutput_table) = 2 * (ge_balance_positive_sum_exists_resultsliceoutput_tableentryvalue) /\ (ge_balance_negative_sum_exists_resultsliceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_sum_exists_resultsliceoutput_tableentryvaluedecode. (((dst_value_sum_exists_resultsliceoutput_table) = 2 * ge_signed_half_sum_exists_resultsliceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_sum_exists_resultsliceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_sum_exists_resultsliceoutput_tableentryvalue) = S ge_signed_half_sum_exists_resultsliceoutput_tableentryvaluedecode))) /\ ((dst_positive_sum_exists_resultsliceoutput_table) + ge_balance_negative_sum_exists_resultsliceoutput_tableentryvalue = (dst_negative_sum_exists_resultsliceoutput_table) + ge_balance_positive_sum_exists_resultsliceoutput_tableentryvalue))))))))) /\ (forall srs_index_sum_exists_resultslice. (exists pvs_gap_sum_exists_resultslicebound. pvs_gap_sum_exists_resultslicebound + S (srs_index_sum_exists_resultslice) = (l)) -> exists srs_value_sum_exists_resultslice. (((exists dst_positive_code_sum_exists_resultsliceentrysource dst_positive_scale_sum_exists_resultsliceentrysource dst_negative_code_sum_exists_resultsliceentrysource dst_negative_scale_sum_exists_resultsliceentrysource dst_positive_sum_exists_resultsliceentrysource dst_negative_sum_exists_resultsliceentrysource. (((F) = (((((dst_positive_code_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource)) * S ((dst_positive_code_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource)) + ((dst_positive_scale_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource))) + (((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) * S ((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) + ((dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)))) * S ((((dst_positive_code_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource)) * S ((dst_positive_code_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource)) + ((dst_positive_scale_sum_exists_resultsliceentrysource) + (dst_positive_scale_sum_exists_resultsliceentrysource))) + (((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) * S ((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) + ((dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)))) + ((((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) * S ((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) + ((dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource))) + (((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) * S ((dst_negative_code_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)) + ((dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_scale_sum_exists_resultsliceentrysource)))))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceentrysourcepositive. ff_h_pvs_sum_exists_resultsliceentrysourcepositive + S (dst_positive_sum_exists_resultsliceentrysource) = S ((S (((o) + ((s) * (srs_index_sum_exists_resultslice))))) * dst_positive_scale_sum_exists_resultsliceentrysource)) /\ exists ff_q_pvs_sum_exists_resultsliceentrysourcepositive. dst_positive_code_sum_exists_resultsliceentrysource = ff_q_pvs_sum_exists_resultsliceentrysourcepositive * S ((S (((o) + ((s) * (srs_index_sum_exists_resultslice))))) * dst_positive_scale_sum_exists_resultsliceentrysource) + (dst_positive_sum_exists_resultsliceentrysource))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceentrysourcenegative. ff_h_pvs_sum_exists_resultsliceentrysourcenegative + S (dst_negative_sum_exists_resultsliceentrysource) = S ((S (((o) + ((s) * (srs_index_sum_exists_resultslice))))) * dst_negative_scale_sum_exists_resultsliceentrysource)) /\ exists ff_q_pvs_sum_exists_resultsliceentrysourcenegative. dst_negative_code_sum_exists_resultsliceentrysource = ff_q_pvs_sum_exists_resultsliceentrysourcenegative * S ((S (((o) + ((s) * (srs_index_sum_exists_resultslice))))) * dst_negative_scale_sum_exists_resultsliceentrysource) + (dst_negative_sum_exists_resultsliceentrysource))) /\ (exists ge_balance_positive_sum_exists_resultsliceentrysourcevalue ge_balance_negative_sum_exists_resultsliceentrysourcevalue. (((((srs_value_sum_exists_resultslice) = 2 * (ge_balance_positive_sum_exists_resultsliceentrysourcevalue) /\ (ge_balance_negative_sum_exists_resultsliceentrysourcevalue) = 0) \/ exists ge_signed_half_sum_exists_resultsliceentrysourcevaluedecode. (((srs_value_sum_exists_resultslice) = 2 * ge_signed_half_sum_exists_resultsliceentrysourcevaluedecode + 1 /\ (ge_balance_positive_sum_exists_resultsliceentrysourcevalue) = 0) /\ (ge_balance_negative_sum_exists_resultsliceentrysourcevalue) = S ge_signed_half_sum_exists_resultsliceentrysourcevaluedecode))) /\ ((dst_positive_sum_exists_resultsliceentrysource) + ge_balance_negative_sum_exists_resultsliceentrysourcevalue = (dst_negative_sum_exists_resultsliceentrysource) + ge_balance_positive_sum_exists_resultsliceentrysourcevalue))))))))) /\ (exists dst_positive_code_sum_exists_resultsliceentryoutput dst_positive_scale_sum_exists_resultsliceentryoutput dst_negative_code_sum_exists_resultsliceentryoutput dst_negative_scale_sum_exists_resultsliceentryoutput dst_positive_sum_exists_resultsliceentryoutput dst_negative_sum_exists_resultsliceentryoutput. (((srs_slice_sum_exists_result) = (((((dst_positive_code_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput)) * S ((dst_positive_code_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput)) + ((dst_positive_scale_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput))) + (((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) * S ((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) + ((dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)))) * S ((((dst_positive_code_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput)) * S ((dst_positive_code_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput)) + ((dst_positive_scale_sum_exists_resultsliceentryoutput) + (dst_positive_scale_sum_exists_resultsliceentryoutput))) + (((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) * S ((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) + ((dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)))) + ((((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) * S ((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) + ((dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput))) + (((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) * S ((dst_negative_code_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)) + ((dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_scale_sum_exists_resultsliceentryoutput)))))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceentryoutputpositive. ff_h_pvs_sum_exists_resultsliceentryoutputpositive + S (dst_positive_sum_exists_resultsliceentryoutput) = S ((S (srs_index_sum_exists_resultslice)) * dst_positive_scale_sum_exists_resultsliceentryoutput)) /\ exists ff_q_pvs_sum_exists_resultsliceentryoutputpositive. dst_positive_code_sum_exists_resultsliceentryoutput = ff_q_pvs_sum_exists_resultsliceentryoutputpositive * S ((S (srs_index_sum_exists_resultslice)) * dst_positive_scale_sum_exists_resultsliceentryoutput) + (dst_positive_sum_exists_resultsliceentryoutput))) /\ (((((exists ff_h_pvs_sum_exists_resultsliceentryoutputnegative. ff_h_pvs_sum_exists_resultsliceentryoutputnegative + S (dst_negative_sum_exists_resultsliceentryoutput) = S ((S (srs_index_sum_exists_resultslice)) * dst_negative_scale_sum_exists_resultsliceentryoutput)) /\ exists ff_q_pvs_sum_exists_resultsliceentryoutputnegative. dst_negative_code_sum_exists_resultsliceentryoutput = ff_q_pvs_sum_exists_resultsliceentryoutputnegative * S ((S (srs_index_sum_exists_resultslice)) * dst_negative_scale_sum_exists_resultsliceentryoutput) + (dst_negative_sum_exists_resultsliceentryoutput))) /\ (exists ge_balance_positive_sum_exists_resultsliceentryoutputvalue ge_balance_negative_sum_exists_resultsliceentryoutputvalue. (((((srs_value_sum_exists_resultslice) = 2 * (ge_balance_positive_sum_exists_resultsliceentryoutputvalue) /\ (ge_balance_negative_sum_exists_resultsliceentryoutputvalue) = 0) \/ exists ge_signed_half_sum_exists_resultsliceentryoutputvaluedecode. (((srs_value_sum_exists_resultslice) = 2 * ge_signed_half_sum_exists_resultsliceentryoutputvaluedecode + 1 /\ (ge_balance_positive_sum_exists_resultsliceentryoutputvalue) = 0) /\ (ge_balance_negative_sum_exists_resultsliceentryoutputvalue) = S ge_signed_half_sum_exists_resultsliceentryoutputvaluedecode))) /\ ((dst_positive_sum_exists_resultsliceentryoutput) + ge_balance_negative_sum_exists_resultsliceentryoutputvalue = (dst_negative_sum_exists_resultsliceentryoutput) + ge_balance_positive_sum_exists_resultsliceentryoutputvalue)))))))))))))))) /\ (exists dst_positive_code_sum_exists_resultsum dst_positive_scale_sum_exists_resultsum dst_negative_code_sum_exists_resultsum dst_negative_scale_sum_exists_resultsum dst_positive_sum_sum_exists_resultsum dst_negative_sum_sum_exists_resultsum. (((srs_slice_sum_exists_result) = (((((dst_positive_code_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum)) * S ((dst_positive_code_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum)) + ((dst_positive_scale_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum))) + (((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) * S ((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) + ((dst_negative_scale_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)))) * S ((((dst_positive_code_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum)) * S ((dst_positive_code_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum)) + ((dst_positive_scale_sum_exists_resultsum) + (dst_positive_scale_sum_exists_resultsum))) + (((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) * S ((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) + ((dst_negative_scale_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)))) + ((((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) * S ((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) + ((dst_negative_scale_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum))) + (((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) * S ((dst_negative_code_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)) + ((dst_negative_scale_sum_exists_resultsum) + (dst_negative_scale_sum_exists_resultsum)))))) /\ (((exists fs_u_dst_sum_exists_resultsumpositive fs_v_dst_sum_exists_resultsumpositive. ((((exists fs_h_dst_sum_exists_resultsumpositive_body_start. fs_h_dst_sum_exists_resultsumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_exists_resultsumpositive)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_start. fs_u_dst_sum_exists_resultsumpositive = fs_q_dst_sum_exists_resultsumpositive_body_start * S ((S (0)) * fs_v_dst_sum_exists_resultsumpositive) + (0))) /\ ((((exists fs_h_dst_sum_exists_resultsumpositive_body_terminal. fs_h_dst_sum_exists_resultsumpositive_body_terminal + S (dst_positive_sum_sum_exists_resultsum) = S ((S (l)) * fs_v_dst_sum_exists_resultsumpositive)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_terminal. fs_u_dst_sum_exists_resultsumpositive = fs_q_dst_sum_exists_resultsumpositive_body_terminal * S ((S (l)) * fs_v_dst_sum_exists_resultsumpositive) + (dst_positive_sum_sum_exists_resultsum))) /\ forall fs_i_dst_sum_exists_resultsumpositive_body_steps. (exists fs_lt_dst_sum_exists_resultsumpositive_body_steps_bound. fs_lt_dst_sum_exists_resultsumpositive_body_steps_bound + S fs_i_dst_sum_exists_resultsumpositive_body_steps = l) -> exists fs_a_dst_sum_exists_resultsumpositive_body_steps fs_r_dst_sum_exists_resultsumpositive_body_steps fs_s_dst_sum_exists_resultsumpositive_body_steps. ((((exists fs_h_dst_sum_exists_resultsumpositive_body_steps_summand. fs_h_dst_sum_exists_resultsumpositive_body_steps_summand + S (fs_a_dst_sum_exists_resultsumpositive_body_steps) = S ((S (fs_i_dst_sum_exists_resultsumpositive_body_steps)) * dst_positive_scale_sum_exists_resultsum)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_steps_summand. dst_positive_code_sum_exists_resultsum = fs_q_dst_sum_exists_resultsumpositive_body_steps_summand * S ((S (fs_i_dst_sum_exists_resultsumpositive_body_steps)) * dst_positive_scale_sum_exists_resultsum) + (fs_a_dst_sum_exists_resultsumpositive_body_steps))) /\ ((((exists fs_h_dst_sum_exists_resultsumpositive_body_steps_partial. fs_h_dst_sum_exists_resultsumpositive_body_steps_partial + S (fs_r_dst_sum_exists_resultsumpositive_body_steps) = S ((S (fs_i_dst_sum_exists_resultsumpositive_body_steps)) * fs_v_dst_sum_exists_resultsumpositive)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_steps_partial. fs_u_dst_sum_exists_resultsumpositive = fs_q_dst_sum_exists_resultsumpositive_body_steps_partial * S ((S (fs_i_dst_sum_exists_resultsumpositive_body_steps)) * fs_v_dst_sum_exists_resultsumpositive) + (fs_r_dst_sum_exists_resultsumpositive_body_steps))) /\ ((((exists fs_h_dst_sum_exists_resultsumpositive_body_steps_successor. fs_h_dst_sum_exists_resultsumpositive_body_steps_successor + S (fs_s_dst_sum_exists_resultsumpositive_body_steps) = S ((S (S fs_i_dst_sum_exists_resultsumpositive_body_steps)) * fs_v_dst_sum_exists_resultsumpositive)) /\ exists fs_q_dst_sum_exists_resultsumpositive_body_steps_successor. fs_u_dst_sum_exists_resultsumpositive = fs_q_dst_sum_exists_resultsumpositive_body_steps_successor * S ((S (S fs_i_dst_sum_exists_resultsumpositive_body_steps)) * fs_v_dst_sum_exists_resultsumpositive) + (fs_s_dst_sum_exists_resultsumpositive_body_steps))) /\ fs_s_dst_sum_exists_resultsumpositive_body_steps = fs_r_dst_sum_exists_resultsumpositive_body_steps + fs_a_dst_sum_exists_resultsumpositive_body_steps)))))) /\ (((exists fs_u_dst_sum_exists_resultsumnegative fs_v_dst_sum_exists_resultsumnegative. ((((exists fs_h_dst_sum_exists_resultsumnegative_body_start. fs_h_dst_sum_exists_resultsumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_sum_exists_resultsumnegative)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_start. fs_u_dst_sum_exists_resultsumnegative = fs_q_dst_sum_exists_resultsumnegative_body_start * S ((S (0)) * fs_v_dst_sum_exists_resultsumnegative) + (0))) /\ ((((exists fs_h_dst_sum_exists_resultsumnegative_body_terminal. fs_h_dst_sum_exists_resultsumnegative_body_terminal + S (dst_negative_sum_sum_exists_resultsum) = S ((S (l)) * fs_v_dst_sum_exists_resultsumnegative)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_terminal. fs_u_dst_sum_exists_resultsumnegative = fs_q_dst_sum_exists_resultsumnegative_body_terminal * S ((S (l)) * fs_v_dst_sum_exists_resultsumnegative) + (dst_negative_sum_sum_exists_resultsum))) /\ forall fs_i_dst_sum_exists_resultsumnegative_body_steps. (exists fs_lt_dst_sum_exists_resultsumnegative_body_steps_bound. fs_lt_dst_sum_exists_resultsumnegative_body_steps_bound + S fs_i_dst_sum_exists_resultsumnegative_body_steps = l) -> exists fs_a_dst_sum_exists_resultsumnegative_body_steps fs_r_dst_sum_exists_resultsumnegative_body_steps fs_s_dst_sum_exists_resultsumnegative_body_steps. ((((exists fs_h_dst_sum_exists_resultsumnegative_body_steps_summand. fs_h_dst_sum_exists_resultsumnegative_body_steps_summand + S (fs_a_dst_sum_exists_resultsumnegative_body_steps) = S ((S (fs_i_dst_sum_exists_resultsumnegative_body_steps)) * dst_negative_scale_sum_exists_resultsum)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_steps_summand. dst_negative_code_sum_exists_resultsum = fs_q_dst_sum_exists_resultsumnegative_body_steps_summand * S ((S (fs_i_dst_sum_exists_resultsumnegative_body_steps)) * dst_negative_scale_sum_exists_resultsum) + (fs_a_dst_sum_exists_resultsumnegative_body_steps))) /\ ((((exists fs_h_dst_sum_exists_resultsumnegative_body_steps_partial. fs_h_dst_sum_exists_resultsumnegative_body_steps_partial + S (fs_r_dst_sum_exists_resultsumnegative_body_steps) = S ((S (fs_i_dst_sum_exists_resultsumnegative_body_steps)) * fs_v_dst_sum_exists_resultsumnegative)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_steps_partial. fs_u_dst_sum_exists_resultsumnegative = fs_q_dst_sum_exists_resultsumnegative_body_steps_partial * S ((S (fs_i_dst_sum_exists_resultsumnegative_body_steps)) * fs_v_dst_sum_exists_resultsumnegative) + (fs_r_dst_sum_exists_resultsumnegative_body_steps))) /\ ((((exists fs_h_dst_sum_exists_resultsumnegative_body_steps_successor. fs_h_dst_sum_exists_resultsumnegative_body_steps_successor + S (fs_s_dst_sum_exists_resultsumnegative_body_steps) = S ((S (S fs_i_dst_sum_exists_resultsumnegative_body_steps)) * fs_v_dst_sum_exists_resultsumnegative)) /\ exists fs_q_dst_sum_exists_resultsumnegative_body_steps_successor. fs_u_dst_sum_exists_resultsumnegative = fs_q_dst_sum_exists_resultsumnegative_body_steps_successor * S ((S (S fs_i_dst_sum_exists_resultsumnegative_body_steps)) * fs_v_dst_sum_exists_resultsumnegative) + (fs_s_dst_sum_exists_resultsumnegative_body_steps))) /\ fs_s_dst_sum_exists_resultsumnegative_body_steps = fs_r_dst_sum_exists_resultsumnegative_body_steps + fs_a_dst_sum_exists_resultsumnegative_body_steps)))))) /\ (exists ge_balance_positive_sum_exists_resultsumresult ge_balance_negative_sum_exists_resultsumresult. (((((z) = 2 * (ge_balance_positive_sum_exists_resultsumresult) /\ (ge_balance_negative_sum_exists_resultsumresult) = 0) \/ exists ge_signed_half_sum_exists_resultsumresultdecode. (((z) = 2 * ge_signed_half_sum_exists_resultsumresultdecode + 1 /\ (ge_balance_positive_sum_exists_resultsumresult) = 0) /\ (ge_balance_negative_sum_exists_resultsumresult) = S ge_signed_half_sum_exists_resultsumresultdecode))) /\ ((dst_positive_sum_sum_exists_resultsum) + ge_balance_negative_sum_exists_resultsumresult = (dst_negative_sum_sum_exists_resultsum) + ge_balance_positive_sum_exists_resultsumresult)))))))))))Complete tactic proof in conservative notation
All 27 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
27 script commands · 10 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.
Named ingredients (1)
01Fix variables and assumptionsL1–5
02Establish hgL6–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed rectangular slice exists.
- L6
have hg : ∃ G. ArithSlice(F,G,o,s,l)Definitions: ArithSlice(F,G,o,s,l)Original native command in the exact edition - L7
specialize signed_rectangular_slice_exists (l) - L8
specialize signed_rectangular_slice_exists (F) - L9
specialize signed_rectangular_slice_exists (o) - L10
specialize signed_rectangular_slice_exists (s) - L11
apply signed_rectangular_slice_exists - L12
exact hF
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hg
04Establish hzL14–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed sum exists.
- L14
have hz : ∃ z. SignedPrefixSum(x,l,z)Definitions: SignedPrefixSum(x,l,z)Original native command in the exact edition - L15
specialize arithmetic_signed_sum_exists (l) - L16
specialize arithmetic_signed_sum_exists (x) - L17
specialize arithmetic_signed_sum_exists (l) - L18
apply arithmetic_signed_sum_exists
05Separate the logical casesL19–20
06Use earlier factsL21–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
exact hg_witness_right_left
07Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hz
08Construct an explicit witnessL23–24
09Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
split
Original defined command ledger · 27 lines
- 0001
intro F - 0002
intro o - 0003
intro s - 0004
intro l - 0005
intro hF - 0006
have hg : ∃ G. ArithSlice(F,G,o,s,l) - 0007
specialize signed_rectangular_slice_exists (l) - 0008
specialize signed_rectangular_slice_exists (F) - 0009
specialize signed_rectangular_slice_exists (o) - 0010
specialize signed_rectangular_slice_exists (s) - 0011
apply signed_rectangular_slice_exists - 0012
exact hF - 0013
cases hg - 0014
have hz : ∃ z. SignedPrefixSum(x,l,z) - 0015
specialize arithmetic_signed_sum_exists (l) - 0016
specialize arithmetic_signed_sum_exists (x) - 0017
specialize arithmetic_signed_sum_exists (l) - 0018
apply arithmetic_signed_sum_exists - 0019
cases hg_witness - 0020
cases hg_witness_right - 0021
exact hg_witness_right_left - 0022
cases hz - 0023
exists x1 - 0024
exists x - 0025
split - 0026
exact hg_witness - 0027
exact hz_witness