WS001E

signed_prefix_sum_scalar_multiply_values_exist

Construct all actual signed prefix-sum values and prove their scalar product relation, including the empty-prefix boundary.

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.

Operation tables contain actual beta-coded entries and compare represented signed values, not encodings. The strict sum window is i<l and the separately certified endpoint i=l is unused. Rectangular Fubini and full finite signed Möbius inversion are separate, now-admitted families.

Exact theorem in conservative defined notation

∀ l. ∀ a. ∀ F. ∀ G. ArithScale(a,F,G,l) → ∃ x. ∃ y. SignedPrefixSum(F,l,x) ∧ (SignedPrefixSum(G,l,y)SignedMul(a,x,y))

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall l a F G. (((exists dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table. (((F) = (((((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)))) * S ((((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)))) + ((((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)))))) /\ (forall dst_index_signed_prefix_sum_scalar_multiply_construct_graphinput_table. (exists pvs_le_gap_signed_prefix_sum_scalar_multiply_construct_graphinput_tabledomain. pvs_le_gap_signed_prefix_sum_scalar_multiply_construct_graphinput_tabledomain + (dst_index_signed_prefix_sum_scalar_multiply_construct_graphinput_table) = (l)) -> exists dst_positive_signed_prefix_sum_scalar_multiply_construct_graphinput_table dst_negative_signed_prefix_sum_scalar_multiply_construct_graphinput_table dst_value_signed_prefix_sum_scalar_multiply_construct_graphinput_table. ((((exists ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentrypositive. ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentrypositive + S (dst_positive_signed_prefix_sum_scalar_multiply_construct_graphinput_table) = S ((S (dst_index_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) /\ exists ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentrypositive. dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table = ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentrypositive * S ((S (dst_index_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_positive_signed_prefix_sum_scalar_multiply_construct_graphinput_table))) /\ (((((exists ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentrynegative. ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentrynegative + S (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphinput_table) = S ((S (dst_index_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) /\ exists ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentrynegative. dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphinput_table = ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentrynegative * S ((S (dst_index_signed_prefix_sum_scalar_multiply_construct_graphinput_table)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphinput_table))) /\ (exists ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvalue ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvalue. (((((dst_value_signed_prefix_sum_scalar_multiply_construct_graphinput_table) = 2 * (ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvalue) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvalue) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvaluedecode. (((dst_value_signed_prefix_sum_scalar_multiply_construct_graphinput_table) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvaluedecode + 1 /\ (ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvalue) = 0) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvalue) = S ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvaluedecode))) /\ ((dst_positive_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvalue = (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphinput_table) + ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphinput_tableentryvalue))))))))) /\ (((exists dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table. (((G) = (((((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)))) * S ((((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)))) + ((((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)))))) /\ (forall dst_index_signed_prefix_sum_scalar_multiply_construct_graphoutput_table. (exists pvs_le_gap_signed_prefix_sum_scalar_multiply_construct_graphoutput_tabledomain. pvs_le_gap_signed_prefix_sum_scalar_multiply_construct_graphoutput_tabledomain + (dst_index_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) = (l)) -> exists dst_positive_signed_prefix_sum_scalar_multiply_construct_graphoutput_table dst_negative_signed_prefix_sum_scalar_multiply_construct_graphoutput_table dst_value_signed_prefix_sum_scalar_multiply_construct_graphoutput_table. ((((exists ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentrypositive. ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentrypositive + S (dst_positive_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) = S ((S (dst_index_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) /\ exists ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentrypositive. dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table = ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentrypositive * S ((S (dst_index_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_positive_signed_prefix_sum_scalar_multiply_construct_graphoutput_table))) /\ (((((exists ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentrynegative. ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentrynegative + S (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) = S ((S (dst_index_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) /\ exists ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentrynegative. dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphoutput_table = ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentrynegative * S ((S (dst_index_signed_prefix_sum_scalar_multiply_construct_graphoutput_table)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphoutput_table))) /\ (exists ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvalue ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvalue. (((((dst_value_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) = 2 * (ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvalue) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvalue) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvaluedecode. (((dst_value_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvalue) = 0) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvalue) = S ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvaluedecode))) /\ ((dst_positive_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvalue = (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphoutput_table) + ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphoutput_tableentryvalue))))))))) /\ (forall sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries. (exists pvs_gap_signed_prefix_sum_scalar_multiply_construct_graphentriesbound. pvs_gap_signed_prefix_sum_scalar_multiply_construct_graphentriesbound + S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries) = (l)) -> exists sto_input_signed_prefix_sum_scalar_multiply_construct_graphentries sto_output_signed_prefix_sum_scalar_multiply_construct_graphentries. ((exists dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput dst_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput dst_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput. (((F) = (((((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)))) * S ((((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)))) + ((((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)))))) /\ (((((exists ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputpositive. ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputpositive + S (dst_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) = S ((S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) /\ exists ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputpositive. dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput = ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputpositive * S ((S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput))) /\ (((((exists ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputnegative. ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputnegative + S (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) = S ((S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput)) /\ exists ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputnegative. dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput = ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputnegative * S ((S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput))) /\ (exists ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvalue ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvalue. (((((sto_input_signed_prefix_sum_scalar_multiply_construct_graphentries) = 2 * (ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvalue) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvalue) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvaluedecode. (((sto_input_signed_prefix_sum_scalar_multiply_construct_graphentries) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvaluedecode + 1 /\ (ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvalue) = 0) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvalue) = S ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvaluedecode))) /\ ((dst_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvalue = (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinput) + ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryinputvalue))))))))) /\ (((exists dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput dst_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput dst_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput. (((G) = (((((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)))) * S ((((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)))) + ((((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)))))) /\ (((((exists ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputpositive. ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputpositive + S (dst_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) = S ((S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) /\ exists ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputpositive. dst_positive_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput = ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputpositive * S ((S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput))) /\ (((((exists ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputnegative. ff_h_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputnegative + S (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) = S ((S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput)) /\ exists ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputnegative. dst_negative_code_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput = ff_q_pvs_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputnegative * S ((S (sto_index_signed_prefix_sum_scalar_multiply_construct_graphentries)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput))) /\ (exists ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvalue ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvalue. (((((sto_output_signed_prefix_sum_scalar_multiply_construct_graphentries) = 2 * (ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvalue) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvalue) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvaluedecode. (((sto_output_signed_prefix_sum_scalar_multiply_construct_graphentries) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvaluedecode + 1 /\ (ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvalue) = 0) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvalue) = S ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvaluedecode))) /\ ((dst_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + ge_balance_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvalue = (dst_negative_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutput) + ge_balance_positive_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoutputvalue))))))))) /\ (exists sto_ap_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation sto_an_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation sto_bp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation sto_bn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation sto_cp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation sto_cn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation. (((((a) = 2 * (sto_ap_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) /\ (sto_an_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationleft. (((a) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationleft + 1 /\ (sto_ap_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = 0) /\ (sto_an_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = S ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationleft))) /\ ((((((sto_input_signed_prefix_sum_scalar_multiply_construct_graphentries) = 2 * (sto_bp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) /\ (sto_bn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationright. (((sto_input_signed_prefix_sum_scalar_multiply_construct_graphentries) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationright + 1 /\ (sto_bp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = 0) /\ (sto_bn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = S ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationright))) /\ ((((((sto_output_signed_prefix_sum_scalar_multiply_construct_graphentries) = 2 * (sto_cp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) /\ (sto_cn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationoutput. (((sto_output_signed_prefix_sum_scalar_multiply_construct_graphentries) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationoutput + 1 /\ (sto_cp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = 0) /\ (sto_cn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) = S ge_signed_half_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperationoutput))) /\ ((sto_ap_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation * sto_bp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation + sto_an_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation * sto_bn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) + sto_cn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation = (sto_ap_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation * sto_bn_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation + sto_an_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation * sto_bp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation) + sto_cp_signed_prefix_sum_scalar_multiply_construct_graphentriesentryoperation))))))))))))))) -> exists b c. ((exists dst_positive_code_signed_prefix_sum_scalar_multiply_result0 dst_positive_scale_signed_prefix_sum_scalar_multiply_result0 dst_negative_code_signed_prefix_sum_scalar_multiply_result0 dst_negative_scale_signed_prefix_sum_scalar_multiply_result0 dst_positive_sum_signed_prefix_sum_scalar_multiply_result0 dst_negative_sum_signed_prefix_sum_scalar_multiply_result0. (((F) = (((((dst_positive_code_signed_prefix_sum_scalar_multiply_result0) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result0)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_result0) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result0)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_result0) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result0))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)))) * S ((((dst_positive_code_signed_prefix_sum_scalar_multiply_result0) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result0)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_result0) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result0)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_result0) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result0))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)))) + ((((dst_negative_code_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_result0) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)))))) /\ (((exists fs_u_dst_signed_prefix_sum_scalar_multiply_result0positive fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive. ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_start. fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_start + S (0) = S ((S (0)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_start. fs_u_dst_signed_prefix_sum_scalar_multiply_result0positive = fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_start * S ((S (0)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive) + (0))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_terminal. fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_terminal + S (dst_positive_sum_signed_prefix_sum_scalar_multiply_result0) = S ((S (l)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_terminal. fs_u_dst_signed_prefix_sum_scalar_multiply_result0positive = fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_terminal * S ((S (l)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive) + (dst_positive_sum_signed_prefix_sum_scalar_multiply_result0))) /\ forall fs_i_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps. (exists fs_lt_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_bound. fs_lt_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_bound + S fs_i_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps = l) -> exists fs_a_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps fs_r_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps fs_s_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps. ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_summand. fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_summand + S (fs_a_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps) = S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_result0)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_summand. dst_positive_code_signed_prefix_sum_scalar_multiply_result0 = fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_summand * S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_result0) + (fs_a_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_partial. fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_partial + S (fs_r_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps) = S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_partial. fs_u_dst_signed_prefix_sum_scalar_multiply_result0positive = fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_partial * S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive) + (fs_r_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_successor. fs_h_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_successor + S (fs_s_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps) = S ((S (S fs_i_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_successor. fs_u_dst_signed_prefix_sum_scalar_multiply_result0positive = fs_q_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps_successor * S ((S (S fs_i_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0positive) + (fs_s_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps))) /\ fs_s_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps = fs_r_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps + fs_a_dst_signed_prefix_sum_scalar_multiply_result0positive_body_steps)))))) /\ (((exists fs_u_dst_signed_prefix_sum_scalar_multiply_result0negative fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative. ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_start. fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_start + S (0) = S ((S (0)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_start. fs_u_dst_signed_prefix_sum_scalar_multiply_result0negative = fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_start * S ((S (0)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative) + (0))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_terminal. fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_terminal + S (dst_negative_sum_signed_prefix_sum_scalar_multiply_result0) = S ((S (l)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_terminal. fs_u_dst_signed_prefix_sum_scalar_multiply_result0negative = fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_terminal * S ((S (l)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative) + (dst_negative_sum_signed_prefix_sum_scalar_multiply_result0))) /\ forall fs_i_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps. (exists fs_lt_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_bound. fs_lt_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_bound + S fs_i_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps = l) -> exists fs_a_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps fs_r_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps fs_s_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps. ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_summand. fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_summand + S (fs_a_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps) = S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_result0)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_summand. dst_negative_code_signed_prefix_sum_scalar_multiply_result0 = fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_summand * S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_result0) + (fs_a_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_partial. fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_partial + S (fs_r_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps) = S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_partial. fs_u_dst_signed_prefix_sum_scalar_multiply_result0negative = fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_partial * S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative) + (fs_r_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_successor. fs_h_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_successor + S (fs_s_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps) = S ((S (S fs_i_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_successor. fs_u_dst_signed_prefix_sum_scalar_multiply_result0negative = fs_q_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps_successor * S ((S (S fs_i_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result0negative) + (fs_s_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps))) /\ fs_s_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps = fs_r_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps + fs_a_dst_signed_prefix_sum_scalar_multiply_result0negative_body_steps)))))) /\ (exists ge_balance_positive_signed_prefix_sum_scalar_multiply_result0result ge_balance_negative_signed_prefix_sum_scalar_multiply_result0result. (((((b) = 2 * (ge_balance_positive_signed_prefix_sum_scalar_multiply_result0result) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_result0result) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_result0resultdecode. (((b) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_result0resultdecode + 1 /\ (ge_balance_positive_signed_prefix_sum_scalar_multiply_result0result) = 0) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_result0result) = S ge_signed_half_signed_prefix_sum_scalar_multiply_result0resultdecode))) /\ ((dst_positive_sum_signed_prefix_sum_scalar_multiply_result0) + ge_balance_negative_signed_prefix_sum_scalar_multiply_result0result = (dst_negative_sum_signed_prefix_sum_scalar_multiply_result0) + ge_balance_positive_signed_prefix_sum_scalar_multiply_result0result))))))))) /\ (((exists dst_positive_code_signed_prefix_sum_scalar_multiply_result1 dst_positive_scale_signed_prefix_sum_scalar_multiply_result1 dst_negative_code_signed_prefix_sum_scalar_multiply_result1 dst_negative_scale_signed_prefix_sum_scalar_multiply_result1 dst_positive_sum_signed_prefix_sum_scalar_multiply_result1 dst_negative_sum_signed_prefix_sum_scalar_multiply_result1. (((G) = (((((dst_positive_code_signed_prefix_sum_scalar_multiply_result1) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result1)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_result1) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result1)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_result1) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result1))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)))) * S ((((dst_positive_code_signed_prefix_sum_scalar_multiply_result1) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result1)) * S ((dst_positive_code_signed_prefix_sum_scalar_multiply_result1) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result1)) + ((dst_positive_scale_signed_prefix_sum_scalar_multiply_result1) + (dst_positive_scale_signed_prefix_sum_scalar_multiply_result1))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)))) + ((((dst_negative_code_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1))) + (((dst_negative_code_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) * S ((dst_negative_code_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) + ((dst_negative_scale_signed_prefix_sum_scalar_multiply_result1) + (dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)))))) /\ (((exists fs_u_dst_signed_prefix_sum_scalar_multiply_result1positive fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive. ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_start. fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_start + S (0) = S ((S (0)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_start. fs_u_dst_signed_prefix_sum_scalar_multiply_result1positive = fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_start * S ((S (0)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive) + (0))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_terminal. fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_terminal + S (dst_positive_sum_signed_prefix_sum_scalar_multiply_result1) = S ((S (l)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_terminal. fs_u_dst_signed_prefix_sum_scalar_multiply_result1positive = fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_terminal * S ((S (l)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive) + (dst_positive_sum_signed_prefix_sum_scalar_multiply_result1))) /\ forall fs_i_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps. (exists fs_lt_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_bound. fs_lt_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_bound + S fs_i_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps = l) -> exists fs_a_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps fs_r_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps fs_s_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps. ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_summand. fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_summand + S (fs_a_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps) = S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_result1)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_summand. dst_positive_code_signed_prefix_sum_scalar_multiply_result1 = fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_summand * S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps)) * dst_positive_scale_signed_prefix_sum_scalar_multiply_result1) + (fs_a_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_partial. fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_partial + S (fs_r_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps) = S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_partial. fs_u_dst_signed_prefix_sum_scalar_multiply_result1positive = fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_partial * S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive) + (fs_r_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_successor. fs_h_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_successor + S (fs_s_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps) = S ((S (S fs_i_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_successor. fs_u_dst_signed_prefix_sum_scalar_multiply_result1positive = fs_q_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps_successor * S ((S (S fs_i_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1positive) + (fs_s_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps))) /\ fs_s_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps = fs_r_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps + fs_a_dst_signed_prefix_sum_scalar_multiply_result1positive_body_steps)))))) /\ (((exists fs_u_dst_signed_prefix_sum_scalar_multiply_result1negative fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative. ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_start. fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_start + S (0) = S ((S (0)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_start. fs_u_dst_signed_prefix_sum_scalar_multiply_result1negative = fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_start * S ((S (0)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative) + (0))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_terminal. fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_terminal + S (dst_negative_sum_signed_prefix_sum_scalar_multiply_result1) = S ((S (l)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_terminal. fs_u_dst_signed_prefix_sum_scalar_multiply_result1negative = fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_terminal * S ((S (l)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative) + (dst_negative_sum_signed_prefix_sum_scalar_multiply_result1))) /\ forall fs_i_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps. (exists fs_lt_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_bound. fs_lt_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_bound + S fs_i_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps = l) -> exists fs_a_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps fs_r_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps fs_s_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps. ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_summand. fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_summand + S (fs_a_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps) = S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_result1)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_summand. dst_negative_code_signed_prefix_sum_scalar_multiply_result1 = fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_summand * S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps)) * dst_negative_scale_signed_prefix_sum_scalar_multiply_result1) + (fs_a_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_partial. fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_partial + S (fs_r_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps) = S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_partial. fs_u_dst_signed_prefix_sum_scalar_multiply_result1negative = fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_partial * S ((S (fs_i_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative) + (fs_r_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps))) /\ ((((exists fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_successor. fs_h_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_successor + S (fs_s_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps) = S ((S (S fs_i_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative)) /\ exists fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_successor. fs_u_dst_signed_prefix_sum_scalar_multiply_result1negative = fs_q_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps_successor * S ((S (S fs_i_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps)) * fs_v_dst_signed_prefix_sum_scalar_multiply_result1negative) + (fs_s_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps))) /\ fs_s_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps = fs_r_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps + fs_a_dst_signed_prefix_sum_scalar_multiply_result1negative_body_steps)))))) /\ (exists ge_balance_positive_signed_prefix_sum_scalar_multiply_result1result ge_balance_negative_signed_prefix_sum_scalar_multiply_result1result. (((((c) = 2 * (ge_balance_positive_signed_prefix_sum_scalar_multiply_result1result) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_result1result) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_result1resultdecode. (((c) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_result1resultdecode + 1 /\ (ge_balance_positive_signed_prefix_sum_scalar_multiply_result1result) = 0) /\ (ge_balance_negative_signed_prefix_sum_scalar_multiply_result1result) = S ge_signed_half_signed_prefix_sum_scalar_multiply_result1resultdecode))) /\ ((dst_positive_sum_signed_prefix_sum_scalar_multiply_result1) + ge_balance_negative_signed_prefix_sum_scalar_multiply_result1result = (dst_negative_sum_signed_prefix_sum_scalar_multiply_result1) + ge_balance_positive_signed_prefix_sum_scalar_multiply_result1result))))))))) /\ (exists sto_ap_signed_prefix_sum_scalar_multiply_result_operation sto_an_signed_prefix_sum_scalar_multiply_result_operation sto_bp_signed_prefix_sum_scalar_multiply_result_operation sto_bn_signed_prefix_sum_scalar_multiply_result_operation sto_cp_signed_prefix_sum_scalar_multiply_result_operation sto_cn_signed_prefix_sum_scalar_multiply_result_operation. (((((a) = 2 * (sto_ap_signed_prefix_sum_scalar_multiply_result_operation) /\ (sto_an_signed_prefix_sum_scalar_multiply_result_operation) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationleft. (((a) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationleft + 1 /\ (sto_ap_signed_prefix_sum_scalar_multiply_result_operation) = 0) /\ (sto_an_signed_prefix_sum_scalar_multiply_result_operation) = S ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationleft))) /\ ((((((b) = 2 * (sto_bp_signed_prefix_sum_scalar_multiply_result_operation) /\ (sto_bn_signed_prefix_sum_scalar_multiply_result_operation) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationright. (((b) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationright + 1 /\ (sto_bp_signed_prefix_sum_scalar_multiply_result_operation) = 0) /\ (sto_bn_signed_prefix_sum_scalar_multiply_result_operation) = S ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationright))) /\ ((((((c) = 2 * (sto_cp_signed_prefix_sum_scalar_multiply_result_operation) /\ (sto_cn_signed_prefix_sum_scalar_multiply_result_operation) = 0) \/ exists ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationoutput. (((c) = 2 * ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationoutput + 1 /\ (sto_cp_signed_prefix_sum_scalar_multiply_result_operation) = 0) /\ (sto_cn_signed_prefix_sum_scalar_multiply_result_operation) = S ge_signed_half_signed_prefix_sum_scalar_multiply_result_operationoutput))) /\ ((sto_ap_signed_prefix_sum_scalar_multiply_result_operation * sto_bp_signed_prefix_sum_scalar_multiply_result_operation + sto_an_signed_prefix_sum_scalar_multiply_result_operation * sto_bn_signed_prefix_sum_scalar_multiply_result_operation) + sto_cn_signed_prefix_sum_scalar_multiply_result_operation = (sto_ap_signed_prefix_sum_scalar_multiply_result_operation * sto_bn_signed_prefix_sum_scalar_multiply_result_operation + sto_an_signed_prefix_sum_scalar_multiply_result_operation * sto_bp_signed_prefix_sum_scalar_multiply_result_operation) + sto_cp_signed_prefix_sum_scalar_multiply_result_operation))))))))))

Complete tactic proof in conservative notation

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

39 script commands · 15 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

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

  1. L1
    intro l
  2. L2
    intro a
  3. L3
    intro F
  4. L4
    intro G
  5. L5
    intro hpoint
02Establish hs0L6–10

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed sum exists.

  1. L6
    have hs0 : ∃ z. SignedPrefixSum(F,l,z)Definitions: SignedPrefixSum(F,l,z)Original native command in the exact edition
  2. L7
    specialize arithmetic_signed_sum_exists (l)
  3. L8
    specialize arithmetic_signed_sum_exists (F)
  4. L9
    specialize arithmetic_signed_sum_exists (l)
  5. L10
    apply arithmetic_signed_sum_exists
03Separate the logical casesL11–12

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

  1. L11
    cases hpoint
  2. L12
    cases hpoint_right
04Use earlier factsL13–13

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

  1. L13
    exact hpoint_left
05Separate the logical casesL14–14

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

  1. L14
    cases hs0
06Establish hs1L15–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply arithmetic signed sum exists.

  1. L15
    have hs1 : ∃ z. SignedPrefixSum(G,l,z)Definitions: SignedPrefixSum(G,l,z)Original native command in the exact edition
  2. L16
    specialize arithmetic_signed_sum_exists (l)
  3. L17
    specialize arithmetic_signed_sum_exists (G)
  4. L18
    specialize arithmetic_signed_sum_exists (l)
  5. L19
    apply arithmetic_signed_sum_exists
07Separate the logical casesL20–21

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

  1. L20
    cases hpoint
  2. L21
    cases hpoint_right
08Use earlier factsL22–22

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

  1. L22
    exact hpoint_right_left
09Separate the logical casesL23–23

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

  1. L23
    cases hs1
10Construct an explicit witnessL24–25

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

  1. L24
    exists x
  2. L25
    exists x1
11Separate the logical casesL26–26

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

  1. L26
    split
12Use earlier factsL27–27

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

  1. L27
    exact hs0_witness
13Separate the logical casesL28–28

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

  1. L28
    split
14Use earlier factsL29–38

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

  1. L29
    exact hs1_witness
  2. L30
    specialize signed_prefix_sum_scalar_multiply (l)
  3. L31
    specialize signed_prefix_sum_scalar_multiply (a)
  4. L32
    specialize signed_prefix_sum_scalar_multiply (F)
  5. L33
    specialize signed_prefix_sum_scalar_multiply (G)
  6. L34
    specialize signed_prefix_sum_scalar_multiply (x)
  7. L35
    specialize signed_prefix_sum_scalar_multiply (x1)
  8. L36
    apply signed_prefix_sum_scalar_multiply
  9. L37
    exact hpoint
  10. L38
    exact hs0_witness
15Use earlier factsL39–39

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

  1. L39
    exact hs1_witness

Library-wide reading audit

Original defined command ledger · 39 lines
  1. 0001intro l
  2. 0002intro a
  3. 0003intro F
  4. 0004intro G
  5. 0005intro hpoint
  6. 0006have hs0 : ∃ z. SignedPrefixSum(F,l,z)
  7. 0007specialize arithmetic_signed_sum_exists (l)
  8. 0008specialize arithmetic_signed_sum_exists (F)
  9. 0009specialize arithmetic_signed_sum_exists (l)
  10. 0010apply arithmetic_signed_sum_exists
  11. 0011cases hpoint
  12. 0012cases hpoint_right
  13. 0013exact hpoint_left
  14. 0014cases hs0
  15. 0015have hs1 : ∃ z. SignedPrefixSum(G,l,z)
  16. 0016specialize arithmetic_signed_sum_exists (l)
  17. 0017specialize arithmetic_signed_sum_exists (G)
  18. 0018specialize arithmetic_signed_sum_exists (l)
  19. 0019apply arithmetic_signed_sum_exists
  20. 0020cases hpoint
  21. 0021cases hpoint_right
  22. 0022exact hpoint_right_left
  23. 0023cases hs1
  24. 0024exists x
  25. 0025exists x1
  26. 0026split
  27. 0027exact hs0_witness
  28. 0028split
  29. 0029exact hs1_witness
  30. 0030specialize signed_prefix_sum_scalar_multiply (l)
  31. 0031specialize signed_prefix_sum_scalar_multiply (a)
  32. 0032specialize signed_prefix_sum_scalar_multiply (F)
  33. 0033specialize signed_prefix_sum_scalar_multiply (G)
  34. 0034specialize signed_prefix_sum_scalar_multiply (x)
  35. 0035specialize signed_prefix_sum_scalar_multiply (x1)
  36. 0036apply signed_prefix_sum_scalar_multiply
  37. 0037exact hpoint
  38. 0038exact hs0_witness
  39. 0039exact hs1_witness