WS0012

signed_table_multiply_extend

The actual pointwise multiply graph extends across a preserved strict prefix and a genuine new entry, without equating table codes.

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

∀ F. ∀ G. ∀ H. ∀ K. ∀ l. ∀ a. ∀ b. ∀ c. ArithMul(F,G,H,l)ArithTable(l,K)ArithTableEqual(H,K,l)ArithAt(F,l,a)ArithAt(G,l,b)ArithAt(K,l,c)SignedMul(a,b,c)ArithMul(F,G,K,S l)

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

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall F G H K l a b c. (((exists dst_positive_code_multiply_extend_sourceleft_table dst_positive_scale_multiply_extend_sourceleft_table dst_negative_code_multiply_extend_sourceleft_table dst_negative_scale_multiply_extend_sourceleft_table. (((F) = (((((dst_positive_code_multiply_extend_sourceleft_table) + (dst_positive_scale_multiply_extend_sourceleft_table)) * S ((dst_positive_code_multiply_extend_sourceleft_table) + (dst_positive_scale_multiply_extend_sourceleft_table)) + ((dst_positive_scale_multiply_extend_sourceleft_table) + (dst_positive_scale_multiply_extend_sourceleft_table))) + (((dst_negative_code_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)) * S ((dst_negative_code_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)) + ((dst_negative_scale_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)))) * S ((((dst_positive_code_multiply_extend_sourceleft_table) + (dst_positive_scale_multiply_extend_sourceleft_table)) * S ((dst_positive_code_multiply_extend_sourceleft_table) + (dst_positive_scale_multiply_extend_sourceleft_table)) + ((dst_positive_scale_multiply_extend_sourceleft_table) + (dst_positive_scale_multiply_extend_sourceleft_table))) + (((dst_negative_code_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)) * S ((dst_negative_code_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)) + ((dst_negative_scale_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)))) + ((((dst_negative_code_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)) * S ((dst_negative_code_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)) + ((dst_negative_scale_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table))) + (((dst_negative_code_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)) * S ((dst_negative_code_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)) + ((dst_negative_scale_multiply_extend_sourceleft_table) + (dst_negative_scale_multiply_extend_sourceleft_table)))))) /\ (forall dst_index_multiply_extend_sourceleft_table. (exists pvs_le_gap_multiply_extend_sourceleft_tabledomain. pvs_le_gap_multiply_extend_sourceleft_tabledomain + (dst_index_multiply_extend_sourceleft_table) = (l)) -> exists dst_positive_multiply_extend_sourceleft_table dst_negative_multiply_extend_sourceleft_table dst_value_multiply_extend_sourceleft_table. ((((exists ff_h_pvs_multiply_extend_sourceleft_tableentrypositive. ff_h_pvs_multiply_extend_sourceleft_tableentrypositive + S (dst_positive_multiply_extend_sourceleft_table) = S ((S (dst_index_multiply_extend_sourceleft_table)) * dst_positive_scale_multiply_extend_sourceleft_table)) /\ exists ff_q_pvs_multiply_extend_sourceleft_tableentrypositive. dst_positive_code_multiply_extend_sourceleft_table = ff_q_pvs_multiply_extend_sourceleft_tableentrypositive * S ((S (dst_index_multiply_extend_sourceleft_table)) * dst_positive_scale_multiply_extend_sourceleft_table) + (dst_positive_multiply_extend_sourceleft_table))) /\ (((((exists ff_h_pvs_multiply_extend_sourceleft_tableentrynegative. ff_h_pvs_multiply_extend_sourceleft_tableentrynegative + S (dst_negative_multiply_extend_sourceleft_table) = S ((S (dst_index_multiply_extend_sourceleft_table)) * dst_negative_scale_multiply_extend_sourceleft_table)) /\ exists ff_q_pvs_multiply_extend_sourceleft_tableentrynegative. dst_negative_code_multiply_extend_sourceleft_table = ff_q_pvs_multiply_extend_sourceleft_tableentrynegative * S ((S (dst_index_multiply_extend_sourceleft_table)) * dst_negative_scale_multiply_extend_sourceleft_table) + (dst_negative_multiply_extend_sourceleft_table))) /\ (exists ge_balance_positive_multiply_extend_sourceleft_tableentryvalue ge_balance_negative_multiply_extend_sourceleft_tableentryvalue. (((((dst_value_multiply_extend_sourceleft_table) = 2 * (ge_balance_positive_multiply_extend_sourceleft_tableentryvalue) /\ (ge_balance_negative_multiply_extend_sourceleft_tableentryvalue) = 0) \/ exists ge_signed_half_multiply_extend_sourceleft_tableentryvaluedecode. (((dst_value_multiply_extend_sourceleft_table) = 2 * ge_signed_half_multiply_extend_sourceleft_tableentryvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_sourceleft_tableentryvalue) = 0) /\ (ge_balance_negative_multiply_extend_sourceleft_tableentryvalue) = S ge_signed_half_multiply_extend_sourceleft_tableentryvaluedecode))) /\ ((dst_positive_multiply_extend_sourceleft_table) + ge_balance_negative_multiply_extend_sourceleft_tableentryvalue = (dst_negative_multiply_extend_sourceleft_table) + ge_balance_positive_multiply_extend_sourceleft_tableentryvalue))))))))) /\ (((exists dst_positive_code_multiply_extend_sourceright_table dst_positive_scale_multiply_extend_sourceright_table dst_negative_code_multiply_extend_sourceright_table dst_negative_scale_multiply_extend_sourceright_table. (((G) = (((((dst_positive_code_multiply_extend_sourceright_table) + (dst_positive_scale_multiply_extend_sourceright_table)) * S ((dst_positive_code_multiply_extend_sourceright_table) + (dst_positive_scale_multiply_extend_sourceright_table)) + ((dst_positive_scale_multiply_extend_sourceright_table) + (dst_positive_scale_multiply_extend_sourceright_table))) + (((dst_negative_code_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)) * S ((dst_negative_code_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)) + ((dst_negative_scale_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)))) * S ((((dst_positive_code_multiply_extend_sourceright_table) + (dst_positive_scale_multiply_extend_sourceright_table)) * S ((dst_positive_code_multiply_extend_sourceright_table) + (dst_positive_scale_multiply_extend_sourceright_table)) + ((dst_positive_scale_multiply_extend_sourceright_table) + (dst_positive_scale_multiply_extend_sourceright_table))) + (((dst_negative_code_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)) * S ((dst_negative_code_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)) + ((dst_negative_scale_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)))) + ((((dst_negative_code_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)) * S ((dst_negative_code_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)) + ((dst_negative_scale_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table))) + (((dst_negative_code_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)) * S ((dst_negative_code_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)) + ((dst_negative_scale_multiply_extend_sourceright_table) + (dst_negative_scale_multiply_extend_sourceright_table)))))) /\ (forall dst_index_multiply_extend_sourceright_table. (exists pvs_le_gap_multiply_extend_sourceright_tabledomain. pvs_le_gap_multiply_extend_sourceright_tabledomain + (dst_index_multiply_extend_sourceright_table) = (l)) -> exists dst_positive_multiply_extend_sourceright_table dst_negative_multiply_extend_sourceright_table dst_value_multiply_extend_sourceright_table. ((((exists ff_h_pvs_multiply_extend_sourceright_tableentrypositive. ff_h_pvs_multiply_extend_sourceright_tableentrypositive + S (dst_positive_multiply_extend_sourceright_table) = S ((S (dst_index_multiply_extend_sourceright_table)) * dst_positive_scale_multiply_extend_sourceright_table)) /\ exists ff_q_pvs_multiply_extend_sourceright_tableentrypositive. dst_positive_code_multiply_extend_sourceright_table = ff_q_pvs_multiply_extend_sourceright_tableentrypositive * S ((S (dst_index_multiply_extend_sourceright_table)) * dst_positive_scale_multiply_extend_sourceright_table) + (dst_positive_multiply_extend_sourceright_table))) /\ (((((exists ff_h_pvs_multiply_extend_sourceright_tableentrynegative. ff_h_pvs_multiply_extend_sourceright_tableentrynegative + S (dst_negative_multiply_extend_sourceright_table) = S ((S (dst_index_multiply_extend_sourceright_table)) * dst_negative_scale_multiply_extend_sourceright_table)) /\ exists ff_q_pvs_multiply_extend_sourceright_tableentrynegative. dst_negative_code_multiply_extend_sourceright_table = ff_q_pvs_multiply_extend_sourceright_tableentrynegative * S ((S (dst_index_multiply_extend_sourceright_table)) * dst_negative_scale_multiply_extend_sourceright_table) + (dst_negative_multiply_extend_sourceright_table))) /\ (exists ge_balance_positive_multiply_extend_sourceright_tableentryvalue ge_balance_negative_multiply_extend_sourceright_tableentryvalue. (((((dst_value_multiply_extend_sourceright_table) = 2 * (ge_balance_positive_multiply_extend_sourceright_tableentryvalue) /\ (ge_balance_negative_multiply_extend_sourceright_tableentryvalue) = 0) \/ exists ge_signed_half_multiply_extend_sourceright_tableentryvaluedecode. (((dst_value_multiply_extend_sourceright_table) = 2 * ge_signed_half_multiply_extend_sourceright_tableentryvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_sourceright_tableentryvalue) = 0) /\ (ge_balance_negative_multiply_extend_sourceright_tableentryvalue) = S ge_signed_half_multiply_extend_sourceright_tableentryvaluedecode))) /\ ((dst_positive_multiply_extend_sourceright_table) + ge_balance_negative_multiply_extend_sourceright_tableentryvalue = (dst_negative_multiply_extend_sourceright_table) + ge_balance_positive_multiply_extend_sourceright_tableentryvalue))))))))) /\ (((exists dst_positive_code_multiply_extend_sourceoutput_table dst_positive_scale_multiply_extend_sourceoutput_table dst_negative_code_multiply_extend_sourceoutput_table dst_negative_scale_multiply_extend_sourceoutput_table. (((H) = (((((dst_positive_code_multiply_extend_sourceoutput_table) + (dst_positive_scale_multiply_extend_sourceoutput_table)) * S ((dst_positive_code_multiply_extend_sourceoutput_table) + (dst_positive_scale_multiply_extend_sourceoutput_table)) + ((dst_positive_scale_multiply_extend_sourceoutput_table) + (dst_positive_scale_multiply_extend_sourceoutput_table))) + (((dst_negative_code_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)) * S ((dst_negative_code_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)) + ((dst_negative_scale_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)))) * S ((((dst_positive_code_multiply_extend_sourceoutput_table) + (dst_positive_scale_multiply_extend_sourceoutput_table)) * S ((dst_positive_code_multiply_extend_sourceoutput_table) + (dst_positive_scale_multiply_extend_sourceoutput_table)) + ((dst_positive_scale_multiply_extend_sourceoutput_table) + (dst_positive_scale_multiply_extend_sourceoutput_table))) + (((dst_negative_code_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)) * S ((dst_negative_code_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)) + ((dst_negative_scale_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)))) + ((((dst_negative_code_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)) * S ((dst_negative_code_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)) + ((dst_negative_scale_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table))) + (((dst_negative_code_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)) * S ((dst_negative_code_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)) + ((dst_negative_scale_multiply_extend_sourceoutput_table) + (dst_negative_scale_multiply_extend_sourceoutput_table)))))) /\ (forall dst_index_multiply_extend_sourceoutput_table. (exists pvs_le_gap_multiply_extend_sourceoutput_tabledomain. pvs_le_gap_multiply_extend_sourceoutput_tabledomain + (dst_index_multiply_extend_sourceoutput_table) = (l)) -> exists dst_positive_multiply_extend_sourceoutput_table dst_negative_multiply_extend_sourceoutput_table dst_value_multiply_extend_sourceoutput_table. ((((exists ff_h_pvs_multiply_extend_sourceoutput_tableentrypositive. ff_h_pvs_multiply_extend_sourceoutput_tableentrypositive + S (dst_positive_multiply_extend_sourceoutput_table) = S ((S (dst_index_multiply_extend_sourceoutput_table)) * dst_positive_scale_multiply_extend_sourceoutput_table)) /\ exists ff_q_pvs_multiply_extend_sourceoutput_tableentrypositive. dst_positive_code_multiply_extend_sourceoutput_table = ff_q_pvs_multiply_extend_sourceoutput_tableentrypositive * S ((S (dst_index_multiply_extend_sourceoutput_table)) * dst_positive_scale_multiply_extend_sourceoutput_table) + (dst_positive_multiply_extend_sourceoutput_table))) /\ (((((exists ff_h_pvs_multiply_extend_sourceoutput_tableentrynegative. ff_h_pvs_multiply_extend_sourceoutput_tableentrynegative + S (dst_negative_multiply_extend_sourceoutput_table) = S ((S (dst_index_multiply_extend_sourceoutput_table)) * dst_negative_scale_multiply_extend_sourceoutput_table)) /\ exists ff_q_pvs_multiply_extend_sourceoutput_tableentrynegative. dst_negative_code_multiply_extend_sourceoutput_table = ff_q_pvs_multiply_extend_sourceoutput_tableentrynegative * S ((S (dst_index_multiply_extend_sourceoutput_table)) * dst_negative_scale_multiply_extend_sourceoutput_table) + (dst_negative_multiply_extend_sourceoutput_table))) /\ (exists ge_balance_positive_multiply_extend_sourceoutput_tableentryvalue ge_balance_negative_multiply_extend_sourceoutput_tableentryvalue. (((((dst_value_multiply_extend_sourceoutput_table) = 2 * (ge_balance_positive_multiply_extend_sourceoutput_tableentryvalue) /\ (ge_balance_negative_multiply_extend_sourceoutput_tableentryvalue) = 0) \/ exists ge_signed_half_multiply_extend_sourceoutput_tableentryvaluedecode. (((dst_value_multiply_extend_sourceoutput_table) = 2 * ge_signed_half_multiply_extend_sourceoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_sourceoutput_tableentryvalue) = 0) /\ (ge_balance_negative_multiply_extend_sourceoutput_tableentryvalue) = S ge_signed_half_multiply_extend_sourceoutput_tableentryvaluedecode))) /\ ((dst_positive_multiply_extend_sourceoutput_table) + ge_balance_negative_multiply_extend_sourceoutput_tableentryvalue = (dst_negative_multiply_extend_sourceoutput_table) + ge_balance_positive_multiply_extend_sourceoutput_tableentryvalue))))))))) /\ (forall sto_index_multiply_extend_sourceentries. (exists pvs_gap_multiply_extend_sourceentriesbound. pvs_gap_multiply_extend_sourceentriesbound + S (sto_index_multiply_extend_sourceentries) = (l)) -> exists sto_left_multiply_extend_sourceentries sto_right_multiply_extend_sourceentries sto_output_multiply_extend_sourceentries. ((exists dst_positive_code_multiply_extend_sourceentriesentryleft dst_positive_scale_multiply_extend_sourceentriesentryleft dst_negative_code_multiply_extend_sourceentriesentryleft dst_negative_scale_multiply_extend_sourceentriesentryleft dst_positive_multiply_extend_sourceentriesentryleft dst_negative_multiply_extend_sourceentriesentryleft. (((F) = (((((dst_positive_code_multiply_extend_sourceentriesentryleft) + (dst_positive_scale_multiply_extend_sourceentriesentryleft)) * S ((dst_positive_code_multiply_extend_sourceentriesentryleft) + (dst_positive_scale_multiply_extend_sourceentriesentryleft)) + ((dst_positive_scale_multiply_extend_sourceentriesentryleft) + (dst_positive_scale_multiply_extend_sourceentriesentryleft))) + (((dst_negative_code_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)) * S ((dst_negative_code_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)) + ((dst_negative_scale_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)))) * S ((((dst_positive_code_multiply_extend_sourceentriesentryleft) + (dst_positive_scale_multiply_extend_sourceentriesentryleft)) * S ((dst_positive_code_multiply_extend_sourceentriesentryleft) + (dst_positive_scale_multiply_extend_sourceentriesentryleft)) + ((dst_positive_scale_multiply_extend_sourceentriesentryleft) + (dst_positive_scale_multiply_extend_sourceentriesentryleft))) + (((dst_negative_code_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)) * S ((dst_negative_code_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)) + ((dst_negative_scale_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)))) + ((((dst_negative_code_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)) * S ((dst_negative_code_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)) + ((dst_negative_scale_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft))) + (((dst_negative_code_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)) * S ((dst_negative_code_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)) + ((dst_negative_scale_multiply_extend_sourceentriesentryleft) + (dst_negative_scale_multiply_extend_sourceentriesentryleft)))))) /\ (((((exists ff_h_pvs_multiply_extend_sourceentriesentryleftpositive. ff_h_pvs_multiply_extend_sourceentriesentryleftpositive + S (dst_positive_multiply_extend_sourceentriesentryleft) = S ((S (sto_index_multiply_extend_sourceentries)) * dst_positive_scale_multiply_extend_sourceentriesentryleft)) /\ exists ff_q_pvs_multiply_extend_sourceentriesentryleftpositive. dst_positive_code_multiply_extend_sourceentriesentryleft = ff_q_pvs_multiply_extend_sourceentriesentryleftpositive * S ((S (sto_index_multiply_extend_sourceentries)) * dst_positive_scale_multiply_extend_sourceentriesentryleft) + (dst_positive_multiply_extend_sourceentriesentryleft))) /\ (((((exists ff_h_pvs_multiply_extend_sourceentriesentryleftnegative. ff_h_pvs_multiply_extend_sourceentriesentryleftnegative + S (dst_negative_multiply_extend_sourceentriesentryleft) = S ((S (sto_index_multiply_extend_sourceentries)) * dst_negative_scale_multiply_extend_sourceentriesentryleft)) /\ exists ff_q_pvs_multiply_extend_sourceentriesentryleftnegative. dst_negative_code_multiply_extend_sourceentriesentryleft = ff_q_pvs_multiply_extend_sourceentriesentryleftnegative * S ((S (sto_index_multiply_extend_sourceentries)) * dst_negative_scale_multiply_extend_sourceentriesentryleft) + (dst_negative_multiply_extend_sourceentriesentryleft))) /\ (exists ge_balance_positive_multiply_extend_sourceentriesentryleftvalue ge_balance_negative_multiply_extend_sourceentriesentryleftvalue. (((((sto_left_multiply_extend_sourceentries) = 2 * (ge_balance_positive_multiply_extend_sourceentriesentryleftvalue) /\ (ge_balance_negative_multiply_extend_sourceentriesentryleftvalue) = 0) \/ exists ge_signed_half_multiply_extend_sourceentriesentryleftvaluedecode. (((sto_left_multiply_extend_sourceentries) = 2 * ge_signed_half_multiply_extend_sourceentriesentryleftvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_sourceentriesentryleftvalue) = 0) /\ (ge_balance_negative_multiply_extend_sourceentriesentryleftvalue) = S ge_signed_half_multiply_extend_sourceentriesentryleftvaluedecode))) /\ ((dst_positive_multiply_extend_sourceentriesentryleft) + ge_balance_negative_multiply_extend_sourceentriesentryleftvalue = (dst_negative_multiply_extend_sourceentriesentryleft) + ge_balance_positive_multiply_extend_sourceentriesentryleftvalue))))))))) /\ (((exists dst_positive_code_multiply_extend_sourceentriesentryright dst_positive_scale_multiply_extend_sourceentriesentryright dst_negative_code_multiply_extend_sourceentriesentryright dst_negative_scale_multiply_extend_sourceentriesentryright dst_positive_multiply_extend_sourceentriesentryright dst_negative_multiply_extend_sourceentriesentryright. (((G) = (((((dst_positive_code_multiply_extend_sourceentriesentryright) + (dst_positive_scale_multiply_extend_sourceentriesentryright)) * S ((dst_positive_code_multiply_extend_sourceentriesentryright) + (dst_positive_scale_multiply_extend_sourceentriesentryright)) + ((dst_positive_scale_multiply_extend_sourceentriesentryright) + (dst_positive_scale_multiply_extend_sourceentriesentryright))) + (((dst_negative_code_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)) * S ((dst_negative_code_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)) + ((dst_negative_scale_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)))) * S ((((dst_positive_code_multiply_extend_sourceentriesentryright) + (dst_positive_scale_multiply_extend_sourceentriesentryright)) * S ((dst_positive_code_multiply_extend_sourceentriesentryright) + (dst_positive_scale_multiply_extend_sourceentriesentryright)) + ((dst_positive_scale_multiply_extend_sourceentriesentryright) + (dst_positive_scale_multiply_extend_sourceentriesentryright))) + (((dst_negative_code_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)) * S ((dst_negative_code_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)) + ((dst_negative_scale_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)))) + ((((dst_negative_code_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)) * S ((dst_negative_code_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)) + ((dst_negative_scale_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright))) + (((dst_negative_code_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)) * S ((dst_negative_code_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)) + ((dst_negative_scale_multiply_extend_sourceentriesentryright) + (dst_negative_scale_multiply_extend_sourceentriesentryright)))))) /\ (((((exists ff_h_pvs_multiply_extend_sourceentriesentryrightpositive. ff_h_pvs_multiply_extend_sourceentriesentryrightpositive + S (dst_positive_multiply_extend_sourceentriesentryright) = S ((S (sto_index_multiply_extend_sourceentries)) * dst_positive_scale_multiply_extend_sourceentriesentryright)) /\ exists ff_q_pvs_multiply_extend_sourceentriesentryrightpositive. dst_positive_code_multiply_extend_sourceentriesentryright = ff_q_pvs_multiply_extend_sourceentriesentryrightpositive * S ((S (sto_index_multiply_extend_sourceentries)) * dst_positive_scale_multiply_extend_sourceentriesentryright) + (dst_positive_multiply_extend_sourceentriesentryright))) /\ (((((exists ff_h_pvs_multiply_extend_sourceentriesentryrightnegative. ff_h_pvs_multiply_extend_sourceentriesentryrightnegative + S (dst_negative_multiply_extend_sourceentriesentryright) = S ((S (sto_index_multiply_extend_sourceentries)) * dst_negative_scale_multiply_extend_sourceentriesentryright)) /\ exists ff_q_pvs_multiply_extend_sourceentriesentryrightnegative. dst_negative_code_multiply_extend_sourceentriesentryright = ff_q_pvs_multiply_extend_sourceentriesentryrightnegative * S ((S (sto_index_multiply_extend_sourceentries)) * dst_negative_scale_multiply_extend_sourceentriesentryright) + (dst_negative_multiply_extend_sourceentriesentryright))) /\ (exists ge_balance_positive_multiply_extend_sourceentriesentryrightvalue ge_balance_negative_multiply_extend_sourceentriesentryrightvalue. (((((sto_right_multiply_extend_sourceentries) = 2 * (ge_balance_positive_multiply_extend_sourceentriesentryrightvalue) /\ (ge_balance_negative_multiply_extend_sourceentriesentryrightvalue) = 0) \/ exists ge_signed_half_multiply_extend_sourceentriesentryrightvaluedecode. (((sto_right_multiply_extend_sourceentries) = 2 * ge_signed_half_multiply_extend_sourceentriesentryrightvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_sourceentriesentryrightvalue) = 0) /\ (ge_balance_negative_multiply_extend_sourceentriesentryrightvalue) = S ge_signed_half_multiply_extend_sourceentriesentryrightvaluedecode))) /\ ((dst_positive_multiply_extend_sourceentriesentryright) + ge_balance_negative_multiply_extend_sourceentriesentryrightvalue = (dst_negative_multiply_extend_sourceentriesentryright) + ge_balance_positive_multiply_extend_sourceentriesentryrightvalue))))))))) /\ (((exists dst_positive_code_multiply_extend_sourceentriesentryoutput dst_positive_scale_multiply_extend_sourceentriesentryoutput dst_negative_code_multiply_extend_sourceentriesentryoutput dst_negative_scale_multiply_extend_sourceentriesentryoutput dst_positive_multiply_extend_sourceentriesentryoutput dst_negative_multiply_extend_sourceentriesentryoutput. (((H) = (((((dst_positive_code_multiply_extend_sourceentriesentryoutput) + (dst_positive_scale_multiply_extend_sourceentriesentryoutput)) * S ((dst_positive_code_multiply_extend_sourceentriesentryoutput) + (dst_positive_scale_multiply_extend_sourceentriesentryoutput)) + ((dst_positive_scale_multiply_extend_sourceentriesentryoutput) + (dst_positive_scale_multiply_extend_sourceentriesentryoutput))) + (((dst_negative_code_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)) * S ((dst_negative_code_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)) + ((dst_negative_scale_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)))) * S ((((dst_positive_code_multiply_extend_sourceentriesentryoutput) + (dst_positive_scale_multiply_extend_sourceentriesentryoutput)) * S ((dst_positive_code_multiply_extend_sourceentriesentryoutput) + (dst_positive_scale_multiply_extend_sourceentriesentryoutput)) + ((dst_positive_scale_multiply_extend_sourceentriesentryoutput) + (dst_positive_scale_multiply_extend_sourceentriesentryoutput))) + (((dst_negative_code_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)) * S ((dst_negative_code_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)) + ((dst_negative_scale_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)))) + ((((dst_negative_code_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)) * S ((dst_negative_code_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)) + ((dst_negative_scale_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput))) + (((dst_negative_code_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)) * S ((dst_negative_code_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)) + ((dst_negative_scale_multiply_extend_sourceentriesentryoutput) + (dst_negative_scale_multiply_extend_sourceentriesentryoutput)))))) /\ (((((exists ff_h_pvs_multiply_extend_sourceentriesentryoutputpositive. ff_h_pvs_multiply_extend_sourceentriesentryoutputpositive + S (dst_positive_multiply_extend_sourceentriesentryoutput) = S ((S (sto_index_multiply_extend_sourceentries)) * dst_positive_scale_multiply_extend_sourceentriesentryoutput)) /\ exists ff_q_pvs_multiply_extend_sourceentriesentryoutputpositive. dst_positive_code_multiply_extend_sourceentriesentryoutput = ff_q_pvs_multiply_extend_sourceentriesentryoutputpositive * S ((S (sto_index_multiply_extend_sourceentries)) * dst_positive_scale_multiply_extend_sourceentriesentryoutput) + (dst_positive_multiply_extend_sourceentriesentryoutput))) /\ (((((exists ff_h_pvs_multiply_extend_sourceentriesentryoutputnegative. ff_h_pvs_multiply_extend_sourceentriesentryoutputnegative + S (dst_negative_multiply_extend_sourceentriesentryoutput) = S ((S (sto_index_multiply_extend_sourceentries)) * dst_negative_scale_multiply_extend_sourceentriesentryoutput)) /\ exists ff_q_pvs_multiply_extend_sourceentriesentryoutputnegative. dst_negative_code_multiply_extend_sourceentriesentryoutput = ff_q_pvs_multiply_extend_sourceentriesentryoutputnegative * S ((S (sto_index_multiply_extend_sourceentries)) * dst_negative_scale_multiply_extend_sourceentriesentryoutput) + (dst_negative_multiply_extend_sourceentriesentryoutput))) /\ (exists ge_balance_positive_multiply_extend_sourceentriesentryoutputvalue ge_balance_negative_multiply_extend_sourceentriesentryoutputvalue. (((((sto_output_multiply_extend_sourceentries) = 2 * (ge_balance_positive_multiply_extend_sourceentriesentryoutputvalue) /\ (ge_balance_negative_multiply_extend_sourceentriesentryoutputvalue) = 0) \/ exists ge_signed_half_multiply_extend_sourceentriesentryoutputvaluedecode. (((sto_output_multiply_extend_sourceentries) = 2 * ge_signed_half_multiply_extend_sourceentriesentryoutputvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_sourceentriesentryoutputvalue) = 0) /\ (ge_balance_negative_multiply_extend_sourceentriesentryoutputvalue) = S ge_signed_half_multiply_extend_sourceentriesentryoutputvaluedecode))) /\ ((dst_positive_multiply_extend_sourceentriesentryoutput) + ge_balance_negative_multiply_extend_sourceentriesentryoutputvalue = (dst_negative_multiply_extend_sourceentriesentryoutput) + ge_balance_positive_multiply_extend_sourceentriesentryoutputvalue))))))))) /\ (exists sto_ap_multiply_extend_sourceentriesentryoperation sto_an_multiply_extend_sourceentriesentryoperation sto_bp_multiply_extend_sourceentriesentryoperation sto_bn_multiply_extend_sourceentriesentryoperation sto_cp_multiply_extend_sourceentriesentryoperation sto_cn_multiply_extend_sourceentriesentryoperation. (((((sto_left_multiply_extend_sourceentries) = 2 * (sto_ap_multiply_extend_sourceentriesentryoperation) /\ (sto_an_multiply_extend_sourceentriesentryoperation) = 0) \/ exists ge_signed_half_multiply_extend_sourceentriesentryoperationleft. (((sto_left_multiply_extend_sourceentries) = 2 * ge_signed_half_multiply_extend_sourceentriesentryoperationleft + 1 /\ (sto_ap_multiply_extend_sourceentriesentryoperation) = 0) /\ (sto_an_multiply_extend_sourceentriesentryoperation) = S ge_signed_half_multiply_extend_sourceentriesentryoperationleft))) /\ ((((((sto_right_multiply_extend_sourceentries) = 2 * (sto_bp_multiply_extend_sourceentriesentryoperation) /\ (sto_bn_multiply_extend_sourceentriesentryoperation) = 0) \/ exists ge_signed_half_multiply_extend_sourceentriesentryoperationright. (((sto_right_multiply_extend_sourceentries) = 2 * ge_signed_half_multiply_extend_sourceentriesentryoperationright + 1 /\ (sto_bp_multiply_extend_sourceentriesentryoperation) = 0) /\ (sto_bn_multiply_extend_sourceentriesentryoperation) = S ge_signed_half_multiply_extend_sourceentriesentryoperationright))) /\ ((((((sto_output_multiply_extend_sourceentries) = 2 * (sto_cp_multiply_extend_sourceentriesentryoperation) /\ (sto_cn_multiply_extend_sourceentriesentryoperation) = 0) \/ exists ge_signed_half_multiply_extend_sourceentriesentryoperationoutput. (((sto_output_multiply_extend_sourceentries) = 2 * ge_signed_half_multiply_extend_sourceentriesentryoperationoutput + 1 /\ (sto_cp_multiply_extend_sourceentriesentryoperation) = 0) /\ (sto_cn_multiply_extend_sourceentriesentryoperation) = S ge_signed_half_multiply_extend_sourceentriesentryoperationoutput))) /\ ((sto_ap_multiply_extend_sourceentriesentryoperation * sto_bp_multiply_extend_sourceentriesentryoperation + sto_an_multiply_extend_sourceentriesentryoperation * sto_bn_multiply_extend_sourceentriesentryoperation) + sto_cn_multiply_extend_sourceentriesentryoperation = (sto_ap_multiply_extend_sourceentriesentryoperation * sto_bn_multiply_extend_sourceentriesentryoperation + sto_an_multiply_extend_sourceentriesentryoperation * sto_bp_multiply_extend_sourceentriesentryoperation) + sto_cp_multiply_extend_sourceentriesentryoperation))))))))))))))))))) -> (exists dst_positive_code_multiply_extend_table dst_positive_scale_multiply_extend_table dst_negative_code_multiply_extend_table dst_negative_scale_multiply_extend_table. (((K) = (((((dst_positive_code_multiply_extend_table) + (dst_positive_scale_multiply_extend_table)) * S ((dst_positive_code_multiply_extend_table) + (dst_positive_scale_multiply_extend_table)) + ((dst_positive_scale_multiply_extend_table) + (dst_positive_scale_multiply_extend_table))) + (((dst_negative_code_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)) * S ((dst_negative_code_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)) + ((dst_negative_scale_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)))) * S ((((dst_positive_code_multiply_extend_table) + (dst_positive_scale_multiply_extend_table)) * S ((dst_positive_code_multiply_extend_table) + (dst_positive_scale_multiply_extend_table)) + ((dst_positive_scale_multiply_extend_table) + (dst_positive_scale_multiply_extend_table))) + (((dst_negative_code_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)) * S ((dst_negative_code_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)) + ((dst_negative_scale_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)))) + ((((dst_negative_code_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)) * S ((dst_negative_code_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)) + ((dst_negative_scale_multiply_extend_table) + (dst_negative_scale_multiply_extend_table))) + (((dst_negative_code_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)) * S ((dst_negative_code_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)) + ((dst_negative_scale_multiply_extend_table) + (dst_negative_scale_multiply_extend_table)))))) /\ (forall dst_index_multiply_extend_table. (exists pvs_le_gap_multiply_extend_tabledomain. pvs_le_gap_multiply_extend_tabledomain + (dst_index_multiply_extend_table) = (l)) -> exists dst_positive_multiply_extend_table dst_negative_multiply_extend_table dst_value_multiply_extend_table. ((((exists ff_h_pvs_multiply_extend_tableentrypositive. ff_h_pvs_multiply_extend_tableentrypositive + S (dst_positive_multiply_extend_table) = S ((S (dst_index_multiply_extend_table)) * dst_positive_scale_multiply_extend_table)) /\ exists ff_q_pvs_multiply_extend_tableentrypositive. dst_positive_code_multiply_extend_table = ff_q_pvs_multiply_extend_tableentrypositive * S ((S (dst_index_multiply_extend_table)) * dst_positive_scale_multiply_extend_table) + (dst_positive_multiply_extend_table))) /\ (((((exists ff_h_pvs_multiply_extend_tableentrynegative. ff_h_pvs_multiply_extend_tableentrynegative + S (dst_negative_multiply_extend_table) = S ((S (dst_index_multiply_extend_table)) * dst_negative_scale_multiply_extend_table)) /\ exists ff_q_pvs_multiply_extend_tableentrynegative. dst_negative_code_multiply_extend_table = ff_q_pvs_multiply_extend_tableentrynegative * S ((S (dst_index_multiply_extend_table)) * dst_negative_scale_multiply_extend_table) + (dst_negative_multiply_extend_table))) /\ (exists ge_balance_positive_multiply_extend_tableentryvalue ge_balance_negative_multiply_extend_tableentryvalue. (((((dst_value_multiply_extend_table) = 2 * (ge_balance_positive_multiply_extend_tableentryvalue) /\ (ge_balance_negative_multiply_extend_tableentryvalue) = 0) \/ exists ge_signed_half_multiply_extend_tableentryvaluedecode. (((dst_value_multiply_extend_table) = 2 * ge_signed_half_multiply_extend_tableentryvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_tableentryvalue) = 0) /\ (ge_balance_negative_multiply_extend_tableentryvalue) = S ge_signed_half_multiply_extend_tableentryvaluedecode))) /\ ((dst_positive_multiply_extend_table) + ge_balance_negative_multiply_extend_tableentryvalue = (dst_negative_multiply_extend_table) + ge_balance_positive_multiply_extend_tableentryvalue))))))))) -> (forall dst_index_multiply_extend_preservation dst_first_multiply_extend_preservation dst_second_multiply_extend_preservation. (exists pvs_gap_multiply_extend_preservationbound. pvs_gap_multiply_extend_preservationbound + S (dst_index_multiply_extend_preservation) = (l)) -> (exists dst_positive_code_multiply_extend_preservationfirst dst_positive_scale_multiply_extend_preservationfirst dst_negative_code_multiply_extend_preservationfirst dst_negative_scale_multiply_extend_preservationfirst dst_positive_multiply_extend_preservationfirst dst_negative_multiply_extend_preservationfirst. (((H) = (((((dst_positive_code_multiply_extend_preservationfirst) + (dst_positive_scale_multiply_extend_preservationfirst)) * S ((dst_positive_code_multiply_extend_preservationfirst) + (dst_positive_scale_multiply_extend_preservationfirst)) + ((dst_positive_scale_multiply_extend_preservationfirst) + (dst_positive_scale_multiply_extend_preservationfirst))) + (((dst_negative_code_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)) * S ((dst_negative_code_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)) + ((dst_negative_scale_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)))) * S ((((dst_positive_code_multiply_extend_preservationfirst) + (dst_positive_scale_multiply_extend_preservationfirst)) * S ((dst_positive_code_multiply_extend_preservationfirst) + (dst_positive_scale_multiply_extend_preservationfirst)) + ((dst_positive_scale_multiply_extend_preservationfirst) + (dst_positive_scale_multiply_extend_preservationfirst))) + (((dst_negative_code_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)) * S ((dst_negative_code_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)) + ((dst_negative_scale_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)))) + ((((dst_negative_code_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)) * S ((dst_negative_code_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)) + ((dst_negative_scale_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst))) + (((dst_negative_code_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)) * S ((dst_negative_code_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)) + ((dst_negative_scale_multiply_extend_preservationfirst) + (dst_negative_scale_multiply_extend_preservationfirst)))))) /\ (((((exists ff_h_pvs_multiply_extend_preservationfirstpositive. ff_h_pvs_multiply_extend_preservationfirstpositive + S (dst_positive_multiply_extend_preservationfirst) = S ((S (dst_index_multiply_extend_preservation)) * dst_positive_scale_multiply_extend_preservationfirst)) /\ exists ff_q_pvs_multiply_extend_preservationfirstpositive. dst_positive_code_multiply_extend_preservationfirst = ff_q_pvs_multiply_extend_preservationfirstpositive * S ((S (dst_index_multiply_extend_preservation)) * dst_positive_scale_multiply_extend_preservationfirst) + (dst_positive_multiply_extend_preservationfirst))) /\ (((((exists ff_h_pvs_multiply_extend_preservationfirstnegative. ff_h_pvs_multiply_extend_preservationfirstnegative + S (dst_negative_multiply_extend_preservationfirst) = S ((S (dst_index_multiply_extend_preservation)) * dst_negative_scale_multiply_extend_preservationfirst)) /\ exists ff_q_pvs_multiply_extend_preservationfirstnegative. dst_negative_code_multiply_extend_preservationfirst = ff_q_pvs_multiply_extend_preservationfirstnegative * S ((S (dst_index_multiply_extend_preservation)) * dst_negative_scale_multiply_extend_preservationfirst) + (dst_negative_multiply_extend_preservationfirst))) /\ (exists ge_balance_positive_multiply_extend_preservationfirstvalue ge_balance_negative_multiply_extend_preservationfirstvalue. (((((dst_first_multiply_extend_preservation) = 2 * (ge_balance_positive_multiply_extend_preservationfirstvalue) /\ (ge_balance_negative_multiply_extend_preservationfirstvalue) = 0) \/ exists ge_signed_half_multiply_extend_preservationfirstvaluedecode. (((dst_first_multiply_extend_preservation) = 2 * ge_signed_half_multiply_extend_preservationfirstvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_preservationfirstvalue) = 0) /\ (ge_balance_negative_multiply_extend_preservationfirstvalue) = S ge_signed_half_multiply_extend_preservationfirstvaluedecode))) /\ ((dst_positive_multiply_extend_preservationfirst) + ge_balance_negative_multiply_extend_preservationfirstvalue = (dst_negative_multiply_extend_preservationfirst) + ge_balance_positive_multiply_extend_preservationfirstvalue))))))))) -> (exists dst_positive_code_multiply_extend_preservationsecond dst_positive_scale_multiply_extend_preservationsecond dst_negative_code_multiply_extend_preservationsecond dst_negative_scale_multiply_extend_preservationsecond dst_positive_multiply_extend_preservationsecond dst_negative_multiply_extend_preservationsecond. (((K) = (((((dst_positive_code_multiply_extend_preservationsecond) + (dst_positive_scale_multiply_extend_preservationsecond)) * S ((dst_positive_code_multiply_extend_preservationsecond) + (dst_positive_scale_multiply_extend_preservationsecond)) + ((dst_positive_scale_multiply_extend_preservationsecond) + (dst_positive_scale_multiply_extend_preservationsecond))) + (((dst_negative_code_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)) * S ((dst_negative_code_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)) + ((dst_negative_scale_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)))) * S ((((dst_positive_code_multiply_extend_preservationsecond) + (dst_positive_scale_multiply_extend_preservationsecond)) * S ((dst_positive_code_multiply_extend_preservationsecond) + (dst_positive_scale_multiply_extend_preservationsecond)) + ((dst_positive_scale_multiply_extend_preservationsecond) + (dst_positive_scale_multiply_extend_preservationsecond))) + (((dst_negative_code_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)) * S ((dst_negative_code_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)) + ((dst_negative_scale_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)))) + ((((dst_negative_code_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)) * S ((dst_negative_code_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)) + ((dst_negative_scale_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond))) + (((dst_negative_code_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)) * S ((dst_negative_code_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)) + ((dst_negative_scale_multiply_extend_preservationsecond) + (dst_negative_scale_multiply_extend_preservationsecond)))))) /\ (((((exists ff_h_pvs_multiply_extend_preservationsecondpositive. ff_h_pvs_multiply_extend_preservationsecondpositive + S (dst_positive_multiply_extend_preservationsecond) = S ((S (dst_index_multiply_extend_preservation)) * dst_positive_scale_multiply_extend_preservationsecond)) /\ exists ff_q_pvs_multiply_extend_preservationsecondpositive. dst_positive_code_multiply_extend_preservationsecond = ff_q_pvs_multiply_extend_preservationsecondpositive * S ((S (dst_index_multiply_extend_preservation)) * dst_positive_scale_multiply_extend_preservationsecond) + (dst_positive_multiply_extend_preservationsecond))) /\ (((((exists ff_h_pvs_multiply_extend_preservationsecondnegative. ff_h_pvs_multiply_extend_preservationsecondnegative + S (dst_negative_multiply_extend_preservationsecond) = S ((S (dst_index_multiply_extend_preservation)) * dst_negative_scale_multiply_extend_preservationsecond)) /\ exists ff_q_pvs_multiply_extend_preservationsecondnegative. dst_negative_code_multiply_extend_preservationsecond = ff_q_pvs_multiply_extend_preservationsecondnegative * S ((S (dst_index_multiply_extend_preservation)) * dst_negative_scale_multiply_extend_preservationsecond) + (dst_negative_multiply_extend_preservationsecond))) /\ (exists ge_balance_positive_multiply_extend_preservationsecondvalue ge_balance_negative_multiply_extend_preservationsecondvalue. (((((dst_second_multiply_extend_preservation) = 2 * (ge_balance_positive_multiply_extend_preservationsecondvalue) /\ (ge_balance_negative_multiply_extend_preservationsecondvalue) = 0) \/ exists ge_signed_half_multiply_extend_preservationsecondvaluedecode. (((dst_second_multiply_extend_preservation) = 2 * ge_signed_half_multiply_extend_preservationsecondvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_preservationsecondvalue) = 0) /\ (ge_balance_negative_multiply_extend_preservationsecondvalue) = S ge_signed_half_multiply_extend_preservationsecondvaluedecode))) /\ ((dst_positive_multiply_extend_preservationsecond) + ge_balance_negative_multiply_extend_preservationsecondvalue = (dst_negative_multiply_extend_preservationsecond) + ge_balance_positive_multiply_extend_preservationsecondvalue))))))))) -> dst_first_multiply_extend_preservation = dst_second_multiply_extend_preservation) -> (exists dst_positive_code_multiply_extend_at_0 dst_positive_scale_multiply_extend_at_0 dst_negative_code_multiply_extend_at_0 dst_negative_scale_multiply_extend_at_0 dst_positive_multiply_extend_at_0 dst_negative_multiply_extend_at_0. (((F) = (((((dst_positive_code_multiply_extend_at_0) + (dst_positive_scale_multiply_extend_at_0)) * S ((dst_positive_code_multiply_extend_at_0) + (dst_positive_scale_multiply_extend_at_0)) + ((dst_positive_scale_multiply_extend_at_0) + (dst_positive_scale_multiply_extend_at_0))) + (((dst_negative_code_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)) * S ((dst_negative_code_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)) + ((dst_negative_scale_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)))) * S ((((dst_positive_code_multiply_extend_at_0) + (dst_positive_scale_multiply_extend_at_0)) * S ((dst_positive_code_multiply_extend_at_0) + (dst_positive_scale_multiply_extend_at_0)) + ((dst_positive_scale_multiply_extend_at_0) + (dst_positive_scale_multiply_extend_at_0))) + (((dst_negative_code_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)) * S ((dst_negative_code_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)) + ((dst_negative_scale_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)))) + ((((dst_negative_code_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)) * S ((dst_negative_code_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)) + ((dst_negative_scale_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0))) + (((dst_negative_code_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)) * S ((dst_negative_code_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)) + ((dst_negative_scale_multiply_extend_at_0) + (dst_negative_scale_multiply_extend_at_0)))))) /\ (((((exists ff_h_pvs_multiply_extend_at_0positive. ff_h_pvs_multiply_extend_at_0positive + S (dst_positive_multiply_extend_at_0) = S ((S (l)) * dst_positive_scale_multiply_extend_at_0)) /\ exists ff_q_pvs_multiply_extend_at_0positive. dst_positive_code_multiply_extend_at_0 = ff_q_pvs_multiply_extend_at_0positive * S ((S (l)) * dst_positive_scale_multiply_extend_at_0) + (dst_positive_multiply_extend_at_0))) /\ (((((exists ff_h_pvs_multiply_extend_at_0negative. ff_h_pvs_multiply_extend_at_0negative + S (dst_negative_multiply_extend_at_0) = S ((S (l)) * dst_negative_scale_multiply_extend_at_0)) /\ exists ff_q_pvs_multiply_extend_at_0negative. dst_negative_code_multiply_extend_at_0 = ff_q_pvs_multiply_extend_at_0negative * S ((S (l)) * dst_negative_scale_multiply_extend_at_0) + (dst_negative_multiply_extend_at_0))) /\ (exists ge_balance_positive_multiply_extend_at_0value ge_balance_negative_multiply_extend_at_0value. (((((a) = 2 * (ge_balance_positive_multiply_extend_at_0value) /\ (ge_balance_negative_multiply_extend_at_0value) = 0) \/ exists ge_signed_half_multiply_extend_at_0valuedecode. (((a) = 2 * ge_signed_half_multiply_extend_at_0valuedecode + 1 /\ (ge_balance_positive_multiply_extend_at_0value) = 0) /\ (ge_balance_negative_multiply_extend_at_0value) = S ge_signed_half_multiply_extend_at_0valuedecode))) /\ ((dst_positive_multiply_extend_at_0) + ge_balance_negative_multiply_extend_at_0value = (dst_negative_multiply_extend_at_0) + ge_balance_positive_multiply_extend_at_0value))))))))) -> (exists dst_positive_code_multiply_extend_at_1 dst_positive_scale_multiply_extend_at_1 dst_negative_code_multiply_extend_at_1 dst_negative_scale_multiply_extend_at_1 dst_positive_multiply_extend_at_1 dst_negative_multiply_extend_at_1. (((G) = (((((dst_positive_code_multiply_extend_at_1) + (dst_positive_scale_multiply_extend_at_1)) * S ((dst_positive_code_multiply_extend_at_1) + (dst_positive_scale_multiply_extend_at_1)) + ((dst_positive_scale_multiply_extend_at_1) + (dst_positive_scale_multiply_extend_at_1))) + (((dst_negative_code_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)) * S ((dst_negative_code_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)) + ((dst_negative_scale_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)))) * S ((((dst_positive_code_multiply_extend_at_1) + (dst_positive_scale_multiply_extend_at_1)) * S ((dst_positive_code_multiply_extend_at_1) + (dst_positive_scale_multiply_extend_at_1)) + ((dst_positive_scale_multiply_extend_at_1) + (dst_positive_scale_multiply_extend_at_1))) + (((dst_negative_code_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)) * S ((dst_negative_code_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)) + ((dst_negative_scale_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)))) + ((((dst_negative_code_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)) * S ((dst_negative_code_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)) + ((dst_negative_scale_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1))) + (((dst_negative_code_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)) * S ((dst_negative_code_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)) + ((dst_negative_scale_multiply_extend_at_1) + (dst_negative_scale_multiply_extend_at_1)))))) /\ (((((exists ff_h_pvs_multiply_extend_at_1positive. ff_h_pvs_multiply_extend_at_1positive + S (dst_positive_multiply_extend_at_1) = S ((S (l)) * dst_positive_scale_multiply_extend_at_1)) /\ exists ff_q_pvs_multiply_extend_at_1positive. dst_positive_code_multiply_extend_at_1 = ff_q_pvs_multiply_extend_at_1positive * S ((S (l)) * dst_positive_scale_multiply_extend_at_1) + (dst_positive_multiply_extend_at_1))) /\ (((((exists ff_h_pvs_multiply_extend_at_1negative. ff_h_pvs_multiply_extend_at_1negative + S (dst_negative_multiply_extend_at_1) = S ((S (l)) * dst_negative_scale_multiply_extend_at_1)) /\ exists ff_q_pvs_multiply_extend_at_1negative. dst_negative_code_multiply_extend_at_1 = ff_q_pvs_multiply_extend_at_1negative * S ((S (l)) * dst_negative_scale_multiply_extend_at_1) + (dst_negative_multiply_extend_at_1))) /\ (exists ge_balance_positive_multiply_extend_at_1value ge_balance_negative_multiply_extend_at_1value. (((((b) = 2 * (ge_balance_positive_multiply_extend_at_1value) /\ (ge_balance_negative_multiply_extend_at_1value) = 0) \/ exists ge_signed_half_multiply_extend_at_1valuedecode. (((b) = 2 * ge_signed_half_multiply_extend_at_1valuedecode + 1 /\ (ge_balance_positive_multiply_extend_at_1value) = 0) /\ (ge_balance_negative_multiply_extend_at_1value) = S ge_signed_half_multiply_extend_at_1valuedecode))) /\ ((dst_positive_multiply_extend_at_1) + ge_balance_negative_multiply_extend_at_1value = (dst_negative_multiply_extend_at_1) + ge_balance_positive_multiply_extend_at_1value))))))))) -> (exists dst_positive_code_multiply_extend_at_2 dst_positive_scale_multiply_extend_at_2 dst_negative_code_multiply_extend_at_2 dst_negative_scale_multiply_extend_at_2 dst_positive_multiply_extend_at_2 dst_negative_multiply_extend_at_2. (((K) = (((((dst_positive_code_multiply_extend_at_2) + (dst_positive_scale_multiply_extend_at_2)) * S ((dst_positive_code_multiply_extend_at_2) + (dst_positive_scale_multiply_extend_at_2)) + ((dst_positive_scale_multiply_extend_at_2) + (dst_positive_scale_multiply_extend_at_2))) + (((dst_negative_code_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)) * S ((dst_negative_code_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)) + ((dst_negative_scale_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)))) * S ((((dst_positive_code_multiply_extend_at_2) + (dst_positive_scale_multiply_extend_at_2)) * S ((dst_positive_code_multiply_extend_at_2) + (dst_positive_scale_multiply_extend_at_2)) + ((dst_positive_scale_multiply_extend_at_2) + (dst_positive_scale_multiply_extend_at_2))) + (((dst_negative_code_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)) * S ((dst_negative_code_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)) + ((dst_negative_scale_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)))) + ((((dst_negative_code_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)) * S ((dst_negative_code_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)) + ((dst_negative_scale_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2))) + (((dst_negative_code_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)) * S ((dst_negative_code_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)) + ((dst_negative_scale_multiply_extend_at_2) + (dst_negative_scale_multiply_extend_at_2)))))) /\ (((((exists ff_h_pvs_multiply_extend_at_2positive. ff_h_pvs_multiply_extend_at_2positive + S (dst_positive_multiply_extend_at_2) = S ((S (l)) * dst_positive_scale_multiply_extend_at_2)) /\ exists ff_q_pvs_multiply_extend_at_2positive. dst_positive_code_multiply_extend_at_2 = ff_q_pvs_multiply_extend_at_2positive * S ((S (l)) * dst_positive_scale_multiply_extend_at_2) + (dst_positive_multiply_extend_at_2))) /\ (((((exists ff_h_pvs_multiply_extend_at_2negative. ff_h_pvs_multiply_extend_at_2negative + S (dst_negative_multiply_extend_at_2) = S ((S (l)) * dst_negative_scale_multiply_extend_at_2)) /\ exists ff_q_pvs_multiply_extend_at_2negative. dst_negative_code_multiply_extend_at_2 = ff_q_pvs_multiply_extend_at_2negative * S ((S (l)) * dst_negative_scale_multiply_extend_at_2) + (dst_negative_multiply_extend_at_2))) /\ (exists ge_balance_positive_multiply_extend_at_2value ge_balance_negative_multiply_extend_at_2value. (((((c) = 2 * (ge_balance_positive_multiply_extend_at_2value) /\ (ge_balance_negative_multiply_extend_at_2value) = 0) \/ exists ge_signed_half_multiply_extend_at_2valuedecode. (((c) = 2 * ge_signed_half_multiply_extend_at_2valuedecode + 1 /\ (ge_balance_positive_multiply_extend_at_2value) = 0) /\ (ge_balance_negative_multiply_extend_at_2value) = S ge_signed_half_multiply_extend_at_2valuedecode))) /\ ((dst_positive_multiply_extend_at_2) + ge_balance_negative_multiply_extend_at_2value = (dst_negative_multiply_extend_at_2) + ge_balance_positive_multiply_extend_at_2value))))))))) -> (exists sto_ap_multiply_extend_operation sto_an_multiply_extend_operation sto_bp_multiply_extend_operation sto_bn_multiply_extend_operation sto_cp_multiply_extend_operation sto_cn_multiply_extend_operation. (((((a) = 2 * (sto_ap_multiply_extend_operation) /\ (sto_an_multiply_extend_operation) = 0) \/ exists ge_signed_half_multiply_extend_operationleft. (((a) = 2 * ge_signed_half_multiply_extend_operationleft + 1 /\ (sto_ap_multiply_extend_operation) = 0) /\ (sto_an_multiply_extend_operation) = S ge_signed_half_multiply_extend_operationleft))) /\ ((((((b) = 2 * (sto_bp_multiply_extend_operation) /\ (sto_bn_multiply_extend_operation) = 0) \/ exists ge_signed_half_multiply_extend_operationright. (((b) = 2 * ge_signed_half_multiply_extend_operationright + 1 /\ (sto_bp_multiply_extend_operation) = 0) /\ (sto_bn_multiply_extend_operation) = S ge_signed_half_multiply_extend_operationright))) /\ ((((((c) = 2 * (sto_cp_multiply_extend_operation) /\ (sto_cn_multiply_extend_operation) = 0) \/ exists ge_signed_half_multiply_extend_operationoutput. (((c) = 2 * ge_signed_half_multiply_extend_operationoutput + 1 /\ (sto_cp_multiply_extend_operation) = 0) /\ (sto_cn_multiply_extend_operation) = S ge_signed_half_multiply_extend_operationoutput))) /\ ((sto_ap_multiply_extend_operation * sto_bp_multiply_extend_operation + sto_an_multiply_extend_operation * sto_bn_multiply_extend_operation) + sto_cn_multiply_extend_operation = (sto_ap_multiply_extend_operation * sto_bn_multiply_extend_operation + sto_an_multiply_extend_operation * sto_bp_multiply_extend_operation) + sto_cp_multiply_extend_operation))))))) -> (((exists dst_positive_code_multiply_extend_resultleft_table dst_positive_scale_multiply_extend_resultleft_table dst_negative_code_multiply_extend_resultleft_table dst_negative_scale_multiply_extend_resultleft_table. (((F) = (((((dst_positive_code_multiply_extend_resultleft_table) + (dst_positive_scale_multiply_extend_resultleft_table)) * S ((dst_positive_code_multiply_extend_resultleft_table) + (dst_positive_scale_multiply_extend_resultleft_table)) + ((dst_positive_scale_multiply_extend_resultleft_table) + (dst_positive_scale_multiply_extend_resultleft_table))) + (((dst_negative_code_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)) * S ((dst_negative_code_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)) + ((dst_negative_scale_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)))) * S ((((dst_positive_code_multiply_extend_resultleft_table) + (dst_positive_scale_multiply_extend_resultleft_table)) * S ((dst_positive_code_multiply_extend_resultleft_table) + (dst_positive_scale_multiply_extend_resultleft_table)) + ((dst_positive_scale_multiply_extend_resultleft_table) + (dst_positive_scale_multiply_extend_resultleft_table))) + (((dst_negative_code_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)) * S ((dst_negative_code_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)) + ((dst_negative_scale_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)))) + ((((dst_negative_code_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)) * S ((dst_negative_code_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)) + ((dst_negative_scale_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table))) + (((dst_negative_code_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)) * S ((dst_negative_code_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)) + ((dst_negative_scale_multiply_extend_resultleft_table) + (dst_negative_scale_multiply_extend_resultleft_table)))))) /\ (forall dst_index_multiply_extend_resultleft_table. (exists pvs_le_gap_multiply_extend_resultleft_tabledomain. pvs_le_gap_multiply_extend_resultleft_tabledomain + (dst_index_multiply_extend_resultleft_table) = (S l)) -> exists dst_positive_multiply_extend_resultleft_table dst_negative_multiply_extend_resultleft_table dst_value_multiply_extend_resultleft_table. ((((exists ff_h_pvs_multiply_extend_resultleft_tableentrypositive. ff_h_pvs_multiply_extend_resultleft_tableentrypositive + S (dst_positive_multiply_extend_resultleft_table) = S ((S (dst_index_multiply_extend_resultleft_table)) * dst_positive_scale_multiply_extend_resultleft_table)) /\ exists ff_q_pvs_multiply_extend_resultleft_tableentrypositive. dst_positive_code_multiply_extend_resultleft_table = ff_q_pvs_multiply_extend_resultleft_tableentrypositive * S ((S (dst_index_multiply_extend_resultleft_table)) * dst_positive_scale_multiply_extend_resultleft_table) + (dst_positive_multiply_extend_resultleft_table))) /\ (((((exists ff_h_pvs_multiply_extend_resultleft_tableentrynegative. ff_h_pvs_multiply_extend_resultleft_tableentrynegative + S (dst_negative_multiply_extend_resultleft_table) = S ((S (dst_index_multiply_extend_resultleft_table)) * dst_negative_scale_multiply_extend_resultleft_table)) /\ exists ff_q_pvs_multiply_extend_resultleft_tableentrynegative. dst_negative_code_multiply_extend_resultleft_table = ff_q_pvs_multiply_extend_resultleft_tableentrynegative * S ((S (dst_index_multiply_extend_resultleft_table)) * dst_negative_scale_multiply_extend_resultleft_table) + (dst_negative_multiply_extend_resultleft_table))) /\ (exists ge_balance_positive_multiply_extend_resultleft_tableentryvalue ge_balance_negative_multiply_extend_resultleft_tableentryvalue. (((((dst_value_multiply_extend_resultleft_table) = 2 * (ge_balance_positive_multiply_extend_resultleft_tableentryvalue) /\ (ge_balance_negative_multiply_extend_resultleft_tableentryvalue) = 0) \/ exists ge_signed_half_multiply_extend_resultleft_tableentryvaluedecode. (((dst_value_multiply_extend_resultleft_table) = 2 * ge_signed_half_multiply_extend_resultleft_tableentryvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_resultleft_tableentryvalue) = 0) /\ (ge_balance_negative_multiply_extend_resultleft_tableentryvalue) = S ge_signed_half_multiply_extend_resultleft_tableentryvaluedecode))) /\ ((dst_positive_multiply_extend_resultleft_table) + ge_balance_negative_multiply_extend_resultleft_tableentryvalue = (dst_negative_multiply_extend_resultleft_table) + ge_balance_positive_multiply_extend_resultleft_tableentryvalue))))))))) /\ (((exists dst_positive_code_multiply_extend_resultright_table dst_positive_scale_multiply_extend_resultright_table dst_negative_code_multiply_extend_resultright_table dst_negative_scale_multiply_extend_resultright_table. (((G) = (((((dst_positive_code_multiply_extend_resultright_table) + (dst_positive_scale_multiply_extend_resultright_table)) * S ((dst_positive_code_multiply_extend_resultright_table) + (dst_positive_scale_multiply_extend_resultright_table)) + ((dst_positive_scale_multiply_extend_resultright_table) + (dst_positive_scale_multiply_extend_resultright_table))) + (((dst_negative_code_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)) * S ((dst_negative_code_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)) + ((dst_negative_scale_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)))) * S ((((dst_positive_code_multiply_extend_resultright_table) + (dst_positive_scale_multiply_extend_resultright_table)) * S ((dst_positive_code_multiply_extend_resultright_table) + (dst_positive_scale_multiply_extend_resultright_table)) + ((dst_positive_scale_multiply_extend_resultright_table) + (dst_positive_scale_multiply_extend_resultright_table))) + (((dst_negative_code_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)) * S ((dst_negative_code_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)) + ((dst_negative_scale_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)))) + ((((dst_negative_code_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)) * S ((dst_negative_code_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)) + ((dst_negative_scale_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table))) + (((dst_negative_code_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)) * S ((dst_negative_code_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)) + ((dst_negative_scale_multiply_extend_resultright_table) + (dst_negative_scale_multiply_extend_resultright_table)))))) /\ (forall dst_index_multiply_extend_resultright_table. (exists pvs_le_gap_multiply_extend_resultright_tabledomain. pvs_le_gap_multiply_extend_resultright_tabledomain + (dst_index_multiply_extend_resultright_table) = (S l)) -> exists dst_positive_multiply_extend_resultright_table dst_negative_multiply_extend_resultright_table dst_value_multiply_extend_resultright_table. ((((exists ff_h_pvs_multiply_extend_resultright_tableentrypositive. ff_h_pvs_multiply_extend_resultright_tableentrypositive + S (dst_positive_multiply_extend_resultright_table) = S ((S (dst_index_multiply_extend_resultright_table)) * dst_positive_scale_multiply_extend_resultright_table)) /\ exists ff_q_pvs_multiply_extend_resultright_tableentrypositive. dst_positive_code_multiply_extend_resultright_table = ff_q_pvs_multiply_extend_resultright_tableentrypositive * S ((S (dst_index_multiply_extend_resultright_table)) * dst_positive_scale_multiply_extend_resultright_table) + (dst_positive_multiply_extend_resultright_table))) /\ (((((exists ff_h_pvs_multiply_extend_resultright_tableentrynegative. ff_h_pvs_multiply_extend_resultright_tableentrynegative + S (dst_negative_multiply_extend_resultright_table) = S ((S (dst_index_multiply_extend_resultright_table)) * dst_negative_scale_multiply_extend_resultright_table)) /\ exists ff_q_pvs_multiply_extend_resultright_tableentrynegative. dst_negative_code_multiply_extend_resultright_table = ff_q_pvs_multiply_extend_resultright_tableentrynegative * S ((S (dst_index_multiply_extend_resultright_table)) * dst_negative_scale_multiply_extend_resultright_table) + (dst_negative_multiply_extend_resultright_table))) /\ (exists ge_balance_positive_multiply_extend_resultright_tableentryvalue ge_balance_negative_multiply_extend_resultright_tableentryvalue. (((((dst_value_multiply_extend_resultright_table) = 2 * (ge_balance_positive_multiply_extend_resultright_tableentryvalue) /\ (ge_balance_negative_multiply_extend_resultright_tableentryvalue) = 0) \/ exists ge_signed_half_multiply_extend_resultright_tableentryvaluedecode. (((dst_value_multiply_extend_resultright_table) = 2 * ge_signed_half_multiply_extend_resultright_tableentryvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_resultright_tableentryvalue) = 0) /\ (ge_balance_negative_multiply_extend_resultright_tableentryvalue) = S ge_signed_half_multiply_extend_resultright_tableentryvaluedecode))) /\ ((dst_positive_multiply_extend_resultright_table) + ge_balance_negative_multiply_extend_resultright_tableentryvalue = (dst_negative_multiply_extend_resultright_table) + ge_balance_positive_multiply_extend_resultright_tableentryvalue))))))))) /\ (((exists dst_positive_code_multiply_extend_resultoutput_table dst_positive_scale_multiply_extend_resultoutput_table dst_negative_code_multiply_extend_resultoutput_table dst_negative_scale_multiply_extend_resultoutput_table. (((K) = (((((dst_positive_code_multiply_extend_resultoutput_table) + (dst_positive_scale_multiply_extend_resultoutput_table)) * S ((dst_positive_code_multiply_extend_resultoutput_table) + (dst_positive_scale_multiply_extend_resultoutput_table)) + ((dst_positive_scale_multiply_extend_resultoutput_table) + (dst_positive_scale_multiply_extend_resultoutput_table))) + (((dst_negative_code_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)) * S ((dst_negative_code_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)) + ((dst_negative_scale_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)))) * S ((((dst_positive_code_multiply_extend_resultoutput_table) + (dst_positive_scale_multiply_extend_resultoutput_table)) * S ((dst_positive_code_multiply_extend_resultoutput_table) + (dst_positive_scale_multiply_extend_resultoutput_table)) + ((dst_positive_scale_multiply_extend_resultoutput_table) + (dst_positive_scale_multiply_extend_resultoutput_table))) + (((dst_negative_code_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)) * S ((dst_negative_code_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)) + ((dst_negative_scale_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)))) + ((((dst_negative_code_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)) * S ((dst_negative_code_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)) + ((dst_negative_scale_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table))) + (((dst_negative_code_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)) * S ((dst_negative_code_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)) + ((dst_negative_scale_multiply_extend_resultoutput_table) + (dst_negative_scale_multiply_extend_resultoutput_table)))))) /\ (forall dst_index_multiply_extend_resultoutput_table. (exists pvs_le_gap_multiply_extend_resultoutput_tabledomain. pvs_le_gap_multiply_extend_resultoutput_tabledomain + (dst_index_multiply_extend_resultoutput_table) = (S l)) -> exists dst_positive_multiply_extend_resultoutput_table dst_negative_multiply_extend_resultoutput_table dst_value_multiply_extend_resultoutput_table. ((((exists ff_h_pvs_multiply_extend_resultoutput_tableentrypositive. ff_h_pvs_multiply_extend_resultoutput_tableentrypositive + S (dst_positive_multiply_extend_resultoutput_table) = S ((S (dst_index_multiply_extend_resultoutput_table)) * dst_positive_scale_multiply_extend_resultoutput_table)) /\ exists ff_q_pvs_multiply_extend_resultoutput_tableentrypositive. dst_positive_code_multiply_extend_resultoutput_table = ff_q_pvs_multiply_extend_resultoutput_tableentrypositive * S ((S (dst_index_multiply_extend_resultoutput_table)) * dst_positive_scale_multiply_extend_resultoutput_table) + (dst_positive_multiply_extend_resultoutput_table))) /\ (((((exists ff_h_pvs_multiply_extend_resultoutput_tableentrynegative. ff_h_pvs_multiply_extend_resultoutput_tableentrynegative + S (dst_negative_multiply_extend_resultoutput_table) = S ((S (dst_index_multiply_extend_resultoutput_table)) * dst_negative_scale_multiply_extend_resultoutput_table)) /\ exists ff_q_pvs_multiply_extend_resultoutput_tableentrynegative. dst_negative_code_multiply_extend_resultoutput_table = ff_q_pvs_multiply_extend_resultoutput_tableentrynegative * S ((S (dst_index_multiply_extend_resultoutput_table)) * dst_negative_scale_multiply_extend_resultoutput_table) + (dst_negative_multiply_extend_resultoutput_table))) /\ (exists ge_balance_positive_multiply_extend_resultoutput_tableentryvalue ge_balance_negative_multiply_extend_resultoutput_tableentryvalue. (((((dst_value_multiply_extend_resultoutput_table) = 2 * (ge_balance_positive_multiply_extend_resultoutput_tableentryvalue) /\ (ge_balance_negative_multiply_extend_resultoutput_tableentryvalue) = 0) \/ exists ge_signed_half_multiply_extend_resultoutput_tableentryvaluedecode. (((dst_value_multiply_extend_resultoutput_table) = 2 * ge_signed_half_multiply_extend_resultoutput_tableentryvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_resultoutput_tableentryvalue) = 0) /\ (ge_balance_negative_multiply_extend_resultoutput_tableentryvalue) = S ge_signed_half_multiply_extend_resultoutput_tableentryvaluedecode))) /\ ((dst_positive_multiply_extend_resultoutput_table) + ge_balance_negative_multiply_extend_resultoutput_tableentryvalue = (dst_negative_multiply_extend_resultoutput_table) + ge_balance_positive_multiply_extend_resultoutput_tableentryvalue))))))))) /\ (forall sto_index_multiply_extend_resultentries. (exists pvs_gap_multiply_extend_resultentriesbound. pvs_gap_multiply_extend_resultentriesbound + S (sto_index_multiply_extend_resultentries) = (S l)) -> exists sto_left_multiply_extend_resultentries sto_right_multiply_extend_resultentries sto_output_multiply_extend_resultentries. ((exists dst_positive_code_multiply_extend_resultentriesentryleft dst_positive_scale_multiply_extend_resultentriesentryleft dst_negative_code_multiply_extend_resultentriesentryleft dst_negative_scale_multiply_extend_resultentriesentryleft dst_positive_multiply_extend_resultentriesentryleft dst_negative_multiply_extend_resultentriesentryleft. (((F) = (((((dst_positive_code_multiply_extend_resultentriesentryleft) + (dst_positive_scale_multiply_extend_resultentriesentryleft)) * S ((dst_positive_code_multiply_extend_resultentriesentryleft) + (dst_positive_scale_multiply_extend_resultentriesentryleft)) + ((dst_positive_scale_multiply_extend_resultentriesentryleft) + (dst_positive_scale_multiply_extend_resultentriesentryleft))) + (((dst_negative_code_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)) * S ((dst_negative_code_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)) + ((dst_negative_scale_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)))) * S ((((dst_positive_code_multiply_extend_resultentriesentryleft) + (dst_positive_scale_multiply_extend_resultentriesentryleft)) * S ((dst_positive_code_multiply_extend_resultentriesentryleft) + (dst_positive_scale_multiply_extend_resultentriesentryleft)) + ((dst_positive_scale_multiply_extend_resultentriesentryleft) + (dst_positive_scale_multiply_extend_resultentriesentryleft))) + (((dst_negative_code_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)) * S ((dst_negative_code_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)) + ((dst_negative_scale_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)))) + ((((dst_negative_code_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)) * S ((dst_negative_code_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)) + ((dst_negative_scale_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft))) + (((dst_negative_code_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)) * S ((dst_negative_code_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)) + ((dst_negative_scale_multiply_extend_resultentriesentryleft) + (dst_negative_scale_multiply_extend_resultentriesentryleft)))))) /\ (((((exists ff_h_pvs_multiply_extend_resultentriesentryleftpositive. ff_h_pvs_multiply_extend_resultentriesentryleftpositive + S (dst_positive_multiply_extend_resultentriesentryleft) = S ((S (sto_index_multiply_extend_resultentries)) * dst_positive_scale_multiply_extend_resultentriesentryleft)) /\ exists ff_q_pvs_multiply_extend_resultentriesentryleftpositive. dst_positive_code_multiply_extend_resultentriesentryleft = ff_q_pvs_multiply_extend_resultentriesentryleftpositive * S ((S (sto_index_multiply_extend_resultentries)) * dst_positive_scale_multiply_extend_resultentriesentryleft) + (dst_positive_multiply_extend_resultentriesentryleft))) /\ (((((exists ff_h_pvs_multiply_extend_resultentriesentryleftnegative. ff_h_pvs_multiply_extend_resultentriesentryleftnegative + S (dst_negative_multiply_extend_resultentriesentryleft) = S ((S (sto_index_multiply_extend_resultentries)) * dst_negative_scale_multiply_extend_resultentriesentryleft)) /\ exists ff_q_pvs_multiply_extend_resultentriesentryleftnegative. dst_negative_code_multiply_extend_resultentriesentryleft = ff_q_pvs_multiply_extend_resultentriesentryleftnegative * S ((S (sto_index_multiply_extend_resultentries)) * dst_negative_scale_multiply_extend_resultentriesentryleft) + (dst_negative_multiply_extend_resultentriesentryleft))) /\ (exists ge_balance_positive_multiply_extend_resultentriesentryleftvalue ge_balance_negative_multiply_extend_resultentriesentryleftvalue. (((((sto_left_multiply_extend_resultentries) = 2 * (ge_balance_positive_multiply_extend_resultentriesentryleftvalue) /\ (ge_balance_negative_multiply_extend_resultentriesentryleftvalue) = 0) \/ exists ge_signed_half_multiply_extend_resultentriesentryleftvaluedecode. (((sto_left_multiply_extend_resultentries) = 2 * ge_signed_half_multiply_extend_resultentriesentryleftvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_resultentriesentryleftvalue) = 0) /\ (ge_balance_negative_multiply_extend_resultentriesentryleftvalue) = S ge_signed_half_multiply_extend_resultentriesentryleftvaluedecode))) /\ ((dst_positive_multiply_extend_resultentriesentryleft) + ge_balance_negative_multiply_extend_resultentriesentryleftvalue = (dst_negative_multiply_extend_resultentriesentryleft) + ge_balance_positive_multiply_extend_resultentriesentryleftvalue))))))))) /\ (((exists dst_positive_code_multiply_extend_resultentriesentryright dst_positive_scale_multiply_extend_resultentriesentryright dst_negative_code_multiply_extend_resultentriesentryright dst_negative_scale_multiply_extend_resultentriesentryright dst_positive_multiply_extend_resultentriesentryright dst_negative_multiply_extend_resultentriesentryright. (((G) = (((((dst_positive_code_multiply_extend_resultentriesentryright) + (dst_positive_scale_multiply_extend_resultentriesentryright)) * S ((dst_positive_code_multiply_extend_resultentriesentryright) + (dst_positive_scale_multiply_extend_resultentriesentryright)) + ((dst_positive_scale_multiply_extend_resultentriesentryright) + (dst_positive_scale_multiply_extend_resultentriesentryright))) + (((dst_negative_code_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)) * S ((dst_negative_code_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)) + ((dst_negative_scale_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)))) * S ((((dst_positive_code_multiply_extend_resultentriesentryright) + (dst_positive_scale_multiply_extend_resultentriesentryright)) * S ((dst_positive_code_multiply_extend_resultentriesentryright) + (dst_positive_scale_multiply_extend_resultentriesentryright)) + ((dst_positive_scale_multiply_extend_resultentriesentryright) + (dst_positive_scale_multiply_extend_resultentriesentryright))) + (((dst_negative_code_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)) * S ((dst_negative_code_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)) + ((dst_negative_scale_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)))) + ((((dst_negative_code_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)) * S ((dst_negative_code_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)) + ((dst_negative_scale_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright))) + (((dst_negative_code_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)) * S ((dst_negative_code_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)) + ((dst_negative_scale_multiply_extend_resultentriesentryright) + (dst_negative_scale_multiply_extend_resultentriesentryright)))))) /\ (((((exists ff_h_pvs_multiply_extend_resultentriesentryrightpositive. ff_h_pvs_multiply_extend_resultentriesentryrightpositive + S (dst_positive_multiply_extend_resultentriesentryright) = S ((S (sto_index_multiply_extend_resultentries)) * dst_positive_scale_multiply_extend_resultentriesentryright)) /\ exists ff_q_pvs_multiply_extend_resultentriesentryrightpositive. dst_positive_code_multiply_extend_resultentriesentryright = ff_q_pvs_multiply_extend_resultentriesentryrightpositive * S ((S (sto_index_multiply_extend_resultentries)) * dst_positive_scale_multiply_extend_resultentriesentryright) + (dst_positive_multiply_extend_resultentriesentryright))) /\ (((((exists ff_h_pvs_multiply_extend_resultentriesentryrightnegative. ff_h_pvs_multiply_extend_resultentriesentryrightnegative + S (dst_negative_multiply_extend_resultentriesentryright) = S ((S (sto_index_multiply_extend_resultentries)) * dst_negative_scale_multiply_extend_resultentriesentryright)) /\ exists ff_q_pvs_multiply_extend_resultentriesentryrightnegative. dst_negative_code_multiply_extend_resultentriesentryright = ff_q_pvs_multiply_extend_resultentriesentryrightnegative * S ((S (sto_index_multiply_extend_resultentries)) * dst_negative_scale_multiply_extend_resultentriesentryright) + (dst_negative_multiply_extend_resultentriesentryright))) /\ (exists ge_balance_positive_multiply_extend_resultentriesentryrightvalue ge_balance_negative_multiply_extend_resultentriesentryrightvalue. (((((sto_right_multiply_extend_resultentries) = 2 * (ge_balance_positive_multiply_extend_resultentriesentryrightvalue) /\ (ge_balance_negative_multiply_extend_resultentriesentryrightvalue) = 0) \/ exists ge_signed_half_multiply_extend_resultentriesentryrightvaluedecode. (((sto_right_multiply_extend_resultentries) = 2 * ge_signed_half_multiply_extend_resultentriesentryrightvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_resultentriesentryrightvalue) = 0) /\ (ge_balance_negative_multiply_extend_resultentriesentryrightvalue) = S ge_signed_half_multiply_extend_resultentriesentryrightvaluedecode))) /\ ((dst_positive_multiply_extend_resultentriesentryright) + ge_balance_negative_multiply_extend_resultentriesentryrightvalue = (dst_negative_multiply_extend_resultentriesentryright) + ge_balance_positive_multiply_extend_resultentriesentryrightvalue))))))))) /\ (((exists dst_positive_code_multiply_extend_resultentriesentryoutput dst_positive_scale_multiply_extend_resultentriesentryoutput dst_negative_code_multiply_extend_resultentriesentryoutput dst_negative_scale_multiply_extend_resultentriesentryoutput dst_positive_multiply_extend_resultentriesentryoutput dst_negative_multiply_extend_resultentriesentryoutput. (((K) = (((((dst_positive_code_multiply_extend_resultentriesentryoutput) + (dst_positive_scale_multiply_extend_resultentriesentryoutput)) * S ((dst_positive_code_multiply_extend_resultentriesentryoutput) + (dst_positive_scale_multiply_extend_resultentriesentryoutput)) + ((dst_positive_scale_multiply_extend_resultentriesentryoutput) + (dst_positive_scale_multiply_extend_resultentriesentryoutput))) + (((dst_negative_code_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)) * S ((dst_negative_code_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)) + ((dst_negative_scale_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)))) * S ((((dst_positive_code_multiply_extend_resultentriesentryoutput) + (dst_positive_scale_multiply_extend_resultentriesentryoutput)) * S ((dst_positive_code_multiply_extend_resultentriesentryoutput) + (dst_positive_scale_multiply_extend_resultentriesentryoutput)) + ((dst_positive_scale_multiply_extend_resultentriesentryoutput) + (dst_positive_scale_multiply_extend_resultentriesentryoutput))) + (((dst_negative_code_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)) * S ((dst_negative_code_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)) + ((dst_negative_scale_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)))) + ((((dst_negative_code_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)) * S ((dst_negative_code_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)) + ((dst_negative_scale_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput))) + (((dst_negative_code_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)) * S ((dst_negative_code_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)) + ((dst_negative_scale_multiply_extend_resultentriesentryoutput) + (dst_negative_scale_multiply_extend_resultentriesentryoutput)))))) /\ (((((exists ff_h_pvs_multiply_extend_resultentriesentryoutputpositive. ff_h_pvs_multiply_extend_resultentriesentryoutputpositive + S (dst_positive_multiply_extend_resultentriesentryoutput) = S ((S (sto_index_multiply_extend_resultentries)) * dst_positive_scale_multiply_extend_resultentriesentryoutput)) /\ exists ff_q_pvs_multiply_extend_resultentriesentryoutputpositive. dst_positive_code_multiply_extend_resultentriesentryoutput = ff_q_pvs_multiply_extend_resultentriesentryoutputpositive * S ((S (sto_index_multiply_extend_resultentries)) * dst_positive_scale_multiply_extend_resultentriesentryoutput) + (dst_positive_multiply_extend_resultentriesentryoutput))) /\ (((((exists ff_h_pvs_multiply_extend_resultentriesentryoutputnegative. ff_h_pvs_multiply_extend_resultentriesentryoutputnegative + S (dst_negative_multiply_extend_resultentriesentryoutput) = S ((S (sto_index_multiply_extend_resultentries)) * dst_negative_scale_multiply_extend_resultentriesentryoutput)) /\ exists ff_q_pvs_multiply_extend_resultentriesentryoutputnegative. dst_negative_code_multiply_extend_resultentriesentryoutput = ff_q_pvs_multiply_extend_resultentriesentryoutputnegative * S ((S (sto_index_multiply_extend_resultentries)) * dst_negative_scale_multiply_extend_resultentriesentryoutput) + (dst_negative_multiply_extend_resultentriesentryoutput))) /\ (exists ge_balance_positive_multiply_extend_resultentriesentryoutputvalue ge_balance_negative_multiply_extend_resultentriesentryoutputvalue. (((((sto_output_multiply_extend_resultentries) = 2 * (ge_balance_positive_multiply_extend_resultentriesentryoutputvalue) /\ (ge_balance_negative_multiply_extend_resultentriesentryoutputvalue) = 0) \/ exists ge_signed_half_multiply_extend_resultentriesentryoutputvaluedecode. (((sto_output_multiply_extend_resultentries) = 2 * ge_signed_half_multiply_extend_resultentriesentryoutputvaluedecode + 1 /\ (ge_balance_positive_multiply_extend_resultentriesentryoutputvalue) = 0) /\ (ge_balance_negative_multiply_extend_resultentriesentryoutputvalue) = S ge_signed_half_multiply_extend_resultentriesentryoutputvaluedecode))) /\ ((dst_positive_multiply_extend_resultentriesentryoutput) + ge_balance_negative_multiply_extend_resultentriesentryoutputvalue = (dst_negative_multiply_extend_resultentriesentryoutput) + ge_balance_positive_multiply_extend_resultentriesentryoutputvalue))))))))) /\ (exists sto_ap_multiply_extend_resultentriesentryoperation sto_an_multiply_extend_resultentriesentryoperation sto_bp_multiply_extend_resultentriesentryoperation sto_bn_multiply_extend_resultentriesentryoperation sto_cp_multiply_extend_resultentriesentryoperation sto_cn_multiply_extend_resultentriesentryoperation. (((((sto_left_multiply_extend_resultentries) = 2 * (sto_ap_multiply_extend_resultentriesentryoperation) /\ (sto_an_multiply_extend_resultentriesentryoperation) = 0) \/ exists ge_signed_half_multiply_extend_resultentriesentryoperationleft. (((sto_left_multiply_extend_resultentries) = 2 * ge_signed_half_multiply_extend_resultentriesentryoperationleft + 1 /\ (sto_ap_multiply_extend_resultentriesentryoperation) = 0) /\ (sto_an_multiply_extend_resultentriesentryoperation) = S ge_signed_half_multiply_extend_resultentriesentryoperationleft))) /\ ((((((sto_right_multiply_extend_resultentries) = 2 * (sto_bp_multiply_extend_resultentriesentryoperation) /\ (sto_bn_multiply_extend_resultentriesentryoperation) = 0) \/ exists ge_signed_half_multiply_extend_resultentriesentryoperationright. (((sto_right_multiply_extend_resultentries) = 2 * ge_signed_half_multiply_extend_resultentriesentryoperationright + 1 /\ (sto_bp_multiply_extend_resultentriesentryoperation) = 0) /\ (sto_bn_multiply_extend_resultentriesentryoperation) = S ge_signed_half_multiply_extend_resultentriesentryoperationright))) /\ ((((((sto_output_multiply_extend_resultentries) = 2 * (sto_cp_multiply_extend_resultentriesentryoperation) /\ (sto_cn_multiply_extend_resultentriesentryoperation) = 0) \/ exists ge_signed_half_multiply_extend_resultentriesentryoperationoutput. (((sto_output_multiply_extend_resultentries) = 2 * ge_signed_half_multiply_extend_resultentriesentryoperationoutput + 1 /\ (sto_cp_multiply_extend_resultentriesentryoperation) = 0) /\ (sto_cn_multiply_extend_resultentriesentryoperation) = S ge_signed_half_multiply_extend_resultentriesentryoperationoutput))) /\ ((sto_ap_multiply_extend_resultentriesentryoperation * sto_bp_multiply_extend_resultentriesentryoperation + sto_an_multiply_extend_resultentriesentryoperation * sto_bn_multiply_extend_resultentriesentryoperation) + sto_cn_multiply_extend_resultentriesentryoperation = (sto_ap_multiply_extend_resultentriesentryoperation * sto_bn_multiply_extend_resultentriesentryoperation + sto_an_multiply_extend_resultentriesentryoperation * sto_bp_multiply_extend_resultentriesentryoperation) + sto_cp_multiply_extend_resultentriesentryoperation)))))))))))))))))))

Complete tactic proof in conservative notation

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

102 script commands · 30 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–10

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

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro H
  4. L4
    intro K
  5. L5
    intro l
  6. L6
    intro a
  7. L7
    intro b
  8. L8
    intro c
  9. L9
    intro hop
  10. L10
    intro hK
02Fix variables and assumptionsL11–15

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

  1. L11
    intro hequal
  2. L12
    intro he0
  3. L13
    intro he1
  4. L14
    intro he2
  5. L15
    intro hvalue
03Separate the logical casesL16–19

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

  1. L16
    cases hop
  2. L17
    cases hop_right
  3. L18
    cases hop_right_right
  4. L19
    split
04Use earlier factsL20–24

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

  1. L20
    specialize signed_table_domain_resize (l)
  2. L21
    specialize signed_table_domain_resize (S l)
  3. L22
    specialize signed_table_domain_resize (F)
  4. L23
    apply signed_table_domain_resize
  5. L24
    exact hop_left
05Separate the logical casesL25–25

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

  1. L25
    split
06Use earlier factsL26–30

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

  1. L26
    specialize signed_table_domain_resize (l)
  2. L27
    specialize signed_table_domain_resize (S l)
  3. L28
    specialize signed_table_domain_resize (G)
  4. L29
    apply signed_table_domain_resize
  5. L30
    exact hop_right_left
07Separate the logical casesL31–31

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

  1. L31
    split
08Use earlier factsL32–36

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

  1. L32
    specialize signed_table_domain_resize (l)
  2. L33
    specialize signed_table_domain_resize (S l)
  3. L34
    specialize signed_table_domain_resize (K)
  4. L35
    apply signed_table_domain_resize
  5. L36
    exact hK
09Fix variables and assumptionsL37–38

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

  1. L37
    intro i
  2. L38
    intro hi
10Establish hcaseL39–43

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.

  1. L39
    have hcase : i = l ∨ Lt(i,l)Definitions: Lt(i,l)Original native command in the exact edition
  2. L40
    specialize finite_lt_succ_eq_or_lt (l)
  3. L41
    specialize finite_lt_succ_eq_or_lt (i)
  4. L42
    apply finite_lt_succ_eq_or_lt
  5. L43
    exact hi
11Separate the logical casesL44–44

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

  1. L44
    cases hcase
12Calculate and transport equalitiesL45–54

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L45
    rewrite hcase_left
  2. L46
    rewrite hcase_left
  3. L47
    rewrite hcase_left
  4. L48
    rewrite hcase_left
  5. L49
    rewrite hcase_left
  6. L50
    rewrite hcase_left
  7. L51
    rewrite hcase_left
  8. L52
    rewrite hcase_left
  9. L53
    rewrite hcase_left
  10. L54
    rewrite hcase_left
13Calculate and transport equalitiesL55–56

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L55
    rewrite hcase_left
  2. L56
    rewrite hcase_left
14Construct an explicit witnessL57–59

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

  1. L57
    exists a
  2. L58
    exists b
  3. L59
    exists c
15Separate the logical casesL60–60

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

  1. L60
    split
16Use earlier factsL61–61

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

  1. L61
    exact he0
17Separate the logical casesL62–62

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

  1. L62
    split
18Use earlier factsL63–63

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

  1. L63
    exact he1
19Separate the logical casesL64–64

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

  1. L64
    split
20Use earlier factsL65–66

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

  1. L65
    exact he2
  2. L66
    exact hvalue
21Establish holdL67–70

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hop right right right.

  1. L67
    have hold : ∃ u. ∃ v. ∃ w. ArithAt(F,i,u) ∧ (ArithAt(G,i,v) ∧ (ArithAt(H,i,w) ∧ SignedMul(u,v,w)))Definitions: ArithAt(F,i,u)ArithAt(G,i,v)ArithAt(H,i,w)SignedMul(u,v,w)Original native command in the exact edition
  2. L68
    specialize hop_right_right_right (i)
  3. L69
    apply hop_right_right_right
  4. L70
    exact hcase_right
22Separate the logical casesL71–76

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

  1. L71
    cases hold
  2. L72
    cases hold_witness
  3. L73
    cases hold_witness_witness
  4. L74
    cases hold_witness_witness_witness
  5. L75
    cases hold_witness_witness_witness_right
  6. L76
    cases hold_witness_witness_witness_right_right
23Construct an explicit witnessL77–79

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

  1. L77
    exists x
  2. L78
    exists x1
  3. L79
    exists x2
24Separate the logical casesL80–80

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

  1. L80
    split
25Use earlier factsL81–81

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

  1. L81
    exact hold_witness_witness_witness_left
26Separate the logical casesL82–82

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

  1. L82
    split
27Use earlier factsL83–83

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

  1. L83
    exact hold_witness_witness_witness_right_left
28Separate the logical casesL84–84

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

  1. L84
    split
29Use earlier factsL85–94

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

  1. L85
    specialize arithmetic_signed_table_equal_entry_transport (i)
  2. L86
    specialize arithmetic_signed_table_equal_entry_transport (H)
  3. L87
    specialize arithmetic_signed_table_equal_entry_transport (K)
  4. L88
    specialize arithmetic_signed_table_equal_entry_transport (l)
  5. L89
    specialize arithmetic_signed_table_equal_entry_transport (i)
  6. L90
    specialize arithmetic_signed_table_equal_entry_transport (x2)
  7. L91
    apply arithmetic_signed_table_equal_entry_transport
  8. L92
    specialize signed_table_domain_resize (l)
  9. L93
    specialize signed_table_domain_resize (i)
  10. L94
    specialize signed_table_domain_resize (K)
30Use earlier factsL95–102

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

  1. L95
    apply signed_table_domain_resize
  2. L96
    exact hK
  3. L97
    exact hequal
  4. L98
    specialize le_refl (i)
  5. L99
    apply le_refl
  6. L100
    exact hcase_right
  7. L101
    exact hold_witness_witness_witness_right_right_left
  8. L102
    exact hold_witness_witness_witness_right_right_right

Library-wide reading audit

Original defined command ledger · 102 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro H
  4. 0004intro K
  5. 0005intro l
  6. 0006intro a
  7. 0007intro b
  8. 0008intro c
  9. 0009intro hop
  10. 0010intro hK
  11. 0011intro hequal
  12. 0012intro he0
  13. 0013intro he1
  14. 0014intro he2
  15. 0015intro hvalue
  16. 0016cases hop
  17. 0017cases hop_right
  18. 0018cases hop_right_right
  19. 0019split
  20. 0020specialize signed_table_domain_resize (l)
  21. 0021specialize signed_table_domain_resize (S l)
  22. 0022specialize signed_table_domain_resize (F)
  23. 0023apply signed_table_domain_resize
  24. 0024exact hop_left
  25. 0025split
  26. 0026specialize signed_table_domain_resize (l)
  27. 0027specialize signed_table_domain_resize (S l)
  28. 0028specialize signed_table_domain_resize (G)
  29. 0029apply signed_table_domain_resize
  30. 0030exact hop_right_left
  31. 0031split
  32. 0032specialize signed_table_domain_resize (l)
  33. 0033specialize signed_table_domain_resize (S l)
  34. 0034specialize signed_table_domain_resize (K)
  35. 0035apply signed_table_domain_resize
  36. 0036exact hK
  37. 0037intro i
  38. 0038intro hi
  39. 0039have hcase : i = l ∨ Lt(i,l)
  40. 0040specialize finite_lt_succ_eq_or_lt (l)
  41. 0041specialize finite_lt_succ_eq_or_lt (i)
  42. 0042apply finite_lt_succ_eq_or_lt
  43. 0043exact hi
  44. 0044cases hcase
  45. 0045rewrite hcase_left
  46. 0046rewrite hcase_left
  47. 0047rewrite hcase_left
  48. 0048rewrite hcase_left
  49. 0049rewrite hcase_left
  50. 0050rewrite hcase_left
  51. 0051rewrite hcase_left
  52. 0052rewrite hcase_left
  53. 0053rewrite hcase_left
  54. 0054rewrite hcase_left
  55. 0055rewrite hcase_left
  56. 0056rewrite hcase_left
  57. 0057exists a
  58. 0058exists b
  59. 0059exists c
  60. 0060split
  61. 0061exact he0
  62. 0062split
  63. 0063exact he1
  64. 0064split
  65. 0065exact he2
  66. 0066exact hvalue
  67. 0067have hold : ∃ u. ∃ v. ∃ w. ArithAt(F,i,u) ∧ (ArithAt(G,i,v) ∧ (ArithAt(H,i,w)SignedMul(u,v,w)))
  68. 0068specialize hop_right_right_right (i)
  69. 0069apply hop_right_right_right
  70. 0070exact hcase_right
  71. 0071cases hold
  72. 0072cases hold_witness
  73. 0073cases hold_witness_witness
  74. 0074cases hold_witness_witness_witness
  75. 0075cases hold_witness_witness_witness_right
  76. 0076cases hold_witness_witness_witness_right_right
  77. 0077exists x
  78. 0078exists x1
  79. 0079exists x2
  80. 0080split
  81. 0081exact hold_witness_witness_witness_left
  82. 0082split
  83. 0083exact hold_witness_witness_witness_right_left
  84. 0084split
  85. 0085specialize arithmetic_signed_table_equal_entry_transport (i)
  86. 0086specialize arithmetic_signed_table_equal_entry_transport (H)
  87. 0087specialize arithmetic_signed_table_equal_entry_transport (K)
  88. 0088specialize arithmetic_signed_table_equal_entry_transport (l)
  89. 0089specialize arithmetic_signed_table_equal_entry_transport (i)
  90. 0090specialize arithmetic_signed_table_equal_entry_transport (x2)
  91. 0091apply arithmetic_signed_table_equal_entry_transport
  92. 0092specialize signed_table_domain_resize (l)
  93. 0093specialize signed_table_domain_resize (i)
  94. 0094specialize signed_table_domain_resize (K)
  95. 0095apply signed_table_domain_resize
  96. 0096exact hK
  97. 0097exact hequal
  98. 0098specialize le_refl (i)
  99. 0099apply le_refl
  100. 0100exact hcase_right
  101. 0101exact hold_witness_witness_witness_right_right_left
  102. 0102exact hold_witness_witness_witness_right_right_right